Мир вампуса

Некоторые аксиомы пропозициональной логики для мира вампуса были приведены в главе 7. Аксиомы первого порядка, рассматриваемые в этом разделе, являются гораздо более краткими и выражают совершенно естественным способом именно то, что требуется описать в этом мире.
Напомним, что агент в мире вампуса получает вектор восприятий с пятью элементами. Соответствующее высказывание в логике первого порядка, хранящееся в базе знаний, должно включать данные о результатах восприятия и о времени, в которое они были получены; в противном случае у агента возникнет путаница в отношении того, когда и что он воспринимал. Для обозначения интервалов времени будут использоваться целые числа. Типичным высказыванием с данными о восприятии является следующее:
Percept([Stench,Breeze,Glitter,None,None] ,5)
где Percept — бинарный предикат; Stench и т.д. — константы, помещенные в список. Действия в мире вампуса могут быть представлены с помощью логических термов следующим образом:
Turn(Right), Turn(Left), Forward, Shoot, Grab, Release, Climb
Чтобы определить, какое действие является наилучшим, программа агента составляет примерно такой запрос:
За BestAction(a,5)
Функция Ask должна разрешить этот запрос и возвратить список связывания, такой как {а/Grab}. Затем программа агента может вернуть Grab как действие, которое должно быть выполнено, но вначале должна ввести в свою собственную базу знаний данные о том, что будет выполнено действие Grab, с помощью операции Tell.
Из исходных данных о восприятии следуют некоторые факты о текущем состоянии, например:
\/t,s,g,m,c Percept ( [s, Breeze, g, m, c] , t) => Breeze(t) \f t, s ,b,m, с Percept ( [s, b, Glitter, m, c] , t) => Glitter(t)
и т.д. Эти правила являются проявлением простейшей формы процесса формирования рассуждений, называемого восприятием, который будет подробно рассматриваться в главе 24. Обратите внимание на то, что квантификация происходит по переменной t с обозначением времени. А в пропозициональной логике приходилось создавать копии каждого высказывания для каждого интервала времени.
Кроме того, в этой логике могут быть реализованы простые "рефлекторные" варианты поведения с помощью импликационных высказываний с кванторами. Например, может быть предусмотрено следующее правило:
Vfc Glitter(t) => BestActioniGrab, t)
При наличии результатов восприятия и правил, приведенных в предыдущих абзацах, применение данного правила привело бы к желаемому заключению BestActioniGrab, 5) о том, что в данный момент следует выполнить действие Grab. Обратите внимание на соответствие между этим правилом и прямым соединением "восприятие/действие" в агенте на основе логической схемы, приведенной на рис. 7.9; соединение в этой логической схеме неявно предусматривает применение квантора к переменной, обозначающей время.
До сих пор в этом разделе все высказывания, касающиеся времени, были синхронными (т.е. "одновременными") высказываниями; это означает, что они связывали свойства некоторого состояния мира с другими свойствами того же состояния мира. А высказывания, которые допускают формирование "разновременных" рассуждений, называются диахронными; например, агенту требуется знать, как комбинировать информацию о его предыдущем местонахождении с информацией о только что выполненном действии, чтобы определить свое текущее местонахождение. Отложим обсуждение диахронных высказываний до главы 10, а пока будем просто предполагать, что в отношении предикатов, касающихся изменения местонахождения, и других предикатов, зависящих от времени, выполняется требуемый логический вывод.
Выше были представлены восприятия и действия; теперь настало время представить саму среду. Начнем с объектов. Очевидными кандидатами являются квадраты, ямы и вампус. Можно было бы присвоить имя каждому квадрату (Square1>2 и т.д.), но тогда тот факт, что Square1)2 и Square1)3 являются соседними, пришлось бы оформить как "дополнительный" факт и нам потребовалось по одному такому факту для каждой пары квадратов. Поэтому лучше использовать сложный терм, в котором строка и столбец показаны в виде целых чисел; например, списковый терм [1,2]. В таком случае определение понятия соседства любых двух квадратов можно представить следующим образом:
\/х,у, a, b Adjacent {[х, у] , [а,Ь]) <=> [a,b] е {[х+1,у], [х-1,у], [х,у+1], [х/У-1]}
Кроме того, можно было бы присвоить имя каждой яме, но такое решение является неподходящим по другой причине: нам нет смысла проводить различия между ямами. Гораздо проще использовать унарный предикат Pit, который принимает истинное значение в квадратах, содержащих ямы. Наконец, поскольку имеется точно один вампус, для его представления равным образом подходят и константа Wumpus, и унарный предикат (а последний способ обозначения с точки зрения вампуса может даже оказаться более почетным). Вампус проживает точно в одном квадрате, поэтому для именования этого квадрата целесообразно использовать функцию, такую как Ноте(Wumpus). Это позволяет полностью избежать необходимости применения громоздкого множества высказываний, которые требовались в пропозициональной логике для обозначения того, что вампус находится точно в одном квадрате. (А при наличии двух вампусов ситуации в пропозициональной логике стала бы еще хуже.)
Местонахождение агента меняется со временем, поэтому мы будем применять запись At {Agent, s, t) для указания на то, что агент находится в квадрате s во время t. Зная свое текущее местонахождение, агент сможет выявлять путем логического вывода свойства текущего квадрата на основании данных о свойствах его текущего восприятия. Например, если агент находится в некотором квадрате и чувствует ветерок, то в этом квадрате чувствуется ветерок:
Vs,t At(Agent,s, t) л Breeze(t) => Breezy(s)
Нам требуется знать не то, что агент вообще почувствовал ветерок, а то, что ветерок чувствуется в определенном квадрате, поскольку известно, что ямы не могут менять своего местонахождения. Обратите внимание на то, что предикат Breezy ("в квадрате чувствуется ветерок") не имеет параметра с обозначением времени.
Обнаружив, в каких местах чувствуется ветерок (или неприятный запах), а также, что очень важно, в каких местах не чувствуется ветерок (или неприятный запах), агент получает возможность определять логическим путем, где находятся ямы (и где находится вампус). Существуют два описанных ниже типа синхронных правил, которые позволяют делать такие логические выводы.
• Диагностические правила
Диагностические правила ведут от наблюдаемых эффектов к раскрытию скрытых причин. В очевидных диагностических правилах, касающихся поиска ям, утверждается, что если в квадрате чувствуется ветерок, то в некотором соседнем квадрате должна находиться яма, таким образом: Vs Breezy(s) => 3r Adjacent (r, s) л Pit (г)
С другой стороны, если в некотором квадрате не чувствуется ветерок, то ни в одном из соседних квадратов не находится яма10:
Vs —iBreezy(s) => —Br Adjacent (г, s) л Pit (г)
Объединяя эти два правила, мы получим следующее высказывание в форме двусторонней импликации:
Vs Breezy (s) <=$ 3r Adjacent (г, s) A Pit (г) (8.3)
• Причинные правила
Причинные правила отражают предполагаемую направленность причинно-следственных отношений в мире: появление некоторых восприятий вызывается определенными скрытыми свойствами мира. Например, наличие ямы вызывает появление ветерка во всех соседних квадратах: Vr Pit (г) r> [Vs Adjacent (г, s) Breezy(s)]
А если во всех квадратах, соседних по отношению к данному конкретному квадрату, нет ям, то в данном квадрате не чувствуется ветерка: Vs [Vr Adjacent (г, s) r> —iPit(r)] => —Breezy{s)
Приложив определенные усилия, можно показать, что эти два высказывания, вместе взятые, логически эквивалентны высказыванию с двусторонней импликацией, приведенному в уравнении 8.3. Это высказывание с двусторонней импликацией само может также рассматриваться как причинное, поскольку показывает, каким образом вырабатывается истинностное значение предиката Breezy по данным о состоянии мира.
Системы, в которых логические рассуждения формируются с помощью причинных правил, называются системами формирования рассуждений на основе модели, поскольку причинные правила образуют модель того, как действует среда. Различие между рассуждениями на основе модели и диагностическими рассуждениями является важным для многих областей искусственного интеллекта. В частности, одной из активных областей исследования остается медицинская диагностика, и в ней подходы, основанные на прямых ассоциациях между симптомами и заболеваниями (диагностический подход), постепенно вытесняются подходами, в которых используются явно заданные модели заболеваний и данные о проявлениях этих заболеваний в виде симптомов. Мы вернемся к этой теме в главе 13.
Какой бы тип представления не использовался в агенте, & если аксиомы правильно и полно описывают способ функционирования мира и способ выработки восприятий, то любая полная процедура логического вывода позволяет получить наиболее сильное возможное описание состояния мира при наличии всех доступных восприятий. Благодаря этому проектировщик агента получает возможность сосредоточиться на решении задачи получения правильных знаний, не слишком заботясь о том, как должны быть организованы процессы логического вывода. Кроме того, в данном разделе было показано, что логика первого порядка позволяет представить мир вампуса не менее кратко, чем первоначальное описание на естественном языке, приведенное в главе 7.







Материалы

Яндекс.Метрика