Интерпретация правил-продукций

Интерпретация правил начинается с выбора цели логического вывода. В качестве цели логического вывода используются целевые слоты, содержащиеся во фрейме-классе со специальным именем "Цель".

Далее определяется правило, в заключении которого присутствует выбранный целевой слот.

После определения правила начинается его интерпретация (перебор и проверка условий). При проверке условия ищется соответствующий слот. Первоначальный поиск выполняется в базе данных. Если слот имеет значение, то оно используется при проверке условия. Если значения нет, то значение слота запрашивается у пользователя, с использованием меню выбора символьных значений, или окна для ввода численного значения, или того и другого в случае слота лингвистического типа. Слот в условии может указываться своим локальным именем или глобальным (с указанием имени фреймов). При локальном имени слота поиск начинается с фрейма, использованного последним при логическом выводе. Такой фрейм считается текущим. Имя текущего фрейма хранится в качестве значения слота специального фрейма, описывающего контекст диалога. Этот фрейм всегда доступен для проверки условия в правилах.

При вводе пользователем значения слота лингвистического типа, формируется численное значение с коэффициентом достоверности равным 100, если пользователь ввел число, если пользователь выбрал символьное значение, формируется символьное значение с коэффициентом достоверности равным 100. Если значение слота в правиле было символьным, а пользователем было введено численное значение, то коэффициент достоверности формируется как значение функции принадлежности лингвистической переменной (введенное пользователем число используется в качестве аргумента функции принадлежности).

Коэффициент достоверности набора условий вычисляется как коэффициент достоверности конъюнкции (минимальное значение из значений коэффициентов достоверности условий).

Коэффициент достоверности слота фрейма-экземпляра, формируемого на основе заключения, вычисляется как произведение коэффициент достоверности набора условий и коэффициента достоверности заключения. Если такой слот во фрейме-экземпляре уже есть, то его коэффициент достоверности меняется на новое значение, вычисляемое по формуле:

КДрезультирующий = КДисходного слота + КДнабора условий * (1-КДисходного слота)

Порядок работы с программной оболочкой.

Общий вид окна представлен на рис. 1.

В строке заголовка окна при работе с конкретной базой знаний (экспертной системой) выводится название экспертной системы (строка, задаваемая в базе знаний зарезервированным словом TITLE).

Строка меню состоит из пунктов: "Файл", "Решение" и "?".

Работа с конкретной базой знаний начинается с ее загрузки. Для этого используется пункт меню "Файл"/"Загрузить базу знаний". База знаний находится в файле расширением *.klb. Если в загруженной базе знаний во фреймах-классах используются слоты лингвистического типа, то файл с описанием лингвистических переменных загружается автоматически.

При необходимости можно загрузить базу данных из одноименного файла с расширением *.dtb. Для этого используется пункт меню "Файл"/"Загрузить базу данных".

После загрузки фреймы и правила базы знаний отображаются в верхней части основного окна (рис. 2)

Для начала логического вывода используется пункт меню "Решение"/"Поиск решения". После выбора этого пункта меню на экране появляется окно "Выбор задачи" с перечнем целей логического вывода, одну из которых требуется выбрать (рис. 3). Перечень целей логического вывода описывается во фрейме-классе с именем "Цель".

В процессе логического вывода, в качестве ответов на вопросы, задаваемые программной оболочкой, пользователю предлагается выбирать одно из символьных значений или вводить численное значение (рис. 4).

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

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

Для просмотра последовательности шагов, выполненных программной оболочкой в процессе логического вывода, можно воспользоваться пунктом меню "Решение"/"Трассировка". При необходимости можно распечатать или удалить результаты трассировки (рис. 6).

Для просмотра фреймов-экземпляров, полученных в результате вывода можно воспользоваться пунктом меню "Решение"/"Просмотр базы данных" (рис. 7) или просмотреть содержимое файла с расширением *.dtb (этот файл постоянно обновляется в процессе логического вывода). При необходимости можно удалить отдельный слот во фрейме-экземпляре, полностью фрейм-экземпляр, все фреймы-экземпляры. Все эти изменения сразу же сохраняются в файле с расширением *.dtb.

Пункт меню "Решение"/"Очистка базы данных" используется для удаления всех фреймов-экземпляров из загруженной базы данных. То же действие можно проделать и с помощью пункта меню "Решение"/"Просмотр базы данных" (кнопка "Удалить все").

Пункты меню "?"/"Вызов справки" и "?"/"О программе" используются для получения справочной информации и сведений о программе.

Для завершения работы с программной оболочкой ESWin используется пункт меню "Файл"/"Выход".

 

Задание:

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