Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Логика Печать
В этом разделе приведен краткий обзор всех фундаментальных понятий, касающихся логических представлений и рассуждений. Описание конкретных сведений о какой-либо определенной форме логики откладывается до следующего раздела. Вместо этого в данном разделе используются неформальные примеры из мира вампуса и из знакомой всем области арифметики. Авторы приняли такой довольно необычный подход, поскольку идеи логики являются гораздо более универсальными и привлекательными, чем обычно предполагается.

В разделе 7.1 было указано, что базы знаний состоят из высказываний. Эти высказывания выражаются в соответствии с синтаксисом языка представления, который определяет форму всех высказываний, рассматриваемых как построенные правильно. Понятие синтаксиса является достаточно очевидным в обычной арифметике: "х+у=4" — правильно построенное высказывание, а "х2у+=" — нет. Синтаксис логических языков (и арифметики в том числе) обычно формируется так, чтобы с его помощью было удобно писать статьи и книги. Существуют буквально десятки различных форм представления синтаксиса; в некоторых из них используются греческие буквы и сложные математические символы, а в других— довольно привлекательные на вид схемы со стрелками и кружками. Однако во всех случаях высказывания в базе знаний агента представляют собой реальные физические конфигурации (части) агента. Формирование рассуждений сводится к выработке этих конфигураций и манипулированию ими.

Логика должна также определять семантику языка. Говоря неформально, семантика касается "смысла" высказываний. В логике это определение становится более точным. Семантика языка определяет ^ истинность каждого высказывания применительно к каждому из возможных миров. Например, обычная семантика, принятая в арифметике, определяет, что высказывание "х+у=4" истинно в мире, где х равно 2 и у равно 2, но ложно в мире, где х равно1 1 и у равно 1. В стандартной логике каждое высказывание должно быть либо истинным, либо ложным в каждом из возможных миров — в ней не может быть2 каких-либо "промежуточных состояний".

В дальнейшем, если потребуется уточнить какое-то определение, то вместо выражения один из "возможных миров" будет использоваться термин модель. (Кроме того, для указания на то, что высказывание а является истинным в модели т, будет использоваться фраза "т является моделью а".) Возможные миры могут рассматриваться как (потенциально) реальные варианты среды, в которых может находиться или не находиться агент, а модели представляют собой математические абстракции, каждая из которых устанавливает, является ли истинным или ложным каждое высказывание, относящееся к данной модели. Неформально, например, можно рассматривать х и у как количество мужчин и женщин, которые сидят за столом для игры в бридж, а высказывание х+у=А становится истинным, когда общее количество игроков равно четырем. В таком случае формально допустимые модели представляют собой все возможные присваивания целочисленных значений переменным х и у. Каждое такое присваивание устанавливает истинность любого высказывания в арифметике, переменными которого являются х и у.

Теперь, после рассмотрения понятия истинности, мы можем перейти к теме, касающейся логических рассуждений. Для этого необходимо определить понятие логического следствия между высказываниями — идею о том, что одно высказывание может логически следовать из другого высказывания. В математических обозначениях применяется следующая запись: a N р которая означает, что высказывание а влечет за собой высказывание C. Формальное определение логического следствия является таковым: а \= C тогда и только тогда, когда в любой модели, в которой высказывание а является истинным, C также истинно. Другой способ выразить эту мысль состоит в том, что если а является истинным, высказывание C также является истинным. Неформально выражаясь, истинность высказывания C "содержится" в истинности высказывания а. Понятие следствия применяется и в арифметике, например, из выражения х+у=4 следует выражение 4=х+у. Очевидно, что в любой модели, в которой х+у=4 (например, в такой модели, в которой х равно 2 и у равно 2), справедливо также, что 4=х+у. Вскоре будет показано, что любая база знаний может рассматриваться как некоторое утверждение, и в этой книге будет часто идти речь о том, что из некоторой базы знаний следует некоторое высказывание.

Анализ такого же типа можно применить и к примеру рассуждений о мире вампуса, приведенному в предыдущем разделе. Рассмотрим ситуацию, показанную на рис. 7.2, б: агент ничего не обнаружил в квадрате [ 1,1 ], а в квадрате [2,1] почувствовал ветерок. Эти восприятия в сочетании со знаниями агента о правилах существования мира вампуса (описание PEAS на с. 286) составляют его базу знаний. Агенту необходимо узнать (кроме всего прочего), имеются ли ямы в соседних квадратах, [1,2], [2,2] и [3,1]. В каждом из этих трех квадратов может находиться или не находиться яма, поэтому (в данном конкретном примере) существуют 23=8 возможных моделей. Они показаны3 на рис. 7.4.

В моделях, которые противоречат тому, что знает агент, база знаний становится ложной; например, база знаний ложна в любой модели, в которой квадрат [1,2] имеет яму, поскольку в квадрате [1,1] не чувствуется ветерок. Существуют фактически только три модели, в которых база знаний является истинной, и они показаны на рис. 7.4 как подмножество моделей. Теперь рассмотрим два возможных вывода:

OCi = "В квадрате [1,2] нет ямы"
0С2 = "В квадрате [2,2] нет ямы"



Возможные модели, описывающие наличие ям в квадратах [1,2], [2,2] и [3,1], которые основаны на тех наблюдениях, что в квадрате [1,1] нет ничего, а в квадрате [2,1] чувствуется ветерок: модели с базой знаний и высказыванием ai (в квадрате [1,2] нет ямы) (а); модели с базой знаний и высказыванием а2 (в квадрате [2,2] нет ямы) (б)

 

 

 

 

 

 

 

 

 

 

 

