3.2.2. Программная модель информации в "Консультанте"

База фактов и база правил представляют собой указатели на объекты

-потомки, порожденные от стандартного объекта - коллекции из библиоте-

ки Turbo-Vision:

TCOLLECTION───┬───TDATABASE

└───TRULEBASE

В коллекцию базы данных записываются факты, представляющие собой

также объекты-потомки от коллекции Turbo-Vision:

TCOLLECTION────────TFACT

Объект-потомок отличается от родителя наличием двух полей:

ATRIBUT - объект и QUESTION - вопрос. В коллекцию факта записываются

указатели на значения объекта. В объекте TFACT также перекрываются

два метода: конструктор LOAD и процедура STORE, позволяющие теперь

сохранить в потоке, кроме коллекции значений, еще и новые поля.

В свою очередь, значение - это потомок от базового объекта всей

иерархии стандартных объектов Turbo-Vision:

TOBJECT───────TVALUE

Этот потомок отличается от своего родителя тремя новыми полями:

SLOT - собственно значение (в виде строки), MARK - служебное поле,

применяющееся при создании базы правил и CON - поле-признак того, что

данное значение является заключением.

Такова структура базы фактов. В базу правил же записываются прави-

ла, каждое из которых представляет собой коллекцию, в свою очередь

каждый элемент которой - элемент правила. Элемент правила порожден от

TOBJECT и имеет следующие поля и методы:

- поле SLOT - номер помеченного в поле MARK значения;

- поле CON - поле-метка для определения предпосылки или заключе-

ния;

- метод LOAD - конструктор для загрузки данного объекта из потока;

- метод STORE - процедура для сохранения объекта в потоке.

Следует отметить, что каждый из этих объектов имеет методы LOAD и

STORE, поскольку предполагается, что БЗ будет сохранена в файле ресур-

сов, который представляет собой индексированный поток (поток с произ-

вольным доступом к объектам по ключам).

3.3. Программная реализация составных частей системы

3.3.1. Реализация интерфейса системы и СУБЗ

Интерфейс системы создается следующим образом. Объявляется объект

TEXPERT - потомок от стандартного объекта из библиотеки Turbo-Vision

TAPPLICATION, в котором уже содержатся такие необходимые компоненты

любой программы (приложения), как вывод строк меню и статуса, рабочей

поверхности, поддержка мыши и команды "Выход". Потомок перекрывает та-

кие методы TAPPLICATION, как INITSTATUSLINE для создания собственной

строки статуса, INITMENUBAR - для создания собственной строки "выпада-

ющих" меню, RUN - для вывода на рабочую поверхность окна банка знаний

и установки новой палитры, INIT - для подключения к системе ресурсов

(то есть инициализации файлов EXPERT.AIR и EXPERT.BLC) и регистрации

объектов в этих ресурсах, HANDLEEVENT - для обработки нестандартных

команд.

Главное (верхнее) меню системы имеет следующую структуру (см.рис.

1).

СИСТЕМА БАЗА

┌─────────────┐ ┌──────────────┐

│ ПАУЗА │ │ ОТКРЫТЬ │

│ MS-DOS │ │ НОВАЯ │

│ О ПРОГРАММЕ │ │ ПЕРЕИМЕНОВАТЬ│

│ ВЫХОД │ │ РЕДАКТИРОВАТЬ│

└─────────────┘ │ УДАЛИТЬ │

└──────────────┘

ОКНА СЕРВИС

┌────────────┐ ┌─────────────┐

│ РАСПАХНУТЬ │ │ ПАРОЛЬ │

│ ДВИЖЕНИЕ │ │ КАЛЕНДАРЬ │

│ ЗАКРЫТЬ │ │ КАЛЬКУЛЯТОР │

│ СЛЕДУЮЩЕЕ │  │ ИГРА │

│ ПРЕДЫДУЩЕЕ │ └─────────────┘

└────────────┘

Рисунок 1. Структура меню "Консультанта"

