Главная arrow книги arrow Копия Глава 7. Логические агенты arrow Поиск ям и вампусов с помощью логического вывода
Поиск ям и вампусов с помощью логического вывода

Листинг 7.9. Агент для мира вампуса, использующий пропозициональную логику для определения ям, вампусов и безопасных квадратов. Процедура Route-Problem формирует задачу поиска, решением которой является последовательность действий, ведущих оти проходящих только через ранее посещенные квадраты

Вычисление логического следствия в процедуре Ask может быть реализовано с использованием любого из методов, описанных выше в этой главе. Очевидно, что алгоритм TT-Entails? (см. листинг7.3) является практически не применимым, поскольку в нем приходится выполнять переборстрок. Алгоритм DPLL (см. листинг 7.7) осуществляет требуемый логический вывод за несколько миллисекунд в основном благодаря использованию эвристики с распространением единичных выражений. Может также использоваться алгоритм WalkSAT с учетом обычных предостережений о его неполноте. В рассматриваемых экземплярах мира вампуса неудачи в поиске модели при использовании 10 000 инверсий неизменно соответствуют невыполнимости, поэтому вероятность ошибок, вызванных неполнотой этого алгоритма, весьма мала.

В малом мире вампуса алгоритм PL-Wumpus-Agent действует весьма неплохо. Тем не менее некоторые особенности базы знаний агента остаются крайне неудовлетворительными. База знаний KB содержит "буквальные" высказывания в общей форме, приведенной в уравнениях 7.1 и 7.2, для каждого отдельного квадрата. Чем больше среда, тем крупнее должна быть такая начальная база знаний. Было бы гораздо лучше иметь только два высказывания, которые сообщают, из-за чего возникают ветерки и неприятные запахи в любых квадратах. Но такие выразительные возможности выходят за рамки пропозициональной логики. В следующей главе будет показан более выразительный логический язык, в котором можно легко представить подобные высказывания.