Главная »Оболочка ДИЭКС »Синтаксис консультаций

Синтаксис консультаций

Предложенный синтаксис соответствует синтаксису, используемому в листинге базы знании системы ДИЭКС. Листинг содержится в файле типа .LST, генерируемом компилятором, и может быть просмотрен или распечатан с помощью подсистемы выдачи листингов.

Предложениями в листинге представлены гипотезы исходной модели.

Существует четыре типа предложений:

  • целевое предложение;
  • предложение-правило;
  • предложение-вопрос;
  • предложение-константа.

Каждое предложение начинается с одного из зарезервированных слов – ЦЕЛЬ, ПРАВИЛО, ВОПРОС, КОНСТАНТА, которое обозначает тип предложения.

Предложения типа ЦЕЛЬ и ПРАВИЛО.

Зарезервированные слова ЦЕЛЬ и ПРАВИЛО сопровождаются именем предложения, в качестве которого может фигурировать любое допустимое имя.

Следующий элемент предложения – строка содержания гипотезы. Это информация, которая выводится системой консультации на экран для того, чтобы описать гипотезу для пользователя или чтобы задать вопрос. Это должно быть утвердительное предложение.

Пример:

 ЦЕЛЬ СТЕНОКАРДИЯ
	У ПАЦИЕНТА СТЕНОКАРДИЯ.
 ПРАВИЛО ДАВЛЕНИЕ
	ОПРЕДЕЛЕНИЕ ДАВЛЕНИЯ.
 ПРАВИЛО БОЛИ_В_СЕРДЦЕ
	ОПРЕДЕЛЕНИЕ ХАРАКТЕРА БОЛЕЙ.

Кроме типа, имени и строки содержания, гипотезы могут иметь условие применимости (управляющее предложение), и, если оно присутствует, состоит из зарезервированного слова УСЛОВИЕ, сопровождаемого одной или несколькими посылками, которые в данном случае выступают, как блокирующие звенья.

Синтаксически блокирующие звенья состоят из имени управляющего предложения, сопровождаемого двумя числами. Эти числа определяют диапазон вероятности либо численное значение гипотезы, при попадании в который блокирующего звена осуществляется блокировка определяемой ими гипотезы.

Рассмотрим пример. Работа системы начинается с изучения цели ИНФАРКТ. Цель имеет две посылки – НИТРОГЛИЦЕРИН и ДАВЛЕНИЕ.

Вопрос блокирован на УПОТРЕБЛЕНИЕ НИТРОГЛИЦЕРИНА, поэтому сначала будет изучаться вопрос УПОТРЕБЛЕНИЕ НИТРОГЛИЦЕРИНА. Предположим, что для УПОТРЕБЛЕНИЕ НИТРОГЛИЦЕРИНА получена вероятность 0.2.

Поскольку 0.2 не входит в диапазон блокирования 0.6 – 1.0, вероятность НИТРОГЛИЦЕРИН равна 0.01 * 0.01 = 0.0001.

Тогда система не будет заниматься изучением посылки НИТРОГЛИЦЕРИН, а перейдет к исследованию посылки ДАВЛЕНИЕ.

Пример:

 ЦЕЛЬ ИНФАРКТ
	У ПАЦИЕНТА – ИНФАРКТ
 БАЙЕС НИТРОГЛИЦЕРИН WPF 50  WAF 0.01
	ДАВЛЕНИЕ WPF 50 WAF  0.01
 АПРИОРНО 0.01
 ...
 ВОПРОС  НИТРОГЛИЦЕРИН
	НИТРОГЛИЦЕРИН СНИМАЕТ БОЛЬ
 МЕТАЦЕЛЬ УПОТРЕБЛЕНИЕ НИТРОГЛИЦЕРИНА    0.6   1.0
 НЕЧЕТКИЙ
 ...
 ВОПРОС  УПОТРЕБЛЕНИЕ НИТРОГЛИЦЕРИНА
	ПАЦИЕНТ ПРИМЕНЯЕТ НИТРОГЛИЦЕРИН
 НЕЧЕТКИЙ
 ПОЯСНИТЬ

Правила блокировки можно сформулировать следующим образом:

  • – если блокирующая гипотеза имеет посылки, они должны быть разрешены;
  • – блокирующая гипотеза может иметь другие связи в сетевой структуре данных, т.е. она может быть посылочной для других гипотез (включая гипотезу, которую она блокирует);
  • – блокирующая гипотеза может блокировать более чем одну из других гипотез и любая гипотеза может быть заблокирована более чем одной гипотезой;
  • – заблокированная гипотеза имеет априорную вероятность. Однако, если ее посылки используются и оцениваются где-либо в другом месте, то вероятность заблокированной гипотезы может измениться;
  • – компилятор ДИЭКС содержит циклический контроль, который не позволяет гипотезе заблокировать какую-нибудь из своих собственных посылок;
  • – блокирующая гипотеза исследуется всегда прежде заблокированной гипотезой, что соответствует естественному порядку причинных процессов в реальном мире.

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