Лекции.ИНФО


Как функционирует машина вывода



Машина вывода является интерпретатором правил, который использует факты базы знаний для решения проблем. На входе машина вывода получает цель консультации.

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

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

"Каков возраст пациента?"

"Каков вес пациента?"

"Потребляет ли пациент жиры?" и т.д.

Система создает контекст, представляющий множество переменных и их значений, например:

Возраст = 35

Вес = 85

Потребление жиров = 50 и т.д.

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

ЕСЛИ(ВЕС = X) & (ВОЗРАСТ < 40), ТО

(ИДЕАЛЬНЫЙ_РОСТ = 100 + X),

то контекст будет расширен путем вычисления и добавления факта

ИДЕАЛЬНЫЙ_РОСТ = 185

Простейший алгоритм, осуществляющий построение трассы выво­да, заключается в следующем:

e) определить исходный контекст;

f) занести все переменные исходного контекста в очередь переменных логического вывода, а их значения (если заданы) - в список перемен­ных;

g) просмотреть список переменных и найти ту переменную, имя ко­торой стоит в начале очереди переменных логического вывода. Если переменная найдена, записать в указатель переменных условия, номер правила и число 1. Если переменная не найдена, перейти к шагу f;

h) присвоить значения непроинициализированным переменным услов­ной части найденного правила (если такие есть). Имена переменных содержатся в списке переменных условия правила. Проверить все условия правила и в случае их истинности обратиться к части "ТО" правила;

i) присвоить значение переменной, входящей в часть "ТО" правила, и поместить ее в конец очереди переменных логического вывода;

j) удалить переменную, стоящую в начале очереди переменных логи­ческого вывода, если она больше не встречается в условной части какого-либо правила;

k) закончить процесс рассуждений, как только опустеет очередь пере­менных, логического вывода. Если в очереди есть еще переменные, вернуться к шагу 3.

 

На машину вывода возлагаются следующие основные задачи:

1. Построение трассы вывода.

2. Интерпретация правил вывода и их применение к текущему кон­тексту.

3. Повышение эффективности поиска.

Формальное понятие трассы вывода дается ниже. Задача построения трассы вывода заключается в отображении в памяти ЭВМ последовательности шагов вывода, применяемых правил и получаемых значений переменных. Множество значений переменных, известных на данном шаге вывода образует контекст. Цель построения трассы - возможность ее переопределения с некоторого ранее порожденного контекста. Создание текущего контекста связано с выбором правила вывода из множества альтернативных правил - вторая задача. От такого выбора в конечном итоге зависит эффективность системы (быстродействие ЭС), поэтому необходимы меры по обеспечению достаточной эффективности машины вывода.

Существует два базовых подхода к построению трассы вывода. Первый основан на логике решения в направлении "от того, что известно - к тому, что надо найти"; второй подход, наоборот, использует движение в обратном направлении: "от того, что надо найти - к тому, что известно" Первый подход характеризует системы с прямым выво­дом, второй - системы с обратным выводом. Обратный вывод применя­ется в тех случаях, когда цели известны и их сравнительно немного.

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

Проблема организации трассы вывода напрямую связана с повы­шением эффективности поиска. Мы подробно исследуем эти вопросы в последующих разделах. Сейчас формализуем задачу организации трас­сы вывода. Для этого введем понятие дерева решения. Рассмотрим пятерку

<S0, SF, A, RA, RS>, (1.34)

где S0 - исходное состояние системы (объекта, модели);

SF - конечное (искомое) состояние системы (объекта, модели);

А - алгоритм отображения ;

RA - список ограничений на реализацию алгоритма А;

RS - список ограничений на SF (критерий).

Состояние исследуемой системы (объекта) Sj, непосредственно дос­тигаемое из Sk , назовем преемником Sk, а состояние Sk - предшествен­ником Sj. Граф Г(S, p) с множеством вершин состояний Sj Î S и дуг p, связывающих предшественников и преемников, образует дерево реше­ния с корнем S1 и листом SF если:

1) m-й ярус в Г образуют те преемники (m - 1)-го яруса (m = 1,2,...), ко­торые не входят в ярусы (m - 2), (m - 3) и т.д.;

2) листьями в Г являются состояния, все преемники которых содержат­ся в верхних ярусах (исключение, возможно, составляет SF).

Возможными вариантами постановки задачи относительно (1.34) являются (1.5) - (1.8).

Все эти задачи так или иначе упираются в проблему отыскания маршрута М в Г(S, p), связывающего S0 и SF. Некоторая (любая) законченная часть этого маршрута называется трассой вывода. Очевидно, что эффективность стратегии вывода определяется в первую очередь тем, насколько "близко" она держится М и, во-вторых, насколько ве­лики затраты (памяти и процессорного времени) для реализации этой стратегии вывода. В качестве одной из оценок эффективности стратегии поиска определена оценка меры близости трассы вывода и М в виде

(1.35)

где L - длина найденного пути к цели (длина М),

Т - общее число вершин, пройденных при поиске цели в Г(S, p).

Очевидно, что детерминированная оптимальная стратегия обеспечивает максимальную меру близости Р, равную 1. Повышение эффективности поиска по-разному достигается в существующих системах вывода:

(1) использование эвристических функций оценки;

(2) использование приоритетов для правил;

(3) использование метаправил (правил для правил).

Эти вопросы будут обсуждены в третьей главе данного курса.









Читайте также:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 78;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная