Выборка с обратным логическим выводом

Система, в которой реализована выборка с обратным логическим выводом (backward chaining), при запуске оперирует некими гипотезами, а в ходе работы іп>ггается подтвердить их, возвращаясь в текущее состояние. Такой подход называют также целенаправленным логическим выводом (goal-directed inference), поскольку для подтверждения антецедентов (antecedent clause) выполняется рекурсивная проверка консеквентов (consequent clause). Например, подобное поведение реализуется при оценке состояния противника.
Цикл интерпретатора, основанного на методе выборки с обратным логическим выводом, по структуре этапов подобен рассмотренному выше циклу интерпретатора, который использует метод выборки с прямым логическим выводом. Этот цикл называют также циклом предположи-проверь (hypothesize-test). Гипотезы, выдвигаемые для нахождения рещения, создаются на кажцой итерации, начиная от конца.
> Поиск соответствия. На этой стадии идентифицируются все правила, для которых тело правила соответствует текущему состоянию (т.е. определяются правила, которые могли привести к этому состоянию).
> Разрешение конфликтов. Если на предыдущем этапе было установлено, что найдено несколько правил, из них выбирается только одно.
> Обновление. В содержимое рабочей памяти вносятся изменения, отражающие выбранную гипотезу. Затем нам нужно определить, каким было предыдущее состояние, чтобы условие этого правила можно было применить.
Выборка с обратным логическим выводом в реализации сложнее, чем выборка с прямым логическим выводом, поскольку интерпретатору, чтобы выстроить реще-ние от начального состояния, нужно отслеживать все примененные правила от конца вывода. При этом повышается вероятность возникновения как тупиковых ситуаций (когда нет правил, которые можно было бы применить, на очередной итерации), так и бесконечных циклов (постоянно выбирается одна и та же последовательность правил). Решением обеих указанных проблем, как уже отмечалось, является применение управляющих стратегий.