Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Авдеев, Ездаков. Лабы по ИС и ЭС.pdf
Скачиваний:
6
Добавлен:
28.06.2024
Размер:
1.57 Mб
Скачать

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