Представление

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

Среди наиболее широко распространенных формальных языков наиболее крупным классом являются языки программирования (такие как C++, Java или Lisp). Сами программы представляют, в прямом смысле этого понятия, только вычислительные процессы, а структуры данных, применяемые в программах, могут представлять факты; например, в программе для представления содержимого мира вампуса может использоваться массив 4x4. Поэтому оператор World[2,2] <- Pit языка программирования представляет собой довольно естественный способ формирования утверждения о том, что в квадрате [2,2] имеется яма. (Такие способы представления могут рассматриваться как выбранные произвольным образом; системы баз данных были разработаны именно для предоставления более общего способа хранения и выборки фактов, независимого от проблемной области.)

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

Еще одним недостатком применения структур данных в программах (а также, в этом отношении, и баз данных) является отсутствие удобного способа сформировать, например, такое утверждение: "В квадрате в [2,2] или [3,1] имеется яма" или "Если вампус находится в квадрате [ 1,1 ], то его нет в квадрате [2,2]". Программы позволяют хранить для каждой переменной единственное значение, а некоторые системы допускают использование "неопределенных" значений, но в них не хватает выразительности, которая требуется для обработки частичной информации.

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

В композициональном языке смысл высказывания представляет собой функцию от смысла его частей. Например, смысл высказывания "S1,4 S1,2" связан со смыслами высказываний "S1,4" и "S1,2". Было бы очень странным, если бы "S1,4" означало, что в квадрате [1,4] чувствуется неприятный запах, "S1,2" — что неприятный запах чувствуется в квадрате [1,2], а выражение "S1,4 ^ S1,2" означало бы, что квалификационный матч по хоккею с шайбой между Францией и Польшей, проходивший на прошлой неделе, закончился со счетом 1:1. Безусловно, что при отсутствии в языке представления свойства композициональности функционирование системы формирования рассуждений значительно затрудняется.

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

B1,1 <=> (P1,2 v P2,1)

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

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

В соответствии с современными взглядами естественный язык выполняет немного иное назначение: служит в качестве средства общения, а не исключительно как средство представления. Когда один приятель указывает пальцем и говорит другому: "Смотри!", он хочет этим сказать, что, допустим, в фильме Супермен наконец-то взлетел над крышами. Тем не менее нельзя утверждать, что в предложении "Смотри!" закодирован именно этот факт. Вместо этого смысл предложения на естественном языке зависит и от самого предложения, и от контекста, в котором оно было высказано.

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

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

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

Изучение синтаксиса естественного языка показывает, что наиболее очевидными его элементами являются существительные и именные конструкции, которые обозначают ^ объекты (квадраты, ямы, вампусы), а также глаголы и глагольные конструкции, которые обозначают отношения между объектами (чувствовать ветерок, быть соседним, стрелять). Некоторые из этих отношений являются функциями — отношениями, в которых в ответ на каждое "входное" значение формируется только одно "выходное" значение. Такой подход позволяет сразу же приступить к составлению перечня примеров объектов, отношений и функций, как показано ниже.

          • Объекты: люди, дома, числа, теории, Рональд Макдональд, цвета, бейсбольные соревнования, войны, столетия ...
          • Отношения: могут быть унарными отношениями, или ^ свойствами, такими как красный, круглый, поддельный, первичный, многоэтажный и т.д., либо более общими n-арными отношениями, такими как "быть братьями", "быть больше", "находиться внутри", "входить в состав", "иметь цвет", "произойти позже", "принадлежать", "находиться между" и т.д.
          • Функции: "быть отцом", "быть лучшим другом", "быть третьей подачей мяча", "быть на единицу больше", "быть началом" и т.д.

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

    • " Один плюс два равняется трем". Объекты: один, два, три, один плюс два; отношение: равняется; функция: плюс. ("Один плюс два" представляет собой название объекта, полученного путем применения функции "плюс" к объектам "один" и "два". 'Три" — другое название для этого объекта.)
    • "В квадратах, соседних с тем квадратом, где находится вампус, чувствуется неприятный запах". Объекты: вампус, квадраты; свойство: неприятный запах; отношение: быть соседним.
    • "Злой король Джон управлял Англией в 1200 году". Объекты: Джон, Англия, 1200 год; отношение: управлял; свойства: злой, король.

Язык логики первого порядка, синтаксис и семантику которого мы определим в следующем разделе, основан на понятиях объектов и отношений. Он стал чрезвычайно важным для математики, философии и искусственного интеллекта именно потому, что эти области знаний (а фактически основная часть повседневного человеческого существования) могут вполне продуктивно рассматриваться как касающиеся объектов и отношений между ними. Логика первого порядка позволяет также выражать факты о некоторых или обо всех объектах во Вселенной. Это дает возможность представлять общие законы, или правила, такие как следующее утверждение: "В квадратах, соседних с тем квадратом, где находится вампус, чувствуется неприятный запах".

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

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

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

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