
- •Введение
- •1. Методические указания к лабораторным работам
- •3. Лабораторные работы по курсу "Системы искусственного интеллекта"
- •5. Индивидуальные задания к лабораторным работам
- •6. Учебные демонстрационные примеры
- •Литература
- •Приложение 1.Руководство по применению системы "Turbo-prolog"
- •Приложение 2. Краткое руководство по применению языка Турбо-пролог версии 2.0
- •Содержание
3. Лабораторные работы по курсу "Системы искусственного интеллекта"
Лабораторные работы по курсу "Системы искусственного интеллекта" (СИИ) предназначены для углубленного изучения методов логического программирования, позволяющих в реальные сроки создавать действующие прототипы одной из разновидностей СИИ - экспертных систем (ЭС).
Лабораторная работа № 10. Создание базы данных.
Важнейшим компонентом среды логического программирования "Turbo-prolog" является внутренняя база данных. В ходе выполнения данной лабораторной работы необходимо создать программу, оперирующую информацией из внешних файлов. При этом можно использовать как внутреннюю базу данных, так и внешнюю, в формате DB2 (желательно).
Для выполнения лабораторной работы нужно в соответствии с индивидуальным заданием организовать интерфейс работы с базой данных, предусматривающий три режима - просмотр всей базы данных, добавление записи и удаление записи.
Лабораторная работа № 11. Организация экспертной
системы.
Данная лабораторная работа является завершающей в курсе "СИИ". В ходе этой работы необходимо создать собственный прототип ЭС. Для этого следует на базе результатов работы № 10 создать интерфейс ЭС, предусматривающий обработку заданных в индивидуальном задании запросов и двух запросов на усмотрение разработчиков.
13