Меню СИСТЕМА содержит наиболее общие опции работы в системе, БАЗА

- операции управления базами знаний, ОКНА - операции над окнами, нахо-

дящимися на рабочей поверхности, СЕРВИС - некоторые инструментальные

средства, упрощающие работу пользователя в системе. Каждая операция

меню программно связана с командой, которая затем обрабатывается в ме-

тоде HANDLEEVENT. Так, например, операция НОВАЯ связана с командой

CMNEW. Процедура - обработчик событий HANDLEEVENT содержит строку:

... CMNEW:NEWBASE ... ,

которая означает, что при поступлении этой команды (событие - вы-

бор операции подсвеченной полосой или двойной щелчок "мышью") обработ-

чик запускает процедуру с именем NEWBASE, которая вызывает из файла

ресурсов окно создания базы (объект TNEWWINDOW), считывает из строки

ввода введенное имя базы, записывает его в файл EXPERT.BLC, создает

на диске новый файл с расширением "PRO", связывает его имя с именем

базы и затем уничтожает окно TNEWWINDOW на экране.

Ниже приводится список всех операций, и, минуя команды, процеду-

ры, с которыми связаны эти операции через обработчик событий:

- ПАУЗА, процедура PAUSE (осуществляет гашение экрана на время от-

лучения пользователя);

- MS-DOS, процедура DOSCALL (осуществляет временный выход в DOS и

возврат в систему по команде EXIT);

- О ПРОГРАММЕ, процедура ABOUT (вызывает из файла ресурсов окно с

краткими сведениями о данной программе);

- ВЫХОД, стандартная команда Turbo-Vision;

- ОТКРЫТЬ, процедура OPENBASE (ищет на диске файл, связанный с

именем выбранной для открытия (работы) базы, извлекает из файла базу

знаний и вызывает основную процедуру машины вывода OUTPUTMACHINE из

файла EXPERT.OVR);

- НОВАЯ, см. выше;

- ПЕРЕИМЕНОВАТЬ, процедура RENAMEBASE (удаляет имя активной базы

из списка баз файла EXPERT.BLC, извлекает из файла ресурсов окно пере-

именования, считывает из строки ввода окна новое имя, записывает его

в EXPERT.BLC и связывает это имя с базой);

- РЕДАКТИРОВАТЬ, процедура EDITING (для активной базы считывает

из из файла ресурсов диалоговое окно установок редактора, запрещает

все команды пользователя до получения установок из данного окна или

команды на его отмену);

- УДАЛИТЬ, процедура ERASEBASE (после второго подверждения пользо-

вателя о его окончательном решении удаляет имя активной базы из спис-

ка имен баз файла EXPERT.BLC, затем уничтожает связанный с этим име-

нем файл БЗ на диске);

- операции меню ОКНА, стандартные процедуры работы с окнами библи-

отеки Turbo-Vision;

