Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

7344

.pdf
Скачиваний:
0
Добавлен:
23.11.2023
Размер:
1.06 Mб
Скачать

Goal

find_non_border_pair

Результатом запроса будет ответ

Germany – Spain. Germany – Italy. Spain – Italy.

Задача 8. Использование составных объектов

Программа 8. База данных «Коллекция» (Вариант 1)

Domains

personal_library=book(title, author, publisher, year) collector, title, author, publisher=symbol year=integer

Predicates

collection(collector, personal_library) Clauses

collection(ivanov, book(”Zolushka”, ”Denis Tarakanov”, ”Dinamo”, 2003)). collection(petrov, book(”Maslenniza”, ”Anna Zimina”, ”Zenit”, 2005)). collection( petrov, book(”Repka”,”Irina Larina”, ”Mir”, 1999)).

/*Демонстрация двухуровневого составного объекта*/

Программа 9. База данных «Коллекция» (Вариант 2)

Domains

personal_library=book(title, author, publiсation) publiсation= publiсation (publisher, year) collector, title, author, publisher =symbol year=integer

Predicates

collection(collector, personal_library) Clauses

collection(ivanov,book(”Zolushka”,”Den Taran”, publiсation (”Dina”, 2003))). collection(petrov,book(”Maslenniza”,”Anna Zima”,publiсation(”Zenit”,2005))). collection( petrov, book(”Repka”,”Irina Larina”,publiсation (”Mir”, 1999))).

/*Демонстрация использования конструкций альтернативных доменов*/

Программа 10. База знаний «Клуб по интересам»

Domains

thing=misc_ thing (whatever); book(author, title);

41

record(artist, album, type)

person, whatever, title, author,artist, album, type =symbol Predicates

owns(person, thing) show_misc_things show_books show_records

Clauses

owns (“Ivanov“, misc_things(“sports car“)). owns (“Petrov“, misc_things(“motor cycle“)). owns (“Smirnov“, misc_things(“piano“)).

owns (“Ivanov”, book (“James A.Mishener“,“Space“)). owns (“Petrov”, book (“Frank Herbert“, “Dune“)).

owns (“Sidorov”, book (“J.R.R. Tolkein“,“Return of the Ring“)). owns (“Ivanov”, record (“Elton John”, “Ice Fair”, “popular“)).

owns (“Petrov”, record(“Michael Jackson“, “We are the World“, “popular“)). owns (“Sidorov”, record (“Madonna“,“Madonna“, “popular“)).

show_misc_things:- owns (X, misc_things(Y)),write( X, “ ”,Y), nl, fail. show_books:- owns (X, book (_,Y)),write( X, “ ”,Y), nl, fail. show_records:- owns (X, record (_,Y,_)),write( X, “ ”,Y), nl, fail.

Задачи для раздела 3.

Задача 1. Работа с интерпретатором Microsoft muLISP.

Исполняемым файлом интерпретатора Лиспа является mulisp.com (или mulisp_2.com – для русифицированной версии). Русифицированную версию интер-

претатора рекомендуется использовать в комплекте с программой-русификатором

для MS DOS, например, keyrus.com или rk.com.

Для работы с интерпретатором необходимо после запуска mulisp.com и появ-

ления приглашения $ набирать либо описание функции, либо ее вызов.

Примеры:

$(* 4 5) – вызов функции умножения для двух аргументов;

$(* 5 6 7 8) – тоже для четырех аргументов;

$(- 12 3) – вызов функции вычитания 12-3.

Для выхода из среды Microsoft muLISP необходимо набрать в команд-

ной строке интерпретатора:

$(SYSTEM).

42

Задача 2. Базовые функции Лиспа.

Примитивные (простейшие) базовые функции можно сравнить с основными арифметическими действиями: они просты и их мало.

Назначение этих функций состоит в:

расчленении S-выражений (функции-селекторы);

составлении S-выражений (функции-конструкторы);

анализ S-выражений (функции-предикаты).

Таблица. Примитивные базовые функции.

Назначение.

Вызов.

Результат.

Селектор

(CAR список )

S-выражение

Селектор

(CDR список )

список

 

 

 

Конструктор

(CONS S-выраж.,список )

список

 

 

 

Предикат

(ATOM S-выражение)

T, либо NIL

 

 

 

Предикат

(EQ атом атом )

T, либо NIL

 

 

 

Функция CAR. Значением функции является голова списка-аргумента.

