- •Интеллектуальные информационные системы
- •Введение
- •1. Логика предикатов первого порядка
- •1.1. Основы логики предикатов первого порядка
- •1.2. Основы Пролога
- •Примеры использования дизъюнкции в Прологе
- •1.3. Назначение и основные возможности swi-Prolog
- •Некоторые операции и предикаты swi-Prolog
- •1.4. Лабораторная работа № 1 Представление фактов и правил в Прологе
- •1.5. Лабораторная работа № 2. Рекурсия в Прологе
- •1.6. Лабораторная работа № 3. Обработка списков в Прологе
- •Списки и их составные части
- •2. Онтологии
- •2.1. Онтологии и семантическая паутина
- •2.2. Краткие сведения о спецификациях семантической паутины
- •Стандартные пространства имен
- •Классы rdf/rdfs
- •Свойства rdf/rdfs
- •2.3. Лабораторная работа № 4 Построение онтологической модели в Protégé. Создание классов
- •2.4. Лабораторная работа № 5 Построение онтологической модели в Protégé. Создание экземпляров классов
- •2.5. Лабораторная работа № 6 Выполнение sparql-запросов в Protégé
- •Модификаторы
- •3. Эвристические алгоритмы
- •3.1. Методы поиска решений с использованием графов
- •Сравнительная характеристика методов
- •3.2. Лабораторная работа № 7 Решение оптимизационной задачи с использованием эвристического алгоритма
- •Характеристика дополнительных ограничений скорости и мероприятий по их устранению
- •Варианты заданий на выполнение лабораторной работы
- •4. Нечеткие множества
- •4.1. Основы теории нечетких множеств и нечеткой логики
- •4.2. Лабораторная работа № 8. Решение прикладной задачи с использованием нечетких множеств
- •5. Генетические алгоритмы
- •5.1. Эволюционные вычисления
- •5.2. Лабораторная работа № 9. Решение оптимизационной задачи с использованием генетического алгоритма
- •Исходная популяция
- •Популяция после скрещивания
- •Расчет значений целевой функции
- •Популяция после редукции
- •Варианты заданий
- •6. Искусственные нейронные сети
- •6.1. Распознавание образов
- •6.2. Лабораторная работа № 10. Распознавание образов с использованием искусственной нейронной сети
- •Варианты заданий на выполнение лабораторной работы
- •Заключение
- •Библиографический список
- •Оглавление
- •Интеллектуальные информационные системы
- •6 80021, Г. Хабаровск, ул. Серышева, 47
- •Интеллектуальные информационные системы
1.4. Лабораторная работа № 1 Представление фактов и правил в Прологе
Цель работы: освоение основ программирования на языке Пролог и online-среды программирования SWI-Prolog.
Рекомендации по выполнению работы
Для перехода в режим редактирования и исполнения программ необходимо нажать на кнопку «Program» (см. рис. 3).
В левой панели осуществляется редактирование программы, содержащей факты и правила.
В правой нижней панели выполняется набор вопросов и запуск их на исполнение с помощью кнопки «Run!».
Панель редактирования программ
Панель ответов
Панель вопросов
Рис. 4. Режим редактирования и исполнения программ
В правой верхней панели интерпретатор SWI-Prolog выдает ответы на вопросы. В случае если на вопрос может быть получено более одного ответа, с помощью кнопок «Next», «10», «100» и «1,000» можно вывести на панель дополнительные ответы.
Необходимый теоретический материал для создания программы изложен в подразд. 1.2–1.3.
Задание на выполнение работы
Разработать программу «Родственные связи», отвечающую следующим требованиям.
А. Программа должна содержать общие для всех заданий факты и правила:
женщина;
мужчина;
мать;
отец;
родитель;
супруги.
Б. По индивидуальному заданию добавить в программу правила (от 3 до 5) для определения следующих типов родственников:
брат;
сестра;
ребенок;
бабушка;
дедушка;
внук;
внучка;
прадедушка;
прабабушка;
правнук;
правнучка;
зять (муж дочери, сестры, золовки);
невестка (жена сына для его матери, жена брата);
свекор (отец мужа);
свекровь (мать мужа);
тесть (отец жены);
теща (мать жены);
сноха (жена сына для его отца);
сват (отец одного из супругов для родителей другого супруга);
сватья (мать одного из супругов для родителей другого супруга);
свояк (муж сестры жены);
свояченица (сестра жены);
свояки (лица, женатые на двух сестрах);
деверь (родной брат мужа для жены);
золовка (сестра мужа);
шурин (брат жены);
дядя (брат отца или матери по отношению к детям, племянникам, кроме того, дядей является муж тетки);
тетка (сестра отца или матери по отношению к детям, племянникам, кроме того, теткой является жена дяди);
племянник (ребенок брата или сестры);
внучатый племянник (внук брата или сестры);
внучатая племянница (внучка брата или сестры);
двоюродный дедушка (дядя отца или матери);
двоюродная бабушка (тетка отца или матери);
двоюродный брат – кузен (сын родного дяди или тети);
двоюродная сестра – кузина (дочь родного дяди или тети);
двоюродный дядя (двоюродный брат отца и матери);
двоюродная тетка (двоюродная сестра отца и матери);
мачеха (неродная мать ребенка);
отчим (неродной отец ребенка);
падчерица (неродная дочь по отношению к одному из супругов);
пасынок (неродной сын по отношению к одному из супругов);
сводный брат (сын неродного родителя (мачехи, отчима) по отношению к детям родного);
сводная сестра (дочь неродного родителя (мачехи, отчима) по отношению к детям родного);
стрый – стрий (дядя по отцу (брат отца)).
уй – вуй (дядя по матери (брат матери)).
В. При необходимости добавить в программу недостающие факты и правила, требуемые для работы правил из п. Б).
Г. Отчет должен содержать:
титульный лист;
описание задания;
текст программы;
вопросы с ответами, иллюстрирующие корректность работы программы;
вывод.
