3.3.2. Реализация редактора знаний

Как уже упоминалось, при выборе в меню БАЗА операции РЕДАКТИРО-

ВАТЬ запускается управляющая процедура EDITING. Данная процедура, как

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

ранной) базы находит связанный с ней файл, извлекает из него объекты

DATABASE и RULEBASE, затем из файла ресурсов вызывает и выводит на эк-

ран диалоговое окно установок редактора. Это окно имеет:

- статический текст, показывающий, какая база будет редактировать-

ся;

- группы переключаемых опций (в терминах Turbo-Vision - кластеры)

двух видов (в библиотеке Turbo-Vision это объекты TRADIOBUTTONS и

TCHECKBOXES);

- командные кнопки.

Группы опций выполняют следующие установки:

- группа ВИД БАЗЫ позволяет установить конфигурацию БЗ и порядок

вывода из нее информации;

- группа ИНТЕРФЕЙС конфигурирует факты и правила таким образом,

чтобы машина вывода могла их вывести в том или ином виде;

- группа ВИД РЕДАКТОРА устанавливает один из двух приведенных ти-

пов редакторов знаний;

- группа РЕСУРСЫ позволяет сделать установки типа объектов, кото-

рые будут обрабатываться БЗ. Это могут быть либо строки либо текст;

- группа СОСТАВЛЯЮЩИЕ вызывает любой из редакторов, входящих в

состав редактора БЗ и представляющих собой редакторы отдельных элемен-

тов БЗ (объектов, вопросов об объектах, возможных значений объектов,

правил);

- группа РЕКВИЗИТЫ БАЗЫ позволяет включить в состав проектируемой

база знаний дополнительные компоненты.

Ниже групп в окне раполагаются четыре командные кнопки:

1. Кнопка ПУСК вызывает из оверлейного файла EXPERT.OVR процедуру

SELECTOR (см. ниже).

2. Кнопка СБРОС приводит переключаемые опции в группах в первона-

чальное положение.

3. Кнопка ОТМЕНА позволяет удалить окно с рабочей поверхности и

выйти из режима редактирования.

4. Кнопка ПОМОЩЬ выдает контекстную справку о том, как пользовать-

ся окном.

Как уже упоминалось выше, по команде ПУСК вызывается процедура

SELECTOR. Эта процедура обрабатывает полученную из диалогового окна

установок редактора информацию и позволяет вызвать ту или иную проце-

дуру в зависимости от этой информации.Например, при начальных установ-

ках по умолчанию вызывается редактор объектов и вопросов

ATRIBUTEDITOR (слово OBJECT внутри ЭС "Консультант" заменено на

ATRIBUT, поскольку OBJECT - зарезервированное слово языка Турбо-Пас-

каль 6.0).

Рассмотрим на уровне процедур процесс создания новой базы. В окне

установок редактора выберем установки по умолчанию. Первым после нажа-

тия кнопки ПУСК (или клавиши <ENTER> на клавиатуре) на экран посредст-

