Продукционные системы с исключениями
Если отношение "правило—исключение" встроено в систему, она сама может понять, что преобразование ПАЛКА --> ПАЛКЫ незаконно. При этом система должна руководствоваться простым принципом: если применимо исключение, общее правило запрещено. Соответствующие системы будем называть системами с исключениями.
Отношение "общее правило — исключение" безусловно полезно для понимания системой уместности правил. Можно сказать, что это отношение устанавливает автоматически (по умолчанию) наиболее типичное для неформальных процедур взаимодействие правил:
— исключение "вытесняет" общее правило.
— при пересечении разрешены оба правила.
Разумеется, возможны ситуации, когда необходимо поступать наоборот:
— исключение не запрещает общего правила
— при пересечении одно из правил запрещено.
Пусть дано, например, общее правило х --> р1 и его исключение Ах --> р2. Таким образом, для произвольного слова необходима реакция р1. Для слова же, начинающегося с буквы А, исполняется реакция р2 — по умолчанию для таких слов реакция р1 незаконна.
Предположим, однако, что по условию конкретной задачи для слов, начинающихся с А, реакция р1 также допустима. В этом случае введение нового правила Ах --> р1 снимает запрет на реакцию р1 в ситуации Ах.
Аналогичный способ годится для пересечения правил.
Таким образом, аппарат исключений позволяет устанавливать произвольные способы взаимодействия правил, в том числе и отличные от взаимодействия по умолчанию.
При развитии продукционной системы с исключениями программист сосредотачивает свое внимание на выявлении новых правил и на обобщении уже имеющихся. Аппарат исключений освобождает программиста от решения трудоемких вопросов согласования правил — распознавание и интерпретация исключений осуществляется автоматически.