
- •Відкритий міжнародний університет розвитку людини “україна” контрольна робота
- •Содержание
- •Общие указания по выполнению контрольной работы
- •1. Лабораторная работа №1 "Создание прототипа экспертной системы"
- •1.1. Основные теоретические сведения
- •1.1.1. Экспертные системы
- •1.1.2. Прототип экспертной системы
- •1.1.3. Решение задач в экспертной системе
- •1.1.4. Постановка задачи распознавания в экспертной системе (пример)
- •1.1.5. Алгоритм решения задачи распознавания в экспертной системе (пример)
- •1.2. Порядок выполнения работы
- •1.2.1. Расчетно-графическая часть
- •1.2.2. Лабораторная часть
- •1.3. Отчет о работе
- •1.3.1. Расчетно-графическая часть
- •1.3.2. Лабораторная часть
- •2. Лабораторная работа №2 "Модели представления знаний"
- •2.1. Основные теоретические сведения
- •2.1.1. Логические модели представления знаний
- •Основные понятия исчисления предикатов первого порядка
- •Логическая база знаний
- •Пример построения логической базы знаний
- •2.1.2. Семантические модели представления знаний
- •1.2.3. Фреймовые модели представления знаний
- •1.2.4. Продукционные модели представления знаний
- •Продукционная модель базы знаний "Транспортные средства":
- •2.2. Порядок выполнения работы
- •3.1.2. Выполнение „Prolog”- программы
- •3.1.3. Примеры „Prolog”-программ
- •Программа решения задачи эс ("Транспортные средства")
- •3.2. Порядок выполнения работы
1.2.4. Продукционные модели представления знаний
Наибольшее распространение в системах искусственного интеллекта получили продукционные модели представления знаний в виде правил продукций или продукционных правил (далее – продукций) в виде:
«Если (условие) то (действие)».
Под условием понимается некоторое предложение-образец, по которому осуществляется поиск информации в базе знаний. Действие выполняется при успешном исходе поиска.
Наряду с указанными продукциями применяются следующие продукции:
«Если (предшествующий) то (последующий)»;
«Если (основание) то (гипотеза)».
В продукционных моделях, так же как и в логических моделях, используются соединители "и", "или" и "не", например:
«Если Вова является сыном Кости
и Костя является сыном Олега
то Вова является внуком Олега».
Если заключение одной продукции является посылкой другой продукции, то можно установить третью продукцию с посылкой из первой продукции и заключением из второй, т.е.: «Если X то Y» и «Если Y то Z» «Если X то Z».
Заключения одних продукций могут быть посылкой для других – так образуются сложные цепочки продукционной модели базы знаний. Целенаправленный перебор и выбор правил в продукционной базе знаний называется продукционным выводом на знаниях. Программное устройство, управляющее перебором правил и выводом на знаниях, называется машиной вывода или интерпретатором правил (продукций).
Продукционные модели чаще других применяются в промышленных экспертных системах в связи с наглядностью, высокой модульностью, легкостью внесения дополнений и изменений, а также простотой механизма вывода.
В качестве примера рассмотрим продукционную модель базы знаний предметной области "Транспортные средства" экспертной системы (см. выше), которая может быть представлена в следующем виде:
Продукционная модель базы знаний "Транспортные средства":
Если ( самолет и вертолет и катер и танкер и грузовик и такси )
то ( транспортные средства ).
Если ((имеет колеса) и (имеет винт) и (имеет крылья) и (возит грузы) )
то ( самолет ).
Если ((имеет колеса) и (имеет винт) и не (имеет крылья) и (возит грузы) )
то ( вертолет).
Если (не (имеет колеса) и (имеет винт) и не (имеет крылья) и не (возит грузы))
то ( катер).
Если ((имеет колеса) и не (имеет винт) и не (имеет крылья) и (возит грузы) )
то ( грузовик).
Если ((имеет колеса) и не (имеет винт) и не (имеет крылья) и не (возит грузы))
то ( такси).
2.2. Порядок выполнения работы
2.1. Для своего варианта предметной области (см. "Лабораторную работу №1") разработать логическую, семантическую, фреймовую и продукционную модели представления знаний в базе знаний создаваемой экспертной системы.
2.2. Используя любую традиционную систему создания баз данных ("Dbase", "Paradox", текстовый массив и др.), создать в компьютере 4 базы знаний экспертной системы с использованием логической, семантической, фреймовой и продукционной моделей представления знаний соответственно.
2.3. Представить на экране и сделать распечатки (листинги) баз знаний, созданных с использованием моделей представления знаний п.2.2.
2.3. Отчет о работе
Отчет о лабораторной работе должен иметь следующую структуру и содержать разделы:
Титульный лист (см.выше)
Содержание работы
Название и цель работы (см.выше)
Реферат (теоретические сведения и общая характеристика работы – см.выше)
2.3.1. Расчетно-графическая часть
Вариант задания (взять из "Лабораторной работы №1")
Состав базы знаний (взять из "Лабораторной работы №1")
Логическая модель базы знаний
Семантическая модель базы знаний
Фреймовая модель базы знаний
Продукционная модель базы знаний
2.3.2. Лабораторная часть
База данных логической базы знаний (здесь и далее – привести листинг (распечатку) и указать используемый тип системной базы данных)
База данных семантической базы знаний
База данных фреймовой базы знаний
База данных продукционной базы знаний
Анализ разработанных моделей баз знаний и выводы.
3. Лабораторная работа №3 "Программное обеспечение экспертной системы"
Цель работы – получение практических навыков использования языка программирования Prolog в среде "Turbo-Prolog" при создании программного обеспечения экспертной системы.
3.1. Основные теоретические сведения
3.1.1. Структура „Prolog”- программы
Базовым языком программирования в системах искусственного интеллекта является язык логического программирования „Prolog”, в основу которого положен метод автоматического доказательства теорем в исчислении предикатов первого порядка (см. "Лабораторную работу №2").
В данной лабораторной работе необходимо разработать „Prolog”-программы моделей представления знаний (см. "Лабораторную работу №2") и „Prolog”-программу работы (решения задачи) экспертной системы (ЭС) в среде программирования "Turbo-Prolog" (версии 2.0), которая служит для организации диалога пользователя с ЭС.
„Prolog”-программа включает следующие разделы:
1) constans – объявление констант (раздел не обязательный);
2) domains – объявление типов данных для аргументов предикатов;
3) global domains - объявление глобальных типов данных (раздел не обязательный);
4) database - объявление предикатов динамической базы знаний;
5) global database объявление предикатов глобальной динамической базы знаний (раздел не обязательный);
6) predicates - объявление предикатов;
7) global predicates - объявление глобальных предикатов (раздел не обязательный);
8) goal – определение компилятором цели запроса (целевого утверждения); при отсутствии в программе этого раздела пользователь вводит запрос самостоятельно;
9) clauses – определение правил (текст программы).
Утверждения (правила), представленные в виде предикатов и объявленные в разделе database, составляют внутреннюю базу данных (ВБД) „Prolog”- программы. Основными стандартными предикатами для работы с ВБД являются:
а) consult (Имя_файла) – дополнить ВБД другой базой данных, находящейся в файле с именем Имя_файла;
б) save (Имя_файла) –сохранить ВБД в файле с именем Имя_файла;
в) assert (Факт) – дополнить ВБД новым фактом Факт;
г) retract (Факт) – исключить факт Факт из ВБД.
Правила, представленные в разделе clauses, являются конструкциями вида:
вывод :- условие 1, условие 2, … условие n.
и интерпретируются компилятором „Prolog”-программы следующим образом: "Утверждение вывод является истинным при одновременной истинности утверждений условие 1, условие 2, … условие n".
Для ввода и вывода данных в процессе работы „Prolog”-программы используются следующие стандартные предикаты ввода-вывода:
-
readint (X), readreal (X), readln (X) – ввод с текущего устройства ввода соответственно целых, действительных чисел и символов;
-
write ( Зн1, Зн2, Зн3, …) – вывод значений констант или переменных Зн1, Зн2, Зн3, … на текущее устройство вывода;
-
nl – перевод выходного потока на следующий рядок текущего устройства вывода.