Примеры :

$ (CAR '(P Q R)) – результат P;

$ (CAR '(A B)) – результат A;

$ (CAR '(DOG CAT)) – результат DOG; $ (CAR '((A B) C)) – результат (A B);

$ (CAR (A B)) – результат не определен, т.к. (A B) интерпретатором воспри-

нимается как вызов функции A с аргументом B.

Функция CDR. Значением функции является хвост списка-аргумента.

Примеры :

$ (CDR '(P Q R)) – результат (Q R); $ (CDR '(B)) – результат NIL.

В muLISP наряду с простейшими базовыми функциями-селекторами CAR и CDR определены более сложные функции, выделяющие любой из десяти первых элементов :

FIRST – выделяет первый элемент списка, SECOND – второй и т.д.

43

Функция CONS. Функция CONS имеет два аргумента – первый S-выражение,

вторым аргументом обязательно должен быть список. Назначение функции CONS –

конструирование нового списка. Новый список получаем путем добавления первого аргумента к списку – второму аргументу.

Для получения списка, содержащего один элемент, нужно в качестве второго списка указать пустой список NIL.

Примеры:

$ (CONS 'A '(B C)) – результат есть список (A B C );

$ (CONS '(FIRST SECOND)'(THIRD FOURTH FIFTH)) – результат есть

((FIRST SECOND) THIRD FOURTH FIFTH);

$ (CONS NIL NIL) – результат есть одноэлементный список (NIL); $ (CONS 12 NIL) - результат есть список (12 );

$ (CONS '(A B C) NIL) – результат есть список ((A B C )).

Связь между функциями CAR, CDR, CONS. Список, разделенный с помо-

щью CAR и CDR на голову и хвост, можно объединить с помощью функции-

конструктора CONS.

Пример.

$ (CAR ‘(FIRST SECOND THIRD)) – результатом будет FIRST;

$ (CDR ‘(FIRST SECOND THIRD)) – результатом будет список

(SECOND THIRD);

$ (CONS (CAR ‘(FIRST SECOND THIRD)) (CDR ‘(FIRST SECOND

THIRD))) – результатом будет исходный список (FIRST SECOND THIRD).

Предикат ATOM. Предикат – это логическая функция. Предикат ATOM воз-

вращает значение T (эквивалент TRUE), если его аргументом является атом и NIL

(эквивалент FALSE), иначе.

Примеры использования ATOM:

$ (ATOM 'X) – результатом является T, т.к. аргумент – атом;

$ (ATOM '(1 2 3))-результатом является NIL, т.к. аргумент – список; $ (ATOM (CDR '(1 2 3))) – результат NIL;

$ (ATOM (CAR '(A B C))) – результат T.

Предикат EQUAL. Предикат EQUAL проверяет эквивалентность любых S-

44

выражений.

Примеры:

$ (EQUAL '(3 3)'(4 3)) – результат есть NIL, так как списки не совпадают; $ (EQUAL 'Y 'Y) – результат есть T, так как атомы совпадают;

$ (EQL 5.0 5.0) – результат есть T.

4. Методические рекомендации по организации самостоятельной ра-

боты

4.1 Общие рекомендации для самостоятельной работы

Самостоятельная работа студентов является основным способом овладения учебным материалом в свободное от обязательных учебных занятий время.

Целями самостоятельной работы студентов являются:

- систематизация и закрепление полученных теоретических знаний и практиче-

ских умений студентов;

-углубление и расширение теоретических знаний;

-формирование умений использовать нормативную, правовую, справочную до-

кументацию и специальную литературу;

-развитие познавательных способностей и активности студентов:

-формирования самостоятельности мышления, способностей к саморазвитию,

самосовершенствованию и самореализации.

Запланированная в учебном плане самостоятельная работа студента рассматри-

вается как связанная либо с конкретной темой изучаемой дисциплины, либо с подго-

товкой к курсовой, дипломной работе, а также к защите ВКР. В данном разделе рас-

сматривается только самостоятельная работа первого вида.

Самостоятельная работа выполняется в два этапа: планирование и реализация.

Планирование самостоятельной работы включает:

-уяснение задания на самостоятельную работу;

-подбор рекомендованной литературы;

-составление плана работы, в котором определяются основные пункты пред-

стоящей подготовки.

Составление плана дисциплинирует и повышает организованность в работе.

45

На втором этапе реализуется составленный план. Реализация включает в себя:

-изучение рекомендованной литературы;

-составление плана (конспекта) по изучаемому материалу (вопросу);

-взаимное обсуждение материала.

Необходимо помнить, что на лекции обычно рассматривается не весь материал.

Оставшаяся восполняется в процессе самостоятельной работы. В связи с этим рабо-

та с рекомендованной литературой обязательна.

Работа с литературой и иными источниками информации включает в себя две группы приемов: техническую, имеющую библиографическую направленность, и

содержательную. Первая группа – уяснение потребностей в литературе; получение литературы; просмотр литературы на уровне общей, первичной оценки; анализ надежности публикаций как источника информации, их относимости и степени по-

лезности. Вторая – подробное изучение и извлечение необходимой информации.

Для поиска необходимой литературы можно использовать следующие способы:

-поиск через систематический каталог в библиотеке;

-просмотр специальных периодических изданий;

-использование материалов, размещенных в сети Интернет.

Для того, чтобы не возникало трудностей понимания текстов учебника, моно-

графий, научных статей, следует учитывать, что учебник и учебное пособие предна-

значены для студентов и магистрантов, а монографии и статьи ориентированы на исследователя. Монографии дают обширное описание проблемы, содержат в себе справочную информацию и отражают полемику по тем или иным дискуссионным вопросам. Статья в журнале кратко излагает позицию автора или его конкретные до-

стижении в исследовании какой-либо научной проблемы.

В процессе взаимного обсуждения материала закрепляются знания, а также приобретается практика в изложении и разъяснении полученных знаний, развивает-

ся речь.

При необходимости студенту следует обращаться за консультацией к препода-

вателю.

Составление записей или конспектов позволяет составить сжатое представле-

ние по изучаемым вопросам. Записи имеют первостепенное значение для самостоя-

46

тельной работы студентов. Они помогают понять построение изучаемого материала,

выделить основные положения, проследить их логику.

Ведение записей способствует превращению чтения в активный процесс. У

студента, систематически ведущего записи, создается свой индивидуальный фонд подсобных материалов для быстрого повторения прочитанного. Особенно важны и полезны записи тогда, когда в них находят отражение мысли, возникшие при само-

стоятельной работе.

Можно рекомендовать следующие основные формы записи: план, конспект, те-

зисы, презентация.

План – это схема прочитанного материала, краткий (или подробный) перечень вопросов, отражающих структуру и последовательность материала. Подробно со-

ставленный план вполне заменяет конспект.

Конспект – это систематизированное, логичное изложение материала источни-

ка. Объем конспекта не должен превышать 10 страниц. Шрифт Times New Roman,

кегль 14, интервал 1,5. Список литературы должен состоять из 5-8 источников, по возможности следует использовать последние издания учебных пособий и исследо-

ваний.

Тезисы – это последовательность ключевых положений из некоторой темы без доказательств или с неполными доказательствами. По объему тезисы занимают одну страницу формата А4 или одну – две страницы в ученической тетради. В конце те-

зисов студент должен сделать собственные выводы.

Презентации по предложенной теме составляются в программе Power Point или

Impress. Количество слайдов должно быть не менее 15 и не превышать 20 слайдов.

Кроме текста на слайдах можно создавать схемы и таблицы. Шрифт должен быть читаемым, например, шрифт черного цвета на светлом фоне или светлый шрифт на темном фоне. Также шрифт не должен быть слишком мелким. В слайдах указывают-

ся только основные тезисы, понятия и нормы.

4.2Темы для самостоятельного изучения

1.Реализация на ПРОЛОГе метода обхода графа в глубину.

2.Реализация на ПРОЛОГе метода обхода графа в ширину.

47

3.Реализация на ПРОЛОГе работы нейронной сети.

4.Реализация игры «Калах».

5.Построение на ПРОЛОГе родословного дерева своего рода на не-

сколько поколений.

6.Реализация на языке ЛИСП игры «Крестики-нолики».

7.Реализация на языке ЛИСП синтаксического анализатора математических формул.

8.Классификация объектов на примере успеваемости в студенческой груп-

пе.

9.Классификация объектов на примере результатов спортивных соревнова-

ний.

10.Простейшая экспертная система в Visual Prolog.

11.Реализация правил дифференцирования в Visual Prolog.

12.Реализация правил интегрирования в Visual Prolog.

4.3 Учебно-методическое обеспечение самостоятельной работы

1. Основы программирования на языке Пролог : Курс лекций / Шрайнер П. А. –

Москва: БИНОМ. Лаборатория знаний, Интернет-Университет Информационных Технологий (ИНТУИТ), 2016.

2. Логическое и функциональное программирование: Лабораторный практикум.

Учебное пособие. / Синюк В. Г., Рязанов Ю. Д. – Белгород: Белгородский государ-

ственный технологический университет им. В.Г. Шухова, ЭБС АСВ, 2013.

3. Графы и их применение. Комбинаторные алгоритмы для программистов: учебное пособие. /Костюкова Н. И. – Москва: БИНОМ. Лаборатория знаний, Интернет-

Университет Информационных Технологий (ИНТУИТ), 2013.

4. Основы логического программирования в среде Турбо Пролог: учебное пособие/

Прыкина Е. Н. – Кемерово : Кемеровский государственный университет культуры и искусств, 2006.

4.4 Задания для самостоятельной работы

Раздел 1: Общие сведения о языках логического и функционального програм-

48

мирования

Задача 1. Применить метод резолюций.

Предположим, что покупательная способность людей падает, если цены растут на товары и услуги. Положим также, что люди несчастны, когда их покупательная способность падает. Положим, что цены растут. Из этого можно заключить, что лю-

ди несчастны.

Задача 2. Применить метод резолюций.

Допустим, что если Верховный Совет отказывается принять новые законы, то забастовка не будет закончена, если только она не длится более года и зарплата не повышается. Закончится ли забастовка, если Верховный Совет отказывается дей-

ствовать и забастовка только что началась?

Задача 3. Формальные логические модели

1.Запишите логической формулой следующие умозаключения и уточните их справедливость:

А) Увеличение первоначального капитала в условиях инфляции произойдет,

если коэффициент превысит индекс цен. Коэффициент наращения меньше индекса цен. Следовательно, увеличение капитала не произойдет.

B) Увеличение первоначального капитала в условиях инфляции произойдет,

если коэффициент превысит индекс цен. Произошло увеличение капитала. Следова-

тельно, коэффициент наращения больше индекса цен.

2. Запишите логической формулой следующие умозаключения и уточните их справедливость:

Если у фирмы сломалось оборудование, то она либо купит новое, либо бывшее в употреблении. Новое оборудование фирма приобретет, если у нее есть лишние деньги, в противном случае придется покупать более дешевое, бывшее в употребле-

нии. У фирмы нет лишних денег в день выдачи зарплаты:

А) Сегодня день выдачи зарплаты, следовательно, фирма приобретет бывшее в употреблении оборудование.

Б) Фирма приобрела новое оборудование, следовательно, сегодня не день вы-

дачи зарплаты.

49

3.Запишите логической формулой следующие умозаключения и уточните их справедливость:

Семья может заплатить за свет либо по счетчику, либо по среднему тарифу.

Оплата по счетчику произойдет, если представитель придет 1-го числа и кто-нибудь из семьи будет в это время дома. Оплата света в этом месяце производилась по среднему. Следовательно, 1-го числа никого не было дома.

Задание 4. Продукционная модель знаний, представление знаний в виде правил Для выбранной самостоятельно предметной области сформировать базу зна-

ний, соответствующую следующим требованиям:

включить не менее 12 правил, из которых не менее 7 – сложные правила;

для описания правил использовать не менее 8 переменных;

число циклов просмотра правил для прямой цепочки рассуждений должно со-

ставлять не менее 3;

для обратной цепочки рассуждений должны быть логически выведены не ме-

нее 4 переменных, прежде чем будет определена переменная вывода;

пару последовательных правил.

Отчет о выполненной работе должен содержать:

1.Перечисление переменных, их описание и принимаемые ими возможные зна-

чения.

2.Правила, составляющие базу знаний.

Задание 5. Прямая цепочка рассуждений Разработать экспертную систему, реализующую алгоритм прямой цепочки рас-

суждений на основе базы знаний, разработанной в задании 3. Предусмотреть поша-

говый логический вывод на экран следующей информации:

факты, которые были определены пользователем;

факты, которые выведены из правил (с указанием номеров правил);

окончательный логический вывод, полученный экспертной системой.

Отчет о выполненной работе должен содержать:

1.Правила, составляющие базу знаний;

2.Общую схему алгоритма прямой цепочки рассуждений;

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]