Эти модели на рис. 7.4, а и б обозначены соответственно как аг и а2. Проанализировав все возможные ситуации, мы обнаружили следующее: в каждой модели, в которой база знаний является истинной, высказывание ai также является истинным. Поэтому KB И ОС].: в квадрате [1,2] нет ямы. Кроме того, можно убедиться в следующем: в некоторых моделях, в которых база знаний является истинной, высказывание осг ложно. Поэтому KB ? а2: агент не может прийти к заключению, что в квадрате [2,2] нет ямы. (К тому же он не может сделать и вывод4, что в квадрате [2,2] есть яма.) В предыдущем примере не только проиллюстрирован процесс формирования логических следствий, но и показано, как можно применять определение логического следствия для формирования заключений, т.е. для проведения логического вывода. Алгоритм логического вывода, проиллюстрированный на рис. 7.4, называется проверкой по моделям, поскольку в нем осуществляется перебор всех возможных моделей для проверки того, что высказывание а является истинным во всех моделях, в которых истинна база знаний. Чтобы лучше понять, что такое логическое следствие и логический вывод, можно представить себе, что множество всех логических заключений, полученных из базы данных, — это стог сена, а высказывание а — это иголка. Логическое следствие напоминает утверждение о том, что в стоге сена есть иголка, а логический вывод можно сравнить с ее поиском. Это различие между понятиями логического следствия и логического вывода отражено и в формальных обозначениях: если некоторый алгоритм логического вывода i позволяет вывести логическим путем высказывание а из базы знаний KB, то можно записать следующее: кв hi а

Эта формула читается так: "высказывание а получено путем логического вывода из базы знаний KB с помощью алгоритма i" или "алгоритм i позволяет вывести логическим путем высказывание а из базы знаний KB". Алгоритм логического вывода, позволяющий получить только такие высказывания, которые действительно следуют из базы знаний, называется ^ непротиворечивым, или сохраняющим истинность. Непротиворечивость — это в высшей степени желательное свойство. Противоречивая процедура логического вывода в ходе своей работы по сути создает то, чего нет на самом деле: объявляет об обнаружении несуществующих иголок. Можно легко показать, что алгоритм проверки по моделям, если он применим, является непротиворечивым.

Желательным является также свойство полноты: алгоритм логического вывода называется полным, если позволяет вывести любое высказывание, которое следует из базы знаний. Когда речь идет о настоящих стогах сена, имеющих конечный объем, то представляется вполне очевидным, что систематическое исследование всегда позволяет определить, есть ли иголка в данном стоге сена. Но со многими базами знаний связан бесконечно большой стог сена, состоящий из следствий, поэтому обеспечение полноты становится важной проблемой6. К счастью, существуют полные процедуры логического вывода для многих форм логики, которые являются достаточно выразительными для того, чтобы они могли справиться со многими базами знаний.

Выше фактически был описан процесс формирования рассуждений, выводы которого гарантированно являются истинными в любом мире, в котором истинны предпосылки; в частности, & если база знаний является истинной в реальном мире, то любое высказывание а, полученное логическим путем из этой базы знаний с помощью непротиворечивой процедуры логического вывода, является также истинным в реальном мире.

Итак, несмотря на то, что процесс логического вывода оперирует с "синтаксисом" (а фактически с внутренними физическими конфигурациями, такими как биты в регистрах или картины электрических возбуждений в мозговых структурах), этот процесс соответствует связям реального мира, согласно которым некоторые аспекты реального мира имеют место7 благодаря тому, что имеют место другие аспекты реального мира. Это соответствие между миром и его представлением продемонстрировано на рис. 7.5.


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

 

 

 

 

 

 

 

 

 

 

Последняя проблема, которая должна быть решена применительно к логическим агентам, — это проблема ^ обоснования: установления связи между процессами логических рассуждений и реальной средой, в которой существует агент, если эта связь действительно имеется. В частности, эта проблема касается вопроса о том, <ж* как узнать, что база знаний является истинной в реальном мире?(В конце концов, ведь база знаний — просто "синтаксические конструкции" в голове агента.) Это — философская проблема, которой посвящено очень много книг. Простой ответ состоит в том, что указанная связь создается с помощью датчиков агента. Например, наш агент для мира вампуса имеет датчик запаха. Обнаружив неприятный запах, программа агента создает соответствующее высказывание. Это означает, что если данное высказывание действительно находится в базе знаний, то является истинным и в реальном мире.

Поэтому смысл и истинность высказываний, в которых выражаются результаты восприятий, определяются с помощью процессов формирования ощущений и составления высказываний, которые ими порождаются. А что можно сказать об остальных знаниях агента, который, например, считает, что вампуса можно обнаруживать из соседних квадратов, куда доносится его неприятный запах? Это — не прямое представление единственного акта восприятия, а общее правило, которое, возможно, было выведено из опыта восприятий, но не идентично утверждениям с описанием этого опыта. Обучение чревато ошибками. Может оказаться, что вампусы распространяют неприятный запах во все дни, кроме 29 февраля високосного года, поскольку в эти дни вампусы принимают ванну. Поэтому в реальном мире база знаний может оказаться не истинной, но если агент оснащен хорошими процедурами обучения, у него есть повод для оптимизма.