Рассел С., Норвиг П. Искусственный интеллект. Современный подход (2-е изд., 2006) (1245267), страница 89
Текст из файла (страница 89)
Покажите, что приведенное в этой главе определение алгоритма РЬ-(ясаров-Адепе не явля- ется оптимальным, и предложите способы его усовершенствования. 7.15. Йз Дополните алгоритм Рт -(ясаров-Адепт таким образом, чтобы он обеспе- чивал отслеживание всех относящихся к делу фактов с помощью только базы знаний. 7.16. Сколько времени потребуется, чтобы доказать высказывание кв 1 а с помо- шью алгоритма (звт.(,, если а — литерал, который уже содержится в базе зна- ний КВ? Объясните полученные результаты. 7.17.
Проследите за поведением алгоритма (зр(д. при обработке приведенной на рис. 7.7 базы знаний в попытке доказать высказывание (7 и сравните это поведение с тем, которое демонстрируется алгоритмом прямого логического вывода. В данной главе мы обращаем внимание на то, что мир состоит из множества объектов, причем некоторые из них связаны с другими объектами, а также предпринимаем попытку рассуждать об этих объектах. В главе 7 было показано, каким образом агент, основанный на знаниях, может представлять мир, в котором он действует, и определять с помощью логического вывода, какие действия следует ему предпринять.
В этой главе в качестве языка представления использовалась пропозициональная логика, которая вполне позволяет проиллюстрировать основные понятия логики и принципы функционирования агентов, основанных на знаниях. Но, к сожалению, язык пропозициональной логики слишком слаб для того, чтобы с его помощью можно было кратко представить знания о сложных вариантах среды, В настоящей главе рассматривается 'а. логика первого порядка', которая является достаточно выразительной для того, чтобы с ее помощью можно было представить значительную часть наших общих знаний.
Кроме того, логика первого порядка либо становится итогом развития, либо образует основу многих лругих языков представления, и ей посвящены многие десятилетия интенсивных исслелований. Начнем изложение этой темы с описания в разделе 8Л всех языков представления в целом; в разделе 8.2 рассматриваются синтаксис и семантика логики первого порядка; в разделах 8.3 и 8.4 иллюстрируется использование логики первого порядка для простых представлений.
8.1. ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ О ПРЕДСТАВЛЕНИИ В данном разделе рассматривается общий характер языков представления. Здесь будет показано, чем была вызвана необходимость разработки логики первого порядка — гораздо более выразительного языка по сравнению с пропозициональной логикой, представленной в главе 7. Мы рассмотрим язык пропозициональной логики и ' Логику первого порядка называют также исчислением врелвкатов первого норявка, н зтн области знаний нногва сокращенно обозначают как РО — ИгзЫОп!ег Еоя!с нлн РОРС вЂ” Игы-Огвег Ртев!саГе Са!св!вм 342 Часть П|.
Знания и рассуждения языки других типов, чтобы понять, в чем состоят их преимушества и недостатки. Приведенное здесь описание будет кратким, и в нем результаты многовековых размышлений, проб и ошибок сведутся всего лишь к нескольким абзацам. Среди наиболее широко распространенных формальных языков наиболее крупным классом являются языки программирования [такие как С++, Зача или Ызр).
Сами программы представляют, в прямом смысле этого понятия, только вычислительные процессы, а структуры данных, применяемые в программах, могут представлять факты; например, в программе для представления содержимого мира вампуса может использоваться массив 4х4. Поэтому оператор Уотс] [2, 2] < — РЗ с языка программирования представляет собой довольно естественный способ формирования утверждения о том, что в квадрате [2, 2] имеется яма.
[Такие способы представления могут рассматриваться как выбранные произвольным образом; системы баз данных были разработаны именно для предоставления более общего способа хранения и выборки фактов, независимого от проблемной области.) В языках программирования недостает какого-то общего механизма логического вывода фактов на основе лругих фактов; каждое обновление в структуре данных осуществляется с помощью процедуры, характерной лля данной проблемной области, подробности устройства которой уточняются программистом на основании его знаний о проблемной области. Такой процедурный подход представляет собой резкий контраст с декларативным характером пропозициональной логики, в которой не смешиваются знания и методы логического вывода, а логический вывод осуществляется полностью независимо от проблемной области.
Еще одним недостатком применения структур данных в программах [а также, в этом отношении, и баз данных) является отсутствие удобного способа сформировать, например, такое утверждение: "В квадрате в [2, 2] или [3, 1) имеется яма" или "Если вампус находится в квадрате [1, 1], то его нет в квадрате [2, 2] ". Программы позволяют хранить для каждой переменной единственное значение, а некоторые системы допускают использование "неопределенных" значений, но в них не хватает выразительности, которая требуется для обработки частичной информации. Пропозициональная логика — это декларативный язык, поскольку ее семантика основана на истинностных отношениях межлу высказываниями и возможными мирами.
Кроме того, она имеет достаточную выразительную мощь для того, чтобы с ее помощью можно было обрабатывать частично заданную информацию с использованием дизъюнкции и отрицания. Пропозициональная логика обладает еще одним свойством, которое является желательным для языков представления, а именно Ж композициональностью. Вкомпозициональном языке смысл высказывания представляет собой функцию от смысла его частей. Например, смысл высказывания "Ы„, л я,," связан со смыслами высказываний "Я, 4" и "Б,,". Было бы очень странным, если бы "Я, 4" означало, что в квадрате [1, 4] чувствуется неприятный запах, "Яп," — что неприятный запах чувствуется в квадрате [1, 2], а выражение "Я,, л Я,," означало бы, что квалификационный матч по хоккею с шайбой между Францией и Польшей, проходивший на прошлой неделе, закончился со счетом |: |.
Безусловно, что при отсутствии в языке представления свойства композициональности функционирование системы формирования рассуждений значительно затрудняется. Как было показано в главе 7, пропозициональная логика не обладает достаточной выразительной мощью, которая позволяла бы кратко описывать среду с много- 343 Глава 8. Логика первого порядка численными объектами. Например, мы были вынуждены записывать отдельное правило, которое связывает между собой наличие ветерка и ям для каждого квадрата, например, таким образом: Вц~ е~ (Р.,~ ч Рг г) С другой стороны, на естественном языке, по-видимому, совсем несложно раз н навсегла сформулировать правило: "В квадратах, непосредственно примыкающих к ямам, чувствуется ветерок". Синтаксис и семантика естественного языка каким-то образом позволяют кратко описать эту среду. Даже не очень глубокие размышления наводят на мысль, что естественные языки (такие как английский или русский) действительно являются очень выразительными.
Например, авторы смогли написать почти всю эту книгу на естественном языке, лишь время от времени прибегая к использованию формальных языков (включая логику, математику и язык схем). В лингвистике и философии языка давно существует традиция, в которой естественный язык по сути рассматривается как декларативный язык представления знаний и предпринимаются попытки однозначно определить его формальную семантику. Если бы такая программа исследований завершилась успехом, это имело бы большое значение лля искусственного интеллекта, поскольку позволило бы непосредственно использовать естественный язык (или какую-то его производную) в системах представления и формирования рассуждений.
В соответствии с современными взглядами естественный язык выполняет немного иное назначение: служит в качестве средства общения, а не исключительно как средство представления. Когда один приятель указывает пальцем и говорит другому: "Смотри!", он хочет этим сказать, что, допустим, в фильме Супермен наконец-то взлетел над крышами. Тем не менее нельзя утверждать, что в предложении "Смотри!" закодирован именно этот факт. Вместо этого смысл предложения на естественном языке зависит и от самого предложения, и от контекста, в котором оно было высказано.
Очевидно, что невозможно сохранить такое предложение, как "Смотри!", в базе знаний и надеяться на то, что удастся восстановить сто смысл, если в базе знаний не будет также представлен контекст. А из этого следует вопрос— как же можно представить сам контекст? К тому же естественные языки являются некомпозиционными — смысл предложения, такого как "Потом она это увидела", может зависеть от контекста, состоящего из многих предшествующих и последующих предложений.
Наконец, недостатком естественных языков является неоднозначность, которая может стать причиной затруднений при формировании рассуждений. Например, Пинкер 11212] выразил эту мысль таким образом: "Когда люди говорят о косе, то их, безусловно, не затрудняет определение того, идет ли речь об элементе женской прически, или о форме береговой полосы, или о чем-то другом, а поскольку одно и то же слово может соответствовать двум идеям, сами идеи не могут выражаться отдельными словами". ЯЗЫК МЫШЛЕНИЯ Философы и психологи уже в течение долгих столетий размышляют над тем, как люди и другие животные представляют знания. Очевидно, что в развитии этой способности у людей важную роль играла эволюция естественного языка.