Этапы разрешения конфликтов и выполнения.


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

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

Выделим следующие классы стратегий:

- стратегии упорядочивания правил;

- стратегии специальных случаев;

- стратегии возраста элементов;

- стратегии различий;

- случайные стратегии.

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

Стратегии специальных случаев используют в качестве критериев выбора означиваний отношение "специальный случай". Источником знаний в стратегиях этого класса может быть память правил, рабочая память и оба эти источника одновременно. Отношение "специальный случай" может определяться по-разному, однако дальнейшие действия после определения специального случая во всех стратегиях этого класса одинаковы. Если означивание Ks является специальным случаем означивания Kg, то Ks является предпочтительным. Кроме того, если существует означивание Kn, которое не является ни общим, ни специальным случаем для любого другого означивания, то Kn является предпочтительным. Стратегии этого класса устраняют только те означивания, которые являются общими случаями некоторых других означиваний.

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

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

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

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

После выполнения действий осуществляется проверка условий окончания, т.е. определяется, не является ли текущее состояние рабочей памяти целевым. На этапе выполнения осуществляется изменение памяти состояний интерпретатора.