logo
Sotnik_Lek

Продукционные системы с исключениями

Если отношение "правило—исключение" встроено в систему, она сама может понять, что преобразование ПАЛКА  ПАЛКЫ незаконно. При этом система должна руководствоваться простым принципом: если применимо исключение, общее правило запрещено. Соответствующие системы будем называть системами с исключениями.

Отношение "общее правило — исключение" безусловно полезно для понимания системой уместности правил. Можно сказать, что это отношение устанавливает автоматически (по умолчанию) наиболее типичное для неформальных процедур взаимодействие правил:

— исключение "вытесняет" общее правило.

— при пересечении разрешены оба правила.

Разумеется, возможны ситуации, когда необходимо поступать наоборот:

— исключение не запрещает общего правила

— при пересечении одно из правил запрещено.

Пусть дано, например, общее правило х  р­1 и его исключение Ах  р2. Таким образом, для произвольного слова необходима реакция р1. Для слова же, начинающегося с буквы А, исполняется реакция р2 — по умолчанию для таких слов реакция р1 незаконна.

Предположим, однако, что по условию конкретной задачи для слов, начинающихся с А, реакция р1 также допустима. В этом случае введение нового правила Ах  р1 снимает запрет на реакцию р1 в ситуации Ах.

Аналогичный способ годится для пересечения правил.

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

При развитии продукционной системы с исключениями программист сосредотачивает свое внимание на выявлении новых правил и на обобщении уже имеющихся. Аппарат исключений освобождает программиста от решения трудоемких вопросов согласования правил — распознавание и интерпретация исключений осуществляется автоматически.