вом процедуры ATRIBUTEDITING (именно эту процедуру запустит SELECTOR

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

EXPERT.AIR. Редактор объектов представляет собой диалоговое окно с

двумя строками ввода и восьмью управляющими командными кнопками. Каж-

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

событий окна TATRIBUTEDITOR.HANDLEEVENT. Все эти процедуры инкапсули-

рованы в объект TATRIBUTEDITOR. Словом, эти кнопки генерируют различ-

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

TINPUTLINE.GETDATA, так и поведения редактора объектов в теле редакто-

ра БЗ, составляющей которого он является. Так, например, кнопка ВВЕС-

ТИ включает полученные из строк ввода окна объект и вопрос о нем в ба-

зу фактов, кнопка ЗАПИСЬ сохраняет объекты или вопросы на диске в фай-

ле создаваемой или редактируемой БЗ, кнопка ДАЛЕЕ позволяет перейти к

следующему шагу редактирования - редактору значений, а кнопка НАЗАД -

к предыдущему (окно установок редактора). Все эти действия описывают-

ся методами объекта TATRIBUTEDITOR (его предок - объект TDIALOG) со-

ответственно INBASE, RECBASE, NEXT, PREVIOUS.

Как уже упоминалось выше, по команде ДАЛЕЕ вызывается процедура

NEXT, которая запускает процедуру VALUEEDITING. VALUEEDITING - проце-

дура, управляющая процессом ввода или редактирования значений. Редак-

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

аналогичных редактору объектов; отличие составляют:

- наличие статического текста, указывающего, для какого объекта

идет редактирование значений,

- имеется одна строка ввода вместо двух,

- имеется дополнительная кнопка ДРУГОЙ, позволяющая по окончании

редактирования одного объекта перейти к редактированию другого (то

есть, сменить окно).

Следует отметить, что редактор значений выдает такое количество

окон, сколько имеется объектов в базе знаний.

По команде ДАЛЕЕ окна редактора значений редактор БЗ переходит к

следующему этапу редактирования - редактору правил. Последний постро-

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

няя строка которой - имена объектов (FACT^.ATRIBUT), под каждым из ко-

торых в столбец выведены разрешенные значения. Перемещение по таблице

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

ния для предпосылки - клавишей <ENTER>, выбор значения для заключения

- комбинацией клавиш <CTRL+ENTER>. Подробнее: выбор какого-либо значе-

ния клавишей <ENTER> равносилен записи в правило следующего пункта:

 ...ЕСЛИ <ОБЪЕКТ - заголовок столбца выбранного значения>=<выбранное

ЗНАЧЕНИЕ>... ,

выбор другого значения из другого столбца добавляет в правило сле-

дующую строку:

 ...И <ОБЪЕКТ 2>=<выбранное ЗНАЧЕНИЕ 2>... ,

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

бинацией <CTRL+ENTER> добавит в правило строку:

 ...ТО <ОБЪЕКТ 3>=<выбранное ЗНАЧЕНИЕ 3>... .

Необходимо отметить, что особенности синтаксиса баз знаний, разра-

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

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

ко одно заключение (предпосылок может быть сколь угодно много).

Редактор правил реадизуется процедурой RULEEDITING, которая загру-

жает из файла ресурсов EXPERT.AIR объект TRULEEDITOR, в который инкап-

сулированы все процедурыуправления событиями внутри него. Помимо мат-

рицы (таблицы) редактор правил имеет также командные кнопки, такие же

как и в предыдущих редакторах. При нажатии кнопки ВНЕСТИ инкапсулиро-

ванная процедура INRULE вызывает процедуру RULESFORMER, обрабатываю-

щую помеченные в таблице значения и переводящая их во внутренний фор-

мат базы правил.

По окончании заполнения или редактирования базы правил с помощью

команды ДАЛЕЕ на экран выводится диспетчер редактора. Его вызывает

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

ресурсов и выводит его на рабочую поверхность. Диспетчер редактора -

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

цедурами, аналогично предыдущим инкапсулированными в объект

TDICPETCHER.

- Кнопка УПАКОВКА вызывает на исполнение процедуру PACKADER, поз-

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

правил значения и объекты.

- Кнопка ОПТИМИЗАЦИЯ связана с процедурой OPTIMIZE, позволяющей

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

бы сократить ее размеры до минимальных и, следовательно, в дальнейшем

при ее использовании уменьшить время сеанса консультации (например,

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

д.).

- Кнопка ПРОВЕРКА запускает процедуру LOOKFOR, которая проверяет

смысл введенных правил (например, устраняет зацикливание правил (см.

далее), указывает на неоднозначность (см.далее) и т. д.).

- Кнопка СОХРАНИТЬ вызывает процедуру SAVEBASE, которая выполняет

две функции: сохранение созданной или отредактированной БЗ на диске и

выход из режима редактирования в основной режим (СУБЗ).

Следует заметить, что если пользователь желает в дальнейшем про-

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

операции УПАКОВКА и ОПТИМИЗАЦИЯ по отношению к незаконченной базы,

поскольку часть фактов, значений и правил, возможно необходимых ему в

дальнейшем, процедуры могут счесть ненужными. Эти факты, значения и

правила будут безвозвратно потеряны.


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

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

Скачать
14168
0
0

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

Скачать
30045
0
0

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

Скачать
14631
0
1

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

Скачать
47452
0
0

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

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


Наверх