- ПАРОЛЬ, процедура PAROLE (устанавливает на выбранную базу па-

роль для защиты ее от других пользователей;

- КАЛЕНДАРЬ, процедура EXPCALEND (вызывает из файла ресурсов окно

календаря);

- КАЛЬКУЛЯТОР, процедура EXPCALC (извлекает из файла ресурсов ок-

но калькулятора);

- ИГРА, процедура EXPGAME (выводит окно игры-головоломки на эк-

ран, предварительно считав его из файла ресурсов системы EXPERT.AIR).

Все данные процедуры инкапсулированы в объект TEXPERT, то есть

объявлены как его методы.

В строке статуса содержатся наиболее часто используемые команды

(операции) и их "горячие" клавиши. Описание этих команд приводится вы-

ше, исключение составляет команда МЕНЮ, активизирующая строку верхне-

го меню - это стандартная команда Turbo-Vision.

Рабочая поверхность представляет собой окно со списком имен БЗ, в

котором одна в данный момент времени активна. На экран окно выводится

процедурой DRAWBANKLIST, которая вызывается непосредственно из проце-

дуры TEXPERT.RUN и, в свою очередь, вызывает из файла ресурсов окно

банка знаний, вставляет в него список имен БЗ из файла EXPERT.BLC.

Таблица 5.

Новые или перекрытые методы объекта TEXPERT

┌─────────────────────────┬──────────────────────────────────────────┐

│ Метод │ Назначение метода │

├─────────────────────────┼──────────────────────────────────────────┤

│INIT │Вывод оболочки системы на экран, иницииро-│

│ │вание файлов EXPERT.AIR и EXPERT.BLC, ре- │

│ │гистрирование объектов этих файлов,наст- │

│ │ройка оверлейного файла,установка палитры.│

│ │ │

│INITSTATUSLINE │Вывод на экран новой строки статуса. │

│ │ │

│INITMENUBAR │Вывод на экран новой строки верхнего меню.│

│ │ │

│HANDLEEVENT │Обработка нестандартных команд (событий). │

│ │ │

│RUN │Извлечение из файла EXPERT.BLC списка │

│ │имен баз знаний, запуск программы на ис- │

│ │полнение. │

│ │ │

│DRAWBANKLIST │Вывод на экран окна банка знаний. │

│ │ │

│IDLE │Обновление индикатора кучи. │

│ │ │

│PAUSE │Гашение экрана.  │

│ │ │

│CALLDOS │Временный выход в MS-DOS. │

│ │ │

│CALLWIN │Временный выход в Windows 3.х. │

│ │ │

│CALLNC │Временный выход в Norton Commander. │

│ │ │

│ABOUT │Информация о программе. │

│ │ │

│OPENBASE │Открытие выбранной базы знаний для кон- │

│ │сультации. │

│ │ │

│NEWBASE │Создание новой базы. │

│ │ │

│RENAMEBASE │Переименование базы. │

│ │ │

│EDITING │Редактирование базы. │

│ │ │

│ERASEBASE │Удаление базы. │

│ │ │

│PAROLE │Установка пароля на выбранную базу. │

│ │ │

│EXPCALEND │Вывод календаря. │

│ │ │

│EXPCALC │Вывод калькулятора. │

│ │ │

│EXPGAME │Вывод игры. │

│ │ │

│DONE │Удаление программы из оперативной памяти, │

│ │выход в MS-DOS. │

└─────────────────────────┴──────────────────────────────────────────┘


Информация о работе «Искуственный интеллект»
Раздел: Информатика
Количество знаков с пробелами: 138291
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
14168
0
0

... исследования в области искусственного интеллекта и медицины как совершенно независимые. В этом случае допускается возможность только использования медицинских знаний в плане психологического обеспечения работ по ИИ. Но и работы по искусственному интеллекту тоже влияют на развитие медицины.. В качестве первого результата можно выделить появление новой области психологических исследований, а ...

Скачать
30045
0
0

... основные линии работ по ИИ. Первая связана с совершенствованием самих машин, с повышением "интеллектуальности" ис- кусственных систем. Вторая связана с задачей оптимизации совместной работы "искусственного интеллекта" и собственно интеллектуальных воз- можностей человека. Переходя к собственно психологическим проблемам ИИ О.К. Тихомиров выделяет три позиции по вопросу о взаимодействии ...

Скачать
14631
0
1

... будет несколько другим). Когда система построенная из базовых элементов достаточно разовьется (будет иметь сложную структуру , а следовательно определенное количество опыта), то она сможет стать действительным Искусственным интеллектом, который также как и человек будет непредсказуем и не однозначен. И перед человеком будет задача только в наведении интерфейса с этим ИИ. (для решения определенных ...

Скачать
47452
0
0

... решить большое число сложных задач, либо способность найти нетривиальное решение? Насколько важно, к примеру, развитие дивергентного, "латерального" мышления, и как взаимосвязаны уровень способностей и творческая отдача? Эти вопросы изучаются теорией интеллектуальных различий. В настоящее время существует, как минимум, три трактовки понятия интеллекта: 1. Биологическая трактовка: "способность ...

0 комментариев


Наверх