- •Министерство образования и науки Российской Федерации
- •Лабораторная работа № 1
- •Данные и знания
- •Синтаксис языка Пролог
- •Семантика языка Пролог
- •Алгоритм работы Пролог-машины.
- •Пример построения базы правил на Пролог
- •Задание на лабораторную работу
- •Лабораторная работа № 2
- •Использование списков в Пролог.
- •Использование накапливающего параметра
- •Управление перебором
- •Задание на лабораторную работу
- •Лабораторная работа № 3
- •Представление задачи в терминах пространства состояний
- •Слепые методы поиска
- •Методы эвристического поиска
- •Поиск оптимального пути
- •3.4 Задание на лабораторную работу
- •Лабораторная работа № 4
- •Основные понятия теории игр
- •Представление игры в матричной форме
- •Представление игры в виде игрового дерева
- •Задание на лабораторную работу
ОРЛОВСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
Учебно-научно-исследовательский
институт информационных технологий
Министерство образования и науки Российской Федерации
Кафедра: «Информационные системы»
А.Л. Машкова
РЕАЛИЗАЦИЯ МЕТОДОВ ИСКУССТВЕННОГО
ИНТЕЛЛЕКТА СРЕДСТВАМИ ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ
Дисциплина - «Методы искусственного интеллекта»
ОРЕЛ 2015
Автор: А.Л. Машкова
Рецензент: д.э.н., профессор О.А. Савина
Методические указания предназначены для студентов очной формы обучения. В методических указаниях представлены основные теоретические сведения, необходимые для выполнения лабораторных работ по настоящей дисциплине, приведен порядок выполнения лабораторных работ.
Содержание
1 Лабораторная работа № 1 4
1.1 Данные и знания 5
1.2 Синтаксис языка Пролог 7
1.3 Семантика языка Пролог 8
1.4 Алгоритм работы Пролог-машины. 9
1.5 Пример построения базы правил на Пролог 10
1.6 Задание на лабораторную работу 11
2 Лабораторная работа № 2 12
2.1 Использование списков в Пролог. 13
2.2 Использование накапливающего параметра 14
2.3 Управление перебором 15
2.4 Задание на лабораторную работу 17
3 Лабораторная работа № 3 19
3.1 Представление задачи в терминах пространства состояний 20
3.2 Слепые методы поиска 20
3.3 Методы эвристического поиска 21
3.4 Поиск оптимального пути 24
3.4 Задание на лабораторную работу 25
4 Лабораторная работа № 4 27
4.1 Основные понятия теории игр 28
4.2 Представление игры в матричной форме 29
4.3 Представление игры в виде игрового дерева 31
4.4 Задание на лабораторную работу 32
Лабораторная работа № 1
ПРОДУКЦИОННАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Цель занятия
Ознакомиться с основными принципами представления знаний в продукционной форме и способами их представления на языке Пролог.
Порядок выполнения работы
1 Изучить основные синтаксические и семантические правила в языке Пролог
2 Рассмотреть пример построения базы знаний на Пролог
3 Реализовать базу знаний о родственных отношениях
4 Оформить отчет
5 Ответить на контрольные вопросы
Содержание отчета
1 Текст базы фактов и правил
2 Вопросы системе
3 Результаты выполнения запросов к базе знаний
Контрольные вопросы
1 Этапы формализации знаний
2 Виды предложений в языке Пролог
3 Декларативный и процедурный смысл правил в языке Пролог
4 Алгоритм работы Пролог-машины
Данные и знания
В рамках направления «Представление знаний» решаются задачи, связанные с формализацией и представлением знаний в памяти интеллектуальной системы (ИС). Для этого разрабатываются специальные модели представления знаний и языки для описания знаний, выделяются различные типы знаний. Изучаются источники, из которых ИС может черпать знания, и создаются процедуры и приемы, с помощью которых возможно приобретение знаний для ИС. Проблема представления знаний для ИС чрезвычайно актуальна, т.к. ИС - это система, функционирование которой опирается на знания о проблемной области, которые хранятся в ее памяти.
Информация, с которой имеют дело ЭВМ, разделяется на процедурнуюидекларативную. Процедурная информация овеществлена впрограммах, которые выполняются в процессе решения задач, декларативная информация - вданных, с которыми эти программы работают. Стандартной формой представления информации в ЭВМ являетсямашинное слово, состоящее из определенного для данного типа ЭВМ числа двоичных разрядов -битов.
Параллельно с развитием структуры ЭВМ происходило развитие информационных структур для представления данных. Появились способы описания данных в виде векторов и матриц, возникли списочные структуры, иерархические структуры. В настоящее время в языках программирования высокого уровня используются абстрактные типы данных, структура которых задается программистом. Появлениебаз данных(БД) знаменовало собой еще один шаг на пути организации работы с декларативной информацией. В базах данных могут одновременно храниться большие объемы информации, а специальные средства, образующиесистему управления базами данных(СУБД), позволяют эффективно манипулировать с данными, при необходимости извлекать их из базы данных и записывать их в нужном порядке в базу.
По мере развития исследований в области ИС возникла концепция знаний, которые объединили в себе многие черты процедурной и декларативной информации. Данные– это отдельные факты, характеризующие объекты и процессы предметной области.Знания– это закономерности предметной области, полученные в результате практической деятельности, т.е. основанные на опыте человека. Знания – это хорошо структурированные данные. Знания проходят этапы:
1 – знания в голове человека;
2 – знания на бумажном носителе информации, записанные на естественном языке;
3 – формальные модели представления знаний;
4 – база знаний на машинном носителе информации.
Продукционные правила имеют вид:
P1… Pm^Q1…Qn
Если предпосылки P1…Рт верны, то верны и заключенияQ1…Qn. Предпосылки часто называютсяусловиями. Иногда используется и другая терминология, согласно которой предпосылки называютсялевой частью правила, а действия —правой. Иногда подобные правила записывают в виде условного оператора:ifP1… Pm then Q1…Qn.
Продукционная модель представления знаний реализована в языке ЛП Пролог. Она включает факты и правила. Основными понятиями в языке Пролог являются факты, правила логического вывода и запросы, позволяющие описывать базы знаний, процедуры логического вывода и принятия решений. Особую роль в интерпретаторе Пролога играют конкретные запросы к базам знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная систем Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода. В языке Прологе факты описываются в форме логических предикатов с конкретными значениями. Правила описываются логическими предикатами с определением правил логического вывода в виде списка предикатов над базами знаний и процедурами обработки информации.