4. Лабораторные работы по курсу "Экспертные системы в САПР ИМС"
Лабораторная работа № 12. Изучение среды "Turboprolog" и экспертной программы GEOBASE.
Цель работы - изучение инструментальных средств "Turbo-prolog" для работы с экспертной оболочкой GEOBASE и ее модификации.
Войдя в каталог TPROLOG и исполнив файл prolog.exe, вы попадаете в среду "Turbo-prolog". Нажатием на любую клавишу активизируете систему. Появляется главное меню со стандартным для Turbo-среды набором опций и рабочих окон (см. Приложение 1). Чтобы компиляция GEOBASE прошла успешно, необходимо конфигурирование системы. Нажимаете ESC и попадаете на управление опциями.
Необходимо подвести курсор к пункту Setup и выбрать Directories. Далее устанавливаете по всем пунктам каталог D:\TPROLOG\GEOLAB. Для компиляции GEOBASE необходима ее загрузка в среду "Turboprolog". Для этого нужно войти в пункт File / load. Появится приглашение вида *.PRO.
Нажимаете еще раз ENTER и получаете список файлов с расширением *.PRO и список каталогов с корневым каталогом. Необходимо выделить курсором файл GEOBASE.PRO и нажать ENTER. В результате в окне Editor появится текст программы GEOBASE.
Теперь программу GEOBASE можно откомпилировать с созданием различных видов выходных файлов (EXE, OBJ ...) и запустить на выполнение или сразу исполнить без создания таких файлов.
В процессе компиляции используются следующие файлы:
•geobase.pro - основной файл, в котором заложены важнейшие понятия, связи, структура будущей программы, подключаемые файлы, а также организация управления в целом;
•geobase.hlp
•geobase.lan
•geobase.dba - информационные компоненты, необходимые для полноценной работыбудущейпрограммы(вкомпиляциинеучаствуют);
14
•geobase.inc - файл, в котором описаны основные элементы диалога: ввод, корректировка, отображение; здесь находится описание механизма ввода и обработки вопросов, обращенных к данным системы;
•tdoms.pro - файл, который содержит стандартный диалоговый шаблон для формирования управления программой, выработанный в
процессе разработки интерфейса, |
т.е. данный модуль |
формирует |
||
стандартные для DOS-приложений элементы диалога; |
|
|||
• menu2.pro - файл, который содержит набор команд, |
||||
позволяющих |
сформировать |
заданный |
оконный |
интерфейс |
(своеобразная библиотека функций).
B результате компиляции программы GEOBASE в среде "Turboprolog" вы получаете независимую систему из четырех файлов:
geobase.dba; geobase.exe; geobase.lan; geobase.hlp
Независимость этой системы заключается в том, что ее можно использовать в качестве самостоятельной программы отдельно от среды "Turbo-prolog" и даже на любой другой ПЭВМ.
Рассмотрим содержимое каждого файла:
•geobase.dba - база данных программы GEOBASE, содержит практически всю необходимую для работы программы информацию:
- столицы, их площади (в квадратных километрах), некоторые города, - информацию о городах, к каким штатам они относятся, их площади;
- информацию о реках: их длине (в километрах), через какие штаты протекают; - информацию о том, какой штат с каким граничит;
- информацию о наивысших и наинизших точках штатов с указанием названия местности; - перечень гор в каждом штате с указанием их высоты (в километрах) над уровнем моря;
- перечень некоторых дорог с указанием населенных пунктов, которые они связывают; - перечень озер с указанием их площади (квадратные километры) и
штата (штатов), в котором (которых) они находятся;
•geobase.exe - основной исполняемый модуль, управляющий
всеми процессами в компьютере, обеспечивающий |
диалог с |
пользователем и использующий ресурсы баз данных; |
|
|
15 |
•geobase.lan - база данных, содержит информацию о связях между различными словесными конструкциями из ключевых слов, использование которых в конструкциях и связях в geobase.exe позволяет понимать естественный язык;
•geobase.hlp - файл содержит справочные данные об информационной структуре и порядке работы с программой GEOBASE, помогает правильно сформулировать вопросы, задаваемые экспертной программе.
Работа с программой. Итак, программа geobase.exe запущена (из DOS или среды "Turbo-prolog"). Появляется рамка с заголовком:
GEOBASE: Natural language interfaсe to U.S. geography.
Кроме того, появляется диалоговое окно вида Main Menu, в котором содержатся следующие пункты:
•Tutorial - вывод файла со справочной информацией;
•DOS Shell - временный выход в среду DOS;
•View the language - показ различных конструкций языка;
•Update the language - возможность дополнить языковую базу
данных.
Рассмотрим пример работы с базой данных.
Войдем в пункт Query the database:
1) простейший пример - узнаем все штаты, которые имеются в базе данных: states <ENTER>;
2) выясним, какие из них находятся в штате Arizona: give me the cities in Аrizona;
3) какова площадь озера Superior : give me the area of Superior ? 4) какие реки есть в штате Arizona : which rivers is in Arizona ?
5) узнаем имя штата, в котором находится самая низкая точка США: what is the name of the state with the lowest point ?
После приведенных примеров вы можете самостоятельно придумать и задать системе вопросы по географии США.
Запись новой информации в GEOBASE. При работе с GEOBASE
вы можете столкнуться с ситуацией, когда программа не понимает какое-то слово либо какую-то словесную конструкцию. Для таких случаев в программе GEOBASE имеются два важных пункта в Main Menu, позволяющих записать и просмотреть информацию в базе данных (запись осуществляется по механизму дозаписи, т.е. старая информация сохраняется, а в конец добавляется новая):
16
1.Update the language - позволяет дописать информацию в базу данных GEOBASE:
1.1.New synonyms for entities - ввод новых синонимов для объекта
name;
1.2.New Alternatives for associations - ввод новых альтернатив для связей между объектами вида of; in; border; with;
1.3.New Words to be ignored - ввод новых слов, которые должны игнорироваться GEOBASE.
2.View the language - позволяет просмотреть, какие конструкции имеются в базе данных; здесь же можно просмотреть результаты записи, осуществленные при помощи предыдущего пункта и его подпунктов:
2.1.Schema for the entity network - работа с сетью;
2.2.Nanes of entities - существующие имена объектов;
2.3.Synonyms for entities - синонимы для объектов (можно просмотреть результат записей);
2.4.Alternative names for associations - альтернативные имена для объектов, являющихся связями между конструкциями (можно просмотреть результат записей);
2.5.Words to ignore - игнорируемые слова (можно просмотреть результат записей);
2.6.Units for attributes - позволяет узнать, какие объекты с какими единицами измерения работают в данной программе (например население - в количестве людей, площадь - в квадратных километрах и т.п.);
2.7.Alternatives for relation operators - имена альтернативных операторов;
2.8.Words stating minimums - слова, обозначающие минимум (наименьший, самый короткий);
2.9.Words stating maximum - слова, обозначающие максимумы (наибольший, самый длинный).
Пример записи в GEOBASE. Рассмотрим простейший пример реализации возможностей GEOBASE по записи новых данных в базу данных. Возьмем описанный выше пример:
what is the name of the state with the lowest point?
Допишем в базу данных новые слова, связи и перепишем данный пример с учетом сделанных изменений. Для этого войдем в пункт
Update the language.
17
Выберем пункт New Synonyms for entities <ENTER>,<ENTER> и
введем синоним объекта name : myname <ENTER>.
Используя <ESC>, возвратимся и перейдем в пункт New Alternatives for associations. В пункте Assoc выберем with <ENTER>, для этого слова введем альтернативу: myalterwith <ENTER>. Опять через <ESC>
возвратимсяиперейдем впунктNew words to be ignored <ENTER> .
Введем слово, которое в дальнейшем будет игнорироваться: mywordignored.
По <ESC> возвратимся в Main Menu. При этом все изменения запишем на жесткий диск. Теперь зайдем в пункт View the language, войдем в подпункт synonyms for entities и увидим, что в конце списка появилась строка
myname name,
т.е. myname - синоним name.
Далее зайдем в пункт Alternative names for associations. В конце списка появилась строка
with myalterwith,
т.е. myalterwith является альтернативным вариантом with.
Теперь зайдем в пункт Words to ignore. В конце списка появилось слово
myword ignored.
Далее применим осуществленные добавления в базу данных для формирования вопроса, формулировку которого прежний вариант базы данных не позволил бы распознать (тренировочный пример): mywordignored what is the myname of the state myalterwith the lowest point?
Ответ - Сalifornia.
Теперь вы самостоятельно можете добавлять новые конструкции и задавать вопросы, используя расширенную таким образом базу данных.
Для выхода из программы GEOBASE необходимо выйти из всех подменю в главное меню и нажать клавишу <ESС>. При этом появится запрос на подтверждение того, что вы действительно хотите завершить работу с GEOBASE: Are you sure you want to quit? (y/n):
Необходимо ответить: y (обязательно строчная латинская буква!). Примеры работы с GEOBASE. Вы можете получить любую информацию из GEOBASE в виде ответов на вопросы, заданные на
английском языке. Вот некоторые примеры вопросов: - дай мне список штатов: states;
18
-дай мне все города в Калифорнии: give me the cities in Сalifornia;
-какой самый большой город в Калифорнии? what is the biggest city in Сalifornia?
-какая самая длинная река в США? what is the longest river in the USA?
-какая река длиннее, чем одна тысяча километров? which rivers are longer than 1 thousand kilometers?
-в каком штате находится самая низкая точка США? what is the name of the state with the lowest point?
-какой штат граничит с штатом Алабама? which states border
Аlabama?
-какие реки не протекают через штат Техас? which rivers do not run through Texas?
-какие реки протекают через штаты, граничащие со штатом,
столица которого Остин? which rivers run through states that
border the state with the capital Аustin?
Лабораторное задание состоит в том, чтобы обучить систему нескольким правдоподобным в деталях новостям в географии (должен появиться новый штат, имеющий пограничные штаты, столицу, города, население, дороги, реки, озера, горы). Для этого нужно скорректировать файлы баз данных так, как это показано на примерах: может быть, при помощи встроенного в оболочку редактора текстов или любого другого редактора или, может быть, изменив конструкции Пролог-программы.
Лабораторная работа № 13. Создание динамических баз данных в оперативной памяти и на внешних носителях в Турбо-прологе.
Цель работы - изучение и практическое применение возможностей среды "Turbo-prolog" для создания реляционной базы знаний экспертной системы САПР.
Необходимо изучить структуру и функции демонстрационной программы, реализующей резидентный вариант базы данных, скомпилировать и выполнить ее в диалоге.
Кроме того, требуется разработать, ввести, скомпилировать и исполнить в DOS на примерах программу, реализующую вариант индивидуального задания по созданию базы знаний - динамической базы данных в долговременном варианте.
19