ЛОГИКА ПЕРВОГО ПОРЯДКА

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

В главе 7 было показано, каким образом агент, основанный на знаниях, может представлять мир, в котором он действует, и определять с помощью логического вывода, какие действия следует ему предпринять. В этой главе в качестве языка представления использовалась пропозициональная логика, которая вполне позволяет проиллюстрировать основные понятия логики и принципы функционирования агентов, основанных на знаниях. Но, к сожалению, язык пропозициональной логики слишком слаб для того, чтобы с его помощью можно было кратко представить знания о сложных вариантах среды. В настоящей главе рассматривается логика первого порядка1, которая является достаточно выразительной для того, чтобы с ее помощью можно было представить значительную часть наших общих знаний. Кроме того, логика первого порядка либо становится итогом развития, либо образует основу многих других языков представления, и ей посвящены многие десятилетия интенсивных исследований. Начнем изложение этой темы с описания в разделе 8.1 всех языков представления в целом; в разделе 8.2 рассматриваются синтаксис и семантика логики первого порядка; в разделах 8.3 и 8.4 иллюстрируется использование логики первого порядка для простых представлений.
В данном разделе рассматривается общий характер языков представления. Здесь будет показано, чем была вызвана необходимость разработки логики первого порядка — гораздо более выразительного языка по сравнению с пропозициональной логикой, представленной в главе 7. Мы рассмотрим язык пропозициональной логики и
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ О ПРЕДСТАВЛЕНИИ
языки других типов, чтобы понять, в чем состоят их преимущества и недостатки. Приведенное здесь описание будет кратким, и в нем результаты многовековых размышлений, проб и ошибок сведутся всего лишь к нескольким абзацам.
Среди наиболее широко распространенных формальных языков наиболее крупным классом являются языки программирования (такие как С++, Java или Lisp). Сами программы представляют, в прямом смысле этого понятия, только вычислительные процессы, а структуры данных, применяемые в программах, могут представлять факты; например, в программе для представления содержимого мира вампуса может использоваться массив 4x4. Поэтому оператор World[2,2] Еще одним недостатком применения структур данных в программах (а также, в этом отношении, и баз данных) является отсутствие удобного способа сформировать, например, такое утверждение: "В квадрате в [2,2] или [3,1] имеется яма" или "Если вампус находится в квадрате [ 1,1 ], то его нет в квадрате [2,2]". Программы позволяют хранить для каждой переменной единственное значение, а некоторые системы допускают использование "неопределенных" значений, но в них не хватает выразительности, которая требуется для обработки частичной информации.
Пропозициональная логика — это декларативный язык, поскольку ее семантика основана на истинностных отношениях между высказываниями и возможными мирами. Кроме того, она имеет достаточную выразительную мощь для того, чтобы с ее помощью можно было обрабатывать частично заданную информацию с использованием дизъюнкции и отрицания. Пропозициональная логика обладает еще одним свойством, которое является желательным для языков представления, а именно композициональностью. В композициональном языке смысл высказывания представляет собой функцию от смысла его частей. Например, смысл высказывания "Si,4 л Si,2" связан со смыслами высказываний "51/4" и "Sli2". Было бы очень странным, если бы "Si,4" означало, что в квадрате [1,4] чувствуется неприятный запах, "5;,2" — что неприятный запах чувствуется в квадрате [1,2], а выражение "51<4 л Sli2" означало бы, что квалификационный матч по хоккею с шайбой между Францией и Польшей, проходивший на прошлой неделе, закончился со счетом 1:1. Безусловно, что при отсутствии в языке представления свойства композициональности функционирование системы формирования рассуждений значительно затрудняется.
Как было показано в главе 7, пропозициональная логика не обладает достаточной выразительной мощью, которая позволяла бы кратко описывать среду с многочисленными объектами. Например, мы были вынуждены записывать отдельное правило, которое связывает между собой наличие ветерка и ям для каждого квадрата, например, таким образом:
JBi.i <=» (Pi,2 V P2,i)
С другой стороны, на естественном языке, по-видимому, совсем несложно раз и навсегда сформулировать правило: "В квадратах, непосредственно примыкающих к ямам, чувствуется ветерок". Синтаксис и семантика естественного языка каким-то образом позволяют кратко описать эту среду.
Даже не очень глубокие размышления наводят на мысль, что естественные языки (такие как английский или русский) действительно являются очень выразительными. Например, авторы смогли написать почти всю эту книгу на естественном языке, лишь время от времени прибегая к использованию формальных языков (включая логику, математику и язык схем). В лингвистике и философии языка давно существует традиция, в которой естественный язык по сути рассматривается как декларативный язык представления знаний и предпринимаются попытки однозначно определить его формальную семантику. Если бы такая программа исследований завершилась успехом, это имело бы большое значение для искусственного интеллекта, поскольку позволило бы непосредственно использовать естественный язык (или какую-то его производную) в системах представления и формирования рассуждений.
В соответствии с современными взглядами естественный язык выполняет немного иное назначение: служит в качестве средства общения, а не исключительно как средство представления. Когда один приятель указывает пальцем и говорит другому: "Смотри!", он хочет этим сказать, что, допустим, в фильме Супермен наконец-то взлетел над крышами. Тем не менее нельзя утверждать, что в предложении "Смотри!" закодирован именно этот факт. Вместо этого смысл предложения на естественном языке зависит и от самого предложения, и от контекста, в котором оно было высказано. Очевидно, что невозможно сохранить такое предложение, как "Смотри!", в базе знаний и надеяться на то, что удастся восстановить его смысл, если в базе знаний не будет также представлен контекст. А из этого следует вопрос — как же можно представить сам контекст? К тому же естественные языки являются некомпозиционными — смысл предложения, такого как "Потом она это увидела", может зависеть от контекста, состоящего из многих предшествующих и последующих предложений. Наконец, недостатком естественных языков является неоднозначность, которая может стать причиной затруднений при формировании рассуждений. Например, Пинкер [1212] выразил эту мысль таким образом: "Когда люди говорят о косе, то их, безусловно, не затрудняет определение того, идет ли речь об элементе женской прически, или о форме береговой полосы, или о чем-то другом, а поскольку одно и то же слово может соответствовать двум идеям, сами идеи не могут выражаться отдельными словами".







Материалы

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