В ПСОЗ процесс обработки информации может осуществляться двумя способами.
Собака - окрас - черный.
Одним из преимуществ такого представления знаний является уточнение контекста, в котором применяются правила.
Например, правило, относящееся к объекту «собака», должно быть применимо для собак с любыми кличками, всех пород и окрасок. С введением триплетов правила из базы правил могут срабатывать более одного раза в процессе одного логического вывода, поскольку одно правило может применяться к различным экземплярам объекта, но не более одного раза к каждому экземпляру.
При использовании продукционной модели БЗ состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Механизм выводов связывает знания воедино, а затем выводит из последовательности знаний заключение.
Положим, например, что в БЗ вместе с описанными выше знаниями содержатся еще и такие:
ЕСЛИ z является отцом х,
z является отцом y,
x и y не являются одним и тем же лицом,
ТО
x и y являются братьями, (здесь x, y, z - переменные)
а в БД (рабочей памяти) факты:
альфа является отцом бета,
альфа является отцом лямба,
бета является отцом сигма.
Из этих знаний можно формально вывести заключение, что является дядей .
Первый предполагает обработку информации в прямом направлении (метод сопоставления), когда образцом для поиска служит левая часть ПП - условие, т.е. задача решается в направлении от исходного состояния к целевому. Это соответствует стратегии «от данных к цели», или стратегии управления данными. После разрешения возникающих конфликтов выполняются правые части ПП, что соответствует логическому выводу новых утверждений. После добавления выведенных утверждений в БД процедура повторяется. Процесс оканчивается, если выполняется ПП, предписывающее прекращение поиска, или в БД поступает утверждение, являющееся решением.
При втором подходе обработка информации осуществляется в обратном направлении - метод «генерации» или выдвижения гипотезы и ее проверки (стратегия «от цели к данным»). При каждом обратном движении возникает подцелевое состояние, из которого целевое может быть получено при прямом движении. В этом случае проверяются правые части ПП с целью обнаружить в них искомое утверждение. Если такие ПП существуют, то проверяется, удовлетворяется ли левая часть ПП. Если да, то гипотеза считается подтвержденной, если нет - отвергается.
Таким образом, ПП могут применяться к описанию состояния и описывать новые состояния (гипотезы) или же, напротив, использовать целевое состояние задачи как базу, когда система работает в обратном направлении. При этом ПП применяются к целевому описанию для порождения подцелей (образуют систему редукций).
Пример. Имеется фрагмент БЗ из двух правил:
П1: Если «отдых - летом» и «человек - активный», то «ехать в горы»
П2: Если «любит солнце», то «отдых летом».
Предположим в систему поступили данные - «человек - активный» и «любит солнце»
Прямой вывод - исходя из данных, получить ответ.
1-й проход.
Шаг 1. Пробуем П1, не работает (не хватает данных «отдых - летом»)
Шаг 2. Пробуем П2, работает, в базу поступает факт «отдых - летом»
2-й проход.
Шаг 3 Пробуем П1, работает, активируя цель «ехать в горы», которая и выступает например, как совет, который дает СОЗ.
Обратный вывод - подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход
Шаг 1. Цель - «ехать в горы»: пробуем П1 - данных «отдых - летом» нет, они становятся новой целью, и имеется правило, где она в правой части.
Шаг 2. Цель «отдых летом»: Правило П2 подтверждает цель и активизирует ее.
2-й проход
Шаг 3. Пробуем П1, подтверждается искомая цель.