/
Текст
Artificial Intelligence BY EARL B. HUNT Department of Psychology University of Washington Seattle, Washington ACADEMIC PRESS New York San Francisco London 1975
Э. ХАНТ ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ Перевод с английского Д. А. БЕЛОВА и Ю. И. КРЮКОВА под редакцией в. л. СТЕФАНЮКА ИЗДАТЕЛЬСТВО «МИР» МОСКВА 1978
УДК 62.506.222.001.57 Книга посвящена фундаментальным проблемам создания искусственного интеллекта и существующим подходам к их решению. В ней рассматриваются задачи распознавания образов, машинного доказательства теорем, восприятие машиной окру- жающего физического мира и, наконец, понимание машиной естественного языка. Особое внимание уделяется основным идеям и принципам искусственного интеллекта. > От читателя требуется умеренная математическая подго- товка — достаточно знакомства с элементарными понятиями из теории множеств, комбинаторики и математической логики. Книга полезна широкому кругу исследователей как введение в область искусственного интеллекта и приложений вычислитель- ной техники к различным областям науки (в частности, психоло- гии, биологии, лингвистики). Она может служить учебным пособием для студентов университетов н институтов, изучающих искусственный интеллект. Редакция литературы по математическим наукам 20204-030 Х 041 (01)-78 30‘78 © Academic Press, Inc., 1975 © Перевод на русский язык, «Мир», 1978
ОТ РЕДАКТОРА ПЕРЕВОДА г Последняя Международная конференция по проблемам искус- ственного интеллекта, прошедшая в США в августе 1977 г., с оче- видностью показала, что это направление переживает сейчас бурный расцвет. Большие успехи за последнее время достигнуты в области создания систем для общения с ЭВМ на естественном языке, пред- ставления и приобретения знаний, эффективных автоматических помощников, облегчающих работу программиста, систем принятия решений и эвристического поиска, доказательства теорем, машин- ного зрения и роботоподобных устройств. В книге профессора университета штата Вашингтон Э. Ханта, вышедшей в США в 1975 г., в той или иной степени отражены все эти области, за исключением, быть может, роботики в собственном смысле этого слова. Книга озаглавлена «Искусственный интел- лект». Этот термин сейчас общепринят, по крайней мере на рус- ском языке вышел целый ряд книг с таким или почти таким названием. В то же время проф. Мак-Карти, автор ряда фундамен- тальных идей в этой области, недавно предложил другое назва- ние: когнология. Неустойчивость словосочетания «искусственный интеллект» от- части объясняется тем, что в нем используется понятие интеллекта (иногда его переводят словом «разум»), хотя создается впечатление, что все меньше и меньше надежды остается на то, что понятию «ин- теллект человека» в обозримом будущем будет дано точное опреде- ление, пригодное одновременно и для философов, и для математиков, и для психологов, и для обыкновенных людей. Одна из очевидных трудностей состоит в том, что до сих пор на практике в любом конкретном примере интеллектуальной деятель- ности всегда случается так, что, как только приходит полное пони- мание процесса выбора решения в рамках этой деятельности, при- лагательное «интеллектуальная» перестают применять. Такая же картина, как указывал Н. Нильсон, наблюдается и в области ис- кусственного интеллекта. С развитием этого направления, накоп-
6 От редактора перевода лением опыта и ростом технической вооруженности «деинтеллектуа- лизация» в этом смысле различных задач протекает все быстрее. Еще недавно образование простейших условных рефлексов свя- зывали с разумным поведением. Сегодня же известны работы по написанию программ для ЭВМ, которые по жестким алгоритмам имитируют творческую деятельность математика. Одна из таких программ (Д. Ленат), отправляясь от небольшого числа теоретико- множественных аксиом, открыла новые понятия в теории чисел, касающиеся чисел с большим числом делителей, доказала ряд ин- тересных теорем о таких числах и сейчас продолжает свою работу... Сегодня имеются очень хорошие (иногда дающие просто прекрас- ные результаты) программы игры в шашки, шахматы, программы разбора газетных текстов, довольно сложных изображений на экра- не телевизора, программы, обеспечивающие навигацию в неопреде- ленных и изменяющихся условиях, манипулирования произволь- ными объектами с помощью одной или двух «рук», программы, обучающие человека путем изощренного диалога с ним таким мало- формализованным вещам, как поиск неисправности в радиоэлек- тронной схеме и т. д. и т. п. И хотя не видно принципиальной трудности в объединении двух- трех программ, таких примеров слишком мало, чтобы всерьез го- ворить сейчас о возможности создания программы равноинтеллек- туальной, т. е. проявляющей примерно один уровень интеллекта одновременно в самых различных областях. Время покажет, прин- ципиальна ли эта трудность. Одно из негативных соображений со- стоит в тем, что универсальные системы отличаются сегодня низкой степенью эффективности. Системы же специализированные работают эффективно (быстро и со сравнительно невысокими требованиями к памяти устройств) только благодаря учету конкретных особенно- стей данной задачи, которые, как правило, специфичны и значитель- но меняются при переходе к другой задаче. Поэтому можно только приветствовать попытку Э. Ханта со- брать воедино различные методы и идеи, лежащие в основе разно- образных систем, так или иначе относящихся к искусственному ин- теллекту. Существенно при этом то, что он не пытается отделить методы этого направления от, скажем, кибернетических методов, которые лежат в их основе. Автор считает, что искусственный ин- теллект базируется на идеях прикладной математики, математиче- ской логики, статистики, психологии и т. д. и что результаты, по- лученные в этих областях, более ценны, чем яркие результаты в об- ласти создания роботов или в машинной шахматной игре. Как редактор перевода я не могу не отметить, что оригинальный авторский текст книги изобилует опечатками и неточностями, ко- торые обусловлены, по-видимому, грандиозностью замысла, постав- ленного автором перед собой, и той оперативностью, с которой вы- шла книга. С любезного согласия автора мы старались их устра-
От редактора перевода нить, но было бы наивно надеяться, что нам удалось устранить их все. Однако изложение книги в целом достаточно прозрачно, что обусловлено многочисленными примерами, которыми автор сопро- вождает свою мысль, а также разумным компромиссом между абсолютно строгим и интуитивным изложениями, который был найден автором. Нет сомнения, что настоящий перевод будет встре- чен с большим интересом самыми разными читателями. В. Л. Стефанюк
ПРЕДИСЛОВИЕ Моя книга отражает наиболее устоявшиеся взгляды в области искусственного интеллекта. Намерение написать ее возникло у меня в результате ряда наблюдений за тем, как люди, имеющие подго- товку в одной области, с энтузиазмом начинают работать в другой, не осознавая в полной мере, что было сделано здесь ранее. К этому следует добавить, что обучение специалистов в области искусствен- ного интеллекта и в известной степени вычислительных наук вооб- ще, на мой взгляд, слишком сильно зависит от скоро проходящих научных увлечений. Слишком много усилий тратится на то, чтобы вывести студента на передний край научной области, и слишком мало, чтобы выделить и изучить фундаментальные идеи предмета. Например, в моем университете *) в первом цикле лекций по искусст- венному интеллекту (разумеется, это не относится к моим лекциям) рассматриваются интересные, но не совсем относящиеся к теме теории Пиаже о развитии познавательных способностей у человека, а в дальнейшем студентов подробно знакомят с содержанием новей- ших (часто хороших) диссертаций, выполненных в Массачусетском технологическом институте. Недостаток такого подхода, как я себе это представляю, состоит в том, что студенту предлагается прекрас- ный вид на несколько деревьев (выбранных преподавателем) и не дается никакого понятия ни о самом лесе, ни о ботанике. Другими словами, я считаю, что преподаватели и выпускаемые ими учебники обязаны больше внимания уделять анализу основных принципов и проблем. Лишь после того, как это сделано, имеет смысл проводить семинары, посвященные последним, только что полученным резуль- татам. Итак, что же надо делать? Я попытался собрать вместе и пред- ставить здесь в меру подробное обсуждение основных математиче- ских и вычислительных подходов к проблемам искусственного ин- теллекта. Основное внимание было уделено принципам, а не де- талям. Помимо этого, я постарался выделить главные нерешенные х) Автор — профессор университета в Сиэтле, штат Вашингтон.— Прим, ред.
Предисловие 9 принципиальные проблемы, особенно в области машинного понима- ния и восприятия. В этой книге нет описания роботов. В ней также нет описания машинной игры в шахматы. Но есть рассуждения, овладение которыми поможет понять основные подходы к машин- ному распознаванию образов, к построению систем восприятия робо- тов, к дедуктивным диалоговым системам и машинным играм. По своему уровню книга подходит студентам, специализирую- щимся в любой из наук, связанных с ЭВМ, или в экспериментальной психологии. Необходимо хорошо владеть алгеброй и знать основные понятия теории вероятностей, исчисления высказываний и симво- лической логики. Для тех, кто не имеет соответствующей матема- тической подготовки, изложение, вероятно, будет не слишком по- нятным. Благодарности Эту книгу д-р Дж. Росс Куинлан из Сиднейского университета и я намеревались написать вместе, и мы успели поработать над од- ной-двумя главами. Увы, наши планы расстроил Тихий океан. Ока- залось просто невозможным общаться достаточно часто, особенно учитывая быстро увеличивающийся объем публикаций. Несмотря на это, Росс в большой степени ответствен за те хорошие идеи, ко- торые я изложил в книге, и, вероятно, ему не понравятся очень не- многие плохие... право же, я не знаю, какие именно. В любом слу- чае, спасибо, Росс. Моя следующая благодарность за научное сотрудничество адре- суется д-ру Шарон Сикел, которая не раз заставляла меня обращать серьезное внимание на математическое доказательство теорем, хотя бы с целью убедиться в том, что я понимаю, о чем она говорит. Ее ясные и точные рассуждения в значительной мере определили мое изложение раздела, посвященного доказательству теорем. Ряд моих коллег помогли мне как непосредственным участием в решении некоторых обсуждаемых здесь научных проблем, так и своими замечаниями по поводу различных утверждений и первона- чального варианта текста. Я бы хотел особенно отметить Марка Стикела, Дэвида Гарната, Патрика Расселла, Эдварда Страсбургера и Майкла Делея — все они из Вашингтонского университета. Очень полезные замечания по тексту сделали Эдвард Картеретт из УКЛА, Корделл Грин из Стэнфордского университета и А. А. Марли из Мак-Гилла. Большинство упоминаемых здесь оригинальных исследований были выполнены по заказу Отдела научных исследований ВВС США. Общий план книги определился в результате обсуждения с людьми, занимающимися различными применениями вычислительных ма- шин в ВВС, какого рода справочное руководство было бы им полез-
10 Предисловие но. Именно тогда стала особенно очевидной и была наиболее ясно выражена необходимость в книге, содержащей основные методы. Д-р Гленн Финч, в то время работавший в отделе научных исследо- ваний, в течение нескольких лет был постоянным источником обод- рения и поддержки. Много помощников работали над рукописью книги на различных этапах. Я не буду называть их имена. Они все хорошо потрудились. Если бы не любезность многих ученых, которые откликнулись на мои просьбы о препринтах и включили меня в свои рассылочные списки, я не смог бы написать книгу такого плана, как этого не смог бы сделать и никто другой. В период написания этой книги я занимал пост декана факуль- тета психологии Вашингтонского университета. Мои коллеги по факультету с уважением отнеслись к идее, что их руководитель также должен заниматься наукой, и самостоятельно решали многие административные вопросы, так что у меня была возможность за- ниматься научной деятельностью. Я ценю это. Ни издательство «Академик пресс», ни моя семья не бросали меня в течение длительных периодов, когда я был мало контактным и казался неспособным получить какие-нибудь осязаемые результаты. Сейчас работа завершена, и издательство получило рукопись, а моя семья — больше времени для общения со мной. Я надеюсь, что не только они будут довольны.
Часть I ВВЕДЕНИЕ Глава 1 ОБЛАСТЬ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА 1.0. Существует ли она? В университетах США действуют более 100 учебных программ в области вычислительных наук. По существу каждая из них вклю- чает курс под названием искусственный интеллект. Фактически, как оказалось, методами программирования, предназначенными для исследований по искусственному интеллекту, занимается больше людей, чем методами обработки коммерческих данных (Эллиот, 1968). Эти учебные программы отражают соотношение между соот- ветствующими объемами проводимых научных исследований. Из- дается журнал под названием Artificial Intelligence („Искусственный интеллект") и серия отчетов о научных конференциях по машинному разуму. Что же дает начало этой бурной деятельности? Если бы физики или химики взялись дать абстрактные опреде- ления своих областей знания, то вы скорее всего не нашли бы разно- гласий ни среди тех, ни среди других. Вряд ли бы обнаружилось такое единодушие, если бы пришлось собрать вместе разных уче- ных, занимающихся искусственным интеллектом. Интересно, одна- ко, что, познакомившись детально с учебными курсами, которые они читают, и исследованиями, которые они проводят, вы, вероятно, нашли бы у них много общего. Рекомендованная Ассоциацией по вычислительной технике (АВТ) программа по вычислительным нау- кам содержит основу для курса А 9, Искусственный интеллект, в которой перечисляются: доказательство теорем, игры, распозна- вание образов, решение задач, адаптивное программирование, при- нятие решений, сочинение музыки вычислительной машиной, обу- чающиеся сети, обработка данных на естественном языке, а также вербальное и концептуальное обучение в качестве подходящих для изучения тем (Комитет по учебным программам АВТ, 1968). Подоб- ные направления отражены и в научной литературе. Таким образом,
12 Гл. 1. Область искусственного интеллекта нет сомнений в факте существования этой области научной деятель- ности. Но какова степень ее значимости? В одном из тестов, предназначенных для проверки жизненности научного направления, предлагается ответить на вопрос: „Влияет ли данное научное направление на области знания, тесно связанные с ним?“. По этому критерию искусственный интеллект оценивается достаточно высоко. Методы программирования, развитые для ис- следований по искусственному интеллекту, широко распространи- лись в области программирования для ЭВМ вообще. Многие кон- цепции искусственного интеллекта, несомненно, повлияли на раз- витие психологии в ряде ее областей (Хант, 1968; Фридзида, 1972; Лоэлин, 1968; Миллер, Галантер и Прибрам, 1960; Вейсстейн, 1969). В химии методы искусственного интеллекта были применены к ана- лизу данных масс-спектроскопии (Ледерберг и Фейгенбаум, 1968) и при планировании синтеза органических молекул (Кори и Випке, 1969). Оказалось, что существует содержательная область знаний, общие принципы которой трудно выделить. Проблема, по-видимо- му, заключается в определении понятия интеллекта. Психологи, которые некоторое время занимались проблемой определения ин- теллекта, приняли прагматический подход, состоящий в том, что интеллект — это то, что измеряется в интеллектуальных тестах. Также поступлю и я. Для первых 90% этой книги „искусственный интеллект" будет означать просто набор дисциплин, изучаемых в соответствующих курсах по искусственному интеллекту. Я вы- делю группу тем, для меня наиболее интересных или важных, и буду говорить о них достаточно подробно. Принимая этот подход, я откладываю рассмотрение таких нерешенных общих философских вопросов, как „Может ли машина думать?" и „Можно ли говорить, что машина понимает?", до тех пор, пока не будет установлена об- щая основа фактического знания. С этой целью книга разделена на четыре части. Первая содержит обзор различных направлений ис- кусственного интеллекта (гл. 1) и попытку соединить проблемы ис- кусственного интеллекта с некоторыми нашими представлениями о вычислимости и абстрактных вычислительных устройствах (гл. 2). Я не буду пытаться дать исчерпывающую историю вопроса, но по- добная книга должна содержать некоторый обзор и по крайней мере несколько замечаний об историческом развитии области. Кроме того, глава об абстрактных вычислениях будет не строгим введением в эту проблему, а скорее очерком общего понятия вычислимости с акцентом на взаимосвязи между теорией вычислимости и искус- ственным интеллектом. Остальные главы делятся на разделы, посвященные трем неза- висимым направлениям исследований, являющимся основой всего искусственного интеллекта: распознаванию образов, решению задач и машинному восприятию и пониманию. Я не пытался дать подроб-
1.1. Решение задач 13 ный обзор литературы (по этому вопросу опубликовано более 1500 статей). Моя цель — детально объяснить подходы и принципы, наи- более перспективные в каждой из обсуждаемых областей. Таким образом, полнота изложения здесь приносится в жертву; многие ис- следования просто не упоминаются. Начав работу над этой книгой, я скоро понял, что анализ преж- них опубликованных отчетов просто не даст ответов на некоторые важные вопросы, которые могут возникнуть у читателя. Поэтому наряду с разбором таких вопросов будут представлены не опубли- кованные ранее исследования. В основном эта работа посвящена до- казательству теорем и распознаванию образов — областям, наибо- лее существенным для остальных исследований в искусственном интеллекте. Большая часть материала представляет собой скорее попытки заполнить пробелы, чем расширить знания о рассматривае- мых подходах к проблеме. В последней главе я обратился к философским вопросам, кото- рых до сих пор избегал. Мой ответ на вопрос „Может ли машина ду- мать?11, возможно, не удовлетворит приверженцев двух крайних точек зрения. 1.1. Решение задач Термин „решение задач" имеет довольно ограниченное значение в лексиконе искусственного интеллекта. Задача считается постав- ленной, когда известны текущее состояние, описание характеристик целевого состояния и операции, с помощью которых можно перехо- дить от одного состояния к другому. При этом возможны ограниче- ния, учитывающие, что на пути решения в определенные состояния приходить не следует. Эта формулировка известна как подход в пространстве состояний. Несколько следующих примеров показы- вают, насколько широко он применим. В задаче о миссионерах и людоедах три миссионера и три лю- доеда хотят переплыть реку с левого берега на правый. Имеется лодка, вмещающая двух человек. Все умеют грести. Задача состоит в том, чтобы доставить всех шестерых на правый берег при одном ограничении: число миссионеров на любом берегу реки никогда не должно быть меньше числа людоедов на этом берегу. Чтобы пере- вести эту задачу на формальный язык, будем считать, что состояние определяется числом миссионеров и людоедов на левом берегу и положением лодки. Начальная позиция — (3, 3, Л), целевое со- стояние — (0, 0, П) *)• Операторы определяются допустимыми пе- редвижениями лодки. При доказательстве теорем заданы множество истинных утверж- дений (посылки) и утверждение, истинность которого неизвестна х) Л и П — первые буквы слов «левый» и «правый».— Прим, перев.
14 Гл. 1. Область искусственного интеллекта (теорема, подлежащая доказательству). Используя последователь- ность допустимых операций, таких, как правила вывода в алгебре или тригонометрии, расширяем множество истинных утверждений так, чтобы включить в него теорему. Состояния определяются про- веренными к текущему моменту утверждениями; операторы зада- ются правилами вывода. Данную шахматную позицию преобразуйте в такую, где королю противника ставится мат. По пути к этой позиции избегайте поло- жений, в которых ваш собственный король получает мат или воз- никает патовая ситуация. Позиции на доске определяют состояние, а отдельные ходы — операторы. Было отмечено (Фгйгенбаум, 1958), что современные исследова- ния по искусственному интеллекту начались с попыток Аллена Ньюэлла, Герберта Саймона и Дж. Шоу написать программы, ре- шающие задачи. Их исследования проводились совместно в корпо- рации РЭНД и Технологическом институте Карнеги (теперь Уни- верситет Карнеги-Мелон). С идейной точки зрения работа РЭНД — Карнеги была важна как сама по себе, так и потому, что она задала тон многим другим исследованиям. Методы же программирования, развитые в ходе этих работ, стали широко использоваться в вычис- лительных науках вообще. Ньюэлл и его коллеги (1957) сначала создали программу Ло- гик-Теоретик (ЛТ), предназначенную для доказательства теорем в исчислении высказываний. С помощью ЛТ были успешно дока- заны 38 из 52 теорем гл. 2 книги Уайтхеда и Рассела *) „Principia Mathematica". Поскольку „Principia" считается одной из фундамен- тальных работ, устанавливающих логические основания матема- тики, достижения ЛТ непременно должны были вызвать интерес. Нетрудно преувеличить или, наоборот, неоправданно уменьшить значение успеха ЛТ в воспроизведении результатов „Principia" (ссылки здесь намеренно опущены), так что полезно было бы иметь точное представление о том, что же было сделано. Доказательства теорем из гл. 2 книги Уайтхеда и Рассела не произведут на математика впечатления большой глубины. Способ- ные студенты университета, как правило, могут выполнить боль- шинство из них. Яркость достижения Уайтхеда и Рассела состоит не в доказательстве самих теорем, а в осознании того, что их доказа- тельство может служить основой построения, ведущего от логики к математике. Это было большим творческим актом, который Нью- элл, Саймон и Шоу и не пытались имитировать на вычислительной машине. С другой стороны, задачи гл. 2 не вполне тривиальны. Эти Э Решения 12 из 14 нерешенных задач не были доведены до конца из-за огра- ниченности физических возможностей ЭВМ, имевшихся в то время. Остальные выходили за пределы логических возможностей алгоритма. Модифицированный алгоритм ЛТ на более мощной ЭВМ позднее доказал все 52 теоремы (Стефферуд, 1963).
1.1. Решение задач 15 доказательства, возможно, вне понимания 60% человечества — факт, который, вероятно, останется незамеченным, если ваш круг знакомых составляют лишь кандидаты наук или соискатели. Нью- элл и его коллеги неоднократно подчеркивали, что истинное зна- чение программы не в произведенных ей доказательствах, а в том, как она их осуществила. Доказательство теорем — пример боль- шого класса задач, методика решения которых в принципе извест- на, но не пригодна для практического использования. Например, следующий исчерпывающий метод гарантирует получение доказа- тельства для любой доказуемой теоремы — но это может занять некоторое время... Начиная с посылок, запишите все выводы, которые можно получить, комби- нируя по-разному два или более известных истинных утверждения. Проверьте, не содержит ли полученное таким образом множество утверждений теорему или ее отрицание. В первом случае теорема доказана, в последнем опровергнута. Ес- ли не произошло ни то, ни другое, добавьте это новое множество утверждений к посылкам и повторите процедуру. Существует такое число п, что доказательство (или опровержение) будет получено на п-м шаге, но ничего нельзя сказать отно- сительно того, какового это число 1). Ньюэлл, Саймон и Шоу назвали эту процедуру алгоритмом Британского музея, так как она казалась им столь же разумной, как посадить за пишущие машинки обезьян для того, чтобы заново написать все книги, имеющиеся в Британском музее. Они предло- жили вместо нее следующий эвристический подход — термин, за- имствованный у Пойа (1954, 1957), который считал, что большинство математических доказательств производится на основе догадки о характере решения и затем проверки того, что догадка правильна. Пойа противопоставлял это алгоритмическому способу — механи- ческому осуществлению всех шагов, которые в конце концов обязаны привести к правильному ответу 2). Алгоритм Британского музея является, очевидно, алгоритмическим. То, что было сделано Нью- эллом и его коллегами, заключалось в написании ряда правил (т. е. программы) для порождения догадок и затем проверки их правиль- ности. Эта идея быстро привилась, и сегодня об „эвристическом программировании" говорят уважительно и до некоторой степени таинственно как о передовом способе программирования, хотя оно •*) •*) Процедура может не завершиться, если «теорема», подлежащая доказатель- ству, не выводится из заданных аксиом. Этот случай подробнее обсуждается в части III. 2) Ни Пойа, ни Ньюэлл с сотрудниками не дали формального определения алгоритма и эвристики. В настоящее время в вычислительных науках термин «алгоритм» используется для обозначения процедуры оперирования последова- тельностями предложений из специфицированного множества допустимых после- довательностей (Глушков, 1964). Согласно этому определению, любая программа является алгоритмом, а программа Ньюэлла и др. должна рассматриваться как совокупность алгоритмов для порождения догадок.
16 Гл. 1. Область искусственного интеллекта вовсе и не способ программирования, а скорее способ размышлять о том, что предположительно будет делать программа при попытках решения поставленной задачи. При написании программы Логик — Теоретик Ньюэлл, Саймон и Шоу столкнулись с задачами, которые заставили их разработать новый важный прием программирования, обработку списков. Это метод организации памяти ЭВМ так, чтобы основными операндами были упорядоченные множества (списки), а не переменные. Техника обработки списков нашла широкое применение в вычислительных науках (Кнут, 1969). Можно также привести доводы в пользу того, что при обработке сложной информации весьма удобен язык для оперирования списками, так как обработка списков — очень важный инструмент во многих приложениях, использующих в основном символьную, а не численную обработку. Характерным для подхода РЭНД — Карнеги к решению задач был большой интерес к тому, каким образом люди решают задачи. Программа для ЭВМ представляет собой точно определенное мно- жество правил для работы с данным классом задач. Допустим, что удалось установить разумное соответствие между входом и выходом некоторой программы и стимулами и реакциями, наблюдаемыми в лаборатории психолога. Тогда можно сказать, что на уровне обра- ботки информации эта программа является моделью человека (Нью- элл, Саймон и Шоу, 1958; Ньюэлл и Саймон, 1961, 1972). Однако моделирование человеческого мышления и создание хорошего ре- шателя задач не одно и то же, так как лишь в одном из этих случаев критерий успеха состоит в получении хорошего решения задач. Ньюэлл и Саймон (1961) не считали эти цели несовместимыми и, очевидно, использовали знание процесса решения задач человеком, чтобы предложить структуру эвристических программ, и обратно. Интуитивно это можно оправдать тем, что люди — это наиболее способные решатели задач; поэтому, если мы хотим построить ис- кусственный разум, нам следовало бы изучить сначала, как работает естественный. Слабость довода о том, что программирование должно подражать человеческому интеллекту, обнаруживается, когда вы занимаетесь решением задач в специализированной области, для которой ме- тоды, не свойственные человеку, могут оказаться достаточно хоро- шими. Работа Ньюэлла и др. по математическому доказательству теорем подвергалась критике на основании того, что существуют более эффективные, чем алгоритм Британского музея, методы полно- го перебора, и что использование более совершенных из них может дать лучшие результаты (Уэнг, I960). Эта критика в некотором от- ношении несостоятельна, поскольку Ньюэлл с коллегами больше интересовались поисками достаточно общих методов, чем собствен- но результатами доказательства теорем. По этой же причине для Ньюэлла и др. было удобно изучать в качестве примера общего клас-
1.1. Решение задач 17 са задач теоремы из „Principle", хотя в теории групп могли бы най- тись проблемы, более интересные для математика. Скептик возразит, что умения решать задачи вообще, без связи с какой-либо содержательной областью, не может быть. Следующий проект Ньюэлла с сотрудниками, программа „Универсальный реша- тель задач" (GPS *)) содержит попытку показать, что (а) такое уме- ние существует и (б) оно может обсуждаться на очень конкретном уровне программирования для ЭВМ. В то время как в программу ЛТ были явно встроены операции, использованные в формализации Уайтхеда и Рассела для исчисления высказываний, GPS был про граммой для работы с операторами и состояниями на абстрактном уровне. Чтобы применить GPS при решении конкретной задачи, надо задать структуру характерных состояний и операторов (на- пример, размещение миссионеров и людоедов и передвижение лод- ки) в этой программе. Такая процедура спецификации была названа описанием проблемной среды. Программа GPS пригодна для любой задачи, допускающей преобразование в удобную проблемную среду. Целью исследований GPS было показать, что правильно конкрети- зированные универсально применимые процедуры (т. е. программы) приводят к решениям, которые, будучи получены людьми, оцени- ваются как весьма разумные. Список задач, с которыми работали GPS и сходные программы, включает элементарную логику, шах- маты, выраженные словами школьные алгебраические задачи и от- веты на вопросы, заданные на несколько нечетком английском язы- ке, но относящиеся к очень ограниченной базе данных. В одном из наиболее обширных исследований программа GPS употреблялась для решения десяти разных небольших задач в областях от интег- рирования неопределенных интегралов до головоломки о миссио- нерах и людоедах (Эрнст и Ньюэлл, 1969). Для нескольких случаев Ньюэлл и Саймон привели в качестве довода, подтверждающего, что их программа моделирует человече- ское мышление, сравнение записей доказательства теорем програм- мами с записями комментариев* „думающего вслух" человека. В 1972 г. они опубликовали много таких данных и предложили об- щую методику составления программ, предназначенных для моде- лирования мышления (Ньюэлл и Саймон, 1972). Примерно в то же время, когда работы группы РЭНД — Кар- неги стали привлекать к себе внимание, в Массачусетском техноло- гическом институте (МТИ) сформировалась тесно с ней связанная и такая же активная группа под руководством Марвина Минского и Джона Мак-Карти. Впоследствии Мак-Карти и Фейгенбаум, член группы Карнеги, вдвоем ушли в Стэнфордский университет, кото- рый вместе со Стэнфордским исследовательским институтом также стал ведущим центром в занятиях искусственным интеллектом. l) General Problem Solver.— Прим, перед.
18 Гл. 1. Область искусственного интеллекта И непосредственно через исследования членов групп, и косвенно, вследствие того, что был вовлечен престиж соответствующих ин- ститутов и университетов, группы МТИ и Станфорда оказали силь- ное влияние на американские работы по решению задач на ЭВМ х). В противоположность ранним исследованиям Карнеги — РЭНД исследования в МТИ больше относились к формальным математи- ческим представлениям. Среди типичных разрабатывавшихся проб- лем были интегрирование неопределенных интегралов (Слейгл, 1963), вопросно-ответные системы с использованием простых баз данных (Рафаэль, 1964), объединение дедуктивных рассуждений с информационным поиском (Мак-Карти, 1959; Слейгл, 1965; Грин, 1969) и неувядаемая проблема игры ЭВМ в шахматы (Гринблатт и др., 1968). Казалось, что Мак-Карти, Минский и их коллеги рас- сматривали искусственный интеллект скорее как расширение мате- матики и символической логики, чем как дисциплину, параллельную психологии. Они были крайне аккуратны в формализации вычис- лительных процедур и соотношении их с математикой в более тра- диционном понимании, в частности с теорией рекурсивных функций (Мак-Карти, 1961; Беркли и Бобров, 1964). Заслуживают рассмот- рения также попытки Амареля (1968) и Бенерджи (1969) формали- зовать процессы решения задачи, поскольку они представляют собой независимые усилия, направленные к той же цели. Стремление к формализации имеет большую потенциальную ценность, ибо для построения точной и жизнеспособной теории процесса решения задач нужен адекватный формализм. С другой стороны, такой теории сейчас нет, и мы чувствуем, что для многих частных проектов искусст- венного интеллекта неформальный подход типа подхода Ньюэлла и Саймона будет столь же удовлетворительным, как и отпугивающие зачастую формализмы, которые предлагались. Еще один подход с иных позиций к решению задач, основанный на идеях математика Дж. Робинсона (1965), также сильно повлиял на работу в области машинного мышления. При узком понимании Робинсон использовал лишь один новый подход к доказательству теорем в формальной логике; но его методы можно применить фактически к любой ситуации, которую мы обычно связываем с решением задач. Как мы увидим далее, технические детали этого метода могут показаться слишком сложными. Основная же логика совсем проста. Истинность любого утверждения можно обосновать, показав, что его отрицание ложно. В задачах доказательства теорем надо установить, что утверждение Аз>В, (1) С 1965 г. группы МТИ н Станфорда приложили много усилий в области проектирования и создания роботов — проблемы, которой не касались Ньюэлл, Саймон и их коллегн. Точно так же с 1965 г. группа Ньюэлла — Саймона, видимо, стала склоняться больше к занятиям психологическими проблемами. Естественно, любое такое утверждение нельзя относить ко всем членам группы.
1.1. Решение задач 19 где А — условие задачи, в В — нужное заключение, истинно. Пред- положим теперь, что А и В — множества утверждений. Если бы мы хотели доказать истинность утверждения (1) с помощью подхода Ньюэлла и Саймона, мы начали бы с множества Ао аксиом и приме- нили бы некоторые правила вывода для получения нового множества Ах аксиом и утверждений-следствий. Затем применили бы какие-то правила вывода к Ах для получения множества А2 и далее третьего множества, четвертого и т. д., пока не обнаружилось бы, что неко- торое множество Af содержит в качестве своего подмножества В, т. е. множество утверждений, подлежащих доказательству. Другой способ доказательства истинности утверждения (1) состоит в том, чтобы показать, что его отрицание 1 (Аз> В) = ”| ( ”1А и В) = (А-1 В) (2) ложно х). Это можно осуществить, показав, что одновременная ис- тинность А и 1 В приводит к противоречию. Робинсон предложил применять для этого всего одно правило вывода, называемое резо- люцией. Продемонстируем его идею на простом примере. Рассмот- рим известную ситуацию из водевиля: „Если эта дама приходится Чарли тетей, то она должна прийти с Чарли. Но ее никогда не видели вместе с Чарли". Сделаем довольно очевидный перевод на язык математической логики: П1 (Тетя(дама, Чарли)з>Присутствует(дама, Чарли)) П2 (“|Присутствует(дама, Чарли)) ' ' Пусть А обозначает „Тетя (дама, Чарли)“иР — „Присутствует (дама, Чарли)“. Предложения (3) представляют собой аксиомы за- дачи. Гипотезой здесь является то, что дама не приходится Чарли тетей 2), и это записывается как А. Для доказательства этого с помощью резолюции мы должны взять отрицание нашей гипотезы (т. е. (А)) и добавить к аксиомам полученные в результате предло- жения. Тогда, переписав предложение П1 в дизъюнктивной фор- ме, получим предложения П1 (lAuP), П2 (“|Р), ПЗ (А). (4) Исследуем теперь второй этап вывода по методу Робинсона. Пусть два предложения имеют форму (АцВ) и (Д A(jC). Тогда (АиВ)-(“|АиС)э(ВиС). (5) х) Всюду в этой книге “| будет обозначать отрицание, (J —дизъюнкцию и - — конъюнкцию. Заметим, что если В — множество утверждений, которые, будучи взяты вместе, должны интерпретироваться как единое утверждение, то ’^В — дизъюнкция отрицаний каждого утверждения из В. 2) «Она» была переодетым Чарли.
20 Гл. 1. Область искусственного интеллекта Вывод такого рода называют резолюцией предложений, стоящих слева от знака зэ, а предложение справа — резольвентой. Если объединяются два предложения вида (А) и (~]А), то приходим к противоречию. Формально можно считать резольвентой двух таких предложений пустое предложение ( ). Вывод пустого пред- ложения показывает, что исходное множество содержало противо- речие (возможно, имплицированное). На основе изложенного мы имеем теперь два способа доказа- тельства с помощью резолюции утверждения о том, что дама не приходится Чарли тетей. В одном из них резолюция предложений ГН и П2 дает предложение (А), и его резолюция с ПЗ приводит к противоречию. Второе доказательство предоставляем читателю. На практике возникает много осложнений, которые мы здесь даже и не упоминаем. Однако можно показать, что резолюция явля- ется исчерпывающим методом доказательства. Это значит, что если из некоторого множества предложений противоречие можно полу- чить каким-то приемлемым методом доказательства, то его можно получить и с помощью резолюции. В терминологии Пойа, следо- вательно, резолюция — это скорее алгоритм, чем эвристика. В даль- нейшем мы увидим, что в практических приложениях резолюции эвристические приемы играют важную роль. Известно много усовершенствований основного метода резолю- ции. Наиболее существенные из них обсуждаются в части III. По- мимо конкретных результатов, работа Робинсона привела, во-пер- вых, к тому, что основное внимание в исследованиях по искусст- венному интеллекту переместилось от попытки воспроизвести реше- ния задач на ЭВМ человеком к разработке машинно-ориентирован- ных методов. Во-вторых, был возрожден интерес к практическим приложениям методов доказательства теорем, в особенности к ав- томатизированному информационному поиску. 1.2. Распознавание образов Быть может, это и верно, что любой объект является единствен- ным в своем роде, но жизнь была бы невозможна, если бы мы отно- сились к этой мысли слишком серьезно. Для многих целей мы на- ходим удобным считать уникальные существа типичными: типичным персоналом станций обслуживания, типичными лифтерами или сборщиками налогов. Мы применяем знания характеристик общего класса для определения наших действий в конкретном случае, однако во избежание неприятностей следует научиться правильно проводить классификации. Именно эту способность предлагалось считать основой разумного поведения (Боурн, 1966; Брунер, Гуд- нау и Остин, 1956; Гилфорд, 1967; Хант, 1962). Для людей осуще- ствление весьма тонких классификаций — такое обыденное дело, что мы не осознаем, насколько впечатляющ этот процесс. Мужчина,
1.2. Распознавание образов 21 вернувшись домой, сразу узнает свою жену, ребенка, собаку. Оче- видно, различия между тем, как жена и тем более собака выглядели утром и вечером, незначительны, но именно в них суть дела. Как мы определим для ЭВМ, какое изменение образа несущественно, а какое потребует новой классификации? В своей важной ранней работе Селфридж (1959) предложил осуществлять распознавание образов вычислением взвешенной сум- мы ряда „рекомендованных" классификаций, каждая из которых основана на различных характеристиках распознаваемого объекта (признаках). Хотя индивидуальные рекомендации могут носить почти случайный характер, система в целом может быть достаточно точной. Развитие этой идеи ведет к параллельному методу распоз- навания образов. Можно считать, что каждый объект имеет простей- шее описание, представляемое вектором, элементы которого служат аргументами для ряда функций, и значения этих функций уже сос- читаны. Они в свою очередь служат аргументами для некоторой ре- шающей функции, которая определяет окончательную классифика- цию. Это описание, не отражающее полностью идей Селфриджа, пред- ставляет распознавание образов как задачу классификации векторов, или точек в n-мерном пространстве. В монографии Себестиана (1962), связывающей задачи распознавания образов с математичес- кой теорией решений, и в блестящем обзоре Мейзела (1972) методов распознавания образов этому подходу была придана более явная форма. Указанные аспекты распознавания образов тесно связаны с классическими статистическими методами многомерного анализа (Андерсон, 1958; Тацуока, 1971). К проблеме распознавания образов можно подходить также, отталкиваясь от аналогии с биологическими процессами. В некото- рых условиях способности животных к распознаванию образов пре- вышают способности любой машины, которую только можно построить. Для простоты мы рассмотрим лишь человеческие способ- ности. При классификации, основанной на непосредственном сен- сорном опыте, т. е. при распознавании лиц или произнесенных слов, люди легко превосходят технические устройства. В „несенсор- ных" ситуациях действия людей на столь эффективны. Например, люди не могут соперничать с программами классификации образов, если правильный способ классификации включает логические ком- бинации абстрактных свойств, таких, как цвет, размер и форма (Хант, Марин и Стоун, 1966). Проблему осложняет то обстоятель- ство, что в этих ситуациях не ясно, по какой причине люди действу- ют нестабильно (т. е. очень хорошо или очень плохо). Какой тип распознавания образов используется в рассуждениях по аналогии? Этот вопрос представляет большой интерес. Поскольку распознавание образов должно быть функцией нейронов животного, можно искать ключ к биологическому распоз-
22 Гл. 1. Область искусственного интеллекта наванию образов в свойствах самого нейрона. Для многих целей нейрон можно рассматривать как пороговый элемент. Это значит, что он либо дает на выходе некоторую постоянную величину, если сумма его входов достигает определенного значения, либо же оста- ется пассивным. Мак-Каллок и Питтс (1943) доказали, что любую вычислимую функцию можно реализовать с помощью должным об- разом организованной сети идеальных нейронов — пороговых эле- ментов, логические свойства которых с достаточным основанием можно приписать реальному нейрону. Проблема состоит в том, мо- жно ли найти какой-то разумный принцип реорганизации сети, позволяющий случайно объединенной вначале группе идеальных нейронов самоорганизоваться в „вычислительное устройство", спо- собное решать произвольную задачу распознавания образовх). Такой принцип реорганизации явился бы теорией обучения, при- менимой на уровне отдельного нейрона. Интуитивно ясно, что такой принцип должен существовать, поскольку можно видеть, что жи- вотные действительно обучаются новым правилам классификации и смешно было бы полагать, что в них с рождения „запаяны" все клас- сификации, которым можно обучиться ?). Нейрологическая теория обучения, выдвинутая канадским пси- хологом Хеббом (1948), хотя и была рассчитана вначале на исполь- зование в качестве модели, предназначенной только для психологии, оказала большое влияние на искусственный интеллект. Ее модифи- кация применялась при определении принципов системы распозна- вания образов, получившей название персептрон (Розенблатт, 1958, 1962). Персептрон, или, точнее, персептроны (ибо то, что описал Розенблатт, было скорее принципом построения программ, нежели единственной программой) существуют и в форме программ, и как специально сконструированные аналоговые вычислительные машины. Значительные усилия были направлены на анализ общего класса систем распознавания образов, которые представляют пер- септроны. Были развиты понятия систем линейного распознавания образов и систем пороговой логики. Первый термин относится к ме- тоду объединения индивидуальных решений распознающих эле- ментов, соответствующих различным характеристикам, а второй — к использованию устройств, вырабатывающих постоянный сигнал, Ч Допустим, что каждый объект, подлежащий классификации, полностью описывается вектором, состоящим не более чем из k двоичных цифр. Тогда сущест- вует не более 2* различимых объектов. Нам нужна функция, которая, получив одно из возможных описаний, дает 1 тогда и только тогда, когда описанный объект принадлежит некоторому классу, и 0 в противном случае. Один из выводов работы Мак-Каллока и Питтса заключается в том, что такую функцию можно построить на сети идеальных нейронов. 2) Более серьезной кажется мысль о том, что животные предрасположены к обучению определенным типам функций. Нервная система в целом, несомненно, не совсем случайна. В то же время генетический код не содержит достаточной ин- формации для определения всех деталей нервной системы взрослого человека.
1.2. Распознавание образов 23 если уровень их входных сигналов превышает некоторую фиксиро- ванную величину. Была разработана содержательная математичес- кая теория (Нильсон, 1965а), вершиной которой является анализ круга задач, решаемых с применением линейных пороговых логи- ческих систем (Минский, Пейперт, 1969). В работах с персептронами основное внимание уделяется уста- новке весов, приписываемых фиксированному множеству детекторов признаков. Это совпадает с формулировкой задачи, данной Селфрид- жем. Альтернативный метод распознавания образов сводится к поиску „хороших" признаков, которые так четко проводят разделе- ние между классами, что определение подходящего правила при- пйсывания весов признакам не представляет труда. Этому подходу уделялось большое внимание в ряде исследовательских проектов, в особенности руководимых Уром и его сотрудниками (Ур, 1965; Ур и Восллер, 1963), и в советской литературе (Бонгард, 1967). Последние статьи в журнале Pattern Recognition свидетельствуют, что все большее значение придается обнаружению признаков, не- жели определению их весов. Системы распознавания образов, упоминавшиеся до сих пор, представляют собой по меньшей мере аналоги биологического рас- познавания образов. В биологии термин „распознавание образов" неявно относят к классификации на сенсорном уровне. Это прояв- ляется в постоянном обращении к зрительным примерам распознава- ния образов. Психологи употребляют термин „обучение понятиям" по отношению к задаче, которая математически совпадает с задачей распознавания образов, но отличается от нее в психологическом ас- пекте. Эту разницу легко проиллюстрировать следующим приме- ром. Вообразим, что написана программа, различающая изображе- ния мужчин и женщин. Что в этом случае означает „показать изоб- ражение вычислительной машине"? Это значит, что полутоновые от- тенки небольших участков изображения каким-то способом закоди- рованы в числах и полученный вектор взят в качестве входа для программы распознавания образов. Очень простой пример приведен на рис. 1.1. Программа, далее, должна классифицировать уже векторы, а не изображения. Можно противопоставить ее программе, применяе- мой для классификации животных по их виду и роду. Обучение про- исходило бы путем сообщения программе описаний животных и пра- вильного указания их вида и рода. На элементарном уровне про- грамма считывала бы множество признаков, описывающих живот- ное, и сводила бы их к упорядоченному множеству кодов. Программа распознавания образов и в этом случае классифицировала бы векто- ры. Поскольку эти задачи эквивалентны на машинном уровне, ви- димо, было бы разумным, чтобы для вывода правил классификации образов в обоих случаях применялась одна и та же программа. Однако, если мы думаем о том, как человек мог бы осуществлять
24 Гл. 1. Область искусственного интеллекта обучение этим задачам, нам кажется, что восприятие и познание могут как-то различаться. Те ученые, которые больше интересуются познавательной сто- роной задач распознавания образов, фактически разработали алго- ритмы, заметно отличающиеся от полученных теми исследователями, кто при решении этой проблемы начинал с сенсорного уровня. Вместо проведения ряда параллельных опытов и оценивания общих результатов, в алгоритмах логической классификации, как прави- ло, начинают с небольшого числа опытов и в зависимости от их Рис. 1.1. Простой пример того, как изображение кодируется в вектор для задачи распознавания образов. Большой прямоугольник разбивается на четыре квад- ранта. Если верхний левый квадрант заштрихован, то первая компонента вектора равна 1, в противном случае — 0. Такие же правила применяются и к другим квадрантам и компонентам вектора. результатов либо проводят второй тест, либо выполняют классифи- кацию объекта. Характер второго теста может зависеть от результа- тов первого. Этот процесс, очевидно, можно распространить на любое число тестов. Правила классификации такого рода называ- ются последовательными процедурами принятия решений. До пос- леднего времени эти методы мало освещались в литературе по ис- кусственному интеллекту, хотя такие же процедуры изучены под- робно в статистике и исследовании операций. Интересно отметить, что по крайней мере в одном случае, когда подход к логическому распознаванию образов был осуществлен с чисто статистических позиций (Морган и Сонквист, 1963), полученные алгоритмы вычис- ления были очень похожи на те, что появились после независимо выполненной работы Ханта, Марина и Стоуна (1966) в области ис- кусственного интеллекта. В последние несколько лет в литературе по распознаванию образов все большее значение придается после- довательным процедурам (фу, 1969а).
1.3. Игры и принятие решений 25 Очень может быть, что зрение человека — наиболее тонкая среди существующих систем распознавания образов. Очевидно, что вычис- лительная машина должна иметь возможность рассматривать зри- тельную сцену и анализировать ее так, как это делает человек. В большинстве научно-фантастических телевизионных сценариев считается, что для вычислительных машин будущего это станет обычным делом. В действительности же проблема машинного зре- ния представляет собой ряд очень трудных задач. Анализ зритель- ных сцен оказывается в сущности невозможным, если анализирую- щее устройство не содержит логическую модель наблюдаемой сцены, позволяющую разрешать неоднозначности изображений на входе. Это заключение едва ли будет неожиданным для психологов, которые занимались константностью восприятия х) и иллюзиями, и не удивительно, что некоторые предложения о том, как ЭВМ долж- на обрабатывать зрительные данные, заимствованы из современных исследований по зрению человека. Точно так же стремление наде- лить вычислительную машину глазами вызвало идеи, которые могли бы использоваться при создании теорий человеческого зрения, хотя характер этого соответствия не совсем ясен (Вейсстейн, 1969). В на- стоящее время мы в состоянии дать лишь беглый обзор этой быстро меняющейся области, основные методы которой, возможно, еще не сформировались. 1.3. Игры и принятие решений Попытки программировать на ЭВМ игры были характерны для современного искусственного интеллекта с момента его возникно- вения. Несомненно, одна из причин заключается в том, что эта проблема в некотором смысле вызывающая. Люди играют в слож- ные игры. Очень легко показать, что в принципе можно составить программу, умеющую играть в совершенстве в любую настольную игру 2). Однако никто еще, кажется, не смог написать программу, игра которой была бы сравнима с лучшей игрой человека. Вторая, более общая причина для занятий игровыми програм- мами, связана с тем, что они могут представлять общий класс задач, с которыми в настоящее время вычислительные машины справля- ются довольно плохо. В великолепной статье Ньюэлла, Саймона и Шоу (1958) о первых попытках программирования шахматной игры указано, что в игре содержится слишком много альтернативных продолжений, чтобы ЭВМ могла исследовать каждый ход, и по- х) Например, константность цветного восприятия — это надежное восприя- тие человеком цвета объекта, не зависящее от внешнего освещения при более или менее нормальных условиях.—Прим. ред. 2) Точнее, существует алгоритм определения оптимального хода на любой стадии игры п лиц, в которой каждый участник имеет полную информацию и число возможных ходов конечно (Льюс и Райфа, 1957).
26 Гл. 1. Область искусственного интеллекта тому в хорошей шахматной программе должны быть эвристики, поз- воляющие ограничиться исследованием лишь разумных ходов. Кроме того, для выигрыша не нужно каждый раз находить наилуч- шие ходы — достаточно просто неплохих. Можно надеяться, что, занимаясь играми, мы научимся с помощью вычислительных ма- шин находить удовлетворительные, хотя и не обязательно оптималь- ные решения очень сложных задач. По более пессимистическим прог- нозам может оказаться, что все усилия в этой области приведут лишь к формализации стратегий для отдельных изучаемых игр. Третье основание для изучения игр на ЭВМ заключается в том, что в этой области большую роль играет обучение, хотя сам процесс не вполне понятен. Объяснение умному человеку шахматных правил еще не делает его выдающимся игроком. Необходим опыт, но не ясно, что это такое. Если бы мы могли составлять эффективные игровые программы, которые использовали бы свой опыт, возможно, появились бы некоторые идеи о том, что же значит обучаться, ре- шая сложные задачи. Сэмюэль (1959, 1963, 1967), чья работа по игре в шашки является, наверное, наиболее изощренным иссле- дованием по самоорганизующимся программам для игр, подчерки- вал, что суть его работы не в исследовании шашек самих по себе, а в изучении процесса машинного обучения, в котором шашки берутся лишь в качестве удобного объекта. Работы по игровым программам развивались почти независимо от математических исследований в области „теории игр“. Это отча- сти можно объяснить тем, что данные два направления преследуют различные цели. Математический анализ игр изучает стратегии, которым должен следовать идеализированный совершенный игрок. При программировании же действий игрока пытаются добиться при- емлемой игры при определенных ограничениях на использование ресурсов. Саймон точно резюмировал суть проблемы, разделив стра- тегии на оптимизирующие и удовлетворительные. Возможно, опи- сание совершенного игрока сильно отличается от конструкции иг- рающего приемлемо, однако резонно было бы спросить, почему между этими двумя областями исследований не было большей коор- динации. Мы будем рассматривать игры как часть решения задач и факти- чески лишь вкратце коснемся этого вопроса. Такой подход был принят по двум причинам. Для того чтобы написать игровую про- грамму, надо решить проблему представления структуры игры. Неясно, говорит ли нам решение той или иной частной игры что- нибудь об играх и программировании вообще. Игры представляют интерес, если в тех или иных аспектах частных игр проявляются свойства определенного общего класса задач. Мы будем обращать внимание прежде всего на класс задач в целом, а не на детали ка- кой-то игры. Отметим, однако, что наш подход уведет нас в сторону от одной интересной и быстро развивающейся области. Регулярно
1.4. Естественный язык и машинное понимание его 27 проводятся соревнования вычислительных машин, играющих в шахматы. Изучаются и другие игры, правда, не столь интенсивно. Было бы очень ценно издать книгу, в которой суммировалась бы эта работа и связанные с ней идеи. 1.4. Естественный язык и машинное понимание его Попытки обрабатывать естественный язык с помощью ЭВМ пред- принимались неоднократно. Необходимость этих работ определяется сугубо практическими соображениями. Наиболее узкое место при использовании ЭВМ — это время, требуемое для написания про- грамм. Представьте, насколько легче было бы пользоваться вычис- лительными машинами, если бы они могли понимать простые вы- сказывания на естественном языке. В идеале вычислительная систе- ма должна была бы обладать способностью „принимать советы" и, получая входную информацию на естественном языке, отвечать на вопросы путем вывода следствий из известных ей фактов (Мак- Карти, 1959). Такая программа была бы крайне важной и с теоре- тической точки зрения, так как разумные ответы на сложные во- просы означали бы „понимание", нечто такое, на что машины, как считается, не рассчитаны. Практические применения здесь очевидны. Совершенно иной областью применения, требующей анализа лингвистических данных, являются все повторяющиеся попытки со- здания автоматического переводчика. В начале 50-х годов многие оптимисты считали, что механический перевод можно осуществить в основном за счет достаточно мощной аппаратуры, способной за- помнить словарь, поскольку сам процесс перевода мог бы тогда быть достаточно прямым. Теперь оптимистов осталось немного, ибо разнообразные ранние проекты машинного перевода по существу лишь показали, насколько малы наши познания в лингвистике. Одно исследование показало, что, видимо, качество машинного перевода не улучшалось с 1964 по 1971 г. (Синайко, 1971). На самом же деле, если задаться целью создать общий язык для ученых и дипломатов, возможно, было бы легче вернуться к обучению клас- сической латыни во всемирном масштабе, чем конструировать со- вершенный машинный переводчик! К счастью, более скромные цели и достижимы, и полезны. Т ретьим обстоятельством, требующим того, чтобы текстовые данные обрабатывались с помощью ЭВМ, является просто громад- ная масса слов, употребляемых в нашем обществе. Хотя все больше и больше записей мы фиксируем в форме, удобной для прочтения их вычислительной машиной, все же наибольшая часть дел ведется пока на естественном языке. Через эти записи в обществе создается интенсивный поток информации о самом себе. Для управления мно- гомиллионными государственными организмами нужен быстрый
28 Гл. 1. Область искусственного интеллекта способ записи, абстрагирования и анализа содержания этого потока. В некоторых случаях, таких, как регистрация банковских счетов, сейчас для управления потоком информации используется ЭВМ. Другая крайность — мы доверяем журналистам резюмировать и комментировать политические новости за неделю. Существует промежуточная область, в которой еще необходимо участие чело- века, но на вычислительную машину можно переложить большую нагрузку. Примером может служить автоматическое написание резюме и индексация технических документов. Способность ЭВМ выполнять эти и подобные задачи во многом будет зависеть от нашего умения составлять программы, которые смогут преодолеть слож- ности, свойственные естественным языкам. Работы по созданию естественно-языковых процессоров зани- мают область, промежуточную между искусственным интеллектом и информационным поиском. Нет строго определенного правила для выяснения, принадлежит ли конкретное приложение этих исследо- ваний тому или другому направлению. Мы можем сказать что-то определенное только о некоторых крайних точках. Программы, ко- торые осуществляют поиск заданной последовательности букв в тексте, но не делают ничего, кроме регистрации факта появления этой последовательности, хотя и очень полезны при индексации и составлении резюме, все же редко считаются принадлежащими области искусственного интеллекта. Программы, которые состав- ляют сложные и разнообразные ответы для пользователя, принадле- жат этой области, если даже эти ответы определяются единичными словами во входном потоке. Не исключено, что решение вопроса о том, как проводить такое разделение, последует не ранее создания хорошей системы распознавания образов. 1.5. Самоорганизующие системы Заметная часть деятельности человеческого разума и, несомнен- но, большинство наших исследований связаны с проектированием и производством машин. Можно ли автоматизировать выполнение этой задачи? Если принять точку зрения, согласно которой живот- ные функционируют по тем же законам, что и машины, то ответ должен быть утвердительным, так как процесс эволюции можно считать примером действия физически ясных законов х). В принципе должна существовать возможность имитировать эволюцию при конструировании машин. Могут быть и другие пути построения ав- томатов. Фон Нейман (1956) привел доказательство, показывающее, что с точки зрения логики можно создать устройство, которое могло х) Обратное неверно. Можно был*о бы утверждать, что последствие эволюции или появление человека, было событием, не объяснимым законами природы, и все же соглашаться с существованием принципов самоорганизации.
1.5. Самоорганизующиеся системы 29 бы воспроизводить или (а) себя, или (б) свои модификации. Его рассуждения основаны на упомянутом ранее доказательстве Мак- Каллока и Питтса того, что любую вычислимую функцию можно реализовать с помощью сети идеальных нейронов. Сначала этот математический довод имел явную биологическую окраску. До- казательство фон Неймана подтвердило лишь возможность суще- ствования самовоспроизводящейся машины. Он не говорил ничего ни о ее структуре, ни об относительной эффективности различных схем „эволюции'*. Эти вопросы впоследствии разрабатывались, но не привели к убедительным результатам. Возник и несколько иной вопрос о самоорганизующихся си- стемах. Рассмотрим устройство, способное изменять свое внутрен- нее состояние и, таким образом, перестраивать свою реакцию на определенные стимулы. Здесь существует аналогия скорее с обу- чением, чем с процессом эволюции. Встает также вопрос и об управ- лении. Полная система должна располагать механизмом для под- держания себя в „области жизнедеятельности" путем регулирова- ния своих реакций как функций внешних и внутренних условий. Как должна быть организована такая система? Винер (1948, 1950) подчеркивал, что ключом к построению системы, способной приспосабливаться к изменяющейся среде, является правильное применение кибернетического принципа. Грубо говоря, кибернетическим называется устройство, для которого одним из входов служит некоторая функция его выхода в предыду- щие моменты. На более обыденном языке: если снайпер хочет продолжать хорошую стрельбу, он должен знать, куда пришлись неудачные выстрелы; и, вероятно, основной совет, который можно дать не нашедшему взаимности в любви,— это „следи за реакцией на свои действия". Мы намеренно выбрали примеры из совсем раз- ных областей. Принципы систем, перестраивающихся с помощью управления с обратной связью, можно применить к любой системе, состояние которой описывается заданием взаимно зависимых пере- менных, начиная с нейрофизиологических объектов, которыми ин- тересовался Винер, и кончая международной политикой. На таком уровне общности термин „кибернетика" связан больше с представ- лением о мире, чем с точно определенным математическим методом. Абстрактные теории эволюции и обучения можно без преувели- чения считать всеобъемлющими. Идеи, высказанные фон Нейманом и Винером, воплощают многие устройства, но мы не решились бы назвать все эти устройства „интеллектуальными". Хороший при- мер — автоматический термостат. Можно ли сказать что-нибудь содержательное о самоорганизации самой по себе? Некоторые дума- ют, что можно, но я не из их числа. Я полагаю, что многое из про- деланной работы имеет настолько общий характер, что граничит с пустотой. Это предубеждение и послужило причиной того, что са- моорганизующиеся системы в книге не обсуждаются.
30 Гл. 1. Область искусственного интеллекта 1.6. Роботика Со сказки о Големе до удивительной научной фантастики роботы не перестают вызывать восхищение людей. Все программы, которые мы упоминали, можно было бы рассматривать как часть мозга ро- бота. Для завершения конструкции нужно „только" объединить их и связать полученную в результате программу с некоторыми сен- сорными и исполнительными органами. Слово „только" здесь оправ- дано, так как при наличии работающей программы добавление необходимого оборудования представляло бы технологические, а не научные проблемы. Оно взято в кавычки, ибо у нас нет уверен- ности в том, что все эти технологические проблемы можно решить. Современные исследования в области роботов развиваются по двум главным направлениям, которые за недостатком лучших слов мы будем называть „научным" и „коммерческим". Были времена, когда интерес к научным целям воспринимался, без преувеличения, как стрельба в небо. В 1965 г. на осенней Объединенной конферен- ции по вычислительным машинам Мак-Каллок сообщил, что он пы- тался создать объект весом не более 5 фунтов, который мог бы пере- нести высадку на Марс и обладал бы сенсорными возможностями лягушки. После этого „Шейки", робот (в некотором роде), создан- ный в Стэнфордском исследовательском институте, был изображен на видном месте в журнале „Лайф", ныне уже не существующем. Несколько ученых заявили, что при условии необходимого обеспе- чения можно было бы в ближайшем будущем установить на Луне или какой-нибудь другой планете сложные автоматические устрой- ства для исследований — и действительно, очень сложные приборы уже размещены там. Являются они роботами или нет, зависит от вашего определения этого термина. Конструкторы же коммерческих роботов удовлетворились созданием более простых устройств для работы несколько ближе к дому. Определим произвольно занятия роботами как конструирование реальных устройств, исключив из рассмотрения изготовление игру- шек для иллюстрации какого-то принципа, возможно, и полезного в каком-нибудь роботе. Мы знаем о важных проектах создания ро- ботов в трех институтах — МТИ, Стэнфордском университете и Стэнфордском исследовательском институте. Некоторая работа проделана также в Эдинбургском университете. Хотя этими иссле- дованиями занимались многие, внешне она выполнена под воздей- ствием идей Мак-Карти, Минского и их коллег, что нашло выраже- ние в инженерной и математической направленности их подхода к искусственному интеллекту, в отличие от подхода Ньюэлла и Сай- мона, более близкого к психологии. Единственным исключением в этом смысле была разработка системы зрения робота. Здесь психо- логические и физиологические модели оказали заметное влияние на конструирование робота. Особенно примечательными аспектами
1.16. Роботика 31 роботных проектов являются тяготение к технике обработки спис- ков в программировании и тенденция рассматривать задачи очув- ствления робота скорее как инженерную проблему, чем как задачу моделирования процессов восприятия в биологии. Другой характерной чертой научного подхода к роботам был интерес к общим решениям целых классов проблем, иногда за счет того, что для частных задач решение оказывалось неизящным. На- пример, при создании робота для манипулирования кубиками Мак- Карти и его группа уделили основное внимание схемам для ана- лиза зрительных сцен и координации в системе рука — глаз, в то время как созданный для этой задачи коммерческий робот мог бы использовать световые лучи известной интенсивности для поверх- ностей с известной отражательной способностью в предположении, что сцена перед ним всегда удовлетворяет жестким ограничениям. Несмотря на замечания о применении роботов для исследования аг- рессивных сред, в научных роботных проектах обнаружился только второстепенный интерес к таким задачам, как миниатюризация, защитная упаковка и экономичность. Во время панельной дискус- сии на осенней Объединенной конференции по вычислительным машинам в 1968 г. было замечено, что у робота Стэнфордского уни- верситета мозг расположен в машине PDP-10, уши — в обычном микрофоне, его циклопический глаз — в телевизионной камере, а единственная рука помещена на закрепленной стойке. В целом эта система называлась одним словом „робот“, докладчик предложил также термин “kludge" х). Можно, однако, не очень бояться этой иронии, поскольку основная цель здесь — найти общие решения. Практическая техника появится позже — по крайней мере мы на это надеемся... Разработки проектов коммерческих роботов пошли в точности по противоположному пути. Очевидно, было бы прекрасно иметь экономичную машину, которая была бы таким же многоцелевым манипулятором, как и человек. Это было бы особенно хорошо, если бы машина в меньшей степени, чем человек, боялась тепла, излу- чения и не требовала платы за сверхурочную работу. Такого устрой- ства сейчас нет и в ближайшем будущем оно не появится. В тоже время есть сотни тысяч видов работ, выполняемых сейчас человеком, которые можно автоматизировать с помощью специально сконструи- рованных машин. Их можно было бы рассматривать как „манипуля- торы специального назначения", точно так же, как аналоговую ЭВМ можно считать специализированным переработчиком инфор- мации. Все, что пытаются сделать конструкторы коммерческих робо- тов,— это разработать легко программируемые манипуляторы обще- х) «Более или менее функционирующая система, образованная соединением компонентов, конструкторы которых никогда не собирались использовать нх вместе».
32 Гл. I. Область искусственного интеллекта го назначения. При этом конструкторы должны найти компромисс между общностью, эффективностью решения для определенных задач и стоимостью. Определение этого оптимума будет зависеть от развития техники и от назначения системы и будет время от времени изменяться. Материалы конференций по ЭВМ в конце 60-х годов позволяют предположить, что существующие коммерчес- кие роботы могут выполнять самые разнообразные задачи. В них трудные места (такие, например, как обработка зрительной инфор- мации) хитроумно обходятся: при „инструктировании'1 робота для выполнения нового задания человек легко может запрограммиро- вать новые решения. По этим причинам совсем немного будет сказано и о коммерческих роботах, и о технологии, требуемой для построения малых ЭВМ, гибких механических рук и телекамер, способных выдержать удар при космической высадке. При таком ограничении проблема созда- ния робота сводится к решению задач, распознаванию образов и зрению. Она будет рассматриваться именно таким образом.
Глава 2 ПРОГРАММИРОВАНИЕ, СТРУКТУРА ПРОГРАММ И ВЫЧИСЛИМОСТЬ 2.0. Важность понятая вычислимости Под созданием систем искусственного интеллекта обычно по- нимают написание программ для ЭВМ. Каждый программист знает, что работающая программа есть результат компромисса между пер- воначальной идеей и практическими возможностями. Такая ситуа- ция свойственна исследованиям по искусственному интеллекту в той же степени, что и любой другой области. Известно, хотя и не так широко, что существуют теоретические ограничения на то, что можно вычислить в принципе, когда компромиссы уже невозможны, но более важно, что некоторые классы функций можно вычислить только на тех ЭВМ, которые обладают строго определенными возмож- ностями. В этой главе мы попытаемся представить ряд основных результатов, связанных с абстрактными вычислениями, и соот- нести их с проблемами программирования, возникающими при иссле- дованиях в области искусственного интеллекта. Эта глава как бы стоит в стороне от остального содержания книги. Читатель, не интересующийся (или уже знакомый) с теорией вычислений, может при желании сразу перейти к гл. 3. Трудное место здесь — соответствие между возможностью вы- числить функцию на абстрактной машине и структурой программы, реализующей эту функцию на конкретной ЭВМ. Необходимо учиты- вать различие между реальной и абстрактной машинами и програм- мами для них. Теория вычислимости исследует, как машины в об- щем понимании этого слова вычисляют классы функций. Програм- мисты стремятся реализовать конкретные функции на той ЭВМ, с которой они должны работать. Поскольку программист выбирает программу, а не машину, зачем ему интересоваться вычислимостью вообще? Ответ заключается в том, что действующую программу мож- но считать моделью специализированной машины на универсальной 2 э. х»вт
34 Гл. 2. Программирование, структура программ и вычислимость ЭВМ. Таким образом, объединение программы и реальной машины определяет специализированную ЭВМ. Вопрос „Для вычисления каких классов функций требуются автоматы со свойством х?“ можно сформулировать и так: „Для ка- ких классов функций необходима программа, структура которой обладает свойством х?“. В связи с этим рассмотрим, как программа определяет отдельные части машины х). Физически программа представляет собой просто содержимое упорядоченного множества ячеек первичной памяти ЭВМ. Поскольку ячейки, участвующие в программе, могут со- держать либо команды, либо данные, удобно разбить программу на три отдельные части. Процедурная часть состоит из команд, не ме- няющихся при работе программы. Для тех, кто предпочитает тер- минологию аппаратного оборудования, процедурная часть состоит из ячеек программы, которые можно, не влияя на выполнение про- граммы, поместить перед началом работы в тот участок памяти, где происходит только считывание. В программе можно выделить также два разных участка памяти, называемых статическим и динамическим. В них содержатся все данные, используемые про- граммой во время работы, включая все изменяемые коды и все промежуточные результаты. Статический участок содержит все участки структур данных и изменяемых кодов, размеры которых могут быть определены еще до выполнения программы. Динамичес- кий участок содержит только структуры памяти переменной вели- чины. Так, в простой программе на Алголе Begin array Д[1:20]; integer k, j-, read k, /: begin array B[l-.k", 1:/] end end массив А является частью статической памяти, так как его парамет- ры постоянны для всей программы, в то время как массив В входит в динамическую память, поскольку его размеры задаются величи- нами k и /, определяющимися в ходе работы программы. На практике, когда программа только составляется, обычно оп- ределяют программную часть и выделяют фиксированные участки памяти. Например, трансляторы для Фортрана резервируют в реальных машинах ячейки для процедурной части и фиксированной части памяти на этапе трансляции программы. Участки же для ди- намической памяти должны запрашиваться от супервизорной про- граммы во время работы. Легче всего рассматривать программу как программу пользователя, а супервизорную программу как опе- рационную систему, но принципиальные черты сохраняются и в х) Для более детального обсуждения затрагиваемых здесь понятий см. Вег- нер 0968).
2.0. Важность понятия вычислимости 35 случае, когда работают две программы пользователя, из которых одна подчинена другой. Ситуация в целом представлена на рис. 2.1, который показывает соответствующие этапы выполнения програм- мы на высокоуровневом языке, таком, как Фортран, Алгол или ПЛ/1. Рис. 2.1. Этапы построения специализированной машины, определяемой про- граммой. Далее, посмотрим, как соотносятся между собой программа, участки памяти и ее вход и выход во время выполнения программы. Рис. 2.2 графически представляет имеющиеся связи. Процедурная часть программы определяет последовательность, в которой данные должны считываться из входного потока, накапливаться в участ- ках памяти двух видов, и, наконец, порядок, в котором информация Вход Рис. 2.2. Управление операциями во время выполнения программы. будет передаваться из памяти в выходной поток. Запись данных в память эквивалентна изменению состояния памяти. Это соображе- ние приводит нас к наиболее важному пункту. Статическая память имеет конечные размеры и поэтому может находиться лишь в ко- нечном числе состояний. (Пусть конечная память содержит k битов информации. Тогда она может находиться только в 2* различных состояниях). Процедурную часть можно считать множеством пра- вил для изменения состояния статической памяти как функции (а) 2*
36 Гл. 2. Программирование, структура программ и вычислимость текущего состояния статической памяти, (б) информации, получен- ной из входного потока, и (в) информации, которую можно извлечь из динамической памяти. Процедурная часть также определяет правила для занесения данных в выходной поток и динамическую память, которая играет роль накопителя для промежуточных ре- зультатов. Операции на входе, выходе и изменение состояния ста- тической памяти идейно очень просты. Операции управления дина- мической памятью интереснее. Процедурная часть программы сама по себе конечна, так как может содержать лишь конечное множество правил. Следовательно, программа не может реагировать непосред- ственно на любое состояние динамической памяти, так как их бес- конечно много. Программа должна содержать схему поиска, извле- кающую данные из динамической памяти так, чтобы осуществлялся только один из конечного множества возможных процессов выборки. В следующих разделах этой главы мы рассмотрим четыре схемы выборки. В одной из них будет предполагаться, что любую часть информации в динамической памяти можно получить (с помощью достаточно сложных программных методов) без изменения в это время остальной информации в динамической памяти. Затем мы бу- дем все больше ограничивать круг допустимых операций, пока не придем к наиболее ограниченному случаю, в котором полностью отсутствует динамическая память. Большинство программ на Форт- ране попадает в эту последнюю категорию. Мы покажем, что вы- числительные возможности программ, способных в различной сте- пени управлять динамической памятью, сильно разнятся и это имеет отношение к искусственному интеллекту. 2.1. Вычисления на цепочках У нас нет возможности изучить все мыслимые программы, так что придется избрать окольный путь. В предыдущем разделе приво- дился довод в пользу классификации программ в соответствии с природой определяемой ими абстрактной машины. Любые ограни- чения на вычислительные способности абстрактной машины поэто- му приложимы и к программам, являющимся частными случаями этой машины. С другой стороны, возможно, удастся найти такие свойства абстрактной машины, которые необходимы при вычисле- нии определенных функций. Любая программа, предназначенная для вычисления одной из этих функций, должна моделировать соответствующую машину. Проблема, следовательно, состоит в определений того, как влия- ют свойства функции на структуру абстрактной машины, на которой эту функцию можно вычислить. Для этого сделаем наше рассмот- рение еще более косвенным. .Вместо того чтобы обсуждать вычис- ление математических функций в общепринятом смысле, будем за- даваться вопросами о способностях машины, необходимых, чтобы
2.1. Вычисления на цепочках 37 опознать „предложения" на формальном языке. Мы покажем, что это осуществимо и что, вводя ограничения на понимание языка, мы устанавливаем ограничения на вычислимость функции. Подход, которым мы будем пользоваться, следует подходу Хопкрофта и Ульмана (1969) за исключением того, что их формальные доказа- тельства будут здесь обычно заменяться иллюстрациями и эврис- тическими соображениями. Вычислительные машины обычно представляются как совокуп- ность операторов, но их также можно считать устройствами для переписывания цепочек (или строк) символов с одного языка на другой. ЭВМ может читать и печатать только конечные множества знаков. Назовем их соответственно входным алфавитом I и выходным алфавитом О1), и пусть /* и О* будут множествами всех цепочек конечной длины, составленных из элементов множеств I и 0а). Любое множество L допустимых входов программы и любое множе- ство L0 возможных выходов будут подмножествами в /* и О* соот- ветственно. Программа вычисляет функцию /, если она отобража- ет любую цепочку s С L в цепочку f (s) g L°. Эту терминологию можно применить и в случае наиболее про- стых вычислений. Рассмотрим машину, способную читать и/или печатать любую десятичную цифру, алфавитные символы и знаки +, —, ., „ *, и /. 7 = 0=1, 2, 3, 4, 5, 6, 7, 8, 9, О А, В, С, D, Е, F, G, Н, I, J, К, L,М, N, О, Р, R, S, Т, U, ... V, W, X, У, Z U) + , > ,, *, /• Ясно, что /*=0*. Допустим, что в ЭВМ введена программа для счета наибольшего целого, содержащегося в квадрате веществен- ного числа. Входным языком является символьное представ- ление вещественных чисел, а выходным — символьное пред- ставление положительных целых чисел. В более традиционных терминах это означает, что программа реализует функцию, область определения которой — вещественные числа, а множество значе- ний — положительные целые. Эти два описания эквивалентны. Теперь подробно рассмотрим логические этапы в вычислении функции цепочки символов. Изложение будет основано на действии процедурной части программы и статического и динамического уча- стков памяти. Как уже было показано, конечная память имеет лишь конечное множество S состояний. Пусть S* — состояние ма- 2) I и О — первые буквы слов input (вход) и output (выход).— Прим, перев. 2) Вообще, если S — конечное множество, то через S * будем обозначать мно- жество всех цепочек, составленных из элементов множества S, Заметим, что S * бесконечно и включает в себя пустую цепочку ( ).
38 Гл. 2. Программирование, структура программ и вычислимость шины (программы) в момент t. Через S, будем обозначать конкретное состояние из S без учета времени. Аналогично М* и Mj будут обоз- начать состояния динамической памяти. Напомним, что множество М возможных состояний динамической памяти бесконечно, но счетно, поскольку М* в любой момент времени состоит из конечного числа заполненных ячеек, каждая из которых содержит k битов информации, и бесконечного числа пустых ячеек. Каждая из этих ячеек имеет адрес в том смысле, что в универсальной ЭВМ физичес- ки возможно обращение в любую из них. Какая-нибудь конкретная программа, однако, может быть ограничена в доступе к динамичес- кой памяти. Для конкретизации этих рассуждений удобно пред- ставить себе статическую память как информацию в некотором фиксированном участке первичной памяти ЭВМ, а динамическую па- мять— как принципиально бесконечную магнитную ленту со стира- нием. И наконец, процедурная часть программы должна состоять из конечного множества команд, определяющих изменения в статичес- кой или динамической памяти (или в обеих) как функцию текущего состояния каждой памяти и входной информации на каждом шаге вычислительного процесса. Операции печати (т. е. вывода) и останова еще не рассматрива- лись. Их можно связать непосредственно с состоянием статической памяти. Выделяются два, не обязательно непересекающихся под- множества Р и F множества S, и связываются соответственно с вы- водом и остановом. Как только машина придет в любое состояние Sp£P, должна печататься соответствующая информация. Когда машина приходит в любое состояние Sf (Е F, она останавливается. На рис. 2.3 изображена элементарная блок-схемы работы любой мыслимой программы. Программа начинает работать при t=0 в состоянии St=So, т. е. в своем обычном начальном состоянии. На шаге (1) любое сообщение для выдачи на печать, связанное с S*, по- ступает на вывод. На шаге (2) ЭВМ останавливается, если ее состоя- ние — состояние останова. Если этого не случилось, то на шаге (3) из входного потока считывается следующий символ х. Шаги (4а) и (46) отражают работу с динамической памятью. На рисунке показано, во-первых, извлечение цепочки у символов из ячеек R* в динамической, памяти. Это уже сложнее. Множество R* ячеек, со- держимое которых нужно прочесть в момент I, определяется как совместная функция от S* и только что считанного символа х. Пусть у — информация, полученная таким путем. На шаге (46) информа- ция у' записывается в ячейки W1 динамической памяти. И у', и W* — функции от S*, х и у. Хотя на рисунке показано, что шаги (4а) и (46) осуществляются последовательно, на практике операции чте- ния и записи обычно перемежаются. Заметим, однако, что их можно без потери общности логически разделить. Мы также допускаем ситуацию, в которой R1 и W‘ — пустые множества; в этом случае не происходит ни чтения, ни записи. И наконец, на шаге (5) состояние
2.1. Вычисления на цепочках 39 Рис. 2.3. Этапы вычисления функции цепочки символов. S* конечной памяти меняется на S<+1 (функция от S1, х и у), а / увеличивается на 1. Затем цикл начинается снова с шага (1). Эта картина точно соответствует представлению программиста о том, как работает программа. Можно сделать тривиальное упро- щение — отделить функцию печати и придать ее специальной ма- шине. В результате получается схема, изображенная на рис. 2.4. Вместо печати в ходе работы программы ЭВМ посылает запись последовательности состояний конечной памяти, через которую
40 Гл. 2. Программирование, структура программ и вычислимость она проходит, в печатающую машину. Пусть эта запись будет цепочкой S = S°, S1.....S*. (2) S— цепочка из S*. Устройство печати может узнать, является ли состояние S* состоянием печати; в этом случае оно печатает соот- ветствующие выходные символы. Таким образом, это — устройство для отображения цепочек из S* в цепочки из Q*. Ясно, что если ЭВМ отображает входную цепочку s в S, то ЭВМ и устройство пе- чати отображают s в o^Q*. Можно сделать и нетривиальное упро- щение — объединить шаги (4) и (5), на которых в результате обра- Выход о Рис. 2.4. Упрощение работы программы для того, чтобы пе- чать осуществлялась после вычислений. ботки содержимого ячеек R* и W* меняется состояние динамической памяти от М1 к Mt+1, затем статической памяти от S* к S<+1. Если перейти от временной записи к записи, учитывающей отдельные состояния памяти, то преобразование на любом шаге будет иметь вид (S,-, М,, x)-(Sr, Мр). (3) Это соотношение можно интуитивно интерпретировать так: Программа, статическая память которой находится в состоянии S/, а динамическая—в состоянии Mj, считы- вает входной символ х и переводит статическую память в состояние S? и динамическую—в состояние Mj,. можем представить себе, что входная цепочка s проводит программу через последовательность таких преобразований и в качестве побочного результата дает цепочку S, которая служит входом для устройства печати. Каждый символ из s осуществляет это преобразование, активируя некоторые команды, входящие в процедурную часть программы, и тем самым вызывая требуемое действие.
g.l. Вычисления на цепочкам 41 Что можно сказать об этих командах, входящих в процедурную часть? Во-первых, их число должно быть конечным, поскольку сама процедурная часть занимает конечную область в цифровой машине. Во-вторых, они должны производить специфические операции при выполнении некоторого условия, которое цифровое устройство может выявить в течение одного шага. Такое условие должно при- надлежать конечному множеству допустимых условий *). Этапы работы программы, следовательно, можно записать в форме Дано условие А —* Получить условие В, (4) однако форма типа левой части в (3) не годится в качестве описания условия А в (4), так как в (S;, Mj, х) используется состояние Mj, одно из бесконечного множества состояний динамической памяти. Чтобы обойти эту трудность, поставим в соответствие каждому со- стоянию статической памяти функцию чтения hi и функцию записи gi динамической памяти. Функция чтения отображает бесконечное множество комбинаций состояний динамической памяти и входных символов (т. е. множество М X /) в конечное множество возмож- ных процессов извлечения информации из динамической памяти. В терминах, использованных при описании рис. 2.3, функция чте- ния определяет ячейки R, содержимое которых нужно считать из динамической памяти, а затем после их чтения порождает одну из конечного множества {у} допустимых цепочек у символов. Функция записи берет в качестве своих аргументов входной символ, извле- ченную информацию у и текущее состояние динамической памяти и создает новое состояние динамической памяти, определяя ячейки W и записывая в них некоторую функцию х и у. Таким образом, каж- дый шаг программы можно записать в виде (Sf, х, у) -> (S'z, gi (М*, х, у)), (5) где у — цепочка в (конечном) множестве значений функции hi и — состояние динамической памяти, реализующееся при акти- вации gj. Программа эквивалентна конечному множеству правил в форме (5). Программа выполняется по следующим этапам. 1. Определить, что S*=Sj. Если Sj g F, остановиться. В против- ном случае перейти к шагу 2. 2. Прочесть х и выполнить hi (М*, х), определяя тем самым у. 3. Просмотреть процедурную часть, чтобы найти правило, левой частью которого является (Si, х, у). Если такое правило Э Для того чтобы убедиться в этом, рассмотрим программу, которая читает холлеритовы перфокарты и печатает содержимое карты, если там есть буква Q. Очевидно, такая программа может прочесть любую из бесконечного множества конечных последовательностей карт. Однако на любом шаге этой операции ЭВМ должна располагать правилом, по которому можно решить, что делать с одной из 2”° возможных конфигураций одной карты.
42 Г л. 2. Программирование, структура программ и вычислимость не найдено, значит, была допущена ошибка, и машина оста- навливается, не считывая s. Если существуют два таких пра- вила, то применяется то, которое обнаружено первым. Пусть нужное правило найдено. 4. Изменить состояние статической памяти на S't. Выполнить х, у). Заменить t на f-H и вернуться к шагу 1. Здесь может показаться, что это описание получилось слишком далеким от представлений программиста о программе. На самом же деле функции чтения и записи могут и не быть чем-то необычным. Типичный пример функции hi, реально отображающей бесконечное множество {Mj} в конечное множество {у},— это просто h( (М*, х) = содержимое первой ячейки динамической па- мяти, следующей за первой по порядку (6) ячейкой памяти, которая содержит символ х. Аналогично функцией записи может быть х, у) = объединить х с у и поместить полученную строку в последовательные ячейки, начиная с первой не использованной ячейки дина- ' ' мической памяти. Обычно правила перехода типа (5) программист в явном виде не выписывает 1). Они скорее определяются в результате вывода. Рассмотрим программу на Фортране, выполняемую на машине со словами длиной 32 бита, которая использует логическую ленту 5 для ввода и логическую ленту 10 в качестве участка динамиче- ской памяти. Фрагмент программы READ(5) 1 READ(10) J J =I + J WRITE(IO) J вместе co связанным с ним программным счетчиком (который со- ставляет часть статической памяти) определяет 2е® возможных правил перехода. Многие из них в конце фрагмента программы дадут один и тот же результат ?). Что же можно сделать с этим несколько необычным подходом к вычислениям? Показано, что если цепочка s € I* есть допустимый вход программы (т. е. если s$L, где L — входной язык программы), х) Ярким исключением служит применение при программировании на ЭВМ решающих таблиц. 2) Возможность останова при переполнении в этом примере ие учитывается.
2.2. Формальные грамматики 43 то символы из s проведут машину, моделируемую программой, через последовательность состояний S. Простейшая машина может получить S в качестве входа и выдать то, что требуется, на выходе. Роль динамической памяти — дать возможность моделируемой машине сохранить запись ее прошлых действий, чтобы ее реакция на символ st (Лй символ в s) могла быть функцией последователь- ности s0, ..., st_i. Типы записей, которые можно хранить, будут определяться с помощью функций чтения и записи, которые машина может использовать для управления динамической памятью, по- этому мы снова ожидаем, что описание этих функций окажется удоб- ным путем для выделения классов машин, моделируемых програм- мами. В следующем разделе мы перейдем от изучения элементарной блок-схемы для всех программ к элементарному описанию множеств цепочек. Точнее, мы рассмотрим способы характеризации языка L. Для чего это нужно? Мы показали, что если машина может воспринять S, то можно вычислить S=f(s), (8) а отсюда легко получить значение /(s) на требуемом выходном язы- ке. Обычно при вычислениях задается функция f с известной об- ластью определения L и ставится задача получить программу, ко- торая построит f (s) для всех s£L. Если удастся найти способ опи- сать язык L, который определяет конструкцию машины, способной воспринимать цепочки из L, то мы уже много узнаем о нужной нам программе. 2.2. Формальные грамматика Если вычислительная способность машины характеризуется сложностью языка, который она способна воспринимать, то нам ну- жен какой-то способ упорядочения языков по сложности. Мы опи- шем здесь способ, принадлежащий математику-лингвисту Хомскому (1963). Для понимания лингвистических представлений Хомского необходимо сначала усвоить его идею грамматики. Грамматика G есть четверка (N, Т, S, Р), где N — множество нетерминальных символов, или переменных, Т — множество терминальных символов, не пересекающееся с N (в терминах предыдущих рассмотрений Т совпадает с множеством / входных символов), объединение К= =N U Т называют словарем грамматики G. Далее, S — выделенный символ в множестве нетерминалов, называемый начальным. Р — конечное множество продукций, или правил переписывания. Каж- дая продукция имеет вид х~>у, (9)
44 Гл. 2. Программирование, структура программ и вычислимость I где х и у — цепочки из V*. Если продукция х->у содержится в Р, то говорят, что цепочка у непосредственно выводима из х. Если продукции [х0 —хх; Xi—>-х2; х,—>-х/+1; х„_х^у (10) содержатся в Р, то говорят, что цепочка выводима из х, и пишут В Р должна быть хотя бы одна продукция вида S—>-х и для каждого переменного символа A£N должна быть продукция вида хАу—>-w, (11) где w, х и у — (возможно, пустые) цепочки в V*. Языком L(G), определяемым (порождаемым) грамматикой G, называют множество цепочек терминальных символов, выводимых из S. Таким образом, L (G)sT* и L (G)=L в предыдущем обозначении. Мы будем писать L вместо L(G) в тех случаях, когда не должно возникнуть путаницы. В качестве иллюстрации к идее множества продукций рассмот- рим язык, определяемый словарем M={S, А, В); Т={х, у} (12) и грамматикой S->-AB (R1) А—>х (R2) А—>Ах (R3) (13) В—>-у (R4) В —By (R5) Этот язык содержит все цепочки, состоящие из п>0 цепочек х и следующих за ними k>Q цепочек у. Цепочку хххуу можно было бы получить так: Цепочка Правило S Начальный символ АВ R1 АВу R5 Ауу R4 Ахуу R3 Аххуу R3 хххуу R2 (14) Правила типа (13) называются правилами непосредственно со- ставляющих. Они всегда включают развертывание переменного сим- вола в цепочку. Последовательное применение этих правил для получения цепочки терминальных символов можно продемонстри-
2.2. Формальные грамматики 45 ровать на примере показателя структуры, представляющего собой диаграмму-дерево, которая показывает вывод каждого терминаль- ного символа из S. Такой показатель для (14) приведен на рис. 2.5. Если к грамматике G добавить продукцию АВ—^ВА, (15) то новая грамматика G' порождает качественно иной язык, поскольку эта продукция изменяет порядок символов в цепочке без развер- тывания нетерминального символа. Эта продукция называется транс- формационной, и грамматики, которые содержат такие продук- Рис. 2.5. Показатель структуры для цепочки хххуу, порож- денной грамматикой (13). ции, называются трансформационными. При применении трансфор- мационной продукции надо различать отдельные вхождения одного и того же нетерминального символа. Например, пусть Т, обозначает член в простом арифметическом выражении. Коммутативность сло- жения можно выразить так: Tr+T^T.+Ti, (16) но при этом надо указать, какой член засылается в какую ячейку. Трансформационные грамматики гораздо мощнее и сложнее грамматик непосредственно составляющих. Особенно важно, что трансформационная грамматика не всегда связывает показатель структуры непосредственно с цепочкой терминальных символов. Существует одно дополнительное и важное правило, не впол- не укладывающееся в введенный формализм. Это хорошо знакомое правило подстановки, согласно которому переменный символ можно заменить структурой, выводимой из него, при условии, что замена производится последовательно во всех ситуациях, где встречается заменяемая переменная. Например, в школьной алгебре правило подстановки разрешает преобразование (A+V)—- У^[А+(ЗВ-4)1 - (ЗВ-4). (17)
46 Гл. 2. Программирование, структура программ и вычислимость Можно задать правило подстановки как правило непосредст- венно составляющих, но эта операция будет очень громоздкой. Попробуем пояснить нашу мысль на примере. Обычно грамматики разных видов иллюстрируются простым примером, чтобы лингвистические принципы были ясны. Для обо- снования последующего обсуждения приведем два интересных, но более сложных примера. В табл. 2.1 описана грамматика, состоящая только из правил непосредственно составляющих. Это упрощение грамматики, принятой в Алголе 60 для определения простых ариф- метических выражений. Язык, порождаемый этой грамматикой, состоит из выражений типа а\ а+Ь‘, а+Ь*с, а—b*(c+d). Таблица 2.1 Абстрактный язык на основе определения простых арифметических выражений в Алголе 60 Словарь V =N\}T N = S, терм, сл, умн1), множитель, переменная, константа Т = +, 1, *, /, (,), «любая буква», «любое целое» Грамматика G PI S—► терм Р7 множитель—> переменная Р2 S —► S сл терм Р8 множитель —> константа РЗ сл—►+ Р9 множитель—> (S) Р4 сл—>— РЮ переменная —> «любая буква» Р5 терм —> множитель Р6 терм—>-терм умн PH константа—> «любое целое» множитель Р12 у мн— Р13 умн —»/ Типичные выражения а, «+(6*2), b — 3*(с + 4) Цепочки из Т*, ио ие из L а—, Ь(х-\-а), +6—)« + 2(, 2( ) + 3—с/ *) сл —операция сложения, умн —операция умножения. — Прим перев. Очевидно, распознавание того, что цепочка является правильным простым арифметическим выражением, составляет существенную часть практического программирования. В табл. 2.2 перечислены правила преобразований. Если их вместе с алгебраическим правилом подстановки (любое простое арифметическое выражение может заменить свободную перемен- ную) добавим к правилам табл. 2.1, получим язык для преобразо-
2,2. Формальные грамматики 47 Таблица 2.2 Язык для преобразования алгебраических выражений Словарь У' = Л?' U Т' N’ = N свободная переменная, связанная переменная Т' = Т Wj, i— 1...п. Грамматика G Правила непосредственно составляющих Р1—Р13 из табл. 2.1 со следующим изменением: связанная переменная заменяет переменную в РЮ Добавить правила Р14 переменная—► связанная переменная Р15 переменная—► свободная переменная Р16 свободная переменная—/=1, ..., п Правило подстановки SO W;—>-S при условии, что производится замена всех вхождении W( в цепочку Правила преобразований Т1 Si-)-S2—► S2-)-Si Т2 Si+fSa + Sg) * (Si4-S2)+S3 T3 (Si + S2) + S3—► [S1+ (S2-|- S3)] T4 Si—» (Si + S2) — S2 T5 (Si — S2)+S3—<-(Si~pS3)—S2 T6 (Si + S2)—S3—» (Si—S3) + S2 T7 Si*S2—>-52*5! T8 St* (S2 сл Ss) —>Si*S2 сл Si*S# T9 Si*S2 сл Si*S3—► Si* (S2 сл S3) T10 (Si + S2)-Sa—>sx вания арифметических выражений в эквивалентные. Допустим, что к рассматриваемому языку добавлены новый начальный символ S' и продукция (18) где s — некоторое арифметическое выражение. Новый язык будет множеством цепочек, алгебраически эквивалентных цепочке s. Например, если s заменить через х-|-2*(а—3) в (11), то новый язык будет содержать цепочки хф- (а—3)*2 и х-\-2*а—2*3. Основываясь на этом, рассмотрим задачу в пространстве со- стояний: С помощью правил алгебры, данных в табл. 2.2, доказать, что В + (А—С) эквивалентно 4 +(В—С).
48 Гл. 2. Программирование, структура программ и вычислимость Эту задачу можно считать и лингвистической задачей распо- знавания, если в (18) заменить s на А+(В—С). Рассмотрим возможности машин, воспринимающих цепочки, порожденные такими грамматиками. Машина, способная воспри- нять простые арифметические выражения, может также дать на вы- ход цепочку закодированных машинных команд, вычисляющих арифметическое значение выражения. Машина, способная распо- знать, что некоторая цепочка символов выводится из другой, может проверять правильность алгебраических преобразований, хотя, как мы увидим, к ее заключению о неправильности преобразования следует относиться с осторожностью. Оба эти примера составляют нетривиальные вычислительные проблемы. Формальные грамматики дают естественный способ упорядоче- ния языков с помощью ограничений, которые можно ввести в про- дукции. Перечислим их в порядке убывания мощности: Хзык типа 0, или язык без ограничений, порождается грамма- тикой, в которой все продукции имеют вид х->у, (19) где х и у — цепочки в V*. Язык типа 1, или контекстно-зависимый язык, порождается грамматикой, в которой все продукции имеют вид (19) и, кроме того, число |у | символов в у не меньше числа символов в х. Значимость этого ограничения лучше всего оценить, анализируя продукцию, нарушающую его. Возьмем, например, правило Т10 из табл. 2.2. Можно показать (но мы этого делать не станем), что язык, порождае- мый контекстно-зависимой грамматикой, может порождаться также грамматикой, в которой все продукции имеют вид xAy->xwy, (20) где w, х и у — цепочки в V*, а А — переменная (нетерминал). Продукцию (20) можно интерпретировать так: Цепочка w выводима из А, если А появляется в контексте х и у. Таким образом, (20) дает интуитивно более понятное определе- ние контекстно-зависимой грамматики. fl зык типа 2, или контекстно-свободный язык, порождается грамматикой, в которой все продукции имеют вид А->х, (21) где, как и раньше, А — нетерминал, ах — цепочка в V*. Наконец, язык типа 3, или регулярный язык, порождается грам- матикой, продукции которой имеют вид А-+аВ (22а)
2.3. Машины Тьюринга 49 ИЛИ (226) где а — терминал, а В — нетерминал. Легко видеть, что все языки типа 3 являются языками типа 2, языки типа 2 — языками типа 1, языки типа 1 — языками типа 0. Поэтому не удивительно, что только очень мощные автоматы способ- ны воспринимать языки типа 0, несколько менее мощные — языки типа 1 и т. д. 2.3. Машины Тьюринга 2.3.0. Определение машин Тьюринга Машина Тьюринга г) (сокращенно МТ) — это автомат, распола- гающий всеми логическими возможностями, которыми только мо- жет обладать реальная вычислительная машина. Поэтому принятое определение вычислимой функции связано лишь с возможностью вычисления ее машиной Тьюринга. МТ состоит из бесконечно длин- ной ленты, читающей головки, расположенной в некоторой точке ленты, и ЭВМ, которая должна находиться в одном из конечного множества S внутренних состояний. Программа для МТ представ- ляет собой конечное множество правил перехода в форме: Если ЭВМ находится в состоянии St и на ее ленте про- читан символ af, передвинуть читающую головку на k ша- гов вправо (влево, если k отрицательно) и записать на ленту символ Вг. Затем переключить машину в состоя- ние Sm. Это правило для МТ можно записать в виде (а}, St)^(k, Br, Sm). (23) В дальнейшем мы будем предполагать, что нет двух правил пе- рехода с одинаковой левой частью, т. е. что наша машина детер- минированная. МТ можно описать на языке программы с процедурной частью и статической и динамической памятью. Конечное множество пра- вил перехода эквивалентно процедурной части. Внутренние со- стояния машины эквивалентны возможным состояниям статической памяти. Лента МТ выполняет тройную функцию входа, выхода и динамической памяти. Поскольку МТ может писать на ленте и перемещать ее в обоих направлениях, она может использовать лен- г) Названная по имени английского математика Алана Тьюринга, устано- вившего с помощью этих автоматов ряд фундаментальных результатов, связан- ных с вычислимостью.
50 Гл. 2. Программирование, структура программ и вычислимость ту для хранения любого объема промежуточных результатов. По- скольку направления и величины перемещений ленты не ограниче- ны, любой символ на ленте может быть прочитан МТ без изменения содержимого ленты. Функции чтения и записи машины Тьюринга, таким образом, могут осуществлять извлечение информации из любой ячейки и введение информации в любую ячейку динамичес- кой памяти. Идею восприятия или отвержения цепочки также можно сфор- мулировать на языке действий МТ. Вначале машина находится в состоянии So с пустой лентой, не считая цепочки s, первый символ которой располагается непосредственно под читающей головкой. Соответствующие правила перехода применяются до тех пор, пока машина не достигнет состояния Sy С F, где F, как и раньше, есть множество состояний останова. Машина воспринимает s как эле- мент ее входного языка L, если после чтения последнего символа цепочки s машина впервые оказывается в каком-нибудь состоянии из F. Число операций с лентой до достижения Sy не ограничено. Язык L<=I* называют рекурсивно- перечислимым, если можно построить МТ, воспринимающую все цепочки из L и никакие дру- гие. Язык L называют рекурсивным, если и L, и его дополнение, т. е. множество I*—L, рекурсивно перечислимы. Стоит немного подробнее обсудить, что же означают эти свойства. Если L — ре- курсивный язык, то можно создать МТ, или, что то же самое, про- грамму, распознающую, входит данная цепочка в множество L или нет. Программа может требовать очень мощных функций упра- вления динамической памятью. Рассматриваемая МТ в действитель- ности состоит из двух машин, одна из которых распознает цепочки в L, а другая — в I* — L. Основная машина просто фиксирует, которая из этой пары машин воспринимает входную цепочку. С дру- гой стороны, допустим, что язык L рекурсивно перечислимый, но не рекурсивный. Тогда основную машину нельзя построить, по- скольку невозможно реализовать ее часть для распознавания це- почек в I*—L. Наличия же части, распознающей цепочки из L, не достаточно, так как, если она будет работать без остановки про- должительное время, мы не узнаем, попала она в цикл при работе с динамической памятью или ей просто нужно больше времени для опознания цепочки. Эти принципы иллюстрируются в одном очень важном приложе- нии, связанном с искусственным интеллектом. Пусть L — множест- во правильно построенных выражений (п. п. в.), которые можно вывести из множества S аксиом, применяя правила вывода с логи- ческими связками и, или и не и кванторами некоторые и все. Это множество рекурсивно перечислимо, но не рекурсивно. Ответ на вопрос „Следует ли из фактов S заключение s?“ эквивалентен вопро- су „Входит ли s в L?“. Пусть верен ответ „нет“. Тогда s — цепочка в /*—L, и, возможно, за конечное время установить этот факт не
2.3. Машины Тьюринга 51 удастся. Бисс, Чен и Стал (1971) предложили интересный конкрет- ный пример. Они написали программу доказательства теорем для опо- знания случаев нарушения правил уличного движения. Аксиомами были дорожные правила, взятые из Illinois Driver’s Manual. Зада- чей программы было выяснить, запрещают ли эти правила какие-то действия водителей. Абстрактно эта проблема состоит в выяснении того, включено ли действие s в язык L, порождаемый применением законов логического вывода к основному описанию действий, нару- шающих правила. В связи с тем, что множество L рекурсивно пере- числимо, программа не может работать во всех случаях, хотя любое ее положительное заключение было бы верным 1). 2.3.1. Машины Тьюринга и языки типа О Поскольку машина Тьюринга — наиболее мощный из рассмат- риваемых нами автоматов, не удивительно, что она обладает боль- шими лингвистическими возможностями. Сформулируем основной результат, связанный с машинами Тьюринга: Можно построить машину Тьюринга, воспринимающую любой язык, порождаемый грамматикой без ограничений. Для иллюстрации важности этого результата рассмотрим грам- матику G', определенную в табл. 2.1 и 2.2. Ее правила, приведенные в табл. 2.2, можно с тем же успехом назвать правилами вывода для алгебраических преобразований или операторами задачи в пространстве состояний. Вообще, имея задачу в пространстве состояний, как она описана в гл. 1 (и подробнее в части III), можно построить правила, определяющие состояния и операции на них. В общем случае потребуются правила преобразований, как в табл. 2.2. Отсюда мы заключаем, что любую задачу, допускающую представление в пространстве состояний, можно связать с языком типа 0 и, значит, решить с помощью программы, которая, подобно машине Тьюринга, имеет неограниченный доступ к принципиально бесконечному участку динамической памяти. Схема работы машины *) Бисс и др. нашли этому интересное применение. Если после произвольного интервала времени входное утверждение не было идентифицировано как соот- ветствующее запрещенному поведению, обработка его прекращалась и в програм- му вводилось утверждение, описывающее контрпример рассматриваемого пове- дения. Если это утверждение можно было идентифицировать как противозакон- ное, то первоначальное поведение было бы признано правильным. Хотя в отдель- ных случаях такая стратегия может оказаться полезной, это не означает перехода через пределы, обусловленные возможностями МТ. Нет гарантии того, что пер- вое утверждение могло быть воспринято не за конечное время, а за время, большее чем то, которое могли ждать Бисс и др.
52 Гл. 2. Программирование, структура программ и вычислимость Тьюринга приведена на рис. 2.6. Второй основной вывод формаль- ной лингвистики состоит в следующем: Любой язык, порождаемый грамматикой типа 0, рекур- сивно перечислим. В настоящее время общепринято, что естественные языки не могут порождаться менее мощной грамматикой, чем грамматика типа 0 (Хомский, 1965; менее технические соображения содержатся у Томаса, 1965). Необходимость в грамматике типа 0 показать легко. Рис. 2.6. Переход в машине Тьюринга от одного состояния к другому. В этом примере машина считывает aj, затем передвигает читающую головку на две ячейки вправо и на ленте записывается р#. Томас (1965, стр. 100) указывает, что в английском языке требуется правило (группа существительного в единственном числе) 5е<есть> (прошедшее время)—► (группа существительного в (24) единственном числе) was<.6t>my для того, чтобы выводить предложения вида John was (был) из John be (есть) (прошедшее время). Правило (24) нарушает ограниче- ние типа 1 о том, что длина цепочки в результате вывода не должна уменьшаться. Английский язык требует также правила для пере- стройки предложения. Возьмем пример с предложениями в стра- дательном залоге. Предложения John threw the ball to Mary (Джон бросил мяч Мэриу The ball was thrown to Mary by John (.Мяч был брошен Мэри Джоному v^46' имеют одно и то же значение и, как подсказывает интуиция, одну и ту же основную структуру. На рис. 2.7 приведена диаграмма грам- матического разбора, использующая простую грамматику. Предло-
2.4. Линейно ограниченные автоматы и языки типа 1 53 жение в действительном залоге получается из дерева разбора сразу же. Предложение в страдательном залоге требует правила типа (.группа существительного^ (глаголу (группа существи- тельного^ —* (группа существительного^ (глагол в стра- (25) дательном залогеу (предлогу (группа существительного^ для замещения активной формы пассивной. Правило (25)—транс- формационное правило, подобное правилу АВ-жВА из разд. 2.2. < Предложение? л Группа < Сказуемое> подлежащего? ------------- сГруппа лГруппа сущестВитель- глаголо> < Группа Заполнения? ного> | <Суш,ествительное> <Глагол> <. Прямое дополнена е> < Косвенное дополнение? John лДжон? threat < бросил? < Группа существительного > лГруппо предлога > <Артикль> <Сущест6и- I тельное? лПредлаг? < Группа дополнения ? the ball <мяч> '.о Группа существо, тельного-? < Существительное > Рис. 2.7. Грамматический разбор предложения Магу <Мэри> на естественном языке. Для исследований по искусственному интеллекту здесь важно, что любая программа вычисления функции, область определения которой образована предложениями на каком-то естественном язы- ке, должна быть программой, моделируемой автоматом, не менее мощным, чем машина Тьюринга. Поэтому программе будет нужен неограниченный доступ к динамической памяти. 2.4. Линейно ограниченные автоматы и языки типа 1 Линейно ограниченным автоматом (ЛО-автоматом) называют машину Тьюринга, которой запрещено передвигать читающую головку за пределы участка входной ленты, занятого входной це-
54 Гл. 2. Программирование, структура программ и вычислимость почкой. Это можно достичь, добавив к входному языку два специаль- ных символа (обычно ф и $). Их помещают в начале и в конце входной цепочки, которая после этого превращается в ^s$. Пра- вила перехода ЛО-автомата подобны правилам для МТ за исключе- нием того, что если прочитан символ ф или $, то читающая головка передвигается на одну ячейку вправо или влево. Линейно ограниченный автомат представляет собой модель про- граммы с неограниченным доступом к конечной области „дина- мического" участка памяти, причем размер этой области можно определить, исследуя входную цепочку в ходе работы программы перед анализом приемлемости входной цепочки. Фактически можно просто считать, что какая-то часть ленты требуется для ввода как стираемая зона. Модель ЛО-автомата имеет неочевидное приложение в програм- мировании. Напомним, что автомат называется детерминирован- ным, если для каждого сочетания сигнала на входе и внутреннего состояния существует не более одного правила перехода, определяю- щего его следующее действие. Автомат называется недетерминиро- ванным, если данная комбинация вход — внутреннее состояние служит левой частью более чем одного правила перехода. Когда речь шла о машине Тьюринга, разница между детерминированными и недетерминированными автоматами не рассматривалась, посколь- ку можно показать, что для каждой недетерминированной машины Тьюринга существует эквивалентная ей детерминированная. Для ЛО-автоматов не известно, так это или нет, поэтому, пока ответ не получен, благоразумный программист должен считать, что если ему нужно написать программу, моделью которой является ЛО-авто- мат, то он должен считать этот автомат недетерминированным. Для недетерминированного автомата может возникнуть возможность выбора конкретного правила перехода при предъявлении опреде- ленной конфигурации памяти. Если выбор сделан неверно, то авто- мат может впоследствии прийти в состояние останова, не приняв цепочки. В этом случае надо вернуться к моменту выбора и попы- таться принять цепочку, избирая другой путь вычислений. Это можно сделать только в том случае, когда сохраняются весьма точ- ные записи предыдущих действий. Теоретический результат в области ЛО-автоматов таков: Язык L воспринимается ЛО-автоматом тогда и только тогда, когда это язык типа 1. Этот результат не находит широких приложений, поскольку, как мы показали, ЛО-автоматы моделируют сложные программы. В то же время доказательство того, что областью определения функ- ции f является контекстно-зависимый язык, может оказаться полез- ным, так как оно выявляет возможности управления памятью и
2.5. Автомат с магазинной памятью и языки типа 2 55 хранения записей, необходимые программе для вычисления f. Чаще используется другой результат. Все контекстно-зависимые языки рекурсивны. Здесь утверждается, что если областью определения L функции f является язык типа 1, то можно написать программу (возможно, Рис. 2.8. Работа МП-автомата. Сначала машина находится в состоянии Sy и читает символа; на входе и символ 3* в магазине. При первом переходе входная лента движется вперед и заталкивается в магазив. Машина оказывается в со- стоянии Sy*. На втором шаге входная лента движется, читая а;+1, Pfe* считывается и выталкивается из магазина, а машина переходит в состояние Sу»». s функция f не определена. С другой стороны, неудачная попытка доказать, что L — язык типа 1 или даже типа 0, не гарантирует, что язык L не рекурсивен. Существуют рекурсивные языки, кото- рые не могут порождаться грамматикой типа 1. 2.5. Автомат с магазинной памятью и языки типа 2 Автомат с магазинной памятью (МП-автомат) — это автомат с ограниченным доступом к принципиально бесконечной ленте па- мяти. Структура МП-автомата и форма его переходов показаны на рис. 2.8. МП-автомат может передвигать свою читающую головку только вправо, т. е. он может воспринимать входные символы только в определенном порядке. Далее МП-автомат имеет ленту памяти
56 Гл. 2. Программирование, структура программ и вычислимость (магазин), которая может двигаться „вверх" и „вниз". Если в резуль- тате движения ленты памяти символ помещается „над" ее читающей головкой, то этот символ теряется. По аналогии с движением та- релок в стопке посуды в кафетерии операции движения символов „вверх" и „вниз" иногда называют „выталкивание" и „заталкивание". На языке исследования операций лента памяти работает как очередь, организованная по принципу „последним пришел — первым вы- шел". Эта лента предоставляет ограниченный доступ к бесконечной памяти, так как, если /-й символ от последнего, записанного на ленте, должен быть прочитан, /—1 промежуточных символов долж- ны сначала быть стерты. МП-автомат начинает работу в состоянии So, имея цепочку s на входной ленте и пустой магазин. Последующие конфигурации определяются именем прочитанного символа, внутренним состоя- нием МП-автомата и именем символа под читающей головкой мага- зина. Правила перехода машины можно записать в виде (a, S,., br)^(S,, bq), (26) допускающем следующую интуитивную интерпретацию: Если в состоянии S{ символ Ьг находится наверху магази- на и считан входной символ а, то надо затолкнуть мага- зин и написать на нем символ bq. Для алфавита магазина необходим специальный „символ вытал- кивания" Ь°. Команда „записать Ь°“ интерпретируется как „вытолк- нуть магазин". Язык воспринимается МП-автоматом тогда и только тогда, когда это язык типа 2. Это чрезвычайно важный результат для теории вычислений, по- скольку наиболее традиционные языки программирования (за ред- ким исключением) являются языками типа 2. Фактически большин- ство трансляторов сознательно конструировались как МП-автома- ты. Техника программирования для управления динамической па- мятью в МП-автоматах очень хорошо развита. Интересующемуся читателю рекомендуем работу Гриса (1971). Искусственный интеллект включает в себя ряд задач, которые, хотя на первый взгляд и не имеют отношения к лингвистике, до- пускают формулировку в виде задач вычисления функций, область определения которых — язык типа 2. Удивительно, как много задач распознавания и обработки изображений можно трактовать таким образом. (Примеры приводятся в части II этой книги.) Как только проблема сформулирована в терминах распознавания языка типа 2, мы получаем возможность пользоваться обширными знаниями, на- копленными вычислительными науками для работы с такими язы- ками. Поэтому часто стоит проанализировать соотношение между
2.6. Конечные автоматы и регулярные языки (типа 3) 57 исследуемой задачей и языками типа 2, чтобы выбрать структуру нужной программы. Существует интересная взаимосвязь между типом 2 и более огра- ниченным типом 3. Каждая продукция грамматики типа 2 развер- тывает переменную в цепочку. Если продукции грамматики G тако- вы, что А-^хАу (27) для некоторой переменной А (т. е. если цепочка, содержащая А, выводима из А), то грамматику называют грамматикой с самовста- влением. Если грамматика G типа 2 не является грамматикой с само- вставлением, то найдется грамматика G' типа 3, порождающая тот же самый язык. В следующем разделе мы опишем очень простую модель автомата, воспринимающего языки типа 3; эта модель непо- средственно определяет структуру программы. Встречаются случаи, когда наиболее очевидная грамматика относится к типу 2 и при ближайшем рассмотрении выясняется, что она без самовставления. В таких случаях обычно стоит сконструировать грамматику ти- па 3 (возможно, интуитивно менее ясную), которая порождает тот же язык, и использовать ее как руководство при программировании. 2.6. Конечные автоматы и регулярные языки (типа 3) Конечный автомат — эта машина без динамической памяти. На- пример, программа на Фортране, в которой не используются ленты со стиранием, определяет конечный автомат, так как у нее нет динамической памяти. Подобным образом программы на Алголе и ПЛ/1, которые не определяют динамических структур данных, мож- но представить как конечные автоматы, так что этот класс программ имеет немалое практическое значение. Формально конечный автомат М определяется как пятерка M=(S, I, Р, So, F), (28) где S — конечное множество внутренних состояний памяти, в том числе и единственное начальное состояние So, /={ад} — ко- нечный входной алфавит, F^S — множество заключительных со- стояний, Р — отображение множества Sx/ в S, определяющее правила перехода из одного состояния в другое как функцию теку- щего состояния и входного символа. Интуитивное представление об организации конечного автомата можно получить из рис. 2.9. Нахо- дясь сначала в состоянии So, система на каждом такте считывает один символ с ленты, продвигает читающую головку на один шаг вправо и переводит статическую память в состояние, определяемое состоя- нием в данный момент и входным символом. Затем цикл повторяется до тех пор, пока не будет достигнуто некоторое состояние Sf£F.
58 Гл. 2. Программирование, структура программ и вычислимость Машина воспринимает входную цепочку sg/*, если Sf достигается впервые сразу после прочтения последнего символа из s. Полезно представлять конечный автомат в виде графа, в кото- ром узлы соответствуют его состояниям, а помеченные дуги обозна- Рис. 2.9. Переход конечного автомата из состояния S, в состояние Sy после чте- ния символа а*. чают символы, которые нужно прочесть при каждом переходе. На рис. 2.10 приведен пример. Представление конечного автомата в виде графа непосредственно приводит к одному методу написания соответствующей программы, так как переход от теоретико-графо- Рис. 2.10. Конечный автомат, представленный в виде матрицы переходов между состояниями. Метка на дуге обозначает символ, считываемый на соответствующем переходе.
2.6. Конечные автоматы и регулярные языки (типа 3) 59 вых операций к операциям над массивами очень прост. Если М — граф, то его можно представить в виде матрицы связностей С, где Сij— I k, если в автомате есть правило (Sz, aft)—“(Sy), С,у=(0, если нет правила (Sz, aft)—+ (Sy), (29) Czz =— 1, если S,-€E. В этом случае CZy = 0 для / ^i. Для чтения матрицы С и описания действий определяемого конечного автомата достаточно очень простой программы управле- ния. Язык L воспринимается конечным автоматом тогда и только тогда, когда L—регулярный язык (типа 3). © 5 Q 11 Vх ® Л-»-х А-^-хВ А-^-хА Рис. 2.11. Элементы графа, соответствующие различным типам правил в конеч- ных автоматах. Напомним, что правила регулярного языка имеют вид А —* х (30а) или А-^хВ, (306) где х — терминальный символ, А и В — переменные. - Правило (30а) можно интерпретировать так: Если в состоянии SA читается символ х, то перейти в со- стояние Sj из F. Правило (306) интерпретируется так: Если в состоянии SA читается символ х, то перейти в SB. Эти интерпретации определяют основные блоки для представле- ния конечного автомата в виде графа. В графе есть дуги, входящие и выходящие из одного и того же узла, и дуги, соединяющие раз- личные узлы. На рис. 2.11 показаны три возможных типа комбина- ций узел — дуга: дуга, соответствующая (30а), и две возможные дуги для (306), одна для случая, когда А и В — различные символы, другая — когда А и В одинаковы. Это иллюстрирует простой путь от определения регулярного языка к графу, который определяет
60 Гл, 2. Программирование, структура программ и вычислимость автомат, воспринимающий этот язык, и далее к представлению графа как массива. Нетрудно записать программу, автоматизирую- щую этот процесс. Такая программа получала бы на вход определе- ние языка типа 3 и выдавала бы на выходе программу, распознаю- щую этот язык. На практике часто бывает важным следующий результат: Если L—конечное множество цепочек в /*, то L может порождаться регулярной грамматикой. Практически это означает, что любую функцию, область опре- деления которой —• конечное множество цепочек, можно вычислить с помощью достаточно большой программы, не имеющей доступа к динамической памяти. 2.7. Резюме и комментарии к практическому использованию Мы определили четыре типа языков, от относительно неструкту- рированного языка типа 0 до сильно структурированного языка типа 3. Каждый из языков более высокого порядка представляет собой собственное подмножество всех языков более низкого поряд- ка. Этой последовательности языков соответствует последователь- ность все более ограниченных автоматов: машина Тьюринга, ли- нейно ограниченные автоматы, автоматы с магазинной памятью, конечные автоматы. Эти четыре класса автоматов различаются по степени доступа к принципиально неограниченной ленте памяти. Каждый из них можно рассматривать как основной план для класса программ с аналогичным ограничением на доступ к принципиально бесконечной динамической памяти. Современная практика вычислений, возможно, скрадывает это соответствие между программами и автоматами. При программи- ровании МТ или МП-автомата мы часто моделируем „первую часть" принципиально бесконечной ленты памяти в конечной памяти ре- альной ЭВМ. Язык, который реально воспринимается, не предъяв- ляет к ленте больших требований. Чтобы оценить это, заметим, что в „чистом" определении Фортрана как языка непосредственно состав- ляющих должна быть возможность вставлять круглые скобки на любом уровне. Это позволило бы рассматривать арифметические выражения вида (B + (C + Dl*(D2/(---)- -)...)+4 (31) которые могут содержать, например, 974 вложенных скобок. На практике длина ленты памяти, требуемой для МП-автомата, моде- лируемого транслятором, превзошла бы объем оперативной памя- ти, отведенной для программы в реальной ЭВМ, и оператор не был бы воспринят. Это „теоретическое" основание для ограничений, за-
2.7. Резюме и комментарии к практическому использованию 61 писанных в большинстве учебников по программированию, предо- стерегающих программиста от использования операторов с более чем 12 уровнями вложенных скобок. Если программа моделирует верхнюю часть ленты памяти на конечном участке, то независимо от того, как этот участок обраба- тывается, сама программа определяет конечный автомат, а не МП- автомат. Можно ли быть уверенным, что эта ограниченная система воспримет подмножество языка, которое, как чистый Фортран или Алгол, было порождено грамматикой составляющей структуры? Ответ заключается в том, что подмножество языка, доступное про- грамме, будет конечным, если любой язык, содержащий конечное множество цепочек, порождается регулярной грамматикой и, сле- довательно, воспринимается конечным автоматом. В действитель- ности гораздо проще рассматривать транслятор как МП-автомати не забывать о побочных эффектах, которые ограничивают его опера- ции. Это же справедливо и для ряда других псевдо-МП-автоматов. Язык, воспринимаемый машиной Тьюринга, рекурсивно перечи- слим. Если дополнение этого языка также рекурсивно перечислимо, то это рекурсивный язык. Множество правильно построенных выражений (п. п. в.), выводимых из множества аксиом исчисления предикатов первого порядка, рекурсивно перечислимо, но не рекур- сивно. Поэтому нельзя гарантировать, что программа распознава- ния таких утверждений закончит обработку произвольного п. п. в. за конечное время. Это важное теоретическое ограничение в области искусственного интеллекта. Рассмотрим „предельную" систему ин- формационного поиска, которой сначала придан очень большой банк данных и затем задан вопрос: „Следует ли утверждение X из этих данных и правил логического вывода?". Если нет, то программа может попасть в цикл. В других интересных ситуациях появляются еще более значи- тельные ограничения. Существуют задачи, в которых требуемый входной язык не является рекурсивно перечислимым. Примером слу- жит множество всех истинных утверждений в теории чисел. На прак- тике, однако, ограничения вследствие нерекурсивности важнее ограничений из-за отсутствия рекурсивной перечислимости. В сущности все интересные языки для п. п. в. в математике и логике имеют контекстно-свободные грамматики. Поэтому любая программа, которая должна обрабатывать такие утверждения, дол- жна моделироваться по меньшей мере МП-автоматом. Естественные языки, однако, нуждаются в трансформационных грамматиках и потому могут обрабатываться только программами, моделируе- мыми машинами Тьюринга. Это значит, что программы анализа естественных языков должны содержать сложные механизмы для адресации принципиально бесконечной памяти. Подобный же вы- вод справедлив и для программ, осуществляющих алгебраические преобразования или доказательство теорем.
62 Г л. 2. Программирование, структура программ и вычислимость Эти результаты могут показаться обескураживающими, посколь- ку они означают, что существует ряд интересных задач, которые нельзя решить алгоритмически, и еще больше таких, для которых недостаточно простых алгоритмов. Мы заканчиваем эту главу более оптимистичным напоминанием о том, что на практике почти всегда можно ограничиться конечным подмножеством мыслимых предло- жений во входном языке и чисто прагматически решать задачу, написав программу — возможно и большую, но не требующую до- ступа к внешним устройствам с бесконечной памятью. Пока что подавляющее большинство приложений вычислительной техники обладает таким свойством.
Часть II РАСПОЗНАВАНИЕ ОБРАЗОВ Глава 3 ОБЩИЕ СООБРАЖЕНИЯ ПРИ РАСПОЗНАВАНИИ ОБРАЗОВ 3.0 . Классификация Классификация лежит в основе интеллектуальной деятельности. Мы так легко классифицируем, что редко задумываемся над тем, насколько это существенно или насколько тонки производимые нами классификации. Вы в состоянии узнать свое имя, произне- сенное мужчиной или женщиной, простуженным человеком или здоровым, на фоне шума самолетных двигателей или сонаты Бет- ховена. Если бы вам пришлось анализировать физические воздей- ствия, которым в каждом случае подвергается ваше ухо, то вы не нашли бы в них почти никакого явного сходства. Теперь обратимся совершенно к другому случаю. Когда врач ставит диагноз, он не просто выбирает название для недуга больного. Он должен решить, принадлежит ли данный пациент классу пациентов, которому пока- зано лечение X. И наконец, рассмотрим третью задачу классифика- ции. Операторы радара или сонара должны решить, являются ли наблюдаемые на дисплее конфигурации результатом отражения от цели, действия фонового шума или отражения от неслучайной цели, но не той, за которой они следят. В общем случае нет совершенно- го правила, с помощью которого они могли бы это сделать, посколь-. ку как цель, так и шум могут привести к почти любой конфигура- ции на дисплее. Различие состоит в вероятности, с которой цель или шум дадут определенные изображения. С точки зрения психолога, эти примеры совершенно различны. Первый обычно трактуется как задача восприятия, второй — как задача логического мышления и третий — как задача обнаружения сигнала. Здесь и находится то место, где человек и вычислительная машина, возможно, отличаются друг от друга. Вполне может ока- заться, что в каждом случае вовлекаются различные психологиче- ские процессы. В то же время эти задачи могут иметь одно и то же математическое описание, и они, возможно, должны анализиро
64 Гл. 3. Общие соображения при распознавании образов ваться одинаковыми алгоритмами. В каждом случае наблюдателю дается набор объектов, которые можно описать заданием значений для каждого признака из известного множества признаков. Каждый объект принадлежит одному или более классам из некоторого фик- сированного множества. В задаче классификации образов наблюда- тель должен применить установленное ранее правило, чтобы ре- шить, какому классу принадлежит объект. В задаче распознавания образов это правило классификации должно вырабатываться на основе исследования множества объектов с известной принадлеж- ностью различным классам. Эти объекты в совокупности называются обучающим множеством J) или выборкой. В задаче формирования образов объекты предъявляются наблюдателю без указания их принадлежности классам. Наблюдатель должен самостоятельно построить соответствующее определение классов. Далее мы будем в основном изучать задачу распознавания. (Вни- мательный читатель, возможно, уже заметил, что задача классифи- кации эквивалентна задаче выяснения, является ли некоторая це- почка предложением в формальном языке.) В этой главе будет дана классификация задач распознавания образов. Приводимая схема классификации позволяет выделить отдельные подклассы задач распознавания. Мы представим обзор этих типов задач, а в после- дующих главах подробнее исследуем указанные проблемы. 3.1. Характеризация задач распознавания образов 3.1.0. Общие положения Разнообразие задач распознавания образов можно охарактери- зовать тремя параметрами: способом, которым предъявляется на- блюдателю обучающее множество, типом правила классификации образов, которое должен построить классификатор, и видом описа- ния классифицируемых объектов. На рис. 3.1 показаны эти три параметра, объединенные в трехмерную схему. Каждое ребро параллелепипеда представляет один из параметров. Каждая ячейка внутри параллелепипеда соответствует определенному классу задач. Например, ячейка, обозначенная на рисунке буквой А, включает в себя те задачи, в которых процедура классификации образов должна вырабатываться на основе информации, содержащейся в единственной выборке, при условии, что каждый из объектов мож- но представить точкой в многомерном евклидовом пространстве описаний, и в предположении, что для построения правила класси- фикации может потребоваться полное знание описания объекта. Мы можем противопоставить подобные задачи задачам из ячейки В (рис. 3.1), для которых евклидово пространство описаний и тип *) В оригинале organizing set (организующее множество).— Прим, перев.
3.1. Характеризация задач распознавания образов правила классификации сохраняются, а классификация по единст- венной выборке заменяется классификацией на основе последова- тельности выборок, при которой правило классификации уточня- ется после каждой выборки. Три параметра, образующие параллелепипед, далее будут опи- саны подробнее, поскольку мы постоянно будем ссылаться на них при выработке методов решения определенных классов задач. фиксиро- к ванная выварка Ж .. А параллельное последовательное послевова- 8 тельная $ выборка Правило классификации Рис. 3.1. Соотношение параметров в задачах распознавания образов. 3.1.1. Предъявление обучающего множества Рассматриваются два случая: распознавание образов, основан- ное на единственной выборке, и такие ситуации распознавания, когда используется последовательность выборок. В случае един- ственной выборки несколько объектов из известных классов предъяв- ляются системе распознавания образов до начала классификации. На основе наблюдения этой выборки устройство распознавания выраба- тывает правило классификации, применяемое затем к объектам, кото- рые предопределяются указанной выборкой, но в ней не содержатся. Само правило классификации далее не меняется, даже когда наб- людаются ошибки классификации. В распознавании образов, ис- пользующем последовательность выборок, информация, получае- мая первоначальной выборкой, является лишь предварительной, и она учитывается при построении соответствующего первоначаль- ного правила классификации. После выработки правила берется следующая выборка, к которой применяется имеющееся правило классификации. (Часто новая выборка состоит лишь из одного объекта.) Оценивается результат классификации и, если окажется 3 Э. Хант
66 Гл. 3. Общие соображения при распознавании образов нужным, отыскивается новое правило. Эту процедуру можно повто- рять сколько угодно, пока не будет удовлетворен некоторый кри- терий работы правила. Выработку процедуры классификации на основе фиксированной выборки обычно относят к статистике, а не к искусственному ин- теллекту. Опубликовано много работ, в которых излагаются соот- ветствующие методы (например, Андерсон, 1958; Тацуока, 1971), особенно для задач, в которых можно использовать евклидовы пространства описаний. Статистиков также интересовал и другой, тесно связанный с этим вопрос. Обнаруживают ли члены, относя- щиеся к разным группам, систематические различия при измерении одной зависимой переменной? Этот вопрос очень важен для экспе- риментальных исследований, где „классификация" проводится с данными, получаемыми при меняющихся экспериментальных ус- ловиях. Случай последовательной выборки представляет собой одну из наиболее активно изучающихся проблем искусственного интеллекта. Часто ее называют машинным обучением. Вероятно, название свя- зано с тем, что непрерывное изменение правила классификации во многом аналогично способности большинства животных обучаться на опыте. Поскольку, почти по определению, поступки животных разумны, система искусственного интеллекта должна обладать подобной способностью к обучению. В самом деле, в ряде философ- ских работ обучение на примерах выделяется как определение поз- навательной способности (наиболее важные работы приведены Уром, 1965). Если устройство распознавания образов может обучаться путем приспособления своих правил классификации к последовательным выборкам, возникает задача оценки полезности и стоимости каж- дого изменения. Обычно изменение правила классификации тре- бует больше вычислений, чем классификация, использующая задан- ное правило. В самом деле, врачи не могут изменять свои диагно- стические процедуры после каждого больного, университеты не могут изменять свои правила приема каждый раз в зависимости от того, окончил данный студент университет или нет. С другой сто- роны, отсутствие возможности изменять ошибочное правило может привести к увеличению частоты ошибок классификации выше допу- стимых пределов. Вероятно, наиболее широко распространено в экспериментальных исследованиях или в распознавании образов изменение правила классификации всякий раз, когда происходит ошибка. Очевидная альтернатива — изменение правила классифи- кации только в случае превышения частоты появления ошибок некоторого заранее установленного допустимого уровня. Такую процедуру можно считать лучшим приближением к распознаванию образов в практических ситуациях. Можно построить устройство распознавания образов, в котором
3.1. Характеризация задач распознавания образов 67 не учитывается информация об ошибках. Например, можно было бы рассматривать наблюдаемое среднее значений членов каждого клас- са по каждому параметру и классифицировать все новые объекты, оценивая, насколько близки они к текущей средней точке каждого класса. Интересно приложение данного метода, называемое „само- стоятельным обучением**, когда средние уточняются распознавателем образов в предположении, что классификации верны, и никак не учитывается обратная связь. Способ, которым устройство распознавания образов изменяет пробное правило классификации, в большей мере определяется ве- личиной информации, которую оно способно запомнить. В каждом случае, когда новый объект предъявляется для классификации, устройство распознавания получает какую-то информацию об окружающей среде — хотя бы только для улучшения оценки ча- стоты появления объектов определенного типа. Как должна запи- сываться такая информация? Вообще говоря, существует два спо- соба. Один из них — детальный метод, при котором информация о каждом объекте записывается в момент его предъявления. Напри- мер, врач обычно записывает результат каждого обследования и диагноз. Другой метод—статистический', он предполагает хра- нение обобщенной статистики, связанной с каждым классом и пред- ставляющей собой результат некоторого усреднения данных всех наблюдавшихся до настоящего момента случаев в соответствующем классе. Здесь примером может служить бюро погоды, строящее свои прогнозы на типичных показателях. Вместо хранения подробной информации об одном дне для обновления представлений о „типич- ном“ дождливом или ясном дне используется информация о каждом новом дне. Установление способа хранения информации и типа правила, которое нужно выработать, приводит к формулированию вычисли- тельной проблемы: определить алгоритм, эффективно отображаю- щий множество возможных конфигураций „памяти** (т. е. множества всех возможных хранящихся записей о среде) в множество возмож- ных правил классификации. Для большинства случаев сущест- вуют несколько алгоритмов, которые могут отличаться друг от друга аспектами, весьма существенными при их практической реа- лизации. Больше всего нас интересуют здесь такие свойства соот- ветствующих процедур, как сходимость, оптимальность и вычисли- тельная сложность. Рассмотрим устройство распознавания образов, функционирую- щее так: вначале оно использует произвольно выбранное правило классификации. По мере получения информации путем демонстра- ций устройству объектов и указания классов, которым они принад- лежат, оно вырабатывает последовательность новых правил клас- сификации. Если независимо от получаемой дополнительной инфор- мации устройство в некоторый момент перестает строить новые пра-
68 Гл. 3. Общие соображения при распознавании образов вила, говорят, что процедура сходится к окончательному правилу. При описании алгоритма важны условия, гарантирующие сходи- мость. Нас может также интересовать, будут ли получаемые по пути к окончательному решению последовательные правила „боль- ше похожи1* (в некотором смысле) на окончательное решение, чем на предыдущие правила в последовательности. Устройство распоз- навания образов называют оптимальным, если гарантируется, что правило, к которому сходится процедура, минимизирует неко- торую функцию, определяющую стоимость ошибочной классифи- кации. Часто эта функция есть просто число ошибок классификации, однако она может быть и более сложной. Иногда мы будем называть устройство распознавания образов оптимальным в некотором классе устройств распознавания образов, если оно вырабатывает оконча- тельное правило, для которого значение функции ошибочной клас- сификации не превышает значений функций ошибочной классифи- кации, соответствующих окончательным правилам, вырабатываемым любым устройством из этого класса. Понятие вычислительной сложности менее ясно и потому менее изучено. Интуитивно это понятие отражает трудность применения алгоритма. Последнюю можно было бы определить в терминах необходимой для выполнения рассматриваемого алгоритма машин- ной памяти, числа требуемых шагов вычислений, типом этих шагов или временем их выполнения. Существуют две важные разновид- ности понятия вычислительной сложности: сложность собственно алгоритма распознавания образов и сложность вырабатываемого им правила классификации. Сложность алгоритма распознавания образов тесно связана с вопросом сходимости; в обоих случаях нас интересует, насколько сложно достичь результата, применяя определенный метод. Вопрос о сложности правила классификации относится больше к практической приемлемости результатов, по- скольку здесь для нас существенно, насколько хорошо полученное правило. 3.1.2. Правила классификации Процедура распознавания образов — это алгоритм, формирую- щий правило классификации образов, исходя из обучающего мно- жества. Очевидно, что тип используемого правила классификации будет определять структуру процедуры распознавания. Существуют два общих метода классификации: параллельный и последовательный. Для простоты предположим, что мы можем описать объект при помощи вектора символов. (В большинстве случаев это справедливо, хотя в следующем разделе мы приведем исключения.) В параллель- ной процедуре производится ряд тестов над всеми компонентами вектора, а затем делается предположение о принадлежности объек- та классу на основе объединенного результата этих тестов. В про-
3.1. Характеризация задач распознавания образов 69 цедуре последовательной классификации сначала проверяется не- которое подмножество компонент вектора описания, а затем в зависимости от результатов этих тестов или производится клас- сификация, или выбираются новая совокупность тестов и новое подмножество компонент вектора описания, после чего указанный процесс повторяется. Формальные выражения для параллельной и последовательной процедур достаточно прозрачны. Пусть х={х4}, f = l, ..., п,— вектор описания объекта, и объек- ты могут классифицироваться в с классов. В случае параллельной классификации существует множество F={fj}, j=l, .... с, функ- ций не более чем п переменных. В алгоритме классификации объект относится к классу / тогда и только тогда, когда Wj = max k = \, ..., с, (1) k где w/ = f/(xl, .... xn) (2) для /=1, ... , с. Термин „параллельный" здесь оправдан, поскольку не важно, в каком порядке вычисляются функции fj, и, значит, если только для этого есть возможность, они могут вычисляться одно- временно. Время, затрачиваемое на классификацию, будет опреде- ляться наибольшим временем, необходимым для вычисления любой из функций fj, хотя общее количество вычислительных ресурсов, требуемых для проведения классификации, равно сумме ресурсов, требуемых для вычисления каждой функции fj. Селфридж в одной своей часто цитируемой работе (1959) привел наглядный пример параллельной процедуры. Предположим, что каждая функция fj заменена маленьким демоном, задача которого — исследовать описание и выкрикивать название своего класса, если он считал, что объект относится именно к этому классу. Демон дол- жен кричать громко, если он уверен в своем решении, и тихо, если не уверен. Однако общий шум, производимый демоном, будет зави- сеть не только от его стараний, но и от его способности кричать. Последнее определяет всемогущий (решающий) демон, который на- деляет демонов первого порядка сильным или слабым голосом. Пос- ле предъявления классифицируемого объекта каждый демон выкри- кивает название своего класса с интенсивностью, зависящей от его собственных оценок и от силы данного ему голоса. Решающий демон, который ведет себя как председатель собрания, где проводится голо- сование, решает, название какого класса было выкрикнуто громче всех. Процедуры последовательного решения несколько более громозд- ки, чтобы их можно было описать формально, но, безусловно, это
70 Гл. 3. Общие соображения при распознавании образов можно сделать. Удобнее представить эти процедуры в виде дерева х), указывающего порядок, в котором должны производиться тесты. На рис. 3.2 изображена часть дерева, соответствующая последова- тельной процедуре решения при постановке медицинского диагноза. Первый тест относится к самому верхнему узлу дерева; в зависимо- сти от результата теста следующий тест выбирается или из правого Нет {провести дальнейшие тесты} Исходная информация: дольная, 40 лет. травма головы и сильные головные доли 8 течение 5 месяцев Нет Нет Диагноз: переутомление Носит ли патология хронический ха рейтер ? Да тесты} Неврологические отклонения ? Ретроградная амнезия ? Рис. 3.2. Пример последовательной процедуры решения при постановке меди- цинского диагноза. Кружки указывают путь классификации в рассматриваемом случае (Клейимуиц, 1968). Да Да {Провести дальнейшие тесты} или из левого узла, расположенного ниже узла, соответствующего только что выполненному тесту. Название класса связывается с концом каждой ветви, например узел А на рис. 3.2. Если задано одно и то же множество тестов, то для выполнения последовательных процедур решения, вообще говоря, потребуется меньше тестов, чем для эквивалентной параллельной процедуры, а, х) Деревом называется граф, в котором (а) есть единственный узел, называемый корнем, не имеющий узлов над ним (т. е. у корня нет предков), (б) все остальные узлы имеют точно по одному предку, (в) ни один из узлов не принадлежит множеству своих потомков (нет петель). Узел, ие имеющий потомков, называется листом или концевой точкой. Узлы, имеющие потомков, называются внутренними узлами дерева.
3.1. Характеризация задач распознавания образов П значит, будет израсходовано меньше вычислительных ресурсов. С другой стороны, если есть возможность выполнить параллельную процедуру, то последовательная процедура может оказаться значи- тельно более долгой. Очевидно, что если мы вынуждены осуществ- лять параллельную процедуру на последовательной машине (что обычно и бывает при использовании цифровой ЭВМ), то для выпол- нения соответствующей последовательной процедуры потребуется в самом худшем случае столько же времени, сколько для парал- лельной. Существенный недостаток последовательной процедуры решения состоит в том, что она подвержена ошибкам в случае ненадежности отдельных тестов, как в смысле ненадежности устройства, их выпол- няющего, так и в том смысле, что каждая компонента Xi вектора описания определяется вероятностно при задании объекта. (Отме- тим, что в этих случаях применяется один и тот же формализм.) Если произошла ошибка измерения, то последовательная процедура может выбрать в дереве неверный путь, причем при этом нет воз- можности поправить дело. В параллельной же процедуре ошибки измерения не столь опасны, поскольку рассматриваемая классифи- кация будет зависеть от всех имеющихся результатов испытаний. 3.1.3. Варианты описаний объектов Третьим параметром, определяющим возможные задачи распо- знавания образов, являются способы описаний самих объектов. В большинстве задач классификации объект можно считать набором результатов измерений. Какова природа этих измерений и что зна- чит их природа для процедур классификации и распознавания? Эти вопросы совсем не тривиальны. Например, в большинстве изучае- мых случаев (особенно в статистике) считается, что измерения опре- деляют евклидово пространство описаний, и каждый объект пред- ставляется точкой в этом пространстве. Это позволяет комбиниро- вать измерения, чтобы определить для каждого класса местополо- жение „типичной" точки в пространстве описаний. Такая процедура хорошо работает для задач измерения и группирования физических объектов. Например, кажется разумным выработать понятие „здо- ровой полноты", основанное на росте и весе, и использовать его для разделения студентов на потенциальных атлетов и прочих. Разум- ность такого классифицирующего понятия, однако, целиком зависит от свойств, которые мы приписываем различным измерениям прост- ранства описаний. В данном случае идею „близости по мере (расстоя- нию) в евклидовом пространстве" можно интерпретировать как „подобие в росте и весе", что разумно. В других случаях нет разум- ной интерпретации расстояния. Например, так было бы в случае, если бы основными измерениями были определяющие признаки, вы-
72 Гл. 3. Общие соображения при распознавании образов ражаемые такими величинами, как пол, место рождения и раса *). Иными словами, описание объекта — это список признаков, а не набор измерений. В любом случае объект можно представить в виде вектора описания; правда, имеющие смысл математические операции с такими векторами будут совершенно другими. Структурные описания дают другой интересный способ описа- ния объектов. Грубо говоря, структурное описание выделяет взаимо- отношения между компонентами объекта, а не характеристики объ- екта, получаемые в серии измерений. Наиболее ясный пример струк- турных описаний — лингвистические объекты. При обсуждении формальных языков (гл. 2) было показано, что предложение можно эффективно описать правилами непосредственно составляющих, ко- торые выражают отношения между элементами предложения. Без сомнения, ненужной была бы мера, задаваемая на предложениях, если бы она определялась числом появлений в них различных эле- ментов. Какая польза была бы от утверждения, что английское пред- ложение содержит три существительных и два глагола? Было об- наружено, что те же рассуждения можно применить и к различным областям, весьма далеким от традиционной лингвистики. Одно из наиболее интересных приложений структурного описания — ис- пользование его в анализе изображений (Миллер и Шоу, 1968). На- пример, мы не видим иного, кроме структурного, способа описания определяющих характеристик множества симметричных двумерных рисунков. К сожалению, относительно мало известно о соответствую- щих методах распознавания образов 2). Процесс описания важен и сам по себе. Должна быть „максималь- но примитивная" сенсорная система для преобразования во внутрен- ний код физических воздействий, поступающих на классифицирую- щее устройство. Общепринято называть это процессом преобразова- ния. Животным в качестве преобразователей служат глаза, уши и другие органы чувств, а вычислительные машины используют уст- ройства, чувствующие отверстия в перфокартах или реагирующие на изменения электрического напряжения. Назовем внутренний код, получаемый при преобразовании, кодом уровня 0. Любые два физи- чески различных объекта, производящие одинаковое кодирование уровня 0, для устройства распознавания образов будут неразличи- мы. При вычислениях различия уровня 0 выглядят тривиальными. *) На самом деле существует ряд шкал, промежуточных между шкалами, определяющими евклидово расстояние, и чисто номинальными шкалами. Боль- шинство психологических шкал, таких, как интеллект или мужественность — женственность, является шкалами порядка. В этих шкалах объекты ранжируются относительно друг друга, однако разница между соседними рангами не определя- ется. Для более подробного изучения вопросов, связанных со шкалами, см. Кранц и др. (1971). 2) См. Фу К., Структурные методы в распознавании образов, изд-во «Мир», М., 1977.— Прим, перев.
3.1. Характеризация задач распознавания образов 73 „Очевидно", нельзя написать программу для ЭВМ, способную разли- чать красные и синие перфокарты. Эта информация потеряна. Преобразование уровня 0 дает цепочку двоичных цифр, в которой каждая цифра представляет наиболее примитивное свойство вычисли- тельной системы. С этими цепочками непосредственно работать не- удобно, поэтому их обычно перекодируют в блоки, возможно, облег- чающие процесс распознавания образов. Будем называть это ко- дированием уровня 1. Оно включает в себя разбиение входной последовательности на подблоки. Хорошо известный пример — буквенно-цифровой код, в котором 960 бит в перфокарты группи- руются в 80 буквенно-цифровых символов. Это вызывает дальней- шую потерю информации, поскольку не все двоичные конфигурации можно выразить с помощью буквенно-цифрового кода. Подобным же образом, только в значительно большем объеме, происходит по- теря информации в биологических системах. Например, Хант и Ма- коус (1969) оценили уменьшение количества информации при чте- нии про себя с 10’ бит в секунду на входе до 35 бит в секунду на вы- ходе. Результат кодирования уровня 1 состоит в получении данных, удобных для работы алгоритма распознавания образов. В биологи- ческих системах это достигается в основном путем отбрасывания ненужных данных, но почти столь же эффективной может оказаться простая перекодировка данных. Это проиллюстрировано на рис. 3.3, на котором „правильное" перекодирование превращает очень слож- ную задачу распознавания образов в очень легкую. В верхней таб- лице рисунка приведены два класса двоичных векторов, обозначен- ные X и О. Правило для классификации векторов найти в принципе можно, но для большинства людей оно не очевидно. В средней таб- лице представлены восьмеричные эквиваленты двоичных векторов. Правило классификации найти все еще тяжело. В нижней таблице двоичные векторы опять преобразованы, на этот раз в шестнадцате- ричные векторы, и ответ очевиден. Нет ничего специального в переходе от уровня 0 к уровню 1; можно было бы легко перейти от уровня 1 к уровню 2, от уровня 2 к уровню 3 и т. д. Число переходов для устройства распознавания образов, которое ими не управляет, не имеет значения. Таким об- разом, если программа для ЭВМ предназначена для классификации слов и перед вводом данных в программу всегда производится пре- образование разряды — символы, то не важно, будет программа оперировать с разрядами или с символами. Намного существеннее различие между программами выделения признаков, которые могут изменяться самой программой распознавания образов во время по- иска решения, и теми, которые остаются неизменными. Например, рассмотренную задачу (рис. 3.3) можно было бы решить с помощью сложного алгоритма, работающего с двоичными или восьмеричными образами, или с помощью простого алгоритма, который испытывал
74 Гл. 3. Общие соображения при распознавании образов Класс векторов К Класс векторов О Двоичное кодирование Q001100101 10 101010010100 10001001 1 100 000010011100 010010010000 0011 10010001 111110010010 110010011011 00101001011 1 101110011111 010110011010 llioiooioooi 000111110110 101001100100 10000101001 1 000001001 100 0101001 10000 001 100100001 111100010010 110010101011 00I0I0II01II 101111001111 010111010101 110111111010 Восьмеричное кодирование 0 6 2 6 5 2 2 4 4 2 5 4 0 2 5 4 2 2 2 0 16 2 1 7 6 2 2 6 2 3 5 12 2 7 5 6 3 7 2 6 3 2 3 2 2 1 0 7 6 6 5 14 4 4 12 3 0 114 2 4 6 0 14 4 1 7 4 2 2 •6 2 5 3 12 6 7 5 7 17 2 7 2 5 6 7 7 2 Шестнадцатеричное кодирование I 9 6 А 9 4 8 9 D О 9 D 4 9 0 3 9 1 F 9 2 С 9 В 2 9 7 В 9 F 5 9 А Е 9 1 1 F 6 А 6 4 8 5 3 О 4 С 5 3 0 3 2 1 F 1 2 С А В 2 В 7 В С F 5 Di D F А Рис. 3.3. Результат кодирования при распознавании образов. бы различные коды до тех пор, пока не нашел шестнадцатеричный, легко решающий задачу. Вообще мы должны различать программы распознавания образов с фиксированным кодированием данных и программы, в которых есть возможность менять вид кодирования.
3.2. Историческая ретроспектива и текущие проблемы 75 3.2. Историческая ретроспектива и текущие проблемы Если бы вам пришлось просмотреть журналы с первыми исследо- ваниями по распознаванию образов, вы обнаружили бы, что лишь немногие из возможных видов задач распознавания образов вызы- вают сегодня большой интерес. Быстро увеличивается число работ по структурным описаниям, в особенности в приложении к машин- ному распознаванию зрительной информации. Ясно, что это сейчас „активная" область. Если бы вам пришлось заглянуть в эти же жур- налы, вышедшие несколько лет назад, вы обнаружили бы, что инте- ресы тогда были иные. В начале и середине 60-х годов большой ин- терес проявлялся к общим вопросам машинного обучения и, в на- ших терминах, к параллельному распознаванию образов с последо- вательной выборкой. Обычно использовалось булево или евклидово пространство описаний. А перед этим был интерес к методам распо- знавания образов с единственной выборкой, так что многие из науч- ных сообщений можно было бы считать в равной степени работами как по статистическому анализу, так и по искусственному интеллек- ту. Наконец, за последние 10 лет наблюдался постоянный интерес к последовательным процедурам классификации и распознавания. Интересно, что это происходило одновременно с увеличением инте- реса к последовательным процедурам классификации среди стати- стиков.
Глава 4 МЕТОДЫ КЛАССИФИКАЦИИ И РАСПОЗНАВАНИЯ ОБРАЗОВ, ИСПОЛЬЗУЮЩИЕ ЕВКЛИДОВЫ ПРОСТРАНСТВА ОПИСАНИЙ 4.0 . Общая часть 4.0.0. Введение В этой главе излагаются некоторые методы параллельного рас- познавания образов, которые можно применять к объектам, пред- ставленным точками в евклидовом пространстве описаний. Этот подход основан на предположениях, что каждый классифицируе- мый объект можно описать совокупностью измерений, определяю- щих оси евклидова пространства, и что все измерения объекта будут известны устройству классификации образов к моменту, когда долж- на производиться классификация. Такую ограниченную задачу нередко относят к статистике или теории измерений, а не к искусст- венному интеллекту. Как бы то ни было, тот, кто занимается рас- познаванием образов, должен быть знаком со статистическим под- ходом. Статистические методы весьма эффективны, но они сущест- венно зависят от сильных допущений относительно свойств иссле- дуемых объектов и хорошо работают лишь тогда, когда такие допу- щения справедливы. С другой стороны, важно понимать природу этих допущений, так как неоправданно сделанные допущения могут привести к вводящим в заблуждение результатам. Поскольку предмету, рассматриваемому в настоящей главе, ста- тистики уделяли много времени, нет ничего удивительного в том, что на эту тему существует много работ. Мы нё будем пытаться от- разить всю имеющуюся литературу. Назовем лишь хороший учеб- ник Тацуоки (1972) по основам этого направления и работы Дуды и Харта (1973) и Мейзела (1972), где приводится обширная литерату- ра, особенно по приложениям к вычислительным наукам. 4.0.1. Определения Мы будем предполагать, что существует известное множество C~{Ci}, состоящее из k взаимно исключающих классов объектов. Каждый объект представляется набором результатов измерений,
4.0. Общая часть 77 называемым его описанием. Одно измерение — это точка на некото- рой шкале, а шкалы в свою очередь, определяют пространство опи- саний D. Таким образом, описание объекта — это точка х в про- странстве D. Отметим, что два объекта могут иметь одинаковые опи- сания, но находиться в различных классах. Процедурой классифика- ции образов называется процедура, относящая объект к классу С\ тогда и только тогда, когда его описание попадает в область 7?г про- странства D, соответствующую этому классу. Такая процедура клас- сификации образов корректна, если объект и в самом деле относится к классу г. Процедурой распознавания образов называется процедура определения этих областей {7?г} путем исследования описаний мно- жества S объектов, про которые известно, каким классам они на са- мом деле принадлежат. Итак, S будет выборкой, с которой работает процедура распознавания образов. 4.0.2. Предположение об евклидовости пространства Все обсуждаемые в этой главе процедуры зависят от понятия расстояния между двумя точками в пространстве описаний. Грубо говоря, используется следующее соображение: если два объекта имеют описания, расположенные близко друг от друга в простран- стве D, то они скорее всего принадлежат одному классу. В гл. 3 ука- зывалось, что такой подход интуитивно справедлив для большинст- ва физических шкал, таких, как рост и вес, но менее пригоден, если описание основано на присутствии или отсутствии каких-то признаков. Эту тему можно развить дальше и показать, какие имен- но свойства самих описывающих измерений вытекают из предполо- жения о существовании расстояния. Пусть D будет m-мерным пространством описаний. Точка х££> определяется m-мерным вектором (х1( ... , хт). Расстояние между двумя точками х и у в D равно / т \ 1/2 d(*, у) = ( 2 (х,.—у()г] (1) \1 = 1 / Отсюда ясно, что расстояние между двумя точками зависит от их относительного расположения в D, а не от абсолютного местонахож- дения каждой. Точнее, точки х, у удалены друг от друга на то же расстояние, что и точки х', у', если х,- — = — y't для всех I. (2) Равенство (2) показывает, что имеет смысл сравнивать измерения по каждой шкале в отдельности. Шкала, для которой это можно сделать, называется шкалой интервалов. Примером шкалы интер- валов может служить время, поскольку утверждение типа „отрезок времени между г и г+2 минутами не зависит от значения г“ имеет смысл. Вес и рост также являются шкалами интервалов, а на
78 Гл. 4. Методы, использующие евклидовы пространства описаний самом деле они могут удовлетворять и более строгим предположе- ниям. С другой стороны, много интересных шкал не обладают свой- ствами шкалы интервалов. Например, твердость определяется от- ношением „х тверже у, если х царапает у“. По этой шкале алмазы тверже стекла, а стекло тверже сливочного масла. Твердость слу- жит примером шкалы порядка, поскольку ее можно использовать для того, чтобы приписать объектам числа, отражающие лишь неко- торое упорядочение, а не обязательно свойство равных интервалов. Ясно, что равенство (2) было бы бессмысленным для твердости. Шкалы интервалов инвариантны относительно линейных преоб- разований. Это означает, что можно заменить пространство описа- ний D новым пространством D', таким, что точках € D отображается в точку х' € D' по формуле х'{ = apct + bh а{ #= 0, (3) и эта замена не скажется на результатах последующего анализа выборки. Существуют шкалы более сильные, чем шкалы интервалов, и шкалы более слабые. Мы уже упоминали шкалы порядка. В абсо- лютных шкалах помимо интервального свойства указывается еще единица и нулевая точка. Примером может служить шенноновская мера информации. На другом конце шкалы шкал находится распре- деление номеров по телефонным аппаратам, которое представляет собой шкалу наименований — номера отождествляют аппараты, но не отражают никакого их физического свойства. Мы отсылаем инте- ресующегося читателя к книге Кумбса, Дойеса и Тверского (1970), где кратко излагается рассматриваемая проблема, и к работам Суп- песа и Зинеса (1963) и Кранца и др. (1971), где эта проблема обсуж- дается более основательно. Цель обсуждения шкал здесь двояка: (1) оправдать те преобразования пространства описаний, которые будут использоваться в последующих разделах главы, и (2) дать чи- тателю представление о фундаментальном предположении, лежащем в основе любого рассуждения, связанного с классификацией обра- зов с использованием расстояния. 4.1. Бейесовские процедуры в распознавании образов 4.1.0. Бейесовское правило Классификация образов — частный случай более общей задачи: выбрать одно из возможных объяснений на основе имеющихся дан- ных. Бейесовский вывод представляет собой процедуру принятия подобных решений. Бейесовский метод был предложен в качестве нормативной модели того, как следует себя вести, а также в качестве описательной модели того, что происходит на самом деле (Ли, 1971). Мы встретимся в этой книге несколько раз с приложениями бейесов-
4.1. Бейесовские процедуры в распознавании образов 79 ского подхода к принятию решений. В этом разделе мы определим основную процедуру, которую затем применим к задаче параллель- ной евклидовой классификации. Пусть А, В, С, ...— дискретные события. Будут употребляться следующие обозначения вероятностей появления различных комби- наций событий: Рг(Л) — вероятность появления события А, Рг(А, В)—вероятность совместного появления событий А и В, (4) Рг(В|Л)—вероятность появления события В при усло- вии, что произошло событие А. Совместная вероятность двух независимых событий равна Рг(Я, В)=Рг(Л)-Рг(В|Л). (5) В бейесовской задаче исходным является фиксированное множе- ство гипотез H={Hi}, которые определяют все возможные „состоя- ния мира“ и исключают друг друга, поскольку мир должен нахо- диться только в одном из состояний. С каждой гипотезой связана (субъективная) вероятность Рг (//,) того, что она на самом деле вы- полняется. Отсюда следует, что Pr(/7Z, Яу) = 0 (взаимно исключающие события), (6) 2 Рг (Я,) = 1 (полнота). z=i Истинна гипотеза Нг или нет, нельзя проверить прямым наблюде- нием. Вместо этого предполагается, что можно провести экспери- мент, дающий множество E—{Ej), j=l, ... , п, наблюдаемых исхо- дов. С каждой гипотезой Hi связана известная вероятность наблю- дения каждого из возможных исходов эксперимента, т. е. Рг (Ej \Ht). Поскольку эксперимент может иметь только один исход, события Ej взаимно исключающие. Итак, п Рг (Ej I Hi) > 0, Рг (Ej, Ej. I Hi) = 0, 2 Рг (Ej [H^l. (7) z = l Заметим опять, что поскольку мир должен находиться только в од- ном из состояний, то k ^(Ej) = ^Pr(Ej\Ht).PT(Hi). (8) Рассмотрим конкретный пример. Пусть гипотезы состоят в том, идет или не идет дождь, а эксперимент заключается в наблюдении следующих возможных событий за окном: (а) на улице нет людей,
80 Гл. 4. Методы, использующие евклидовы пространства описаний (б) по меньшей мере у одного человека на улице есть зонтик, (в) на улице есть люди, и ни у кого из них нет зонтика. Представим себе пасмурный осенний день; тогда априорные вероятности того, идет дождь или не идет, могли бы быть такими: Обозначение Пояснение Величина Рг (Нг) Вероятность того, что идет дождь 0,3 Рг(/7_г) Вероятность того, что дождь не идет 0,7 Если идет дождь, то более вероятно, что улица пуста, а если кто-то должен выйти на улицу, то он, вероятнее всего, возьмет зонтик. Та- ким образом, Обозначение Пояснение Величина Рг (Ei | нг) Дождь, у людей на улице не менее од- ного зонтика 0,4 Pr (Е, | Нг) Дождь, все люди на улице без зонтиков 0,2 Рг (Е3\НГ) Дождь, улица пуста 0,4 (Ю) Рг (ExlE-r) Нет дождя, у людей на улице не менее одного зонтика 0,05 Рг (Е8|Я-г) Нет дождя, ни у кого на улице нет зонтика 0,75 Рг(Е8|Я-г) Нет дождя, улица пуста 0,2 Мы видим человека с зонтиком. Какова вероятность того, что идет дождь? Задача состоит в вычислении вероятности Рг(//Г|Е!) того, что идет дождь, при условии, что на улице есть человек с зонтиком. По определению совместной вероятности Рг(Ех, //г) = Рг(/7г|Е1)Рг(Е1) = Рг(Е1|//г)Рг(/7г), (11) откуда Рг (Hr\EJ=Pj {Нг). (12) Поскольку Рг (£,) = Рг (£, I Нг) + Рг (£, | Н.г), (13) то рг (и I р । ______________Pr (Е) | Нг) Рг (Нг)______ - Рг (£, I нг} pr (/7r) hPr(£,|//_r)Pr(W_r) • (14)
4.1. Бейесовские процедуры в распознавании образов 81 В рассматриваемом примере Рг (дождь I наблюдается зонтик) = i « 0,77. (15) VjT • V»O “f- V, vO • V, I ' Формулу (14) легко обобщить, подставив Рг(£;) из (8): Рг (Е, I Hi) Pr (Hi) Pr (Hi | Еу) = V—. (16) 2 Рг (Е, I На) Рг (На) а— 1 Это и есть бейесовское правило оценки вероятности осуществления гипотезы на основе наблюдаемых событий. Оно применимо, если су- ществует фиксированное множество гипотез, которыми исчерпывает- ся все пространство возможных гипотез, и если для любой из них известны вероятности различных наблюдений. Правило применимо в параллельных процедурах распознавания образов (это мы изло- жим в следующих разделах) и в последовательных (изложение бу- дет дано в одной из последующих глав). 4.1.1. Применение бейесовского правила в параллельной классифи- кации образов При применении бейесовского правила в параллельной класси- фикации роль гипотез играют названия классов, а роль эксперимен- тального наблюдения — описание классифицируемого объекта. На- помним, что каждый классифицируемый объект принадлежит точно одному классу, а наблюдаемые величины образуют совокупность х измерений объекта. Два различных объекта из двух разных классов могут дать одинаковые векторы описания. Рассмотрим конкретный пример. Пусть задача состоит в разделении спортсменов на катего- рии „баскетболист" и „футболист", исходя из их роста и веса. Вообще говоря, можно было бы считать низкорослых людей большого веса футболистами, а высоких и худых — баскетболистами. Однако это правило не безошибочно. Если известны только рост и вес человека, в лучшем случае можно сказать, каким видом спорта он наиболее вероятно предпочитает Заниматься. Пусть х обозначает событие „наблюдается объект с описанием х“, a j — событие „классифицируемый объект принадлежит классу /“. Устройство классификации образов должно относить объект с опи- санием х классу / тогда и только тогда, когда Рг(/|х)>Рг(/'|.х) для всех /'^=/. (17) В процедуре распознавания образов пространство описаний D раз- бивается на такие области {Т?7}, что (17) удовлетворяется для всех точек из Rj и только для них. Затем объекты классифицируются в соответствии с областью, в которую попадает х.
82 Гл. 4. Методы, использующие евклидовы пространства описаний В этом простом принципе неявно содержатся некоторые понятия, противоречащие нашим интуитивным представлениям. Не обяза- тельно объекты, „типичные" для класса /, будут отнесены к этому классу. Должны учитываться как вероятность того, что данное на- блюдение порождается этим классом, так и вероятность того, что класс вообще исследовался. Для примера представим, что врачу надо провести обследование всех тех служащих какой-то компании, которые, по его мнению, имеют серьезные психические отклонения. Если компания большая, то о тщательном обследовании каждого служащего в отдельности не может быть и речи. Разумной альтер- ТестоЛые очки Рис 4.1. Гипотетические распределения тестовых очков. (Площади под кривыми для каждой группы одинаковы.) нативой было бы провести простой анкетный персональный тест, а затем обследовать тех, чьи результаты выглядят подозрительно. В терминах распознавания образов служащие являются классифи- цируемыми объектами, а очки, полученные в тестах, образуют одно- мерное пространство описаний. Теперь допустим, что предыдущее обследование показало, что тестовые очки, соответствующие психи- ческим отклонениям, имеют нормальное распределение со средним 130 и среднеквадратичным отклонением 10, а тестовые очки для пси- хически здоровых людей распределены нормально со средним ПО и среднеквадратичным отклонением 20. Примерные кривые распре- делений для каждой группы изображены на рис. 4.1. Ясно, что с помощью этого теста можно различить две указанные группы. Од- нако чтобы применить его для классификации, надо учесть, что здо- ровых людей, скажем, в 10 раз больше, чем людей с психическими отклонениями. Это означает, что кривую на рис. 4.1, соответствую- щую распределению для случаев психических отклонений, надо сжать так, чтобы площадь под ней составляла 0,1 от площади под
4.1. Бейесовские процедуры в распознавании образов 83 кривой распределения для здоровых людей, но чтобы форма первой кривой осталась прежней (рис. 4.2). Теперь нас интересует вопрос: какова область тестовых измерений, в которой абсолютное количе- ство случаев психических отклонений превышает абсолютное ко- личество здоровых? Ответ на этот вопрос также показан на рис. 4.2. Служащие должны считаться „психически ненадежными" (и, следо- вательно, должны быть подвергнуты обследованию) только в том случае, если их очки превышают критическое значение С, отмечен- Рис. 4.2. Гипотетические распределения, скорректированные с учетом размеров групп. (Площадь под кривой для здоровых в 10 раз больше площади под кривой для случаев психических отклонений.) ное на рисунке. И это остается в силе несмотря на то, что С больше 130, т. е. „наиболее типичного результата" для психически больных. Одним из следствий такой минимизации общего количества невер- ных классификаций явилась классификация более половины психи- чески больных как здоровых! Можно ли считать предыдущий результат нетипичным? Совсем нет! Он непосредственно вытекает из формулы Бейеса. В самом деле, запишем (16) в наших обозначениях, принятых при распознавании образов: Рг(/|х)=-^(х|/)Рг(/) . (18) 2 рг (х| о рг (о Z=l Это выражение явно зависит как от Рг(х|г), так и от априорных ве- роятностей для классов Pr(i). Полученный результат в рассмотрен- ном только что примере может показаться обескураживающим.
84 Гл. 4. Методы, использующие евклидовы пространства описаний Создается впечатление, что мы ошибаемся в существе дела. В нашем анализе формула Бейеса использовалась для минимизации числа ошибочных классификаций без учета относительных стоимостей ошибочных классификаций конкретного типа. В рассматриваемом примере, быть может, более серьезной ошибкой будет не обследовать действительно психически ненадежного человека, чем потратить время на обследование людей без психических отклонений. Сущест- вует простой способ учета таких соображений при бейесовской клас- сификации. Пусть c(i|/) описывает цену неправильного отнесения при классификации члена класса / к классу i. Если процедура рас- познавания относит точку х к области г, то ожидаемые потери EL из-за ошибочной классификации точки х равны k EL(x€Ri)= 2 Pr(x| /)Рг(/)с(г|/). (19) /=i /¥= i Для минимизации ожидаемых потерь вследствие ошибочной класси- фикации области Rt определяются так, чтобы минимизировать (19) по всем точкам пространства D. С помощью (19) можно также опре- делить границу между двумя соседними областями Rt и Rj. Уравне- нием границы будет EL(xg7?z) = EL(x€7?/). (20) Часто бывает интересно исследовать форму этой границы; такое ис- следование может дать нам неформальное понимание существа про- цедуры классификации. 4.1.2. Анализ в случае евклидова пространства описаний Предыдущее обсуждение в равной степени справедливо, считает- ся ли D евклидовым пространством описаний или абстрактным мно- жеством возможных описаний с Rt в качестве его подмножеств. Если D — евклидово пространство описаний, то полезны несколько иные обозначения, отражающие непрерывность пространства. Пусть Ру(х)—функция плотности вероятности, заданная в про- странстве D для членов класса /, (21) и qj—вероятность того, что случайно выбранный объект . принадлежит классу /. Чтобы определить для конкретного класса относительное число попаданий описаний в заданную область R пространства D, функ- цию плотности вероятности интегрируют по этой области: Рг (объект класса / будет иметь описание х Е R) = ру (x)dx. (23) R
4.2. Классический статистический подход 85 Пусть Rj будет областью пространства D, которую некоторая про- цедура распознавания образов связывает с классом /. Ожидаемая относительная частота ошибочных классификаций, возникающих в связи с определением этой области, равна k Pj $ py(x)dx + 2 <7,- J P,-(x)dx. (24) D~RJ Щ Первый член в (24) описывает ожидаемую относительную частоту ошибочных классификаций вследствие ошибки в классификации тех членов класса /, описания которых лежат вне области Rj. Второй член — относительная частота ошибочных классификаций объек- тов, которые не принадлежат классу /, но их описания попадают внутрь Rj. Точка х должна относиться к Rj, если ЯjPj (х) > {q,p(25) Если целесообразно учитывать не только частоту ошибочных клас- сификаций, но и их стоимость, то ожидаемые потери в точке х выра- зятся формулой k EL (X g Rj) = 2 q,Pi (x) c (j I i), (26) 1 = 1 приводящей к другому критерию классификации. 4.2. Классический статистический подход к распознаванию образов и классификации 4.2.0. Общая часть Бейесовская классификация образов предполагает знание веро- ятности появления события из некоторого класса и вероятности того, что объекты класса будут иметь определенные описания. Во многих интересных случаях классификации образов эта информация недо- ступна. В статистической классификации образов эта проблема ча- сто разрешается предположением, что вероятности принадлежности классу можно оценить исходя из долей выборки, попадающей в раз- личные классы, и предположением, что распределение описаний по пространству описаний для каждого класса соответствует некоторой разумной заранее известной функции. Таким образом, предпола- гается, что для каждой функции р,(х) р, (х) = /(х, 0), (27) где f — известная функция, зависящая от вектора параметров 0. Значения компонент вектора 0 оцениваются по выборке, а затем применяется бейесовская процедура классификации. Детали этой
86 Гл. 4. Методы, использующие евклидовы пространства описаний процедуры меняются в зависимости от сделанного относительно f предположения. В следующем разделе излагается метод статистиче- ского распознавания образов для наиболее часто принимаемого предположения, а именно, что f — многомерное нормальное рас- пределение. 4.2.1. Многомерное нормальное распределение Этот случай мы рассмотрим как пример применения метода ста- тистической классификации. В основном мы будем следовать работе Тацуоки (1970)г). Хотя данный пример обсуждается главным об- разом для того, чтобы проиллюстрировать метод статистической классификации, он интересен и сам по себе, так как предположение о многомерном нормальном распределении часто можно оправдать следующими логическими соображениями. Допустим, что для каж- дого класса существует идеальный, или типичный объект. Пусть р,— его вектор измерений (в шкале интервалов). Таким образом, р определяет точку в пространстве описаний, описывающую иде- альный член некоторого класса. Реальный объект, выбранный из этого класса, будет иметь описание х, не обязательно совпадающее с р. Разумно было бы предположить, что любое отклонение х от ц происходит из-за накопления небольших независимых отклонений каждого из измерений. В упоминавшемся примере с баскетболиста- ми и футболистами, скажем, можно предположить, что существует идеальный „тип баскетболиста", но любой конкретный игрок слу- чайным образом отличается от этого типа по росту и весу. Отметим, что отклонения по каждому измерению могут коррелировать друг с другом; например, если игрок выше обычного, он, по-видимому, будет и тяжелее. В том методе классификации, который мы соби- раемся изложить, такие корреляции в отклонениях от идеального типа учитываются. В любом случае, если наши данные порождаются указанным вы- ше образом, то наблюдения в пределах каждого класса будут иметь многомерное нормальное распределение с центром в точке р (в про- странстве описаний D). Как обычно, нужны некоторые специальные определения. Для каждого класса i определим следующие параметры: р)—среднее значение объектов в классе i при измерении /, ст)—среднеквадратическое отклонение в классе i при измерении j, r\k—коэффициент взаимной корреляции между измере- ниями / и k, вычисленными по объектам из клас- са z. *) Можно рекомендовать также книгу Дуды и Харта (1973). — Прим, перев.
4.2. Классический статистический подход 87 Роль вектора р., представляющего „идеальное" описание, играет век- тор средних значений измерений объектов в выборке из класса i: ^ = (НЬ Н2> > Нт)- (29) Матрица дисперсий для класса i представляет собой (/их/^-мат- рицу sz = [r/fecr7afe]> j, k=\, . , т. (30) Поскольку предполагается, что каждое измерение коррелирует само с собой, то диагональные элементы матрицы 2, — это просто (ст*)2, т. е. они являются дисперсиями измерений, произведенных в клас- се I. Для простоты записи исследуем подробно только случай, в ко- тором матрицы дисперсий для всех классов одинаковы. Это позво- лит рассматривать одну матрицу дисперсий 2 с соответствующими элементами. Для каждого класса и для каждой точки х € D определим величину Х? = (х-р')'2-1(х-р'), (31) где (х—р‘) и (х—р1’)' — соответственно исходный вектор-столбец и транспонированный. Многомерная нормальная функция плотности вероятности в пространстве D для класса i имеет вид f(x, 2, ц‘) = (2л)-т/21 2 |-i/2 (32) где |2| — определитель матрицы 2. Пусть с (г) будет ценой ошибоч- ной классификации члена класса I. Потери вследствие ошибочной классификации, заключающейся в отнесении х к некоторой области Rj, равны k EL(xg#,)=S qif(x; 2; p')c(i). (33) Значение функции (33) будет минимальным, если область Rj вы- брать так, чтобы для всех х € Rj и всех г, / выполнялось неравенство д/(х; 2, р')с(х, 2, у.‘)с(Г). (34) Оно эквивалентно неравенству /(х, 2, р>) > qic(i) ' <35. / (х, 2, pz) QjC (/) ‘ 1 ' Подставляя сюда выражение для многомерного нормального рас- пределения, находим е-1/2Х? № (0 4/с(/) ’ (36)
88 Гл. 4. Методы, использующие евклидовы пространства описаний После логарифмирования и простой перегруппировки членов по- лучаем X?- X) > 2 {1п (»)]—in [qjc (/)]}. (37) Правая часть в (37) не зависит от х; обозначим ее Кц. Величины же X? и X/ зависят от х. Таким образом, правило классификации обра- зов гласит: точку х следует отнести к области Rj, если множество значений (Х|), соответствующее х, удовлетворяет нера- венству Х)^Х/—К J, для всех, i =И= /. (38) Полезно изобразить этот многомерный случай на рисунке. Для простоты рассмотрим два измерения, так что пространство описаний будет плоскостью. Это не ограничит общности рассуждений. Плот- ность вероятности для класса в любой точке плоскости можно пред- ставить отметкой высоты в направлении, перпендикулярном пло- скости. Каждый класс определяет „холм плотности", основание ко- торого лежит на этой плоскости. Однако в противоположность на- стоящим холмам „холмы плотности" для различных классов могут перекрываться. Можно изобразить каждый холм, нарисовав линии одинаковой плотности, подобные контурным линиям на топографи- ческой карте. Для всех точек на такой линии вероятности принад- лежать одному и тому же классу равны и зависят как от абсолютной частоты класса, так и от относительной частоты элементов данного класса в рассматриваемой точке. Плотность gt(x) для класса i в точ- ке х равна ^(х) = ^(х; S, (*<). (39) Предположение о многомерном нормальном распределении приво- дит к тому, что линии одинаковой плотности являются эллипсами с центрами в точке р/. Попутно заметим, что р' будет к тому же точкой максимальной плотности, т. е. вырожденным эллипсом, а плотность для рассматриваемой линии будет непосредственно зависеть от наи- меньшего расстояния этой линии до р'. Таким образом, каждая ли- ния одинаковой плотности будет окружать все линии с большей плотностью и будет окружена в свою очередь линиями с меньшей плотностью. Начертив эллипсы, соответствующие нескольким плот- ностям, мы получим картину относительного расположения рас- пределений для разных классов. На рис. 4.3 показан случай двух классов. Отметим, что холмы плотностей для двух классов на этом рисунке ориентированы одинаково, хотя размеры их различны. Это вытекает из предположения о равенстве матриц дисперсий для всех классов, поскольку именно матрицы дисперсий определяют ориента- цию эллипсов. Если бы матрицы дисперсий были неодинаковыми, то
Рис. 4.3. Линии одинаковой плотности для двух классов (нормальные распределения). Рис. 4.4. Границы между областями.
90 Гл. 4. Методы, использующие евклидовы пространства описаний различные холмы плотностей могли бы быть ориентированы произ- вольным образом относительно друг друга. На рис. 4.4 показаны три холма плотностей с многомерным нормальным распределением, имеющие каждый свою матрицу дисперсий. Границу между областями /?г и Rj образуют точки, которые мож- но отнести или к классу I, или к классу /, не изменив потери, вызван- ные ошибочной классификацией, т. е. точки, для которых неравен- ство (38) превращается в равенство. Можно доказать, что граница все- гда будет гиперплоскостью (имеющей размерность на единицу, мень- шую размерности пространства). Таким образом, в двумерном слу- чае области граничат по прямым линиям. Далее, можно доказать, что граничная гиперплоскость будет всегда перпендикулярна пря- мой, соединяющей центры распределений, т. е. точки р/ и р/ в про- странстве описаний. Точка, в которой гиперплоскость пересекает эту прямую, будет зависеть от относительной частоты каждого клас- са и цены ошибочной классификации. Эта зависимость отражена в значении постоянной Kjt (неравенство (37)). Поскольку этим значе- нием можно управлять, меняя цену ошибочной классификации или частоту класса (и при этом не трогая функцию плотности вероятно- сти внутри класса), то можно подобрать такое расположение гипер- плоскостей, что „типичный" член класса i (точка р‘) заведомо по- падет в область Rj. Это математическое объяснение неформального вывода, полученного при обсуждении примера психиатрического об- следования. Стоит обсудить еще две характеристики областей классифика- ции. Ясно, что если существует k классов, то каждая область может ограничиваться не более k—1 гиперплоскостями. Она может огра- ничиваться и меньшим их числом. В самом деле, область не обязана быть замкнутой (рис. 4.4). И наконец, возможен класс, для которого нет соответствующей области. В этом случае, конечно, никакое из- мерение нельзя будет отнести к данному класс-у. 4.3. Классификация, основанная на близости описаний 4.3.0. Общее обсуждение и примеры Что происходит, когда недопустимы предположения классиче- ского подхода? В этом случае можно применить похожие методы классификации, основанные на более слабом предположении, что объекты, описания которых расположены близко друг от друга в пространстве описаний, по-видимому, принадлежат одному и тому же классу. Это предположение будет называться предположением о близости описаний. Простой пример: пол конкретного человека обычно можно определить, выясняя, похож он больше на произ- вольно выбранного мужчину или на произвольно выбранную жен- щину. Точнее, классификация может быть основана на среднем рас-
4.3. Классификация, основанная на близости описаний 91 стоянии между описаниями неизвестного объекта и каждого объекта из множества известных. В этой процедуре используется предполо- жение о том, что имеет смысл усреднять по измерениям для объектов из некоторого множества. Кроме того, будут использоваться свой- ства евклидова пространства описаний с соответствующими допу- щениями об измерениях. Себестиан (1962) провел исчерпывающее Рис. 4.5. Отклонения содержания углерода-13 и кислорода-18 (относительно стандарта PDB) в образцах мрамора из античных карьеров. Треугольниками обозначены обломы, перечисленные в табл. 4.1 (Крейг и Крейг, 1972). обсуждение применения идеи близости описаний в распознавании образов. Рекомендуем его монографию для ознакомления с подроб- ными алгебраическими выкладками и доказательствами корректно- сти вычислительных методов, которые будут здесь изложены. Наше обсуждение будет нестрогим и в значительной мере будет опираться на геометрические примеры. Мы рассмотрим сначала реальную задачу классификации, кото- рая затем послужит нам для иллюстрации разнообразных вопросов. Имеется в виду задача, связанная с работой Крейга и Крейга (1972), в которой метод, разработанный для физических исследований, был применен к археологии и истории. Определение источника матери-
92 Гл. 4. Методы, использующие евклидовы пространства описаний ала исследуемого фрагмента каменной кладки или скульптуры на- зывается установлением его происхождения. Крейги попытались установить происхождение классической греческой скульптуры, измеряя относительное количество различных изотопов химических элементов в мраморе. Они обнаружили, что мрамор из античных карьеров можно отличить по отношению концентраций углерода-13 к углероду-12 и кислорода-18 к кислороду-16. На рис. 4.5 представ- лены проведенные Крейгами измерения, в которых использовались образцы из различных карьеров 1). В табл. 4.1 собраны результаты Диализ археологических мраморных обломов при помощи изотопов (Крейг и Крейг, 1972) Таблица 4.1 Наимено- вание облома Описание в1 «с (на ты- сячу) 61,0 (на тыся- чу) Вероят- ное про- исхожде- ние А-1 Афины: храм Тесея (Гефеста) на цент- ральной площади, колонна в его се- верной части 2,63 —7,90 Пентели А-2 Афины: плита основания в южной части храма Тесея 2,63 —8,03 Пентели D-1 Дельфы: резной блок внутри сокровищ- ницы сифнийцев 3,89 —3,10 Парос D-2 Дельфы: барабан колонны наксосского Сфинкса 1,96 —4,15 ? Е-1 Эпидавр: резной блок (возможно, пере- мычка), 10 м от Толоса 2,01 —1,12 ? Е-2 Эпидавр: коринфская капитель рядом с «третьим кругом» Толоса 2,16 —0,78 ? Е-3 Эпидавр: обрезанная плита белого мра- мора, 13 м от Толоса 2,58 —3,96 ? N-43 Наксос: ворота Аполлона, палаты, гавань Наксоса; осколок с внутренней сто- 1,67 -5,51 Наксос N-46 Наксос: ворота Аполлона, большой блок в основании холма по направлению к Наксосу 1,64 —5,35 Наксос С-1 Цезарея: коринфская капитель серого мрамора 3,51 —2,64 ? !) Данные, определяющие оси на рис. 4.5, выведены из отношений 13С/12С и 18О/1вО с помощью весьма сложной формулы, в которой измерения исследуемого фрагмента сравниваются с такими же измерениями, сделанными для стандартного образца (Крейг и Крейг, 1972, сноска 14). Можно было бы использовать отноше- ния изотопов не кислорода и углерода, а других элементов. Очевидно, что двумер- ное пространство описаний взято лишь для наглядности. Излагаемые методы лег- ко распространить на m-мерное пространство.
4.3. Классификация, основанная на близости описаний 93 тех же измерений для фрагментов скульптур в различных местах. Крейги на основе этих данных сумели отнести исследуемые фрагмен- ты к различным карьерам, но не привели правил, которыми они пользовались. В следующих разделах мы применим данные Крейгов для текущих иллюстраций, чтобы продемонстрировать, как можно построить правила отнесения с разной надежностью каждого из ис- следованных фрагментов к соответствующему карьеру. Мы не будем ни обращаться к вероятностной модели, ни делать предположений относительно вида функций плотности вероятности. 4.3.1. Определения По определению евклидова расстояния (см. (1)) квадрат расстоя- ния между двумя точками х, у в D равен т d2(*. У)= 2(х.— Уд2. (40) i=i Интуитивно ясно, что объект с описанием х похож на объекты с опи- саниями, принадлежащими некоторому множеству У={у(-}, если мало среднее значение квадрата расстояния между х и точками из Y. Таким образом, точка х близка к множеству Y, если величина "у ^(х, y) = 7-£d2(x, у) (41) nv z=i мала. Рис. 4.5 может служить иллюстрацией такому понятию близо- сти. А-1 и А-2 ближе к точкам множества Пентели, чем к точкам мно- жества Наксос. Чтобы сравнить два множества, надо оценить среднее расстояние между парами точек, взятых по одной из каждого множества. Пусть множества X и Y содержат соответственно пх и пу точек. Тогда сред- нее квадрата расстояния между X и Y равно пх пи dl(X, У/)> (42) Чем дальше в среднем друг от друга точки из X и Y, тем больше значение (42). По этому критерию, например, точки множества Пентели лежат ближе к множеству Наксос, чем к множествам Парос и Гиметт (рис. 4.5). Для оценки плотности расположения точек внутри множества нужна соответствующая мера. Пусть ею будет среднее квадрата рас- стояния между точками этого множества: "я'1 пя 2 S d' *;> («> х ' х Z=I /=1+1
94 Г л. 4. Методы, использующие евклидовы пространства описаний Эта величина тем меньше, чем ближе друг к другу точки множества. По этому критерию скопление точек в множестве Пентели более плотное, чем в множестве Наксос. Общая идея, лежащая в основе подхода, использующего поня- тие близости, состоит в преобразовании пространства описаний D в пространство D*, в котором все точки одного множества располо- жены близко друг к другу, а точки различных множеств удалены друг от друга на некоторое расстояние. В основном мы будем рас- сматривать линейные преобразования и считать D* результатом ли- нейного преобразования /n-мерного пространства D, если каждая точка х £0 отображается в точку х* по формуле х*=х!Г, (44) где W — симметричная (тХт)-матрица. Это значит, что компонен- ты вектора х* задаются равенствами х; = 2х^/Р (45) 4.3.2. Классификация на основе максимизации сходства внутри множества В нашем первом методе, основанном на близости описаний, про- странство D деформируется так, чтобы минимизировать среднее квадрата расстояния между точками множества, т. е. dl(X). Мы проиллюстрируем этот метод с помощью данных, относящихся к карьеру Парос. Исходные измерения показаны на рис. 4.6,а. Тривиальным решением такой задачи минимизации было бы отображение всех точек скопления в одну точку. Для этого можно было бы в качестве W взять нулевую матрицу, но тогда все точки в D, принадлежат они рассматриваемому скоплению или нет, отобрази- лись бы в начало координат пространства D*, что вряд ли можно было бы использовать для классификации. Ясно, что не поможет так- же и однородное сжатие пространства D с целью приблизить точки друг к другу. Судя по всему надо перегруппировать по-новому сами точки. Поэтому потребуем, чтобы преобразование, минимизирующее dl(X) для некоторого X (в данном случае для множества Парос), не меняло объема пространства D. Математически мы требуем, чтобы выполнялось равенство т Пш„.= 1. (46) z=i Оно гарантирует, что единичный гиперкуб будет иметь одинаковые объемы в D и D*. Для того чтобы удовлетворялось равенство (46) и в то же время мера d|(X) была минимальной, пространство D* должно быть таким, чтобы множество X напоминало сферу, а не эл-
4.3. Классификация, основанная на близости описаний 95 липсоид. Соответствующий результат преобразования по- казан на рис. 4.6,6. Какая же матрица преобразования W обеспечивает такую дефор- мацию пространства D? Как графически, так и алгебраически, рассматривае- мое преобразование можно провести в два этапа. Они отражены на рис. 4.7,а — в, построенном на основе данных карьера Парос. Пред- полагается, что в простран- стве D точки скопления обра- зуют эллипс. Первый этап — определение осей этого эл- липса (прямые Li и Ьг на рис. 4.7,а) и поворот осей D к осям эллипса. Получившие- ся в результате пространство D2 и множество Хг точек в нем показаны на рис. 4.7,6. Очевидно, что при повороте объем не изменился. Меняя теперь масштаб по каждой из осей пространства D2, мы просто сжимаем его вдоль од- ной оси и растягиваем вдоль другой. На рис. 4.7, в изобра- жены это новое пространство D* и новое множество X*, превратившееся из эллипса в окружность. Здесь важно подобрать растяжение и сжа- тие так, чтобы объем остался В,00 гу 3,00 - w 0,00 -3,00 -6,00 - пп -I— ----1—>-----1----- -9,50 -6,50 -3,50 -0,50 2,50 5,50 а 0,00 г -1,60 - -3,20 - -4,80 - -6,40 а, оо'---1-------1------1------1-----1 -0,50 1,10 2,70 4,30 5,90 7,50 d Рис.4.6. Преобразование множества Па- рос от исходного к наилучшему. X — известные данные, Y — неизвестные фраг- менты. Обратите внимание на изменение масштабов. прежним. Рассмотрим алгебраические операции, требуемые для преобра- зования пространства D в D*. Пусть множество X состоит из п то- чек, и пусть нужно минимизировать dl(X). Определим (/их/^-мат- рицу (/, задав ее элементы в виде п (x«i ~xi) (47) «=1
96 Гл. 4. Методы, использующие евклидовы пространства описаний где xt и х} — средние значения соответственно r-й и /-й компоне нт точек х£Х. Отметим, что дисперсия измерения i в множестве X равна Рис 4.7. Последовательные преобразования множества Парос. Обозначим через С матрицу, строки которой являются собственны- ми векторами матрицы U, расположенными в порядке убывания собственных значений. Каждый собственный вектор определяет на- правление одной из осей эллипсоида, образованного множеством X в D. Следовательно, С — матрица преобразования пространства D в D*, т. е. для всех х С D, хг хг=хС. (49)
4.3. Классификация, основанная на близости описаний 97 Чтобы перейти от D1 к D*, надо изменить масштабы, выполняя при этом требование постоянства объема. Изменение масштабов обеспе- чивается диагональной матрицей А, ненулевые элементы которой равны (т \ Пог, (50) В результате такого преобразования масштаб должен стать мелким по осям, где были небольшие отклонения между точками данного класса, и крупным — по осям, где отклонения были большими. Итак, поворот и последующее изменение масштабов описываются матри- цей преобразования № = С'А. (51) На этом этапе распознавания образов для каждого класса объек- тов, представленных в выборке, определяется отдельное простран- ство. Пусть D*' — пространство, соответствующее классу I. На этапе классификации предъявляется новый объект у, который ото- бражается в каждое из k пространств D*‘. Расстояние от у*1 до определяющего множества рассматривается в том же пространстве. Иными словами, если для определения D*' использовалось множест- во X', то вводится мера расстояния di(y*', Х*‘) и точка у относится к классу / тогда и только тогда, когда (у*', X*J)= min X*')]. (52) i=i... Чтобы закончить иллюстрацию этого метода, подсчитаем соот- ветствующие оценки сходства для всех фрагментов скульптур и всех образцов из карьеров, представленных Крейгами. Результаты при- ведены в табл. 4.2. Интересно сравнить эти классификации с клас- сификациями, сделанными Крейгами, очевидно, на основе просто зрительного изучения рис. 4.6. 4.3.3. Дискриминантный метод Существуют два серьезных возражения против классификации, основанной на сходстве объектов, принадлежащих одному множе- ству. Первое заключается в том, что для каждого класса требуется отдельное преобразование и тем самым усложняется весь процесс классификации. Второе состоит в том, что изучение каждого класса в отдельности не позволяет обнаружить степень различия между классами в пространстве исходных измерений. Предлагаемый ниже критерий устраняет именно эти возражения. Он состоит в максими- зации различия между точками разных множеств; при этом сумма расстояний между точками внутри и между множествами остается 4 Э. Хаит
98 Г л. 4. Методы, использующие евклидовы пространства описаний Таблица 4.2 Оценки сходства для фрагментов скульптур и образцов из карьеров Наиме- нова- ние облома Описание Нак- сос 1 Пен- тели Парос Гиметт Нак- сос II А-1 Афины: храм Тесея (Гефеста) на центральной площади, колонна в его северной части 2,20 0,31 26,04 30,44 3,74 А-2 Афины: плита основания в южной части храма Тесея 1,87 0,23 27,27 31,89 4,22 D-1 Дельфы: резной блок внутри сокро- вищницы сифнийцев 40,40 28,25 0,92 3,47 12,36 D-2 Дельфы: барабан колонны наксос- ского Сфинкса 26,19 17,91 8,11 3,25 4,37 Е-1 Эпидавр: резной блок (возможно, перемычка), 10 м от Голоса 66,10 52,07 11,45 1,89 25,49 Е-2 Эпидавр: коринфская капитель ря- дом с «третьим кругом» Голоса 71,66 56,85 12,26 2,85 28,97 Е-3 Эпидавр: обрезанная плита белого мрамора, 13 м от Голоса 28,13 18,88 4,95 2,70 5,23 N-43 Наксос: ворота Аполлона, палаты, гавань Наксоса; осколок с внут- ренней стороны ворот 14,52 9,07 14,07 10,05 1,09 N-46 Наксос: ворота Аполлона, большой блок в основании холма по на- правлению к Наксосу 15,77 10,05 13,54 9,12 1,34 С-1 Цезарея: коринфская капитель се- рого мрамора 45,18 32,53 1,91 1,92 14,22 постоянной. Такой критерий называется дискриминантным. Оче- видно, этот подход должен привести к одной (составной) мере, по которой значения точек одного множества близки, а разных мно- жеств существенно различны. Этот критерий имеет интересную геометрическую интерпрета- цию. Можно представить себе составную меру в виде прямой в т- мерном пространстве, выходящей из начала координат пространства описаний D. Любая точка будет проектироваться на эту прямую. Мы ищем прямую, для которой точки одного множества проекти- руются в одну и ту же область, а разных множеств — в разные об- ласти. На рис. 4.8 изображены проекции данных, представленных Крейгами для карьеров Парос, Гиметт и Пентели на прямую L, определяемые взвешенными суммами упомянутых выше отношений кислорода и углерода. Для определения соответствующих вычислительных процедур понадобятся три вспомогательные матрицы G, V и Т. Для любой
Неизвестные Гиметт ____ШХХВХ__ Парос _____«пак «ж Пентели ч чччгж Наксос I И ХЖ X 0,00 1,25 2,50 3,75 5,00 6,25 7,50 8,75 10,00 Проекции на L Неизвестные УХ у V XV____________XX__________XX_____________ Наксос П YY XX Гчметт чжччч/ч Парос _______ччасл чи-и Пентели х хххпми. Наксос I « х« х I--------1-------1--------1-------1_________I_________। । t 0,00 1,25 2,50 3,75 5,00 6,25 7,50 8,75 10,00 Проекции на L Рис. 4.8. Проекции на соответствующие оптимальные дискриминантные соб- ственные векторы; а — пяти групп точек; б — шести групп точек. 4*
100 Гл. 4. Методы, использующие евклидовы пространства описаний пары точек х, y£D зададим (т х т)-матрицу G(x, у) с элементами grs (х, у) = (хг — уг) (xs — ys) = gsr (х, у), (53) равными произведениям разностей s-й и r-й компонент векторов х и у. Предположим, что исходные данные состоят из k множеств X1, ..Xk наблюдений, соответствующих k классам. Обозначим через V усредненную матрицу G (х, у) по всем парам точек х и у из различных множеств Х‘ и X7’, а через Т — усредненную матрицу G(x, у) по всем парам независимо от принадлежности их какому-то классу. Алгебраически это можно записать так: *-1 k nt nj V = £(£—I) «7 n} G (54) 1=1 /=1+1 J Q 1 P=1 и если k k X = и xl, n=^n{, (55) i= i i=i TO n-1 n Г'гиЕ S <56> i— ] j — i + У Если W — матрица, строки которой являются собственными векторами матрицы VT~\ то wx — собственный вектор, соответст- вующий наибольшему собственному значению. Собственный вектор Wj определяет направление максимально разделяющей прямой, вы- ходящей из начала координат пространства D. Точнее, прямая L, которую мы ищем, образует с /-Й осью dj пространства D угол, та- кой, что cos (L, dj) = j. (57) Определением прямой L завершается этап распознавания обра- зов. На этапе классификации объект относится к классу i в зависи- мости от положения на L проекции его описания у. Для любой точки х СD обозначим X* = xWp (58) Классифицируем у как описание объекта из класса i (i=l, ... , k) тогда и только тогда, когда величина ni c(y)=i£[y*-W)*] (59) ‘/=i минимальна. Недостаток дискриминатного метода состоит в том, что, хотя он приводит к хорошей мере для классификации по всем классам, он не
4.3. Классификация, основанная на близости описаний 101 обязательно дает хорошую меру для каждого класса в отдельности. Это ясно видно, если приглядеться к рис. 4.5. Ни одна прямая не может разделить все классы, поскольку наилучшая прямая для раз- деления множеств Пентели и Наксос ориентирована не так, как оп- тимальная прямая для разделения всех множеств, кроме Наксос. 4.3.4. Сравнение статистического анализа и основанного на понятии близости распознавания образов Бейесовский статистический метод классификации, представ- ленный в разд. 4.2, весьма схож с распознаванием образов, основан- ным на минимизации расстояния между точками одного класса. В обоих случаях разыскивается преобразование для каждого клас- са, приближающее элементы класса друг к другу. В бейесовском подходе, использующем предположение о многомерном нормальном распределении, это преобразование минимизирует расстояние от каждой точки скопления до его центра. В методе, основанном на близости, минимизируется среднее значение квадрата расстояния между парами точек одного класса. Два этих решения почти оди- наковы. Существует аналогичная связь между дискриминантным методом и статистическим дискриминантным анализом. Допустим, что най- дена некоторая линейная комбинация у описаний, соответствующих измерениям {хг}. Определим SSb как сумму квадратов расстояний от средних значений у для классов до среднего значения у всей вы- борки, a SSW — как сумму квадратов расстояний от точек класса до среднего значения этого класса. В статистическом дискриминант- ном анализе у выбирается так, чтобы отношение K = SSb/SSw (60) было максимальным. Это аналогично критерию максимизации, из- ложенному в разд. 4.3.3. Разница в том, что в анализе, основанном на близости, внимание уделяется расстояниям между парами точек, тогда как в статистическом анализе — расстояниям между отдель- ными точками и средними значениями для соответствующих классов. 4.3.5. Нелинейная классификация Правило классификации образов, основанное на выборке, в иде- альном случае должно верно классифицировать точки самой выбор- ки. Это не всегда достижимо, если ограничивается возможная форма правила классификации. В частности, если в правиле классифика- ции применяется линейное преобразование пространства описаний, то точная классификация осуществима, только если можно провести гиперплоскости между каждой парой классов так, чтобы все точки одного класса лежали по одну сторону гиперплоскости, а все точки
102 Гл. 4. Методы, использующие евклидовы пространства описаний другого класса — по другую. Возвращаясь к данным Крейгов (рис. 4.5), сразу видим, что такие гиперплоскости можно провести между точками любой пары карьеров, кроме Наксоса и Пентели. Если нужная гиперплоскость существует, то классы, которые она от- деляет, называются линейно отделимыми в пространстве описаний D. В этом случае задача распознавания образов сводится к нахож- дению соответствующих гиперплоскостей. Если какая-то пара клас- сов линейно неотделима, то любой из описанных методов будет не- верно классифицировать некоторые объекты исходной выборки. Задачу с линейно неотделимыми классами легко превратить в за- дачу, содержащую только линейно отделимые классы. Достаточно перейти к новому пространству описаний D$, представляющему со- бой результат такой нелинейной деформации пространства D, что все классы станут линейно отделимы в D%. Определение простран- ства D$ основано на том, что любую функцию т переменных можно аппроксимировать функцией вида к к g(Xt......xj = 2 • ..£ ai.../xi-xln, (61) 1=0 1=0 где Д достаточно велико. Если известна пара линейно неотделимых классов в D, можно перейти от D к новому пространству DK, коор- динаты в котором задаются всеми возможными функциями /(х)==х(.. .х>т. (62) Если граница между двумя классами в D описывается функцией ви- да (61), то эти два класса будут линейно отделимы в DK. Затем из- ложенные выше методы распознавания образов применяются к зада- че в DK и вычисляется матрица W; тем самым определяется про- странство D$, которое есть не что иное, как образ пространства DK при линейном преобразовании W (Себестиан, 1962, гл. 3). Трудность этого метода в том, что может потребоваться большой объем вычислений. Размерность пространства Dx растет экспонен- циально с ростом Д', а поскольку операции с матрицами требуют вычислений, сложность которых растет экспоненциально с ростом размеров матриц, проблема действительно серьезная. Конечно, на практике встречаются ситуации, в которых существенно нелиней- ные в пространстве D задачи можно решить с довольно малым Д'. На рис. 4.9 приведен пример, для которого Себестиан получил реше- ние при Д=6. Разумеется, можно было бы найти также и патологи- ческие примеры, где потребовались бы невообразимо большие зна- чения Д'. Имеются две другие возможности решения нелинейных задач способами, отличными от только что описанного. Первая исполь- зует диалоговый подход. Трудность практического осуществле- ния последовательных проверок пространства DK связана с боль-
4.3. Классификация, основанная на близости описаний 103 шими затратами времени, необходимого для поиска собственного вектора матрицы W, когда велико. Однако иногда, прежде чем искать этот вектор, можно просто по распределению точек в про- странстве описаний DK определить, отделимы ли различные классы линейно. Если бы это удалось сделать достаточно быстро, то можно было бы решить, следует ли дальше рассматривать данное простран- ство. Одним из путей выбора решения могло бы быть выведение на графический дисплей необходимых проекций точек выборки и пре- доставление возможности человеку управлять последующими вы- числениями. Хотя в распознавании образов обсуждался диалоговый Рис. 4.9. Пространство разбито на области, определяемые перекрестными про- изведениями шестой степени (Себестиан, 1962, рис. 3.8.) подход (Гарнац и Хант, 1973), однако, неизвестно, применялся ли этот метод и насколько он был бы хорош. Одним из требований для его реализации должна быть разработка методов вывода на дисплей многомерных распределений в виде, удобном для восприятия чело- веком. Вторая неформальная процедура состоит в исследовании классов преобразований пространства D, менее широких, чем множество линейных полиномов. Именно это обычно и делается в статистиче- ской классификации. Если известно, что начальные скопления то- чек не имеют формы эллипсоида, ищут преобразование, приводящее к эллипсоиду, а затем переходят к линейному методу. Это бывает полезно в тех случаях, когда есть какое-то представление о проис- хождении данных или когда распределение данных не имеет формы эллипсоида. Рассмотрим пример распределения (рис. 4.10,а), по- лученного равновероятным размещением точек по ординате и экс-
104 Гл. 4. Методы, использующие евклидовы пространства описаний поненциальным по абсциссе. На рис. 4.10,6 показан результат следующего преобразования: единицей по ординате становится нор- мальное стандартное отклонение (Хоел, 1970), а по абсциссе — ло- гарифм исходной единицы измерения. Форма скопления прибли- жается к желаемой форме эллипса. Этот подход, основанный на разумном выборе преобразований, вообще принят в распознавании образов и статистике. Будучи менее общим методом, чем последова- Рис. 4.10. Пример нелинейного преобразования: а — исходное распределение; б — преобразованное распределение. тельное построение DK, он может привести к нужным результатам со значительно меньшими затратами на вычисления. Если известна природа данных, нобходимо следить за тем, чтобы применяемое преобразование имело смысл. Этот вопрос тесно связан с упоминав- шимся ранее вопросом относительно измерений: если известно про- исхождение данных, то какие преобразования допустимы? 4.3.6. Классификация по правилу ближайшего соседа Анализ, основанный на понятии близости, который мы изложили в предыдущих разделах, позволяет отбросить предположение о том, что для каждого класса заранее известна функция плотности веро-
4.3. Классификация, основанная на близости описаний 105 ятности: при этом сохраняются идеи евклидова расстояния и усред- нения измерений по некоторому множеству точек. В данном разделе описывается очень простой метод классификации, в котором не ис- пользуется усреднение и допускается нарушение линейной отдели- мости. Метод называется классификацией по правилу ближайшего со- седа. Помимо того, что в этом методе не делается никаких исходных предположений, вычисления на этапе распознавания образов зани- мают в нем мало времени. Недостатки его состоят в том, что на этапе классификации образов могут потребоваться значительные вычис- лительные ресурсы, и он не удовлетворяет никакому разумному критерию в смысле оптимальности классификации. Покажем, одна- ко, что его можно считать в некотором смысле удовлетворительным, хотя и не оптимальным. Прежде чем описать сам метод, уместно будет кратко обсудить понятие усреднения. Из-за чего можно усомниться в том, что имеет смысл усреднять измерения? Ответ заключается в том, что усредне- ние имеет смысл, только когда можно предположить, что измерение, соответствующее среднему, представительно по отношению к от- дельным измерениям. Чтобы увидеть, когда это так, а когда не так, вернемся снова к данным Крейгов (рис. 4.5). Экспериментальные точки для образцов из четырех карьеров явно сгруппированы во- круг некоторой центральной, так что для нахождения типичной экспериментальной точки имеет смысл усреднять по выборкам из каждого карьера. Но данные карьера Наксос, по-видимому, обра- зуют два отдельных скопления (Крейги именно так и интерпрети- руют эти данные, хотя и не указывают причин своего предположе- ния). Усреднение по всем точкам из обоих скоплений Наксоса дает среднюю (центральную) точку, которая на самом деле не будет пред- ставителем экспериментальных точек. Подобные примеры, конеч- но, можно построить для еще более очевидных случаев. Например, величина „человек среднего веса" должна вычисляться с учетом всех людей, как мужчин, так и женщин, что явно не имеет смысла. Вооб- ще, задачи, в которых усреднение непригодно, для человека оче- видны, но как объяснить машине то, что очевидно для чело- века? Алгоритм классификации по правилу ближайшего соседа очень прост. Представим выборку S в виде последовательности экспери- ментальных точек х<1), ... , х(п) с известной принадлежностью классам. На каждом шаге при наблюдении экспериментальной точки делается предположение о ее классе и классификатору сообщается правильный ответ. Предположение относительно х^’ производится после исследования предыдущих j—1 экспериментальных точек и нахождения k ближайших к х^’ точек. При k=\ найденная точка будет ближайшим соседом точки х^’, так что х*'1 относят к тому классу, которому принадлежит этот ближайший сосед. Если fc>l, то правило классификации сильно усложняется. Поэтому обычно
106 Гл. 4. Методы, использующие евклидовы пространства описаний применяют простые правила (например, голосование по большин- ству). Метод ближайшего соседа был впервые описан Фиксом и Ход- жесом в 1951 г. С тех пор ему почти не уделяли внимания, возмож- но, потому, что он кажется слишком простым, чтобы быть интерес- ным! Однако удивительно, что в тех исследованиях, в которых при- менялась классификация по правилу ближайшего соседа, обычно получались хорошие результаты. Кавер и Харт (1967; см. также Кавер, 1969) доказали для случая /е= 1 одну теорему, которая дает объяснение этому явлению. Пусть Rn — вероятность сделать ошибку при классификации по правилу ближайшего соседа в выборке S размера п. Не зная рас- пределений вероятностей (включая соответствующие параметры), порождающих S, нельзя точно определить Rn, но эту величину можно оценить статистически. Положим С„_! = число наблюдений {х,} в последовательности х(1), ..., x(n), которые были бы неверно класси- фицированы по правилу бл жайшего соседа в выборке S — х('*. Заметим, что это точная оценка только в предположении, что xli) — независимые случайные выборки с возвращением. Сп — случайная величина с математическим ожиданием E(Cn)=Rn. (64) Интуитивно ясно, что Rn с ростом п стремится kR,» (формальное доказательство см. (Кавер и Харт, 1967)). Пусть R* будет риском ошибочной классификации любого случайным образом выбранного наблюдения при использовании некоторого неизвестного бейесов- ского метода оптимальной классификации. Кавер и Харт доказали, что для случая двух классов /?*<К.<2/?*(1-Я*). (65) В табл. 4.3 приведены значения верхней границы для Ra, соот- ветствующей некоторым типичным уровням бейесовского риска (нижней границы). Чтобы решить, приемлемы ли эти границы, рас- смотрим „мысленный эксперимент". Пусть даны два черных ящика, представляющие собой устройство классификации. Они могут быть либо оба бейесовскими, либо оба по правилу ближайшего соседа, либо различными. Наша задача заключается в выяснении, какая из этих возможностей на самом деле осуществляется. Чтобы решить ее, потребуем, чтобы каждое устройство классификации работало с различными выборками из N объектов. Так как выборки различны, можно было бы ожидать, что устройство классификации по правилу ближайшего соседа сделает больше ошибок. Поэтому, если шансов менее 1 из 100, что число наблюдаемых ошибок будет таким же, как в
4.3. Классификация, основанная на близости описаний 107 Таблица 4.3 Верхняя и ннжняя границы асимптотического риска при использовании правила ближайшего соседа. Размер выборки, необходимый для различения оптимального бейесовского правила и правила ближайшего соседа (наихудший случай) 1. Бейесовский риск (иижняя граница) 2. Верхняя граница 3. Размер выборки, необходимый для различения За. мощность=0,5 36. Мощность=0,75 0,059 0,095 470 930 0,100 0,180 220 430 0,150 0,225 170 340 0,200 0,320 160 310 0,250 0,375 160 320 Величины в столбцах За и 36 получены методом оценки мощности критерия, описанным Коэном (1969), с помощью линейной интерполяции его данных (табл. 6.41). случае одинаковых устройств классификации, мы решаем признать одно устройство бейесовским, другое — по правилу ближайшего соседа. Если же расхождение не слишком велико, то будем считать эти устройства классификации одинаковыми. Как велико должно быть число N, чтобы а) у нас были хорошие шансы правильно счи- тать устройства классификации различными каждый раз, когда они действительно различны, или б) правильно решать этот вопрос в той же ситуации в трех случаях из четырех? Ответ можно получить, ис- пользуя для оценки возможностей неравенства (65) и затем приме- няя статистические методы оценки мощности критерия (Коэн, 1969). Не будем останавливаться на объяснении результатов, просто сфор- мулируем их. В столбцах За и 36 табл. 4.3 приведены необходимые размеры выборки для каждого эксперимента с различными уровня- ми бейесовского риска. Эти оценки могут оказаться лишь занижен- ными, поскольку при подготовке таблицы предполагалось, что уст- ройство классификации по правилу ближайшего соседа функциони- рует с максимально возможным риском. В распознавании образов по методу ближайшего соседа проблема состоит в том, что найти ближайшего соседа за разумное время сов- сем не просто. В распоряжении должна быть достаточная память для хранения всей выборки, а также процедура поиска, позволяю- щая быстро находить ближайшего соседа к вновь поступившему элементу. Представьте, например, для сравнения задачу использо- вания данных переписи населения Соединенных Штатов, где число случаев составляет миллионы, а число переменных порядка 100.
108 Гл. 4. Методы, использующие евклидовы пространства описаний Вообще метод ближайшего соседа чувствителен к числу случаев в выборке, тогда как другие методы чувствительны к числу перемен- ных. Это надо помнить при выборе метода решения конкретной за- дачи. В заключение следует сказать, что метод ближайшего соседа дает удивительно хорошие результаты, если учитывать его просто- ту. Он особенно полезен в ситуациях, когда в значительной мере на- рушается предположение о линейной отделимости. Основные сла- бости метода ближайшего соседа заключаются не в недостатке точ- ности, а в требовании большой памяти и в том, что он (как и другие методы, использующие идею близости) очень сильно зависит от предположения об евклидовости пространства 1). 4.4. Алгоритмы с обучением 4.4.0. Введение Важная разновидность задачи распознавания образов получила название „машинное обучение". Употребляется также и более осто- рожный термин „адаптивное распознавание образов". Предположим, что вместо того, чтобы сразу задавать фиксированную выборку X, подлежащую анализу, к устройству распознавания образов посту- пает последовательность Sx = x(1)....х(/>.....х(П, (66) в которой каждое возможное наблюдение появляется бесконечно много раз. Мы можем представить себе Sx как последовательность, полученную повторяющимся выбором с возвращением x(Z) из множе- ства возможных описаний объектов. При этом этапы распознавания и классификации образов совмещаются. Допустим, что есть какое- то правило классификации. При появлении каждого элемента х*'1 проводится его классификация по этому правилу, и устройству рас- познавания образа сообщается о верной классификации. Затем пра- вило корректируется. Вместо вопроса „Какое решающее правило должно выводиться из конечной выборки?", как было ранее, нас теперь интересует „С помощью какого алгоритма соответствующее решающее правило можно построить последовательным приближе- нием?". Такой алгоритм будет называться алгоритмом с обучением. Его выходом будет последовательность решающих правил Sa, = №<i>, ..., W{t), (67) х) Минский и Пейперт (1969, разд. 12.3) приводят пример, в котором метод ближайшего соседа фактически хуже, чем чисто случайный подход; однако в этом примере нарушены допущения об евклидовости пространства.
4.4. Алгоритмы с обучением 109 где i-e правило применяется для классификации i-ro наблюдения. Алгоритм с обучением называют сходящимся, если существует такое положительное целое число t*, что U7(/’) = uz(/‘+/)( /^о. (68) Иными словами, равенство (68) означает, что наше правило обучения установит в конце концов единственную, не меняющуюся процедуру классификации. Правило обучения считается хорошим, если про- цедура, которую оно устанавливает, максимизирует некоторый кри- терий качества классификации. Аналогия с обучением в обычном смысле очевидна, поскольку алгоритм, удовлетворяющий этим определениям, будет обучаться по мере накопления опыта. Интересно заметить, что некоторые сущест- вующие алгоритмы с обучением можно было бы реализовать сетью элементов, похожих в каком-то смысле на нервные клетки. В самом деле, большинство ранних работ по машинному обучению, по край- ней мере частично, было вызвано желанием смоделировать обучение биологических систем. Персептрон, широко известный тип обучаю- щейся машины, впервые был описан Розенблаттом (1958), а в его книге (1962) широко обсуждается отношение алгоритмов, применяе- мых в персептроне, к нейрофизиологии. Помимо этого небольшого экскурса в историю, мы не будем более затрагивать вопросы исполь- зования различных схем обучения в качестве биологических моде- лей. (Как правило, эти попытки наивны.) Вместо этого мы рассмот- рим (подобно Нильсону (1965а)) математический аспект задачи обу- чения. 4.4.1. Определения и обозначения Понятие последовательности наблюдений было дано выше. Пред- полагается, что каждый член последовательности принадлежит точ- но одному из k^2 классов. Существенное отличие от некоторых из наших предыдущих рассмотрений состоит в том, что считается, что никогда два класса не могут породить одинаковое наблюдение. Ранее мы предполагали только, что каждый класс характеризуется веро- ятностью, связанной с каждой точкой пространства описаний, а те- перь требуем, чтобы каждая точка х С D относилась к единственному классу. Вместо правила обучения для последовательности Sx мы построим правило для 5{, = у(1’, ..у1°, (69) где у(0 — это (т+1)-мерный вектор, полученный из х<;) добавлени- ем 1 в качестве (т+1)-й компоненты. Будем говорить, что у(П при- надлежит классу /, если х*'1 — описание объекта из класса /. Оче- видно, что правило для классификации Sy будет также классифици- ровать и Sx.
ПО Гл. 4. Методы, использующие евклидовы пространства описаний Классы называются отделимыми, если существует такое множе- ство функций {g;}, что gr (У<л) = max {gj (у(‘>)} (70) тогда и только тогда, когда у(П принадлежит классу /*. Классы называются линейно отделимыми, если эти функции линейны: т +1 т gj(y{i})= S ^ysif = 2 Wjsx^ + wjm+1. (71) S=1 S=1 Отметим, что это по существу те же определения, что и наши преж- ние определения отделимости и линейной отделимости, лишь с соот- ветствующими изменениями в обозначениях. Если верно (71), то правило классификации wa} можно задать (&Х(/п+1))-матрицей, строки которой представляют собой векторы v/}. Тогда (71) удобно записать в виде скалярного произведения ^(у“’) = у"’.№/. (72) Вообще говоря, уравнениям (70) и (71) удовлетворяет бесконечно много матриц W. В этом разделе мы будем предполагать, что некото- рая матрица W существует (если явно не оговорено противное). Наша задача — показать, что определенные правила обучения при- водят к удовлетворительному правилу классификации Случай k—2 особенно интересен по трем причинам: (1) он допу- скает подробный анализ, (2) часто встречается на практике и (3) это частный случай, к которому можно свести общий случай при k>2. Предположим, что по крайней мере одно множество линейных функ- ций G={gly g2} удовлетворяет уравнениям (70) и (71). Тогда разде- ляющая функция g*=gi—gt (73) существует и равна т+1 т+ I g*(y“’) = 2 w^= S (wls—wis)y^. (74) S=1 S=1 Поэтому неравенство £*(У,п)>0 (75) справедливо тогда и только тогда, когда у(П принадлежит классу 1. Обозначим через Yr и Y2 множества векторов, принадлежащих со- ответственно классам 1 и 2, и пусть 2= Л U (—К2). (76) Неравенство g*(z)>0 (77)
4.4. Алгоритмы с обучением 111 справедливо для всех z^Z. Говорят, что функция g* линейно содер- жит некоторое множество Z, если справедливо (77). Из способа по- строения Z следует, что если можно найти функцию, линейно содер- жащую Z, то можно найти функцию, удовлетворяющую неравенст- ву (75) и, значит, линейно отделяющую И и Y2. 4.4.2. Процедура обучения для двух классов Теперь построим правило обучения для двух классов. По пред- положению существует множество векторов {w*}, линейно отделяю- щих Ki и К2. Задача состоит в том, чтобы найти один такой вектор. Это будет сделано с помощью алгоритма, известного под названием процедуры коррекции по ошибкам (правило классификации совер- шенствуется с учетом лишь ошибок). Алгоритм коррекции по ошибкам для двух классов (1) Пусть w(il — приближение, используемое для классификации уи}. (2) w(1)=(0.....0). (3) При заданном w(,) нужно поступать согласно следующим правилам. Случай 1: (у)’'1 К,. (а) Если уф-^'}>^, то wl‘+1)=w(n. (б) Если y(il-w(i)^0, то w('+1)=w(/>+y(Z). Случай 2: у(П € К2. (а) Если y'^’-w'^CO, то у/(,'+1>=маХ (б) Если y'^-w^’^O, то w(/+1)=w(/’—у(/). Можно было бы предложить и доказать необходимые теоремы о не- сколько более общем алгоритме, в котором w(1) — произвольный вектор, а коррекция по ошибкам заключается в добавлении ±су(,), где с — любая положительная постоянная, но это неоправданно усложнит изложение. Теорема обучения для двух классов. Если и У 2 линейно отде- лимы и для определения w('’ используется указанный алгоритм кор- рекции по ошибкам для двух классов, то существует такое целое число £>0, что w(<) линейно отделяет Yi и У2, и, значит, w(<+7’=w(<l для всех />0. В теореме утверждается, что приведенный выше алгоритм ра- ботает правильно. Эту теорему можно доказать несколькими способами. Мы пока- жем, что можно найти вектор w(f), линейно содержащий множество Z, определенное соотношением (76). Пусть Sz — последовательность векторов z, соответствующих элементам из Sv. Приведенный выше алгоритм преобразуем сначала в процедуру, работающую с Sz.
112 Гл. 4. Методы, использующие евклидовы пространства описаний Преобразованный алгоритм для двух классов (1) w(n=(0, ... , 0), как и ранее. (2) w(‘+1)=w('), если z(n'Wl,)>0. В исходном алгоритме это соответствует случаям верной классификации. (3) w('+1)=w(,')+z(,'), если z(O«w<')^0. В исходном алгоритме это соответствует случаям ошибочной классификации. Пусть Se — последовательность ei, ... , е>, где е> есть /-я ошиб- ка в классификации. Таким образом, Se — подмножество множества 8г, а е;- — вектор, вызывающий /-е обращение к шагу 3 модифици- рованного алгоритма. Если множество Se конечно, то число обра- щений к шагу 3 также конечно, и последнее обращение дает правило w(<), которое дальше не изменяется. Однако по предположению S2 — бесконечная последовательность, в которую любая возможная экс- периментальная точка входит бесконечно много раз; поэтому пра- вило w(<) должно классифицировать все точки и тем самым линейно отделять Y\ и У2. Итак, надо показать, что множество Se конечно. По предположению существует весовой вектор w*, линейно со- держащий Z. Поэтому найдется такое положительное число а, что min {z- w*} = а > 0. (78) zez Пусть w(/) будет этим весовым вектором, построенным после Лй ошибки. Согласно алгоритму, w(0=2ey. (79) откуда t С помощью соотношения (80) можно установить нижнюю границу величины [w(/)l2. Применим неравенство Шварца (произведение квадратов двух векторов не меньше квадрата их скалярного произ- ведения): w (О2 (w*)2;>[w(/)-w*]2, (81) нли (w(0)2> (w((y)2-. (82)
4.4. Алгоритмы с обучением 113 Объединяя (80) и (82), получаем (w^))2^-^^/2-^, (83) где ЛТ t — неизвестная постоянная, значение которой зависит от w*. Нам не обязательно знать значение Mi, мы хотели лишь показать, что нижняя граница для (w(Z))2 пропорциональна I2. Теперь покажем, что верхняя граница для (w(/))2 пропорцио- нальна t. Согласно алгоритму, w(/+l) = w(/)+ef+1. (84) Возведем обе части равенства (84) в квадрат: (w (t + I))2 = (w (/))2 + 2w (/)-е<+1 + (е<+J2. (85) Так как использование вектора w(/) привело к ошибке et+1, то w(/)-e/+1^0, и потому (w (/ + I))2-(w (О)2 (е<+1)2. (8G) Суммируя (86) для / = 1, ... , t, находим {(W (t + 1))2 - (W (/))2} + {(W (/))2-(w(/-l))2}+... ...+{(W(1))2-(W(O))2}^ 2 (ey)2. (87) /=i Поскольку w(0)=w<1)=0, а все средние члены взаимно уничтожа- ются, остается (w (/ + 1))2^ 1 (еу)2, (88) или, что эквивалентно, (w(Z))2<i(e,)e. (89) /=1 Поскольку множество Z конечно, оно должно обладать наибольшим вектором. Так как SecS2, длина этого вектора не меньше длины на- ибольшего вектора в Se: М2 = max {(z2)} > max {(е2)}. (90) Z6Z etese Объединяя (89) и (90), получаем (w(/))2^S(ey)2^/Ma, (91)
114 Гл. 4. Методы, использующие евклидовы пространства описаний а с учетом (83) имеем (92) Это справедливо только тогда, когда т. е. мы получили верхнюю границу для t. Отсюда заключаем, что множество Se конечно, и, значит, существует последняя ошибка. Алгоритм должен сходиться к некоторому вектору w(/), линейно содержащему Z. Теорема доказана. Необходимо сделать два замечания. Во-первых, хотя t конечно, его нельзя вычислить, не зная w*. Поскольку цель алгоритма — найти какой-нибудь вектор w*, то нельзя установить априорно тре- буемый объем вычислений. Во-вторых, предположение, что каждый вектор из Y входит в Sy бесконечно много раз, занимает централь- ное место во всем предыдущем обсуждении. Если бы обучающая по- следовательность состояла из заданных повторяющихся подвыборок Y*c.Y, то алгоритм приводил бы к вектору w*. достаточному для классификации Y*\ классификация же вне множества Y* (т. е. в Y—Y*) могла бы дать ошибку. 4.4.3. Обобщение на случай k классов В задаче с несколькими классами множество Y (и X) разбивается на k подмножеств Yu ... , Yh. Множество Y будет называться ли- нейно отделимым матрицей №'* = {№'?} весовых векторов тогда и только тогда, когда y wz‘>y w* для всех y^Yh j=l,...,k, j^=i. (94) Мы считаем W* матрицей, строками которой служат векторы wf. Предположим, что W* существует. Обучающий алгоритм строит по последовательности наблюдений Sy конечную последовательность матриц Sw, последний член которой линейно отделяет Y. Алгоритм коррекции по ошибкам для нескольких классов (1) Пусть 1Г(1> — начальная матрица. Как и раньше, W1-1’будет нулевой матрицей, хотя это и не обязательно. (2) Как и раньше, определим последовательность Sy. Рассмотрим любой вектор у(() в Sy, и пусть Y, — класс, которому он принадлежит. Наблюдение y(f) будет классифицироваться матрицей IFf). Матрица U7((+l) вычисляется по следующим правилам. (2а) Если классификация верна, то №<*+1)= lF(h.
4.4. Алгоритмы с обучением 115 (26) Если классификация ошибочна, то найдется по крайней мере одно число ],для которого у(П • w/’^y(<) • wp. Для каждого i и каждого такого j положим wf+11 = w*" + у’п, (95) w/+l’ = w)ft—у(6. (96) Как и раньше, можно было бы в (95) и (96) заменить у(<) на су(П (с>0), но для простоты записи мы этого делать не будем. Чтобы доказать, что алгоритм работает правильно, опять надо показать, что последовательность ошибок Se конечна. Из тех же со- ображений, что и ранее, заключаем, что если последовательность Se конечна, алгоритм должен решать задачу классификации. Пусть Z будет множеством £ (т+1 )-мерных векторов, построен- ных из Y так, чтобы вектор v, линейно содержащий Z, содержал эле- менты матрицы W* в определенном порядке. Чтобы получить такое множество, используется каждый вектор у 6 Y для определения k— 1 векторов в Z. Возьмем у £ Уг. Векторы г, построенные из у, обозначим {Zi: /(у)} для / = 1, ... , k, p£i. Каждый вектор Z,; Ду) состоит из k блоков, каждый из которых имеет /п+1 компонент, причем . а) i-й блок вектора Zi- / (у) совпадает с т-\-\ компонентами век- тора у, б) /-й блок вектора Zi: t (у) совпадает с т+1 компонентами век- тора —у, в) все остальные компоненты вектора Zt _ j (у) равны нулю. Таким образом, для любого вектора у из класса i в множестве Z есть k—1 векторов, соответствующих отличиям его от классов, которым он не принадлежит. У этих векторов г-й блок соответствует правиль- ному классу. По предположению матрица W* существует. Мы будем искать вектор v*, составленный из k векторов w, (строк матрицы (Г*). Алгебраически (rn+i), /= (97) для 1 = 1, ... , k и /=1, ... , т+1. Тогда для каждого вектора Zi:, (2/:/(y))-v* = y-w; >0, y^Yt, (98) поскольку если Y линейно отделяется матрицей W*, то y-W;> >yw/. Теперь обратим этот процесс, и пусть известно, что v* линейно содержит Z. Равенство (97) можно тогда использовать для определения век- торов матрицы U7*, линейно отделяющей Y. Подходящий вектор v* можно найти с помощью изложенного выше алгоритма для двух классов. Таким образом, задача для нескольких классов решена:
116 Гл. 4. Методы, использующие евклидовы пространства описаний как только вектор v* найден, вычисление матрицы W* тривиально1). В самом деле, легко видеть, что алгоритм для нахождения вектора v* совпадает с нашим алгоритмом построения последовательности Sw. 4.4.4. Распространение результатов на нелинейные и неевклидовы случаи Читатель, возможно, уже заметил, что нигде в нашем алгоритме не использовалось евклидово расстояние. В формулировке алгорит- ма участвуют численные значения суммы квадратов компонент век- торов и не требуется никакой интерпретации в смысле измерений. Таким образом, можно было бы-с тем же успехом применять наши правила к объектам, описываемым целыми числами или двоичными векторами. Второй случай особенно интересен из-за его многочис- ленных интерпретаций. Допустим, что устройство распознавания образов получает на вход сигналы от устройств „обнаружения при- знаков", каждый из которых выдает 0 или 1 в зависимости от того, обладает или нет классифицируемый объект определенным свойст- вом. „Свойством" в данном случае можно считать любое качество объекта. Устройство распознавания образов будет оперировать век- торами, состоящими из двоичных элементов. Если эти элементы ли- нейно отделимы (в алгебраическом смысле), то независимо от того, имеет ли смысл геометрическая интерпретация линейной отделимо- сти, можно применить алгоритм коррекции по ошибкам. Единствен- ное ограничение, с которым мы сталкиваемся на этом пути,— само понятие линейной отделимости. В следующей главе мы вернемся к этому вопросу. 4.4.5. Сходимость Практически приемлемая процедура распознавания образов должна дать правильный ответ и притом достаточно быстро. Описан- ные методы сходимости называются методами фиксированных интер- валов 2). Когда у(П классифицируется неверно, каждая компонента вектора w(,) изменяется на фиксированную величину, которая за- висит от вида сделанной ошибки, но не от того, насколько плоха была классификация, что интерпретируется как степень нарушения соответствующего неравенства. Интуитивно хотелось бы больше изменить w(Z) при слишком уж плохой классификации у’1'1 и меньше в противном случае. Нильсон (1965а) показал, что в задаче для двух !) Строго говоря, задача решена для IF(1>= 0 н с— 1. В общем случае опять до- казательство легко провести, опираясь на соответствующую обобщенную задачу для двух классов. 2) Или методами постоянных приращений.— Прим, перев.
4.5. Группирование 117 классов можно получить более быструю сходимость, заменяя в рас- смотренном алгоритме фиксированную постоянную с переменной С = Х2^>. (99) Получающийся в результате алгоритм сходится при условии, что X лежит в интервале (0, 2). Ченг (1970) построил аналогичный алго- ритм для случая £>2 и показал, что в ряде задач он сходится доста- точно быстро. Мы предполагали везде, что классы линейно отделимы. Допус- тим, что это не так, но что алгоритм с обучением все равно приме- няется. Что произойдет с весовыми векторами? Можно представить весовые векторы как точки в (т+1)-мерном весовом пространстве. Минский и Пейперт (1969) доказали, что длина вектора w('’ (весово- го вектора на i-м шаге) не превосходит некоторой фиксированной величины. Поэтому, хотя последовательность ошибок и бесконечна, весовые векторы будут оставаться в пределах некоторой области ве- сового пространства. Минский и Пейперт также установили, что если векторы наблюдений (векторы х) целочисленны, в частности двоич- ные, то весовые векторы принимают лишь конечное число возмож- ных значений. Другими словами, по мере прохождения последова- тельности Sy в нелинейной задаче ответы, даваемые устройством рас- познавания образов, образуют цикл из конечного числа элементов. К сожалению, нет никаких гарантий, что устройство распознавания образов будет проводить большую часть своего времени в состоянии, в котором рабочее правило удовлетворяет некоторому критерию ве- роятностной классификации. 4.5. Группирование 4.5.0. Задача группирования В распознавании образов должна быть известна принадлеж- ность классам по крайней мере некоторых объектов. Задача со- стоит в нахождении такого правила, которое позволило бы уста- новить эту принадлежность. В близкой задаче — задаче группиро- вания — именно устройство классификации должно решить, ка- кие объекты следует сгруппировать. Задачи группирования встре- чаются во многих областях. В медицине самые разнообразные бо- лезни, вызываемые различными микроорганизмами, нередко груп- пируются под общими названиями, например, „простудный катар" или „кишечное расстройство". В психиатрии классификация психи- ческих расстройств на „шизофрению", „маниакально-депрессивный психоз" и „психопатию" не настолько отчетлива, как хотелось бы. В биологии проблема группирования имеет интересную особен- ность. Обычно предполагается, что объединение видов в семейства
118 Гл. 4. Методы, использующие евклидовы пространства описаний и роды отражает общность происхождения. По традиции о линиях эволюции судят по нескольким произвольно выбранным общим приз- накам, но в последнее время были предложены численные методы, подобные некоторым из обсуждаемых ниже, как более подходящие для выяснения таксономических отношений (Сокаль и Снит, 1963). В искусственном интеллекте задача группирования изучалась под названием „обучение без учителя". Хорошей иллюстрацией может служить дешифровка. Допустим, что получено закодированное сооб- щение, причем каждая буква алфавита может иметь несколько раз- ных кодов. Например, буква „а“ могла быть написана как „б“, „в“ или Задача состоит в приписывании кодов данного сооб- щения соответствующим им буквам. Задача выглядит более подхо- дящей для решения с помощью ЭВМ, чем упомянутые выше задачи классификации болезней или таксономия, хотя с формальной точки зрения они схожи. Мейзел (1972) предложил три характеристики, которыми можно описать алгоритмы группирования. 1. Существует ли критерий, по которому можно оценить резуль- тат группирования, или следует проверять процедуру группиро- вания с точки зрения ее разумности? В первом случае метод группи- рования называют непрямым, поскольку он возникает как побочный эффект попытки минимизации или максимизации некоторой функ- ции; во втором случае метод группирования называют прямым. 2. Независимы ли группы, которые должны быть выделены, или предполагается, что они образуют некоторую иерархию, как в таксономии? 3. Какая задача интересует прежде всего: установление при- надлежности экспериментальных точек определенным группам или вычисление параметров функции, по которой по предположению порождаются данные? Известно много алгоритмов, которые можно считать процеду- рами группирования. Мы не сможем охватить их все. Вместо этого приведем три иллюстративных метода: первый.заключается в оценке функций, порождающих данные, с помощью непрямого группиро- вания, второй — неиерархический метод и третий — иерархический прямой метод группирования. Другие алгоритмы можно найти в работе Дуды и Харта (1973). 4.5.1. Статистическое группирование Эта формулировка задачи группирования очень близка к ста- тистической формулировке задачи распознавания образов. Наблю- дения составляют множество X из п экспериментальных точек с неизвестной принадлежностью классам. Предполагается, что про- цесс, с помощью которого получались наблюдения, был двухэтап- ным. На первом этапе выбирался один из k классов, причем i-й
4.5. Группирование 119 класс выбирался с вероятностью pt. С i-м классом связывалась известная функция плотности вероятности ft с неизвестным множе- ством параметров 0г. (Например, если бы функция /г была нормаль- ным распределением, то множество 0 могло бы содержать среднее и дисперсию для класса t.) Затем в пространстве описаний с веро- ятностью ft (х|0) выбиралась точка х. Задача группирования состоит в выборе значений для множеств Р={рг} и 0={0,}, которые лучше соответствуют данным X. Это естественная, хотя и трудная с вычис- лительной точки зрения задача статистической оценки. Хоел (1970) изложил математические аспекты задачи, а Купер (1969) рассмотрел их с машинной точки зрения. Вместо того чтобы заставлять читателя изучать эти весьма технические работы, мы приведем широко ис- пользуемый пример вычислений, известный как минимизация по критерию хи-квадрат. Пусть пространство описаний D разбито на г попарно непере- секающихся областей Е>1(..., Dr. Обозначим через о;- число точек в X, попадающих в область Dj. Для любых фиксированных значений Р и 0 ожидаемое число наблюдений в области Dj равно k EJ(P,e) = n^lPi\ fi(n\Qi)dn, *£Dj. (100) t=i Статистика хи-квадрат, которую предстоит минимизировать, равна k Х2= 2 [(oj-Ej(P, QW/E,.(P, 0)]. (101) /=i Задача решена, если найдены значения Р и 0, минимизирующие (101). В некоторых задачах надо найти и значение k. Конкретный способ решения зависит от вида функций плотности вероятности {ft}. Если повезет, то наилучшую оценку удается получить в замк- нутой форме. В других случаях может понадобиться испробовать каким-то систематическим образом различные численные значения параметров. В некоторых задачах исчерпывающее перечисление параметров было неосуществимым даже с помощью очень большой ЭВМ. Гарнац и Хант (1973) показали, что в подобных случаях может оказаться достаточно точной для практических целей процедура графической оценки, выполняемой с помощью ЭВМ. 4.5.2. Метод k средних Мак-Куин (1967) разработал очень простой прямой метод груп- пирования, названный им методом k средних. Этот метод не только служит примером прямого группирования для независимых клас- сов, но также представляет адаптивное группирование, поскольку,
120 Гл. 4. Методы, использующие евклидовы пространства описаний как и в задаче адаптивного распознавания образов, текущий ответ корректируется по мере накопления новых данных. Как и в задаче распознавания образов, экспериментальные точки упорядочены в последовательность Sx наблюдений х(1), ..., х(п) в /п-мерном про- странстве описаний. В простейшем случае предполагается, что клас- сов в точности k и каждый класс имеет среднюю точку mf. Требу- ется дать алгоритм, оценивающий {т?} по последовательности Sx. Алгоритм Мак-Куина выглядит следующим образом: (1) Вычислить множество начальных оценок Л1°={т<(0)}, отно- ся к каждому классу одну из первых k точек в Sx. На этом этапе mf° = x<Z), i — 1, 2, ..., k. (102) (2) Отнести предъявляемую точку х(‘> (k<.i^n) к группе точек j, для которой расстояние сЦт/’, x<Z)) минимально. Неодно- значности разрешаются в пользу группы с меньшим индек- сом. (3) Найти новые оценки средних точек {т(/+1>}, вычисляя новые средние для каждой группы. (За) Если точка x<Z) не была отнесена к группе j, то т(/’ не меняется. (36) Если точка х(г> отнесена к группе j, то на основе теку- щего состава группы устанавливается новая оценка средней точки. Пусть — число экспериментальных точек в группе в момент, когда предъявляется i-я эксперименталь- ная точка. Тогда т/+1> = ^77 И’т/’ +х«>). (103) Мак-Куин доказал, что если последовательность Sx построена из выборок, относящихся к k различным распределениям вероят- ностей, то k оценок ш/’ будут асимптотически сходиться к средним значениям этих распределений. Качество конструктивного алгоритма, подобного процедуре k средних, можно определить лишь экспериментально, поскольку он не связан ни с каким критерием. Несколько примеров Мак-Куи- на особенно наглядны. В одном слова были оценены по набору их эмоционального значения (например, „хороший, плохой11, „пас- сивный, активный11). Эти оценки определили X. Найденными клас- сами были {покой, сумрачный, озеро, мир, спать, белый}, {нищий, уродливый, равнодушный, недоразвитый, подлый} и {статуя, солнечный свет, время, деревья, мудрый}. Метод был также применен к многомерным оценкам жизни студентов в различных уни- верситетах. Здесь были получены две совершенно разные группы: {Рид, Суортмор, Антиох, Одерлин, Брин Мор} и {Корнелл, Ми-
4.5. Группирование 121 чиган, Миннесота, Иллинойс, Арканзас, Джорджия, Пердью}. В обоих приложениях результаты выглядят разумными. Недостаток алгоритма в том виде, как мы его описали, состоит в его чувствительности к порядку предъявления эксперименталь- ных точек и правильности выбора k. Мак-Куин сообщает, что допу- щенные им изменения порядка предъявления точек не привели к значительной разнице, хотя можно было бы построить и патологи- ческие примеры. Чтобы избежать сильной зависимости от начальной оценки k, ее можно подбирать при помощи загрубляющего парамет- ра с и уточняющего параметра г. Модифицированный алгоритм требует для всех точек перепроверки их принадлежности группам после каждого шага. Считается, что две средние точки и слишком близки друг к другу, если евклидово расстояние между ними меньше с. В этом случае группы / и /* объединяются в одну и k уменьшается на единицу. С другой стороны, если любая точка х^’ удалена от средней точки ближайщей группы больше чем на г, то она делается начальным средним новой группы, a k увеличивается на единицу. Отметим, что это, например, могло бы случиться, если бы средняя точка сдвинулась от точки, первоначально близкой к центру группы, в результате изменения группы, происшедшего после предъявления очередной точки. Себестиан и Эди (1966) независимо от Мак-Куина предложили разновидность алгоритма k средних, в которой мера евклидова рас- стояния была взвешенной, для коррекции отклонений внутри груп- пы вдоль каждой координатной оси пространства описаний. Рас- суждения в данном случае очень похожи на обоснование подобного взвешивания в распознавании образов; вводится изменение масш- табов, приближающее форму скопления точек к сферической. Они также предлагают, чтобы предъявленные точки не относились ни к какой группе, если в момент предъявления они не находятся на определенном расстоянии от какой-нибудь группы. Такие точки могут оставаться неопределенными до тех пор, пока средняя точка какой-нибудь группы не приблизится к ним. Мейзел (1972) описал центрирующий алгоритм, очень похожий на процедуру k средних, за исключением того, что он применяется к данным независимо от порядка наблюдений. Вместо последова- тельности Sx экспериментальных точек рассматривается множество X, которое надо разбить на подмножества. Центрирующий алгоритм (1) Выбрать произвольное множество {ш°} начальных средних. (2) Отнести каждую точку из X к той группе, к средней точке которой она ближе, чем к другим средним. (3) Вычислить т')+1) путем определения средней точки каждой группы.
122 Гл. 4. Методы, использующие евклидовы пространства описаний (4) Повторять шаги 2 и 3 до тех пор, пока не образуются устой- чивые скопления точек. Как и алгоритм k средних, центрирующий алгоритм чувствите- лен к начальному выбору средних точек и подходящему выбору k. Несмотря на эти недостатки, метод часто бывает очень полезен. Дир (1969) отметил, что его можно распространить на случай, когда разрешается использовать в качестве средних только опре- деленные их прототипы. В этом случае учитываются потери, свя- занные с рассмотрением каждой экспериментальной точки, как если бы она на самом деле была прототипом средней точки. Это до- вольно похоже на допущение изготовителя лифтов, что все челове- чество можно считать состоящим из людей весом 150 фунтов. Метод Дира можно приспособить для решения задач исследования опе- раций, таких, как расположение складов или прикрепление клиен- тов к различным центрам обслуживания. 4.5.3. Иерархическое группирование В алгоритмах иерархического группирования предполагается, что данные, подлежащее группированию, берутся из единственного класса, который можно разбить на подклассы и подподклассы. Один из наиболее широко применяемых методов иерархического группирования принадлежит Джонсону (1967). Этот метод можно использовать как в евклидовом, так и в неевклидовом пространст- вах, если считать меру расстояния й(х, у) между двумя точками некоторой мерой, определяемой для любых двух точек в X. Метод Джонсона иерархического группирования (1) Определим матрицу Н, элементами которой служат расстоя- ния между парами экспериментальных точек: hiJ = h(xi,xJ). (104) (2) Проведем группирование Cw={c^), в котором каждая экспе- риментальная точка относится к классу, содержащему толь- ко ее саму. Ясно, что расстояние между любыми двумя скоп- лениями с‘,°> и с‘-0) в этом случае равно h(clm, c^) = hij. (105) (3) Предположим, что проведено группирование 4/-1),...} и определена соответствующая матрица Н с элементами hijt как в (105). Пусть а и b — индексы двух ближайших скоплений, т. е. hab — наименьший элемент матрицы Н. Тогда группирование С(П получается из объединением элементов а и b в одну группу [а, &].
4.5. Группирование 123 (4) Переопределим матрицу Н, вычеркивая все элементы, отно- сящиеся к а и Ь, и добавляя расстояния до нового скопления [а, £>], определяемые для [а, bl и некоторого третьего эле- мента с по правилу максимума h[(a, b), с] = max [h (а, с), h (b, с)] (106) или правилу минимума h[(a, b), с] = min [Л (а, с), h(b, с)]. (107) (5) Повторяем шаги 3 и 4 до тех пор, пока все начальные экспе- риментальные точки не объединятся в одну группу. Классы, формируемые этим алгоритмом, имеют интересные интерпретации. Для данного скопления точек определяется его диаметр как наибольшее расстояние между любыми двумя его точ- ками. Если применяется правило максимума (106), то на каждом этапе будут формироваться группы наименьшего диаметра. Чтобы понять эффект применения правила минимума (107), рассмотрим цепь от точки х до точки у, т. е. такую последовательность экспе- риментальных точек z0, ..., Zft, что x=Zo, y=Zh. Правило (107) минимизирует на каждом этапе длину цепи между любыми двумя точками группы. Таким образом, в обоих случаях процесс группиро- вания выглядит разумно. Правило максимума приводит к такой иерар- хии групп, при которой минимизируются диаметры, а правило минимума—к такой иерархии, при которой минимизируется расстоя- ние между соседними точками цепи в пределах одной группы х). Как и в случае k средних, иерархическая процедура Джонсона обычно проверяется примерами. Один из них — задача акустиче- ской неразборчивости. Испытуемых просили идентифицировать фо- немы в плохих условиях слышимости. Результаты эксперимента представили в виде „матрицы неразборчивости", элементами ко- торой были вероятности того, что распознавалась фонема I, в то время как была произнесена фонема /. Матрица неразборчивости рассматривалась как матрица Н. Были получены следующие группы для одного уровня: глухие взрывные (/, t, k), звонкие взрывные (b, d, g), глухие фрикативные (f, 6, s, J*), звонкие фрикативные (у, У, z, £), носовые (т, п). Таким образом, этот алгоритм произвел Деление на группы, имеющие акустический смысл. Аналогично дру- гие авторы получили разумные результаты в ряде приложений тео- рии поведения. Ч В литературе эти правила часто называют соответственно алгоритмами «дальнего соседа» и «ближайшего соседа».— Прим, перев.
Глава 5 НЕЕВКЛИДОВЫ ПАРАЛЛЕЛЬНЫЕ ПРОЦЕДУРЫ; ПЕРСЕПТРОН 5.0. Введение и исторические замечания В этой главе мы рассмотрим несколько параллельных процедур распознавания образов и классификации, аналогичных изложенным в гл. 4, но без требования представлять объекты точками в евкли- довом пространстве. Вместо этого будет предполагаться, что объек- ты описываются упорядоченным списком признаков, которыми они могут обладать или не обладать. Математически это означает, что будут обсуждаться процедуры классификации двоичных век- торов. Двоичный вектор интерпретируется так: информация ,,/-й разряд содержит 1 (0)“ эквивалентна утверждению „присутствует (отсутствует) /-й признак*1. Рассматриваемая проблема имеет интересную историю. Она за- няла значительное место в вычислительных науках после того, как Фрэнк Розенблатт, психолог Корнеллской лаборатории аэронавти- ки, описал машинно-ориентированную систему распознавания обра- зов и классификации, которую он назвал персептроном (Розенблатт, 1958, 1962) ‘). Персептрон был представлен частично как модель биологического распознавания образов, частично как предложение для построения ЭВМ специального назначения. Ученые ряда обла- стей заинтересовались персептронами по разным причинам. Прежде всего надеялись на то, что анализ персептронов приведет к построе- нию эффективных систем ввода зрительной информации для ЭВМ, причем это поддерживалось, безусловно, тем, что Розенблатт поль- зовался такими терминами, как „сетчатка" и „персептрон" 2). Пред- полагаемая схема работы системы показана на рис. 5.1. Рассматри- ваемая сцена должна была предъявляться анализатору призна- *) Книга Розенблатта (1962) первоначально была опубликована в 1961 г. в виде технического отчета, получившего широкое распространение. 2) Устройство восприятия.— Прим, ред.
5.0. Введение и исторические замечания 125 ков, который регистрировал бы присутствие или отсутствие опреде- ленных компонент сцены. Сами сцены должны были относиться к интересующим классам, например к изображениям мужчин и жен- щин. Система распознавания образов затем обучалась бы классифи- кации двоичных записей, поступавших от рассматриваемой сцены из некоторого конкретного класса. Возможности персептронов сводились к формированию опре- деленных типов правил классификации. Розенблатт предложил особый вариант модели параллельного распознавания образов „пан- демониума" Селфриджа (1959), описанной кратко в гл. 3. Это устрой- ство вычисляет фиксированное множество функций объекта, под- лежащего классификации, и затем — функцию, аргументами которой Рис. 5.1. Основные шаги распознавания персептроном зрительных образов. служат результаты предыдущих вычислений. Значение послед- ней функции представляет результат классификации. Если эта функция является тестом, выясняющим, превосходит ли взвешенная сумма значений исходных функций некоторый порог, то перед нами — персептрон. Как мы увидим в дальнейшем, это ведет к точ- ному математическому описанию. На ранних этапах исследования персептронов было обнаружено, что применение в персептронах алгоритмов обучения дает удиви- тельно мощные правила классификации. В силу этого много внима- ния было уделено „машинному обучению", понимаемому в том смысле, как оно описано в конце гл. 4. Существенный шаг в новом направлении был сделан Минским и Пейпертом (1969), которые заинтересовались тем, каков вид правил классификации, которые можно было бы получить, предполагая, что персептрон может в конечном счете обучиться любому правилу классификации, использующему взвешенную сумму простейших признаков. В сущности Минский и Пейперт заменили вопрос „На- сколько быстро персептрон может обучиться чему-то?" вопросом „Чему персептрон можно научить?". Ньюэлл, рецензируя книгу Минского и Пейперта, заметил, что аналогичное различие проводят психологи между обучением и функционированием. Нельзя обу- читься ни одному действию, если нет возможности его выполнить. Таким образом, понимание работы Минского и Пейперта необходимо
12G Гл. 5. Неевклидовы параллельные процедуры; персептрон каждому, кто имеет серьезные планы исследований в области рас- познавания образов. В последующих разделах этой главы мы при- ведем основные результаты Минского и Пейперта и попытаемся проиллюстрировать их метод анализа. 5.1. Терминология 5.1.0. Проблемы, связанные с персептроном По аналогии со зрением вход для персептрона определяется как упорядоченное множество двоичных элементов, совокупность которых называется сетчаткой R. Таким образом, R — это набор переменных R = (xlt ..., xr). (1) Иногда удобно представлять элементы сетчатки R в виде матрицы. В этом случае они и обозначаются соответственно: х1} — переменная в i-й строке и /-м столбце. Читателю следует быть внимательным и отличать аргументы, зависимость которых от двумерного представ- ления существенна, от аргументов, для которых данная интерпре- тация лишь удобна для иллюстрации. Изображением X называется совокупность значений элементов множества R. Мы будем писать xit если i-й элемент равен 1, и хь если он равен 0. Например, некоторое изображение X можно за- писать в виде X = (xf, х2, х3..xh ..., ху, ..., хг). (2) Если сетчатка имеет г переменных, то существует 2Г возможных изображений. В задаче распознавания образов каждое из этих изобра- жений относится точно к одному из с классов. Число возможных комбинаций растет довольно быстро, так как отнести изображения к классам можно с*г способами. Цель последующего анализа — определить, какие задачи из множества всех возможных в прин- ципе можно решить различными типами персептронов. 5.1.1. Предикаты Предикатом ф называется логическая функция, которая отобра- жает множество изображений на множество {истина, ложь}. Можно представлять себе предикат как логическую функцию от г двоичных переменных. Однако во многих интересных случаях для вычисления значения ф можно использовать не все, а лишь некоторые точки (переменные) из R. В таких случаях ф называется частным преди-
5.1. Терминология 127 катом, а множество переменных в R, которое надо исследовать для определения ф (X)х), называется носителем S (ф) этого предиката. Чтобы проиллюстрировать эти понятия, рассмотрим сетчатку, элементы которой расположены в виде квадрата 5x5 (рис. 5.2). Допустим, нас интересует предикат ф (X) = X содержит на диагоналях только единицы. (3) Элементы носителя предиката (3) обведены кружками. Очевидно, что ф(Х) принимает значение истина тогда и только тогда, когда эти элементы равны 1. Рис. 5.2. Сетчатка, состоящая из 25 элементов, представ- лена в виде квадрата 5X5. 5.1.2. Классификация предикатов Часто бывает полезно классифицировать предикаты по харак- теристикам их носителей. Локальные предикаты: R интерпретируется как мно- жество точек на плоскости. Предикат ф называется локальным, если число точек в S (ф) мало 2). Конъюнктивно локальные предикаты: предикатф называется конъюнктивно локальным, если существует такое мно- Это множество должно быть наименьшим.— Прим, перев. 2) Примером локального предиката может служить предикат «выпуклость». Множество X точек плоскости называется выпуклым, если для всех точек р н q, принадлежащих X, точки отрезка, соединяющего р и q, также принадлежат X. Например, круг и квадрат выпуклы, а полумесяц нет. Это определение легко обоб- щается на евклидовы пространства более высокой размерности. В трехмерном пространстве, например, шар выпуклый, а юр нет.
128 Гл. 5. Неевклидовы параллельные процедуры; персептрон жествоФ={<т(), 1 = 1,..р, локальных предикатов, чтоф(Х) можно представить в виде их конъюнкции. Порядок предиката: предикат ф имеет порядок п, если S (ф) содержит п переменных. 5.1.3. Переход от логического выражения к арифметическому и обратно В дальнейшем нам понадобится переходить от логических выра- жений к арифметическим и обратно. Если логическое выражение входит в арифметическое, мы будем считать его значение равным 1, если его логическое значение есть истина, и 0 в противном случае. Например, если {о,}, !=1, ..., р,— множество предикатов, а р {аг} — множество вещественных чисел, то 2а,(У/(Х)— сумма таких чисел ait что соответствующий предикат для изображения X при- нимает значение истина. Аналогично мы будем переходить от логических выражений к арифметическим. Пусть [Q1 означает, что Q надо приписать соответ- ствующие арифметические значения. Тогда, согласно принятому соглашению, предикат можно интерпретировать как арифметиче- ское выражение, принимающее значение 0 или 1. Если f(X)— арифметическое выражение, 0—постоянная, а R — арифметическое соотношение, то предикат можно записать в виде ф(Х) = [/(Х) R0]. Линейные предикаты имеют вид Ф(Х) = р '^aiol(X)>e J=1 (4) Выражение типа (4) определяет предикат ф, линейный относи- тельно множества Ф частных предикатов. Пусть L (Ф) обозначает множество всех таких предикатов. 5.1.4. Определение персептронов Персептрон — это гипотетическое устройство, которое может вычислять все предикаты, линейные относительно фиксированного множества частных предикатов. Линейный предикат является пра- вилом классификации, так как он относит любые изображения X либо к классу 0, либо к классу 1. Персептрон, следовательно, представляет собой „предельно мощное" устройство распознавания образов, формирующее линейные правила классификации. По тео-
5.1. Терминология 129 реме о сходимости, доказанной в гл. 4, такое устройство распознава- ния образов существует. Для того чтобы яснее представить себе эту связь, будем считать предикаты из Ф координатными осями евклидова пространства признаков. Если точки, описываемые 2* возможными векторами, сгруппированы в линейно отделимые клас- сы, то существует функция ф, удовлетворяющая (4). Ее можно найти, определив подходящий весовой вектор {а,} по алгоритмам, изложенным в гл. 4. Минский и Пейперт выделили классы примитивных предикатов, налагая ограничения на их носители, т. е. на множества точек в R, на которые „смотрит" каждый примитивный предикат при клас- сификации изображения. Затем они задались вопросом: „Какие возможны ограничения на персептрон и каковы будут ограничения на классификации?" Это приводит нас к следующим определениям: Персептрон называется ограниченным k-го порядка, если носи- тели его предикатов ог € Ф состоят не более чем из k точек. Интуи- тивно понятно, что порядок устройства указывает на степень слож- ности его элементарных операций. Идея персептрона конечного порядка непосредственно связана с идеей персептрона k-ro порядка. Если персептрон — конечного порядка, то существует такое число k, что он — ограниченный fe-ro порядка. На первый взгляд может показаться, что утверждение о конечном, но не фиксированном порядке персептрона очень слабое, но это не так. Предположим, что порядок некоторого персептрона так же велик, как и число точек в R. Это означает, что некоторый пре- дикат ог персептрона „смотрит" на всю сетчатку. Поскольку на сложность предиката о,, за исключением его порядка, нет ограниче- ний, такой предикат о, мог бы просто быть отображением, показы- вающим для каждого из 2Г возможных изображений X, должна ли соответствующая классификация быть 0 или 1. Если порядок персептрона меньше размера сетчатки, то у нас уже нет такого сильного частного предиката, и существование линейного предиката для каждой из 22' возможных классификаций не гарантировано. Обычно так и бывает. Нам нужен персептрон для формирования ли- нейных комбинаций логических функций локальных свойств изоб- ражения X, чтобы осуществить классификацию, основанную на его глобальном свойстве. Для каких задач это возможно? Предикат называется ограниченным по диаметру, если точки его носителя удалены друг от друга не более чем на фиксированное расстояние (здесь R интерпретируется как множество точек евкли- довой плоскости). Предикат еА называется маской, если он принимает значение истина тогда и только тогда, когда все точки конечного множества Ле/? являются единицами, т. е. находятся в „возбужденном" состоянии. Сама маска — это линейный предикат порядка 1. Обо- значим через N (S) число элементов множества S и определим Ф как 5 Э. Хант
130 Гл. 5. Неевклидовы параллельные процедуры; персептрон множество предикатов {х, —1} для всех хг^Л. Тогда маску еА можно определить так: ^(X)=F S ar(X) > N(X) —1] . (5) а;еФ Размером маски назовем число элементов ее носителя. 5.2. Основные теоремы для персептронов ограниченного порядка 5.2.0. Замечания Поскольку можно считать, что распознавание образов состоит из выделения признаков и приписывания им весов, важно представ- лять себе вид возможного распознавания при фиксированных огра- ничениях на сложность указанных этапов. Ограничение линейными весовыми функциями и ограничение на порядок персептрона задают соответственно систему выбора весов и сложность выделения при- знаков. Ранее мы отмечали, что конечный порядок необходим, чтобы процедура классификации не была отягощена чрезмерно сложным устройством выделения признаков. При анализе любого физиче- ского устройства классификации (например, зрительной системы) пришлось бы столкнуться с тем, что устройство выделения призна- ков должно быть связано с ограниченным числом сенсорных эле- ментов, поэтому если устройство классификации является персеп- троном, то он должен быть персептроном некоторого k-va порядка. Таким образом, изучение персептронов конечного порядка вызвано двумя причинами. Интересны сами теоремы, так как они указывают ограничения возможностей линейных машин, которые можно в принципе построить. Интересны и их доказательства, так как они иллюстрируют применение формальных методов анализа возмож- ностей систем искусственного интеллекта. Первые две теоремы мы изложим подробно, чтобы продемонстри- ровать технику доказательств, а также потому, что из них строятся другие теоремы. Затем в общих чертах обсудим еще несколько тео- рем. 5.2.1. Теорема о масках (теорема о положительной нормальной форме) Каждый предикат ф линеен относительно множества всех масок. Замечание. Это очень сильное утверждение. Если ф g L (Ф), где Ф — какое-то множество масок, то порядок предиката ф опре- деляется размером наибольшей маски изФ. В теореме также утвер- ждается, что любую классификацию можно реализовать линейным
5.2. Основные теоремы 131 предикатом, если в Ф содержатся все маски и нет других пре- дикатов. Доказательство. Мы знаем, что яр — булева функция логических переменных хг,..., хг из R. Можно записать любую булеву функцию на множестве {хг} логических переменных в дизъ- юнктивной нормальной форме ф(Х) = СДХ)и ... UCA(X). (6) где СДХ), /= 1,..., k,— логические произведения г членов. Так как все эти произведения различны, то [Q (X) = 1] => [С,. (X) = 0], / =/= /•; /,/•= 1, ..., k. (7) Это означает, что самое большее одно из логических произведений будет истинным. Следовательно, ф можно записать в линейной фор- ме Ф(Х) = fe 2 с7(Х)>о i=’ (8) Если все Cj можно представить в виде линейной комбинации ма- сок, то ф(Х) будет линейной комбинацией линейных комбинаций И, следовательно, линейной на множестве масок. Итак, наша сле- дующая задача — показать, что все Cj обладают этим свойством. Любое логическое произведение Cj можно записать как произве- дение переменных и их отрицаний, скажем: С/(Х) = х1ха.. . xi_1xJxj+1xf+2.. .xr. (9) Пусть xs — первое отрицание, тогда (9) можно представить в виде С7(Х) = $7х^, (10) где $y = x1x2...xi_i, (11) ф}= х,+1х,+а.. .хг. (12) Заметим, что в входят только сами переменные, а ф} может со- держать как переменные, так и их отрицания. Очевидные алгебраи- ческие преобразования дают С/ (X)= $]Х1Ф] ~ 5/ (1 —xs) Ф/ — —^jx^j’ (18) Мы получили Cj(X) в виде линейной комбинации двух логических произведений, одно из которых содержит xJt а другое нет. Каждое преобразование типа (13) устраняет одно отрицание. Если проде- лать это со всеми Q и всеми выведенными из них логическими про- изведениями, а затем со всеми последующими произведениями и т. д., то в итоге ф(Х) будет линейной комбинацией логических про- изведений, содержащих только переменные (а не их отрицания). 5*
132 Гл. 5. Неевклидовы параллельные процедуры; персептрон Такие логические произведения как раз и являются масками. Теоре- ма доказана. Иллюстрация. Пусть R состоит из трех точек хь х2, х3, а ф(Х) — предикат „X содержит нечетное число точек из R“. Этот предикат принимает значение „истина", если все точки из R или только одна принадлежат X. Следовательно, ф(Х) можно записать как ф (X) ~ [(XjXgXg "ЬXjX2Xs "Ь Х2Х2 Н~ 0^) Последовательно применим (13) к (14): ф(Х) = [((*Л~ *лхз) + (X2xs—XjXgXg) + — [(^i ) (XiX2 х^Хз) -{- ~h ((~^2 ^2^з) (Х1Х2 "К + (Xs X2xg) (XjXs XjXjXg) + XjXjXg) = 01 + X2 4- xa — 2xrc2—2xjX8—2x2xs + + 4xlx2x3) > 0]. Это линейный предикат на множестве масок. Представление предиката в виде Линейной комбинации масок называется его положительной нормальной формой. Можно пока- зать, что положительная нормальная форма единственна; кроме того, предикат имеет порядок k тогда и только тогда, когда наибольшая маска с ненулевым коэффициентом в положительной нормальной форме имеет размер k (Минский и Пейперт, 1969, теоремы 1.5.2 и 1.5.3). Если эта маска не зависит от размера сетчатки R, то предикат имеет конечный порядок. 5.2.2. Теорема об инвариантности относительно группы На наиболее абстрактном уровне персептрон представляет собой устройство для классификации упорядоченных множеств перемен- ных. Если упорядочение, определяющее сетчатку R, произвольно, то классификации должны быть инвариантными относительно пере- становок элементов из R. Рассмотрим множество образов X и множество преобразований G—{g} сетчатки R. Каждое преобразо- вание отображает множество элементов сетчатки в себя. Прежде всего нас интересует, какие множества образов может распозна- вать персептрон, если любое преобразование из G так перестраивает R, что X и g(X) принадлежат одному и тому же классу для всех X g X. Иными словами, мы хотим знать, может ли персептрон рас- познавать класс образов, отличительные признаки которых ин- вариантны относительно G. С философской точки зрения это инте- ресно потому, что математически существенными свойствами клас-
5.2. Основные теоремы 133 са принято считать свойства, инвариантные относительно некото- рого важного множества преобразований. На практике многие за- дачи распознавания образов требуют способности обнаруживать инвариантность относительно определенных преобразований, та- ких, как перенос и поворот. Наконец, если представить себе персеп- трон как модель зрительной системы, к чему нас подталкивает ис- пользуемая терминология, то психология также свидетельствует о том, что определенные типы преобразований не вызывают труд- ностей. Например, люди довольно быстро приспосабливаются к ви- димому миру, перевернутому специальными очками; это указывает на инвариантность зрительных классификаций относительно такого отражения видимого мира. Определения 1. Пусть G — конечное множество преобразований сетчатки R 1). Каждое преобразование g ё G отображает элемент Xi € R в не- который элемент х} €g(R). Например, пусть g — обращение поряд- ка элементов в R; тогда если R=(Xi, х2, х3), то g(R)= (xs, х2, х0. 2. Множество Ф предикатов на R замкнуто относительно G. Это означает, что для каждого предиката о ё Ф и каждого преобразова- ния g£<3 существует такой предикат о' ёФ. что <r(X)=o'(g(X)). (16) Для интерпретации (16) полезно заметить, что, если значение а(Х) задано {истина или ложь), то найдется такой предикат о', что если для перестройки сетчатки R применялось преобразование g, то значение o' (g (X)) совпадает с заданным значением о (X). 3. Классом эквивалентности предиката о ё Ф относительно груп- пы G называется множество {tig.}, gigG, удовлетворяющее (16) при g~gt- Формально предикат о' принадлежит классу эквивалент- ности предиката а тогда и только тогда, когда (3g ё G) (УХ ё X) (о (g (X)) = о' (X)). (17) В этом случае мы будем писать <г'==оа. Покажем, что отношение „о' находится в классе эквивалент- ности а“ Является отношением эквивалентности, т. е. что оно реф- лексивно, симметрично и транзитивно. Рефлексивность следует из существования в группе G единичного элемента, симметричность — Обратного, а транзитивность — из замкнутости группы относи- тельно умножения. Пример. На рис. 5.3 изображена сетчатка R в виде (5x5)- матрицы. Предположим, что Ф — множество детекторов верти- кальных полос длины два. В матричных обозначениях R будет мно- ’) В дальнейшем предполагается, что G — группа.— Прим, ред.
134 Гл. 5. Неевклидовы параллельные процедуры; персептрон жеством {хи}, i, j—\, ..5, а любой предикат oh из Ф — это логи- ческое произведение oft = xz/xz+Ii/, i = l,...,4, j = (18) Пусть G — множество преобразований, отображающих столбцы в столбцы. Любое преобразование g ё G сдвинет поле для oft вправо или влево (см. рис. 5.3 для детекторов вертикальных полос в стро- ках 3 и 4). Классом эквивалентности заданного предиката oft будет множество (оу предикатов с одинаковым номером строки ((), так Рис. 5.3. Пример класса эквивалентности. Предикат „Существует вертикальная полоса длины два в столбце 1 и строках 3 и 4“ имеет класс эквивалентности (обо- значенный прямоугольниками) относительно множества преобразований, пере- ставлиющих столбцы. как каждое допускаемое преобразование сдвигает носитель де- тектора вправо или влево, а не вверх или вниз. Теорема об инвариантности относительно группы. Если преди- кат принадлежит Ь(Ф) и инвариантен относительно G (т. е. (х)=тр (g (х)) для всех g g G), то его можно представить в виде Ф(Х)=[ 2 ₽/М*)>01, о{еФ J (19) где Рг=Рл если ог Доказательство. Так как if — линейный предикат, то его можно представить в виде k 5 0(0 ((X) > о J=1 (20)
5.2. Основные теоремы 135 где {at} — некоторое множество вещественных чисел. Поскольку множество Ф замкнуто относительно G, любое пре- образование g£G определяет соответствие ог «-> о <;/). Для всех X и g ai (g (X))— ag(i) (X). (21) Учитывая произвол выбора индексов в Ф, отметим, что множест- ва Ф={оь ..ofe) иФг={ог(1), ..отличаются лишь поряд- ком элементов. Таким образом, можно считать, что любое преоб- разование g задает некоторое упорядочение на Ф. Поскольку сум- мы не зависят от порядка слагаемых, ясно, что 2 at°i (X) — 2 agH)agtit (X). (22) i=i i=i Предположим теперь, что тр(Х)=1 для некоторого X. Так как пре- дикат ip инвариантен относительно группы G, то для g£G обратный элемент g-1 также принадлежит G, и должно выполняться соотноше- ние k 2«г</>%/>(Г1(Х))>0. (23) Применим (21) к og(i) (g-1 (X)): og<i> <g~l (X)) = ag-i (g(0) (X) = of (X). (24) Подставим (24) в (23): к 2ag(1)Oi(X)>0. (25) i=l Это справедливо для всех g £ G. Суммирование (25) по всем g дает положительное число к 2 2 ag(f)oI.(X)>0. (26) geO 1=1 к Меняя порядок суммирования, получаем к 2 ( 2 ag(n')oz(X)>0. (27) 1=1\geo / Теперь положим 01 = 2 agiD- (28) g6 о ' *) Здесь, исходя из определения (17), следует интерпретировать g(i) как для которого о,=а и а7=а'“.
18в Гл. 5. Неевклидовы параллельные процедуры; персептрон Если i и / — номера предикатов одного и того же класса эквивалент- ности, то i~g(j)и / :=g' (О Для некоторых g и g'. В более общем виде, 2 = 2 ag(/)> (29) ge G geG если i и j — номера предикатов из одного и того же класса эквива- лентности. Таким образом, мы показали, что В нашем доказательстве предполагалось, что ф(Х)=1. Те же рассуждения можно было провести для случая ф (Х)=0, заменив > на Предполагая, что существует некоторое линейное представле- ние для if, мы показали, что существует представление, в котором предикаты из одного и того же класса эквивалентности имеют оди- наковые коэффициенты. Следствие 1. Предикат порядка k, инвариантный относительно группы, можно представить линейным предикатом на множестве Ф* масок размера ^.k, в котором маски {одного и того же размера), отображаемые друг в друга некоторым преобразованием g£G, имеют одинаковые коэффициенты. Следствие вытекает из теоремы о масках, которая устанавли- вает существование представления ф на Ь(Ф*), и из теоремы об ин- вариантности относительно группы, примененной к этому представ- лению. Следствие 2. Пусть множество Ф разбито на классы эквивалент- ности^ lt ..Фтотносительно G.Линейный предикат^, инвариант- ный относительно группы G, можно представить в виде ф(Х) = • k 2a/Nt.(X)>0 .4 = 1 (30) где N;(X) — число предикатов <3} в Фг, для которых <т7(Х)==1. Для доказательства достаточно рассмотреть конструктивное' определение 0. Для любого X точно N, предикатов <г>£Фг будут „возбуждены". Это следствие вначале может показаться туманным, но оно весьма полезно, так как устанавливает точное требование на каждый из классов эквивалентности. Если некоторый предикат определяет классы эквивалентности, не обладающие этим свойством, то он не может быть линейным на Ф.
5.3. Другие теоремы для персептронов ограниченного порядка 137 5,3. Другие теоремы для персептронов ограниченного порядка 5.3.0. Считающие предикаты Пусть G будет группой всех перестановок элементов сетчатки R, так что G содержит все отображения из R в R. Пусть \Х | — число точек сетчатки R, которые для изображения X находятся в „воз- бужденном** состоянии ( т. е. число переменных без черточек сверху в представлении X). Единственными предикатами первого порядка, инвариантными относительно G, являются считающие предикаты ф(Х) = [|Х|>/п], (31) ф(Х) = [| Х\>т\ (32) и их отрицания. Интуитивное соображение в пользу этой теоремы о считающих предикатах. Предикат первого порядка — это просто проверка взвешенной суммы точек сетчатки, т. е. ip(X)=[2aixi>6], (33) Поскольку любую точку Xi можно отобразить в любую другую точ- ку Xj некоторым преобразованием g из весьма широкой группы пре- образований G, то все точки принадлежат одному и тому же классу эквивалентности размера Ni и должны иметь один и тот же вес. Сле- довательно, любой предикат, инвариантный относительно G, до- пускает представление ф(Х)=[а|Х|>0), (34) или, что эквивалентно, Ф(Х) = [|Х|>4]=ПХ|>щ|, (35) где m=Q/a. Заметим, что здесь 0 может считаться коэффициентом маски нулевого размера (константы) линейного предиката. По- скольку |Х | — целое число, порог 0 можно уточнять. Замечание. Персептрон порядка 1 представляет собой в некотором смысле „наиболее общую** обучающуюся машину. Ее конструктор не встроил в нее никаких предубеждений, описав Ф, поскольку он просто предъявляет персептрону картинки, воспри- нимаемые сетчаткой R, вместе с указанием их класса и дает возмож- ность процедуре сходимости определить, что же в них существенно. В теореме утверждается, что только тогда, когда это сделано (клас- сификация при этом должна быть инвариантна относительно лю-
138 Гл. 5. Неевклидовы параллельные процедуры; персептрон бого преобразования), персептрон может сформировать правило классификации, которое отделит изображения Xi и Х2 друг от дру- га, исходя из их площадей. Является этот результат ободряющим или удручающим, удивительным или неудивительным, зависит от вашей точки зрения. В одном из ранних исследований персептро- нов было обнаружено, что персептроны первого порядка способны обучаться достаточно точному и интересному разделению объектов. Для иллюстрации способностей персептронов часто использовались рукописные буквы или цифры. Фактически персептрон классифи- цировал вариант картинки, закодированный цифрами. Тонкие различия в размерах букв и цифр приводили к разным числам воз- бужденных элементов в сетчатке, и, значит, можно было применить считающий предикат. Теорема о сходимости (гл. 4) гарантирует, что такой предикат можно найти. Следует подчеркнуть, что считающие персептроны первого по- рядка вводятся, только когда требуется инвариантность относи- тельно всех возможных преобразований сетчатки. Это необычайно сильное ограничение. Когда оно ослаблено, могут решаться менее тривиальные задачи. 5.3.1. Четность Сформулируем соответствующую теорему без доказательства. Предикат ф(Х) = число точек в X нечетно (36) нельзя найти персептроном порядка, меньшего чем размер сетчат- ки. И если сетчатку можно увеличить неограниченно, то необходи- мый персептрон не будет конечного порядка. (Напомним, что в пре- дикате „четность1*, рассматриваемом для иллюстрации теоремы о положительной нормальной форме, одна из масок имела размер 3, равный размеру сетчатки.) Четность — интересное математическое понятие, поэтому факт, что персептрон не может классифицировать по четности, наводит на мысль, что персептроны не обладают некоторыми свойствами, которыми должна была бы обладать мыслящая машина. Можно построить очень простое устройство последовательного распознава- ния образов, которое будет классифицировать по четности. Этой машине требуются две компоненты: точечное устройство считыва- ния и однобитовая память. Машина начинает работать с записи в память нуля (четное число). Затем она считывает сетчатку R и ме- няет состояние памяти всякий раз, когда встречает элемент сетчатки R в „возбужденном** состоянии. В конце считывания состояние па- мяти и будет соответствовать классификации изображения.
5.3. Другие теоремы для персептронов ограниченного порядка 139 5.3.2. Булевы комбинации Если представлять себе предикат как элементарное свойство объектов, может возникнуть желание построить другой предикат, который будет способен классифицировать объекты по булевой ком- бинации их присутствующих или отсутствующих примитивных свойств. Вспомним классификации, которые делаются в повседнев- ной жизни, например, юристами и медиками. Скажем, правом голоса в некотором городе США обладает человек, который есть (гражданин США) и (законный постоянный житель) и (не обвиненный в опреде- ленных уголовных преступлениях, влекущих за собой потерю пра- ва голоса). Много исследований в области психологии посвящены тому, как человек учится делать и делает такие классификации. Оказывается, что человеку удивительно трудно обучиться на приме- рах даже довольно простым комбинаторным правилам (Боурн, 1965). Каковы пределы персептрона в обучении булевым класси- фикациям? Булевы функции двух переменных могут определяться персептро- нами малого порядка. Например, логическое произведение двух переменных (Хх-х2) можно представить линейным предикатом Ф(Х)=1(х1+х2)>2] (37) первого порядка. На самом деле все 16 возможных булевых функ- ций двух переменных можно представить линейным предикатом первого порядка, кроме предиката „исключающее или“ (хх или х2, но не оба) и его дополнения „эквивалентность" (Хх тогда и только тогда, когда ха). Интересно, что эти предикаты наиболее трудно (из всех булевых предикатов) распознаются человеком (Хант, Ма- рин и Стоун, 1966; Нейссер и Уин, 1962). Следующий шаг очевиден; это вопрос о булевых функциях с более сложными примитивными предикатами. Вот два результата — один ободряющий, другой удручающий. Булевы комбинации предикатов „исключающее или“ и „эквива- лентность". Если фх и ф2 — предикаты порядка ki и k2 соответст- венно, то предикаты ф0= (фх или фа, но не оба) и фь=(фх тогда и только тогда, когда ф2) оба имеют порядок (kt+k2). Булева теорема и/или. Существуют такие предикаты фх и фа первого порядка, что предикаты фа= (фх и ф2) и фь= (фх или ф2) не имеют конечного порядка. Эти теоремы устанавливают, что персептрон конечного порядка способен классифицировать выражения с исключающей дизъюнк- цией или эквивалентностью двух классификаций, разрешимых пер- септроном, но не всегда может решить задачу, связанную с конъюнк- цией или дизъюнкцией двух разрешимых им задач.
140 Гл. 5. Неевклидовы параллельные процедуры; персептрон 5.3.3. Геометрические классы Многие проекты в машинном распознавании образов вызваны желанием классифицировать двумерные изображения того или иного вида. Для того чтобы осуществить такую классификацию, перспе- трон должен быть способен выбрать для классификации поддаю- щиеся определению геометрические свойства изображений. Мы видели, что при очень общем требовании инвариантности свойств относительно группы всех перестановок в R единственным геометри- ческим свойством, на которое персептрон может реагировать, явля- Рис. 5.4. Геометрическая фигура, содержащая три компоненты: А не имеет дыр, В имеет одну дыру, С — две дыры. ется площадь, или число „возбужденных** точек в сетчатке. Более реальное требование — классификация персептроном изображения на основе топологически инвариантных предикатов. Рассмотрим какой-нибудь рисунок на плоскости. Он состоит из одной или не- скольких компонент, каждая из которых может содержать дыру. На рис. 5.4 изображена фигура, содержащая три компоненты: без дыры, с одной дырой и с двумя дырами. Топологическим называется любое преобразование плоскости, не меняющее числа компонент (или соотношения „внутри — снаружи**). Преобразование рис. 5.4, показанное на рис. 5.5,а, является топологическим, а на рис. 5.5,6 нет. Число Эйлера фигуры X определяется как Е(Х) = число компонент в X—число дыр в X. (38) Минский и Пейперт разработали метод приведения произвольной фигуры к каноническому виду, зависящему только от числа Эйле- ра первоначальной фигуры. В этом методе применяются только то-
Рис. 5.5. Преобразования рис. 5.4: а — топологическое; б — нетопологическое. Рис. 5.6. Связная (а) и несвязная (б) фигуры с одним и тем же числом Эйлера. „Число компонент минус число дыр равно нулю1*.
142 Гл, 5. Неевклидовы параллельные процедуры; персептрон пологические преобразования. Топологически инвариантный пер- септрон, способный различить фигуры Хг и Хг, также должен быть способен различить их топологически эквивалентные канониче- ские формы. Таким образом, любое свойство, на котором основана классификация, должно быть функцией числа Эйлера. Это условие оказывается удивительно слабым. Предикат ф(Х)=Х— связная фигура (39) нельзя вычислить персептроном конечного порядка. Это вытекает из инвариантности числа Эйлера относительно топологических преобразований. В самом деле, можно построить как несвязные, так и связные фигуры с одним и тем же числом Эйлера (рис. 5.6). 5.3.4. Предикаты малого порядка Перенесем наш анализ с персептронов конечного порядка и всех возможных преобразований на персептроны „разумных разме- ров" и „разумные преобразования". Особый интерес представляют преобразование, сохраняющее положение, и перенос. Если в ка- честве сетчатки взять всю плоскость, то естественным было бы жела- ние уметь распознавать обычные геометрические фигуры (треуголь- ники, прямоугольники, окружности) без относительно их положения и ориентации. Можно было бы также пожелать научиться распозна- вать их независимо от размера, так что в некоторых случаях долж- ны допускаться сжатие и растяжение. На персептронах первого порядка можно построить лишь весь- ма ограниченные предикаты, инвариантные относительно перено- са. Это связано с тем, что перенос помещает все точки сетчатки в один и тот же класс эквивалентности, так что применимы рассужде- ния, аналогичные тем, которые использовались для доказательства инвариантности размера (см. обсуждение считающих предикатов). Если заданы две фигуры, то можно выяснить, найдется ли для их различения персептрон второго порядка, не строя сам персеп- трон. Для этого достаточно вычислить одно свойство, называемое спектром фигуры. Представим любую точку х € R как точку на плос- кости; следовательно, она определяется значениями ее двух коор- динат. Для любых двух точек хъ х2 в R вектором разности хг—х2 соответствующих векторов Xi и х2 называется вектор [(х-координата точки Xi) — (х-координата точки х2), ((/-координата точки х^ — ((/-координата точки x2)L Две маски XjX2 и xjx2 размера 2 эквива- лентны относительно переноса тогда и только тогда, когда (^7д = ± й^И). (40) Это очевидно. Вектор разности выражает положение точки х2 от- носительно Xi, а перенос помещает Xj в любом месте на плоскости.
5,3. Другие теоремы для персептронов ограниченного порядка 143 Необходимо допустить для вектора разности смену знака, чтобы указать на то, что хгх2 и x2Xj — одна и та же маска. Наконец, чтобы быть последовательными, надо трактовать одиночную точку (маску размера 2) как „двухточечную" маску (ХгХ.) с вектором разности (О, 0). Пусть пу (X) будет числом одиночных точек или пар точек в X с вектором разности v. Спектром разности изображения X назовем список {nv (X)} числа пар точек с данным вектором разности v в X. Это понятие иллюстрируется на рис. 5.7 двумя изображениями с одинаковым спектром. Соответствующий спектр приведен в табл. 5.1. х х хх хх X X Рис. 5.7. Два изображения с одинаковым спектром. Таблица 5.1 Спектр разности изображений иа рис. 5.7 Компоненты Описания Вектор разности Число векторов X Точка (0, 0) 4 XX Горизонтальная прямая (1, 0) 1 X X Вертикальная прямая (0, 1) 2 Xх Диагональ справа налево (-1, -1) 1 Хх Диагональ слева направо (1. -1) 1 Персептрон второго порядка может вырабатывать только такие инвариантные относительно переноса предикаты, которые поме- щают все изображения с одинаковым спектром в один класс. Дока- зать это утверждение можно, непосредственно применяя основные теоремы (разд. 5.2). По теореме о масках предикат, который нужно выработать, можно представить линейным предикатом на множестве масок. По теореме об инвариантности относительно группы все маски с вектором разности v должны иметь од! и и те же коэффициен- ты. Следовательно, линейное различие между изображениями X! и Х2 возможно только тогда, когда nv(Xi)=H=rtv(X2) по крайней мере для одного вектора разности v. Если возможности персептронов второго порядка настолько ог- раничены, то что можно сказать о персептронах лишь чуть более
144 Гл. 5. Неевклидовы параллельные процедуры; персептрон высокого порядка? Персептроны порядка 3 и 4 могут решать ин- тересные задачи классификации образов, например различить вы- пуклые и невыпуклые фигуры. Основная проблема, однако, состоит в том, что не всегда можно построить персептроны ограниченного порядка для распознавания компоненты изображения в контексте других компонент. Например, предикат „X — квадрат" имеет поря- док 2, но предикат „X содержит квадрат в качестве одной из компо- нент" не имеет конечного порядка. Это серьезное ограничение на персептроны, поскольку некоторые важные проблемы распознава- ния образов, такие, как распознавание предметов на аэрофотосним- ках, требуют распознавания с учетом контекста. 5.4. Возможности персептронов, ограниченных по диаметру Персептроны, ограниченные по диаметру, обладают, вообще го- воря, гораздо меньшими возможностями, чем персептроны конечного порядка. Это вряд ли удивительно, поскольку требование ограни- ченности по диаметру более сильное. Персептрон, ограниченный по диаметру, можно построить для распознавания любой формы, при условии что она всегда имеет фиксированные размер и расположе- ние на сетчатке. Это означает, что практическое распознавание об- разов с помощью персептрона, ограниченного по диаметру, требует, чтобы сначала изображение было сцентрировано на сетчатке и уве- личение выбрано стандартным. Объединение указанного препро- цессора н устройства классификации не может считаться персептро- ном, хотя такое объединение довольно легко построить. Персептро- ны, ограниченные по диаметру, не могут также распознавать топо- логические инварианты, кроме предиката „число Эйлера превышает (или не превышает) фиксированное целое число". Это, разумеется, более сильное ограничение, чем соответствующее ограничение для персептронов конечного порядка. 5.5. Важность анализа персептронов Математическая структура, которую Минский и Пейперт опре- делили как персептрон, более ограничена, чем ряд устройств, опи- санных Розенблаттом (1958, 1962) при введении этого термина. На рис. 5.8 представлена блок-схема машины, соответствующей опре- делению Минского — Пейперта. Как и в первоначальном варианте Розенблатта, изображен однослойный, с последовательно связанны- ми элементами персептрон. Возможны более сложные персептроны (в смысле Розенблатта). Две интересные конфигурации показаны на рис. 5.9. Одна из них —многослойное устройство, в котором преди- каты первого слоя сами являются персептронами первого порядка. Другая представляет собой персептрон с петлями, или „персептрон
Сетчатка Рис. 5.8. Схема персептрона, как он описан Минским и Пейпертом. а J*Bc. 5.9. Два более сложных персептрона: а — многослойный персептрон Гамбы; б — персептрон с обратной связью.
146 Гл. 5. Неевклидовы параллельные процедуры; персептрон с обратной связью1*. В нем результат классификации вводимого изоб- ражения в момент t подается обратно на сетчатку так, что она стано- вится частью изображения, предъявляемого в момент Я~1. Анализ Минского — Пейперта применим только к устройствам, соответст- вующим персептрону, схематически изображенному на рис. 5.8. Нет причин, почему бы нельзя было попробовать применить подоб- ный анализ к более экзотическим персептронам (рис. 5.9). Вероятно, это окажется тяжелой задачей, в некоторых случаях невозможной, зато можно будет получить полезные результаты. Учитывая, как формальный анализ Минского и Пейперта охладил, если не сказать сильнее, огромный энтузиазм, вызванный ранними исследованиями персептронов, кажется целесообразным, чтобы в практическом рас- познавании образов построению многослойных перекрестных пер- септронов с обратной связью предшествовал серьезный анализ. Конечно, поддерживать дальнейшие обязательные теоретические разработки перед практическим использованием не значит поддержи- вать прекращение исследований в данной области! Хотя результаты Минского и Пейперта справедливы в некотором смысле для более узкой области, чем область возможных персеп- тронов, значение их в некотором смысле шире. Большинство теорем, доказанных Минским и Пейпертом, касается существования или несуществования линейно разделяющих решений специфических задач классификации без учета того, как такие решения можно получить. Таким образом, выводы с тем же успехом можно отнести к статистическим процедурам, как и к обучающимся машинам. Осо- бый интерес представляет сравнение линейных процедур классифи- кации с классификацией плоских фигур. Существует много задач классификации, в которых данные представлены в виде плоских фигур. Примером тому может служить любое приложение, связан- ное с отбором фотографий. Использование геометрических свойств типа связности или наличия одного типа компонент изображения в контексте других, вероятно, неизбежно при решении такой за- дачи. Любому исследователю, столкнувшемуся с проблемой класси- фикации плоских фигур, следует разобраться, какие из результатов Минского и Пейперта имеют к ней отношение. Третье общее соображение по поводу анализа персептронов: эта работа может возвестить новый подход к исследованию распозна- вания образов. С 1950 г. до середины 60-х годов большинство иссле- дований, посвященных устройствам распознавания образов, носило строго экспериментальный характер. Если кто-то придумывал инте- ресный метод распознавания образов, он строил соответствующую машину (обычно программными способами ) и проверял его возмож- ности на примерах. Один из главных тезисов Минского и Пейперта состоит в том, что нужен логический анализ, если мы собираемся утверждать, что мы „знаем**, что определенный метод решит или не решит рассматриваемый класс задач.
5.5. Важность анализа персептронов 147 Некоторые из результатов Минского и Пейперта применимы к параллельным процессам вообще. Если появляется ограничение на персептрон, связанное с тем, что наличие или отсутствие признака А может означать разное в зависимости от наличия или отсутствия признака В, вероятно, соответствующая задача лучше решается по- следовательной, нежели параллельной машиной. Задачи этого типа, по-видимому, наиболее часто встречаются при анализе сложных зрительных сцен, где довольно очевидные последовательные алго- ритмы могут решить проблему, которая по силам только очень большим параллельным системам (см. Гузман (1968) и обсуждение соответствующей работы в части IV этой книги).
Глава 6 ПОСЛЕДОВАТЕЛЬНОЕ РАСПОЗНАВАНИЕ ОБРАЗОВ 6.0. Последовательная классификация Можно считать, что алгоритмы параллельной классификации образов предназначаются для машин типа изображенной на рис. 6.1. Классифицируемый объект предъявляется на входы множества из п детекторов признаков, которые независимо и параллельно вычисля- ют п измерений, определяющих вектор описания х= (xlt ..., хп). Измерениям приписываются веса {at} и определяется взвешенная сумма. Если сумма превышает некоторый порог 0, то объект счита- ется членом класса 1; в противном случае объект считается членом класса 0. Рассмотрим машину иного типа, изображенную на рис. 6.2,— машину последовательной классификации образов. Это уст- ройство также содержит детекторы признаков, однако они связа- ны друг с другом более сложным образом. Сначала ко всем объектам применяется детектор признаков 1 для определения измерения Xi, которое в свою очередь поступает на вход правила переключения, определяющего, в какой из нескольких возможных интервалов по- падает значение xt. (Или можно считать, что интервал изменений Xj. ограничивается некоторым множеством целых чисел, так что правило переключения просто отмечает значение соответствующего измерения.) В зависимости от результата переключения для про- изведения следующего измерения будет выбран один из нескольких детекторов признаков. Правило переключения будет применено ко второму измерению для того, чтобы выбрать третье, и т. д. до тех пор, пока не будет получено достаточно информации для проведения классификации. Последовательную машину можно опи- сать, задав правило- переключения и расположения каждого детек- тора признаков в дереве тестов. Ясно, что последовательная машина сложнее параллельной, которую можно описать, просто задав ве- совой вектор а= (а1( ..., а„). Кроме того, она мощнее параллель- ных машин, поскольку для любой параллельной процедуры клас-
Рис. 6.1. Машина параллельной классификации образов. Рис. 6.2. Машина последовательной классификации образов.
150 Гл. 6. Последовательное распознавание образов сификации, которую можно таким образом описать, существует эквивалентная последовательная машина, использующая те же самые признаки 1), но в то же время найдутся последовательные процедуры, не имеющие параллельных аналогов. Кроме того, после- довательная машина минимизирует число признаков, для которых необходимо произвести измерение прежде, чем закончится класси- фикация. Недостатки последовательной машины заключаются в ее большей сложности, соответственно большей сложности алгоритмов на этапе распознавания образов и в большем времени, необходимом для проведения последовательной классификации, поскольку приз- наки оцениваются последовательно, а не параллельно 2). В этой главе мы будем заниматься последовательными класси- фикациями образов и процедурами распознавания. Если не оговари- вается особо, то каждое измерение х( вектора признаков будет целым числом 1, ..., vit где и, обычно весьма мало. Значениями признаков будут произвольные символы, а не числа. В общем случае будем счи- тать, что существует корректное правило R*, которое применялось для отнесения к классам всех элементов из множества возможных описаний объектов. (Допускается вероятностное отнесение к клас- сам). Мы будем рассматривать алгоритмы, на вход которых посту- пает множество S описаний и имен классов объектов и которые на основании этого множества выводят правило R, являющееся прибли- жением правила R*. Степень приближения R к R* будет определе- на сравнением классификаций, проведенных правилами R и R* на пространстве всех возможных описаний объектов. 1) Это утверждение совершенно верно для линейно разделяющих процедур типа приведенных на рис. 6.1, в которых окончательная классификация основана на сложении. Можно было бы построить «абсолютно» параллельную машину, в ко- торой весовые векторы заменяются интервальными детекторами, преобразующими компоненты вектора описания в цифровую форму. Каждому возможному вектору описания можно было бы приписать единственное целое число, которое затем мож- но рассматривать как «адрес» объекта, описываемого этим вектором. Далее можно было бы такой механизм адресации использовать в «информационно-поисковой машине», в памяти которой каждому возможному вектору описания соответствуе» в точности один адрес. По этому адресу будет храниться соответствующий класс. Классификация осуществлялась бы при помощи табличного поиска для нахожде- ния имени класса по заданному адресу. Проблема состоит в том, что такая инфор- мационно-поисковая машина должна быть очень большой. Возможно, удалось бы' достигнуть экономии, выделив блоки адресов, соответствующих объектам одного и того же класса, и придав всем векторам описания блока единственный адрес. В этом случае функция отображения адресов в блоки сама представляла бы со- бой устройство классификации образов. 2) Последнее, конечно, верно, только если параллельная процедура в самом деле параллельна. Если для реализации параллельной процедуры используется последовательное устройство, как, например, в случае, когда стандартная одно- процессорная цифровая машина программируется для выполнения некоторой про- цедуры, то алгоритм параллельной классификации образов потребует для оценки признаков по меньшей мере столько же времени, сколько эквивалентный ему по- следовательный алгоритм.
6.0. Последовательная классификация 151 Хотя последовательное распознавание образов в сущности про- стой процесс, для его описания нам потребуется громоздкие обоз- начения. Мы боимся „за деревьями не увидеть леса", поэтому сна- чала приведем наглядный пример. В качестве классифицируемых объектов возьмем четверки букв, порождаемые следующими пра- вилами: Первой буквой должна быть Н, G, Е или W. Второй буквой должна быть X, К, L или S. Третьей буквой должна быть Q, В, F или Т. Четвертой буквой должна быть A, R, М или Z. Является ли первая буква G ? Да Является пи третья буква F ? Да I Класс 0 Класс 1 Нет Является ли четвертая буква М ? б Да | Нет Класс 0 Класс! Рис. 6.3. Пример последовательной классификации четверок букв. Мы выбрали некоторое правило R*, которое относит каждую из 256 (=44) возможных четырехбуквенных последовательностей к классу 1 или 0. Вот некоторые из классификаций этого правила: Объекты класса 0 GKFA GLFR HSTA GLFM WLBR GSFZ Объекты класса 1 GKQA GSQZ HKFM EXQM HSTM GLTM GXBR WLBM Каково это правило R*? Читателю предлагается самостоятельно попытаться ответить на этот вопрос, прежде чем обратиться к рис. 6.3, где отражено примененное правило. При решении задачи постарайтесь отметить ход ваших рассуждений, приведших к ответу. На самом деле к той же классификации приводят и другие прави- ла. Обычно именно так и бывает. Если S — собственное подмножест- во множества всех описаний U, то несколько правил дадут одинако- вые классификации для объектов из 5 и различные — для объектов из U—S1). Нет причины выделять из них какое-то одно, если у нас 4) Пусть N—число объектов в U и п — число объектов в S. Поскольку S — собственное подмножество в U, то n<N. Предположим, что возможны k имен классов объектов. Эго означает, что объектам из U можно kN способами приписать
152 Гл. 6. Последовательное распознавание образов нет дополнительного критерия для нахождения хорошего правила кроме требования, что оно должно верно классифицировать извест- ные примеры. Нетрудно предложить разумный критерий, такой, как минимизация числа используемых признаков или же минимизация длины самого длинного пути на графе. 6.1. Определения и обозначения Прежде всего пересмотрим наши обозначения и введем определе- ния, которые понадобятся нам для обсуждаемой проблемы. Объекты и описания Объектом считается абстрактный элемент, которому ставится в соответствие описание. Описание — это вектор х= (Xi, ..., хт), где Xi, ..., хт — целые числа, причем i-я компонента — значе- ние i-ro измерения, которое может быть любым целым числом ОТ 1 ДО V;. Пространство описаний D — множество всех возможных описаний, N — число элемен- тов в D: tn N = Hv(. (1) г» 1 Классы Существует конечное множество {Су}, /=1, ..с, классов, таких, что каждый объект принадлежит точно одному из них. Класс опре- деляет распределение вероятностей Рг (х|Су) на множестве возможных описаний. Предполагается, что любые два класса всегда различны, т. е. для любых двух классов Ct и С} найдется по крайней мере один такой вектор описания xfzD, что Рг (х | Су) =#= Рг (х| С,). (2) Последовательности наблюдений Стоит указать мотивы, приведшие нас к выбранным ниже опреде- лениям. Предположим, что объект подвергается последовательной процедуре классификации, или проходит по дереву решений, подоб- ному тому, что изображено на рис. 6. 3. По мере прохождения объек- имена классов. По определению каждый из них представляет собой правило клас- сификации. Поскольку их всего kN, то kN~n правил должны совпадать для объек- тов из S и различаться для объектов из U—S.
6.1. Определения и обозначения 153 та от одного узла к другому постепенно приобретаются знания о век- торе описания объекта. На каждом шаге классификации мы можем суммировать эти знания, образуя упорядоченное множество пар целых чисел, причем /-я пара определяет то измерение, которое производилось (/-е), и его результат. Каждый узел дерева будет иметь единственное связанное с ним упорядоченное множество пар. На- пример, с нижним правым узлом (рис. 6.3) связано множество {(1, —G), (4, —М)}, которое означает, что если объект дошел до это- го узла, то известно, что первая буква не G, а четвертая не М. Для формального представления этих понятий определим после- довательность описаний длины v, v^Zm, как упорядоченное множест- во Sv(y) пар целых чисел (а, Ь), удовлетворяющих следующим усло- виям: (1) так как а указывает возможное измерение; (2) так как— возможное значение измерения а; (3) множество Sv(y) не содержит пар с одинаковыми а-компо- нентами, т. е. каждое измерение входит в каждую после- довательность не более одного раза. Последовательность Sv(y) содержит последовательность Sw(y), если w<.v и первые w членов последовательности Sv (у) совпадают с Sw(y). Правила классификации Правило классификации R — это множество пар, причем каж- дая пара образована последовательностью и именем класса х); после- довательности можно изобразить графически в виде дерева (рис. 6.3). Каждая последовательность соответствует пути от корня к одному из концевых узлов такого дерева. Отметим, что это приводит к ин- тересным свойствам множества R. Все элементы из R должны иметь одинаковые первые члены своих последовательностей, а само мно- жество R либо должно состоять из единственного элемента, либо его можно разбить на k таких подмножеств R(1>, ..., R<ft), что если не учитывать (общий) первый член этих последовательностей, то все R<'> сами будут правилами классификации, описывающими поддеревья, которые начинаются сразу же после корня. Объект удовлетворяет последовательности, если значения изме- рений, описанных в последовательности, совпадают со значениями соответствующих измерений объекта. Если для классификации объекта применяется правило R, то объект будет удовлетворять од- ной последовательности из R (точно одной) и ему можно приписать *) Имеются в виду рассмотренные выше последовательности описаний, свя- занные с концевыми узлами, и имена классов, к которым приводят эти последо- вательности.— Прим, перев.
154 Гл. 6. Последовательное распознавание образов имя класса, связанного с этой последовательностью. Это эквива- лентно „прохождению объекта по дереву" до некоторой концевой точки. Выборка Выборкой S называется множество векторов, определенное слу- чайным образом выбранными из U объектами, описания которых и являются векторами из S. Расширение последовательности Расширение последовательности Sv (у)#хТ — это множество по- следовательностей длины 1, каждая из которых содержит Sv(y) и имеет в качестве (у-Н)-го элемента одну из vr возможных пар (г, Ь). На языке теории графов расширение последовательности (у) состоит из путей, имеющих дополнительный узел (следующий после концевого узла последовательности S^y)), который появляет- ся как результат проводимого в нем теста на r-е измерение. Алгоритм последовательного распознавания образов Это процедура формирования правила R по выборке. Если алго- ритм сначала работает с выборкой Si и формирует правило Rb а затем переходит к новой выборке S2(которая может содержать или не содержать Sx), чтобы получить по S2 второе правило R2, и т. д., то полученным правилам будут присваиваться номера в по- рядке их формирования. Стоимости Стоимость ошибочной классификации wi} определяется вещест- венным числом, представляющим стоимость классификации объекта как элемента класса Cit в то время как на самом деле он принадле- жит классу Cj. Стоимость измерения fi — это вещественное число, представляющее стоимость измерения г-го признака объекта. Вероятности классификации или наблюдения Приведем обозначения безусловных, условных и маргинальных вероятностей того, что объект принадлежит определенному классу или имеет определенное описание. Рг(Су) — вероятность того, что объект, выбранный слу- чайным образом, будет принадлежать классу с7, ; = 1, .... Л;
6.2. Бейесовские процедуры решения 155 Pr(Sj,(y))— вероятность того, что определенной последо- вательности длины и удовлетворит вектор описания объекта, выбранного случайным об- разом; Рг (Sv (у) | Cj) — вероятность того, что объект, выбранный слу- чайным образом из класса Cf, удовлетворит последовательности Sv(y); Рг (Cj | Sv (у)) — вероятность того, что объект, выбранный слу- чайным образом из множества объектов, удов- летворяющих 8О (у), будет принадлежать клас- су Cj. 6.2. Бейесовские процедуры решения В гл. 4 была введена бейесовская процедура решения. Бейесов- ский подход оказывается практически полезным при изучении по- следовательной классификации и распознавания образов1). Допустим, мы обнаружили, что частичное описание выбранного случайным образом объекта есть Sv(y). Нам нужно правило для определения класса, к которому следует отнести этот объект. Сов- местная вероятность того, что частичное описание удовлетворит последовательности, а также того, что объект принадлежит классу С3, равна Pr (S, (у) -Су) = Pr (Cj) Pr (S, (у) | С,). (3) Однако эта формула не годится, поскольку мы хотим знать вероят- ность Cj при условии, что задана последовательность наблюдений. Другой вариант — формула Рг(8Ду)-С/) = Рг(8Иу))Рг(С/|8г(у)), (4) из которой следует специальный случай бейесовского правила Рг (С/1(у)) PrCS^y)) Знаменатель правой части в (5) есть сумма всех возможностей по- явления рассматриваемой последовательности, т. е. сумма вероят- 1) Бейесовские правила решения основаны на философском понимании ут- верждений относительно понятия вероятности, которое, возможно, не всегда яв- ляется подходящим. Однако Канал и Чандресакаран (1969) указывают, что хотя философские идеи, на которых основаны бейесовский и небейесовский вероят- ностные подходы к распознаванию образов, различны, на практике они приводят к одним и тем же вычислительным процедурам. Поэтому мы не будем обсуждать эту проблему. Отметим лишь, что не всегда бейесовские и небейесовские толкова- ния вероятностей приводят к одинаковым вычислениям, особенно в статисти- ческой проверке гипотез (Эдвардс, Линдеман, Сэвидж, 1963).
156 Гл. 6. Последовательное распознавание образов ностей наблюдения последовательности в каждом классе, взвешен- ных с вероятностью появления каждого класса. Таким образом, k Рг (S, (У)) = 2 Рг ($, (У) I Ct) Рг (С,). (6) 1=1 Подставляя (6) в (5), получаем формулу Бейеса для случая после- довательной классификации образов Рг (Sv (у) | С.) Рг (С,) Рг (С,1 Sv (у)) = J> J . (7) 2 Рг (Sv (у) I Ct) Рг (Ci) i=l Ожидаемые потери, связанные с решением отнести объект, удовлет- воряющий последовательности Sv(y), к классу Cj, равны k ELUIS^i/n^S^.Pr^ISJy)). (8) /=Х 1 Оптимальное бейесовское правило классификации выбирает зна- чение /, минимизирующее (8). Эти рассуждения применимы в случае, когда уже установлена последовательность наблюдений и выбраны оценки вероятностей, которые будут использованы, так что минимизация функции (8) есть правило классификации образов. Цель процедур распознавания образов — найти наилучшие последовательности и соответствующие правила классификации. Предположим, что для произвольно вы- бранной последовательности наблюдений ожидаемые потери недо- пустимо велики. Тогда один из возможных способов состоит в выбо- ре-некоторого измерения хТ, не принадлежащего Sv(y), и в определе- нии затем той последовательности наблюдений классифицируемого объекта, которой он удовлетворяет в расширении Sv(y)#xr. Воз- можно, удастся получить приемлемую величину потерь классифи- кации для последовательностей из этого множества. Однако в этом способе участвует фиксированная стоимость проведения r-го изме- рения. Когда предпочесть рассмотренный способ и как выбирать хг? Это темы следующих двух разделов. б .3. Бейесовские оптимальные процедуры классификации, основанные на динамическом программировании Сначала попробуем найти способ определения наилучшей возмож- ной последовательной процедуры классификации, когда известны соответствующие условные и маргинальные вероятности. Дальней- ший анализ следует работе Фу (1969а), где эта задача излагается на языке динамического программирования, или оптимизации рекур- сивно заданной функции.
6.3. Бейесовские оптимальные процедуры 157 На основе процедуры классификации мы должны решить, что делать после наблюдения произвольной последовательности 8г,(у), включая и нулевую последовательность S0(y). Если последователь- ность задана, то процедура классификации может либо выдать ре- шение классификации, либо указать направление, по которому надо расширить последовательность наблюдений, прежде чем решение бу- дет принято. Как решить, какой из этих альтернатив следовать? Пусть g(Sv (у)) — ожидаемые потери, обусловленные применением оптимальной процедуры классификации при известной последова- тельности /min {EL (j]Sv(у))}, i g(Sv ((/)) = min I °' 1 min U, + £ Pr (xr=i | Sv (y)) g (Sv+1 (y+(r, i))) L r * <=i ) (9) где Sv-+ j (r, /)) — последовательность из 1 членов, содержа- щая Sv(y) и имеющая в качестве (v+l)-ro члена пару (г, i). Отметим, что i — целое число от 1 до vt. Если правой частью в (9) служит верхняя строка, то решение заключается в отнесении объекта к клас- су /; в противном случае измерения продолжаются. К сожалению, для нахождения оптимальной процедуры обработки последова- тельности измерений длины v надо найти оптимальную процедуру для всех последовательностей длины v+L которые можно получить из первоначальной последовательности. Этот случай отражен ниж- ней строкой в (9). В худшем возможном случае для определения оптимальной процедуры может потребоваться рассмотреть оптималь- ную процедуру для всех возможных последовательностей наблю- дений длины т или меньше. Это может оказаться нелегким делом. Предположим для простоты, что число принимаемых значений для всех измерений одинаково и равно Ь. Число возможных последова- Таблица 6.1 Число возможных последовательностей описаний как функция числа измерений и числа значений каждого измерения Число измерений Число значений каждого измере- ния 1 2 3 4 5 6 2 2 6 14 30 62 126 3 3 12 39 120 367 1096
158 Гл. 6. Последовательное распознавание образов т тельностей для т таких измерений равно %Ь‘, и оно быстро воз- £=1 растает до астрономических размеров. Чтобы получить представ- ление о том, насколько быстро оно растет, достаточно взглянуть на табл. 6.1, в которой приведены числа рассматриваемых последова- тельностей для различных комбинаций и Ь^.3. (Эти случаи охватывают лишь небольшое количество задач, встречающихся в классификации образов.) С(Аа) = min 6.4. Приближения, основанные на алгоритмах ограниченного просмотра вперед 6.4.0. Алгебраический подход Во многих случаях прямая процедура „просмотра вперед", до- пускающая не более k измерений для проведения классификации, приводит к адекватному и в вычислительном смысле более простому алгоритму распознавания образов. Доводом в пользу такого при- ближения может служить интуитивное сомнение в бесконечной сложности природы, и поэтому в попытке предсказать принадлеж- ность какому-то классу достаточно исследовать взаимодействия лишь низкого порядка между переменными, участвующими в этом про- цессе. Проиллюстрируем эту процедуру сначала для алгоритма просмотра на один шаг вперед *). Как и раньше, пусть задана последовательность Sv(y). Рас- смотрим две возможные альтернативы. Первая заключается в том, что по имеющимся наблюдениям проводится наилучшая возможная классификация. Стоимость альтернативы определяется по (9). На- зовем эту альтернативу Ait и пусть ее стоимость равна С(Ах). При- меняемая в процедуре просмотра на один шаг вперед альтернатива А 2 заключается в том, что делается точно одно дополнительное из- мерение (при этом, конечно, выбирается наилучшее), после чего проводится классификация объекта. Стоимость альтернативы Аа равна ° Г fr+ S(Pr(Xf= i= 1 = t-|S„(^)))niin(EL(j|Sp+1(y+(r, /))))}• (Ю) x) Мы следуем изложению алгоритма CLS-9 и книге Ханта, Марина и Стоуна (1966). Фу (19696) обсуждает просмотр вперед как альтернативу к его формули- ровке динамического программирования.
6.4. Приближения 159 Оценка стоимости классификации в этом узле при помощи процеду- ры, определенной алгоритмом просмотра на один шаг вперед, есть h1(Sv(y))=mm{C(A1), C(At)}. (11) Если С(Д!)^С(Д2), то алгоритм просмотра вперед выдает узел Sv(y) как концевую точку, связанную с наилучшим возможным решением классификации. В противном случае этот узел будет внутренней точкой, соответствующей тесту на r-е измерение, ми- нимизирующему С(Л2). Важно понимать, что это не означает, что последующие vr узлов обязательно будут концевыми. Далее алго- ритм применяется по очереди к каждому из них. В этом смысле рассматриваемую процедуру можно назвать приближенной: в ней оценки стоимости каждого действия основаны на предположениях, вообще говоря, неверных. 6.4.1. Проблема выборки При олисании как оптимальной, так и приближенной процедуры мы молчаливо предполагали, что необходимые условные и марги- нальные вероятности известны. На практике их можно оценить по наблюдаемым частотам в выборке S. Для иллюстрации этого и ряда других аспектов, связанных с просмотром вперед, который в действительности гораздо проще, чем выглядит в отпугивающих обозначениях, требуемых для его описания, возьмем в качестве S множество четверок (табл. 6.2). Для простоты стоимость ошибочной Таблица 6.2 Пример задачи для алгоритма просмотра иа один шаг вперед Объекты класса 1 Объекты класса 2 GSQA GLBR GKFM GXBZ HSQM ELBM WKFM НХТМ GXFZ WXTA GKFR EKFR WLQZ GSFA HSBA GLFM классификации принимается равной 0, если классификация про- ведена верно, и 1 в противном случае. Предполагается, что стоимость
Таблица 6.3 Таблицы перекрестной классификации (классы — величины измерений) для просмотра иа одни шаг вперед - Результат классификации для каждого случая выделен жирным шрифтом. В случае равных значений выбирается класс 1. Измерение 1: ожидаемые потери равны 0,4375+0,1 = 0,5375 > 0,5 Буква Класс 1 Класс 2 н 2 1 Q 4 4 Е 1 1 W 1 2 8 8 Измерение 2: ожидаемые потери равны 0,5+0,1 = 0,6 >0,5 Буква Класс I Класс 2 X 2 2 к 2 2 L 2 2 S 2 2 8 8 Измерение 3: ожидаемые потери равны 0,3125+0,1 = 0,4125 < 0,5 Буква Класс 1 Класс 2 Q 2 1 В 3 1 F 2 5 Т 1 1 8 8 Измерение 4: ожидаемые потери равны 0,25+0,1 =0,35 < 0,5 Буква Класс 1 Класс 2 А 1 3 R 1 2 М 5 1 Z 1 2 8 8
6.4. Приближения 161 любого измерения равна 0,1. Поэтому ®17 = 0; ш(7=1 для всех t, /, t^/‘ (12) и fr — 0,l для всех г. (13) Вначале классификация должна проводиться на основе нулевой последовательности S0(i/). При этом вероятность получения опре- деленных значений в классах оценивается по их относительным частотам в выборке. В этом случае первоначально Рг (С1) = Рг (С2)= =0,5, а ожидаемые потери при классификации на основе нулевой последовательности независимо от результата классификации рав- ны 0,5. Для определения ожидаемых потерь, вызванных результа- том только одного измерения и последующей классификации, не- обходимо для каждого измерения оценить ожидаемые потери, чтобы быть уверенным, что после выполнения этого измерения про- водятся наилучшие возможные классификации. Это можно осу- ществить перекрестной классификацией классов по отношению к значениям измерений, причем для каждого измерения выбирается своя классификация. В рассматриваемом примере мы исходим из таблиц классификации и соответствующих тестов, представленных в табл. 6.3. Поскольку использование для измерения четвертой компоненты минимизирует стоимость алгоритма и ее оценка ста- новится меньше С(Д1), в первом узле осуществляется тест на при- знак 4. Расщепление выборки относительно измерения 4 приводит к четырем подвыборкам (табл. 6.4). Каждая из них связана с одним из узлов, непосредственно следующих после первого. Таблица 6.4 Подвыборки после расщепления относительно измерения 4 Подвыборки Объекты класса 1 Объекты класса 2 1 х4 = А GSQA WXTA, HSBA 2 х4 = R GLBR GKFR, EKFR 3 х4 = М GKTM.HSQ М, ELBM, WKFM, НХТМ GLFM 4 x4 = Z GXBZ GXFZ, WLQZ Выполняя аналогичные вычисления для каждого из этих под- множеств, находим, что в подвыборке 1 для разделения классов можно использовать измерение 1, в подвыборке 2 — измерение 2, в подвыборке 3 самое лучшее прекратить измерения и в подвыборке 6 Э. Хант
162 Гл. 6. Последовательное распознавание образов Измерение4 4 использовать измерение 3. Дерево решения показано на рис. 6.4. В некоторых случаях оно заканчивается узлом „?“. Это означает, что связанной с этим узлом последовательности значений измерений в рассматриваемой выборке не было, и потому нельзя предложить никакого правила классификации. Для таких случаев могут ока- заться пригодными различные стратегии. Общепринятая стратегия такова: в качестве подходящего решения выбрать класс, который был бы оптимальным, если бы измерение прекратилось в узле, предше- ствующем рассматриваемой концевой точке. 6.4.2. Обобщение на случай k шагов Нет причины ограничивать просмотр вперед одним шагом. Более сложные задачи можно решить просмотром одновременно k измере- ний. Алгоритм, осуществляющий это, непосредственно обобщает процедуру просмотра вперед на один шаг. Основная трудность, связанная с просмотром вперед на k шагов, состоит в том, что число необходимых таблиц перекрестной классификации очень быстро растет с ростом k. Однако даже для больших k можно значительно уменьшить требуемое число классификаций, если применить метод динамического программирования. Тем не менее этот выигрыш не- велик, если приближение само по себе составляет слишком боль- шую вычислительную задачу и потому не имеет практического при- менения. 6.4.3. Замечание относительно надежности Процедуры последовательной классификации образов иногда подвергаются критике за их уязвимость относительно ошибок при предъявлении выборки. Поскольку R формируется при анализе случайной выборки 5, может оказаться, что на некотором этапе рас- познавания образов „неверное** измерение, т. е. измерение, подхо- дящее для предсказания имен классов в рамках расссматриваемой
6.4. Приближения 163 выборки, а не всего множества объектов, будет включено в строя- щуюся процедуру классификации. На этапе классификации уже нет возможности исправить эту ошибку. Графически это интерпрети- руется так: после того как объект попал на неправильную ветвь, на правильную ветвь вернуться нельзя ‘). Обойти эту трудность предполагалось (Хант, 1967) так: во время распознавания образов надо вычислять статистические оценки, указывающие доверительность, с которой можно экстраполировать классификационное отношение, наблюдаемое в некоторой выборке из рассматриваемого множества. Для оценки предполагалось ис- пользовать меру близости хи-квадрат. Чтобы приспособить эту меру для распознавания образов, вве- дем следующие обозначения: п—число объектов в S, Пу—число объектов в S, принадлежащих классу Су, nf(a, b) — число объектов в S, принадлежащих классу Су, для которых xa — b. Мы хотим оценить степень случайности связи между именем класса и значением измерения, определяемым таблицами, аналогичными приведенным в предыдущем разделе, в предположении, что значе- ния измерений и имена классов в рассматриваемом множестве не- зависимы. Предположим, что в нашем случае это выполняется. Ожидаемое число объектов в выборке размера и, которые будут удов- летворять условиям (имя класса = /) и (xa=b), равно k e/(a,b) = ^^inl(a,b). (14) i=i Критерий хи-квадрат с числом степеней свободы d имеет вид „2 _ Vя Vя (а> е< (аД)12 Z1 i= I b= I где d=(*-l)(ve-l). (16) Большое значение yj указывает на то, что наблюдаемое в выборке отношение вряд ли справедливо для всех объектов, если только не было связи между измерением а и принадлежностью классу. Под- робнее это обычно объясняется в учебниках по статистике, где также содержатся таблицы, позволяющие найти вероятность появления различных значений у^ при выполнении нулевой гипотезы. В тех случаях, когда необходима заданная надежность, можно посове- *) К параллельным процедурам распознавания образов неприменимы ана- логичные доводы, поскольку эффект от одного не относящегося к делу теста мож- но компенсировать результатами многочисленных подходящих тестов.
164 Гл. 6. Последовательное распознавание образов товать установить некоторый максимальный уровень вероятности (что эквивалентно минимальному значению yj) и требовать, чтобы во время распознавания образов тестовые узлы добавлялись лишь тогда, когда это значение превышается. 6.5. Сходимость в последовательном распознавании образов в. 5.0. Введение Широко распространено убеждение в том, что распознавание образов и „машинное обучение" внутренне связаны. Мы видели, что это убеждение в большой степени было вызвано наличием теорем сходимости для персептрона. К сожалению, аналогичные теоремы для случая, когда корректная процедура классификации не является линейно разделяющей, не известны. В самом деле, если нет ограни- чений на вид корректной процедуры классификации, то нет способа убедиться, что получена подходящая процедура, так как нет воз- можности хранить записи о каждом различимом случае. 6.5.1. Моделирование последовательных процедур параллельными В ряде случаев теоремы сходимости установить можно; кроме того, встречаются случаи, в которых сходимость обычно имеет место, но ее нельзя гарантировать. Может оказаться, что процедуру, которую интуитивно можно считать последовательной процедурой классификации, легко превратить в параллельную линейную про- цедуру. Рассмотрим случай, когда все измерения {х,} представляют собой двоичные переменные, как в персептроне. Предположим, что корректное правило классификации R* гласит: „Объект относится к классу Cj тогда и только тогда, когда / — наибольший индекс, для которого х>=1, т. е. /-Й признак в описании объекта имеет наи- больший индекс". Это правило можно описать деревом последова- тельной классификации (рис. 6.5): классификация начинается с вы- яснения, равно ли единице измерение хт, затем хт_х и т. д. до тех пор, пока не обнаружится присутствующий признак. Алгебраиче- ски условия такого правила классификации можно записать в виде (х€Су) => . (х^Су) г: (х; = 0), i > j. ' 7 Рассмотрим единственную линейно разделяющую процедуру т фу, которая, если существует, имеет такие веса {аг}, что 2цгхг>0 i= 1 тогда и только тогда, когда выполняется (17). Легко показать, что
6.5. Сходимость в последовательном распознавании образов 165 фу в самом деле существует. Например, если взять любое веществен- ное число b>j и положить ai — ib‘, й; = — ib‘, (19) тогда и только тогда, когда х £ Cj. К сожалению, число коэффициен- тов так быстро растет, что реальной „машине11 их было бы трудно Рис. 6.5. Правило последовательной классификации, которое можно смоделировать процедурой параллельного распознавания образов. Приведен случай т—3. хранить! Таким образом, даже в этом весьма частном случае моде- лирование последовательной машины при помощи параллельной не- целесообразно. 6.5.2. Построение последовательных правил решения по конечным выборкам Алгоритмы, изложенные в разд. 6.3, будут всегда формировать некоторое правило R, достаточное для классификации S. С какой степенью уверенности можно утверждать, что правило R применимо ко всем элементам множества (7? Иначе говоря, насколько большой должна быть выборка S, чтобы можно было утверждать что-то об отношении R к R* с заданной степенью уверенности. Один способ найти ответ на этот вопрос состоит в применении статистического анализа. В литературе можно почерпнуть до- вольно много если предположить, что R* — в самом деле линейно разделяющая процедура. В этом случае можно установить „довери- тельные интервалы11 для {ц(} правила R. Отправляясь от выборки
166 Гл. 6. Последовательное распознавание образов S, которая считается полученной из U случайным образом, вычис- ляют наилучшие оценки для весов {а, } и устанавливают для каж- дого из них интервалы. Затем подсчитывают вероятность того, что наблюдалось бы значение а, при условии, что истинное значение а,- лежит вне соответствующего интервала. К сожалению, об аналогичных процедурах для определения до- верительных интервалов в случае нелинейных правил известно мало. В предыдущем разделе мы советовали проводить проверку, чтобы быть уверенным в том, что та процедура классификации, ко- торая диктуется правилом R, не является чисто случайной. К со- жалению, способов получения такой неслучайности столько, что почти невозможно сказать что-нибудь более определенное. Напри- мер, критерий хи-квадрат, предложенный в разд. 6.4, можно счи- тать подходящим для проверки гипотезы о том, что связь между измерением и принадлежностью классу не случайна, но он не го- дится для гипотезы о том, что проведенное измерение — лучшее из всех возможных. Такой тест можно построить, но осуществление его требует значительных вычислительных затрат. Хант и его коллеги (Хант, Марин и Стоун, 1966; Хант, 1967) провели эмпирические исследования, чтобы выяснить, насколько быстро сходятся к R* процедуры просмотра на один шаг вперед. В этих экспериментах выбиралось какое-нибудь известное правило для классификации некоторого множества объектов. Затем форми- ровалась выборка, которая предъявлялась алгоритму распознава- ния образов. В одной из версий эксперимента выборка увеличива- лась каждый раз на один объект, пока не находилось корректное правило классификации образов. В другом случае предъявлялась выборка фиксированного размера и при помощи указанного алго- ритма строилось правило, которое сравнивалось с корректным пра- вилом классификации. Общий вывод из этих исследований таков: можно получить разумные приближения нелинейных правил клас- сификации при условии, что корректное правило не является „ужас- но сложным*'. Это утверждение неточно по необходимости. Чтобы придать ему какое-то содержание, опишем один из экспериментов (Хант и др., 1966) ‘)- В этом эксперименте множество U состояло из векторов х длины 4, каждая компонента которых была целым числом от 1 до 4. Таких векторов всего 256 (=44). Каждый вектор был отнесен к классу 1 или 0 при помощи произвольно выбранной процедуры классифика- ции R*. Применялись четыре различных варианта R* в соответ- ствии с определением четырех обычно использующихся логических связок: и, включающее или, исключающее или и импликация. (В дру- 4) Речь идет об эксперименте IX, продолженном для того, чтобы сделать из- ложение настоящего раздела более полным и законченным. Терминология в ука- занной работе слегка отличается от нашей.
6.5. Сходимость в последовательном распознавании образов 167 гих экспериментах также рассматривалась связка эквивалентность, являющаяся отрицанием исключающего или, но в этом конкретном эксперименте эти две связки были неразличимы для алгоритма рас- познавания образов.) Правила изображены на рис. 6.6 в виде после- довательных деревьев классификации. Они формулируются так: Рис. 6.6. Правила, примененные Хантом, Марином и Стоуном при исследовании сходимости. R1 Вектор относится к классу 1, если утверждение (хх=1 и х2=1) истинно; в противном случае он относится к классу 0. R2 Вектор относится к классу 1, если утверждение (%i=l или х2=1) истинно; в противном случае он относится к классу 0. R3 Вектор относится к классу 1, если утверждение (%i=l влечет х2 = 1) истинно. По-другому это можно выразить в виде (%!=£]) или (х2 = 1). В противном случае вектор относится к классу 0. R4 Вектор относится к классу 1, если утверждение (%i=l и х2=£1) или (%1=/= 1 и х2=1) истинно; в противном случае он относится к классу 0. Правило R1 определяет необходимые условия для принадлеж- ности классу, a R2 — достаточные, условия. Правило R3 содержит
168 Гл. 6. Последовательное распознавание образов отрицание, a R4 — двухшаговый процесс, который изображается с помощью более сложного дерева. Эксперимент проводился следующим образом. 1. Из R1—R4 выбиралось некоторое правило. Назовем его R*. 2. Объект выбирался из U случайным образом с возвращением, и его класс определялся правилом R*. Пусть x(t) — вектор описа- ния £-го выбранного объекта. Этот вектор добавлялся к S. 3. Пусть R(7) — пробное правило классификации, действующее в момент выбора x(t). Первоначально R(l) = „Все объекты при- надлежат классу 1“. После выбора вектора x(t) он подвергался клас- сификации по обоим правилам R(£) и R*. 4. Если результаты классификации при помощи правил R(7) и R* совпали, то R(H-1)=R(Z), и происходил возврат к шагу 2. В противном случае перед возвратом к шагу 2 формировалось пра- вило R(/+l) путем исследования S алгоритмом просмотра на один шаг вперед, описанным в разд. 6.4. Цикл, состоящий из шагов 2—4, продолжался до тех пор, пока в выборке не оказывалось 10, 20, 30 или 100 объектов. Эксперимент повторялся 10 раз для каждого возможного правила R* и каждого количества объектов в S. После каждого повтора подсчитывался коэффициент „вычислительного выигрыша" (ВВ). Пусть R — заклю- чительное правило. Тогда (20) где К — число неверно классифицированных объектов в U прави- лом R, L — число объектов из класса 0 в U, М — число объектов из класса 1 в U. Коэффициент ВВ можно интерпретировать как эффективность заключительного правила классификации по срав- нению с простым правилом „считать все объекты множества U чле- нами наибольшего подкласса в П“. ВВ=1 указывает на то, что R — совершенное устройство классификации. ВВ=0 указывает на то, что построенное алгоритмом правило не лучше простого правила „наиболее вероятного выбора", а отрицательный результат означает, что алгоритм действительно построил более плохую процедуру клас- сификации, чем это правило. На рис. 6.7 изображен коэффициент ВВ как функция вида правила R* и размера выборки. Наблюдается определенная сходимость к корректному правилу, но скорость ее зависит от сложности (неизвестного) корректного правила. Интересен также вопрос, насколько большая выборка требуется для достижения заданного уровня точности, поскольку это непо- средственно относится к задаче выделения правила в условиях огра- ниченной памяти. Дир и Хант (1968) заметили, что сдерживающий фактор в машинном распознавании образов зачастую связан не с числом экспериментальных точек, которые можно изучить, а с
6,5. Сходимость в последовательном распознавании образов 169 объемом машинной памяти, необходимым для работы алгоритма распознавания образов. Поскольку для программ последователь- ного распознавания образов нужны специфические записи об объек- тах, которые раньше добавлялись к выборке, то проблема достаточ- ной свободной памяти для таких программ может оказаться серьез- ной. Поэтому при построении алгоритмов следует обращать внима- Размер памяти Рис. 6.7. Коэффициент ВВ, иллюстрирующий сходимость в ис- следованиях Ханта, Марина и Стоуна. Цифры соответствуют прави- лам R1—R4. ние на экономное использование имеющегося объема машинной памяти. Для описания машинного запоминающего устройства, храня- щего записи выборок, Дир и Хант ввели термин „банк памяти". Банк памяти можно организовать двумя способами. Можно рас- сматривать его как файл записей фиксированной длины, в котором в каждой записи отведено место для размещения и компонент век- тора, а также для дополнительного символа — имени класса. Дру- гой способ — рассматривать банк памяти как совокупность записей переменной длины, где в каждой записи отведено место для имени класса объекта и для некоторых избранных компонент вектора,
170 Гл. 6. Последовательное распознавание образов описывающего объект. (Дополнительное место требуется еще для информации о длине записей. Более подробно см. Лефковиц (1968).) Дир и Хант обнаружили, что в работах по распознаванию образов, аналогичных работе Ханта и др., пробная гипотеза R(() по мере увеличения размера выборки постепенно приближается к кор- ректной. В частности, соответствующие компоненты вектора обыч- но появляются в деревьях для R(Z), прежде чем они будут правиль- но классифицированы *). Чтобы применить этот факт, Дир и Хант модифицировали эксперименты Ханта и др.: 1. Вместо предъявления фиксированного числа объектов осу- ществлялся несколько раз циклический проход по множеству из 256 объектов. Однако число объектов, которые можно было бы одно- временно записать в память, ограничивалось. Считалось, что память состоит из фиксированного множества ячеек, каждая из которых способна хранить точно одну компоненту вектора, и запоминание данных модифицировалось следующим образом. 2. При предъявлении объекта и при его верной классификации (так, что R(/+!) = R(/)) запоминались только те компоненты описа- ния объекта, которые использовались при его классификации. На- пример, пусть R* = R1 и R (0 было правилом: „Если%1=2 илих2=1, то объект относится к классу 0“, и пусть х(£)=(3, 1, 2, 4). Из опре- деления R1 следует, что х(/) принадлежит классу 0. Правило R(/) также производит эту классификацию (хотя оно отличается от R1), так что в банке памяти хранится информация (%i=3, х2=1, класс 0). 3. При предъявлении объекта и его неверной классификации за- поминался весь вектор описания. После неверной классификации с помощью модифицированного алгоритма распознавания образов строилась новая пробная гипотеза R(H-l), чтобы допустить работу со случаями, когда значения некоторых компонент некоторых объ- ектов неизвестны. Дир и Хант провели ряд экспериментов, подобных описанным в работе Ханта и др., но в них дополнительно применялись несколь- ко более сложные правила классификации. Результаты эксперимен- тов для правила R4 представлены на рис. 6.8. Из него легко видеть, что модифицированная процедура использования памяти допускает эффективное распознавание образов с памятью ограниченного раз- мера. х) Боурн (1965) приводит наблюдение, свидетельствующее, что это справед- ливо для логического распознавания образов человеком. Люди, видимо, решают задачи классификации («задачи построения понятий» в психологической литера- туре) двумя этапами: сначала отмечают то, что связано с решением, а затем — как именно. Уилльямс (1971) промоделировал построение понятий человеком, поль- зуясь для этого схемой управления памятью, предложенной Диром и Хантом, в рамках одной модели человеческой памяти.
6.5. Сходимость в последовательном распознавании образов 171 Строго говоря, эти результаты показывают, что в определенной искусственной среде можно убедиться в сходимости. Однако этого мало. Поскольку среда и алгоритм распознавания образов коррект- но определены, то необходимо уметь доказывать теоремы вместо того, чтобы индуктивно делать выводы из экспериментальных наблю- дений. Большинство экспериментальных работ по нелинейному рас- познаванию образов имеет ту же особенность, что и первые работы по персептронам: они привели к предположениям, которые позднее 160 ео 5 __________________________________________ 20 60 240 960 6000 Размер памяти Рис. 6.8. Средние ошибки для задачи R-4 (Дир и Хант). признали неверными или вводящими в заблуждение. С другой сто- роны, сегодня у нас нет теорем для последовательного распознава- ния образов. Второе возражение по поводу искусственных экспериментов со- стоит в том, что они слишком искусственны. Даже если предполо- жить, что результаты экспериментов заменены выводами об алго- ритмах распознавания образов, работающих в искусственной среде, разве это говорит что-нибудь о более сложных „реальных" ситуациях распознавания образов? На такое возражение нет ясного ответа. Ведут ли к практическим применениям или уводят в сторону экспе- рименты с искусственными, полностью контролируемыми ситуаци- ями, вот вопрос, на который предстоит дать ответ по мере накопле- ния опыта *). Л) Саймон (1969) дает блестящее подробное обсуждение этой темы.
Глава 7 ГРАММАТИЧЕСКАЯ КЛАССИФИКАЦИЯ ОБРАЗОВ 7.0. Лингвистический подход к анализу образов В этой главе мы подойдем к проблеме распознавания образов сов- сем с другой стороны. Введенные в гл. 2 понятия математической лингвистики будут определены еще раз и привязаны к распознава- нию образов. Читатель, не знакомый с основами формальной линг- вистики, возможно, пожелает еще раз просмотреть гл. 2 х). Изучение в вычислительных науках лингвистики вызвано тем, что между программой и конструкцией машины, способной распо- знавать цепочки символов, представляющих собой правильно по- строенные выражения (предложения) на языке, определяемом по- рождающей грамматикой, существует некоторое соответствие. Как и в гл. 2, пусть G — грамматика, L (G) — порождаемый ею язык, Т — множество терминальных символов, использующихся в G, х — цепочка терминальных символов и Т* — множество всех це- почек, которые можно построить из Т. Задача лингвистического рас- познавания языка (или, что то же самое, задача лингвистической классификации образов) состоит в том, чтобы за конечное число ша- гов выяснить, принадлежит ли произвольная цепочка х € Т* множест- ву L (G) или "] L (G). Если можно построить алгоритм, осуществляю- щий это, то язык L (G) называют рекурсивным, а грамматику G раз- решимой. Существуют нерекурсивные языки. Для них можно по- строить алгоритм, который будет распознавать любую цепочку х $ L (G), но нельзя гарантировать, что он будет останавливаться для всех цепочек xg “]L(G). Такие языки называются рекурсивно пере- числимыми. Любой язык, определяемый порождающей граммати- кой, рекурсивно перечислим. Если грамматика относится к типу 1 х) Для более подробного изучения этих вопросов можно порекомендовать книгу Фу К., Структурные методы в распознавании образов, изд-во «Мир», М., 1977,— Прим, перев.
7,0. Лингвистический подход к анализу образов 173 (контекстно-зависимая), то порождаемый ею язык L(G) рекурсивен. Очевидно, задача классификации цепочек разрешима, только если G—по крайней мере грамматика типа 1. Классификация цепочек дает нам более общий подход к распоз- наванию образов, чем рассматриваемая до сих пор векторная клас- сификация. Векторы представляют собой цепочки конечной дли- ны *), поэтому их можно описать с помощью некоторой порождаю- щей грамматики. Так как каждому классу принадлежит только ко- нечное число векторов, то „язык", соответствующий векторам неко- торого (не обязательно непрерывного) подпространства евклидова пространства описаний, можно рассматривать как конечный ?). Конечные языки могут порождаться регулярными (типа 3) грамма- тиками. Но ранее мы говорили, что задача лингвистической класси- фикации образов разрешима для более широкого класса грамматик типа 1. Поэтому лингвистический подход к классификации образов должен быть более общим. Кроме того, в гл. 2 указывалось, что ал- горитм распознавания для языков типа 3 можно было бы выработать программой, не прибегающей к динамической памяти. Это наводит на мысль, что программы векторной классификации должны быть с вычислительной точки зрения, как правило, проще. Так именно и обстоит дело в действительности, хотя эти программы и могут быть довольно большими. Все рассмотренные в гл. 3—6 алгоритмы клас- сификации образов можно написать на Фортране, при условии что память фиксирована и достаточно велика. Быть может, это и не оче- видно, но это верно как для последовательных, так и для параллель- ных алгоритмов (Хант, 1967). Тот факт, что задачу классификации векторов можно было бы интерпретировать как задачу классификации цепочек, подчас не ока- зывает существенной помощи ни в практическом, ни в интуитивном плане. А что можно сказать о задачах классификации цепочек, не имеющих формулировки на языке классификации векторов? В са- мом общем смысле это те задачи, в которых принадлежность объекта какому-то классу зависит не от булевой комбинации наличия или отсутствия признаков, а от соотношения (возможно, сложного) меж- ду составными частями объекта. Ясно, что лингвистические задачи как раз такого характера. Миллер и Шоу (1968) указывают на то, что другого способа работы трансляционной части алгоритма ком- пиляции не существует. Отсутствует, например, множество призна- ков, отличающее программу на Фортране от бессмысленной цепочки символов, пробитых перфоратором. *) В этом утверждении предполагается, что каждая компонента вектора мо- жет принимать только конечное множество значений. Теоретически для векторов в евклидовом пространстве это не так. Однако практически существует предел раз- решимости двух точек в пространстве, так что для любого вычислительного при- ложения это утверждение верно. 2) То есть язык, содержащий только конечное число цепочек.
174 Гл. 7. Грамматическая классификация образов В процессе лингвистической классификации участвует огромное количество информации о структуре рассматриваемой цепочки. Она может быть полезной сама по себе, например при анализе языков программирования. Важную роль структуры можно показать также на примере из естественного языка. Какие из следующих цепочек эквивалентны? Любит Мэри Джон Джон любит Мэри Мэри любит Джона Джон любим Мэри Любой человек знает, что только две последние цепочки имеют оди- наковое значение. Первая цепочка не является грамотным предло- жением. Вторая, третья и четвертая — грамотные предложения, но глубинная структура второй отлична от глубинной структуры треть- ей и четвертой. Для того чтобы действия с этими предложениями были осмысленными, необходимо провести их классификацию и ра- скрыть отношения между компонентами. Применение структурной классификации не ограничено множе- ствами, представляющими собой языки по нашему интуитивному по- нятию. Интересно было бы построить вычислительную систему, ко- торая могла бы распознавать устную речь. Построить такую машину оказалось очень трудно по ряду причин. Одна заключается в том, что на этапе обработки акустической информации при распознава- нии речи структура исследуемого физического сигнала важнее, чем наличие какого-то определенного физического свойства. Например, слова надо распознавать безотносительно пола говорящего, хотя очевидно, что пол в основном и определяет характер физического сигнала, принятого микрофоном. В другом не столь очевидном при- мере методы лингвистической классификации применялись к распо- знаванию классов двумерных рисунков (Миллер и Шоу, 1968). Позд- нее эту тему мы рассмотрим подробнее. Договорившись, что лингвистические методы могут применяться в классификации образов, что мы скажем о соответствующей задаче распознавания образов? Она называется грамматическим выводом, и ей в основном посвящена эта глава. Формальные определения мы дадим в следующем разделе, а сейчас обсудим несколько общих во- просов. В задаче вывода входными данными служит множество це- почек, каждая из которых считается порожденной некоторой неиз- вестной грамматикой или не согласующейся с нею. Цепочки можно рассматривать как описания определенных объектов из внешней среды, которые были сгруппированы по неизвестному закону при- роды. Например, множество воспринимаемых цепочек могло бы представлять собой описания треков, полученных в пузырьковой камере во время эксперимента по ядер ной физике. (Такое приме- нение грамматического вывода изучал Нарасимхан (1965).) Если бы
7.1. Задача грамматического вывода 175 удалось раскрыть порождающую эти цепочки грамматику, то, ве- роятно, ее правила можно было бы увязать с нашими представления- ми относительно физических процессов, происходящих в экспери- менте. Рассмотрим теперь пример совсем из другой области. Предполо- жим, что мы написали несколько утверждений политического содер- жания, аналогичные приведенным: Бедняки должны получать поддержку правительства. Те, кто отказываются работать, не должны получать под- держки правительства. Затем мы просим отобрать эти цепочки по утверждениям, с которы- ми испытуемый согласен и с которыми не согласен. Такой отбор ус- танавливает множества принятых или отвергнутых цепочек неко- торой (предполагаемой) грамматикой, которую испытуемый исполь- зует для построения политических высказываний, выражающих его убеждения. Если бы удалось раскрыть эту грамматику, не узнали бы мы кое-что о том, как испытуемый рассуждает о политике? Предыдущие примеры могут вкратце служить разумным поясне- нием причин, по которым мы изучаем грамматический вывод. Суще- ствует- также мнение, что раскрытие грамматик в нетривиальном смысле аналогично построению теории в науке. В конце концов тео- рия есть не более, чем совокупность правил для генерации всех воз- можных наблюдаемых явлений. Разве это не то, чем является грам- матика? Можно привести сильный довод в пользу этой аналогии. Однако до настоящего времени с помощью грамматического вывода не было получено особенно полезных результатов. По крайней мере, насколько мне известно, никто еще не написал программу, способ- ную построить какую-нибудь интересную теорию в форме грамма- тики. Возможно, что мы требуем слишком многого. Работа в обла- сти грамматического вывода находится еще в самом начале. В по- следующих двух разделах мы обрисуем то немногое, что известно, и как его можно применять. 7.1. Задача грамматического вывода *) 7.1.0. Обозначения и основные идеи Мы начнем с формальных определений задачи грамматического вывода и ее решения. Большинство обсуждаемых здесь идей осно- вано на работах Фельдмана (Фельдман, 1972; Бирман и Фельдман, Ч При подготовке этого раздела я извлек много ценного из обзора, подго- товленного Винодом Нияком как часть дипломной работы в Вашингтонском уни- верситете.
176 Гл. 7. Грамматическая классификация образов 1972), который опирается на работы (Фельдман, Джипе, Хорнинг и Редер, 1969) и (Голд, 1967). Формальные доказательства особенно ясно изложены Фельдманом (1972). Мы будем в основном останавли- ваться на неформальных иллюстрациях, а не на формальных дока- зательствах. Выборкой St называется последовательность хх.....xt цепочек символов, выбранных из Т*. Предполагается, что некоторые из этих цепочек порождены неизвестной грамматикой G*. Обозначим через S? множество тех цепочек из S(, которые допускаются грамматикой G*, а через Sf— тех цепочек, которые отвергаются ею. Ясно, что Sf ~St(]L(G*), Sr = Sfn 1MG*). (1) Предложения в St будут называться положительными, а предложе- ния в St— отрицательными. Алгоритм грамматического вывода включает в себя изучение St и формирование соответствующей грам- матики Gf. В большинстве случаев нас будут интересовать ситуации, в которых St+1 получается из St добавлением в точности одной це- почки: •St+i = St U {xt+1}. (2) Точно так же можно говорить о машине М, которая рассматривает последовательно множества Si, ... , St и формирует после каждого просмотра грамматику G,-. Задача грамматического вывода разре- шима, если можно построить машину, которая в конце концов сфор- мирует грамматику G, порождающую тот же язык, что и G*, т. е. L(G)=L(G*). (3) В этом случае говорят, что грамматика G согласуется с G*. Это самое сильное из разумных определений решения. Мы не можем требовать, чтобы была построена машина, которая в конце концов воспроизве- дет именно G*, поскольку может быть бесконечно много грамматик, согласованных с G*. Информации, содержащейся в выборке, недо- статочно, чтобы различить грамматики в таких парах. Пробные грамматики {GJ должны выбираться из пространства G гипотетических грамматик, которые машина М способна сфор- мировать. Если машина формирует грамматики из G в некотором фиксированном порядке, то говорят, что М перечисляет G. На каж- дом этапе t хорошая машина грамматического вывода должна выби- рать из G грамматику, „наиболее подходящую" конечной выборке St. Приведем три условия, которым грамматика должна удовлетво-
7.1. Задача грамматического вывода 177 рять, чтобы считалось, что она подходит выборке. Во-первых, она должна правильно классифицировать все цепочки из Sj. Во-вторых, она должна давать „естественное" описание множества Sj. Это тесно связано со статистической идеей правдоподобия: естественным ли образом следуют из грамматики положительные предложения? На- пример, выводит ли грамматика положительные предложения коро- че, чем любая другая грамматика из G? В-третьих, пробная грамма- тика должна удовлетворять некоторому критерию простоты ее объ- яснения. Это понятие аналогично статистической идее „степеней сво- боды". Грамматику G' следует предпочесть грамматике G", если она содержит меньше правил, являющихся просто переформулировка- ми характерной ситуации в рассматриваемой выборке. Для конкрет- ности предположим, что выборка S3 состоит из положительных пред- ложений: S3={a, ab, aba}. Грамматика Ga с правилами Н-^а, H-^ab, H->aba, (4) очевидно, допускает S3. Однако это слишком частное объяснение, подходящее только для этого примера. С другой стороны, все вы- воды короткие! Можно сравнить Ga с грамматикой Gb: Н-+а, Н-+аА, A-+b, А-+ЬН. (5) Эта грамматика содержит больше правил, чем Ga, и требует более сложных выводов для описания S3, но она предпочтительнее, так как не является частным объяснением выборки. Напротив, в ней обращаются с S3 как с одной из многих выборок, которые могли бы порождаться. Наконец, рассмотрим грамматику Gc с правилами 7/->а, //->&, Н-+НН, (6) порождающую множество всевозможных цепочек, которые можно построить из а и Ь. Интуитивно мы предпочли бы Gb в смысле объяс- нения S3, поскольку грамматика Ga слишком специальная, a Gc слишком общая. Наша цель — воспользоваться этими интуитивны- ми понятиями при вычислении. Голд (1967) показал, что способ построения выборки может ограничить разнообразие выводов, которые можно осуществить на ее основе, и эффективность процесса вывода. Наиболее существенно различие между выборками, содержащими только положительные предложения, и выборками, содержащими как положительные, так и отрицательные предложения. В первом случае представление на- зывается текстуальным, поскольку оно аналогично задаче для че-
178 Гл. 7. Грамматическая классификация образов ловека, пытающегося разобрать язык, исследуя тексты, содержащие только правильные конструкции. Во втором случае представление информаторное, поскольку здесь аналогия со случаем, когда чело- век пытается понять язык, задавая вопросы другому человеку, для которого этот язык родной. Преимущество информаторного представ- ления состоит в том, что обучающийся может выяснить, что не допу- скается правильной грамматикой G*. Эта информация может ока- заться очень важной. К сожалению, многие задачи, которыми зани- мались в грамматическом выводе, имеют текстуальное представле- ние. Хорошим примером служит задача, с которой сталкивается архе- олог, когда пытается понять „мертвый" язык, изучая восстановленные манускрипты. У него нет способа выяснить, какая цепочка симво- лов была бы неподходящей, например для шумерского или фри- гийского. Разумная машина грамматического вывода должна улучшать вы- вод по мере приобретения информации. Предельные вопросы исследу- ют утверждения, которые можно сделать относительно свойств по- следовательностей грамматик {бг}, получаемых по выборкам St, при возрастании t до бесконечности. Какие условия гарантируют, что при достаточно больших t грамматика Gt будет согласована с G*? Этот вопрос составляет проблему согласованности. С ней тесно свя- зана проблема приближения. В процессе вывода начинают с множе- ства G грамматик, которые машина могла бы предложить. Предпо- лагается, что грамматика G* может быть согласована с некоторой грамматикой из этого множества. На каждом шаге вывода некото- рые грамматики могут отвергаться: или они не способны породить какое-то положительное предложение в St, или какое-то отрица- тельное предложение в выборке они считают допустимым. Пусть G (t) — множество грамматик, оставшихся в G для исследования на шаге t. Если машина вывода делает успехи, то множество G (t) должно постепенно уменьшаться. Требуется, чтобы выполнялось соотношение G(i + l)cG(0. (7) Если процесс вывода может привести к грамматике, согласованной с G*, то в некоторый момент G(t) будет содержать те грамматики G', для которых L(G')=L(G*). Однако G(Q может быть и бесконечным множеством, содержащим грамматики, не согласованные с G*. В этом случае процесс вывода не приводит к грамматике, согласо- ванной с G*. Так же будет и в случае, когда в G (t) не входит ни одна из согласованных с G* грамматик. Наконец, нам потребуется представление о функциях адекват- ности. Определим здесь функцию адекватности g(St, 6) как меру того, насколько грамматика G подходит для описания выборки St. Значения g меняются от 0 до +<зо, причем 0 интерпретируется как „совершенное описание" а 4-оо указывает на то, что G не годится
7.1. Задача грамматического вывода 179 для S( (или потому, что L (G) не содержит всех положительных пред- ложений рассматриваемой выборки, или потому, что L (G) содержит одно из отрицательных предложений). Нас интересует поведение g при неограниченном росте t. 7.1.1. Разрешимость Представим себе гипотетическую машину /И, которая выводит грамматики следующим образом. Машина способна перечислять (возможно, бесконечное) множество G кандидатов в грамматики. Всеведующий экспериментатор выбирает некоторую грамматику G* С G в качестве правильной. Затем он строит постепенно возрас- тающие выборки Si, ... , S(, используя информаторное или тексту- альное представление. Для каждой выборки машина М порож- дает соответствующую грамматику Gt, находя в своем перечне пер- вую грамматику, удовлетворительно объясняющую St. В дальней- шем мы обсудим специальное определение „удовлетворительного объяснения", а сейчас будем считать, что этот термин означает вы- полнение условий St<=L(Gt), Srf]L(Gt) = 0, (8) а грамматика Gt удовлетворяет некоторым критериям адекватного объяснения St и простоты ее собственной внутренней структуры. Мы будем говорить, что машина М разрешает задачу грамматиче- ского вывода, если для любого выбора G* существует такое число /*, что для t>t* грамматика Gt согласуется с G*. Заметим, что если М не может по этому критерию выработать G, то никакая другая ма- шина тоже не сможет этого сделать, так как М — автомат общего вида, способный (а) отличать одну грамматику из G от другой и (б) выяснять, допустима или нет данная цепочка х для любой грам- матики G g G. Голд (1967) получил два важных результата, касающихся задачи вывода. Первый назовем общей теоремой о разрешимости для ин- форматорного представления. Теорема 1. Пусть G — любое множество разрешимых грамма- тик. При информаторном представлении задача грамматического вывода разрешима для любой грамматики G* £ G. Доказательство. Пусть машина М перечисляет G в по- рядке G1, ... , Gk. Предположим, что грамматика Gft действитель- но согласуется с G*. На любом этапе t процесса вывода машина М выбирает в качестве своей гипотетической грамматики первую грам- матику в перечне G1, ... , G1', которая удовлетворяет (8), правильно классифицируя все предложения в St. Пусть G‘ — первая такая грамматика, поэтому G‘=G(. Так как i<Zk, то G‘ не согласуется с G*. Следовательно, поскольку / увеличивается, в конце концов найдется
180 Гл. 7. Грамматическая классификация образов предложение, ошибочно допускаемое или отвергаемое грамматикой G'. Тогда G' отбрасывается и выбирается следующая приемлемая грамматика GJ, j>i. В конце концов будет выбрана грамматика G*. Пусть это будет на этапе t*. Грамматика Gk в дальнейшем никогда не будет отброшена. Отсюда следует, что задача вывода решена. Наше доказательство основано на том, что для любой грамматики G', i<Zk, какая-то цепочка из L (G*) будет отвергнута или какая-то цепочка из “| L (G*) будет допущена. При текстуальном представле- нии (Si=S^) можно сделать ошибку только первого типа. Этого до- статочно, чтобы нарушить условие разрешимости. Теоремы Голда и Фельдмана (Фельдман, 1972; Фельдман и др., 1969) подтверждают следующий результат о неразрешимости для текстуального пред- ставления. Теорема 2. Пусть множество G содержит грамматики для всех конечных языков и какого-нибудь одного бесконечного. При тексту- альном представлении не существует машины, которая может ре- шить задачу вывода для произвольной грамматики G* g G. Доказательство. Для любой грамматики G g G, по- рождающей в конечный язык L (G), всегда найдется другая грамма- тика G' g G, порождающая язык L (G'), включающий L(G). Таким образом, для любого конечного t St^L(6)cL(G’). (9) Если бы множество G содержало только грамматики, порождающие конечные языки, то можно было бы закончить доказательство, заме- тив, что для любой грамматики G* £ G настал бы момент, когда нельзя построить новые предложения для S<+1. Поскольку, однако, в G есть по крайней мере одна грамматика G", порождающая бес- конечный язык, то выборка St, возможно, не будет иметь конца. Пока выполняется (9), машина не может различить G и G' (G' — одна грамматика из бесконечного множества таких грамматик). Если G"=G*, то (9) всегда можно удовлетворить, так как в этом случае всегда можно породить новую выборку. Этот недостаток текстуального представления вызывает серьез- ные трудности, поскольку, как было показано во введении, во мно- гих реальных ситуациях решения задач текстуальное представление будет единственным способом порождения выборки. К счастью, тек- стуальное представление можно использовать для определения грам- матик, которые постепенно приближаются вполне определенным образом к правильной грамматике. Фельдман (1972) дает две интер- претации понятия „ближе11, одна из которых включает другую.
7.1. Задача грамматического вывода 181 Условие приближения Говорят, что перечисляющая машина М. приближает граммати- ку G* ё G, если (П1) после некоторого шага t* грамматики Gt(f>t*), выбранные ма- шиной М в качестве пробных, допускают любую цепочку, до- пускаемую грамматикой G*: (VxeL(G‘)) [(t>f)=(x€L(Gt))], (10) (П2) любая грамматика G, порождающая язык, который собственно включает в себя L (G*), в конечном счете будет отвергнута: (VG6G) [(L (G*) с L (G)) =((ЭГ) (/ > Г) z>(Gt =#G))]. (11) Из этих двух условий приближения следует, что если какая-то машина приближает G*, то любая неправильная грамматика G будет пробной грамматикой Gt только для конечного числа шагов t, т. е. любые конкретные ложные догадки будут делаться только для конечного числа попыток. Можно считать, что множество G разбито на постепенно уменьшающиеся подмножества, каждое из которых представляет собой множество еще не исключенных ответов. Даже в этом случае грамматика G* не обязательно будет выбрана, потому что „постепенно уменьшающиеся" множества все еще правдоподоб- ных гипотез могут быть бесконечными. Рассматриваемая машина М сильно приближает G*, если, кроме условий (П1) и (П2), выполняется следующее условие. Условие сильного приближения (ПЗ) Если существует грамматика GgG, согласованная с G*, т. е. L(G)=L(G*), то Gt=G для бесконечно многих t. Условие сильного приближения утверждает, что любая грамма- тика, согласованная с G*, будет выбрана бесконечно много раз. Раз- личие между этим условием и условием согласования состоит в том, что в случае согласования М в конечном счете сводит свои догадки к множеству G* гипотез, содержащему только согласованные грам- матики, а в случае сильного приближения М повторно выбирает любую согласованную грамматику Gс G, хотя допустимы и выборы несогласованных грамматик. Фельдман показал, что можно постро- ить машину, сильно приближающую G*, если использовать тексту- альное представление для любого класса рекурсивных грамматик G. С одной стороны, это интересно, поскольку показано, что можно по- строить машину, которая будет зацикливаться на корректных грам- матиках. С другой стороны, машина может вообще не стабилизиро- вать свои догадки. Это справедливо даже для очень ограниченного класса грамматик, таких, как грамматики с конечным множеством состояний.
182 Гл. 7. Грамматическая классификация образов Займемся теперь вопросом выбора наилучшего объяснения для выборки. Безусловно, это как раз то, чем мы интересовались бы в большинстве практических приложений. Сначала надо определить, что мы будем считать наилучшим объяснением. Пусть g(St, G)— функция несовместности для выборки Sf и грамматики G. Функция g должна быть вычислимой функцией сложности грамматики G и сте- пени, до которой естественно укладывается в G. Обозначим через c(G, G) функцию внутренней сложности, связывающую G с классом G, и через d(St, G) — функцию сложности вывода, определяющую степень, до которой S( следует естественно из L (G). Например, c(G, G) может быть числом нетерминальных символов в каждой грамма- тике (и тем самым она будет упорядочивать G), a d (St, G) может быть числом шагов в самом длинном выводе, необходимом для порожде- ния Si из G. Вообще говоря, end нельзя минимизировать одновре- менно. Предположим, что G — приемлемое объяснение для S(. Иными словами, должны выполняться условия (8). Для того чтобы из при- емлемых объяснений выбрать одно, попытаемся минимизировать g при следующих условиях: (У1) Функция несовместности при заданной грамматике должна быть вычислимой функцией ее внутренней сложности и слож- ности вывода для выборки: g(St, G)=f(c(G, G), d(St, G)). (12) (У2) Если заданы две одинаково сложные грамматики, то функция несовместности должна быть меньше для грамматики, дающей менее сложный вывод. (УЗ) Если заданы две грамматики с одинаковой сложностью вывода, то проще та из них, у которой меньше функция несовмест- ности. Условия (У2) и (УЗ) можно выразить алгебраически, заметив, что в них требуется, чтобы для любой постоянной k и любых вещест- венных чисел а и Ь, а>Ь, выполнялись неравенства f(k, a)>f(k,b) (13) и f (a, k)> f (b, k). (14) Поскольку c(G, G)— вычислимая функция грамматики G от- носительно класса G, то можно было бы построить перечисляющую машину, порождающую грамматики из класса G в порядке возра- стания внутренней сложности. Такое перечисление называется окка-
7.1. Задача грамматического вывода 183 мовским х). Если G1, ... , G', ... , G' — оккамовское перечисление, то c(G', G)<c(G< G) для «/. Что же может делать машина, способ- ная осуществлять оккамовское перечисление? Ясно, что такая машина могла бы находить наилучшее объясне- ние для любой конечной выборки St. Для этого машина рассматри- вает грамматики G' в порядке перечисления. Пусть G' — первая приемлемая по (8) грамматика при заданной выборке S(. Машина вычисляет d(St, G‘), и, поскольку она уже „знает" c(G‘, G), она мо- жет установить g(S(, G') = /n (15) как верхнюю границу несовместности рассматриваемых грамматик. Наилучшим возможным объяснением выборки будет тогда грамма- тика, для которой d (St, G)=0. По определению оккамовского пере- числения или множество G конечно (в этом случае все ясно), или найдется такое число k>i, что / (c(Gft, G), 0) > т. (16) Пусть Gk — первая грамматика в оккамовском перечислении, которая, однако, так сложна, что ее нельзя рассмотреть, даже если d(St, Gk)=Q. Ясно, что функция несовместности для любой грам- матики Gs, s>fe, будет больше т. Поэтому машина М может огра- ничить свой выбор грамматик конечным множеством {G', ... , G*"1}. Важно отметить, что эта проверка применима к любому множеству грамматик G, для которого можно определить соответствующие функции. В частности, грамматики не обязаны быть разрешимыми. Можно получить более сильные результаты, если рассматривает- ся информаторное представление. Фельдман (1972) доказал, что при t-*-oo последовательность лучших догадок будет приближать G* для любого множества G. В самом деле, если функция сложности вывода имеет верхнюю границу при неограниченном росте t, то машина, минимизирующая несовместность и использующая окка- мовское перечисление, может в пределе дать грамматику, согласо- ванную с G*. Это важно, поскольку предположение о наличии верх- него предела сложности вывода вполне разумно. Пусть, например, как-то определена вероятность p(x|G) того, что некоторое предложе- ние х появилось бы в выборке при условии, что G — правильная грамматика. Определим d(St, G) как вероятность того, что грамма- тика G породила бы выборку размера t, отличную от S,: d(St, О)=1-Пр(х,.|О), (17) (=i По имени, английского (средневекового.— Перев.) философа Уильяма из Оккама, который сформулировал принцип, гласящий, что простые объяснения предпочтительнее сложных.
184 Гл. 7. Грамматическая классификация образов Верхняя граница этой величины равна 1. Можно показать также, что ожидаемое значение величины d(S(, G) в пределе ниже для тех грамматик G, для которых р (хг |G)=p (хг |G*) для всех хг € Т*. Таким образом, машина, использующая оккамовское перечисление, в ко- нечном счете выберет наименее сложную грамматику, согласован- ную с G* и совпадающую с ней в смысле вероятности порождения предложения. Закончим этот раздел одним предостережением и размышления- ми по аналогии. Предостережение заключается в том, что приведен- ные результаты касаются возможностей алгоритмов грамматическо- го вывода. Это не обязательно практические инструкции к написа- нию таких алгоритмов. Машина, которая должна порождать и по- следовательно оценивать каждую грамматику, могла бы потратить очень много времени на проверку неправильных грамматик. Инту- итивно машина, минимизирующая несовместность, должна быть лучше, но будет ли она достаточно хорошей? Кроме того, часто труд- но определить подходящую меру сложности. Проблема не в том, что таких мер нет, а в том, что можно предложить целый ряд различных мер и, похоже, нет веских доводов в пользу какой-то одной из них. Размышления адресуются психологам. Как ребенок может об- учиться языку? Было высказано предположение, что обучение язы- ку — процесс „вербального ограничения", аналогичный обучению механическим навыкам. Это предположение не подтвердилось фак- тами. Во всем мире дети начинают разговаривать, используя про- стые грамматики, затем переходят к более сложным. Оказывается, что порядок, в котором типы грамматик „рассматриваются" детьми, почти не зависит от самого изучаемого языка (Дейл, 1972). До какой степени идея естественного перечисления грамматик применима к построению модели обучения первому языку? Эта идея, возможно, сначала кажется „притянутой за уши", но проверка предположений, сделанных рядом современных структурных лингвистов (Леннеберг, 1967, 1969; Келли, 1967), показала, что по крайней мере внешне идея онтогенетической последовательности пробных грамматик похожа на идею оккамовского перечисления. 7.1.2. Объединение бейесовских процедур с перечислением Лингвистическое перечисление приводит к выбору наилучшей пробной грамматики для заданной выборки. Статистический подход к грамматическому выводу приписывал бы каждому кандидату в грамматику вероятность быть „правильной" грамматикой. Эти два подхода были объединены Хорнингом (1969); упоминались они и в работах Ханта (1965) и Ватанабе (1960). Понятие грамматики надо модифицировать так, чтобы учесть „ве- роятность появления предложения". Пусть G — порождающая грам-
7.1. Задача грамматического вывода 185 матика, тогда каждая ее продукция будет иметь вид r->s, где г и s — цепочки из словаря грамматики G. Будем обозначать k продук- ций с г в качестве левой части через г 1, ... , rk. Стохастическая грамматика S (G) получается из G, если каждой продукции ri при- писать вероятностную меру х) р (ri). Эта мера определяет вероятность того, что к цепочке г (если она есть) будет применена продукция ri. Нияк (1972) предлагает следующий пример: Продукция Вероятность применения S1 S —>- аА 2/3 S2 S —> aSB 1/3 А1 А ~^ЬА 1/4 А2 А —»Ь 3/4 В1 В —>-сВ 1/4 В2 В —>-с 3/4 (18) Цепочка aabbcc вводится так: Цепочка Продукция Вероятность S S2 1/3 aS В В1 1/4 aScB В2 3/4 aScc S1 2/3 ааАсс А1 1/4 ааЬАсс А2 3/4 aabbcc (19) Перемножая вероятности из правого столбца в (19), находим веро- ятность порождения цепочки x=aabbcc, а именно р (x|G)= 18/2304. Эта величина может показаться слишком малой, но это и надо было ожидать. Для нашего интуитивного представления о языке любое конкретное предложение языка должно иметь небольшую вероят- ность. 1) Если {р (ri)} — множество вероятностных мер, то 0<р(п') < 1,Ур(г()=1.
186 Гл. 7. Грамматическая классификация образов Введенное выше определение согласованности пригодно для сто- хастических грамматик, поскольку две стохастические грамматики, порождающие один и тот же язык, могут отличаться вероятностями появления отдельных предложений. Стохастическая согласованность Две грамматики Ga и Gb называются стохастически согласован- ными, если они согласованы и р (x|Ga)=p (x|Gft) для всех Вспомним выдумку об экспериментаторе, выбирающем грамма- тику G* С G и использующем ее для порождения предложений вы- борки, которая должна определять G*. Предположим, что существу- ет вероятность р (G) выбора любой конкретной грамматики G £ G для использования ее в качестве G*. Предположим далее, что обучаю- щийся (или машина вывода) может вычислить p(G). Вероятность p(G) будет называться априорной вероятностью выбора G. Если обучающийся применяет для вывода G по St бейесовскую процеду- ру, то апостериорные вероятности будут приписываться в соответст- вии с правилом р (G\S0) = р (G), p(G|S<)=a^.lffHGl^-x) . Zj P(*t I 6') p (G’ | St_i) G'SG (20) (21) Вычислить (21) трудно, поскольку суммирование надо провести по бесконечному множеству G, правда, не все его элементы различны. „Наиболее очевидный" способ обойти эту трудность заключается в ограничении вычислений множеством G+ грамматик, априорные ве- роятности р (G) которых превышают некоторое произвольно малое число е. К сожалению, это решение имеет недостаток х). Если огра- ничиться лишь каким-то подмножеством G+ множества G возмож- ных грамматик, то с некоторой произвольно малой вероятностью G* может оказаться вне рассматриваемого множества, т. е. будет принадлежать G—G+. Можно, однако, решить исходную проблему с помощью минимизации функции несовместности. Допустим, множе- ство G упорядочено по возрастанию априорных вероятностей его грамматик: G1, ... , Gl, Gi+1, ... , G4 где £>/ означает, что p(G')^ ^p(G7). То же упорядочение даст оккамовское перечисление, в ко- тором используется функция внутренней сложности c(G, G)=-log2(p(G)). (22) х) Другой способ, имеющий тот же недостаток, состоит в том, чтобы рассмот- & реть только такие грамматики G х, ..., G*, для которых у, p(G') = 1—е.
7.1. Задача грамматического вывода 187 функцию сложности вывода можно выбрать так, чтобы она отра- жала вероятность появления выборки: d (St, G) — — log2 (p (St | G)) = - S log2 (p (x, | G)). (23) i — 1 Бейесовское решающее устройство, которому на каждом этапе про- цесса вывода приходится выбирать единственную грамматику, долж- но выбрать такую, чтобы величина ^=p(Sf|G)p(G) (24) была максимальной. Это эквивалентно минимизации функции не- совместности g(St, G)=d(St, G)+c(G, G), где d и с определяются формулами (22) и (23). Отсюда видно, что существует процедура перечисления, минимизирующая на каждом шаге процесса предъявления функцию несовместности и выбираю- щая ту же грамматику, что и бейесовская процедура. Мы уже отме- чали, что процедура перечисления может выбрать грамматику, ми- нимизирующую функцию несовместности на бесконечном множест- ве грамматик. Следовательно, это решает (утвердительно) вопрос р том, можно ли построить бейесовский алгоритм вывода, который будет находить для каждой выборки бейесовскую оптимальную грамматику, даже если множество возможных грамматик бесконеч- но. Вот этот алгоритм: Бейесовский алгоритм перечисления для стохастического текстуального представ- ления 1. Пусть G1, G2 3 4, ... , G1', G'+1, ... — оккамовское перечисление бесконечного множества G, использующее функцию внутренней сложности вида (22). 2. При заданной выборке St найти такое наименьшее целое i, что St^L(G'). Подсчитать значение q = p(St\G‘)p(Gl). (25) 3. Найти такое наименьшее целое k, что p(Gk)<.q. (Ясно, что p(St\G^p(G*)^p(Gk)<q. (26) Так как (26) справедливо для любого tri>k, то целое число /, максимизирующее р (St\&)p (G') на G, должно лежать в ин- тервале от i до k—1 включительно.) 4. Выбрать GJ из множества G+={G', ... , G*'1}, пользуясь обычной бейесовской процедурой вывода. Этим определяется
188 Гл. 7. Грамматическая классификация образов бейесовский оптимальный выбор грамматики из G, объясняю- щей St. Добавить xt+1 к St, образовав St+i, и повторить про- цесс с шага 2. Таким образом, бейесовскую индукцию можно применять для выбора наилучшей грамматики, объясняющей фиксированную вы- борку. Естественно, что мы также заинтересованы в ограничениях в ходе процесса выбора. Уверены ли мы в том, что правильная грам- матика G* всегда будет рассмотрена (т. е. в конце концов станет элементом множества G+), и каковы шансы, что она, будучи там, окажется выбранной в качестве оптимальной? Независимо от положения грамматики G* в перечне на некотором этапе ее должны включить в G+, если она еще не там. Пусть G" — первая в перечне грамматика, для которой L (G*)czL (G"). При сто- хастическом текстуальном представлении на некотором этапе t" все предыдущие грамматики в перечне будут исключены из-за их неспособности допускать некоторые предложения из St". На этом этапе G" станет первой грамматикой в G+. Если G"=G*, то G*, без- условно, будет в G+. Грамматика G* также могла оказаться в G+ на этапе t", если p(S^|G")p(G")<p(Sr|G*)p(G*). (27) В любом случае t"=t*. Если неравенство (27) не выполняется на этапе t", то оно будет выполнено на некотором последующем этапе В самом деле, если G" стохастически не согласуется с G*, то Как только грамматика G* будет в G+, бейесовская индукция при неограниченном росте t приведет к выбору ее в качестве наиболее вероятной грамматики для объяснения S(. Чтобы в этом убедиться, рассмотрим множество X различных предложений в St безотноси- тельно к числу их появлений. Пусть /(х) — частота появления пред- ложения х и £с(х) — ожидаемое число появлений х в предположении, что для порождения исследуемой выборки используется граммати- ка G. Можно показать (Хант, 1965), что если для выбора гипотети- ческой „наилучшей" грамматики из фиксированного множества грамматик х) применяется бейесовский вывод, что выбранная грам- х) Строго говоря, результат Ханта был получен для любого конечного множе- ства гипотез. Грамматический вывод является частным случаем.
7.1. Задача грамматического вывода 189 матика минимизирует величину (29) хе X 1 [ 1 При неограниченном росте t эта функция достигает своего абсолют- ного минимума (нуля) только на грамматике, для которой е0(х) = ес*(х) (30) при всех х£Т*. Это переформулировка условия стохастического согласования. Таким образом, в пределе алгоритм бейесовского пе- речисления выберет в полученном перечне первую грамматику, сто- хастически согласованную с G*. Этот результат отличается от соот- ветствующего результата для формального лингвистического выво- да. С учетом информации о частотах бейесовская процедура может достичь стохастического согласования только при текстуальном представлении, тогда как процедуры формального лингвистического перечисления, основанные на минимизации функции несовместно- сти, не могут при текстуальном представлении даже приблизиться к G*. Тот факт, что в бейесовском выводе используется (и на самом деле требуется) текстуальное представление, а в лингвистическом эффект больше при работе с информаторным представлением, ставит инте- ресный вопрос. Можно ли объединить стохастическое текстуальное представление с эффективным информаторным представлением, опи- раясь на то, что бейесовская индукция указывает грамматику, ко- торая лучше всех объясняет St, а также другие грамматики, даю- щие разумные альтернативные объяснения? Предположим, напри- мер, что бейесовская процедура перечисления показывает, что Ga максимизирует апостериорную вероятность выбора, а величина апостериорной вероятности для Gb почти такая же. Не будет ли ра- зумным в случае информаторного представления выбирать xj+1 в ка- честве цепочки, допускаемой только одной из этих двух грамматик? Как нужно было бы изменить соответствующие алгоритмы вывода и перечисления? Непосредственно этот вопрос не изучался. Интере- сующийся читатель может посмотреть работы Ханта (1965) и Вата- набе (1960, 1969), имеющие некоторое отношение к рассматривае- мому вопросу. Довод в пользу осуществления бейесовского вывода с помощью перечисления опирается на нашу способность проводить необходи- мое оккамовское перечисление в G. Разумно предположить, что можно построить машину, порождающую все более сложные грам- матики из некоторого класса. Но можно ли построить машину, по- рождающую все менее и менее вероятные грамматики? Ответ на этот вопрос, по-видимому, лежит в области философии, поскольку он зависит от того, как определить „менее вероятные". Может создать-
190 Гл. 7. Грамматическая классификация образов ся впечатление, что неформальный довод в пользу перечисления, основанного на вероятности, слабее довода в пользу перечисления, основанного на сложности. Можно поставить также вопрос о том, насколько широко приме- нимо понятие стохастической грамматики. В некоторых случаях оно оказывается полезным. Свейн и Фу (1972) использовали для ана- лиза простых рисунков очень похожее понятие — стохастические программированные грамматики. Однако пока не ясно, какую поль- зу может принести это понятие. Были высказаны серьезные сомнения относительно соответствия стохастического описания естественному языку. Приведем два основных возражения. Одно заключается в том, что понятие вероятностного упорядочения символов принци- пиально неверно, поскольку при этом не учитывается смысл ска- занного. Это собственно философский довод. Другое возражение более прагматическое. Предположим, что мы допускаем, что стати- стическое описание порождения языка стохастической грамматикой в принципе возможно. Однако практически естественные языки вы- глядят настолько сложными, что оценить соответствующие парамет- ры не удается, и надо найти какой-нибудь другой вид лингвистиче- ских описаний (Миллер и Хомский, 1963). Этот аргумент нисколько не умаляется демонстрацией пригодности перечисления, так как основная идея Миллера и Хомского заключается в том, что сама процедура перечисления слишком громоздка. 7.1.3. Конструктивные процедуры грамматического вывода При перечислении последовательность грамматик порождается независимо от выборки и каждая грамматика оценивается относи- тельно этой выборки. Это полезное представление операции вывода, но маловероятно, чтобы оно могло быть практически полезно. Может потребоваться очень много времени, чтобы отвергнуть грамматики, которые „очевидно" не должны рассматриваться при данной выбор- ке. Другой способ вывода — изучить выборку и построить по ней простую грамматику, порождающую язык, в который входят все положительные предложения этой выборки. Процедура построения должна ограничиться „разумными" грамматиками, т. е. такими, ко- торые на некотором этапе t процесса вывода способны породить S(. К сожалению, в настоящее время нет полностью удовлетворитель- ных методов для решения этой задачи, а те, что есть, строят грамма- тики из ограниченных классов и имеют тенденцию при весьма малых выборках строить мало изящные грамматики. Похоже, что в ближай- шие годы появится ряд новых и лучших методов. В качестве иллю- страции изложим три несколько различные процедуры. Четвертый конструктивный метод, предназначенный для работы с двумерными рисунками, будет описан в разделе, посвященном грамматикам изо- бражений.
7.1. Задача грамматического вывода 191 Метод Соломонова В одном из первых обсуждений этой проблемы Соломонов (1964а, б) предложил метод вывода контекстно-свободных грамматик по ко- нечной выборке. Его метод основан на „теореме uvwxy“ для контек- стно-свободных языков (Хопкрофт и Ульман, 1969). Теорема uvwxy. Если L — контекстно-свободный язык, то суще- ствуют такие постоянные р и q>Q, зависящие только от L, что если в L есть цепочка г длины, большей, чем р, то ее можно записать в виде uvwxy, где vwx имеет длину, меньшую, чем q, a v и х не являются одновременно пустыми цепочками. Если z принадлежит L, то для любого целого 1>0 цепочка uv'wx'y, где s' — конкатенация цепочки s самой с собой I раз, также принадлежит L. В теореме утверждается, что если S( — выборка из языка L и L порождается контекстно-свободной грамматикой, то достаточно длинная цепочка z С St (если она существует), состоит из ядра w, окруженного двумя повторяющимися цепочками v и х, из которых только одна может быть пустой, а также головной и и хвостовой у цепочками, которые обе могут быть пустыми. Грамматика языка L должна содержать продукции для порождения таких предложений. В частности, она должна содержать продукции, с помощью которых можно вывести бесконечное множество подцепочек вида v'wx' из не- которого нетерминального символа Xj (/=0, ... , п). Один из спо- собов — включить в грамматику продукции Aj—> v/lyx; А]—>w. (31) Задача сводится к поиску подходящих цепочек v, w и х. В упрощенной версии процедуры Соломонова в выборке разыски- ваются цепочки вида v'wx' с учетом позиций, в которых цепочки могут оказаться пустыми. Предположим, что найдены цепочки с оди- наковыми v и х, но с разными ядрами w. Тогда выбирается некото- рый нетерминальный символ Aj и к грамматике добавляются необ- ходимые продукции. Вообще говоря, это приведет к множеству 117; ядер, соответствующих нетерминалу А}. Процедуру можно рекур- сивно применять к Wj и добавлять новые нетерминалы и продукции до тех пор, пока не исчерпаются все нетерминалы Д;(/=0,... , п). Получившаяся грамматика определит язык, содержащий данную выборку. Для иллюстрации этого метода выведем грамматику из выборки St — \abccdef, abbbcdeeef, abcccdef, abbbbccccdeeeef}. (32)
192 Гл. 7. Грамматическая классификация образов Все цепочки в St имеют вид ЩмД. Включим в G продукции Ло >-tzA0/ (33) Ао —>- bcccde Ао —► bbbcdeee Ао —► bcccde Ао —* bbbbccccdeeee Грамматика уже слишком обобщена, поскольку допускает цепочки вида akv/fk, которых нет в рассматриваемом языке. Это конкретная иллюстрация уже сделанного замечания об ограничениях при тек- стуальном представлении. Затем алгоритм рекурсивно применяется к множеству 1Г0= = {bcccde, bbbcdeee, ...}. Все его цепочки имеют вид bkwek. Заменим последние четыре продукции в (33) на A^-t-Ai и добавим продукции Ах —+ ЬАге Ai—^cccd (34) Ах —► cccd Ax—rccccd Теперь рассмотрим множество U^x. Цепочки в нем имеют вид ckw).k, где X — пустая цепочка. Заменим последние три продукции в (34) на Ах—>-А2 и добавим к грамматике А2—>сА2Х (35) А2 — d Разумеется, пустую цепочку X можно отбросить. Множество {d} далее нельзя уменьшить. Получается грамматика Ао—>пА0/ Ао > Ах Ах—>Мхе (36) Ах-^А2 Аа—>сА2 A2—+d Она порождает язык, содержащий выборку S;, но не только ее одну. Применяя алгоритм uvwxy, можно разными способами опреде- лить цепочки v, w и х. Вид получаемой грамматики сильно зависит от выбранного способа. Это хорошо видно на примере, возникшем в связи с определением арифметического выражения, а не для того, чтобы продемонстрировать работу нашего алгоритма х). Для удоб- Благодарю Патрика Рассела за то, что он обратил мое внимание на этот пример.
7.1. Задача грамматического вывода 193 ства пронумеруем цепочки из St- (1) v (2) и 4-и S4: (3) и + и + п (4) v + v + v + v (37) Если определять цепочки так, чтобы они были единичной длины, как подразумевалось в предыдущем примере, то все они (кроме (1)) имеют вид u’wu1, а начальное множество продукций таково: Ао —<-vAov Ао—для (1) Ао—<• + для (2) Ао —* 4- v “Ь Ао^ 4-U4-U4- (38) Это множество продукций ведет к нежелательным последствиям: в дальнейшем получается слишком сложное множество продукций для этого простого случая. Кроме того, грамматика (38) допускает такие цепочки, как vw-\-vw, нежелательные в рассматриваемом язы- ке. Другой способ исходит из того, что продукция ’должна быть в грамматике для вывода цепочки (1), а цепочка (3) имеет вид (v+)1u(+n)1. Тогда начальным множеством продукций должно быть Ао-> v (39) Ао—>и + п f + Ао 4-и Уже эти продукции создадут требуемый язык, но они обладают эсте- тическим недостатком, так как первые две определяют два различ- ных типа основных арифметических выражений. Эту трудность можно обойти, если наш алгоритм подойдет к анализу предложений (37) с иных позиций. Напомним, что теорема uvwxy позволяет, что- бы одна из цепочек v или х была пустой. Предположим, что (37) — это множество предложений, в которых v есть пустая цепочка Z. Тогда последние три предложения имеют вид (+и)й. Опуская Xй, получаем грамматику A0-^A0 + w (40) A0-+v (41) Эти две продукции порождают требуемые арифметические выраже- ния так, что уровни вложения в полученной грамматике соответст- вуют разумной последовательности вычислений. Итак, алгоритм uvwxy создает основу для разработки несколь- ких алгоритмов грамматического вывода. Как показывает второй 7 Э. Хант
194 Гл. 7. Грамматическая классификация образов пример, полезность обсуждаемого метода в каждом отдельном случае сильно зависит от выбранного способа выделения цепочек v, w и х. Таким образом, упрощенный метод Соломонова сам по себе не при- водит к разработке эквивалентных алгоритмов грамматического вы- вода. Полная процедура, которую применял Соломонов, несколько изящнее и ограничивается более узким классом порождаемых ею грамматик. Однако многие из проблем, упомянутых при обсуждении иллюстраций, остаются нерешенными. Интересующийся читатель может ознакомиться со статьями Соломонова (1964а, б) и их обсуж- дением в работе Бирмана (1971). GRIN 1 Фельдман (1967; Фельдман и др. 1969) разработал программу GRIN 1, осуществляющую грамматический вывод. Она ориентиро- вана на вывод (регулярных) грамматик с конечным числом состоя- ний, т. е. грамматик, продукции которых имеют вид Af->aAh или А]-^а. Регулярную грамматику, порождающую каждое из предло- жений некоторой фиксированной выборки, всегда можно найти, по- скольку конечные языки могут определяться регулярными грамма- тиками. Программа функционирует в два этапа. На первом формируется множество продукций, достаточных для порождения выборки. Это множество включает в себя определенные продукции, называемые остаточными и имеющие вид А^аЬ. На втором этапе эти продук- ции сливаются и лишние отбрасываются, а оставшиеся образуют ре- гулярную грамматику, определяющую тот же язык, что и на первом этапе. Для иллюстрации метбда выведем грамматику из выборки S7 = {caaab, bbaab, caab, bbab, cab, bbb, cb\. (42) Сначала GRIN 1 ищет продукции для вывода самых длинных цепочек, затем менее длинных и т. д., добавляя на каждом шаге как можно меньше продукций. Правая часть последней продукции, применявшейся при выводе самых длинных цепочек, должна состо- ять точно из двух терминальных символов. Такие продукции и бу- дут остаточными продукциями, отбрасываемыми на следующем этапе. Сначала должна анализироваться цепочка caaab. GRIN 1 фор- мирует продукции Ао ► с A j А1—+аА2 А2-^аА3 (43) А3—>ab (остаточная)
1.1. Задача грамматического вывода 195 До будет начальным символом нашей грамматики, так что с него должен начинаться каждый вывод. Затем анализируется bbaab, еще одна „самая длинная цепочка**. Новые продукции таковы: Ао —*bAt Д5 —аДв (44) А„—>-ab (остаточная) Далее идет цепочка caab\ частично ее можно вывести с помощью уже имеющихся продукций. Применяя продукции Д0-х41, Д1-нгД2, Аз-^аАз в указанном порядке, получаем сааА3. Осталось добавить только продукцию А3-+Ь (45) Для вывода цепочки bbab применяем А0->ЬА4, А4-^ЬА3, А3-^аАв, получая в результате ЬЬаАЙ, и добавляем АЙ^Ь (46) Для остальных цепочек добавляем Аг+Ь А2—^Ь А^Ь (47) Вся грамматика состоит из продукций До—*-сА1 Ао—*ЬА4 Аг—+Ь А1—>аА2 А2—>Ь Д2—► аА3 A3—+b 43 — аЬ (остаточная) (48) Д 4 ► ЬА 6 b Аъ^-аАв Ав—>-Ь Ав—>-ab (остаточная) Далее остаточные продукции сливаются. Например, продукция Ав->-Ь лишняя, так как есть продукция А5—>~Ь. Для вывода последо- вательности ab пишем Д5->аД6 вместо As-^~aAs Это позволяет от- бросить остаточную продукцию АЙ-+аЬ и лишнюю продукцию АЙ->Ь. Аналогично отбрасывается А3-+аЬ и А3->Ь. Новая грамматика со- стоит из продукций А0—+сА1 40—»ЬАв (49) А1—>Ь 4j—>аА2 А2 —* b А2—>-аА2 А2—+ЬАе 45—>-Ь Д5—^аА6 7*
196 Гл. 7. Грамматическая классификация образов Заметим, что новая грамматика содержит рекурсивные конструкции и, таким образом, способна породить бесконечный язык. Наконец, грамматика упрощается еще больше, но так, чтобы порождаемый ею язык не изменился. Для этого сливаются продук- ции, которые отличаются только обозначением переменной. В (49) можно подставить Aj вместо А2 во второй и третьей строках, и тогда получатся две одинаковые строки. Подобным же образом сливаются Aj и А6. Отметим, что при этом необходимо сделать соответствую- щую замену во всем множестве продукций. В результате получается упрощенная грамматика Ао ►cAj Ао ► bAt Ai-^aA, A1—>-b (50) At-+bAi Для построения из цепочек стержневых грамматик была написана похожая, но более сложная программа GRIN 2. Эти грамматики мо- гут порождать языки, обладающие многими свойствами простых языков программирования. Вывод с использованием семантики Практически применяемые грамматики образованы не абстракт- ными продукциями, а командами построения предложений, имею- щих смысл. Рассмотрим, в частности, языки программирования. Оператор на Фортране А=В+С (51) — это команда „выбрать из памяти значение С, поместить его в ра- бочий регистр, выбрать из памяти значение В, сложить со значени- ем С, хранящимся в рабочем регистре, и поместить результат в ре- гистр для А“. Семантическая структура формулы (51) с учетом по- рядка выполнения операций имеет вид [[А]=[[ВЦ-[С]]], (52) где каждый уровень вложения соответствует элементарной опера- ции на Фортране. В работах Креспи-Регицци (1971) и Креспи-Ре- гицци, Мелканов и Лихтен (1973) излагается процедура грамматиче- ского вывода, в которой для вывода грамматики, лежащей в основе рассматриваемого языка, используется знание семантики предложе- ний в выборке. Креспи-Регицци с соавторами высказали мысль о том, что эта процедура могла бы помочь разработчикам языков про- граммирования, позволив им описывать примерами язык, который они хотят получить, вместо того, чтобы давать его формальное оп- ределение. Соответствующая грамматика была бы построена тогда при помощи вывода по примерам.
7.1. Задача грамматического вывода 197 Вывод осуществляется в три этапа. (1) Для каждой цепочки из S+ формируется пробная грамматика. („Не предложения** не рас- сматриваются.) Грамматика, построенная для одной цепочки, доста- точна для порождения именно этой цепочки. (2) Каждая пробная грамматика затем обобщается описанным ниже способом. (3) Нако- нец, различные пробные грамматики сливаются, и окончательная грамматика представляет собой объединение обобщенных пробных грамматик. Детали метода можно проиллюстрировать на примере одного предложения. Пусть s=[[a]4-[[a]4-[a]]], (53) где а — это неформально „имя переменной**. Предложение (53) слу- жит примером цепочки сложений. Ее семантическая структура ука- зывает на то, что сложения выполняются в порядке справа налево. Для построения пробной грамматики предположим, что z — цепочка в s на самом нижнем уровне вложения. Она целиком состо- ит из терминальных символов. Продукция N^z, очевидно, должна принадлежать этой грамматике. Подстановка Nt вместо z убирает один уровень вложения. Пусть у — цепочка (нового) самого ниж- него уровня вложения. Отметим, что у может содержать нетерми- нальные символы. Добавляем к грамматике продукцию Nj->y и действуем, как раньше. Продолжаем добавлять продукции до тех пор, пока не будет убран самый верхний уровень вложения. Для примера (53) последовательность результатов такова: Шаг Цепочка Продукция 0 [[«]+[[«]+ [а]]] Л\ —* а 1 bVi+[Wi + A\ll N2~^N1 + N1 2 И1+л/а] W3-*Wi+A/2 3 Ns s-*yV3 (54) Грамматика (54) порождает в точности цепочку (53). Для обоб- щения грамматики нетерминальные символы объединяются в клас- сы, определяемые цепочками терминальных символов, выводимыми из нетерминалов одного класса. Из двух предложенных Креспи- Регицци и др. алгоритмов мы опишем более простой. В этом алго- ритме два нетерминала сливаются, если множества терминалов, ко- торые могут появиться в качестве первого или последнего символа цепочек, выводимых из каждого нетерминала, совпадают. Точнее, пусть продукция Ni~>~z принадлежит пробной грамматике. Опреде- лим левое терминальное множество Lt (z) цепочки z как множество терминальных символов, которые могут появиться в качестве самого
198 Гл. 7. Грамматическая классификация образов левого терминального (не обязательно самого левого) символа в цепочке, выводимой из z. Аналогично определим правое терминаль- ное множество Rt(z), Терминальным сечением Тр(Л;г) для Л\ назо- вем упорядоченную пару (Lt(z), Rt(z)). Два нетерминала Nt и Nj сливаются, если их терминальные сечения совпадают. Применим этот метод обобщения к грамматике (54), чтобы лучше разобраться в работе алгоритма. Но сначала надо задать правило вычисления терминального сечения. Пусть z — цепочка и Zj — ее первый терминал. Множество Lt (z) состоит из Zj и левых терминальных множеств всех нетерминалов, предшествующих Zj в z. Аналогично для Rt(z), только теперь z} — это самый правый терминал в г, и он объединяется с правыми терми- нальными множествами всех нетерминалов, следующих за z} в z. Обобщим теперь грамматику (54). Первый шаг — нахождение Тр(Л^): Ni —>а Lt(a) = Rt(a) = (a} Тр (Л\) = <а, а> (55) Подставляя вместо символа Л\ его терминальное сечение, подсчиты- ваем Тр (М2): N2 —- Wf + Nj —► <а, а> + <а, а> Lt «а, а> + <а, a» + Rt«a, а> + <а, а» = (а + ) (56) Тр(М2) = <а + , а + > Делаем подстановку опять, на этот раз для подсчета Тр(М3): Л/з—►М1 + Л^2—► <а, + <а, а + > Lt(<a, а> + <а + , a + » = Rt«a, а> + <а + , а4-» = (а + ) (57) Тр(^) = <а+, а + > Поскольку М2 и N3 имеют одинаковые терминальные сечения, то /V2 может везде заменить N 3. В результате получаем грамматику L) N^—ta (58) s — AT, х) В этом примере Lt(y)=Rt(y). Это не всегда будет так. Цепочка s2= [[([[а]+ [«]])]+[«]] приводит к пробной грамматике Ai -> а Д2 -* Д1+Д] •* (Дз) Af -*• Дз"ЬД1 s Д4 Тр (Д1)=(“. а) Тр (Д2)=(а+, «+) Тр (Д3)=((,)> Тр (Д4)=(+(,а+)
7.1. Задача грамматического вывода 199 Грамматика (58) порождает такие цепочки, как [[«] + [«]]. [[«] + [[«]+ WU. (59) И°] + [[«] + [[а] 4- И]]], представляющие собой разумное обобщение цепочки (53). Действи- тельно, для формирования грамматики, описывающей арифметиче- ские выражения, достаточно 10 продуманно выбранных предложе- ний. Ясно, что этот алгоритм обладает рядом интересных свойств. Вместе с тем он имеет и недостатки. Креспи-Регицци и др. отмечают, что алгоритм формирует ограниченное множество грамматик опера- торного предшествования (Айронс, 1961). Чтобы поправить дело, они предлагают метод обобщений, в котором нетерминалы сливаются только в том случае, когда их терминальные сечения совпадают (если рассматривать не более k выводов). Полученная процедура формирует более широкий класс грамматик. Другая важная харак- теристика их метода (не ясно, что это — достоинство или недоста- ток) состоит в том, что он сильно зависит от качества выборки. Это заставляет разработчика языка быть особенно тщательным в своих исследованиях, что, возможно, и хорошо. 7.1.4. Заключения относительно формального грамматического вывода Это новая и многообещающая область. Поставленные математи- ческие проблемы четко сформулированы и интересны, но пока еще в этой области мало что известно. Мы изложили лишь несколько под- ходов из тех, какие можно было бы предложить. Интересующийся читатель может ознакомиться с подробностями в обзоре Бирмана и Фельдмана (1972). Ни один из предложенных пока методов вывода даже отдаленно не выглядит практически применимым способом построения грамматики искусственного языка, сравнимого по слож- ности, скажем, с Алголом, но можно построить грамматики, соот- ветствующие фрагментам такого языка. Безусловно, мы еще не за- няли тех позиций, с которых можно начать атаку на естественные языки! В еле дующем разделе мы изучим вопрос о возможности при- менять грамматические методы для описания классов двумерных фи- гур. Это интересное приложение, но оно ставит ряд специфических вопросов. Оставляя в стороне практические приложения, Фельдман (1972) указывает, что возникает много интересных теоретических вопросов. Например, каков результат работы с данными при нали- чии шума, т. е. ошибочной идентификации некоторых предложений как положительных или отрицательных? Какие правила должна ис- пользовать машина грамматического вывода при взаимодействии с информатором? Наконец, как высказано в работе Креспи-Регицци, существенную помощь может оказать учет семантики в предложени- ях выборки.
200 Гл. 7. Грамматическая классификация образов 7.2. Грамматический анализ двумерных образов 7.2.0. Изображения как лингвистические объекты Было бы прекрасно, если бы вычислительные машины могли не- посредственно воспринимать двумерные изображения. Например, машина могла бы тогда разменивать деньги в различных валютах. Подобные устройства могли бы анализировать фотографии, получен- ные от спутников погоды, проводить идентификацию отпечатков пальцев и классифицировать медицинские снимки. От читателя не требуется большого воображения, чтобы придумать много других применений. Фантасты считают, что машина, воспринимающая изоб- ражения, составляет непременную часть технологии, которой мы еще не достигли, но уже будем иметь к 2001 г., от которого нас отде- ляет около 25 лет. Джордж Оруэлл допускает возможность распо- знавания человеческих лиц в 1984 г. Реальность может быть не- сколько более скромной. От машинного зрения на уровне, прибли- жающемся к человеческому, нас отделяют безусловно многие годы. Машина, анализирующая контурные рисунки, может быть ближе по времени, но даже и здесь все выглядит удивительно неопределен- ным. В настоящем разделе обсуждается метод анализа и классифи- кации очень простых рисунков, основанный на грамматической клас- сификации и выводе. Читатель, видимо, согласится с тем, что в принципе можно было бы распространить наш метод и на сложные, детализированные изображения. Однако следует обратить внимание на то, что такое распространение метода быстро стало бы очень и очень сложным. Анализ изображений, кажущийся простым для че- ловека, может привести к значительным вычислительным трудно- стям. Мы уже видели, что понятие допускаемых входных данных для вычислительного процесса внутренне связано с понятием правильно построенного выражения в формальном языке. С другой стороны, хотя с помощью грамматического анализа всегда можно определять входы машинной программы, это не всегда самый естественный путь описания программы и ее работы. Ранние попытки классификации изображений содержали этап предварительной обработки, на кото- ром анализируемое изображение отображалось в вектор фиксиро- ванной длины. Каждая компонента вектора указывала значение яр- кости в соответствующей точке плоскости изображения. Затем для работы с „изображениями1' применялись методы классификации век- торов. Такой подход был не особенно удачным. Это могло быть свя- зано с тем, что некоторые важные классы изображений определя- лись соотношениями между их компонентами, а не наличием какой- нибудь абсолютной характеристики. Прекрасный пример — разли- чие между классами изображений „окружность внутри квадрата" и „квадрат внутри окружности". Мы уже говорили о том, что с та-
7.2. Грамматический анализ двумерных образов 201 кими понятиями довольно тяжело работать, если пользоваться обыч- ными методами классификации векторов (Минский и Пейперт, 1969). При обсуждении „состояния дел" в искусственном интеллекте (Минский, 1959, 1963) и вообще вычислительных науках (Ледли, 1962) отмечалось, что при изучении формальных грамматик возни- кают понятия, уже знакомые в вычислительных науках и пригод- ные для описания классов, определяемых соотношениями между компонентами. Эти идеи привели к разработке ряда „грамматик", предназначенных для анализа и классификации рисунков. На эту Таблица 7.1 Бинарные операции для изображений {Ледли, 1962) Символ Значение Цепочка Изображение f находиться над находиться рядом с ОО © находиться внутри „ находиться внутри и на оснбвании находиться сверху находиться вплотную рядом о тему написано несколько хороших обзоров (Фу и Свейн, 1971; Миллер и Шоу, 1968), и мы постараемся здесь не выходить за рамки основ этого подхода. Изложив основы, мы рассмотрим задачу грам- матического вывода для грамматик изображений. Закончим этот раздел некоторыми критическими замечаниями по поводу примене- ния лингвистического подхода к классификации изображений. 7.2.1. Пояснение основных понятий 'Для выполнения грамматического анализа нужно описать класс интересующих нас изображений в терминах соотношений между компонентами, которые можно отобразить в цепочки символов. Такие правильно построенные выражения отвечают „правильно на-
202 Гл. 7. Грамматическая классификация образов Таблица 7.2 Грамматика, порождающая язык для описания нарисованных домов Словарь М=<дверь>, <окно>, <труба>, <стена>, <фронтон>, <крыша>, <внд спередн>, <вид сбоку>, s Г = { } Множество продукций <дверь> <окно> <труба> <фронтон> <крыша> <стена> <внд спереди> <внд сбоку> S = <дверь> <стена> <окно> = <стена> <труба> <фронтон> <труба> <крыша> = <фронтон> <стена> <крыша> <стена> = <вид спередЮ | <вид сбоку> рисованным изображениям11 и могут считаться языком с соответст- вующей грамматикой. В большинстве случаев достаточно исследо- вать языки, порожденные грамматиками непосредственно состав- ляющих. Рассмотрим фигуру ft, которую можно описать цепочкой □ 1Д, где 1 интерпретируется как „находиться сверху". Ледли (1962) использовал эту и другие подобные операции (приведенные в табл. 7.1) для определения языка, описывающего нарисованные дома. Контекстно-свободная грамматика, представленная в табл. 7.2, порождает язык, описывающий изображения на рис. 7.1, а, но не на рис. 7.1, б. Применение грамматики изображений можно разбить на три этапа. Сначала определяется грамматика, способная порождать описания интересующего нас класса изображений. Часто это требу- ет изобретательности. Затем надо найти подходящий для получен- ной грамматики способ разбора предложений. Это обычно решается непосредственно. Наконец, надо найти способ преобразования изоб- ражения в соответствующую цепочку. Эта задача может оказаться сложной. Часто совсем не просто перейти от зрительного образа к цепочке символов, воспринимаемой машиной. Продемонстрируем на примере нарисованных домов метод преобразования изображений в цепочки, который хорошо работает с простыми грамматиками и с четко очерченными рисунками х). Для иллюстрации метода постро- им лингвистическую цепочку, соответствующую дому на рис. 7*.2. *) Этот метод служит не только педагогическим целям. Ледли (1964) успешно применил его для анализа снимков хромосом.
АА Рис. 7.1. Изображения, соответствующие цепочкам в граммати- ке изображений: а — два правильно построенных дома; б — два неправильно построенных дома. Рис. 7.2. Анализируемый дом.
204 Гл. 7. Грамматическая классификация образов Предположим, что изображение преобразовано в цифровую фор- му, так что программа может „проследить линии11, проходя в мат- ричном представлении изображения по соседним элементам, рав- ным 1. Считывание линий осуществляется передвижением „жука“ (показанного в верхнем левом углу рис. 7.2) слева направо и сверху вниз до тех пор, пока не встретится какая-нибудь линия. Жук дви- жется по этой линии до тех пор, пока не приходит к точке, в которой он уже был. Когда встречается разветвление еще не прослеженных направлений, жук поворачивает по часовой стрелке 2). Он последо- вательно проходит по всем различным компонентам изображения. На рис. 7.2 жук попадает на первую линию в точке 1 и отследит эле- мент dl, т. е. трубу. Для того чтобы получить лингвистическую цепочку терминальных символов, нужна грамматика, определяю- щая каждый элемент в терминах основных передвижений жука; например, за горизонтальной линией следует из ее правого конца вертикальная, связанная с другой горизонтальной, проходящей че- рез ее нижний конец, и т. д. Такие грамматики довольно сложно написать, поскольку рассматриваемые линии должны оканчиваться на определенных вершинах. Подробности можно найти у Клюса (1969) и Розенфельда (1969а, б), а примеры у Шоу (1969) и Нарасим- хана (1965). Во всяком случае, предположим, что, когда достигнута точка 2, жук может определить, что он отследил основной элемент. Он также обнаружит в точке 3 линию, которую он не проходил. По- этому он движется от точки 3, отслеживая фигуру 3—4—5—6—7—4, т. е. крышу 3). Поскольку известны координаты как крыши, так и трубы, можно вывести цепочку Й1П. Просмотр затем возвра- щается в точку 4, в которой была обнаружена еще не пройденная линия 4—8. Далее будет отслеживаться элемент 4—8—5. В конеч- ном счете будет отслежен весь дом, кроме окон. Для их обнаружения жук должен возобновить свой прерванный просмотр слева направо от точки 1 и продолжать двигаться, игнорируя уже отслеженные линии, пока не наткнется на окна в точках 9 и 10. Когда окна от- слежены, их координаты используются для расположения их на стене 6—5—11—12. Теперь у нас есть цепочка терминальных сим- волов, которую можно исследовать обычными методами синтаксиче- J) Имеется в виду курсор, т. е. указатель иа экране дисплея.— Прим, перед. 2) Для этого требуется предварительная «разметка» минимальных циклов.— Прим, перед. 3) Существуют и другие стратегии просмотра. Читателю предлагаем приду- мать их самому. Отметим, что здесь, как и при отслеживании других элементов, жук должен как-то распознавать, что отдельные линии могут быть частями двух элементов — как в случае, когда кусок линии принадлежит и верхнему участку крыши, и нижнему участку трубы.
7.2. Грамматический анализ двумерных образов 205 ского анализа, чтобы убедиться, что это изображение действительно является „правильно построенным домом". Приведенное описание очень коротко, и, возможно, задача вы- глядит проще, чем оиа есть иа самом деле. Следует повторить, что рассматриваемые методы хорошо работают для простых рисунков, но быстро становятся запутанными по мере усложнения изображе- ний или даже при незначительной деформации „прямых" линий. К сожалению, действительно интересные изображения именно тако- го сорта. Так как это специальная тема, мы не будем ее касаться (хорошее введение дано Розенфельдом (19696)). Мы займемся про- блемой вывода, возникающей й анализе изображений. 7.2.2. Вывод грамматик изображений Несмотря на то что большую помощь в процессе обучения оказы- вает зрительное восприятие, о логическом процессе вывода соотно- шений, имеющихся в изображениях, известно очень мало. Наиболь- ших успехов в этой области добился Эванс (1971), который, однако, отметил, что его работа — это лишь начало и какие-либо заметные результаты еще впереди. Вместе с тем метод Эванса выявил типич- ные для таких задач проблемы, которые предстоит решить, и уже по одной этой причине его работа заслуживает рассмотрения. К тому же подход Эванса воплощает целый ряд идей, которые могут при- меняться и в будущем. Эванс употребляет несколько отличные от наших обозначения. Его терминология ближе к терминологии, принятой в языке про- граммирования Лисп, чем к терминологии Хомского. Однако по ходу изложения станет ясно, что обозначения Эванса эквивалентны обычным обозначениям грамматики непосредственно составляющих. Терминалами в системе Эванса служат примитивные типы объектов и примитивные предикаты. Типы объектов представляют собой блоки, из которых строятся распознаваемые изображения. Приме- ры примитивных типов объектов: отрезки прямых, дуги, окружно- сти и квадраты. Начальное представление изображения (т. е. дан- ные, на основе которых осуществляется вывод) — это просто список примитивных типов объектов в изображении вместе с некоторой ин- формацией об их размере и положении на плоскости изображения. Второй тип терминалов — примитивные предикаты — являются отношениями, которые могут выполняться между любыми двумя компонентами изображения, будь то примитивные объекты или со- ставные. Последний случай соответствует нетерминальным симво- лам в обычной грамматике. Например, внутри (х, у) („х внутри у“) — это предикат, который принимает значение истина тогда и только тогда, когда все компоненты рассматриваемого объекта х (возможно, составного) расположены внутри объекта у. Отметим, что из опре- деления внутри вытекает, что существует программа, способная
206 Гл. 7. Грамматическая классификация образов исследовать преобразованное в цифровую форму изображение для определения положения объекта у, наличия у него границы и выясне- ния, расположены ли компоненты объекта х внутри у. Вообще го- воря, предикат именует подпрограмму, исследующую преобразован- ное в цифровую форму изображение для определения, выполняются ли требуемые пространственные соотношения между аргументами предиката. Грамматика по Эвансу есть множество продукций, каждая из которых определяет (составной) объект в обсуждаемом языке изоб- ражений. Продукция состоит из трех частей: имени продукции, списка ее аргументов и списка высказываний, которые должны быть истинными для этих аргументов. Последний список разбивается в свою очередь на две части: список объектов с единственным вхожде- нием каждого из аргументов и предикат, который на этих аргумен- тах должен принимать значение истина. Если в левой части про- дукции стоит только начальный символ Н грамматики, то продукция определяет сцену, или самостоятельное изображение. Это соответст- вует правильно построенному выражению. В противном случае продукция определяет различные типы подвыражений. Проиллюстрируем эти понятия на примере изображения „лица" (рис. 7.3, а). Предположим, что терминальный словарь таков: Типы объектов: точка, квадрат, отрезок прямой, окружность. Предикаты: внутри, над, слева, горизонтальный, и. Приведем возможное грамматическое описание этого рисунка: лицо->-(х, у): черты лица (х), голова (у); внутри (х, у) Лицо — черты лица, расположенные внутри головы. голова-*(х): окружность (х) Голова — окружность. черты лица->(х, у, z): глаза (х), нос (у), рот (z); и (и (над (х, у), над (х, z)), над (у, z)) Черты лица — глаза, расположенные над носом и ртом, и нос над ртом. (60) глаза->-(х, z): точка (х), точка (у)\ слева (х, у) Глаза — пара точек, одна расположена слева от другой. нос-*(х): квадрат (х) Нос — квадрат. рот->(х): отрезок прямой (х); горизонтальный (х) Рот — горизонтальная прямая. Продукции (60) можно представить в виде дерева разбора обычным образом. Это показано на рис. 7.3, б. Задача вывода — построить грамматики, подобные (60), анали- зируя сцены Si, ... , Sn, где каждая сцена является полным изоб-
7.2. Грамматический анализ двумерных образов 207 с лицо „ I Внутри г----------------1----------------, черты лица голова I I и окружность I-----1-------------------1, и над над над нос йот глаза нос глаза рот кдадрат горизонтальные следа кдадрат следа горизонтальный отрезок прямой | | | | отрезок прямой точка точка точка точка й Рис. 7.3. Грамматический анализ нарисованного лица: а—лицо-+лицо с поме- ченными компонентами; б — анализ лица условной грамматикой. ражением. Получившаяся грамматика должна содержать продук- ции, достаточные для объяснения каждой сцены, и, кроме того, удов- летворять другим (возможно, плохо определенным) критериям эф- фективности и сложности. В процессе вывода можно выделить три этапа. Построение грамматики объекта Каждая сцена первоначально представляется списком содержа щихся в ней примитивных объектов. Новые объекты создаются и до- бавляются в список каждой сцены в результате нахождения всех предикатов, истинных для любого подмножества объектов из этого списка. Это требует, чтобы оценивался каждый «-местный предикат относительно каждого упорядоченного подмножества размера п рас- ’сматриваемого списка. Пока мы занимаемся простыми изображения- ми (как, например, обсуждавшиеся выше), у нас не возникают труд-
208 Гл. 7. Грамматическая классификация образов ности при вычислениях, но при изучении сцен, приближающихся по сложности, скажем, к аэрофотоснимкам, они могут стать ощути- мыми просто из-за большого числа возможных подмножеств. Во вся- ком случае, применение предикатов и создание новых объектов про- должается до тех пор, пока еще можно получать новые объекты. За- тем в новом списке отыскиваются объекты, содержащие каждую примитивную компоненту сцены в качестве подкомпоненты. Такие объекты составляют возможное грамматическое описание исследуе- мой сцены. Чтобы разобраться в действиях первого этапа, рассмотрим сле- дующий пример. Пометим примитивные компоненты лица (рис. 7.3, а); списком объектов после первого прохода будет 1: (1) окружность (1) 2: (2) точка (2) 3: (3) точка (3) (61) 4: (4) квадрат (4) 5: (5) отрезок прямой (5) Применение предикатов внутри, над и слева 2) ко всем парам объ- ектов в (61) приводит к списку второго прохода 6: (4,5) над (4,5) 7: (1,2) внутри (2,1) 8: (\,3)внутри (3,1) (62) 9: внутри (4,1) 10: (1,5) внутри (5,1) 11: (2,3) слева (2,3) Процесс повторяем, исходя уже из расширенного списка. Отметим, что при расширении должна быть получена информация о располо- жении новых объектов. Например, разумно будет сказать, что объ- ект 11 (глаза) расположен над 4 (носом), поскольку центр тяжести точек 2 и 3 находится непосредственно над носом. По отдельности эти точки не расположены непосредственно над носом. После треть- его прохода получается список 12: (1,6) внутри (6,1) 13: (1,11) внутри (11,1) 14: (4,11) над (11,4) (63) 15: (5,11) над (11,5) 16: (6,11) над (11,6) Для простоты изложения предикаты горизонтальный и и ие рассматри- ваю । ся.
7.2. Грамматический анализ двумерных образов 209 11 I слева r, I 2 3 19 внутри ____________i I 16 над J-----------( 6 I, над I-----1-----1 4 5 4 1 21 внутри I---------1— 20 I, над I—*"------1 16 5 над I------ 1 11 6 слева над Н—i Н~| 2 3 4 5. Рис. 7.4. Структуры двух объектов для лица. Последний проход дает список 17: (1,14) внутри (14,1) 18: (1,15) внутри (15,1) *19: (1,16) внутри (16,1) (64) 20: (5,16) над (16,5) *21: (1,20) внутри (20,1) Объекты 19 и 21 в (64) отмечены звездочкой, так как они содержат в качестве компонент все примитивные объекты. Деревья разбора для них приведены на рис. 7.4. Отметим, что переменные в грамма- тике заменены постоянными (именами). Для формирования грамма- тики по описанию объекта постоянные имена (1, 2, 3 и т. д.) заменя- ются указателями на типы объектов с переменными в качестве аргу-
210 Гл. 7. Грамматическая классификация образов ментов. Поскольку у нас два структурных описания, формируем две грамматики: из объекта 19 выводится И —* (х, у): окружность (х), А1в(у); внутри (у, х) — (х, у): Л,(х), над (х, у) (65) >-(х, у): точка (х), точка (у); слева (х, у) Лп —»• (х, у): квадрат (х), отрезок прямой (у)-, над (х, у) и из 21 — Н—>(х, у): окружность (х), Л20(#); внутри (у, х) Л20—*(х, у): отрезок прямой (х), Аи(у); над (у, х) >lie—»(х, у): Ag(x), Ап(у); над (х, у) (66) Ав—► (х, у): точка (х), точка (у)\ слева (х, у) Ап—+(х, у): квадрат (х), отрезок прямой (у)-, над (х, у) Заметим, что обе эти грамматики получены из одной сцены. В более общем случае п сцен и требуется получить единственную граммати- ку, порождающую их все. Для этого берутся все возможные объеди- нения грамматик, по одной из каждой сцены. Таким образом, если бы у нас было 3 сцены с тремя грамматиками, полученными от пер- вой сцены, двумя от второй и тремя от третьей, то можно было бы сформировать 3x2x3=18 различных грамматик, каждая из кото- рых могла бы породить все сцены исходной выборки. На следующем этапе каждая из этих грамматик упрощается. Упрощение грамматики Цель этого этапа — упрощение громоздкой грамматики при по- мощи трех операций: удаления лишних продукций, введения новых нетерминалов для выделения классов терминальных символов и идентификации двух нетерминалов для объединения двух или более продукций в одну. Эти операции лучше всего поясняются на при- мере сцен, соответствующих „треугольнику11 и „квадрату". В качест- ве примитивных объектов берем только отрезки прямых (отр), а в качестве предикатов — предикат соединить (х, у) (который интер- претируется как „головная часть цепочки х присоединяется к хвос- товой части цепочки у“) и предикат замкнуть (х, у) (который интер- претируется как „концы цепочек х и у соединяются"). Начальные сцены и операции изображены на рис. 7.5. Предположим, что в ре- зультате процесса вывода для квадрата получилась грамматика у): отр (х), А1(у)', замкнуть (х, у) Л4—>(х, у): отр (х), А2(у); соединить (х, у) (67) Л2 —»-(х, у): отр (х), отр (у); соединить (х, у)
7.2. Грамматический анализ двумерных образов 211 и для треугольника — грамматика Н—+(х, у): отр (х), Л8(у); замкнуть (х, у) (68) Л8—*(х, у): отр (х), отр (у)-, соединить (х, у) Наша цель — упростить и, возможно, обобщить эти грамматики. Первые продукции в (67) и (68) были бы одинаковыми, если бы сим- волы As и Ai были одинаковыми. Этого можно достичь, если взять Соединить {л, у") замкнуть (х, у) Рис. 7.5. Исходные данные для формирования грамматик (67) и (68): а — исполь- зуемые сцены; б — операции соединить и замкнуть. вторую строку в (68) в качестве альтернативной продукции для ЛР Такая замена не нарушит структуру грамматики, поскольку един- ственный нетерминал может служить левой частью любого числа продукций. Выполняя указанные идентификацию и слияние, полу- чае^ грамматику Н—► (х, у): отр (х), Л Ду); замкнуть (х, у) Л1—+(х, у): отр (х), Л2(у); соединить (х, у) Л2—*(х, у): отр (х), отр (у)-, соединить (х, у) (69) Л,—*(х, у): 'отр (х), отр (у)', соединить (х, у) Правые части последних двух продукций совпадают. Поэтому мож- но убрать нетерминал с большим номером и соответственно везде
212 Гл. 7. Грамматическая классификация образов заменить А2 на 4j. Окончательная грамматика такова: Н—*(х, у): отр (х), А1(у)\ замкнуть (х, у) 4j—*(х, у)-, отр (х), 4t (у); соединить (х, у) (70) 4{—>(х, у): отр (х), отр (у)-, соединить (х, у) Это рекурсивная грамматика, определяющая класс замкнутых мно- гоугольников. Заметим, что по мере упрощения грамматики порож- даемый ею язык расширялся. Вместе с тем данный метод расширения гарантирует, что получаемая грамматика порождает первоначаль- ную выборку. Ослабление ограничений на тип Операции, применяемые на первом и втором этапах, синтаксиче- ски оправданы, так как они приводят к расширению грамматики. На третьем этапе вводится эвристический метод расширения грам- Рис. 7. 6. Сцены для вывода грамматик (71) и (72). матики. Это вызвано просто тем, что он, по-видимому, будет полез- ным. Наша задача — ослабить требование, чтобы продукции грам- матики содержали всю информацию о типе объектов и отношениях, представленную в выборке, из которой выведена грамматика. Пред- положим, что грамматика содержит п продукций (обычно «=3), отличающихся только типом объекта или именем предиката в одной позиции. Замена отличающихся имен именем „любой" (т. е. предика- том, истинным, для всех своих аргументов) сводит эти п продукций в одну. Такая процедура, конечно, пока лингвистически не оправ- дана. Все же она интуитивно привлекательна, так как благодаря ей мы (иногда) не зависим от вида выборки. Предположим, например, что грамматика должна быть выведена из сцен, изображенных на рис. 7.6, и что примитивными являются типы объектов квадрат, треугольник, окружность, точка и предикат внутри. Допустим, что на втором этапе построена грамматика Н—*(х, у)’, треугольник (k), квадрат (у)-, внутри (х, у) Н—+(х, у): окружность (х), квадрат (у); внутри (х, у) (71) Н—(х, у): точка (х), квадрат (у); внутри (х, у)
7.2. Грамматический анализ двумерных образов 213 Эти продукции отличаются только типом первого аргумента. Если им пренебречь, получим грамматику Н—+ (х, у): любой (х), квадрат (у)-, внутри (х, у) (72) определяющую класс всех фигур с квадратами в качестве границ. Интуитивно это выглядит хорошим решением поставленной задачи. Сам по себе грамматический вывод находится в младенческом со- стоянии, так что грамматический вывод изображений должен соот- ветствовать грудному возрасту. Как показывает Эванс (1971), в грамматике образов больше можно доверять правилам, предназна- ченным для достижения частной цели, таким, как ослабление тре- бований к типу, чем чисто формальным подходам к проблеме вывода. Применение вывода к изображениям также заставляет нас обратить внимание на реальные практические проблемы, такие, как „комби- наторный взрыв", возникающий при попытках применять все воз- можные предикаты всеми возможными способами. Несмотря на эти недостатки, применение грамматического вывода в распознавании изображений является новым и многообещающим подходом к старой проблеме вывода по зрительным образам. Его успех будет зависеть от успеха лингвистического подхода к классификации образов. Мы уже приводили доводы в пользу последнего. В следующем разделе мы укажем ряд аспектов, требующих особого внимания и осторож- ности. 7.2.3. Критика грамматик изображений Грамматики изображений привлекают исследователя, занимаю- щегося вычислительными машинами, тем, что они дают способ, ко- торым сложные категории можно свести к известному формализму. Такие ситуации могут оказаться соблазнительной ловушкой для любой дисциплины. Вопрос не в том, применимы ли формальные лингвистические методы в обработке изображений; из теории вычис- лений мы знаем, что да. Вопрос состоит в следующем: „Когда полез- но применять понятия лингвистики?" Ясно, что в некоторых случа- ях грамматики изображений действительно проясняют различия между классами изображений. Такие ситуации приводились в на- ших примерах. Но чем характеризуются ситуации, в которых мы не рекомендовали бы использовать лингвистический анализ? Основное допущение лингвистики состоит в том, что наше пони- мание и способность воспринимать изображения будут сильнее, если мы будем знать процесс, которым были порождены исследуе- мые изображения. Ватанабе (1971) приводит примеры классов изоб- ражений, для которых это не так. Рассмотрим классы изображений, представленные на рис. 7.7. Класс а — это множество изображений, порожденных выбором в качестве начальной точки произвольной цифры в последователь-
214 Гл. 7. Грамматическая классификация образов ности л=3,14159... и помещением в первый и следующие кружки знака X тогда и только тогда, когда соответствующая цифра — 5 или более. Класс б порожден аналогичным приписыванием х круж- кам на основе таблицы случайных чисел. Знание порождающих пра- вил очень мало помогает нам понять структуру этих изображений. Можно возразить, сказав, что это надуманный пример. Но это не так, мы лишь подчеркнули общее положение. Во многих интересных случаях изображения определяются сложными статистическими за- висимостями между компонентами, а не отношениями в том смысле, Рис. 7.7. Примеры классов, для которых порождающие правила бесполезны: а — изображения, порожденные с помощью л; б — изображения, порожденные таблицей случайных чисел. как этот термин употребляется в грамматическом анализе. Прекрас- ным примером тому служат изображения, классификация которых зависит от восприятия глубины. Одна из главных подсказок при восприятии глубины — изменение градиента текстуры фона в изоб- ражении (Гибсон, 1950). В случае стереоскопических изображений решающие статистические зависимости между точками на плоскости изображения значительно сложнее (Юлеш, 1970), хотя и сохраняет- ся тот же принцип. Трудно представить себе, какого сорта грамма- тика могла бы учесть всю эту информацию. Второй аспект, который покажется психологам хорошо знако- мым, заключается в том, что многие изображения группируются по семантическим, а не синтаксическим правилам. Возможно, наиболее яркий пример — различные иллюзии восприятия. Скажем, можно классифицировать очень разные образы на сетчатке глаза как „изоб- ражения коробки длиной около 6 футов", опираясь на наше знание о характеристиках различных объектов реального мира (размер, форма и т. д.), изображенных вместе с коробкой. Например, можно
7.2. Грамматический анализ двумерных образов 215 6 Рнс. 7.8. Мусульманские орнаменты. Фазу можно изменить, но компоненты из а и б или из в и а нельзя поэлементно менять. распознать проекции прямоугольной коробки, рассматриваемой под разными углами. Никакой чисто синтаксический подход не может осуществить такую классификацию, поскольку она основана на на- шем знании форм предметов и оптики, а не на анализе информации, содержащейся собственно в изображении. Этот аспект особенно ва- жен в анализе сцен, который мы подробнее изложим в части IV этой книги. Не все полезные правила можно сформулировать в виде грам- матики непосредственно составляющих. Одна из особенностей такой грамматики состоит в том, что подстановки эквивалентных компо- нент не изменяют характера цепочки. Это позволяет синтаксически управляемому транслятору распознавать, что Л+Л+Л+Л+Л и Л+Л+В+В+(£)—Е) — арифметические выражения. Однако в не- которых классах двумерных образов такие подстановки недопусти- мы. Для иллюстрации этого Ватанабе использует мусульманский орнамент (рис. 7.8). Допускается любая последовательность повто- ряющихся фигур (при условии, что удовлетворяются и некоторые другие ограничения), но подстановка компонент не допускается. Несколько более математический пример основан на определении группы операций. Фигуры
216 Гл. 7, Грамматическая классификация образов принадлежат классу фигур, отображающихся при повороте на 90° в самих себя. Как это можно выразить грамматически? Приведенные возражения можно считать теоретическими, Одна- ко возникает ряд практических задач, которые должны быть разре- шимы в любом конкретном применении. Уже упоминалась проблема, связанная с чрезмерной сложностью вычислений. Еще более важная проблема касается определения терминальных элементов. Строго говоря, это не лингвистическая проблема, поскольку в формальной лингвистике существование известного терминального алфавита предполагается. На практике же это может оказаться самым труд- ным этапом в процессе анализа. Около 300 из 400 работ, упомянутых Розенфельдом (1969а), посвящены проблеме определения призна- ков! Другая практически важная проблема — выбор критерия для выяснения, присутствует ли в изображении конкретная компонента или отношение. В наших рисунках домов эта проблема игнорирова- лась; ясно, что крыша или расположена на стене ft, или нет ЦЛ! Родители и учителя (обычно) распознают дома, нарисованные пер- воклассниками, хотя расположение крыши относительно стены мо- жет быть различным. Подобные неопределенности возникают, когда приходится изучать зашумленные аэрофотоснимки или когда между объектами, не соседствующими в изображении, можно установить примитивные отношения. Наличие в исходной информации шума само по себе не ставит неразрешимой проблемы. Можно просто с помощью какого-нибудь варианта стохастической грамматики (см., например, Свейн и Фу, 1972) распознать, что квадраты обычно рисуются в виде □, но мо- гут и ZZ7. Остается проблема практической реализации, поскольку стохастические грамматики требуют гораздо более сложных алго- ритмов разбора. К тому же одиночное изображение можно с разны- ми вероятностями отобразить в несколько правильно построенных выражений. В настоящее время нет еще ясного представления о трудностях, возникающих в классификации образов вообще и, в частности, в применении к грамматическому выводу. В заключение отметим безусловную важность грамматического подхода в классификации изображений. Это прекрасный способ ре- шения некоторых задач, в том числе многих из тех, которые плохо представляются в классификации векторов. Однако верно и обрат- ное; статистические различия особенно часто удается учесть, при- меняя методы классификации векторов. Наконец, для ряда примеров обработки изображений не подходят ни грамматические, ни вектор- ные процедуры классификации. Эта область ожидает новых идей.
Глава 8 ВЫДЕЛЕНИЕ ПРИЗНАКОВ 8.0. Общие понятия Методы векторной и грамматической классификации предпола- гают существование признаков, которые можно измерить. Нахожде- ние признаков само по себе представляет часто существенный этап в решении рассматриваемой задачи. Можно считать, что любая ма- шина получает некоторое множество результатов элементарных из- мерений, на которые она может реагировать. Эти измерения могут и не соответствовать истинным свойствам классифицируемых объ- ектов. Рассматриваемый объект сам по себе может описываться (воз- можно, малым) числом признаков, которые по-разному отражены в основных измерениях. Предположим, например, что мы пытались в разные дни классифицировать степень загрязнения воды в реке. Естественно было бы измерить содержание в воде серы, мышьяка и других химических соединений. Однако на самом деле кислород, сера, мышьяк, ртуть и другие соединения вовсе не обязательно сброшены в реку. Причиной загрязнения могут быть расположен- ные выше по течению от места измерения лесопилка, фабрика и лю- бые другие установки, сбрасывающие отходы, причем каждая дает определенный тип отходов, который представляет собой некоторую композицию основных измеряемых химических веществ. Для точ- ного описания степени загрязнения реки желательно было бы в про- извольный заданный день знать объем (композицию) отходов от каж- дого источника, а не пользоваться измерениями, сделанными ниже по течению *). Но предположим, что мы не знаем о Существовании источников загрязнения выше по течению. Можно ли вывести их су- ществование из анализа измерений, проведенных ниже по течению? Этот пример может служить иллюстрацией к задаче выделения признаков. *) Конечно, для других целей верным могло бы быть совсем обратное.
218 Гл. 8. Выделение признаков Существуют два общих подхода к анализу признаков, зависящие от предположений, которые делаются относительно элементарных измерений. В подходе, использующем многомерный анализ, с каж- дым простым измерением обращаются как с непрерывно измеряемой комбинацией лежащих в его основе признаков. Иначе говоря, ис- следуется проблема уменьшения размерности пространства описа- ний, т. е. переход от m-мерного пространства, определяемого перво- начальными измерениями, к меньшему (приведенному) А-мерному пространству, определяемому признаками. После этого классифика- ция осуществляется в приведенном пространстве. Задача определе- ния такого A-мерного пространства интенсивно изучалась и получи- оооооооооо о о о о о о о о о о о о о 1 1110 0 0 0001001000 0 0 0 1 1 1 0 0 0 0 0001001000 0001001000 о о о I о I 1 о о о 0 0 0 1 1 1 0 0 0 0 0000000000 б Рис. 8.1. Представление буквы (внутри квадрата слева показан локальный квад- рат 2X2): а— проекция на сетку; б — цифровое представление. ла название „факторный анализ". Необходимый математический ап- парат описан в работе Тацуоки (1971). Харман (1967) подробно изла- гает методы, применяемые в настоящее время. Мейзел (1972) и Фукунага (1972) рассматривают распознавание образов как область прикладной математики. Благодаря наличию этой литературы, а также из-за нашей неуверенности в том, что это и есть то, что боль- шинство исследователей имеют в виду, когда говорят о выделении признаков, мы лишь вкратце обсудим этот метод. Во втором подходе к выделению признаков результаты основных измерений объекта представляют в виде последовательности двоич- ных векторов. Признаки считаются подмножествами основных из- мерений. Задача состоит в определении некоторого полезного мно- жества таких подмножеств. Иллюстративным и важным практиче- ским примером может служить машинное чтение рукописных зна- ков. Представим себе, что классифицируемые алфавитно-цифровые знаки проектируются на сетку размером 10x10. Квадраты сетки нумеруются в обычном порядке чтения слева направо и сверху вниз так, что каждый элемент сетки можно считать двоичной перемен- ной, которая принимает значение 1 тогда и только тогда, когда ка- кая-нибудь линия пересекает его. Тогда с помощью простой оптиче-
8.1. Формализация подхода с факторным анализом 219 ской системы можно преобразовать предъявленный знак в вектор, состоящий из 100 исходных измерений хъ ... , х100. Типичные вход- ные данные показаны на рис. 8.1. Разумно предположить, что любой реальный знак будет образован объединением некоторого числа признаков, таких, как диагональ слева направо, горизонталь, ди- агональ справа налево и др. Например, из множества компонент {—, 1> /» \,DD, ( } можно построить буквы А, В, С, Р. Если бы мы не знали этих компонент, то могли бы их выявить, обратив внимание на локальные регулярности в различных буквах. Математически это означает, что мы должны выработать алгоритм, обнаруживаю- щий регулярно повторяющиеся наборы значений двоичных пере- менных {xj. 8.1. Формализация подхода, использующего факторный анализ Пусть X — (пхт)-матрица, в которой каждая строка описывает объект в терминах т основных измерений. Таким образом, i-й объект описывается вектор-строкой Kt={xtu ... , xtJ, ... , х{т}. (1) Если каждое основное измерение соответствует взвешенной сумме значений основных признаков объекта ... , fih}, k<.m, то Xtj—a-ijf. • -+akjfik, (2) Где коэффициент apJ- отражает вклад р-го признака в /-е измерение, а значение flp соответствует содержанию признака р в рассматри- ваемом объекте i. После того как введены эти определения, можно выразить X через (n х А)-матрицу значений индивидуальных при- знаков и (Ахт)-матрицу вкладов (называемых нагрузками) р-го признака (или фактора, если придерживаться терминологии, при- нятой в факторном анализе) в /-е измерение. Соответствующим мат- ричным уравнением будет Х=Е-А. (3) Задача состоит в определении F и А при условии, что заданы наблю- дения X. Ясно, что уравнению (3) удовлетворяют бесконечно много матриц, так что требуется дополнительное ограничение. Рассмат- ривались различные критерии; интересующийся читатель может оз- накомиться с обсуждением этого вопроса Харманом (1967). Мы из- ложим наиболее широко применяемый метод, называемый методом главных компонент.
220 Гл. 8. Выделение признаков Пусть R — матрица корреляций ') между основными измере- ниями. Ее диагональные элементы Гц определяются множественной корреляцией гг с остальными т—1 измерениями 2). Пусть Q — мат- рица, строки которой являются собственными векторами, соответст- вующими k наибольшим собственным значениям матрицы R в по- рядке убывания от самого большого к самому малому. Наконец, пусть будет р-м собственным значением. Матрица А образована элементами (т \—1/2 2 7s2/ . (4) S =1 / Тогда из (3) получается матрица факторов F = X-A-\ (5) Остается единственная проблема — найти k. Обычно это делают при помощи статистического критерия. Пусть V2 — сумма квадра- тов расстояний от каждой точки хг до центра тяжести п точек в ис- ходном m-мерном пространстве измерений, и пусть WI — та же мера для точек {fj в 6-мерном пространстве признаков. Начиная с 6=1, постоянно увеличивают размер пространства признаков до тех пор, пока разность V2—Wk, или 1—(W'k/V'2), не станет достаточно малой. Метод главных компонент допускает очевидную наглядную ин- терпретацию. Этот метод находит наилучший эллипсоид в /п-мерном пространстве для точек Хь определяющих рассматриваемый объект. Каждый фактор соответствует какой-нибудь оси этого эллипсоида, причем сначала находится наибольшая ось, затем следующая за ней по величине и т. д. Процесс продолжается до тех пор, пока не удовлетворяется критерий остановки. 8.2. Формализация случая двоичных измерений Предположим, что X — двоичная матрица, в которой 1 в поло- жении Хц указывает на то, что при измерении объекта i результатом /-го измерения, принимающего два возможных значения есть и нет, J) Если х и у — два измерения со средними х и у и стандартными отклоне- ниями ох и <зу на множестве из п объектов, то корреляция между ними равна п _ 2 (*/—*) (У1 — У) г__ 1 = 1__________ ПОхОу 2) Множественной корреляцией между измерением х и множеством измере- ний У== {уу} называется корреляция между {х/} и линейными комбинациями где коэффициенты aj выбираются так, чтобы максимизировать кор- реляцию между х и z,
8.3. Конструктивные эвристические методы 221 было значение есть. В этом случае будем говорить, что измерение / находится в состоянии есть (в возбужденном состоянии). Выбран- ная модель признаков предполагает, что при наличии определенных свойств объекта определенные измеряющие устройства будут в воз- бужденном состоянии, а также что несколько признаков могут ком- бинироваться и это приведет к тому же результату измерения. По- этому признак можно рассматривать как двоичный вектор длины т, для которого f,s=l тогда и только тогда, когда признак / дает в результате измерения s значение есть. Пусть ф—булево сложе- ние, т. е. 1ф1 = 1, 1ф0=1, 0ф0 = 0. (6) п Будем обозначать булеву сумму нескольких двоичных пере- Ли менных. Пусть Sj — неизвестное множество признаков, характери- зующих объект i; тогда вектор описания принимает вид х,= 2® f/. (7) 7647 Равенство (7) можно записать в более компактной форме. Пусть * — булево умножение матриц, т. е. операция, в которой 2 заме- няется на 2®, а в остальном умножение матриц определяется, как обычно. Наконец, пусть В — (пх ^-матрица, элемент Ьц которой отличен от нуля тогда и только тогда, когда объект i имеет признак/: X = B*F. (8) Уравнение (8) соответствует множеству булевых уравнений. К со- жалению, иногда решить их практически бывает трудно, поэтому разработан ряд эвристических конструктивных методов для выде- ления признаков. Они излагаются в следующем разделе. 8.3. Конструктивные эвристические методы для выделения признаков 8.3.0. Имитационный метод Ура и Восслера Серия экспериментов, проведенных Уром и Восслером (1963), показала, что хорошее выделение признаков может дать простая процедура имитации частей входных образов. Они занимались классификацией двумерных образов, таких, как нарисованные лица, рукописные буквы, спектрограммы речей, а не абстрактных векторов, и поэтому понятие расстояния между переменными име- ло вполне определенный смысл. Этот факт в значительной мере учитывается в их программе. Входом программы была последова- тельность двоичных образов размером 25x25, подобных изобра- женному на рис. 8.1. Из этих больших образов они строили мно-
222 Г л. 8. Выделение признаков жества „локальных операторов" размером 5x5, сравнивая образ размером 5x5, расположенный в заданном месте картинки, с не- сколькими изображениями размером 25x25. Если несколько пер- воначальных изображений имели почти одинаковую конфигура- цию битов размером 5x5 в любых местах, то это подызображение принималось в качестве признака. Для описания изображения раз- мером 25x25 указывались тип и расположение таких признаков. Это позволяло программе различать, скажем, „горизонталь ввер- ху" и „горизонталь внизу". Например, А можно было бы описать, выделяя элементы Д, —, /, \. Эта информация собиралась в век- торе z, описывающем объект в терминах его признаков. Затем для классификации векторов z применялся простой алгоритм группи- рования. Ур и Восслер использовали группирование также для того, чтобы указать момент, когда необходимы новые признаки. В каждый момент времени их программа работала только с фиксированным числом признаков. Алгоритм группирования приписывал вес каж- дой компоненте вектора z в зависимости от ее полезности для раз- личения классов. Если вес компоненты был близок к 0, то соответ- ствующий признак отбрасывался и для определения нового приз- нака заново исследовалось входное изображение размером 25x25. Этот процесс генерации признаков, группирования и генерации новых признаков привел к построению очень эффективной системы распознавания образов. В самом деле, программа Ура и Восслера могла обучаться быстрее людей решать задачи на зрительное раз- личение при условии, что классифицируемые объекты не были хо- рошо знакомы людям (Ур, Восслер и Улеман, 1962). Значение этого результата хорошо иллюстрируется тем, что программа превзошла людей при распознавании классов абстрактных математических фигур, но оказалась менее эффективной при распознавании нари- сованных лиц. 8.3.1. Формальный имитационный метод Блока, Нильсона и Дуды Более формально к этой же задаче подошли Блок, Нильсон и Дуда (1964). Для объяснения их метода мы несколько изменим наши обозначения. Вместо того чтобы представлять примитивное описа- ние в виде двоичного вектора, будем описывать Z-й объект множест- вом целых чисел /’(0=(/}) (9) где 1</<т и / £ Р (Z) тогда и только тогда, когда в векторе описания Z-ro объекта Х/,- = 1. На рис. 8.2 показана проекция креста на сетку размером 5x5, представленную в виде множества переменных.
8.3. Конструктивные эвристические методы 223 Векторное представление креста на этой сетке имеет вид х=(0, 0, 1, 0, 0, 0, 0, 1, О, О, 1, 1, 1, 1, 1, О, О, 1, О, О, О, О, 1, О, О), а представление в виде множества — Р(/)={3, 8, 11, 12, 13, 14, 15, 18, 23}. Определим маску о как подмножество целых чисел от I до т. Если маска присутствует в объекте I, то osP(()х). --------т I —“Т I 1 | 2 | 3 | 4 I 5 --------(.------1_-----------------1_------ 6 | 7 | 8 | 9 | 10 --------1--------1-------1--------1-------- 11 | 12 | 13 | 14 | 15 --------1--------1-------1--------1-------- 16 I 17 | 18 I 19 I 20 --------1--------1-------1--------1-------- 21 I 2.2 ! 23 I 24 I 25 ' I I I а Рис. 8.2. Представление объекта на сетке: а — сетка; б — объект на сетке. Если задано множество описаний 5={/3(г)}, 1=1, . . ., п, то проблема состоит в нахождении такого наименьшего множества масок Ф={о}, что для каждого описания Р (i) существует множе- ство масок М (Г), обладающее свойствами Л4(1') = Ф, (10) P(i)= Uo, о€Л4(г). (11) Заметим, что для заданного множества масок множества Ф и Р (г), М (г) могут быть неединственными. Для нахождения наименьшего множества масок Ф желательно найти те маски, которые содержатся в большом числе описаний. Блок и др. определяют процедуру, позволяющую это делать даже для случая, когда первоначально отдельные маски неизвестны. Пусть F (а) — множество описаний объектов, содержащих маску а. Блок и др. считают, что о будет определяться как пересечение та- ких описаний: <J= • П P(i). (12) Р (i)6F (ст) *) Блок с соавторами использует термин признак. Мы различаем маски и признаки из-за того, что определение признака Блоком и др. совпадает с опреде- лением маски в анализе персептронов.
224 Гл. 8. Выделение признаков Таким образом, если множество F (о) известно, то можно найти о. Однако в большинстве случаев F (о) неизвестно. Надо решить, когда два образа Р(1) и P(i*) содержат общую маску, поскольку в этом случае пересечение двух описаний будет также содержать указан- ную маску. Решение осуществляется введением порога 0 для общих ненулевых элементов в двух образах. Считается, что P (i) и Р(1*) содержат общую маску тогда и только тогда, когда г) Л (P(i) пр (»*)) >0. (13) Займемся сначала задачей определения в точности одной маски. Пусть выборка S как-то упорядочена: S={P(1), Р(2), . . ., Р(п)}. Маска о будет определяться в результате последовательного рас- смотрения каждого описания из S. Пусть o(i) будет определением маски о, построенным после рассмотрения i-ro описания из S, так что о~о(п). Алгоритм имеет вид ст(0) = {/}. а(<4-1) = о = о (п). а (О ПР (i'+ 1) тогда и только тогда, когда ») (о (i) П Р (i + 1)) > 9, a (i) в противном случае; (14) Продемонстрируем работу этого алгоритма на рис. 8.3. Анализ изображенных фигур сразу же приводит к предположению о су- ществовании нескольких возможных масок: диагоналей, горизон- талей и вертикалей в разных положениях. (В этом и состоит главное отличие метода Блока и др. от метода Ура и Восслера; в первом маски привязываются к определенным местам сетки. То же спра- ведливо для определения масок в персептронах.) На нашем рисунке выделяется диагональ слева направо. Чтобы ограничить рассмотрение масок масками размера не меньше 3, положим 0=2. Последовательность шагов для определе- ния первой маски такова: г] (а (0) ПР(1)) = 9 > 2 т](а(1)ЛР(2)) = 5>2 q (а (2) П Р (3)) = 1 ^2 л (о (3) П Р (4)) = 5 > 2 л (а (4)ПР(5))=1<2 о(0)={1, 2, 3, . . ., 25} а (1) = {1, 5, 7, 9, 13, 17, 19, 21, 25} ст (2) = {1, 7, 13, 19, 25} о(3) = о(2) (15) о (4) = {1, 7, 13, 19, 25} о (5) = о(4) о = о (5) 1) Т1 (F) — число ненулевых элементов множества Р.— Прим. ред.
8.3. Конструктивные эвристические методы 225 Рис. 8.3. Фигуры в примере формирования маски. Р(1)={1, 5, 7, 9, 13, 17, 19, 21, 25} Р(2)= {1, 7, 11, 12, 13, 14, 15, 19, 25} Р(3)={3, 8, 11, 12, 13, 14, 15, 18, 23} Р(4)= {1, 3, 7, 8, 13, 18, 19, 23, 25} Р(5)={5, 9, 11, 12, 13, 14, 15, 17, 21} Окончательная маска представляет собой диагональ, идущую слева направо и сверху вниз: X---------- — х-------- ------х- --------X — --------X 8 Э. Хант
226 Гл. 8. Выделение признаков которая в действительности была одним из признаков, использо- ванных при построении объектов рис, 8.3. Этот алгоритм будет, вообще говоря, формировать различные маски о для каждого из п! возможных упорядочений S. К тому же множество полученных при этом масок не будет наименьшим. Более эффективный алгоритм проходит множество описаний k раз и фор- мирует k масок. Пусть Gj— маска, полученная после /-й итерации, и Gj (i) — определение маски о,, которое будет построено после рассмотрения i-ro описания в ходе /-й итерации. Определим Кц как множество целых чисел {k}, для которых k<j, П (Р (О П aft) > 9, = 0^,(1). (16) Таким образом, в К и перечислены те из предварительно вырабо- танных масок, которые образуют подмножества маски, вырабаты- ваемой в настоящий момент, и содержатся в описании, рассматри- ваемом в настоящий момент. Тогда обсуждаемый алгоритм можно записать в виде СТ/(°) = Ш> /= 1, 2, ..., /и; ( Gj (i) ПР (i' + 1) тогда и только тогда, когда n(o/(i)nP(i + l)) >9 + nf U оЛ, 1 } ) (10 I Gj (i) в противном случае; <ту = оу(п). Из определения о, (i'4-l) вытекает, что решение о модификации Gj принимается в результате сравнения с переменным порогом, изменяемым так, чтобы учесть степень, в которой описание Р (i-J-1) уже было обусловлено другими признаками. Любые два признака Gj и Gj* должны отличаться по крайней мере порогом 0. Блок и др. показали, что если признаков действительно k и этого достаточно для восстановления всех описаний из множества S, характеризуемого Mmin компонентами в наименьшей маске и не более Утах общими компонентами для любых двух масок, то, если 0 удовлетворяет соотношениям (18) алгоритм построит соответствующие маски. 8.3.2. Сравнение метода Ура и Восслера с методом Блока и др. В статье Блока и др. (1964) утверждается, что, даже когда (18) не выполняется, изложенный алгоритм будет порождать полезные признаки, и даются примеры. Мы также провели несколько не-
8.3. Конструктивные эвристические методы 427 формальных проверок и обнаружили, что это действительно так. Однако на практике процедура Ура и Восслера приводила к луч- шим результатам. Одна из причин уже была отмечена; Ур и Восслер ищут одинаковый локальный оператор в различных положениях на сетке, а Блок и др. привязаны к конкретным точкам. Интересно проследить отношение этих идей к определению пре- дикатов для персептронов, введенному Минским и Пейпертом. Блок и др. излагают процедуру для определения масок, а Ур и Восслер — метод для определения множеств предикатов, ограниченных по диа- метру и инвариантных относительно переноса. Какая из процедур предпочтительнее в каждом определенном случае, зависит от того, имеет ли смысл понятие „предикат, ограниченный по диаметру*1. В приводимых здесь геометрических примерах это понятие имеет смысл. Блок и др. указывают (употребляя другую терминологию), что задача нахождения компонент фигур, построенных из линий, тривиальна для людей в большой степени из-за того, что идея предиката, ограниченного по диаметру, для зрительного мира це- лесообразна, а мы наделены зрением. Однако предположим, что образы на сетке искажены случайной перестановкой элементов сетки. Например, одна из перестановок переменных приводит ди- агональ, идущую слева направо и сверху вниз, к фигуре вида Математически задача выделения признаков или масок не измени- лась бы, если бы рассматривался алгоритм Блока и др. Но процеду- ра, для которой имеет смысл понятие „локальной области сетки**, не обладает таким свойством. Таким образом, алгоритм Блока и др. сильнее, но процедура Ура и Восслера, вероятно, эффективнее для ограниченного (но очень важного) множества ситуаций, в которых справедливо предположение о пространственной непрерывности. Метод Ура и Восслера имеет еще одну очень важную особен- ность. Это понятие „пренебрежимых** переменных. Если задан по- добраз размером 5x5, то программа Ура и Восслера описывает его элементы вектором из троичных компонент со значениями 1, 0 и 8»
228 Гл. 8. Выделение признаков X. При поиске такого подобраза в большем образе на сетке про- грамма ищет в большем образе подобласть размером 5x5, с кото- рой можно сопоставить все нули и единицы рассматриваемого приз- нака, а значение х любой из компонент подобраза не учитывается. Грубо говоря, решение пометить какую-либо компоненту знаком х принимается на основе границ. Напомним, что первоначальный признак целиком определялся как копия области описания раз- мером 5x5. Точное совпадение (0 или 1) требуется лишь на „гра- ницах", т. е. в местах, где один из соседей единицы есть нуль и об- ратно. В результате признак определяет граничную область в боль- шей фигуре. Например, левая диагональ определялась бы 1 0 0 х X 0 1 0 0 х 0 0 10 0 X 0 0 1 0 х х 0 0 1 и могла бы хорошо соответствовать либо фигуре 1 0 0 0 0 0 10 0 0 0 0 10 0 0 0 0 1 0 0 0 0 0 1 которая содержит в точности левую диагональ, либо фигуре 1 0 0 0 1 0 10 0 0 0 0 10 0 10 0 10 1 0 0 0 1 которая содержит левую диагональ в качестве компоненты. Эф- фект такого добавления должен приводить к уточнению сопостав- ления на границах „белой" и „черной" областей изображения, но также должен допускать случайные светлые пятна на темных обла- стях, и обратно. При работе с двумерными фигурами эта стратегия часто оказывается разумной. 8.3.3. Метод включения свойств В только что описанных двух алгоритмах признаки вырабаты- ваются путем сравнения описаний объектов. Абдали (1971) пред- ложил другой подход: отмечать измерения, состояния „есть" кото-
8.3. Конструктивные эвристические методы 229 рых совпадают. Идея Абдали основана на том, что если какой-то признак рассматриваемого объекта, скажем, воздействует на ин- струменты 4, 5 и 6 из множества измеряющих инструментов, то тот факт, что заработал инструмент 4, означает, что 5 и 6 также начали работать. Предположим теперь, что второй признак воздействует на инструменты 2,5 и 7. Эти два признака приводят к следующим соотношениям включения: 4 5, 4 = 6, 6 = 4, 2 s 5, 2 = 7, 7 = 2. Каждое такое множество соотношений включения можно исполь- зовать для определения некоторого признака. Рассмотрим алгебраические отношения, фигурирующие в пре- дыдущих утверждениях. Если X есть п X m-матрица, строки кото- рой являются описаниями объектов в терминах т измерений, то ее столбцы — это векторы х}, компоненты которых указывают на зна- чение есть или нет результата измерения j в зависимости от того, выполняется ли ху=1 или =0 для объекта I. Измерение х) имплицирует второе измерение х),, если (все.— Ред.) ненулевые компоненты вектора х) содержатся в х).. Исследуя затем X, можно обнаружить необходимые соотношения включения и, таким, обра- зом, определить признаки. Эти идеи иллюстрируются рис. 8.4, на котором изображено множество образов на сетке 3x3 и соответству- ющая матрица X. Изучение матрицы X показывает, что множества соотношений включения таковы: (4, 1, 7), (2, 1, 3, 9), (5, 3, 9) и (8, 7, 9). Созданные в результате признаки показаны на этом ри- сунке, и их достаточно для порождения соответствующего множества образов. В методе Абдали, как и в методе Блока и др., строятся маски. Однако в одном случае этот метод не будет работать. Предположим, что в маске существует подмаска, которая может появляться неза- висимо. Добавим, например, к рис. 8.4 образ, в котором маска (4,7)— подмножество множества (1,4,7) — появляется самостоятельно. Эту ситуацию легко обнаружить, проделав следующие шаги. (1) Подсчитать число появлений состояния есть для каждого измерения. Рассмотреть эти измерения в порядке возрастания, на- чиная с измерения, имеющего наименьшее число появлений состоя- ния есть. (2) Определить в указанном порядке для каждого измерения х) измерения, имплицируемые этим измерением. Это множество определяется как маска. (3) Для всех еще не рассмотренных измерений х)» проверить, можно ли объяснить найденными до этого масками все появления состояния есть. Если да, то исключить это измерение из дальней- шего рассмотрения. В противном случае вернуться к шагу (2) и Делать это до тех пор, пока не будут рассмотрены все измерения.
230 Гл. 8. Выделение признаков а 111010111 1110 0 0111 001010111 1 0 0 10 0 111 100100100 111010001 6 в Рис. 8.4. Иллюстрация метода включения свойств: а — описываемые образы; б—матрица описания образа; в — сформированные маски. (По Абдали (1971).) На практике в этой процедуре нужно предусмотреть экономное хранение промежуточных результатов. Детали приводятся в ра- боте Абдали (1971). Он показал, что этот метод позволяет быстро обнаруживать маски и имеет то преимущество перед алгоритмом Блока и др., что не зависит от правильного выбора порога. Как любую процедуру нахождения масок, ее можно использовать и для работы с абстрактными двоичными векторами, поскольку для нее не важна интерпретация входных данных как изображений на пло- скости. Основной недостаток рассмотренного метода состоит в том, что он существенно опирается на точное понятие отношения вклю- чения. Возможно, это требование можно ослабить, допустив „им- пликации" по некоторому статистическому критерию совместного появления, если есть основания предполагать, что основные изме- рения подвержены ошибкам.
8.4. Экспериментальное изучение 231 8.4. Экспериментальное изучение порождения признаков в распознавании образов Число различных комбинаций выделения признаков и распоз- навания образов слишком велико. Взаимодействуют ли этапы вы- деления признаков и распознавания образов, и если да, то как? Для того чтобы пролить некоторый свет на эти вопросы, я вместе с Марком Стикелем провел эксперимент. Его результаты дают ин- тересный пример того, как выделение признаков может изменить логические характеристики задачи распознавания образов. НАЧАЛО Рис. 8.5. Различные этапы в процедуре распознавания образов. Основная схема эксперимента приведена на рис. 8.5. На вход программы предъявлялись двумерные плоские фигуры, спроекти- рованные на сетку размером 25x25. Внутри программы предъяв- ляемые образы представлялись в терминах положения двух подо- бразов (признаков) размером 5x5, подобных тем, что использова- лись У ром и Восслером. Сначала программа выбирала эти два приз- нака случайным образом, затем эти признаки выбирались путем имитации признаков в классифицируемых данных. Вектор у обна- руженных признаков определял входную информацию для части программы, распознающей образы. Она указывала, сколько раз появлялся каждый признак и его среднее положение по горизон- тали и вертикали. Устройство распознавания образов затем приме-
232 Гл. 8. Выделение признаков ияло для классификации объекта свою текущую „наилучшую ги- потезу" (т. е. свою наилучшую гипотезу по отношению к коррект- ной процедуре классификации). Этот результат сравнивался с пра- вильным ответом, и вектор z, описывающий объект в терминах приз- наков, заносился в память. Как только программа неверно классифицировала объект, выра- батывалось новое правило классификации при помощи одной из трех процедур. Программа линейной классификации просто посто- янно просматривала все объекты, хранящиеся в памяти, используя алгоритм с обучением персептрона, пока не вырабатывалась ли- нейно разделяющая функция, которая могла верно классифициро- вать все объекты. Программа группирования применяла для объ- ектов, хранящихся в памяти, метод формирования групп Се- бестиана (1962), основанный на среднем расстоянии между неко- торой точкой и другими точками из заданного класса. Программа CLS !) применяла процедуру просмотра на один шаг вперед для построения деревьев решения. Все эти алгоритмы изложены в пре- дыдущих главах. Как только правило классификации вырабаты- валось, еще до получения новых данных в программе исследовалось выработанное ею правило классификации и проверялось, были ли в нем учтены оба признака, активные в данный момент. Если один из них имел небольшой вес или не появлялся в дереве решения^ то он отбрасывался, и происходило обращение к подпрограмме выде- ления признаков, которая при помощи варианта процедуры Ура и Восслера формировала новый признак, исследуя объекты, хра- нящиеся в памяти. В экспериментах, изложенных ниже1 2), варьировалось число описаний, которые программа могла хранить в памяти в данный момент. Обучение заканчивалось, когда либо классифицировались 100 изображений, либо на работу центрального процессора машины ИБМ-7094 уходило 15 минут. После обучения применялось послед- нее из построенных правил для классификации 100 новых образов, которые выбирались независимо от выбранных при обучении. Задачи были намеренно взяты для иллюстрации сильных сто- рон каждой программы распознавания образов. Были определены два класса образов. В пределах каждого класса данные порожда- лись путем наложения подполей размером 5x5, содержащих зна- 1) Т. е. Concept Learning System (система построения понятий).— Прим, перев. 2) Был также проведен ряд других экспериментов, о которых мы не будем го- ворить. Оии подтверждают сделанные здесь выводы. Эксперименты с подобной постановкой проводились Нильсоном (1965) и дали по существу те же результаты. После того как были закончены наши исследования, нам стали известны резуль- таты аналогичных экспериментов, выполненных Паулой Дир (УКЛА, Центр об- работки биомедицинской информации). Она получила по существу те же резуль- таты.
8.4. Экспериментальное изучение 233 ки 4- или х (рис. 8.6), на сетку размером 25x25 в соответствии со следующими правилами. (1) В случае линейной задачи для класса 1 вероятность помеще- ния + на подполе была больше 0,5 для двух верхних строк подпо- лей размером 5x5, вероятность помещения х на подполе была боль- ше 0,5 для двух нижних строк. Для класса 2 распределение вероят- ностей было обратным. (2) В случае задачи группирования вероятность помещения зна- ков + или х на подполе размером 5x5 менялась в зависимости от расстояния этого подполя до центрального подполя размером 5x5. Оба класса были „сгруппированы** около центральной точки, в ко- торой вероятность помещения любой фигуры на подполе была наибольшей. По мере удаления от центральной точки вероятность помещения + на периферийном подполе для одного класса уменьша- лась быстрее, чем вероятность х, а для другого класса вероятность X уменьшалась быстрее, чем вероятность 4*. (3) В случае последовательной задачи классы определялись от- ношением между положениями знаков 4- их. Для класса 1 знаки + помещались с высокой вероятностью в верхний левый угол, а знаки х — в нижний правый, или 4- помещались в верхний пра- вый, а X — в нижний левый. Для класса 2 примеров + вероятнее всего можно было найти над X как в правой, так и в левой части сетки. Таким образом, задача представляла собой классификацию, основанную на двух „моделях** образов на каждый класс. Для класса 1 было 4- + + + + 4- + + + 4- 4- 4- хх или х 4- ххх ххх XXX XXX
234 Гл. 8. Выделение признаков и для класса 2 + + + + + + + + + + + X или х + + XXX X X XXX X X Меняя параметры этой основной ситуации (такие, как размер памяти и характер случайного распределения пустых полей, + и х), Рис. 8.7. Средняя точность правил классификации для различных программ распознавания образов; а — линейные задачи; б — задачи группирования; в — последовательные задачи. Группирование гая Линейная Езда классификация
8.4. Экспериментальное изучение 235 мы могли бы провести много экспериментов. К счастью, мы скоро обнаружили, что наши основные результаты не зависят от измене- ния параметров и поэтому их можно свести к одному рисунку (рис. 8.7). На нем изображены результаты верных классификаций второй совокупности из 100 рисунков, сделанных после обучения на первом этапе. Данные ясно показывают, что, хотя типы задач различаются по сложности, эффективности различных программ распознавания образов для данной задачи значительно не отлича- ются. На этом рисунке не отражена, однако, изменяемость резуль- татов при получении решений; она была довольно низкой, за исключением последовательной задачи, которую при помощи линей- ного устройства распознавания образов иногда не удавалось ре- шить вовсе. В остальных случаях средние, представленные на ри- сунке, хорошо соответствуют результатам эксперимента. Эти результаты удивили нас, поскольку мы думали, что различ- ные устройства распознавания образов должны были бы работать особенно хорошо с задачами, построенными специально для них. В частности, сначала мы не понимали, как линейная программа могла бы решить последовательную задачу, ибо были уверены, что выделение признаков разрушит необходимую для решения инфор- мацию. Напротив! Оказалось, что обратная связь от устройства распознавания образов заставила выделяющую признаки часть Рис. 8.8. Признаки, порожденные устройством линейного распознавания обра- зов при решении последовательной задачи: а — нижняя часть знака + над пустым полем; б — пустое поле над верхней частью знака X; в----------1- над X. нашей программы определить признаки, которые преобразуют за- дачу классификации к виду, удобному для конкретного устройства распознавания образов. Самая яркая иллюстрация — пример того, как линейное устройство решает последовательную задачу. На- помним, что для решения последовательной задачи надо выявить, имеют ли знаки + тенденцию появляться над X в любом месте сетки размером 25x25. Рассматриваемое устройство линейного распознавания образов требовало, чтобы новые признаки порож- дались до тех пор, пока устройство выделения признаков не выде- лит их (рис. 8.8). Программа нашла характеристики границы между областями с высокой и низкой плотностями знаков -j- и X.
236 Гл. 8. Выделение признаков Возможно, нам следовало знать заранее, что наша программа способна сделать это. Люди, которым мы приводили данный при- мер, говорили нам это, но уже после того, как мы объясняли им, как наша программа решает задачу. 8.5. Как важно быть умным Всегда разумно стремиться к тому, чтобы стать умнее, даже если такое пожелание, выраженное в виде совета, и расстраивает собе- седника. В наших экспериментах мы оказались в дураках потому, что наша программа была в некотором смысле умнее нас, когда мы определяли признаки. На самом деле для того чтобы решать мно- гие практические задачи устройством распознавания образов, сле- дует стремиться не к универсальным методам, а к методам, локально сильным, но и весьма специализированным, подходящим для реше- ния имеющейся конкретной проблемы. Это утверждение прекрасно иллюстрируется процедурой Ледли (1964), в которой методы грам- матической классификации образов применяются для анализа хро- мосом. Основные признаки были выбраны им на основе способов, которыми хромосомы разделяются; не было и попытки заставить машину породить эти признаки. Человек, решающий реальную задачу, крайне заинтересован в том, чтобы при поиске решения использовать всю информацию, которой он располагает. При обсуждении того, какие признаки должны быть использова- ны для решения конкретной задачи классификации, естественно считать целесообразными признаки, представляющие собой ком- поненты описания объекта, например интерпретировать человека как совокупность рук, ног и других частей тела, а буквы как сово- купности дуг и отрезков. В ряде случаев, как показал анализ, это не тот способ, который можно рекомендовать. Могут существовать признаки весьма полезные для классификации, но никак не связы- вающиеся к компонентами описания. Для нахождения таких призна- ков нельзя дать никаких общих правил. Но так как рассматривае- мый метод оказался весьма эффективным, приведем три примера его применения. В первом примере для классификации цифр применяется метод „пробного вектора**, который нашел широкое применение при раз- работке оптических систем распознавания знаков. Задача состоит в распознавании заранее отцентрированной на зрительном поле циф- ры. Способ, которым она решается, заключается в построении мно- жества “пробных векторов", т. е. отрезков на поле, где находится изображение (рис. 8.9, а). Каждый из векторов можно рассматри- вать как признак. Когда реальная фигура, например цифра „2", будет проектироваться на это множество (рис. 8.9, б), она пересечет различные пробные векторы. В наших предыдущих обозначениях пересечение фигурой определенных пробных векторов соответст-
8.5. Как важно быть умным 237 вует наличию определенного признака. Различные цифры приводят к различным картинам пересечений, которые, таким образом, фор- Рис. 8.9. Метод пробных векторов для распознавания знаков: а — пробные векторы; б — цифра 2, наложенная на пробные векторы. Бонгард (1970) предлагает еще более впечатляющий способ вы- деления признаков в необычной задаче распознавания образов. Рассмотрим две таблицы (рис. 8.10), строки которых получены по Рис. 8.10. Таблицы функций, предназначенные для распознаваний: (I): е(А, В')~ =А+В=С. (II): g(A, В)=А—В=С. Если заданы несколько таких таблиц, можно ли написать про- грамму, которая, изучив все таблицы, относящиеся к заданной функции, выделила бы характерное описание, с помощью которого можно было бы соотнести новые таблицы с определяющей их функ- цией? Предполагается, что на всех этапах работы программе не
238 Г л. 8. Выделение признаков сообщается в явной форме вид соответствующей функции. Бонгард дает описание программы, названной АРИФМЕТИКА, которая обла- дает требуемыми свойствами. На нас особое впечатление произвела процедура выделения признаков, поэтому обсудим ее подробнее. Выделение признаков в программе АРИФМЕТИКА осуществля- ется в три этапа. На первом генерируется определенное число ариф- метических признаков. Каждый арифметический признак связы- вает два из трех табличных элементов (А, В, С) арифметической операцией. Таким образом, на этом этапе можно было бы вырабо- тать признаки, имеющие вещественные значения, такие, как А +В, А+С, А/С, ВхС. Если известно, что возможны только три опе- ранда и ограниченное число операторов, то число возможных ариф- метических признаков невелико. Каждый из них можно оценить для каждой строки таблицы. Затем арифметические операции пре- образуются в логические переменные при помощи одного из шести возможных правил преобразования. Все эти правила основаны на результате арифметической операции. Возможным логическим правилом преобразования является, например, правило „утвержде- ние Li(f(x, у)) истинно тогда и только тогда, когда />0". Преобра- зования можно применить к таким функциям, как или А/С, и, когда описаны аргументы функции /, утверждение Щ принимает определенное значение. В частности, в нашем примере ЁДА+В) принимает значение истина для первой строки таблицы I. Теперь мы получили признаки, которые дают возможность отобразить строку таблицы в вектор логических переменных. На следующем этапе логические переменные объединяются в пары. Правило объединения выбирается из десяти возможных ло- гических операций, применимых к двум переменным. Иначе говоря, правилом объединения может быть F (а, Ь)=а или Ь, а и b и т. д., где а и b — логические переменные. Типичным признаком здесь могло бы быть F (а, Ь)=Б1(й + Ь) или L-^a/b). (19) И снова полученный признак F имеет значение, определенное для конкретной строки таблицы. Для того чтобы определить F для всей таблицы, надо взять логическое произведение всех строк таблицы. Таким образом, эта процедура позволяет определить ряд признаков, относящихся к частным арифметическим таблицам, т. е. к функциям, а не строкам. Программе АРИФМЕТИКА задаются таблицы, связанные с различными (но неизвестными) функциями. Соответствующие таб- личные признаки (F) порождаются до тех пор, пока программа не получит 33 функции, истинные для приблизительно половины таб- лиц (это число определялось характеристиками ЭВМ, на которой прогонялась программа, и не имеет особого значения). Затем про-
8.5. Как важно быть умным 239 грамма исследует новое множество таблиц, порожденных теми же функциями, и пытается определить, с какой из таблиц, использо- ванных на этапе обучения, должна быть сопоставлена каждая из новых таблиц. Решение осуществляется простым алгоритмом груп- пирования, основанном на близости образов (F) для каждой пары таблиц. Бонгард сообщает, что программа верно классифицировала простые арифметические функции почти во всех возможных тесто- вых случаях, ошибаясь лишь в 3% случаев. В определенном смысле это впечатляющий результат, хотя и неясно, что же делать дальше. С одной стороны, программа в некотором смысле „индуктивно опре- деляла функцию*1, поскольку она может распознать новые примеры этой функции. С другой стороны, сама функция не была определена. Программу не удалось обучить давать значение С для конкретной пары аргументов А, В, хотя ее можно было модифицировать так, чтобы она могла строить разумную гипотезу относительно того, какое из двух возможных значений С больше похоже на правильное. Судя по всему, результаты Бонгарда означают, что тесты на выбор из многих альтернатив не подходят для измерения степени интеллектуальности машины. Безусловно, это лишь применение распознавания образов к необычной ситуации. В качестве последней иллюстрации полезного и неочевидного анализа признаков рассмотрим метод обработки двумерных изоб- ражений, при котором изображения трактуются как математиче- ские объекты. Черно-белое изображение можно определить „функ- цией зачерненности" g(x, у), значения которой представляют сте- пень зачерненности в точке (х, у) на плоскости изображения. Эту функцию можно разбить на независимые компоненты с помощью метода, называемого двумерным анализом Фурье. Мы не будем вда- ваться в математические подробности (интересующийся читатель отсылается к сжатому обсуждению в книге Дуды и Харта (1973), где можно найти и дальнейшие ссылки). Мы неформально изло- жим здесь этот подход. Для начала рассмотрим функцию одного аргумента /(х) и пред- положим, что она периодическая с периодом 2 л. Теорема Фурье утверждает, что / (х) можно представить в виде сходящегося беско- нечного ряда оо /(х) = п0/2 + У (a„cosnx + b„sinnx). (20) п-1 Ясно, что этот ряд можно приблизить суммой конечного числа чле- нов. На рис. 8.11 изображена сложная функция, равная сумме взве- шенных гармоник. Как можно было бы решить задачу распознавания образов, вклю- чающую классификацию таких сложных форм, как кривая А на
240 Г л. 8. Выделение признаков рис. 8.11? Один из путей — описать каждое такое изображение век- тором z, составленным коэффициентами ее первых k гармоник, и затем применить алгоритм распознавания образов для векторной классификации множества коэффициентов. Для определения этих коэффициентов пользуются хорошо известным в математике гармо- ническим анализом (т. е. нахождением коэффициентов Фурье дан- ной функции), так что этот шаг не вызвал бы затруднений. А : 8 Рис. 8.11. Пример декомпозиции функции А. Кри- вая А получена как взвешенная сумма гармоник 1—4. Чтобы применить этот метод в распознавании изображений, рассмотрим сначала простое изображение, состоящее из последо- вательности одинаково затененных вертикальных полос. Такое изо- бражение можно было бы считать взвешенной суммой решеток с раз- личными частотами смены белых и черных вертикальных полос (рис. 8.12). Аналогично изображение, состоящее из одинаковых го-
Рис. 8.12. Применение пространственного гармонического анализа. Нижнее изображение получено суммированием двух верхних.
242 Гл. 8. Выделение признаков ризонтальных затенений, можно было бы считать суммой горизон- тальных полос. В таком изображении степень зачерненности была бы функцией только горизонтальной или только вертикальной коор- динаты g(x) или g(y), а коэффициенты функции зачерненности, ис- пользовавшейся для получения этого изображения, можно было бы найти гармоническим анализом. Предположим теперь, что изобра- жение, полученное суммированием горизонтальных полос, наложили на изображение, полученное суммированием вертикальных полос. Результатом было бы изображение, составленное из блоков раз- Рис. 8.13. Решетка, определяемая вкладом нену- левой компоненты, соответствующей паре (fx, fy), в функцию зачерненности g(x, у). личной яркости. Ограничение на степень разрешения вылилось бы в ограничение на частоты решеток, использованных для этого по- строения. Высокие частоты и, таким образом, частые тонкие линии привели бы к очень мелкой мозаике. Однако для определения боль- шинства изображений одних блоков недостаточно, поскольку край предмета может расположиться по диагонали. Выражаясь весьма приближенно, диагонали соответствуют отношениям между часто- тами по направлениям х и у. Иными словами, если fx и fy— частоты, определяемые вертикальными и горизонтальными полосами, то пару (/х, fy) можно представить множеством прямых с наклоном — (jxlfy). (Заметим, что fx и fy могут быть отрицательными.) Расстоя- ние между прямыми определяется значениями fx и fy. Чем больше эти значения, тем ближе прямые друг к другу (рис. 8.13) J)- Фун- даментальный результат пространственного гармонического анали- ]) Точнее, изображение в данном случае описывается выражением G (fx,fy)X Хехр[2л/(/хх+^1/)] +G(—fx,— ^)ехр[2ш(—fxx—fyy)], что на неограничен- ной плоскости дает „волнистую" поверхность, причем рис. 8.13 показывает рас- положение гребней этих волн.— Прим. ред.
8.5. Как важно быть умным 243 Рис. 8.14. Изображения, полученные (а) квантованием изображения, имевшего высокое разрешение, и (б) последующей фильтрацией высоких частот, что приво- дит к сглаживанию краев. (Взято из статьи Хармона и Юлеша (1973).) за состоит в том, что любое изображение (т. е. функцию зачернен- ности g(x, у)) можно приблизить конечной взвешенной суммой ре- шеток, соответствующих парам (fx, fy). Тогда интуитивно ясно, что любое изображение можно интерпретировать как взвешенную сум- му решеток различной ориентации, частоты и интенсивности. В тер- минах машинного распознавания образов любое изображение можно представить (с любой степенью точности) вектором, компонентами которого являются веса, приписываемые решеткам определенной ориентации и частоты. Резкие края соответствуют высокой интен- сивности и высоким частотам решеток, имеющих определенную ориентацию. На первый взгляд разбиение изображения на его компоненты Фурье может показаться операцией, которая, будучи математиче- ски оправданной, все же не слишком приспособлена для представ- ления информации, содержащейся в изображении. Однако некоторые удивительные результаты, полученные при исследовании сенсорного восприятия, свидетельствуют, что это не так. Оказывается, что зри- тельная система млекопитающих осуществляет что-то вроде гармони- ческого анализа образа на сетчатке глаза и применяет его для упо- рядочения воспринимаемого видимого мира. Можно привести несколько доводов в пользу подобного предположения. Хармон
244 Гл. 8. Выделение признаков и Юлеш (1973) выполнили необычайно интересный эксперимент, посвященный этому вопросу. Они разбили на блоки фотографию с высоким разрешением портрета Авраама Линкольна, приписали всем точкам каждого блока значения средней зачерненности блока. По- лучилось изображение, показанное на рис. 8.14,а. Следствием та- кого квантования изображения было введение высокочастотных „шумовых" компонент, связанных с границами между блоками. Хармон и Юлеш затем получили второе изображение, отфильтро- вывая из блочного изображения почти все частоты, более высокие, чем те, которые могли бы поступить из оригинальной фотографии в блочную. (Размер блоков определяет верхний предел частоты, ко- торая может быть передана из оригинала в блочное изображение.) Результат восстановления показан на рис. 8.14, б; он представляет собой легко узнаваемый портрет Авраама Линкольна 2). Проведенный экскурс в психологию сенсорного восприятия иллюстрирует важный момент машинного распознавания образов. От системы выделения признаков, используемой в устройстве рас- познавания образов, не требуется сохранять информацию, содер- жащуюся в изображении, в том виде, в каком она воспринимается человеком. На самом деле и человеческая зрительная система, оче- видно, этого не делает. Хорошая система выделения признаков со- храняет информацию, достаточную для восстановления классифи- цируемых объектов на уровне деталей, необходимых для классифи- кации. Более того, она предоставляет эту информацию алгоритму распознавания образов в виде, удобном для него. г) Впрочем, как отметил У. Сароян, в лице этого человека что-то есть. Если вы начали его рисовать, как бы плохо вы ни рисовали, он все равно будет похож в точности на Линкольна.— Прим. ред.
Часть III ДОКАЗАТЕЛЬСТВО ТЕОРЕМ И РЕШЕНИЕ ЗАДАЧ Глава 9 МАШИННОЕ ПРЕДСТАВЛЕНИЕ В РЕШЕНИИ ЗАДАЧ 9.0. Использование представлений Термин „решение задач" употребляется в искусственном интел- лекте в весьма ограниченном смысле. Мы говорим, что существует задача, если воспринимаемое состояние внешнего мира отличается от желаемого. Соответствующая задача решается изменением внеш- него мира так, чтобы указанное различие исчезло. Подразумева- ется, что у решателя задачи есть возможность предпринять действия, которые могут привести к необходимым изменениям. Однако осу- ществление таких действий вслепую не считается решением задач, поскольку решение должно сопровождаться некоторым процессом выбора подходящих действий. Мы будем заниматься машинными программами, осуществляющими такой выбор. Мыслители не решают непосредственно задач как они есть, а занимаются поиском представления задач. Этот факт настолько обыден, что мы не ощущаем его важность до тех пор, пока не попы- таемся построить программу, предназначенную для решения задач. Конечно, такая программа работает не с реальным физическим ми- ром, а с его символьным представлением в предположении, что су- ществует соответствие между символами и операциями над ними в машине, с одной стороны, и состояниями и действиями во внеш- нем мире — с другой. Фактически всю прикладную математику можно рассматривать подобным образом. Для представления физического мира и действий в нем исполь- зуются числа и операции над ними. Сначала решается численная задача, и полученное решение переводится на физический язык. Иногда такой перевод очевиден. Например, если бы нас попросили определить средний вес игроков футбольной команды, то каждому отдельному игроку мы бы приписали число, соответствующее его весу, провели бы необходимые вычисления и получили результат. В ряде случаев перевод не столь очевиден. Рассмотрим задачу на-
246 Г л. 9. Машинное представление в решении задач хождения оптимального маршрута для школьного автобуса. Если задан конкретный маршрут, то можно вычислить для каждого школь- ника время его пребывания в автобусе и пройденное расстояние. При попытке определить на основе этих переменных „наилуч- ший маршрут11 мы сталкиваемся с некоторыми трудностями. Ввести ли дополнительный автобус, если среднее время пути при курси- ровании только одного автобуса больше 15 минут, или сделать это, когда оно станет больше получаса? Как влияет на решение стоимость автобуса? Как соотнести среднее время пути для всех учеников с максимальным временем пути одного ученика? В этом примере можно измерить отдельные переменные, но мы не уверены в том, что будет иметь смысл учитывать комбинации различных факторов. Во мно- гих „реальных жизненных11 ситуациях нет возможности измерить значения решающих переменных. Первый важный вопрос относительно любого представления сос- тоит в том, достаточно ли точно оно моделирует реальность. Второй вопрос касается полезности представления: оно должно быть та- ким, чтобы решателю задач было легко с ним работать. Понятие „легко работать11 подразумевает вполне определенные факты о ре- шателе задач и самой задаче. Например, вычислитель, пользую- щийся логарифмической линейкой, знает, что для умножения полезно аналоговое представление чисел, а при работе на счетах он предпочтет цифровое представление. В искусственном интеллекте мы часто отмечаем различия между представлениями, естественными для решения задач человеком, и представлениями, удобными для решения задач машиной. Для того чтобы проиллюстрировать связь между представления- ми и процессами решений, рассмотрим задачу из области общения в социальной группе. Хорошо известно, что информацию о новей- ших результатах ученые в основном получают из личьых контак- тов. Известно также, что ученый обменивается информацией не с каждым другим ученым. Допустим, что ученый, являющийся чле- ном некоторых, но не всех „невидимых коллективов11, делает от- крытие и извещает о нем через свои каналы этой неформальной сети. Насколько быстро распространяются новости об этом открытии? В качестве первого приближения предположим, что ученые об- щаются только на научных встречах и на каждой встрече каждый ученый обменивается информацией, касающейся всех известных ему открытий, со всеми своими друзьями. Безусловно, это сильное упро- щение реального процесса общения, поскольку мы сконструировали механизм с искусственным разделением на моменты обмена инфор- мацией и не допускаем возможности смены научных знакомств. Несмотря на это, обсуждаемую модель можно считать удовлетвори- тельной. Для получения списочного представления составим список уче- ных с указанием людей, с которыми каждый из них беседует:
9.0. Использование представлений 247 1. Джонс Смит, Томас 2. Смит Джонс, Браун, Грин 3. Томас Джонс, Бейкер, Браун 4. Грин Смит, Браун 5. Браун Смит, Грин, Томас 6. Бейкер Томас, Уайт 7. Уайт Бейкер 8. Беннет Мейзон, Джеймс 9. Мейзон Беннет 10. Джеймс Беннет Для определенности будем считать, что открытие сделал Джоне. Чтобы решить нашу задачу, перечислим людей, с которыми Джонс беседует: Смит и Томас. Они услышат об открытии на первой встре- 1 6 Джонс Бейкер Уайт 8 Беннет Мейзон Джейме Смит Томас Рис. 9.1. Граф сети общения. че. Добавим к этому списку тех, которым Смит и Томас расскажут об открытии на следующей встрече, так что теперь список состоит из Джонса, Смита, Томаса, Грина и Бейкера. На каждом этапе до- бавляем имена, упоминаемые впервые. В конце концов (в этом при- мере после трех встреч) новые имена перестанут добавляться. Опи- санный процесс определяет необходимое число шагов для распро- странения новости и путь ее распространения. Представление в виде графа, называемое графовым представле- нием, точно так же соответствует реальности, как и списочная модель, но имеет некоторые преимущества благодаря своей нагляд- ности. Сеть общения из приведенного выше примера изображена на рис. 9.1 в виде графа, в котором узлы соответствуют ученым, а дуги соединяют человека, передающего новость, с принимающим ее. Из рисунка сразу видно, что это общество распадается на две груп- пы, не связанные между собой: нет возможности передать сообще- ние от Джонса к Беннету, Мейзону и Джеймсу. Несколько более подробное исследование показывает, что дальше всех из достижи- мых для Джонса находится Уайт (расстояние по графу равно 3 ду- гам). При решении этой задачи людьми графовое представление
248 Г л. 9. Машинное представление в решении задач лучше списочного. Почему? Вероятно, потому, что людей можно считать исключительными по эффективности системами обработки зрительной информации. Конечно, если бы имен было гораздо боль- ше и, значит, граф был бы значительно сложнее, пришлось бы вер- нуться к списочному представлению. При этом люди смогли бы справиться с произвольно сложными задачами, но это было бы очень трудно из-за человеческой склонности к ошибкам при подсчетах. И наконец, матричное представление (предложенное Харари, Норманом и Картрайтом, 1965). Оно годится для машинного реше- ния задач, но людям нелегко пользоваться им. Определим путь 01 10000000 10 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0100100000 0 1 1 1 0 0 0 0 0 0 0010001000 0000010000 000000001 1 0000000101 0000000110 Рис. 9.2. Матрица связности, соответствующая се- ти, изображенной на рис. 9.1. как маршрут, по которому информация передается от одного к дру- гому, и длину пути как число шагов в нем. Таким образом, последо- вательности Джонс, Томас, Браун и Джонс, Смит, Грин, Браун (рис. 9.1) являются путями от Джонса до Брауна с длинами 2 и 3 соответственно. Обозначим через С матрицу, элементы которой Сц равны 1 тогда и только тогда, когда ученый i общается с ученым j, и 0 в противном случае. Считаем, что Сц=0. На рис. 9.2 показана матрица, соответствующая графу на рис. 9.1. Заметим,что матрицу С можно интерпретировать и так: Сц определяет число путей (не больше одного) длины 1 от ученого i к ученому /. Этот способ выра- зить смысл, содержащийся в рассматриваемой матрице, кажется неуклюжим, пока не поставлен более общий вопрос. Сколько путей длины 2 ведет от i к /? Для того чтобы ответить на этот вопрос, под- считаем число путей длины 1, ведущих от i к k, и число таких путей or k к / для всех возможных k. Тогда число путей длины 2, ведущих от i к /, равно = (1) k
9.0. Использование представлений 249 Запишем (1) в матричной форме: С<2) = [с(!/>]==С-С. (2) Для того чтобы найти число путей от i к / длины 3, определим для всех k число путей длины 2, ведущих от i к k, и длины 1, ведущих от k к /. Число путей от i к / длины 3 равно 5<Ж/ = с}’’, (3) k или в матричной форме С<з> = С(2)-С. (4) Обобщим (4) на случай путей длины п: С(п> = С(Л-1>.с Процесс общения оканчивается в точке, в которой увеличение дли- ны пути не увеличивает числа путей. Математически это означает, что С’1л+1> = С<л>. (6) Пусть п*— наименьшее целое число, для которого справедливо (6). Ненулевое значение указывает на то, что от i к / ведет по край- ней мере один путь длины не более п*. Если ^/*‘=0, то от i к / пути нет. Различие между матричным и графовым представлениями обус- ловлено, разумеется, не переходом от реального мира к символь- ному, поскольку между этими представлениями существует взаим- но однозначное соответствие. Выбор какого-то из них зависит от склонности решателя задач к численным или зрительным операциям. В следующем разделе излагаются типы представлений для ре- шения задач в соответствии с работами Ньюэлла и Саймона (1972) и Нильсона (1971). Разделение на типы не строгое. Похоже, что по крайней мере между некоторыми из представленных типов мож- но установить формальную эквивалентность. Бенерджи (1969) ис- следует это несколько подробнее. Однако предположение о том, что все представления можно считать прагматически эквивалент- ными, кажется сомнительным. Представления можно интерпретиро- вать как эвристические подходы к решению задач. Хорошее пред- ставление дает хороший метод решения задач. И хотя формальная эквивалентность хорошего представления плохому интересна с точки зрения математики, для практического решения задач этот факт мало полезен.
250 Гл. 9. Машинное представление в решении задач 9.1. Типы представлений 9.1.0. Перечисление В перечисляющем представлении рассматривается множество U возможных решений и какое-то правило для их оценки. Если U конечно, то можно проверить решения в некотором порядке и выб- рать правильное. Если U бесконечно, но счетно, то его элементы также можно порождать в некотором порядке и проверять их пра- вильность. В искусственном интеллекте методы перечисления иногда подвергаются критике отчасти потому, что в первых работах в этой области J) подразумевалось, что они основаны на „грубой силе и не- ведении", т. е. на методе слепого порождения пробных решений, пока не встретится правильное. Вместе с тем на практике был разра- ботан ряд довольно изящных перечисляющих методов. Формальное описание перечисления само по себе наводит на мысль о том, в ка- ких же случаях перечисление может быть полезным. Пусть функция / выбирает хотя бы одно решение 3 для любого множества S<=U. Перечисляющий алгоритм выглядит так: (i) Положить k—О и начать с некоторого множества пробных решений S0^U. (ii) Если Sk содержит требуемое решение, то работа алгоритма оканчивается. В противном случае перейти к (iii). (iii) Построить Sk+1=f (Sk), увеличить k на единицу и перейти к (ii). Перечисляющий метод отличается от других методов тем, что на каждом шаге выбирается множество Sft+1, зависящее лишь от Sk. Тогда следующий шаг является функцией рассматриваемого шага и не зависит от сравнения последнего с ответом. Интуитивно это выглядит как решение задач вслепую, и это действительно так, если только характеристики ответа не сохраняются одними и теми же. Если это условие выполнено, то подразумеваемое сравнение элементов множества Sk с требуемым целевым состоянием можно предусмотреть в самом определении перечисляющей функции /. Важный пример такой задачи приведен в гл. 1, где отмечалось, что многие задачи можно описать конъюнкцией вида „А и В и С“. Если цель решения задачи состоит в показе, что такая конъюнкция ложна (т. е. утверждения в ней противоречивы), то достаточно просто вы- вести из множества исходных утверждений пустое утверждение ложь. Таким образом, ложь становится постоянным целевым состоя- нием для целого ряда различных задач, и перечисляющий подход к решению задач становится целесообразным. В машинном дока- зательстве теорем этот метод действительно оказался полезным. *) См., в частности, работу Ньюэлла, Шоу и Саймона (1956).
9.1. Типы представлений 251 9.1.1. Решение задач в пространстве состояний Подход, использующий пространство состояний, очень распро- странен в решении задач. В нем предполагается существование счет- ного множества S состояний и множества О операторов, которые отражают состояния множества S в себя. Решение задач рассматри- вается как передвижение в пространстве, определяемом множест- вом этих состояний, с целью достигнуть желаемое множество целе- вых состояний. Задача решена, когда найдена такая последователь- ность операторов о = о(1), о(21, .. ., о1*’, (7) что = • .o,2'(o(1,(s0)) • •.)), (8) где s0— некоторое состояние из множества начальных состояний, а sg—из множества целевых состояний. Существует полезный изоморфизм между задачей нахождения последовательности о и задачей нахождения пути на графе. Пусть S будет множеством узлов некоторого графа, у которого узлы i и / соединены дугами тогда и только тогда, когда в О есть оператор о, отображающий в s}. Путь от одного состояния к другому эквива- лентен соответствующей последовательности операторов. Графовое представление решения задач в пространстве состояний имеет сле- дующие преимущества. В нем интуитивно легко понять далеко не тривиальные высказывания. Оно приводит к естественному обоб- щению анализа, при котором учитывается стоимость ck применения оператора ok, что соответствует пометке каждой дуги графа ее стои- мостью. Наконец, во многих случаях каждый последующий поис- ковый шаг можно выбирать как функцию сравнения целевого и текущего состояний. Подробно это будет изложено в гл. 10. 9.1.2. Сведение задачи к подзадачам В методе сведения задачи к подзадачам определяется совокуп- ность подзадач, которые, если бы решились раздельно, привели бы к решению исходной задачи. Затем рассматривается каждая под- задача, и результаты объединяются для нахождения решения всей задачи. Этот процесс можно применять рекурсивно для порождения подзадач, подподзадач и т. д. до тех пор, пока, наконец, не получится множество тривиальных „задач“, решения которых известны. Реше- ния этих задач можно объединить в решение более сложной задачи. В качестве интересной иллюстрации рассматриваемого метода Ниль- сон (1971) предлагает задачу „Ханойская башня". Даны три колыш- ка и три различных диска. Сначала все диски находятся на левом колышке, требуется переместить их все на правый (рис. 9.3). При этом каждый раз должен перемещаться только один диск, и боль-
Рис. 9.3. Задача «Ханойская башня», начальное и целевое рас- положения. Рис. 9.6. Задача, оставшаяся после ходов, изображенных на рис. 9.4 и 9.5.
9.1. Типы представлений 253 ший диск никогда не должен находиться над меньшим. Чтобы ре- шить задачу, больший диск надо поместить на колышек 3. Разу- меется, диск С должен быть на колышке 1, а колышек 3 должен быть пустым, т. е. имеется в виду ситуация, когда на колышке 2 находятся диски Л и В в нужном порядке. Таким образом, задача разбивается на две подзадачи (рис. 9.4 и 9.5). Заметим, что последняя тривиаль- на и решается единственным ходом. Однако после того, как они ре- шены, остается дополнительная задача переместить на нужное место диски А и В (рис. 9.6). Читатель может легко применить пре- дыдущее рассуждение для выделения дальнейших подзадач и, Подзадачи, которые мы до сих пор обсуждали, называются И- подзадачами, так как для решения основной задачи они должны быть решены все. Часто возникают случаи ИЛИ-подзадач, т. е. та- ких задач, что если решена какая-нибудь одна из них, то решена и основная задача. Это происходит и в задаче „Ханойская башня*1. На рис. 9.7 показаны такие две конфигурации дисков, что если до- стигнута любая из них, то основная задача решается тривиально. Задачу сведения к подзадачам можно изобразить в виде спе- циального графа, называемого деревом (рис. 9.8). Обращаем вни- мание читателя на дугу, связывающую подзадачи 1 и 2. Она указы- вает, что для решения основной задачи должны быть решены обе подзадачи, поэтому 1 и 2 являются И-подзадачами. Такой дуги на рисунке нет в случае ИЛИ-подзадач, какими являются подподзада- чи 3, 4, 5 и 6. Поиском решения при сведении задачи к подзадачам называется процесс, в котором каждый узел помечается как решенная задача и который продолжается до тех пор, пока не будет помечен корень. Процесс решения начинается с корня, который представляет ис- ходную задачу. Затем порождаются ее подзадачи, и соответствую- щие узлы соединяются с корнем как его И- или ИЛИ-преемники. После этого порождаются подзадачи подзадач до тех пор, пока не получится подзадача, которую можно непосредственно решить (т. е. для нее программа решения „знает ответ**). Соответствующий узел помечается как решенный, и дерево просматривается вновь.
254 Гл. 9. Машинное представление в решении задач Все узлы, для которых какая-нибудь ИЛИ подзадача решена, и все узлы, для которых все И-подзадачи решены, помечаются как ре- шенные. Процесс оканчивается, когда корень можно пометить как решенный, и это указывает на решение исходной задачи. 9.1.3. Переписывание цепочек В представлении, использующем переписывание цепочек, воз- можные „состояния мира", включая начальные и целевые, рассма- триваются как правильно построенные выражения некоторого язы- Подподзадача 3 Подподзадача Подподзадача 5 Подподзадача 6 Рис. 9.8. Представление метода сведения задачи к подзадачам в виде дерева. ка. Операторы, отображающие одно состояние мира в другое, рас- сматриваются как продукции, которые выводят одно правильно построенное выражение из другого. Прекрасные примеры такого подхода можно найти в алгебре. Предположим, что мы хотим с по- мощью законов коммутативности и ассоциативности доказать, что Х+(В+С) = В+(Х+С). (9) Доказательство таково: X 4-(В + С) —< (X + В) +С ассоциативность относительно сложения — (В + Х) + С коммутативность (10) относительно сложения —» В -г (X 4-С) ассоциативность относительно сложения
9.2. Комбинирование представлений 255 Выбор, соответствующего оператора (продукции) на каждом шаге основан на сравнении структуры имеющегося правильно постро- енного выражения со структурой желаемого. Процедура переписы- вания цепочек явно похожа на представление, использующее про- странство состояний. Кроме того, можно сказать, что все програм- мируемые решатели задач должны быть системами переписывания цепочек, поскольку содержимое машинной памяти можно выразить в виде цепочки, а тогда любое изменение содержимого памяти есть не что иное, как вывод из нее другой цепочки. Однако эвристически только некоторые задачи можно легко представить в виде задачи пе- реписывания цепочек. 9.2. Комбинирование представлений Метод сведения задачи к подзадачам приводит к хорошим ре- зультатам потому, что часто решение задач имеет иерархическую структуру. Однако в самом сведении задачи к подзадачам скрыва- ется важный момент. Не обязательно основная задача и все ее под- задачи решаются с помощью одинаковых представлений. Если на этом уровне допустимы какие-то обобщения, то можно сказать, что метод сведения задачи к подзадачам полезен для представления гло- бальных аспектов задачи, а при решении более специфических задач предпочтительнее методы, использующие пространство состояний, переписывание цепочек и перечисление. Лучше всего это можно по- нять, если рассмотреть проблемы, относящиеся к широкой области, пока еще не затронутой вычислительными машинами. Например, „проблема**, упомянутая Джоном Кеннеди в его речи на торжестве по случаю избрания его на пост президента. Как восстановить международный престиж США? Он считал, что эта проблема сос- тоит из ряда подпроблем, таких, как более активная программа гражданских свобод, повышение эффективности вооруженных сил, обширная программа исследования космоса. Последняя содержала в качестве подпрограммы посылку человека на Луну. Пока еще мы находимся в рамках сведения задачи к подзадачам. Далее иссле- дование Луны требовало конструирования специальных космиче- ских кораблей. Наилучший способ представления и решения этой задачи — построить соответствующий граф и найти на нем опти- мальный путь. Конструирование космического корабля в свою оче- редь потребовало решения ряда инженерных и математических за- дач, для которых понадобилось либо перечисление, либо переписы- вание цепочек. Смешанные представления встречаются не только при решении задач, с которыми сталкиваются политические деятели националь- ного или международного масштаба. В настоящее время наиболее известный проект в области искусственного интеллекта — это „ро- бот Шейки", представляющий собой управляемый от ЭВМ переме-
256 Гл. 9. Машинное представление в решении задач щающийся объект, построенный в Стэнфордском исследовательском институте (США). Шейки наделен способностью определить путь, по которому он ’) достигает цели, и свои действия, необходимые для того, чтобы определенным образом изменить окружающий его мир. Программная система Шейки использует смешанное представ- ление (Мансон, 1971). Когда Шейки получает задание изменить окружающий мир, основная задача разбивается на подзадачи. Последовательность просмотра подзадач определяется с помощью графового представления (или представления в пространстве сос- тояний). К отдельным шагам этой последовательности применяют методы доказательства теорем, чтобы показать, что определенная операция даст желаемый результат. Этими методами служат ме- тоды перечисления, аналогичные излагаемым в гл. 12. Они фак- тически предназначены для нахождения эквивалентных алгебраи- ческих выражений. Вместе с тем серьезно обсуждалась возможность представления данной задачи в форме переписывания цепочек. Таким образом, этот проект служит хорошим примером того, как смешиваются представления, когда решается совсем сложная про- блема (и также иллюстрирует тот факт, что сложное по машинным стандартам может оказаться очень простым для людей). Несмотря на сенсационные сообщения в прессе, наиболее ревностные почита- тели Шейки легко соглашались, что сами действия робота не выгля- дят впечатляющими. Во время многочисленных публичных демон- страций (например, организованная Нильсоном и Фельдманом на одном из совещаний АВТ, 1972) указывалось, что основная причина увлечения роботами в 70-х годах состоит в желании узнать, как строить сложные системы решения задач, используя различные пред- ставления, а не как строить устройства, которые будут полезными сами по себе. Когда для решения очень сложных задач применяются вычис- лительные методы, „типичная" ошибка, которую совершает про- грамма, заключается в том, что она порождает так много пробных решений, что, несмотря на значительное быстродействие ЭВМ, не хватает времени проверить каждое из них. Поэтому правильное решение можно и не найти, поскольку задача обработки данных ста- новится слишком громоздкой. С другой стороны, для людей, оче- видно, типична неспособность построить правильное решение вообще. Это предполагает наличие у людей некоторого способа, позволяющего ограничить (возможно, чересчур сильно) свое про- странство поиска пространством допустимых решений. В частности, Пойа (1954, 1957) предположил, что этот способ состоит в использо- вании планов и аналогий. Чтобы перенести обсуждение из психоло- гии в вычислительные науки, определим план как решение более J) Следуя результатам дискуссии между автором и Наоми Вейсстейн, будем считать пол Шейки неопределенным.
9.2. Комбинирование представлений 257 ограниченной задачи, содержащей лишь некоторые основные ха- рактеристики исходной. При решении задачи в представлении на основе планов вырабатывается совокупность подзадач, которые, как ожидается, можно будет легко решить одну за другой. Можно было бы продемонстрировать эту идею на примере из вычислитель- ной области, однако этот принцип так же хорошо, но проще иллю- стрируется задачей о „путешествующем профессоре". Предположим, что профессор из Сиэтла, штат Вашингтон, желает посетить колле- гу из Калифорнийского университета в Санта-Барбара, Южная Ка- лифорния. В конечном счете эту задачу можно решить последова- тельностью действий, включающих поездки на такси, лимузине, воздушные перелеты и даже немного ходьбу. Такое путешествие сначала будет планироваться на уровне аэропортов, в предположе- нии, что локальные транспортные проблемы будут как-то решаться по мере возникновения. В то время, как планирование естественно соответствует ма- шинно-ориентированному понятию об иерархических отношениях между задачами и подзадачами, формальное описание аналогий кажется намного труднее. В аналогиях легче всего разобраться, если обратиться к представлению, основанному на сведении задачи к подзадачам. Предположим, что на некотором этапе выделено мно- жество ИЛИ-подзадач. Идеально решатель задач должен выбрать самую легкую и попробовать ее решить. Если какая-то задача из этого множества неразрешима, то ясно, что и не стоит ее решать,— это пустая трата времени. Но откуда решатель задач знает, пока не попробует решить, что задачу легко, трудно или невозможно ре- шить? Чтобы выйти из этого логического круга, предположим, что решателю задач известен (возможно, не очень точный) способ пред- ставления подзадач, с которыми легко работать. Будем называть полученное представление аналогией представлению, в котором нуж- но решить рассматриваемую задачу. В рамках такой аналогии ре- шатель задач может решить все подзадачи или по крайней мере вы- делить те из них, которые можно решить, и воспользоваться этой информацией, чтобы попытаться решить их в первоначальном пред- ставлении. Отметим различие между иерархическими смешанными представлениями и представлениями, основанными на аналогии. В первом случае каждая подзадача имеет свое собственное пред- ставление, а во втором — подзадача имеет два представления. Пожалуй, одно из самых ясных и утонченных применений пред- ставлений, основанных на аналогии, появилось весьма давно в исследованиях по искусственному интеллекту в программе „Искус- ственный геометр" созданной Гелернтером (1963) для решения задач из планиметрии. Формально планиметрия представляет со- бой аксиоматическую систему, в которой определены правильно построенные выражения, выводимые из посылок с помощью точно сформулированных правил, в основном опирающихся на свойства 9 Э. Хант
258 Г л. 9. Машинное представление в решении задач конгруэнтных треугольников. Для доказательства утверждения из планиметрии необходимо показать, что к имеющимся посылкам можно применить известное правило вывода, чтобы получить нуж- ное следствие. Это означает, что машинные методы доказательства должны использовать переписывание цепочек. Проблема заключа- ется в том, что в геометрии так много правил вывода, что число допу- стимых выводов из исходного множества посылок очень велико, и обнаружение пути от посылки к нужному следствию занимает много времени. Выручает то обстоятельство, что планиметрию можно ин- терпретировать как множество утверждений об отношениях между линиями рисунков, изображенных на плоскости *). В программе „Искусственный геометр11 рисунки играют роль представлений, основанных на аналогии, для геометрических за- дач. В программу вводились условие задачи в символьной форме и описание соответствующего рисунка. (Построить рисунок по усло- вию задачи было бы достаточно легко, но на самом деле это сделано не было.) Для формирования подзадач, которые также выражались как выводимые утверждения, анализировались посылки и следст- вия в символьной форме. Затем изучался рисунок и выяснялось, какие из подзадач в соответствии с ним представляют собой истин- ные утверждения. Далее рассматривались только те подзадачи, которые прошли этот фильтр. Обсуждаемый метод можно проиллюстрировать задачей: Доказать, что диагонали параллелограмма в точке пересечения делятся пополам. Приведем формальную постановку (рис. 9.9). Дано: фигура ABCD; AB||DC, AD||ВС; AB = DC, (11) AD = BC; прямая ЛЕС, прямая DEB. Доказать: АЕ = ЕС и BE = ED. Для простоты ограничимся доказательством только одного утвер- ждения: АЕ=ЕС 1 2). Поскольку правила вывода в геометрии опи- 1) Чтобы решить геометрическую задачу, вы «смотрите на рисунок и видите, как все устроено». Отношения между утверждениями геометрической задачи и физическими деталями соответствующего рисунка не точны в том смысле, что ри- сунок несовершенен, но это, вообще говоря, можно игнорировать. То же отно- сится и к отношению между символьным утверждением в планиметрии и числен- ным представлением рисунка, которое может воспринять ЭВМ. Любое утвержде- ние в символьном представлении должно быть «приблизительно верным» для ри- сунка. 2) Читатель, без сомнения, заметит, что доказательство утверждения BE=ED отличается только обозначениями точек и прямых. Программа «Искусственный геометр», которая для своего времени была весьма утонченной, также могла заме- тить это. Формально, если бы она решила некоторую задачу и затем обнаружила, что существует другая задача, которую можно сформулировать в той же форме, за исключением различий в обозначениях, то она решила бы вторую задачу, ис-
9.2. Комбинирование представлений 259 Рис. 9.9. Задача о параллелограмме. раются на конгруэнтность треугольников, можно показать, что отрезки АЕ и ЕС равны, если они являются соответствующими ча- стями конгруэнтных треугольников. Отрезок АЕ принадлежит тре- угольникам АЕВ и AED, а отрезок ЕС — треугольникам ЕСВ и Рис. 9.10. Неточный рисунок для задачи о тупом угле. пользуя синтаксическую симметрию задач. Эта программа могла также «провести прямую» в рисунке и добавить в условие задачи соответствующие утверждения об этой прямой.
260 Гл. 9. Машинное представление в решении задач ECD. Возможные конгруэнтности получаются в результате чисто символьного рассмотрения: АЕВ^ЕСВ, (12а) AEB^ECD, (126) AED^ECB, (12в) AED^ECD. (12г) Анализируя рисунок, видим, что только (126) и (12в) „графически равны'*. Таким образом, только эти подзадачи помещаются в список подзадач, которые программа будет пытаться решить. Рассуждения по аналогии представляют собой очень мощную эвристику. В самом деле, Пойа (1954) целиком посвятил один том своей двухтомной работы обсуждению аналогии и индукции в ма- тематике. К сожалению, он приводит примеры, а не дает общих пра- вил. В работе Гелернтера рассуждения по аналогии применялись к очень специальному исчислению. Бекер (1969) пытался выработать общие принципы использования аналогий в программах решения задач, но его результаты не были особо примечательными. Одна из трудностей, похоже, состоит в том, что аналогии очень чувствитель- ны к контексту. Что же касается последних исследований в области искусственного интеллекта, то они посвящены в основном абстракт- ному решению задач. Вторая трудность заключается в том, что лю- бая неточность в аналогии может привести к необоснованному вы- воду. Поэтому важно не путать эвристическое рассуждение, ис- пользующее аналогию, с формальным доказательством, основанным на первоначальном представлении х). Ч Многие из наиболее запутанных математических головоломок выглядят интригующе потому, что их словесные формулировки приводят либо к использо- ванию неточной аналогии, либо к смешению рассуждений, относящихся к двум различным представлениям. Английский логик Ч. Л. Доджсон, живший в XIX веке (и известный больше как Льюис Кэрролл, автор «Алисы в Стране Чудес»), славился способностью придумывать такого сорта задачи. Рис. 9.10 представляет собой его «доказательство» того, что тупые углы иногда бывают прямыми (Гард- нер, 1971). Пусть ABCD будет квадратом. Разделим АВ пополам и из середины (Е) вос- ставим перпендикуляр EF к АВ, пересекающий DC в точке F. Тогда DF=FC. Из точки С проведем отрезок CG=CB. Соединим точки А и G, разделим AG также по- полам и из середины (Н) восставим перпендикуляр НК к AG. Поскольку АВ и AG не параллельны, то EF и НК также не параллельны. Поэтому они пересекут- ся, если их продолжить. Пусть они пересекутся в точке К. Тогда проведем KD, КА, KG и КС. Треугольники КАН и KGH равны, так как AH=HG, НК — общая сторона, являющаяся перпендикуляром к АВ в точке Н. Поэтому KA=KG. Тре- угольники KDF и KCF равны, так как DF=FC,FK — общая сторона, являющаяся перпендикуляром к CD в точке F. Поэтому KD= КС, и угол KDC равен углу KCD. Кроме того, DA=CB=CG. Следовательно, соответствующие стороны треугольни- ков KDA и KCG равны. Поэтому и соответствующие углы треугольников KDA и KCG равны. Так как углы KDC и KCD равны, то угол GCD равен углу ADC. Но GCD — тупой угол, a ADC — прямой. Отсюда следует, что тупой угол иногда равен прямому.
Глава 10 ГРАФОВЫЕ ПРЕДСТАВЛЕНИЯ В РЕШЕНИИ ЗАДАЧ 10.0. Основные понятия и определения На языке пространства состояний задачу можно представить в виде направленного графа, а решение ее — как путь между выде- ленными узлами графа; при этом естественно задать вопрос: „Как найти путь на графе?". В этой главе излагается ряд соответствующих алгоритмов. В основном они заимствованы из работы Нильсона (1971), который всесторонне исследовал теоретико-графовые ме- тоды в решении задач. К некоторым проблемам, не укладывающим- ся в рамки рассматриваемого здесь ограниченного понятия решения задач, можно также применить теоретико-графовые методы. Ин- тересующемуся читателю рекомендуем учебник Харари, Нормана и Картрайта (1965). Пусть М = {пг) — упорядоченное множество узлов и Е = = {e(tii, rij)} —множество помеченных дуг между ними. (В наибо- лее интересном случае е будет функцией, принимающей веществен- ные значения и интерпретирующейся как стоимость перехода по дуге.) Е и N, вместе взятые, определяют граф G. Пусть So и Sg— подмножества в N, называемые начальным и целевым соответственно. Решение — это такая последовательность узлов п2, . . ., пк, что «о и nk g Sg. Два узла nt и ni+1 могут принадлежать этой последовательности, только если определена дуга e(nit nt+1). Сто- имость решения — это просто сумма меток на дугах, т. е. £-1 стоимость решения = X е (nh ni+1). (1) 4 =о Решение минимально, если не существует другого решения с меньшей стоимостью. Длиной решения называется число узлов в нем.
262 Гл. 10. Графовые представления в решении задач Эти идеи можно проиллюстрировать графически. На рис. 10.1 показана гипотетическая карта дорог западного побережья США. Ясно, что из Сиэтла в Сан-Диего ведет несколько путей, каждому из которых соответствует стоимость, выраженная в милях. Это конечная задача. На рис. 10.2 представлена часть бесконечного графа, дающего правильно построенные выражения элементарной алгебры, которые можно вывести из х с помощью равенств х+у = у + х, х = \х+у)—у, х+{у + г) = (х + у) + г, (2) (x+y)—z = (%—?) + у. Вывод (у—у)+х из х можно осуществить за три или пять шагов. Хотя эти задачи очень просты, на них можно продемонстриро- вать ряд особенностей поиска на графе. Во-первых, почему они просты? Возможно, потому, что человек может видеть сразу весь граф. Рассмотрим, каким образом граф можно представить в ЭВМ, или, что эквивалентно, в устройстве с совершенной памятью. Все, что такое устройство знало бы о графе,— это информация о фак- тически пройденных дугах. Это то, с чем должен работать вычисли- тельный алгоритм. Нам понадобятся следующие определения: g(n) = стоимость кратчайшего пути из любого узла в So до узла п, (3) h (п) = стоимость кратчайшего пути из п до ближайшего узла из Sg. Заметим, что не требуется, чтобы узел п принадлежал So. f (n) = стоимость кратчайшего пути из So в Sg при условии, что он проходит через п. Из этих определений сразу следует, что /(«)=£ (п)+Л(п). (4) Не исключено, что для вычисления f, g и h потребуется инфор- мация обо всем графе. В этом случае для решения можно использо- вать оценки Д g и й. Знак показывает, что функция оценивается и при получении новой информации оценка может меняться. Множество узлов, достижимых непосредственно из узла п (т. е. множество узлов {/п}, для которых дуга е (п, т) определена), будем называть множеством преемников узла п и обозначать его S(n). В заключение отметим, что если nt и nj— узлы на кратчайшем пути, то f(nt)=f(nj). (5)
Сиэтл Q зоо Спокан «о Портленд 60 600 500’ 450 Юджин Сан-Франциски 200 Рено зоо\ X Санта-Барбара Q. 100Х Лос-Днджелес зоо 60 ,150 □ Лас-Вегас Г120 Сан-Бернардино юо too Сан-Диего Рис. 10.1. Карта дорог для иллюстрации поиска на графе. (Расстояния выбраны только с этой целью и ие соответствуют географическим.) (х-у) у* <*•-/> ----------►- (r+z) -Z ... Рис. 10.2. Графовые представления в алгебраическом примере решения задач.
264 Гл. 10. Графовые представления в решении задач 10.1. Алгоритмы для нахождения минимального пути к единственной целевой точке 10.1.0. Общая часть Мы изложим четыре основных алгоритма поиска на графе. В каждом из них прежде всего выделяется начальный узел па £ So, находится множество его преемников S (п0), а затем упорядочивается множество V=S(n0)U (So—«о} в соответствии с оценкой f(n) стои- мости решающего пути для каждого п £ V. Нильсон использует сле- дующий общий способ описания работы алгоритмов. Когда узлу впервые приписывается величина f (п), он помещается в упорядо- ченное множество, называемое ОТКРЫТ. Узлы удаляются из списка ОТКРЫТ в порядке возрастания f(n). После удаления из списка ОТКРЫТ узел помещается в множество, называемое ЗА- КРЫТ (будем называть это закрытием узла п). Когда некоторый узел закрыт, величины f, связанные с каждым узлом в ОТКРЫТ, могут вычисляться заново. Поэтому несколько усложним наши обозначения, понимая ft (tij) как „величину f (щ), вычисленную при условии, что узел /гг закрыт". Аналогично определим gt (щ). Пред- полагается, что для каждого узла из списков ОТКРЫТ или ЗА- КРЫТ указывается узел, который был закрыт в тот момент, когда определялось его текущее значение f. 10.1.1. Алгоритм перебора в ширину 1. Поместить все узлы из So в список ОТКРЫТ в произвольном порядке. 2. Если список ОТКРЫТ пуст, то неудача — решения нет. 3. Закрыть первый узел из ОТКРЫТ. Пусть это будет узел п. Если п $ Sg, то успех — решение дается последовательностью {в обратном порядке): узел п\ узел, закрытый в тот момент, когда п был помещен в ОТКРЫТ; узел, закрытый в тот мо- мент, когда предыдущий узел был помещен в ОТКРЫТ, и т. д. до тех пор, пока не будет достигнут некоторый узел п g So. Если n(£Sg, перейти к шагу 4. 4. Найти S(n). Поместить все узлы множества S (п) (ОТКРЫТ и U ЗАКРЫТ) в ОТКРЫТ в произвольном порядке, исключая те, которые следуют за любым узлом, уже находящимся в ОТКРЫТ. Зафиксировать, что узел п использовался для записи каждого из новых узлов в ОТКРЫТ. 5. Перейти к шагу 2. Пример. Рассмотрим задачу нахождения маршрута из Сиэтла в Рено (рис. 10.1). Получаем последовательность записей в списках ОТКРЫТ и ЗАКРЫТ.
10.1. Алгоритмы для нахождения минимального пути 265 ОТКРЫТ ЗАКРЫТ 1. Сиэтл (начало) 2. Портленд (Сиэтл) Спокан (Сиэтл) 3. Спокан (Сиэтл) Юджин (Портленд) Сан-Франциско (Портленд) 4. Юджин (Портленд) Сан-Францнско (Портленд) Рено (Спокан) Сиэтл (начало) Портленд (Сиэтл) Сиэтл (начало) Спокан (Сиэтл) Портленд (Сиэтл) Спокан (Сиэтл) Портленд (Сиэтл) Сиэтл (начало) 5. Реио (Спокан) Санта-Барбара (Сан-Франциско) Сан-Бернардино (Сан-Франциско) Сан-Франциско (Портленд) Юджин (Портленд) Спокан (Сиэтл) Портленд (Сиэтл) Сиэтл (начало) Решение достигается на следующем шаге. Маршрут, в обратном порядке, таков: Рено — Спокан — Сиэтл. Метод перебора в ширину всегда дает решение, соответствующее наименьшему числу шагов (в данном примере наименьшему числу промежуточных пунктов), так как все узлы, отстоящие от некото- рого начального (из множества So) не более чем на k — 1 шагов, будут рассмотрены раньше, чем любой узел, отстоящий от So на k шагов. По определению число шагов между любыми двумя узлами из So равно 0. 10.1.2. Алгоритм равных цен Эта модификация предыдущего алгоритма призвана минимизи- ровать стоимость окончательного решения. 1. Поместить все узлы n^S0 в список ОТКРЫТ в произвольном порядке. Пусть g(n)—Q. 2. Если список ОТКРЫТ пуст, на выход подается сигнал о не- возможности решения. 3. Пусть nt— такой узел в списке ОТКРЫТ, что значение g (п,) минимально. Если С Sg, то решение дается обратным путем к некоторому узлу п0 С So, как и ранее. В противном случае поместить п{ в список ЗАКРЫТ и перейти к шагу 4. 4. Для всех п* С S(n;) вычислить gi^n^-Veitii, п*). Это оценка минимального пути из некоторого узла в So к п* через nt, вычисленная после записи nt в список ЗАКРЫТ. Если узелп* не содержится в ОТК.РЫТ, поместить его туда и поло- жить g(n.*)=gt(n*). Если п* содержится в ОТКРЫТ и gi(n*)<g(.n*), mo присвоить gin*) текущее значение, рае-
266 Гл. 10. Графовые представления в решении задач ное gt (п*), и зафиксировать, что узел п* был помещен в ОТ- КРЫТ через щ. В противном случае не менять значения g(n*) и содержимое списка ОТКРЫТ. Заметим, что эта про- цедура может изменять оценку gin*) по мере помещения но- вых узлов в список ЗАКРЫТ. 5. Перейти к шагу 2. Пример. Этот алгоритм можно продемонстрировать, решая задачу нахождения пути от Сан-Франциско до Лос-Анджелеса и используя, как и раньше, карту на рис. 10.1 (опять напомним, что расстояния на карте выбраны произвольно, лишь для иллюстра- ции алгоритма). На этот раз списки ОТКРЫТ и ЗАКРЫТ снабжены также соответствующими оценками расстояний и связями с другими узлами. открыт 1. Сан-Франциско (0, начало) 2. Рено (200, Сан-Франциско) Санта-Барбара (300, Сан-Франциско) Сан-Бернардино (300, Сан-Франциско) Юджнн (450, Сан-Францнско) Портленд (500, Сан-Франциско) 3. Санта-Барбара (300, Сан-Франциско) Сан-Бернардино (300, Саи-Франциско) Лас-Вегас (350, Рено) Юджин (450, Сан-Франциско) Портленд (500, Сан-Франциско) Спокан (800, Рено) 4. Сан-Бернардино (300, Сан-Франциско) Лас-Вегас (350, Рено) Лос-Анджелес (400, Санта-Барбара) Юджнн (450, Сан-Франциско) Портленд (500, Сан-Франциско) Спокан (800, Рено) 5. Лас-Вегас (350, Рено) Лос-Анджелес (360, Сан-Бернардино) Юджин (400, Сан-Францнско) Портленд (500, Сан-Францнско) Спокан (800, Рено) 6. Лос-Анджелес (360, Сан-Бернардино) Юджин (400, Сан-Франциско) Портленд (500, Сан-Франциско) Спокан (800, Рено) ЗАКРЫТ Сан-Франциско (0, начало) Рено (200, Сан-Франциско) Сан-Франциско (0, начало) Санта-Барбара (300, Сан-Фран- циско) Реио (200, Сан-Франциско) Сан-Франциско (0, начало) Сан-Бернардино (300, Сан-Фран- циско) Санта-Барбара (300, Сан-Фран- цнско) Рено (200, Сан-Франциско) Сан-Франциско (0, начало) Лас-Вегас (350, Рено) Сан-Бернардино (300, Сан-Фран- циско) Санта-Барбара (300, Сан-Фран- циско) Рено (200, Сан-Франциско) Сан-Франциско (0, начало)
10.1. Алгоритмы для нахождения минимального пути 267 Решение достигается на следующем шаге и представляет собой маршрут Сан-Франциско — Сан-Бернардино — Лос-Анджелес. Этот алгоритм лучше предыдущего, поскольку узлы помещаются в список ЗАКРЫТ в порядке убывания их расстояний от начального узла. Вследствие этого любой узел в списке ОТКРЫТ дальше от начального, чем любой узел из списка ЗАКРЫТ. Если можно до- пустить, что при закрытии узла п становится известным истинное расстояние от него до ближайшего узла из So, то решение, которое дает метод равных цен, во всех случаях минимально. Это подтвер- ждается следующей теоремой. Теорема о равных ценах. Метод равных цен дает при закрытии узла п кратчайший путь от So к п и, таким образом, gt (ni)=g(ni) для всех i. Доказательство. Докажем сначала две леммы. Лемма 1. Если любой узел п} € S(h;) помещен в список ОТКРБ1Т, когда узел nt закрыт, или nj уже находится в списке ОТКРБ1Т, и если gi(rtj)<Zg(nj) для любого узла nj, закрытого до щ, то Si(nj) = gi<ni) + e(nt, nj)^gi(ni). (6) Доказательство леммы. Правая часть равенства в (6) есть не что иное, как определение корректировки gt. Так как е(и;, н;Х>0, то лемма доказана. Следствие. Пусть nk — преемник некоторого узла щ и, когда узел nk закрыт, gk(nk)=gj(nll). Кроме того, пусть gj(nj)=g{(nj). Тогда gM>gi(n{). (7) Любой узел Пу, для которого после его закрытия можно указать текущую оценку его расстояния от So, полученную прослеживанием обратно к оценке, основанной на расстоянии узла nt от So, когда тот закрыт, будем называть потомком узла nt. Узел nt будет назы- ваться предком узла nh. Неравенство (7) справедливо для всех потомков nk узла nt. Лемма 2. Если узел п} закрыт после nit то gj (nj)^gi (nt), т. в. порядок, в котором закрываются узлы, соответствует возрастанию их оценок g в момент закрытия узла. Доказательство леммы. Пусть N*— множество уз- лов в списке ОТКРЫТ в момент закрытия узла щ, и пусть пи.— любой узел из N*. Тогда должно быть >£<(«/); (8)
268 Гл. 10. Графовые представления в решении задач в противном случае был бы закрыт узел пк, а не nt. Рассмотрим те- перь любой узел tij, который закрывается после того, как закрыт П(. Если fij— потомок узла nt, то, согласно следствию из леммы 1, (tit). Если п} не является потомком узла пг, то он должен быть потомком некоторого узла nk£N*, который был закрыт после tit, но не был его потомком, причем при закрытии пк было gk(n^= =gt (пк). В этом случае g/ (п,) gk (пк) = (пк) g{ (tit)-, (9) лемма доказана. После закрытия узла /г; можно было бы закрыть еще какой-то узел п}, для которого При этом мы получили бы новую оценку g{tii), а именно g/(«j)+e(«j, «;)• В СИЛУ ДВУХ доказанных выше лемм эта новая оценка должна удовлетворять неравенствам + (10) и, следовательно, значение gt (tit) не изменилось бы. Это значит, что при закрытии узла пг оценка его расстояния до какого-то узла из So была минимальной. Таким образом, обратный путь от п( до его предка из So был кратчайшим, и потому £/(«<) = £(«<)• (И) Теорема доказана. 10.1.3. Упорядоченный поиск Хотя решение, полученное методом равных цен, оптимально, сам поиск решения не оптимален. Это было показано в примере, где на одном из шагов алгоритм рассматривал путь из Сан-Фран- циско в Лос-Анджелес через Портленд. Человек избежал бы этой лишней работы, пользуясь понятиями типа „север", „юг“ и „в общем направлении к...“.Такие критерии для выбора очередного шага не всегда годятся, но часто бывают полезны. Следующий алгоритм упорядоченного поиска основан на подобных идеях. Узел, который нужно раскрыть, выбирается отчасти на основе оценки длины реша- ющего пути (/), а не расстояния его от начальных узлов. 1. Поместить So в список ОТКРЫТ в порядке возрастания оце- нок f(n), п € So. 2. Если список ОТКРЫТ пуст, решения нет. 3 Закрыть тот узел п в ОТ КРЫТ, для которого оценка f (п) ми- нимальна. 4 Поместить S(n) в ОТКРЫТ. Если какой-то узел n*gS(n) уже содержится в ОТКРЫТ, то пересчитать f(n*) при ус-
10.1. Алгоритмы для нахождения минимального пути 269 ловии, что новая оценка, основанная на том, что узел п за- крыт, меньше предыдущей. При вычислении новой величины f (п*) надо пересчитать также величины f для всех потомков узла п* в списке ОТКРЫТ. 5. Перейти к шагу 2. Ясно, что алгоритм имеет смысл лишь в том случае, когда ве- личины fin) определены. Для их определения обычно применяется способ, описанный ниже. Другие алгоритмы можно рассматривать как частные случаи алгоритма упорядоченного поиска, использую- щие подходящие определения f(n). Пусть /(«,•) = 0 при n.es,,, f/(«/)==//(«/)+1 при n^Sitij). Это соответствует алгоритму перебора в ширину. Метод равных цен можно получить, полагая (nk)=g(in^) для всех i, k. 10.1.4. Алгоритм перебора в глубину Для полноты изложения следует упомянуть и четвертый метод поиска на графе, известный как метод перебора в глубину. Это наз- вание объясняется тем, что метод применяется, когда граф является деревом. Вместо того чтобы прослеживать все варианты одновре- менно на одну и ту же глубину, в методе перебора в глубину иссле- дуется сначала один путь до конца, затем другой и т. д. В нашем примере поездки по городам алгоритм перебора в глубину мог бы перейти от Сан-Франциско к Портленду, затем к Сиэтлу, Спокану, Рено и попасть снова в Сан-Франциско. Обнаружив этот цикл, алгоритм вернулся бы к Рено и исследовал другие пути, если они существуют. Затем точно так же были бы исследованы различные пути из Спокана. 1. Поместить все узлы множества So в список ОТКРЫТ в про- извольном порядке. 2. Если список ОТКРЫТ пуст, решения нет. 3. Закрыть первый узел в ОТКРЫТ. Если это целевой узел, задача решена. 4. Поместить преемники только что закрытого узла в список ОТКРЫТ перед узлами, уже содержащимися в этом списке. Если какой-то узел из множества преемников уже есть в списке ОТКРЫТ, то аннулировать все записи его в этом списке, кроме последней. Если какой-то узел из множества преемниковнаходитсяв списке ЗАКРЫТ, тов список ОТКРЫТ его не помещать. 5. Перейти к шагу 2.
270 Гл. 10. Графовые представления в решении задач Алгоритм перебора в глубину может привести к бесконечному поиску, если граф не конечен. В качестве примера рассмотрим граф, изображенный на рис. 10.2. Пусть цель задачи — найти путь от х к у+ (х—у). Возможная последовательность состояний, которую дает метод перебора в глубину, такова: х (х+у)—у (((х + у)~у) + у) — у (((((* + У) ~ У) + У)—У) + У} ~ У и т. д. Этот путь никогда не заканчивается и не содержит пути, ведущего к цели. Обычно, чтобы избежать таких ситуаций, при реализации алгоритма в него включают дополнительный шаг (За), согласно ко- торому преемники узла не следует помещать в список ОТКРЫТ, если узел закрывается на расстоянии не менее k от начального мно- жества. Значение k определяется отдельно для каждой задачи. Хотя этот шаг, несомненно, необходим во всех случаях, связанных с бесконечными графами, он лишает нас возможности общего ана- лиза получаемой программы. В общем случае решение, которое дает метод перебора в глубину, не является ни минимальным, ни наиболее выгодным. Чтобы понять это, рассмотрим снова задачу переезда из Сан-Франциско в Лос-Анд- желес (рис. 10.1) и применим алгоритм перебора в глубину, допол- ненный правилом, предписывающим помещать в список ОТКРЫТ преемники, начиная с самой северной ветви и двигаясь далее про- тив часовой стрелки. Путь, найденный этим алгоритмом, идет из Сан-Франциско в Лос-Анджелес через Портленд, Сиэтл, Спокан, Рено и Лас-Вегас! Это вряд ли оптимальный путь. Учитывая такие недостатки алгоритма, естественно спросить, зачем его вообще нужно обсуждать. Ответ, в частности, таков: „По историческим причинам". Метод перебора в глубину очень легко программируется, поскольку список ОТКРЫТ можно подходящим образом упорядочить, заталкивая и выталкивая магазин (Кнут, 1969). Поэтому методы перебора в глубину привлекали тех, кто хотел получить хоть какой-нибудь результат. По крайней мере один автор признался в этом совершенно недвусмысленно (Слейгл, 1965). Возможна и другая, более тонкая причина. Людям легче реализовать метод перебора в глубину. При методе перебора в ширину в список ОТКРЫТ часто помещается очень много узлов. Это всегда требует некоторой схемы для фиксации связей между уз- лами. А при методе перебора в глубину в ОТКРЫТ обычно содер- жится меньше узлов и они связаны тем порядком, в котором записы- вались в этот список, а не явными указателями. В современных тео-
tO.2. Оптимальный алгоритм упорядоченного поиска 271 риях человеческой памяти (Норман, 1969; Кинтш, 1970) обращается внимание на то, что люди располагают весьма ограниченным объе- мом памяти для оперативной информации и поэтому должны приме- нять те стратегии решения задачи, которые не требуют одновремен- ного запоминания многих фактов. Это, конечно, делает метод пере- бора в глубину более привлекательным. Довод, что метод перебора в глубину выглядит психологически более естественным, не является чисто теоретическим. Ньюэлл и Саймон (1965) заметили, что при игре в шахматы, которую можно сформулировать как задачу поиска на графе, очень хороший игрок пользуется модифицированным методом перебора в глубину. Мы провели ряд экспериментов, в которых испытуемым задавались в явном виде задачи поиска на графе и предлагалось решить их либо методом перебора в глубину, либо методом перебора в ширину. Испытуемые практически всегда справлялись с методом перебора в глубину, но затруднялись при выполнении даже очень простых заданий по методу перебора в ширину. 10.2. Оптимальный алгоритм упорядоченного поиска 10.2.0. Определение эвристической функции Нильсон предлагает при осуществлении упорядоченного поиска определять f формулой Hn) = i(n)+ft(n). (13) Он называет h (п) эвристической оценкой, соответствующей наиболее точному при данной информации о некоторых особенностях узла п представлению о трудности достижения Sg из п. Такое определение f интуитивно оправдано, поскольку, если все наши оценки точны, мы получим g(n)=g(n), h(n)=h.(n), и функция ?(n) = g(n)4-/i(n) = f(«)> (И) очевидно, будет оптимальной. Заметим, что в определении (13) предполагается, что трудность решения задачи при данном частном решении (т. е. приходе в узел п) не зависит от способа достижения частного решения. Нильсон показал также, что некоторые интуитивно обоснованные ограничения на h приводят к интересным результатам. Пусть h (т, п) — стоимость кратчайшего пути из т в п, где ни т, ни п не должны принадлежать ни So, ни Sg. Потребуем, чтобы выполня- лись неравенства h (п) h (п) 0, (15) h(tn) — h(n)^.h(m,n). (16)
272 Гл, 10. Графовые представления в решении задач Поскольку h (п) — „истинная стоимость" перехода от п к Sg, пер- вое ограничение означает, что оценка стоимости перехода от п к Sg неотрицательна и не превышает истинной. Неравенство (16) означает, что подобное ограничение, препятствующее завышению оценки, применяется к стоимости любого участка решающего пути. Алгоритм называется допустимым, если решение, которое он находит, имеет минимальную стоимость. В следующей теореме доказывается, что применение формулы (13) в процедуре упорядо- ченного поиска определяет допустимый алгоритм. Теорема об упорядоченном поиске. Алгоритм упорядоченного поиска, использующий функцию f, определенную формулой (13), где h подчиняется ограничениям (15) и (16), допустим. Доказательство. Алгоритм не может закончить ра- боту до тех пор, пока либо не будет достигнута цель, либо не будут закрыты все потомки узлов, принадлежащих So. Таким образом, если решение существует, оно будет найдено. По определению h(ng)=0 для любого узла ng£Sg. Тогда, сог- ласно (14), й(пг)=0. Пусть узел ng помещен в список ОТКРЫТ после закрытия некоторого узла nt. Тогда fdng)^gi(ng) + 0 = gt(ng) = = ng). Впоследствии f(ng) изменится, только если закроется такой узел nf, что fi(ng)> gj{nj) + e(n,, ng). (18) Здесь нам понадобится одна лемма. Лемма 1. При выполнении условий теоремы g( (ni)=gi (n£). В лемме 1 утверждается, что при закрытии узла определяется его путь минимальной стоимости из Se. Справедливость леммы для случая й(п)=-=0 для всех п уже показывалась: это метод равных цен. Докажем ее для общего случая. Доказательство. Пусть nt— узел, который должен быть закрыт, a N*— множество узлов в списке ОТКРЫТ в это вре- мя. После закрытия пг путь к нему с меньшей стоимостью можно было бы обнаружить, только если бы был закрыт такой узел nk, что ni£S(nk) и §/(«/)>§* («л)+ е(«л> «/)• (19) Покажем, что это невозможно.
10.2. Оптимальный алгоритм упорядоченного поиска 273 Кратчайший путь от So к nk не может содержать tit в качестве промежуточного узла. Допустим противное. Если при закрытии узла nk он является потомком узла пг, то йл (пк)+е (п/,, n{)^gi (п,) + ft (n,, nk) + e(nk, п,) > g, (п,), (20) а это противоречит неравенству (19). Если при закрытии узла nk он не является потомком узла пг, то он должен быть потомком такого узла который не может быть потомком узла пг. Более того, при закрытии nf его новая оценка g не должна оказаться ниже той, что была после закрытия nit т. е. gj (tij)=gi (tij), так как обратное противоречило бы предпо- ложению о том, что «у, а значит, и пк не являются потомками узла n-i. Поэтому ik (nk) + е (nk, tii) + h (tif) = gj (tij) + e {nf, nk) + e (nk, n{) + h (nfi = = й/(«/) + h(tij, nf) + h(n{). (21) В силу (16) gi + h (nj, n,) + h (ni) > gt (tij) + (ft («у) — ft («/)) + ft («/) > >g/(«/) + ft(«/)> (22) Поскольку узел nt был закрыт перед п}, то ft (п}). Отсюда gz(«;) + ft(«z. «/) + ft(«z) >//(«<)• (23) Заменяя левую часть в (23) на левую часть в (21) и вычитая h (tit) из обеих частей, получаем gk (nk) + e(nk, nt) (п;). (24) Таким образом, величина gt (nt) должна быть минимальной, т. е. должна равняться g(nt) при закрытом узле nt. Лемма доказана. Непосредственное применение леммы показывает, что, когда не- который узел ng£Sgзакрыт, fg(ng)=g(иg), т. е. установлена стои- мость кратчайшего пути к этому целевому узлу. Осталось показать, что будет выбираться целевой узел, бли- жайший к So. Применяя лемму 1, получаем, что ни один целевой узел не будет закрыт, пока не будут закрыты прямые предки на пути минимальной стоимости. Более того, по условию (15) при закрытии любого предка целевого узла стоимость пути между предком и ближайшим целевым узлом не завышена. Поскольку все узлы из So в некоторый момент содержатся в списке ОТКРЫТ, ясно, что туда занесен или целевой узел ng, на пути минимальной стоимости с оценкой/(ng,)=g (и м»), или некоторый его предок. В первом случае
274 Гл. 10. Графовые представления в решении задач Па, закроется раньше любого другого целевого узла из списка ОТ- КРЫТ, во втором раньше закроется его предок; при этом ng, или один из его более близких предков помещается в список ОТКРЫТ, и ситуация повторяется. Поэтому никакой целевой узел ng£Sg не будет закрыт до закрытия ng,, и алгоритм должен найти путь мини- мальной стоимости. 10.2.1. Теорема оптимальности Эта теорема устанавливает одно свойство алгоритмов, обеспе- чивающее эффективный поиск оптимального пути. Введем понятие информированного алгоритма. Пусть А и А*— алгоритмы упо- рядоченного поиска, совпадающие во всем, кроме их эвристических функций h и h* соответственно. Будем говорить, что алгоритм А не более информирован, чем А*, если для всех узлов h(n)^h*(n)^0, (25) т. е. если А и А* оба недооценивают h(ri), но оценки алгоритма А* более точны. Теорема оптимальности. Пусть А*— множество алгоритмов упорядоченного поиска, использующих h* и отличающихся друг от друга только способом выбора, который из двух узлов п, и nk, нахо- дящихся в списке ОТКРЫТ с оценками fj(tij)=fj(nk), должен быть закрыт. Тогда А* содержит такой алгоритм А*, что для любого А £ А* узел, закрытый алгоритмом А*, закрывается также и алго- ритмом А. В частности, алгоритм А*, поступающий в случае совпадения значений так же, как А, будет закрывать только те узлы, которые закрывает А. Множество А* оптимально в том смысле, что оно со- держит по крайней мере один алгоритм, закрывающий не более узлов, чем любой алгоритм А (£А*. Хотя само по себе понятие оптимальности интуитивно, теорема менее интересна, чем могла бы быть, судя по названию. В ней ут- верждается лишь, что если ограничиться множеством допустимых алгоритмов, основанных на „непереоценивающих" истинную вели- чинах стоимости достижения решения из данной точки, то лучший из них — тот, который приводит к наименьшей недооценке. Короче, теорема оптимальности верна потому, что каждый алго- ритм на любом шаге стремится закрыть очередной узел на пути ми- нимальной стоимости. Поскольку А оценивает стоимости путей ниже, чем А*, он может исследовать те пути, которые А* отбрасывает, но не наоборот. Формальное доказательство мы приводим ниже, при- чем оно оказывается удивительно утомительным. Хорошее инту- итивное представление об алгоритме можно получить, обратив- шись сразу к примеру.
10.2. Оптимальный алгоритм упорядоченного поиска 275 Доказательство. Сначала нам понадобится лемма. Лемма 1. Если алгоритм упорядоченного поиска закрывает узлы в порядке п0, пи пг, . . ., пь то из i<j следует, 4mofi(ni)^fj(nj). Доказательство. Лемма доказывается индукцией по узлам в том порядке, как они закрываются, т. е. па, пг, п2, ... . Базис индукции. Первый закрытый узел п0 принадлежит So. Рассмотрим любой другой узел «г^50. По определению go(nt)=O, и так как это минимум, то f} (гц)=И. (п;) для любого g Sa. Поскольку узел По был выбран раньше, чем н;, то fo^oXfi(ni), n(£S0. (26) Рассмотрим любой узел иу, помещенный впоследствии в список ОТКРЫТ. По лемме 1, доказанной в ходе доказательства теоремы об упорядоченном поиске, после его закрытия = +h(nj). (27) Так как к п} мы пришли от некоторого узла пг в So, то в силу (15) и (16) f/(ny) = /l(n„ ny) + ft(ny)>/i(n,) —й(пу) + й(пу) >й(п,-). (28) Подставим определение ft (nt) для nt €S0 и применим (26); получим Л(«/)>/о(«о)- (29) что доказывает лемму для па- Индукция. Предположим, что лемма верна для всех узлов до nt-i включительно. Пусть закрывается узел пг. Рассмотрим мно- жество узлов, содержащихся в этот момент в списке ОТКРЫТ, для которых nt не лежит на кратчайшем пути из So, т. е. тех узлов из списка ОТКРЫТ, которые после закрытия не будут потомками узла иг. Это множество либо пусто, либо содержит хотя бы один узел nk, прямой предок па, a<Zi, которого закрыт. Заметим, что лю- бой узел в списке ОТКРЫТ при закрытом пг- должен либо удовлет- ворять условиям для Пц, либо иметь п; в качестве прямого предка, либо иметь в списке ОТКРЫТ предка, удовлетворяющего требова- ниям для пк. Для узла пк it («*) + h(nk) = g(na) + e(na, nk) +h(nk), fl (nk) = gi Ы + (nk) = (30) = /'*(«*)• Поскольку для закрытия мы выбрали щ вместо nk, (31)
276 Г л. 10. Графовые представления в решении задач. Рассмотрим теперь любой узел nj, который либо отсутствовал в списке ОТКРЫТ, когда nt закрылся, либо не удовлетворял опре- делению Когда tij закроется, одним из его предков окажется либо сам tii, либо некоторый узел nk, удовлетворяющий (30) и (31). В первом случае //(«/) = §/ (п,) Н-й («/) = = £/(«/) + h(nl,nf) + h(nJ)^ (32) Во втором случае заменяем в (27) / на k и, применяя (31), находим h (п{). (33) Лемма доказана. Доказательство теоремы. Обозначим через f* оцен- ки, порожденные алгоритмом А*, использующим h*. Поскольку А и А*— алгоритмы упорядоченного поиска, то fg (ng) = f (ng) = ё («g) = fg («g) (34) для всех « ^S-. Никакой узел nt не может закрыться алгоритмом, если h (п{) > f (ng), (35) где ng— целевой узел на пути минимальной стоимости из So. Докажем теорему индукцией по узлам в том порядке, в каком они закрываются алгоритмом А*. Базис индукции. Так как n*^.So, го п*0 помещается в список ОТ- КРЫТ алгоритмами А и Д* на шаге 1. Поскольку Ш)^:(<)сн«г), (36) и алгоритм А должен закрыть ng, то он должен закрыть п'а. Индукция. Предположим, что все узлы до п/ закрыты алгорит- мом Ди/* («*)</ (ng), так что А закроет и п]. Либо nt 6 So, либо п* — потомок узла, закрытого алгоритмами А и А*. В первом случае он содержится в списке ОТКРЫТ с f (n*Xf (ng) и его следует закрыть. Во втором либо сам узел п* был помещен в список ОТКРЫТ алгоритмом Д, либо такой его предок па, что («0Х//(«’) С f(«g)- (37) Следовательно, алгоритм А должен закрыть либо узел п*, либо одного из его предков, прежде чем закроет ng и закончит работу. Алгоритм А должен занести п, в список ОТКРЫТ, и, будучи там,
10.2. Оптимальный алгоритм упорядоченного поиска 277 узел п' должен закрыться раньше, чем ng. Поэтому возможен толь- ко случай равенства /у («/) = //(«/) =/("?)• В этом случае А* либо выберет для закрытия ng и закончит работу, либо сделает неверный выбор. Это будет зависеть от правила пове- дения в случае совпадения значений. Если А* делает неверный вы- бор, то А* содержит другой алгоритм А**, во всем совпадающий с А*, но применяющий правила поведения из А. Пример. Алгоритм упорядоченного поиска может улучшить поиск решения даже при использовании грубой эвристики. Чтобы убедиться в этом, рассмотрим снова задачу нахождения пути от Сан-Франциско к Лос-Анджелесу согласно следующей процедуре: 1. Если общее направление пути — на север, той равняется по- ловине пути, пройденного к северу. 2. Если общее направление пути — на восток, то h равняется четверти пройденного пути. 3. Если общее направление пути — на юг, то /г=0. Решение достигается так (оценка g заменена на /): открыт закрыт 1. Сан-Фраициско (0, начало) 2. Рено (250, Саи-Фраициско) Санта-Барбара (300, Сан-Франциско) Сан-Бернардино (300, Сан-Франциско) Юджин (675, Сан-Франциско) Портленд (750, Сан-Франциско) 3. Санта-Барбара (300, Сан-Франциско) Сан-Бернардино (300, Сан-Францнско) Лас-Вегас (400, Рено) Юджнн (675, Сан-Франциско) Портленд (750, Сан-Францнско) 4. Сан-Бернардино (300, Сан-Франциско) Лас-Вегас (400, Рено) Лос Анджелес (400, Санта-Барбара) Юджнн (675, Сан-Фраицнско) Портленд (750, Сан-Францнско) 5. Лос-Анджелес (360, Сан-Бернарднно) Лас-Вегас (400, Рено) Юджнн (675, Сан-Францнско) Портленд (750, Сан-Франциско) Сан-Франциско (0, начало) Рено (250, Сан-Франциско) Сан-Фраицнско (0, начало) Санта-Барбара (300, Сан-Фран- цнско) Рено (250, Сан-Франциско) Сан-Франциско (0, начало) Сан-Бернарднно (300, Сан-Фран- цнско) Санта-Барбара (300, Сан-Фран- цнско) Рено (250, Сан-Франциско) Сан-Франциско (0, начало)
278 Гл. 10. Графовые представления в решении задач Решение находится на следующем шаге. Открыты только пять узлов вместо шести, открытых методом равных цен. В сложных транспортных задачах использование лишь немного более сложных эвристических функций дает потрясающие резуль- таты. Примером служит задача нахождения пути для вездехода. Пусть он находится в точке х и стремится прийти в точку у. Вез- деход может двигаться с разными скоростями по проселочным дорогам, полям, бездорожью. Требуется как можно скорее попасть из х в у. Поскольку h(n)— эвристическая функция, определим ее как время движения из точки п в х по наилучшей возможной дороге в предположении, что соответствующий прямой путь существует. Эта эвристика использовалась при исследовании]) тактического планирования с помощью ЭВМ для движения военных подразделений, причем оказалось, что она сокращает время работы программы в 100 раз, а в некоторых случаях и больше. 10.3. Деревья и их применение 10.3.0. Определения Деревом называется направленный граф, содержащий един- ственный выделенный узел, называемый корнем, в который не входит ни одной дуги. В любой другой узел такого графа входит /V" Д V __________ Внутренний /1\ |\ О О О О О *— //истья Рис. 10.3. Дерево. в точности одна дуга. Циклы и петли (дуги, выходящие из какого- нибудь узла и входящие в него же) запрещены. Узлы, из которых не выходит ни одной дуги, называются листьями', узлы, имеющие и входящую и выходящую дуги, называются внутренними (пример такого графа приведен на рис. 10.3). Правда, вопреки „древесной'* терминологии такой граф представляет собой множество скорее родового, нежели растительного происхождения; это видно из того, что нижележащие узлы являются потомками, а вышележа- щие — предками. Заметим, что любой узел дерева будет корнем ]) Эти исследования составили диссертацию О. К. Фиппса в области вычи- слительных наук.
10.3. Деревья и их применение 279 поддерева, состоящего из этого узла и его потомков. Учитывая это, мы иногда будем говорить о поддереве, начинающемся из узла п. Деревья используются в искусственном интеллекте двумя спо- собами: для представления задач, решаемых сведением к подзадачам, и для моделирования ходов в формальных играх. В первом случае концевые точки дерева (т. е. листья) должны достигаться до того, как задача решена... по крайней мере до решения ее в наиболее очевидном представлении. Во втором случае, т. е. в игровых графах, дерево раскрывается постепенно, без возвращений назад, поскольку сделанный ход избавляет игрока от необходимости исследования альтернативных ходов. В обоих случаях нельзя непосредственно применять только что изложенные алгоритмы поиска в пространстве состояний. Вместо этого обычно применяются специальные алго- ритмы поиска на дереве. В дальнейшем, однако, мы увидим, что это не всегда обязательно. 10.3.1. Деревья сведения задачи к подзадачам Основную идею построения дерева сведения задачи к подзадачам можно продемонстрировать на примере нахождения неопределенного интеграла = (38) Дерево решения изображено на рис. 10.4. Можно было бы пред- ставить числитель в (38) в виде (х—I)2 и сократить со знамена- телем, что дало бы более простое эквивалентное выражение К(х) = § (х— \}dx. (39) С другой стороны, можно было бы воспользоваться равенством (a+b)/c=a/c+b/c. Тогда F (х) = J [х2/(х— 1) + 2х/(х—1)4-1 /(х— 1)]dx. (40) (39) и (40) являются ИЛИ-подцелями исходной задачи (см. рис. 10.4). Каждая из них в свою очередь имеет свои подцели. Интеграл (39) можно вычислить как сумму его частей, при условии что решения (х) ~ J х<^х (41) и (х) = $ dx (42)
280 Гл. 10. Графовые представления в решении задач можно найти. Интегрирование (40) дает дерево несколько более сложных подцелей. Заметим, что (41), (42) и дерево выражений, составляющих (40), следует определить раньше, чем будут решены те задачи, которые их породили. Следовательно, эти подзадачи являются И-подцелями порождающей цели. Наконец, рассмотрим интегралы (41) и (42). Они представляют собой непосредственно решаемые задачи, т. е. задачи, решение которых можно получить, не порождая никаких подцелей. (В данном случае решения можно найти в таблицах интегралов.) Идея решения задачи с помощью графа состоит в том, чтобы раскрывать его до тех пор, пока не будет найдена непосредственно решаемая задача. Она становится листом дерева, и, когда она достигается, записывается ее решение. Затем решающая программа вводит это решение в качестве составляющей во все возможные задачи высших уровней, отмечая, если надо, каждую решенную задачу более высокого уровня. В качестве иллюстрации рассмотрим программу, которая постепенно порождает подзадачи, отмечает их связь с задачей-предком и после того, как подзадача поставлена, проверяет ее по таблице интегралов. После того как образован интеграл §xdx, программа запомнит его решение и, продвигаясь в обратном направлении, найдет, что это — одно из решений, необходимых для решения И-подзадачи задачи (х—l)dx. Затем программа сформирует интеграл \dx, который также есть в таблице
10.3. Деревья и их применение 281 интегралов. Этим кончится решение множества И-подзадач. Следо- вательно, после соответствующего объединения их порождающая задача будет решена. Затем программа обнаружит, что она решила ИЛИ-подзадачу, т. е. главную задачу, которую отметит как ре- шенную; на этом работа программы заканчивается. Какими свойствами мы хотели бы наделить программу поиска графов сведения задачи к подзадачам? При каждом ветвлении типа ИЛИ программа должна выбирать наиболее легкую подзадачу. Для этого программа должна иметь какой-нибудь способ оценки сложности задачи. Эвристическая функция h обеспечивает этот механизм при решении задач в пространстве состояний; для поиска на дереве нужна аналогичная функция. В некоторых ситуациях одна подзадача может быть составляющей нескольких подзадач более высокого уровня. Программа должна обнаружить этот факт и решить повторяющуюся задачу только один раз. Для примера рассмотрим вычисление двойного интеграла !/) = И (3f/ + 4)(%—2)dxdy = = J $3г/(х—2)dx + 4J(x—2)dx dy. (43) У Lx Выражение \ (x—2)dx встречается дважды. Если бы прямой метод раскрытия и решения подзадач, который применялся в пре- дыдущем примере интегрирования, применялся и здесь, это выра- жение было бы проинтегрировано дважды, что, очевидно, излишне. С другой стороны, потребовались бы значительный объем памяти для хранения решенных подзадач и создание механизма извлечения информации, чтобы определить, не является ли „новая" подзадача в действительности старой (для обсуждения некоторых технических публикаций по этой теме см. работу Гелернтера и Рочестера, 1958). Другая проблема, возникающая в связи с многократным вхожде- нием подзадач, заключается в том, что надо учитывать как труд- ность, так и важность подзадачи. Часто решение трудной подза- дачи, составляющей часть многих задач более высокого уровня, может оказаться рациональнее, чем постепенное решение легких задач. В случаях когда решение некоторой подзадачи — неизбеж- ный этап решения главной задачи, этот вопрос, очевидно, не воз- никает. Предлагались различные алгоритмы для эффективного поиска на графах сведения задачи к подзадачам. Приведем решение, которое дали Ченг и Слейгл (1971); в нем поиск на дереве рассматривается как особый случай задачи нахождения эффективного пути от на- чального состояния к целевому в пространстве состояний. Эле- гантность этого алгоритма проявляется в том, что как только со-
282 Гл. 10. Графовые представления в решении задач вершен переход от деревьев к графам пространства состояний, доказательство допустимости и оптимальности алгоритма вытекает непосредственно из доказательства допустимости и оптимальности алгоритма эвристического поиска, описанного в предыдущем раз- деле. В основе алгоритма лежит тот факт, что если дерево решения задачи содержит ветвления только типа ИЛИ, то путь от корня к каждому листу есть решение исходной задачи (для ясности сове- туем проанализировать рис. 10.4). Далее, граф сведения задачи к подзадачам можно рассматривать как граф задачи в пространстве состояний, если возможно такое представление исходной задачи, при котором она содержит ветвления только типа ИЛИ. Тогда для нахождения пути от корня до ближайшего листа можно при- менить метод эвристического поиска, оптимальность которого для решения задач в пространстве состояний уже доказана. Как и прежде, надо определить эвристическую функцию h(x) для всех таких подзадач х, что h (x)^h (х), где h (х) — „истинная" трудность решения подзадачи. Нам нужна процедура преобразования дерева сведения задачи к подзадачам в граф, в котором все узлы, кроме непосредственно соединенных с листьями, имеют ветвления типа ИЛИ. Листья будут конъюнкциями „основных" подзадач, таких, что если решить все эти подзадачи, связанные с некоторым узлом дерева, то полу- чится решение исходной задачи. Надо определить подходящие функции для прохождения графа. Пусть трудность решения задачи у из множества Y не зависит от трудностей решения остальных задач из этого множества; тогда трудность решения задач всего множества Y равна h(Y)~ 2 h(y). (44) у е X Если А удовлетворяет указанным выше требованиям эвристиче- ской функции, то й(Г)= 2 h(y)^h(Y). (45) у е У Под стоимостью е(х, у) перехода от задачи х к какой-то из ее подзадач у будем понимать стоимость выяснения того, что подзадача у действительно составляет часть задачи х. Тогда, если существует путь Хо, Xi...хп=у от корня к подзадаче у, стоимость выявления подзадачи у равна п— 1 g(y) = 5 е(х{, х/+1). (46) 1 = 0
10.3. Деревья и их применение 283 Необходимые конъюнкции подзадач, соответствующие листьям, можно выразить алгебраически. Предположим, что задачу А можно решить, если решены либо подзадачи В и С, либо D и (С или В), т. е. 4 = (B-C)U(D-(CUB)). (47) Равенство (47) можно переписать в виде Д = (ВС)и(Р-С)и(В-П). (48) Если какая-нибудь из конъюнкций решена, то решена задача А. Это преобразование изображено на рис. 10.5. Рис. 10.5. Преобразование дерева сведения задачи к подзадачам в граф, в котором все внутренние узлы, не соединенные непосредственно с листьями, являются ИЛИ-узлаыи. Теперь займемся преобразованием дерева решения задачи. Пусть исходная задача будет корнем дерева. Следующие узлы вы- деляем, записывая корень или другой узел в терминах подзадач и приводя соответствующее соотношение к дизъюнктивной нор- мальной форме, как в (48). На каждом шаге для выбора следующего раскрываемого узла (подзадачи) используется функция f-g + h, (49) где g и h определены выше. Если подзадачу можно решить сразу, она помечается словом верно. Исходная задача решена, если один из членов в дизъюнктивной нормальной форме этой задачи состоит только из верных подзадач. На рис. 10.6 показан граф решения абстрактной задачи X с повторяющимися подзадачами. Каждой подзадаче (некорневому узлу) приписывается эвристическая оценка трудности решения. Будем считать, что стоимость выделения задачи как части задачи более высокого уровня равна 1. Работа алгоритма состоит в сле- дующем: Запишем задачу X через ее подзадачи, т. е. Х = (ЛВ)иС. (50)
284 Гл. 10. Графовые представления в решении задач Вначале поместим эти составляющие с их оценками стоимости решения в список ОТКРЫТ: ОТКРЫТ = {(Л -В, 6), (С, 6)}. (51) Допустим, что мы выбрали подзадачу А-В. Представим ее в виде A-B = D-(El)F) = (D-E)U(D-F). (52) Тогда ОТКРЫТ = {(D-Е, 3), (D-F, 4), (С, 6)}. (53) D — непосредственно решаемая задача, так что она помечается словом верно и удаляется. В результате ОТКРЫТ = {(Е, 3), (F, 4), (С, 6)}. (54) Далее находим, что задача Е эквивалентна D. Поэтому, если решена задача D, то решена и Е. Так как задача D решена, то один из X Рис. 10.6. Решение абстрактной задачи. Число рядом с буквой указывает оценку трудности (Л) задачи. Стоимость каждой дуги равна 1. (Задача взята из работы Ченга и Слейгла, 1971, стр. 123.) членов дизъюнктивной нормальной формы исходной задачи также решен, а отсюда следует, что и исходная задача решена. Этот алгоритм обеспечивает действенный и эффективный поиск на графах сведения сложных задач к подзадачам.
10.3. Деревья и их применение 285 10.3.2. Деревья игр В чисто конфликтной ситуации два противника делают ходы и контрходы, приближаясь к конечной ситуации, желательной только для одного из них. Если ставки невелики и правила точно определены, мы называем это игрой. Деловые отношения, конф- ликты между людьми, войны сходны с играми, хотя допустимые ходы, правила определения преимущества или ущерба и сами рамки таких серьезных конфликтов обычно нечетки. Тем не менее заманчиво считать задачи принятия решений в реальных жиз- ненных ситуациях, содержащих конфликт, играми; это позволило бы анализировать их математически. Так как в некоторых важных типах конфликтов необходимо быстро принимать решения, тре- бующие обработки огромного объема данных, и так как любой процесс принятия решения с помощью ЭВМ должен быть матема- тически обоснован, то вопрос о том, как ЭВМ должна разыгрывать сложные игры, очень важен для практики J). Кроме того, и игры, и работа с ЭВМ являются своего рода вызовом человеческому интеллекту. Довольно трудно научить ЭВМ хорошо играть в ин- тересные игры, но именно эта трудность и может доставить удоволь- ствие некоторым из нас. Формально мы будем заниматься вычислимыми стратегиями для игр двух лиц с нулевой суммой и с полной информацией (Льюс и Райфа, 1957). Менее формально мы будем рассматривать задачу программирования стратегии поведения для условной игры на доске при следующих правилах: два игрока ходят по очереди, выбирая ходы из заданного множества возможных ходов; любой проигрыш материала, позиции в игре для одного партнера яв- ляется прямым выигрышем для другого; каждый ход сразу же становится известен; результат каждого хода детерминирован. Последнее означает, что позиция игроков в результате предложен- ного хода полностью предсказуема в отличие от предсказуемости с точностью до случайного события. В качестве иллюстрации по- следнего ограничения можно привести разновидность игры в шашки, в которой ходы не детерминированы. Пусть, например, съеденная шашка снимается с доски только после того, как бросается иг- ральная кость и выпадает 4 или больше; ясно, что результат хода можно предсказать только с некоторой вероятностью. Можно было бы расширить обсуждение и рассмотреть вероятностные исходы, но это уведет нас от искусственного интеллекта в область теории игр. Игру двух лиц с нулевой суммой можно представить серией поочередных ходов партнеров, пока не будет достигнута одна из 1) Мы будем обсуждать технические проблемы, связанные с игровой моделью, считая, что эта модель нас удовлетворяет. Рапопорт (1960, 1964) рассматривает моральное и философское значение самой модели.
286 Гл. 10. Графовые представления в решении задан заключительных позиций. Каждой заключительной позиции при- писывается число, которое можно назвать исходом игры. Игрок А стремится максимизировать исход, игрок В — минимизировать его. Во многих ситуациях можно просто приписать +1 всем за- ключительным позициям, выигрышным для А, —1 всем заклю- чительным позициям, выигрышным для В, и 0 для ничьих. Стра- тегия минимакса считается разумной фактически для всех таких игр. Грубо говоря, всегда надо играть так, как будто противник ответит на ваш ход наилучшим для него способом. Другими сло- вами, после вашего хода противник может заставить вас понести потери, и размер этих потерь зависит, естественно, от того, на- сколько искусно он выбрал свой ход. Безопаснее всего рассчиты- вать на то, что противник может ответить своим лучшим ходом. Поэтому при определении хода вы должны выбрать тот, который минимизирует максимальные потери от следующего хода против- ника. Отсюда и происходит название — стратегия минимакса. В качестве примера рассмотрим игру, заданную в матричной форме в табл. 10.1. Ее можно интерпретировать так. Каждый из Таблица 10.1 Упрощенная игра в матричной форме Ходы игрока В Ходы игрока • в\ B2 41 10 4 А2 5 6 игроков А и В выбирает один из двух ходов {41, А2} и {Bl, В2] соответственно. Цена игры определяется выбором обоих игроков. Так, при ходах 41, В2 цена игры равна 4. Пусть игрок 4 ходит первым. Как он должен пойти? Ответ: 42, так как если сделан ход 41, то В, имея возможность выбрать цену 10 или 4, предпочтет, конечно, 4, а если сделан ход 42, то минимально возможная цена игры равна 5. Эту игру можно представить также и в виде дерева (рис. 10.7). Отметим квадратами узлы, представляющие ходы игрока 4, кру- жочками — ходы игрока В. Листья отмечены числами, показыва- ющими исходы игры. Поставим теперь вопрос: Какова цена этой игры для 4? Мы уже знаем, что 4 может гарантировать себе исход, равный 5. Вы- числим эту величину заново по рис. 10.7, чтобы проиллюстрировать метод, пригодный и для более сложных игр. Метод работает в об-
10.3. Деревья и их применение 287 ратном направлении, начиная от исходов игры. Исходам непосред- ственно предшествует ход игрока В. Какова цена каждого из этих ходов? Поскольку каждая позиция представляет выбор для В, а В пытается минимизировать результат этого выбора, то цена позиции, разумеется, равна наименьшему из исходов, которых В может достичь из этой позиции. Поэтому, если множество исходов для В — {10,4}, то он выберет 4. Величина, определяемая таким спо- собом, называется обращенной ценой позиции. Обращенные цены позиций показаны в скобках рядом с узлами на рис. 10.7. Для того чтобы установить обращенную цену позиции игрока А, надо просто Рис. 10.7. Дерево игры, заданной в табл. 10.1. повторить операцию, отправляясь от известных теперь обращенных цен позиций игрока В и находя максимумы вместо минимумов, поскольку А стремится максимизировать исходы. В рассматрива- емой тривиальной игре первый (и единственный) ход игрока А предоставит В позиции с ценами 4 и 5. Поскольку А стремится максимизировать исход, цена выбранной им позиции (а значит, и всей игры) равна 5. Идея метода применима ко всем играм на доске. Можно пред- ставить себе, что мы исследуем все допустимые дебютные последо- вательности ходов в шахматах, все возможные ответы на них и т. д. до тех пор, пока не находим гарантированную выигрышную последовательность ходов, если такая существует. Если ее нет, это тоже станет известно. Смысл игры в шахматы пропадет. К сча- стью для любителей шахмат, на практике такой метод совершенно непригоден. В наиболее интересном случае в шахматах достаточно рассмотреть 20 дебютных ходов и 20 ответов на них. По оценке Минского, соответствующее дерево состоит из 10120 узлов — го- раздо больше, чем в состоянии просмотреть человек или ЭВМ. В практической программе для игры должна определяться стра- тегия, т. е. в высшей степени избирательный поиск содержательных последовательностей ходов, допускающий возможность того, что правильный ответ не будет найден.
288 Гл. 10. Графовые представления в решении задач Одна из таких простых стратегий — просмотр на п шагов вперед. Предположим, что в некоторой незаключительной позиции очередь хода за игроком А. Он рассматривает все возможные ситуации, достижимые за п шагов, где п выбрано достаточно малым, чтобы с получившимся деревом еще можно было работать. Незаключитель- ные позиции в дереве для п шагов затем оцениваются с помощью эвристической функции, которая каждой позиции, достижимой за п шагов, приписывает „предсказуемый исход". Если заключительная позиция достижима, производится прямое вычисление. Для неза- ключительных позиций, однако, требуется найти метод их оценива- ния без исследования оставшейся части игры. Такой метод, несом- ненно, должен учитывать специфику игры. Например, в шашках можно использовать функцию цена = 6 (число своих дамок — число дамок противника)+ +4 (число своих простых шашек — число простых (55) шашек противника). Возможности просмотра на п шагов вперед сильно зависят от того, насколько удачно выбрана оценочная функция. Проиллюстрируем этот метод и ловушки, которые ставит выбор плохой функции, показав, как можно, стремясь к выигрышу в игре „крестики и нолики", запрограммировать тем не менее проигрыш. Будем использовать просмотр на 1 шаг вперед. Для оценки позиции Р/) берем функцию f (Р) = (число прямых, на которых возможен выигрыш для крестиков) — (число ана- (56) логичных прямых для ноликов). Игрок А ставит X и стремится максимизировать f(P)- Игрок В ставит 0 и стремится минимизировать f (Р). Начальная позиция Р — чистая доска. Pi, ..., Рв — позиции на доске с единственным кре- стиком в одной из клеток. Если сосчитать их по положениям х в принятом порядке перечисления, то получим для Рг, Рь и Р«: X------ Pi------------f(P1) = 3 *) Pj обозначает позицию, возникающую после Р; Рц— позицию, возни- кающую после Р{, и т. д.
10.3. Деревья и их применение 289 (так как прямые можно провести по диагонали, горизонтали и вертикали от крестика), Рв - X - /(Рв) = 4, Р6 --Х f(Pe) = 2. Так как /(Р5)— максимальная цена для множества Ръ ..., Р„ то А выбирает Рь. Игрок В может теперь выбирать из 8 ходов Рв1, •••> Ри, Лв.....Рв,- Например, О------ Р» -X- / (РВ1) = 3 —2—1. Все эти позиции имеют цену 1, поэтому можно считать, что выбор для В безразличен. После этого у А есть 7 ходов, некоторые из них имеют максимальную цену 2. Пусть сделан выбор О------ Pri8 X / (Р Bls) = 2; — X — у В теперь есть 6 ответов. То, что В должен сделать ход 0 0 — Pfiisa X f (Psiea) = h — X — „ясно для всех", но не для функции! Для сравнения: 0-0 Рб1вЗ X / (Рб1вз) 3 0. — X — Ведь если В минимизирует f (Р), он выберет РВ183, и А следующим ходом выигрывает! Поскольку человек не должен проигрывать в „крестики и но- лики" (если ему больше 8 лет), такая функция f не годится для оценки позиции. Эти случаи несостоятельности правильных ме- тодов характерны для игры в „крестики и нолики". Существует, однако, и другой метод для этой игры, демонстрирующий тип не- верного суждения, которое может появиться в общем случае по- 10 Э. Хант
290 Гл. 10. Графовые представления в решении задач иска на дереве. При составлении оценки сначала А исследует девять позиций, затем В — восемь, затем А — семь и т. д. до общего числа 9+8+7+6+5=35 позиций. Если применяется просмотр на 2 шага вперед, это число увеличится до 9-8+7-6+6-5=144. Но ведь это очень простая игра! Одна из наиболее сложных проблем, возникающих при напи- сании игровых программ, состоит в том, чтобы избежать просмотра бесперспективных путей и связанной с этим потери времени. Среди методов поиска, рассчитанных на это, наиболее широко распро- странена альфа-бета-процедура J). Она основана на идее о том, что не следует продолжать исследование некоторого множества путей, если можно показать, что все они хуже какого-либо другого, уже исследованного пути. Этот метод можно проиллюстрировать, не углубляясь в детали конкретной игры, так как альфа-бета-проце- дура позволяет осуществлять поиск на любом дереве игры. Рас- смотрим абстрактную игру, схема которой приведена на рис. 10.8. Число 10 соответствует выигрышу игрока А, —10 соответствует выигрышу игрока В. Для того чтобы найти общую эвристическую функцию, сделаем интуитивно разумное допущение о том, что игрок может определять среднюю цену позиций Pt, достижимых из Р, не анализируя каждую из следующих позиций. Таким образом, эвристическая оценка позиции Р с k следующими за ней позициями равна к <57) 1= I если Р — не концевая точка. Если же Р — концевая точка, то значение/(Р) положим равным этому исходу. На рис. 10.9 каждый внутренний узел Р дерева помечен его истинным значением f (Р), если дерево рассматривается полностью и все узлы оцениваются по формуле (57). Применим альфа-бета-процедуру к такому дереву игры, ис- пользуя при этом просмотр на два шага вперед. На каждом шаге игрок исследует свои возможные ходы, ответы противника и воз- никающую в результате конфигурацию игры. Он вычисляет f(P) для каждой конфигурации, полученной таким образом, и по пра- вилу минимакса вычисляет обращенную цену каждой позиции. Узел не рассматривается, если известно, что значение /(Р) в нем не будет в конечном счете участвовать при выборе хода. Сейчас станет ясно, как это можно предсказать. Возьмем первый ход игры, представленной на рис. 10.9. При просмотре вперед А всегда про- >) По существу эта процедура была разработана советским математиком Г. М. Адельсоном-Вельским до того, как получила на Западе свое название.— Прйм. ред.
Рис. 10.8. Информация игрока А об игре после первого его хода. Рис. 10.9. Полное дерево некоторой гипотетической игры; приведены значения оценочных функций. 10
292 Гл. 10. Графовые представления в решении задач веряет ветви слева направо. Обозначим соответствующие ходы А1, А2, ... и Bl, В2, ... в этом же порядке. А замечает, что если он делает свой первый ход по левой ветви (А 1), то В может выбирать из множества оценок позиций {—5, 5, 10}. А предполагает, что В будет минимизировать цену по этому множеству, и потому приписы- вает ходу А1 цену —5. Поскольку это лучший ход для А, известный к текущему моменту, число —5 считается альфа-отсечением. Затем А обращается к ходу А2. Обнаруживается, что если А делает ход А2, то В отвечает ходом В1; цена этой последовательности будет равна —7. Это меньше альфа-отсечения. Практически это означает, что безотносительно того, какие у В еще есть возможности ответить на ход А2, он всегда причинит А больший ущерб, чем в ответ на ход Л1. Поэтому другие ответы на ход Л 2 не следует рассматри- вать, так как известно, что Л1 предпочтительнее, чем А2. Перехо- дим к ЛЗ. Контрходы В1 н В2 на ЛЗ превышают альфа-отсечение, однако последовательность ЛЗ, ВЗ приводит Л к позиции (—10), худшей, чем та, которая могла бы получиться при ходе Л1. По- этому Л выбирает ход Л1. Теперь Л располагает неполным знанием о дереве игры; это изображено на рис. 10.8, где приведены позиции, фактически оцененные игроком Л, и их цены. В теперь просматривает два хода вперед после позиции Pt. Напомним, что В стремится минимизировать исходы. Если В сде- лает ход В1, игра перейдет в позицию Рц. В исследует позиции, возникающие после Рц, и обнаруживает, что их максимальная цена равна 0. Разумеется, Л добьется этого, если сможет, поэтому цена позиции Рц для В равна 0. Это пока наименьшая цена, поэтому она считается бета-отсечением. В обращается теперь к позиции Р12, возникающей после хода В2. Если в ответ на В2 делается ход Л1, то возникает позиция Р121 с ценой 10. Это превышает бета- отсечение и показывает, что у Л против хода В2 есть ответ, нано- сящий В больший ущерб, чем самый лучший ход против В1. По- этому В2 можно исключить из рассмотрения. По этим же причинам не рассматривается и ВЗ (позиция Р13). На рис. 10.10 суммированы знания об игре, которыми располагает к этому моменту В. Выби- рается ход В1 и наступает очередь игрока Л делать ход в позиции Рц. На этот раз Л может осуществить просмотр до концевых точек и увидеть, что независимо от того, как он сыграет, В может до- биться выигрыша. Поэтому Л сдается. В связи с этим примером необходимо отметить следующее. Пер- вое и самое важное: рассмотрены лишь немногие из всех возможных ходов. Второе: картина игры меняется по мере ее развития. Если бы мы вычислили / (В) для всего дерева (как на рис. 10.9), оказа- лось бы, что начальная позиция предпочтительнее для Л. В ходе игры, однако, положение складывается в пользу B(/(Bj)=—4), затем выравнивается (/(Вц)=0) и в конце концов оказывается, что победа за В. Третье, очень существенное: эффективность и
10.3. Деревья и их применение 293 обоснованность альфа-бета-процедуры, как и любой игровой про- цедуры, зависит и от того, как выбрана эвристическая оценочная функция f, и от глубины просмотра вперед. Если бы игрок А осу- ществлял более глубокий просмотр или, допустим, использовал лучшую эвристическую функцию, результат игры мог бы быть другим. Если для читателя это не совсем ясно, предлагаем ему воспроизвести игру, пользуясь другими эвристическими функ- циями и другой глубиной просмотра вперед. Пример демонстрирует также основные отличия поиска на дереве игры от поиска на графе решения задачи. В играх нет возврата назад; сделанный ход исключает возможность возвращения к дру- Рис. 10.10. Информация игрока В об игре (В делает свой первый ход). гнм позициям, которые можно было бы выбрать. Это означает, что алгоритмы поиска в пространстве состояний здесь не подходят. По мере продвижения по дереву и приближения к концевой точке наши эвристические оценки цены позиции, вероятно, будут улуч- шаться. Но и при этом в какой-то момент мы должны полагаться на оценки, зависящие от усреднения по ряду неточно исследованных возможностей. Поэтому Слейгл и Диксон (1970) предложили в дополнение к использованию стратегий минимакса и усреднения увеличивать цену позиции, если она открывает "возможности для нескольких продолжений. Это оправдывалось тем, что, достигнув такой позиции и имея возможность лучше оценить эти продолже- ния, мы с большей вероятностью найдем среди них хорошее, если нх много. Известные правила такого рода основаны на изменении оценок позиций, произведенном до получения обращенных цен (Слейгл, 1971). Применяя альфа-бета-процедуру для того, чтобы не исследо- вать бесперспективные пути, можно повысить ее эффективность, упорядочивая поиск так, чтобы окончательное отсечение выясня-
294 Гл, 10. Графовые представления в решении задач лось на ранних этапах поиска. Чтобы убедиться в этом, читатель может сравнить число узлов, раскрытых в примере, со значительно большим числом узлов, которые мы раскрывали слева направо. Предложен ряд процедур динамического упорядочения, цель кото- рых — обеспечить наиболее раннее нахождение точки отсечения. Эту проблему подробно обсуждает Слейгл (1971). Он также пред- лагает методы динамического изменения глубины просмотра вперед для перспективных и неперспективных путей. В заключение приведем некоторые комментарии по поводу игры ЭВМ в конкретные игры. Для большинства реальных игр альфа- бета-процедуры, даже включающей динамическое упорядочение, недостаточно для уменьшения до разумных пределов числа ходов, которые надо рассмотреть. Поэтому в программу обычно вводится специальный блок, „предлагающий ходы". Он выделяет ходы, направленные на достижение некоторой разумной цели в игре. Примеры из шахмат: безопасность короля, овладение центром, материальное превосходство. Ходы, которые надо рассмотреть, выбираются из множества ходов, порожденного таким блоком, а не из всего множества возможных ходов. Это значительно умень- шает число ходов, которые надо рассмотреть. В идее такого блока заложено также то, что хорошая программа конкретной игры будет приспособлена специально к ней, поскольку программа должна содержать много сведений о данной игре. Это в особенности отно- сится к шахматам, наиболее подробно изученной игрет). Чаще всего упоминающаяся американская шахматная программа „Мэк- Хэк“, созданная в МТИ, как и большинство современных про- грамм, хороша тем, что содержит большие массивы данных о воз- можных ходах для применения их в различных ситуациях (Гринб- латт и др., 1968). Другими словами, хороший шахматист знает много о шахматах. Спорным пока является вопрос о том, каким образом программа должна приобретать эти знания. Один путь, 1) Теперь регулярно проводятся шахматные турниры между людьми и ЭВМ, а также между самими ЭВМ. Сообщения об интересных партиях появляются в новостях, издаваемых специальной группой по искусственному интеллекту при Ассоциации по вычислительной технике. Прогресс в области машинной шахмат- ной игры в конце 60-х годов обусловлен в большей степени возможностью поль- зоваться более совершенными языками программирования, более тесным контак- том со специалистами игры в шахматы и ббльшим быстродействием вычислитель- ной техники, чем успехами в поиимаиии того, как следует играть. Основные идеи известных нам шахматных программ изложены в статье Ньюэлла, Эрнста и Шоу (1963), которая содержит также обзор работ, выполненных до 1960 г. Зобристи Карлсон (1973) обсуждают более поздние исследования и приводят интересные примеры и комментарии одного из шахматных специалистов. (Как показал Между- народный чемпионат шахматных программ в Швеции в 1975 г., советская програм- ма «Каиссаж, иаписаииая В. Арлазаровым, М. Донским и др., оказалась сильней- шей. Одним из серьезных продвижений в «Каиссе» было включение в перебор по дереву возможности узнавать позиции, близкие к уже изучавшимся в процессе перебора.— Ред}
10.3. Деревья и их применение 295 несомненно, состоит в том, чтобы добавлять некоторые записи в исходную программу. Это до некоторой степени уже осуществлено. Большинство шахматных программ содержат последовательности ходов и контрходов для стандартных защит. Ситуация в миттель- шпиле сложнее из-за огромного числа возможных позиций. Один из подходов к решению этой проблемы — представить ее как задачу распознавания образов. Программа обычно играет много партий сама с собой или с человеком. Встречающиеся позиции записываются и предпринимается попытка найти правило класси- фикации, чтобы определить, когда тот или иной ход целесообразен. Это оправдало себя при создании программ, играющих в шашки (Сэмюэль, 1967). Зобрист и Карлсон (1973) предложили, чтобы в более сложной шахматной игре противником был опытный игрок и чтобы у него была возможность „обращать внимание" обучаемой машины на ключевые особенности различных позиций на доске, в то время как программа накапливает опыт и оценивает его. В реальных играх большую роль играет понятие статической позиции. Некоторые позиции существенно нестабильны и их не следует оценивать до разрешения этой нестабильности. Например, в шахматах не имеет смысла делать такие оценки в ходе размена ферзей, надо сначала завершить размен. Программы, играющие в шахматы, часто осуществляют предварительный просмотр до сле- дующей статической позиции, а не в точности на п шагов вперед. Ньюэлл и Саймон (1965, 1972) и Де Гроот (1966) противопостав- ляли человеческую и машинную игры. Де Гроот, в частности, исследовал игру многих шахматных мастеров. Он заметил, что их игра стереотипна, и предположил, что она по меньшей мере пред- ставляет особое умение, которое так же сильно зависит от знания шахматной литературы, как и от владения общими игровыми стра- тегиями. Ньюэлл и Саймон, однако, считают, что наблюдаемые ими игроки обнаруживают по крайней мере зачатки элементов игровых программ, в особенности правило минимакса и идею про- смотра до статической позиции. Основное различие между игрой человека и алгоритмами, которые мы обсуждали, состоит в том, что людям, видимо, свойственна некоторая инертность: если уж они начали разрабатывать какую-то линию игры, они продвига- ются по ней достаточно глубоко и лишь затем возвращаются назад, чтобы проверить, не помешает ли им противник. Таким образом, оказывается, что люди более, чем хорошо запрограммированная ЭВМ, расположены к методу перебора в глубину. Большинство методов программирования игры в шахматы основано на предположении о том, что оценивание шахматной позиции требует так много времени, что о прямом переборе воз- можных позиций не стоит и говорить. Заставить нас снять этот аргумент могли бы два усовершенствования: развитие вычисли- тельной техники, которое позволит проводить очень быстрый поиск,
296 Гл. 10. Графовые представления в решении задач и/или создание легко программируемого способа оценивания пози- ции. Есть основания считать, что оба эти события могут произой- ти ’). Гиллогли (1972) сообщил об удивительно эффективной шах- матной программе, применяющей прямой перебор, а алгоритм оценивания был разработан Хансом Берлинером, чемпионом мира по игре в шахматы по переписке! Аналогичный подход избрал советский гроссмейстер Ботвинник (1970), возможно, самый луч- ший игрок, активно занимающийся шахматными программами. Программа, предложенная Ботвинником, основана на употреблении сложных оценок, а не на запоминании предыдущих позиций. Не- изменным остается то обстоятельство, что хорошая шахматная программа должна располагать обширной информацией относи- тельно шахмат. При этом она может использовать информацию совсем не так, как это делал бы человек. 1) Э. Фредкин из МТИ (США) недавно предложил конструкцию специали- зированной машины для игры в шахматы, в которой удобная форма записи мгно- венной информации о состоянии на доске позволяет, по мнению автора, на два порядка ускорить процесс перебора позиций.— Прим. ред.
Глава 11 ЭВРИСТИЧЕСКИЕ ПРОГРАММЫ РЕШЕНИЯ ЗАДАЧ 11.0. Общие замечания Поиск на графе, рассмотренный в гл. 10, приводит к удобному представлению задачи в том случае, когда имеются полезные эв- ристические функции и способы выделения подзадач. Формальный анализ поиска на графе дает возможность установить определенные требования, предъявляемые к „хорошей" функции h или хорошему способу определения подзадач, но знание некоторых ограничений, которые необходимо соблюсти, и готовая программа для решения задач — это не одно и то же. В идеальном случае нам хотелось бы получить универсально приемлемую эвристическую функцию, связанную непосредственно с h. Практически этого сейчас нет, и вряд ли когда-нибудь станет возможным. Эвристические функции и методы определения под- задач почти неизбежно зависят от характера задачи — метод, хороший в шахматах, может быть совсем непохож на хороший метод для алгебры. В этой главе обсуждаются три программы ре- шения задач, претендующие на некоторую степень общности — универсальный решатель задач (GPS) Ньюэлла, Саймона и их сотрудников, наша программа, названная „Фортранная дедуктив- ная система" (FDS), и система управления роботом под названием STRIPS, созданная в Стэнфордском исследовательском институте. GPS — это классическая программа искусственного интеллекта, в которой были введены многие основные понятия эвристического решения задач. FDS представляет собой развитие некоторых меха- низмов GPS, а в STRIPS делается попытка осуществить планиро- вание при решении задач. И FDS и GPS были написаны до того, как появились известные теперь методы поиска на графе, поэтому ясно, что трудно установить между ними непосредственную связь. В системе STRIPS связь с поиском на графе гораздо яснее.
298 Гл. 11. Эвристические программы решения задач 11.1. Терминология При обсуждении интересующих нас программ можно пользо- ваться очень общей терминологией. Практически все что угодно можно рассматривать как объект, различные характеристики ко- торого имеют заданные значения. Баскетбольную команду можно описать при помощи ее стиля нападения и защиты, а государство можно охарактеризовать совокупностью пар вида: экономика — индустриальная, население — 200 миллионов, политическая ор- ганизация — демократическая республика. Соответствующая струк- тура описания для ЭВМ одна и та же. Определенная задача воз- никает в том случае, если есть расхождение между описаниями существующего объекта и желаемого. Это расхождение можно ликвидировать, применяя операторы к имеющемуся объекту и к объектам, произошедшим от него, пока их описание не придет в соответствие с желаемым объектом. Каждый оператор должен иметь входную и выходную форму. Входная форма — это множество ограничений на значения характеристик, которые должны удов- летворяться перед применением оператора. Выходная форма — это определение значений, которые будут иметь некоторые харак- теристики (обычно не все) объекта после применения оператора, Рассмотрим снова задачу медицинской диагностики и лечения, применяя методы теории решения задач, а не теории распознавания образов. Представим себе, что врач имеет дело с пациентом, состоя- ние которого частично описывается так: Характеристика Значение температура неврологические симптомы симптомы со стороны пищеварительной системы высокая головная боль легкие нарушения функций желудка Врач определяет, что главные симптомы, изменения которых нужно добиться, это жар и головная боль. Оператор очевиден — аспирин, его выходная форма: Характеристика температура неврологические симптомы симптомы со стороны пищеварительной системы Значение понизилась боль уменьшилась состояние несколько ухуд- шилось Входная форма аспирина — определение тех людей, которым можно его принимать:
11.2. Универсальный решатель задач 299 Характеристика Значение предыстория указаний на аллергию к аспирину нет условие больной не принимал аспирин в течение 4 часов возраст 6 лет и старше Пациент может, в принципе, принять аспирин; однако выходная форма показывает, что после принятия одного аспирина нарушение функций желудка немного усугубится. Поэтому для полного ре- шения задачи требуется дополнительное лечение. Заметим, что структуру описания состояний можно легко перевести в структуру поиска на графе, считая, что узлы представляют собой возможные состояния, а дуги — операторы, применимые к каждому из них. Весь аппарат процедур поиска можно непосредственно применять и здесь. Располагая некоторым множеством возможных преобра- зований, мы хотим воспользоваться тем из них, которое с наиболь- шей вероятностью приблизит нас к целевому состоянию. Именно это неявным образом было сделано в примере из медицины. Выде- ление полезных преобразований, однако, приводит к вспомога- тельной задаче. Предположим, что преобразование оказалось бы полезным, если бы его можно было применить (т. е. его выходная форма похожа на целевое описание), но применить его нельзя, потому что текущее состояние не удовлетворяет ограничениям входной формы преобразования. Мы должны поставить подзадачу изменения этого состояния так, чтобы было применимо определенное преобразование (или, что то же самое, оператор). Подзадача может сама порождать подзадачи. Программа решения задач должна решать подзадачи и объединять их, чтобы приспособить к контексту более широкой задачи, которая их породила. Таким образом, программа решения задач должна обладать способностью описывать для себя объекты в некотором общем виде, выбирать преобразования для изменения этих объектов, ставить и решать подзадачи, возникшие в результате применения опера- торов к объектам, и, наконец, уметь расположить решения задач и подзадач в должном порядке. Рассмотрим теперь две имеющие много общего программы для ЭВМ, решающие как раз такую задачу. 11.2. Универсальный решатель задач 11.2.0. Историческая справка GPS — возможно, наиболее знаменитая программа за всю историю искусственного интеллекта. О ней впервые сообщили Ньюэлл, Саймон и Шоу (1959) в довольно туманном докладе на кон-
300 Гл. 11. Эвристические программы решения задач ференции, который, к счастью, был перепечатан в книге под редак- цией Льюса, Буша и Галантера (1965). Убедительное, легко читае- мое описание системы можно также найти в статье Ньюэлла и Сай- мона (1961). Эрнст и Ньюэлл (1969) опубликовали подробное опи- сание самой программы, характера ее работы и необходимых для ее реализации методов программирования. Идейной основой GPS было интересное сочетание вычислитель- ной науки и психологии. С точки зрения первой из них программа GPS была логическим обобщением программ, предназначенных для решения задач в рамках тех или иных конкретных областей, таких, как исчисление высказываний (Ньюэлл, Эрнст и Шоу, 1957), планиметрия (Гелернтер, 1963) и интегральное исчисление (Слейгл, 1963) х). С точки зрения же психологии программа GPS предлагалась как модель переработки информации мозгом чело- века. Мысль о том, что некая программа для вычислительной ма- шины могла бы служить моделью познавательной способности, возникла на самых ранних этапах развития вычислительной нау- ки ?). Пойа (1954) подчеркивал, что способы, которые применяются математиками при получении доказательств, имеют мало общего со способами представления этих доказательств в окончательной форме. Чтобы объяснить, как работают математики, Пойа придумал слово „эвристика** для описания тех методов открытия доказатель- ства, которые легко применить и которые часто, хотя и не всегда, приводят к нужному решению. Основываясь на своем личном опыте и опыте других математиков, Пойа привел много примеров, показывающих, что эвристики действительно используются, но он был очень неточен в определении того, что представляют собой сами эти эвристики. Одно из важнейших достижений Ньюэлла и др. в психологии — демонстрация того, что эвристические методы можно воплотить в программе для ЭВМ. Такая программа была бы точно определенным методом для „догадки** о решении. Если бы этот метод был применен и каким-нибудь человеком для решения той же задачи, то можно было бы считать такую программу моделью данного человека. Ньюэлл и Саймон настойчиво пытались показать, что эта модель ничуть не менее строга, чем любая традиционная математическая модель, поскольку в конечном счете любую про- грамму можно свести к последовательности булевских операций. С другой стороны, в форме программы для ЭВМ можно выразить очень сложные последовательности шагов, так что программа может в принципе описать гораздо более богатое множество типов 1) Даты ссылок, скорее всего, неточно отражают истинное время возникнове- ния этих идей. Работы Слейгла, Гелернтера и некоторых других ученых, интере- совавшихся построением программ, решающих задач, были широко известны из технических отчетов и сообщений на конференциях в период с 1957 по 1960 г. 2) Она подразумевается в некоторых комментариях леди Лавлейс по поводу дифференциального анализатора Бэббиджа.
11.2. Универсальный решатель задач 301 поведения, чем любая обозримая система уравнений. Это положение в современной психологии общепринято (Миллер, Галантер и Прибрам, 1960; Хант, 1968; Фрейда, 1971; Нейссер, 1967; Рейтман, 1965), хотя, конечно, существуют противоположные мнения о том, являются ли конкретные модели хорошими или плохими моделями поведения, которое они, как предполагается, описывают 1). Как упоминалось в гл. 1, программа GPS развилась из работы над программой для решения задач Логик-Теоретик (ЛТ) (Ньюэлл, Саймон и Шоу, 1956, 1957), которая решала задачи исчисления выс- казываний гл. 2 книги Уайтхеда и Рассела „PrincipiaMathematica"2). Хотя теоремы из ,,Principia“ являются основными при установлении соотношений между логикой и математикой, их доказательства не представляют слишком большой трудности. Гениальность Уайт- хеда и Рассела состояла не в доказательстве теорем, а в осознании того, что они значили. С другой стороны, достижения ЛТ отнюдь не тривиальны. Эта программа построила доказательства, до ко- торых не додумались бы большинство студентов-второкурсников, а, хотя человек считается разумным (по определению), большая часть людей менее разумна, чем второкурсники университета. Более того, для получения этих доказательств не использовался грубый метод проб и ошибок. В большинстве случаев программа находила практически прямой путь к решению. Программу ЛТ можно представить состоящей из двух блоков, один из которых связан с анализом задачи и порождением подза- дач, другой — с применением правил исчисления высказываний. С точки зрения программирования, однако, эти два блока имеют много общего. В GPS они были разделены и принципиально, и в программной реализации. Идея состояла в том, что программа GPS должна была включать в себя блок анализа задачи и поро- ждения подзадач как часть всей программы, а методы, характерные для данной содержательной области (т. е. правила исчисления высказываний или правила алгебры), поступали бы на вход. В сле- дующем разделе мы подробнее рассмотрим это. Программа GPS вызвала множество комментариев. В области психологии основным, по-видимому, заключением было то, что GPS сама по себе не есть модель решения задач человеком, но что она намечает путь к тому, какой должна быть такая модель. (Для лучшего понимания психологических аспектов GPS можно обра- !) В интересах исторической точности следует отметить, что предложения от- носительно «программ и подпрограмм» в качестве моделей поведения рассматри- вались Ховлендом (1952) и Брунером, Гуднау и Остином (1956). Несомненно, од- нако, что Ньюэлл и др. были первыми, кто начал разрабатывать современный под- ход к программе как модели поведения. 2) ЛТ доказал 38 из 52 теорем этой книги. Впоследствии Стефферуд (1963) переписал программу, используя более сложную технику хранения данных и ЭВМ с большим быстродействием. Вариант Стефферуда доказал все 52 теоремы.
302 Гл, 11. Эвристические программы решения задач титься к книге Ньюэлла и Саймона, 1972.) В области вычисли- тельных наук универсальный решатель задач обычно упоминается при изучении вопросов, связанных с написанием программ, ори- ентированных на очень широкий круг задач (Ньюэлл и Эрнст, 1965). Поскольку книга Эрнста и Ньюэлла (1969) содержит обшир- ную документацию, программа GPS может служить иллюстрацией к обсуждению вопроса о решении задач на ЭВМ. В практическом плане она сейчас уже уступила более мощным программам, рассчи- танным на решение тех же задач с помощью других принципов (Ро- бинсон, 1965), и программам, написанным „в духе“ GPS, но исполь- зующим методы программирования, еще не известные во времена со- здания GPS (Файке и Нильсон, 1971; Куинлан и Хант, 1968, 1969). 11.2.1. Основные принципы GPS Универсальный решатель задач объединяет в себе два основных принципа: анализ целей и средств и рекурсивное решение задач. Анализ целей и средств представляет собой метод, гарантиру- ющий целесообразность применения оператора. Предположим, что определены возможные свойства двух объектов. Различие между объектами есть по определению различие между значениями не- которого их свойства. Оператор изменяет значение свойств. Определим таблицу операторов и различий, перечисляя операторы и различия, обусловленные их применением. Таблица в дальнейшем используется для управления выбором подзадач. Следующие при- меры иллюстрируют этот метод. Задача об обезьяне В клетке сидит обезьяна. В центре клетки подвешена связка бананов, причем дотянуться до нее нельзя. В углу стоит ящик. Что должна сделать обезьяна, чтобы достать бананы? Ситуацию можно описать, определив: высоту, на которой нахо- дится обезьяна, положение ее в клетке,’положение ящика, поло- жение связки бананов и ее высоту. Это характеристики ситуа- ции. Операторы здесь — это то, что может делать обезьяна: ходить, влезать на что-либо, протягивать руку за бананами и толкать ящик. Эти характеристики, соответствующие различия и операторы показаны в таблице операторов и различий (см. табл. 11.1). На- личие компоненты в таблице означает, что данный оператор влияет на данное различие. Фактически табл. 11.1—только одна из возможных здесь таблиц операторов и различий. Задание такой таблицы производится вне рамок GPS, поскольку она дается про- грамме как часть определения проблемной среды.
11.2. Универсальный решатель задач 303 Таблица 11.1 Таблица операторов и различий для задачи об обезьяне Различие Оператор влезть идти толкать достать Положение обезьяны Положение ящика Положение бананов Высота положения обезьяны Высота положения бананов X X X X X X Упрощенная алгебра Алгебру „плюса и минуса" можно определить следующими правилами: R1 Х + Г=Г+Х R2 Х = Х + 0 R3 (Х + Г) — У = Х R4 (X + r)-Z-(X-Z) + F R5 (X + r)+Z = X + (K + Z) Считается, что здесь и вообще во всех задачах для GPS имеет силу универсальное правило подстановки: правильно построенное выражение можно подставить вместо свободной переменной. Одна из нескольких возможных матриц, операторов и различий приве- дена в табл. 11.2. Заметим, что различия в этой таблице соответ- ствуют различиям между двумя правильно построенными алгебраи- ческими выражениями. Правильно построенное выражение может содержать другие правильно построенные выражения, поэтому Таблица 11.2 Оператор R1 R2 R3 R4 R5 Тип арифметического оператора X X X Число переменных X Положение переменных в выражении X X X X Наличие или отсутствие 0 X
304 Гл. 11. Эвристические программы решения задач необходимо уметь как находить, так и описывать различия. Напри- мер, выражения (A + B) + (C-D) (la) (A + B) + (C + D) (16) сходны на верхнем уровне в том, что оба являются выражениями X+Y, но различаются своими правыми компонентами. Чтобы обнаружить сходство такого рода, GPS представляет объекты в форме деревьев. Примером могут служить два выражения (1), пред- ставленные графами на рис. 11.1. Их изучение показывает, что первое различие из табл. 11.2, т. е. тип использованного арифме- тического оператора, содержится в выражении, представленном на рис. 11.1 справа. Полезно соотнести свойства объекта с узлами дерева, т. е. свойства соединительного типа, правый и левый операторы приме- нить к внутренним узлам деревьев на диаграмме. Заметим, что, как и в этом примере, значение свойства может само представлять некоторую структуру. Так, значение левого оператора корневого узла в каждом дереве есть дерево выражения А+В. Представление в форме дерева полезно в ряде ситуаций, которые внешне не имеют ничего общего с алгеброй. Одиночный узел есть дерево в вырож- денном случае, поэтому задачи типа задачи об обезьяне можно представить, как на рис. 11.2. Анализ целей и средств использует различие между объектами для управления процессом решения задачи. Этапы анализа аб- страктной задачи „перевести объект А в объект 5“ показаны на рис. 11.3. Первый шаг — найти наиболее важное различие D между объектами А и В. (Если не найдено никакого различия, считается, что задача решена.) „Наибольшая важность" опреде- ляется априорным упорядочением различий, задаваемым програм- мистом. После того как они оценены, для уменьшения различия используется последовательность применяемых операторов. Это
Ситуация Положение обезьяны Высота положения обезьяны Положение ящика ►ХАРАКТЕРИСТИКА Положение бананов Высота . положения бананов Рис. 11.2. «Древовидная структура» для задачи об обезьяне. РАЗЛИЧИЯ НЕТ НЕВОЗМОЖНО НЕВОЗМОЖНО УСПЕХ НЕУДАЧА НЕУДАЧА НЕУДАЧА РАЗЛИЧИЯ НЕТ НЕУДАЧА НЕУДАЧНАЯ ПОДЗАДАЧА НЕУДАЧА НЕУДАЧНАЯ ПОДЗАДАЧА в рис. 11.3. Блок-схема для анализа целей и средств: а — этапы преобразования А в В; б — этапы уменьшения различия; в — этапы применения оператора.
306 Гл. 11 j Эвристические программы решения задач показано на рис. 11.3, б. При заданных D и А производится анализ матрицы операторов и различий для того, чтобы определить список операторов Qi.....Qh, применение которых к А изменит зна- чение D. Пусть Qi — первый такой оператор. Производится пред- варительная проверка, в которой форма А сравнивается с входной формой Qi. Если две эти формы приблизительно похожи, то уста- навливается подцель применения оператора Qt к объекту А. Если это удается, то совершается преобразование A'—Qi (А), и результат передается в нужную точку управляющей программы. Необходимо объяснить еще один шаг: как решается подзадача применения Q к Д? Эта задача преобразования аналогична исход- ной. Напомним, что преобразование по определению есть изменение объекта от формы С к форме С', где СиС' —древовидные струк- туры весьма общего вида, содержащие свободные переменные, которым, следовательно, могут соответствовать многие конкретные деревья. Обратимся к рис. 11.3, в. Сначала А сравнивается с С, чтобы определить, есть ли здесь какие-либо различия в форме. Если нет (т. е. если А — частный случай общей формы С), то Qt применяется непосредственно, образуя X'=Qj(4). Допустим, од- нако, что найдено различие D' между С и А. Устанавливается подцель преобразования А к частному случаю А" формы С. Ре- шение этой подзадачи может требовать еще одного этапа умень- шения различий и применения операторов. Если в конце концов выделен А", применяется Qt для образования A'=Qi(A"). Для этих шагов требуется, чтобы GPS была рекурсивной программой, т. е. чтобы она могла обращаться к себе как к подпрограмме. Это соображение приводит нас к обсуждению рекурсивного решения задач и изменению контекста в решаемых подзадачах. Рис. 11.4 показывает другой путь представления действий GPS, уделяющий большее внимание задаче изменения контекста. Необходимые шаги здесь: (1) Принять заданную извне цель Go преобразования А-+В. Получить различие D, сравнивая деревья для А к В. (2) Цель Gi — уменьшить D для объекта А. После обращения к таблице операторов и различий в качестве подходящего оператора выбирается Q. (3) Цель Ga — применить Q к А. Пусть Q — оператор с входной формой С. Находится различие D’ между А и С. (4) Цель G3 — уменьшить!)' для А. Находится соответствующий оператор Q'. (5) Пусть С' — входная форма оператора Q'. Допустим, что нет различия между А и С'. Применим Q', чтобы получить A'=Q'(A). Теперь нужно выйти из процесса порождения подзадач, решив одну из них.
11,2. Универсальный решатель задач 307 (6) Различие D' уменьшается для А путем подстановки ф'(Д) вместо А. (7) Поскольку различие D' теперь убрано, можно применить к А’ оператор Q, приходя к Д"=(2(Л'). (8) Различие D уменьшается для А в результате преобразо- вания А-+А". (9) Поставлена новая подзадача преобразования А" в В. Раз- личие между А" и В либо не существует, либо равно D*=£D. (10) Если D* существует, то уменьшить D* для А". Процесс продолжается до тех пор, пока не будет найдено решение. 11) Go: а-^в (i) Gt '• Уменьшить О для А (9) G„: А"+В (10) Уменьшить D* (3) вг: Применить QkA (8) Результат А-А" ^/\дляА“ ит.д. и тд. (4) Gs- Уменьшить О’ Зля А (7)результат A"*Q(A'J (5) Применить Ч’кА (6) Результат А‘ = <?'(А) Рис. 11.4. Операция целей и подзадач в GPS. В некоторых случаях эта стройная схема контекстов внутри контекстов не вполне адекватна. Трудности возникают при появ- лении „циклов*1, в которых задача становится подзадачей самой себя. Здесь можно применить хорошие, хотя и довольно скучные программистские приемы. Детали их обсуждаются в работах Куин- лана и Ханта (1968), Эрнста и Ньюэлла (1969). 11.2.2. Пример работы GPS Важно различать очень общие идеи решения задач „в стиле GPS" и реализации этих идей в конкретных GPS-программах. Фак- тически был создан целый ряд важных вариантов GPS, в работе
308 Г л. 11. Эвристические программы решения задач которых есть некоторые интересные различия. Мы сейчас детально познакомимся с работой программы на примере, рассмотренном Эрнстом и Ньюэллом (1969). Это наполнит некоторым конкретным содержанием наше абстрактное изложение. Задача состоит в нахождении алгебраической формы для F (х) = $ tei2 dt. (2) На рис. 11.5 показано дерево, соответствующее выражению, ко- торое нужно проинтегрировать1). Целевым объектом является любое выражение, не содержащее знак Определены два класса операторов: дифференцирование и интегрирование. Внутри каждого класса задан ряд возможных изменений входной — выходной формы. Например, правило интегрирования undu = un+1(n+V)~1 (3) можно изобразить с помощью изменений в дереве (рис. 11.6). Дру- гие изменения формы при интегрировании и дифференцировании Таблица 11.3 Правила интегрирования undu = ип +1 (n + 1) ~1 ^u~ldu = In (и) sin (u) du = — cos (и) cos (и) du = sin (и) udu = и22~1 eudu =е“ J (/ + g) du— J fdu+ \gdu Правила дифференцирования sin (u) du =— d (cos (u)) cos (u) du = d (sin (u)) udu = 2"ld (u2) u~xdu =d (in (u)) r) На рис. 11.5, так же как и справа в выражении (8), через е обознача- ется единица; предполагается, что оператор ехр действует на произведение своих аргументов.— Прим. ред.
Рис. 11.5. Дерево, соответствующее t exp Рис. 11.6. Операция изменения формы прн интегрировании»
310 Г л. 11. Эвристические программы решения задач показаны в табл. 11.3. В добавление к этим правилам в GPS неяв- ным образом были включены определения коммутативности и ас- социативности сложения и умножения, механизм арифметических действий с целыми числами и следующие правила интегрирования: ^cftujdu = f (u)du d(cf(u)) = cd(f (и)) d(c + f(u)) = d(Hu)) (4а) (46) (4в) из ц = ц следует wu — wv, где и, v, w—правильно построенные выражения. (4г) Правила (4а) — (4г) применяются непосредственно программой везде, где можно, без проведения анализа целей и средств. Определены два класса различий: символьные различия и мно- жественные различия. Речь идет о символьных различиях, когда символы в сравниваемых позициях деревьев двух выражений не совпадают. Относительная важность различных возможных типов символьных различий (т. е. J или +, + или —) также была уста- новлена вне программы. Множественное различие существует, когда в двух выражениях, которые нужно проинтегрировать, раз- личны количества сомножителей. В матрице операторов и различий зафиксировано, что интегрированию соответствует уменьшение символьных различий, а дифференцированию — множественных различий. Ясно, что это — ни единственные, ни обязательно наи- более подходящие различия, которые можно использовать для сравнения алгебраических выражений. Однако в данном случае их оказывается достаточно. Исходная цель: G1 убрать знак из J te*2 dt Это порождает цель G2 уменьшить символьное различие J в J te*2 dt Поскольку операция интегрирования соответствует этому виду различий, новой целью будет G3 проинтегрировать te^ dt Эти три этапа необходимы для того, чтобы поставить для GPS задачу в рабочем виде, хотя сами они к решению практически не приближают. В программе рассматривались различные входные
11.2. Универсальный решатель задач 311 формы оператора проинтегрировать и была выбрана та, которая ближе всего к нашему выражению. Это дало G4 применить ^eadu = eu к ^te^dt Сравнение входной формы и этого выражения обусловило множест- венное различие, получаемое из сопоставления {е“, du} и {t, е‘2, dt}. Второе выражение содержит слишком много сомножителей, по- этому следующая цель: G5 уменьшить число членов в {/, е<2, dt} С этим связано дифференцирование, поэтому целью становится G6 продифференцировать te*2dt Рассмотрены различные формы дифференцирования и выбрана опе- рация G7 применить udu = 2~1d(u2) к tdt Это правило применимо и дает 2-М (/2). Подставляя и производя необходимые преобразования, получаем te‘2 dt = е*2tdt (коммутативность относительно умножения) = е<22_М(/2) (последовательное обращение к целям G7, G6, G5) (5) — 2~1^ei‘d(t2) (коммутативность относительно умножения и применение (4а)) Поскольку цель G5 достигнута, переходим к G4, пользуясь при этом окончательным результатом из (5), который содержит выражение в форме §eadu. Цель G4 можно достичь, получая tet2dt = 2-1^et2d(t2)=2-1et2. (6) Это обеспечивает достижение цели G3. Задача G2, таким образом, решена, и сравнение окончательного результата (6) с G1 показы- вает, что знак интегрирования удален и, следовательно, наша задача в целом решена.
312 Гл. 11. Эвристические программы решения задач 11.3. Фортранная дедуктивная система — автоматическое порождение таблиц связей 11.3.0. Исторические сведения и общий подход Эффективность программы GPS для конкретной задачи зависит во многом от выбранного определения различий в таблице опера- торов и различий. Некоторые исследователи занимались задачей автоматического порождения этой таблицы. В частности, Куинлан (Куинлан и Хант, 1968,1969; Куинлан, 1969) создал фортранную де- дуктивную систему (FDS) — программу, сходную с GPS во всем, за исключением того, что таблица операторов и различий здесь выводится из описания операторов. Хотя можно показать, что представление объектов в FDS соот- ветствует деревьям в GPS, все же при работе с этой программой легче пользоваться лингвистической терминологией. Состояния объектов представляются как цепочки из алфавита терминальных и нетерминальных символов. Нетерминальными являются перемен- ные символы, обозначаемые здесь буквами из конца алфавита, например X, Y, Z. К терминальным символам относятся конечное множество констант, знаков унарных и бинарных операций; они определяются заново для каждой задачи. То что в терминах GPS было бы объектом, в терминах FDS есть правильно построенное выражение (п. п. в.). Оно определяется правилами: (1) Константа или переменная есть п. п. в. (2) Бинарная операция с двумя п. п. в. после нее есть п. п. в. (3) Унарная операция с одним п. п. в. после нее есть п. п. в. Эти правила определяют префиксную, или „обратную бесско- бочную" запись. Они также устанавливают соотношение между деревьями в GPS и цепочками в FDS. Рассмотрим задачу интег- рирования, представленную выше. Можно определить множество Т первичных символов следующим образом: Т = Т0иТгиТ2 алфавит (7а) Та = {а, Ь, с, ...; 1, 2, 3, ..., 9, 0} константы (76) 7\ = {отрицание, d} унарные операции (7в) Л = (У> •> +> ~> Л ехр} бинарные операции (7г) Выражение J (/ef2) dt теперь принимает форму J (te*2) dt \ dt exp exp 21n tet. (8)
11.3. Фортранная дедуктивная система 313 Заметим, что мы соблюдали соглашение о том, что за бинарной операцией следует сначала ее правый операнд, а затем левый. Если читатель снова обратится к рис. 11.5, он обнаружит, что существует соответствие между этой цепочкой и выражением (8), представленным в виде дерева. Рис. 11.7. Дерево для (X+F)—Z—<-(Х—2)+У. Правило подстановки содержится в FDS, как и в программе GPS. Оно позволяет работать с цепочками типа (Д+В)+С (9) как с частным случаем цепочки X+Y (10) Эти операторы FDS именуются правилами переписывания цепо- чек, так как они указывают, что одну цепочку можно заменить другой. Например, X + Y^Y+X (11) можно применить к (Д+В)+С, чтобы получить или (В+Д)+С, или С+(Л+5). Как видно из примера (11), правила переписы- вания имеют форму где и S2 — п. п. в. Правило пере- писывания цепочки (X+Y)-Z=(Y-Z)+X (12) требует двух преобразований в FDS. Это —Z-f-FX—Н—ZYX (13а) + — ZYX^- Z + YX (136) поскольку отношение равенства не обязательно рефлексивно. С помощью (13) можно также проиллюстрировать, как опреде- ляются различия при построении таблицы операторов и различий. Рассмотрим (13а). И правая, и левая части представляют собой п. п. в., а, следовательно, деревья, как показано на рис. 11.7.
314 Гл. 11. Эвристические программы решения задач Список различий между левой и правой частями этих деревьев таков: (1) Верхний узел: — слева и + справа. (2) Узел справа сразу после верхнего \зла: + слева и — справа. (3) Термы Y и Z поменялись местам!: Различия (1) и (2) являются абсолютными различиями, по- скольку эти изменения останутся в силе, где бы ни применялось данное правило. Характер же изменения, обусловленного разли- чием (3), нельзя точно определить, пока мы не знаем, к каким струк- турам нужно применить правило переписывания. Например, если бы это правило нужно было применить к цепочке (Д+В)-С (14) то константы В и С поменялись бы местами, а если это же правило используется для получения (Д+В)-(С+ВН(Л-(С+В))+В (15) то константа В будет заменена бинарной операцией + и соответ- ствующими ей операндами. Это примеры контекстно-зависимых изменений. Когда операторы определены, программа FDS исследует каждый из них, чтобы определить, какие абсолютные и контекстно- зависимые изменения он может вызвать. Подробности того, как это делается, сейчас несущественны. (Детальное обсуждение содер- жится в статье Куинлана и Ханта, 1968.) Дело в том, Что такое задание операторов определяет матрицу операторов и различий, которую программа способна вывести. Та же схема используется для выявления различий между состояниями и целями при решении задач. Вначале исходное и целевое состояния выражаются цепочками. Эти цепочки сравни- ваются покомпонентно1), и отмечаются различия между ними. Затем программа, опираясь на свою таблицу операторов и разли- чий, работает практически так же, как GPS. *) Напомним, что «покомпонентность» определяется по положениям узлов в дереве, а не по порядку вхождения элементов в цепочку. Следовательно, сравне- нение ++ВЛ—DC с +XY проводится так: (1) +с+, так как первые позиции всегда сравнимы, (2) +с X, и (3) -с Y, поскольк у эти символы занимают одни и те же положения в дереве,
11.3. Фортранная дедуктивная система 315 11.3.1. Пример решения задачи с помощью FDS Проиллюстрируем метод FDS задачей из школьной алгебры. Допустимые операторы даны в табл. 11.4. Таблица 11.4 Правила переписывания для упрощенной алгебры R1 X-\-Y —>Г + Х +rx—> +xr R2 X + (Y+Z)-^(X + Y)+Z + + Z/X—> +Z+KX R3 (Х + Г) — Y —*Х -r+rx—>х R4 X—*(Х~; Y)~Y X—* — Y-j-YX R5 {X-Y) + Z—(X + Z)-Y -f-Z—YX —> -X4-ZX R6 (Х-уГ) — Z—> (X—Z) + Y -z+rx—> +r-zx R7 (X-r)H-Z—* Х+ (Z—Y) + Z— YX—» -у— YZX Для удобства чтения эти правила написаны и в обычной, и в бесскобочной записи. Программа же, конечно, работает только с бесскобочной записью. Задача, которую нужно решить, состоит в доказательстве того, что (Д—С)—(В-С)^(Д-В) (16) — правильный вывод. Фактически, когда есть только семь правил из табл. 11.4, это очень трудная задача. Советуем читателю, прежде чем идти дальше, попытаться решить ее самостоятельно. Это будет весьма поучительным упражнением. Для удобства иллюстрации применяемого здесь алгоритма ис- ходное состояние и происходящие из него состояния будем запи- сывать непосредственно над конечным целевым состоянием. Вна- чале было (17) ----СВ—С А — ВА Программа устанавливает, что второй знак минус следует за- менить переменной. Это можно сделать, применив правило R4 ко всему выражению 1): - Х + Х----СВ—СА — ВА (18) J) В этом шаге, видимо, и состоит трудность задачи. Применение правила R4 приводит к выражению, более сложному, чем входное, и не представляющему со- вой шаг, явно приближающий нас к решению. Ньюэлл и Саймон (1972) собрали множество доказательств того, что людям трудно отдать предпочтение конструк- циям такого рода.
316 Г л. 11. Эвристические программы решения задач Теперь X нужно перевести в В путем простой замены, так как X — свободная переменная: — В + В--СВ — СА — ВА (19) Знак + нужно перевести в переменную Л, но у нас нет правила, делающего это непосредственно. Однако требуемая переменная А является последним символом. Это пример различия, возникающего „в контексте". Подзадача превращения цепочки, начинающейся с + в (19), в цепочку, к которой применимо правило R3, поставлена. (Заметим, что п. п. в. начинается с любого места в цепочке.) Это подзадача — В+В--СВ—СА -B—X+XY (20) где X и Y — снова свободные переменные. Знак + в (20) можно преобразовать в —. Можно осуществить это с помощью правила R5, но применимо ли оно? Не ранее, чем (20) будет представлено в необходимом для этого виде. Возникает новая подзадача: — В А- В-----СВ — СА — B + X — YZ (21) Поскольку X, Y и Z — свободные переменные, можно пользо- ваться подстановкой. Если положить Х=В, Y=—СВ и Z=—С А, то задача сведется к — В + В------СВ — СА — В + В----СВ — СА (22) Правило R5 можно применить к (22) и затем осуществить подстанов- ку в (20). Цепочка принимает вид • —В----СВ + В — СА -B-X+XY Это все еще не соответствует требуемой форме, но после подстановки Х=—СВ получаем — Я-----СВ + В — СА -В-----CB + -CBY (24) Третье В в верхней цепочке следует перевести в —. Это можно сделать, непосредственно применив правило R7 к подцепочке, начинающейся с +• Поскольку — В----СВ+В — СА (25а)
11.4. Планирование 317 И + Z-XY (256) согласуются, целесообразны замены Z=B, Y=C и Х=А. Исполь- зование правой части R7 и подстановка дают цепочку вида — В------СВ + — СВА — В------CB + — CBY (26^ Сделав подстановку Y=A, сравниваем всю цепочку. Следова- тельно, нижнюю цепочку в (26) можно заменить ее правой частью, т. е. просто Y, и замена Y на его определение, т. е. А, приводит к —ВА —ВА (27) Задача решена. 11.4. Планирование 11.4.0. Общая часть Во всех методах решения задач, которые мы здесь обсуждали, каждый следующий шаг выбирался исходя из локальных крите- риев независимо от того, будет ли он соответствовать всей последо- вательности шагов. Нам кажется, что люди при решении задач часто обращают больше внимания на глобальные представления о прогрессе в решении. Вернемся к часто используемому примеру: при планировании маршрута путешествия мы прежде всего решаем, какие города мы хотели бы посетить. Расписание движения само- летов, такси и автобусов также составляются в соответствии с глобальным планом. Можно ли каким-нибудь образом обеспечить глобальное планирование при решении задач на ЭВМ? Ответ будет утвердительным. В литературе предложены два весьма различных метода планирования. Ньюэлл и Саймон (1972) предложили расши- рение GPS, в котором задача сначала решается в упрощенной области планирования, а затем делается попытка уточнить решение в этой области применительно к исходной, более детальной про- блемной области. Файке, Харт и Нильсон (1972) пользовались совершенно иным подходом, в котором они показали, как обоб- щенные планы можно абстрагировать из решений конкретных задач. После этого обобщенные планы пригодны для дальнейшего использования.
318 Гл. 11. Эвристические программы решения задач 11.4.1. Планирование в GPS Вначале опишем предложения :) Ньюэлла и Саймона по расши- рению GPS, включающему планирование. Развитый этими авто- рами метод сводится к упрощению задачи путем рассмотрения только „важных" различий между состояниями, решению задачи в упрощенной области и, наконец, использованию решения упро- щенной задачи для постановки подцелей, достижение которых в исходной проблемной области позволит, вероятно, обнаружить состояние, из которого GPS легко достигнет решения. Это приме- нение планирования согласуется с общей тенденцией Ньюэлла и Саймона к рекурсивному решению задач. Трудная задача для GPS упрощается (как мы надеемся) благодаря решению более простой родственной задачи. Мы будем пользоваться примером, который приводят Ньюэлл и Саймон в связи с планированием в GPS. Проблемная область этого примера — исчисление высказываний. Решение задачи ис- числения высказываний эквивалентно доказательству того/ что одно п. п. в. можно вывести из другого. В исчислении высказыва- ний п. и. в.— это цепочки, содержащие переменные, знак отри- цания "I и три бинарных связки: г>, • и и • Большинство правил переписывания в исчислении высказываний имеют форму х->-у, где х и у — п. п. в. Примером служит правило коммутативности относительно U : A (J В —> В (J А (28) Некоторые правила отображают пары полученных выражений в единые выражения. Одно из этих правил Л 1 (29) устанавливает, что если цепочки А и В уже были получены, то цепочку А-В можно добавить к списку полученных цепочек. В табл. 11.5 перечисляются операторы GPS, которые Ньюэлл и Саймон использовали при работе с исчислением высказываний. Каждый оператор записывался в виде правила переписывания. Кроме этих операторов, Ньюэлл и Саймон определили шесть классов различий между выражениями. Они приведены в табл. 11.6. Эти различия вместе с операторами табл. 11.5 определяют матрицу операторов и различий (см. табл. 11.7(a)). Эта матрица исполь- зуется для управления решением задачи в исходной области по- иска. Представим себе, что программе GPS предложили доказать, что переписывание (Я=> 1 Р).(-| R=>Q)—^ “I (1 QP) (30) Этот метод планирования лишь частично реализован в GPS.
11.4. Планирование 319 Таблица 11.5 Исходные и абстрактные логические операторы планирования (Ньюэлл н Саймон, 1972) Исходный оператор Абстрактный оператор в пространстве плани- рования R1 HUB—"ВиЛ А-В—>В-Л Тождество R2 A -=>В —> “|Вг> “|Л Тождество R3 А иЛ <-> А Л-Л<-> Л ЛЛ<-»Л R4 Ли(ВиС)<->(Л1)В)иС Л-(В-С) (Л.В).с Л (ВС) (ЛВ) С R5 Лив<-»("|Л.-|В) Тождество R6 Л 1Л1)В Тождество R7 Ли(В.С)«-»(ЛиВ).(ЛиС) Л.(ВиС)«-»М-В)и(Л.С) Л (ВС) (ЛВ) (АС) R8 А-В-^-А А-В — В АВ—-А АВ-^В R9 л —> лих Л —► АХ R10 Л 1 В ► АВ RH АВ\->в А f 6 R12 “ -ЛС J допустимо. Применяя методы разд. 11.2, программа GPS обна- ружила бы, что левая и правая части (30) различаются рядом термов (/—) и знаком (s). Учитывая табл. 11.7(a), можно выделить правила R2, R5, R6, R8 и R11 в качестве кандидатов для уменьшения этих различий. Хотя это и определяет исходную точку, задача пред- ставляет значительную трудность для GPS. Чтобы применить метод планирования к задаче (30), мы сначала строим абстрактную, упрощенную область поиска, в которой при сравнении двух выра- жений рассматриваются только различия в термах, числе вхож- дений переменных и группировании (/, п, g). Задача (30) стано- вится абстрактной задачей (PR)(QR)->(PQ) (31) Операторы переписывания следует соответственно перестроить, чтобы исключить различия всех видов, кроме использующихся в
320 Гл. 11. Эвристические программы решения задач Таблица 11.6 Различия, использованные Ньюэллом и Саймоном в исследованиях решения логических задач программой Название различия Пояснения Почленное различие (0 Различие во вхождении переменной (л) Различие отрицания (s) Различие бинарной связки (с) Различие группирования (g) Различие положения ком- понент в выражении (/>) Между двумя выражениями существует поч- ленное различие, если члены входят в одно выражение и не входят в другое. В задаче А —► В выражение А может иметь отрица- тельное (Z —), положительное (/+) или неопределенное (tX) различие по сравнению с В в зависимости от того, есть ли необхо- димость в вычеркивании, добавлении или изменении переменных в А для компенса- ции различия. Например, P(JB имеет по сравнению с Q.(]P различие Z-f- Данная переменная может входить в различ- ные выражения неодинаковое число раз. Как и для t, определяются различия « + , п— и пХ. Например, Р-Q имеет по срав- нению с (Р. Q) Z3 Q различие п + Различие между двумя выражениями может состоять в знаке отрицания. Например, Q и В двух выражениях могут быть различными основные бинарные связки. Например, Р Z3 Q и P(JQ Возможно различие в способе объединения переменных. Например, PU(QUft) и (/’U<?)UK Компоненты двух выражений одинаковы, но их положения в соответствующих деревьях различны. Например, Pz)(QUR) и данной упрощенной области. Например, правило 4U(B-C)W(AUB)-(AUC) (32) переходит в А (ВС) (АВ) (АС) (33) В результате необходимых преобразований такого рода некоторые операторы исходной области в абстрактной области пропадают. Правило (АиВ)-^(Ви А) (34)
11.4. Планирование 321 Таблица 11.7 Матрица операторов и различий для логических задач в GPS R1 R2 R3 R4 R5 R6 R7 R8 R9 RIO Rll R12 (а) Исходная проблемная область t п S с е р (б) Пространство планирования: операторы Rl, R2, R5, R6 никогда в планах не используются становится тождественным оператором, поскольку оно не влияет ни на какое различие в абстрактной области. В правой части табл. 11.5 приведен результат преобразования операторов исходной задачи в область упрощенной задачи, а в табл. 11.7(6) — полу- чающаяся в результате матрица операторов и различий. Теперь снова рассмотрим задачу (30) и ее абстрактную интер- претацию (31). Сравнивая правую и левую части (31), GPS обна- руживает между ними различие tX. После ряда попыток GPS решает абстрактную задачу за несколько шагов: А1, ..., Ai. Отме- тим, что каждый шаг определяет правильное переписывание ис- ХОДНО1 i цепочки. А1 (PRHQR) Исходная задача А2 (PR) R8 применено к первой компоненте А1 АЗ (QR) R8 применено для получения второй компоненты А1 А4 (PQ) R12 применено к АЗ, А2 Затем GPS пытается применить R8, R8, R12 к исходной задаче. Обозначим соответствующие шаги L1, ..., Li, чтобы отличить их от шагов в абстрактной задаче. L1 (R гз 1 Р) • (~] Р Q) Исходная задача L2 (Р z> 1 Р) R8 применено к первой компоненте L1 L3 ( “] R о Q) R8 применено ко второй компоненте L1
322 Гл. 11. Эвристические программы решения задач В этом месте план требует применения R12 к L3, L2. Однако форма L3 и L2 не соответствует входной форме R12 в исходной области. Сравните (~]RoQ) и Л о В, а также и BzdC. Терм R занимает неправильное положение в L3, поэтому ста- вится подзадача уменьшения позиционного (р) различия. После обращения к матрице операторов и различий осуществляется шаг L4 ( “] Q о R) R2 применено к L3. Снова пытаемся применить R12, на этот раз к L4 и L2. Достигаем успеха, получая L5 (~| Q о ~| Р) R12 применено к L4, L2 Хотя выполнены все шаги плана, различия между L5 и целевым состоянием все еще остаются. При сравнении (Qz)Р) и (“| Q-P) обнаруживаем знаковое различие (s) в главном выражении. Зна- ковые различия можно уменьшить с помощью правила R5 (см. табл. 11.7(a)), но оно здесь неприменимо, ибо существует различие в связке между (Л (J В) и L5. Правило R6 подходит для уменьшения различий в связке, и его можно применить: L6 (Q (J 1 Р) R6 применено к L5 R5 можно применить к L6, в результате получим L7 1 (1 Q-P) R5 применено к L6. Это и есть требуемое целевое состояние. В GPS для постановки подзадач используется план, который после выполнения может не дать решения для исходной задачи, но „обычно" приводит к состоянию g, достаточно близкому к ис- комому целевому состоянию. Нет никаких гарантий того, что планирование всегда оправдает надежды, но все же опыт дает ос- нования считать его полезным методом. 11.4.2. Система STRIPS Система STRIPS *) (Файке и Нильсон, 1971; Файке, Харт и Нильсон, 1972) порождает планы путем обобщения уже решенных задач. STRIPS представляет собой часть программной управляю- щей системы для работы Шейки — самоходного аппарата, совер- шающего передвижения в упрощенной среде по командам, данным на упрощенном английском языке. Для того чтобы понять STRIPS, необходимы некоторые пояснения, касающиеся Шейки. Робот содержит четыре основные физические системы: собственно аппарат (тележку) и двигательную систему; сенсорную систему, состоящую ') STRIPS — Stanford Research Institute Problem Solver — решатель задач Стэнфордского исследовательского института.— Прим, перев.
11.4. Планирование 323 из телекамеры и детектора касаний; вычислительную машину (не на тележке), осуществляющую работу программ с целью анализа информации, полученной сенсорами аппарата и входных команд, и передачу сигналов о необходимости включения двигательной системы аппарата; и систему радиосвязи для обмена информацией между указанной ЭВМ и аппаратом. Программа STRIPS опреде- ляет, какие команды необходимо отдать роботу. Внешний мир этого робота состоит из комнат, дверей между ними, подвижных ящиков и, в более сложных ситуациях, источ- ников света и окон. Этот физический мир в каждом частном случае описывается для STRIPS множеством утверждений, выраженных в форме предложений исчисления предикатов. Например, появление предложения ВКОМНАТЕ(РОБОТ, К2) в базе данных является утверждением о том, что этот робот в данный момент находится в комнате К2. STRIPS подразумевает, что все утверждения истинны, тогда как другая программа, PLANEX, проверяет их истинность. При изменении физической ситуации базу данных необходимо корректировать. В целом база данных, описывающая мир в любой момент, называется моделью мира. Управляющие программы содержат также ряд подпрограмм, ответственных за прохождение робота в дверь, проталкивание ящика в дверь, выключение света и выполнение других физических действий. Эти программы сами по себе весьма сложны, но они не связаны непосредственно с решением задач. Они примерно так же соотносятся с решением задач роботом, как сложные действия хож- дения или собирания чего-либо с решением задач человеком. Пусть модель мира содержит предложения ЯЩИК (Я1) Я1 — ящик КОМНАТА (К1) К1—комната КОМНАТА (К2) К2—комната ДВЕРЬ (Д1) Д1—дверь (35) ВКОМНАТЕ (Я1, К1) Я1 находится в К1 ВКОМНАТЕ (РОБОТ, К2) Робот находится в К2 СОЕДИНЯЕТ (Д1, KI, К2) Д1 соединяет К1 и К2 и роботу дается задача поместить ящик Я1 в комнату К2. Рассмот- рим более общую задачу помещения ящика я! в комнату к2, где я! и к2 — переменные. (Договоримся обозначать переменные строчными буквами, а константы — прописными.) Формально от STRIPS требуется получить модель, содержащую утверждение ВКОМНАТЕ (Я1, К2). Эту задачу можно решить тремя способами. Л*
324 Гл. 11. Эвристические программы решения задач (а) Возможно, желаемые утверждения уже содержатся в модели. Это было бы эквивалентно тому, что GPS или FDS дана „задача" вывода цепочки из самой себя. (б) Возможно, удастся вывести желаемые утверждения из мо- дели, не изменяя соответствующий ей физический мир. Предпо- ложим, что мы добавили к (35) предложения ЯЩИК(Я2) НАВЕРХУ (Я2, Я1) Я2 наверху Я1 1 ’ и STRIPS может осуществить вывод В(х< У) 1 НАВЕРХУ (г, х) | В(г’ у) (37) К утверждению ВКОМНАТЕ (Я2, К1) можно прийти путем вы- вода, без каких-либо действий робота в физическом мире. STRIPS располагает мощными возможностями вывода, основанными на принципе резолюции, а не на методах, использующихся в GPS и FDS. В гл. 12 мы подробнее изучим принцип резолюции, а сейчас будем считать, что STRIPS действительно может осуществлять логический вывод. (в) Наконец, чтобы решить некоторые задачи, необходимо из- менить физический мир и, следовательно, модель, описывающую его. Это наиболее интересная ситуация. Рассмотрим типичный оператор PUSHTHRU (te>, х, у, г) — „толк- нуть w через х из у в г“. Этот оператор можно описать, задавая его предусловия (предварительные условия), список добавлений и список вычеркиваний. Предварительные условия — это, как видно из названия, предложения, которые должны содержаться в модели перед применением оператора. PUSHTHRU (я1, д1, к1, к2) можно осуществить только тогда, когда модель содержит утверждения ЯЩИК(я1); ДВЕРЬ(д1); КОМНАТА(к1); КОМНАТА(к2); СОЕДИНЯЕТЕ, к1, к2); ВКОМНАТЕ(я1, к1); ВКОМНАТЕ(РОБОТ, к1). (38) Заметим, что (38) составлено на языке требований к переменным. В конкретной попытке активации PUSHTHRU переменные заме- нятся константами. Это называется выбором (основного) частного случая. Возвратимся к примеру с PUSHTHRU; для завершения опе- рации PUSHTHRU (я1, д1, к1, к2) необходимо изменить модель, включив в нее ВКОМНАТЕ(РОБОТ, к2); ВКОМНАТЕ(я1, к2), (39) и убрать ВКОМНАТЕ(РОБОТ,к1); ВКОМНАТЕ(я1,к1). (40)
11.4. Планирование 325 Обратим внимание на сходство между предусловиями и списками добавлений и вычеркиваний, с одной стороны, и левыми и правыми частями операторов правил переписывания в GPS и FDS — с другой. Они используются совершенно одинаково. Получив задачу, STRIPS прежде всего пытается извлечь или вывести условия решения из существующей модели мира. Допустим, что это невозможно. Затем программа смотрит, какие условия сле- довало бы ввести в модель, чтобы вывод условий решения стал возможным. Это похоже на анализ в GPS различия между двумя состояниями !). Затем проводится анализ целей и средств, чтобы определить, какие операторы имеют списки добавлений, включаю- щие требуемые утверждения. Как и в GPS, этот анализ может привести к „задаче" изменения модели так, чтобы оператор можно было применить. Задача считается решенной, если нашлась такая последовательность операций, что первый оператор можно при- менить к существующей модели, n-й оператор можно выполнить в модели мира, полученной после (п—1)-го оператора, и условия достижения решения выполняются после применения последнего оператора в этой последовательности 2). После решения задачи STRIPS может обобщить его, представив в виде плана. Рассмотрим ситуацию после того, как робот решил задачу передвижения из К1 в К2 и затем проталкивания ящика обратно в К1- Решение программы STRIPS таково: GOTHRUfm, К1, К2) Иди из К2 в К1 через Дверь D1 ,4П PUSHTHRU(H1, Д1, KI, К2) Толкни Я1 из К1 в К2 через дверь Д1 Наиболее очевидный способ обобщить это решение — заменить все константы переменными: GOTHRU (д1, к1, к2) PUSHTHRU (я1, д1, к2, к1) 1 > План (42) слишком специализирован. Он представляет собой пред- писание идти из одной комнаты в другую и затем толкать объект, находящийся во второй комнате, обратно в первую. Видимо, ра- зумно, чтобы план STRIPS извлек из этой задачи план перехода из *) Авторы STRIPS в своих работах неоднократно указывали, что эта система является лишь определенной конкретизацией идей программы GPS.— Прим, ред. 2) На практике задача будет решена, если эту последовательность можно успешно реализовать в физическом мире. Второй блок системы управления робота Шейки (PLANEX) осуществляет контроль за выполнением плана. PLANEX воз- вращает управление в STRIPS, если датчики робота обнаруживают, что про- изошло изменение мира, не предугаданное системой STRIPS, так что модель, ко- торой она пользовалась для составления плана, теперь неточна.
326 Гл. 11. Эвристические программы решения задач одной произвольной комнаты в другую и толкания объекта из второй комнаты в третью. Излишняя специализация возникает в (42) от того, что каждая отдельная константа в решении была заменена везде в этом плане единственной переменной. Мы могли бы пользоваться более общим правилом замещения, в котором отдельная переменная использовалась бы для каждого аргумента оператора без учета исходных совпадений аргументов различных операторов в решении. Это, к сожалению, еще менее удовлетвори- тельно. Действительно, пусть мы применили такое правило заме- щения к решению (41). В результате GOTHRU (Д1,к1,к2) , PUSHTHRU (я1, д2, кЗ, к4) 1 > План (43) означает, что робот может войти в комнату к2 и затем выталкивать объект из комнаты кЗ, которая может оказаться со- всем другой комнатой. Очевидно, что это неверно. При замене кон- стант переменными следует учитывать, какие переменные на раз- личных шагах решения с необходимостью относятся к одному и тому же объекту. STRIPS осуществляет это, учитывая, какие переменные на шагах, предшествующих n-му шагу плана, должны упоминаться в предварительных условиях к n-му шагу. Техниче- ские подробности того, как это делать, зависят от механизма дей- ствия принципа резолюции при доказательстве теорем, который мы еще не обсуждали х). Для наших текущих целей важно заме- тить, что существуют правильные способы обобщить решения так, чтобы они не были слишком общими, как в (43), и избежать чрез- мерной специализации, пример которой приведен в (42). С другой стороны, хотя Файке и др. (1972) предлагают ряд полезных методов обобщения, они первыми признают, что используют эвристические процедуры, не всегда приводящие к требуемой степени общности. Цель формирования плана из решения — получить последо- вательность операторов (называемых макрооператорами), которую STRIPS может применять как одиночный оператор при решении сложных задач. Однако работа с макрооператорами затруднена тем, что действие первых п шагов будет, вообще говоря, влиять на условия, при которых должна применяться (п+1)-я операция. Макрооператоры нуждаются в более совершенном механизме определения условий применимости, чем простой список предва- рительных условий для одиночных операторов. В STRIPS исполь- зуется остроумная схема, называемая треугольной таблицей. Чтобы проиллюстрировать этот метод, построим треугольную х) Для людей, знакомых с этой областью, и тех, кто может вернуться к этому разделу после чтения гл. 12, заметим, что унификация, требуемая для вывода предварительных условий на каждом шаге, доставляет информацию о том, какие переменные в плане должны относиться к одному н тому же объекту.
11.4. Планирование 327 таблицу для простого, правильно обобщенного плана GOTHRU — PUSHTHRU i): GOTHRU (д1, к1, к2) (44) PUSHTHRU (я1, д2, к2, кЗ) (45) GOTHRU(fll, к1,к2) требует в качестве предварительного условия, чтобы робот был в к1 и чтобы д1 соединяла к1 и к2. Оператор PUSHTHRU требует, чтобы робот и ящик были в к2 и чтобы д2 о 1 2 'ВКОМНАТЕ(РОБОТ, к!) жСОЕДИНЯЕТ(д1,к1, К2) *ВКОМНАТЕ(я1,к2) СОЕДИНЯЕТЕ,к2,КЗ) 1 GOTHRU(a1,k1,k2) *ВКОМНДТЕ(РОБОТ,к2) 2 Ригнтнви(я1,д2,к2,к3) ВКОМНАТЕ(РОБОТ,КЗ) 3 ВК0МНАТЕ(я1,кЗ) Рис. 11.8. Треугольная таблица. соединяла к2 и кЗ. Наконец, заметьте, что список дополнений для GOTHRU содержит ВКОМНАТЕ(РОБОТ, к2), что является одним из предварительных условий PUSHTHRU, a PUSHTHRU вычеркивает это предварительное условие из своей модели, добавляя в этот момент ВК.ОМНАТЕ(РОБОТ, кЗ) и ВКОМНАТЕ(я1, кЗ). Это означает, что ВКОМНАТЕ(я1, к2) должен содержаться в модели перед выполнением GOTHRU, а ВКОМНАТЕ(РОБОТ, к2) нет. Предварительные условия плана должны учитывать это. Треугольная таблица для плана (44) показана на рис. 11.8. В более общей форме: если план состоит из k шагов, таблица будет состоять из #4-1 строк и столбцов, образующих треугольник. Строки нумеруются от 1 до k-\-1, а столбцы от 0 до k. При построении таблицы можно выделить следующие шаги: (а) В столбце I строке i'4-l поместить список дополнений опе- ратора I. (б) В столбце i строке i+j+l (J=0, ..., k—(t-H)) поместить те предложения столбца i строки i+j, которые останутся в модели после применения оператора /4-/, т. е. предложения столбца i х) В действительности обобщения и построение треугольной таблицы — свя- занные процессы, ибо информация, полученная из треугольной таблицы, полезна при проведении обобщений.
328 Гл. 11. Эвристические программы решения задач строки i+j, не содержащиеся в списке вычеркиваний оператора i+j. На рис. 11.8 в столбце 1 перечисляются результаты оператора GOTHRU на разных стадиях. Вначале GOTHRU (д1, к1, к2) помещает робот в комнату к2, поэтому предложение ВКОМНАТЕ (РОБОТ, к2) добавлено к модели и помещено в столбец 1 строку 2. Следующий оператор PUSHTHRU(al, д2, к2, кЗ) выводит робота из к2, поэтому в столбце 1 строке 3 пусто. Подобным образом пред- ложения ВКОМНАТЕ (РОБОТ, кЗ) и ВКОМНАТЕ (я1, кЗ), до- бавленные к модели мира оператором PUSHTHRU, следует поме- стить в столбец 2 строку 3. Ясно, что эту процедуру можно приме- нить к плану с произвольным числом шагов. (в) Осталось построить столбец 0. Это получается после рас- смотрения предусловий оператора, который нужно применить на шаге i. В столбце 0 строке I помещаются утверждения предва- рительного условия, которые должны быть в модели до применения оператора i, но которые еще не появились в строке i в результате предыдущих операций. Так, в столбце 0 строке 2 перечисляются предварительные условия PUSHTHRU(h1, д2, к2, кЗ), за исклю- чением ВКОМНАТЕ(РОБОТ, к2), которое появилось в резуль- тате предыдущего действия GOTHRU. (г) При данных правилах построения треугольной таблицы должно быть, вообще говоря, несколько входов в строку i, которые не являются предусловиями для оператора i. Для того чтобы от- личить предложения предусловия в строке от других предложений, они помечаются звездочкой. План в целом применим, если все предложения в столбце 0 треугольной таблицы плана содержатся в модели или их можно вывести из нее. На самом деле треугольную таблицу можно при- менять к отдельным частям плана, рассматривая их как планы. Определим t-e ядро плана как область треугольной таблицы, со- держащую строку i и нижний левый угол таблицы. Эта область включает ряд помеченных предложений. Подплан, состоящий из шагов i, i+1....k, можно применить в любой модели, содержащей все помеченные предложения в ядре. Любые другие предусловия (i+/)-ro оператора можно породить предыдущими шагами плана. Было показано, что использование треугольных таблиц в пла- нировании — полезная особенность STRIPS. Файке и др. приводят примеры, в которых использование планов и треугольных таблиц в три раза снижает время, необходимое для решения задачи о дви- жении робота. С другой стороны, как замечают сами авторы, по- рождение многих планов создаст существенную проблему извле- чения информации, поскольку становится уже непросто решить, сколько треугольных таблиц можно применить в данной модели мира. Хотя широкое применение планов — очень новое достижение, мы считаем, что существуют по крайней мере три более ранние
11.4. Планирование 329 программы, порождавшие планы подобного рода. Сэмюэль (1967) предложил программу игры в шахматы, которая накапливает ста- тистику в ситуациях, когда определенная последовательность оказывается хорошей, и пользуется этой статистикой для построе- ния сложного нелинейного распознавателя, показывающего, на- сколько текущая игра похожа на предыдущие. Куинлан (1969) построил аналогичное расширение FDS и показал, что „обучение" в одной области — логике — можно обобщить на сходные области элементарной математики. Оба приложения имели успех, но каза- лись более примером на тему распознавания образов при доказа- тельстве теорем, чем планированием в том смысле, как мы упо- требляли здесь это.слово. Гелернтер (1959) использовал метод пла- нирования, названный синтаксической симметрией, который сходен со „сверхспециализированным" планированием в STRIPS, про- иллюстрированным в (42); он применил этот метод при доказа- тельстве геометрических теорем для того, чтобы избежать повтор- ных решений одной и той же подзадачи. Клинг (1971) предложил систему, в чем-то похожую на систему Гелернтера, для использо- вания при доказательстве теорем, основанном на принципе резо- люции. О методе Клинга нельзя говорить, не объяснив сначала, как на основе принципа резолюции доказываются теоремы, поэтому мы отложим его до конца следующей главы. 11.4.3. Языки планирования До сих пор в книге программистским подробностям уделялось мало внимания, поскольку языки меняются быстро, а логические основания, видимо, более постоянны. Однако необходимость пла- нирования при решении задач ставит ряд проблем перед созда- телем языка программирования. Любой язык, способный описать автомат с магазинной памятью (и, следовательно, любой контек- стно-свободный язык), можно использовать для выражения плана решения задачи, но оно может оказаться неизящным, ибо в языке, созданном для планирования, могли бы с успехом участвовать лингвистические конструкции, которых, скорее всего, нет в языках, созданных для обычных вычислений. Поэтому неоднократно пред- принимались попытки сконструировать специальный язык про- граммирования для искусственного интеллекта. Хороший обзор истории этого вопроса дала Самметт (1971), поэтому мы упомянем лишь самое интересное. Язык обработки информации IPL V, самый ранний из этих языков, был, по существу, машинным упоря- доченным кодом для ЭВМ, рассчитанной на выполнение символь- ных, а не числовых операций (Ньюэлл и др., 1964). Мак-Карти (1961) объединил конструкции IPL V с формализмом ламбда-ис- числения Чёрча для получения языка Лисп — языка программи- рования, допускающего формальный анализ (Вегнер, 1968). Многие
330 Гл. 11. Эвристические программы решения задач идеи Лиспа внедрились в языки, созданные специально для выра- жения планов решения задач и доказательства теорем, в особен- ности PLANNER (Хьюитт, 1972) и QA4 (Дирксен и др., 1972). Полезные понятия, необходимые для языков, будут продемон- стрированы при обсуждении некоторых особенностей системы PLANNER. Мы не будем пытаться добросовестно передавать весь формализм записи этого языка, поскольку мы не ставим целью обучить ему программистов. Обсуждение направлено лишь на то, чтобы дать читателю некоторое представление о характере языка. Программа решения задач должна уметь работать с тремя пер- вичными сущностями: объектами, свойствами объектов и отноше- ниями между объектами. В бесскобочной записи (КРАСНЫЙ, В1) означает, что объект В1 имеет свойство „красный", а (НА, Bl, В2) — что объект В2 находится на объекте В1. Такое представление со- гласуется с нашей интуицией. Однако свойства можно считать функциями объекта, а отношения — функциями нескольких аргу- ментов. Поэтому нам нет нужды различать их. Более того, связан ли символ с отношением или с данным объектом, зависит во многом от контекста. КРАСНЫЙ — это иногда свойство цветного объ- екта, а иногда сам объект, красный цвет. Для того чтобы разли- чать, какой смысл вкладывается в употребление терма X, мы будем писать #Х, когда речь идет об отношении, и :Х, когда он обозна- чает объект. Можно использовать отношения для конструирования сложных объектов, поскольку тот факт, что два объекта находятся в каком-то отношении, сам по себе есть нечто, что можно считать объектом. Это отчасти показано в разобранных примерах, но становится более ясным при изучении сложных действий. Предложение Робот положил блок В1 в ящик может относиться к именному событию, которое является заданной величиной: -.ОТНОШЕНИЕ! ==(#ПОЛОЖИТЬ :В1 -.ЯЩИК: РОБОТ) (46) Второй пример: Робот берет В2 — :ОТНОШЕНИЕ2 = (#ВЗЯТЬ :В2 -.РОБОТ) (47) С помощью отношения ПЕРЕД можно создать новый объект, чтобы выразить событие, состоящее в том, что .’ОТНОШЕНИЕ] и :ОТНОШЕНИЕ2 появляются в данной последовательности: :ОТНОШЕНИЕЗ = (#ПЕРЕД :ОТНОШЕНИЕ2 : ОТНОШЕНИЕ!) (48) Эти примеры взяты из простого мира роботов. Применение по- добных концепций к описанию естественного языка в естественных условиях представляет определенный интерес. Предложение Джон видел Мэри у Луиджи (49)
11.4. Планирование 331 можно описать как событие с объектами и отношениями между ними: СОБЫТИЕ! = (#МЕСТО :ЛУИДЖИ :(#ВИДЕЛ :ДЖОН :МЭРИ)) (50) Румельхарт, Линдсей и Норман (1972), Линдсей и Норман (1972) дали ряд более разработанных иллюстраций к тому, как естествен- ный язык можно преобразовать в структуры, подобные структурам в базах данных языка PLANNER. В их записи важное значение имеют графы, но, как мы указывали, графовые структуры и сети отношений изоморфны. Для того чтобы рассуждать, нам необходимы как представление об объектах в мире, так и правила вывода, дающие возможность получать новое представление из старого. Это значит, что мы раз- личаем явные события, с которыми имели дело до определенного момента, и знание об отношениях, которые сохраняются в общем случае. Мы снова можем обратиться к психологии, в частности к рассуждениям Тулвинга (1972) о разнице между эпизодической и семантической памятями. Примеры типа (50) входят в эпизодиче- скую память. Семантическое предложение Е1 = ДЛЯВСЕХ(Х) (#ОЗНАЧАЕТ (#СМЕРТЕН :Х) (#ЧЕЛОВЕК :Х)) (51) просто означает, что свойство быть человеком подразумевает свой- ство быть смертным. Такое предложение можно интерпретировать как план доказательства истинности чего-либо. Следовательно, по (51), чтобы доказать, что X смертен, надо доказать, что X — че- ловек. Некоторые планы гораздо сложнее, чем этот, и требуют более гибкой записи. Рассмотрим одно из наставлений, которое Виноград (1972) предлагал аспирантам. Статью можно принять как диссертацию, либо если она большая, либо если в ней содержатся убедительные доводы. На языке PLANNER это выглядит так: Е2 = ДЛЯВСЕХ (X) (#ОЗНАЧАЕТ (#ИЛИ (# БОЛЬШАЯ :Х) (СУЩЕСТВУЕТ (: У) (#И (#УБЕДИТЕЛЬНЫЙ :У) (#ДОВОД :У) (52) (#СОДЕРЖИТ :У :Х))) (#ДИССЕРТАЦИЯ :Х)) (#МОЖНОПРИНЯТЬ :Х)) Предложение (52) полезно считать определением приемлемости, которое можно структурировать как процедуру последовательного решения подобно тем, что обсуждались в гл. 6. Соответствующая (52) диаграмма показана на рис. 11.9. Ее с тем же успехом можно считать графом сведения задачи к подзадачам. Каждый узел соот-
382 Гл. 11. Эвристические программы решения задач ветствует условию, истинность которого требуется доказать, а И- и ИЛИ-узлы показывают, как нужно объединять решения под- задач, чтобы решить основную задачу. Использование представ- ления сведения задачи к подзадачам напоминает тот факт, что порядок, в котором мы пытаемся решать подзадачи, может сильно влиять на трудность решения задачи. В языке PLANNER програм- мист может определить, как осуществлять поиск: и заданием по- следовательности выбора подзадач для решения, и с учетом под- сказок относительно решения каждой подзадачи. Это делается х Рис. 11.9. Графсведёния задачи к подзадаче для доказательства приемлемости X. путем определения теорем следования, которые указывают, как доказать, что отдельный факт есть следствие известных фактов. Пример такой теоремы: (ОПРЕДЕЛИТЬ ТЕОРЕМУ ОЦЕНИТЬ (53) (СЛЕД(Х, У) (#МОЖНОПРИНЯТЬ $?Х) (ТЕОРЦЕЛЬ (#ДИССЕРТАЦИЯ $?Х)), (ТЕОРИЛИ (ТЕОРЦЕЛЬ (#БОЛЫПАЯ $?Х) (ТЕОРИСПОЛЬЗСОДЕРЖАНИЕ — ПРОВЕРИТЬ — ПРОСЧИТАТЬ)) (ТЕОРИ (ТЕОРЦЕЛЬ (#СОДЕРЖИТ $?У $?Х)) (ТЕОРЦЕЛЬ (# АРГУМЕНТ $?У)) (ТЕОРЦЕЛЬ (# УБЕДИТЕЛЬНЫЙ $?/)))))) Она определяет процедуру, устанавливающую, можно ли удов- летворить графу сведения задачи к подзадачам (рис. 11.9). Схема
11.4. Планирование 333 поиска в базе данных показана на рис. 11.10. Первая строка — просто инструкция системе PLANNER рассматривать утверж- дение как теорему, т. е. как семантическую, а не эпизодическую информацию. Вторая строка определяет теорему как „последую- Рис. 11.10. Блок-схема процедуры поиска, определенной утверждением (53). щую“ теорему для доказательства того, что что-то, называемое X, имеет свойство быть приемлемым. В этой строке отмечается при- сутствие второй переменной Y. Обозначения $?Х и $?Г утверж- дают, что X и Y — свободные переменные. Следующие строки — это условия; если они выполняются, то этого достаточно, чтобы утверждать, что X имеет свойство быть приемлемым. Каждое ус- ловие называется целью. Первое (ТЕОРЦЕЛЬ (#ДИССЕРТАЦЙЯ
334 Гл. 11. Эвристические программы решения задач $?Х)) утверждает, что если X уже имеет свойство быть диссер- тацией, то он имеет свойство быть приемлемым по самому смыслу. Следующая цель теперь — множество ИЛИ-подцелей, как ука- зано с помощью ТЕОРИЛИ, которая указывает, что цель постав- лена, если поставлена хотя бы одна из ее подцелей. Первая подцель это — (ТЕОРЦЕЛЬ (#БОЛЫИАЯ $?Х) (ТЕОРИСПОЛЬЗ СО- ДЕРЖАНИЕ — ПРОВЕРИТЬ — ПРОСЧИТАТЬ)). Сама по себе цель — доказать, что X имеет свойство „большая". Вторая кон- струкция указывает языку PLANNER использовать метод дока- зательства, называемый (СОДЕРЖАНИЕ — ПРОВЕРИТЬ — ПРОСЧИТАТЬ) (здесь не определяется) для обнаружения свойства X „большая". Вторая ИЛИ-подцель представляет конъюнкцию подцелей (ТЕОРИ (ТЕОРЦЕЛЬ (#СОДЕРЖИТ $?У $?Х)) (ТЕОРЦЕЛЬ (# ДОВОД $?У)) (ТЕОРЦЕЛЬ (#УБ БДИТЕЛЬНЫЙ $?У))) причем все они должны быть удовлетворены перед тем, как будет удовлетворена сама подцель. Их интерпретация должна быть ясна. Таким образом, предложение СЛЕД устанавливает конкрет- ный тип поиска на графе сведения задачи к подзадачам. Следова- тельно, активация предложения СЛЕД очень схожа с активацией программы решения задач — как в GPS или FDS. Различие здесь в том, что общие программы должны использовать одни и те же методы поиска на графе для каждой задачи, в то время как PLAN- NER позволяет программисту дать, как надеются, полезные под- сказки о методах решения. При этом, однако, программист может сосредоточиться на выделении полезных целей и подцелей, и ему не нужно думать о том, как достичь целей, до тех пор, пока он сам этого не захочет. PLANNER имеет и другие интересные особенности. Мы уже видели, как программист может предлагать тот или иной метод с помощью конструкции ТЕОРИСПОЛЬЗ. Ее же можно исполь- зовать, чтобы вызвать уже определенную процедуру доказатель- ства, как в (ТЕОРЦЕЛЬ (#МОЖНОПРИНЯТЬ :Х) (ТЕОРИСПОЛЬЗ ОЦЕНИТЬ)) (54) что заставляет PLANNER доказывать приемлемость конкретного документа А, используя процедуру СЛЕД, названную ОЦЕНИТЬ. В некоторых случаях можно указать несколько планов для дости- жения цели путем объединения предложений ТЕОРИСПОЛЬЗ. Подходящие процедуры будут проверяться по порядку. В конце концов существует „всеохватывающее" предложение ТЕОРИС-
11.4. Планирование 335 ПОЛЬЗ (TEOPTBF ТЕОРИСТИН), которое указывает системе PLANNER попытаться реализовать цель с помощью любой дока- зывающей процедуры, известной системе. Это особенно удобно, если память системы содержит универсальную доказывающую процедуру, которую может рассматривать как дорогой метод до- казательства, применяемый лишь в крайнем случае. Очень старый силлогизм демонстрирует мощность языка PLAN- NER. Допустим, что (ОПРТЕОРЕМ ТЕОР1 (ПОСЛЕД(Х) (#МОЖЕТОШИБАТЬСЯ $?Х) (55) (ТЕОРЦЕЛЬ(#ЧЕЛОВЕК $?Х)))) включено в базу данных. Пусть также база данных содержит пред- ложения: (#ЧЕЛОВЕК : ТЬЮРИНГ) (#ЧЕЛОВЕК :ПЛАТОН) (#ГРЕК : ПЛАТОН) } (#МОЖЕТ ОШИБАТЬСЯ ФУТБОЛЬНЫЕ ТРЕНЕРЫ) Вопрос „Кто-нибудь может ошибаться?** оценивается с помощью ТЕОРПРОГР(У) (ТЕОРЦЕЛЬ(#МОЖЕТ ОШИБАТЬСЯ $?Г) (TEOPTBF ТЕОРИСТИН)) (57) что заставляет PLANNER сначала исследовать базу данных, чтобы определить, есть ли там хоть одна константа, для которой способность ошибаться записана как ее свойство, и затем, если поиск не приводит к успеху, применить любой имеющийся метод доказательства, чтобы вывести способность ошибаться. Поскольку (55) устанавливает теорему, следствием которой являются способ- ность ошибаться, PLANNER просмотрит базу данных в поисках подходящих условий для предыдущего члена отношения. Если (57) оценена на базе данных (56), то вернется ответ ФУТБОЛЬНЫЕ ТРЕНЕРЫ. Если предложение (#МОЖЕТОШИБАТЬСЯ ФУТ- БОЛЬНЫЕ ТРЕНЕРЫ) было удалено из базы данных, а вопрос задан снова, то ответом будет ПЛАТОН, поскольку (#ЧЕЛОВЕК :ПЛАТОН) содержится в базе данных и по (55) (#МОЖЕТ ОШИ- БАТЬСЯ:ПЛАТОН) — имплицированный факт. Усложнили во- прос: „Любой ли грек может ошибаться?** Программа в этом случае спросит так: ТЕОРПРОГР(У) (ТЕОРЦЕЛЬ(# И (#МОЖЕТОШИБАТЬСЯ $?Ю (#ГРЕК $?Г))) (58) Вначале программа обнаружит, что ФУТБОЛЬНЫЕ ТРЕНЕРЫ могут ошибаться, но она не может доказать, что все они ГРЕКИ.
336 Гл. 11. Эвристические программы решения задач В игру вступает свойство „возвращаться назад" языка PLANNER, поскольку система автоматически возвращается назад, чтобы найти второй объект, который МОЖЕТ ОШИБАТЬСЯ. На этот раз обна- ружилось, что по выводу ТЬЮРИНГ МОЖЕТ ОШИБАТЬСЯ, но ТЬЮРИНГ не ГРЕК. PLANNER возвращается снова, доказывает, что по выводу ПЛАТОН МОЖЕТ ОШИБАТЬСЯ, и затем находит, что ПЛАТОН ГРЕК. В дополнение к иллюстрации возвращения назад этот пример полезен тем, что показывает, насколько важно упорядочение целей. Очевидно, потребовалась бы гораздо меньшая обработка данных, если бы (58) было переписано в виде ТЕОРПРОГР(У) (ТЕОРЦЕЛЬ(#И(#ГРЕК $?У) (#МОЖЕТОШИБАТЬСЯ $?/))) (59) что заставило бы PLANNER сначала найти греков, а затем дока- зать, что они могли ошибаться, вместо того, чтобы использовать любой другой окольный путь.
Глава 12 ДОКАЗАТЕЛЬСТВО ТЕОРЕМ1) 12.0. Доказательство теорем, основанное на эрбрановской процедуре 12.0.1. Общие понятия Для машинного решения задач нужен формальный прием, поз- воляющий представить в машине элементы решаемой задачи; кроме того, должно быть задано множество механизируемых операций для работы с таким формальным представлением. Изложенный в гл. 11 подход, основанный на пространстве состояний, дает формализм, который часто можно считать „естественным"; во всяком случае, он легко понимается людьми. К сожалению, из-за сложности выбора нужного правила из большого числа возможных правил вывода машинное решение задачи может стать неосуществимым. Другой подход состоит в применении некоторого способа представления, возможно, менее понятного для людей, однако приводящего к более непосредственному машинному представлению и к более простым операциям над символами. Оказалось, что необычно мощный эффект дает представление всех „задач" в широком смысле слова в виде тео- рем, доказываемых в рамках исчисления предикатов первого по- рядка. Дж. Робинсон (1965, 1967) предложил простой метод для ра- боты с соответствующими выражениями, легко реализуемый на ЭВМ. Для объяснения работы этого метода обсудим сначала сущ- ность доказательства теорем. В доказательстве теорем стараются показать, что определенное правильно построенное выражение (п. п. в.) В есть логическое след- ствие множества п. п. в. S={A1( . . . , Ak}, называемых аксиомами рассматриваемой задачи. Правило вывода есть правило, при по- мощи которого из ранее полученных выражений можно получить 1) При подготовке этой главы я существенно использовал результаты бесед с моей коллегой д-ром Шарон Сикел. Всякая ответственность за ошибки, безус- ловно, ложится только на меня.
338 Гл. 12. Доказательство теорем новые. Например, если At и А}—ранее полученные1) п. п. в., то запись fq(Ait A,-) — Ak (1) указывает, что Ak можно получить из At и Aj с помощью правила вывода fq. Рассмотрим теперь последовательность множеств So, . . ., Sy, образованную из некоторого множества аксиом S по правилу s0 = s, Sy+1 = Sy U F (Sy), (2) где F (S) — множество выражений, которое можно получить из множества S, применяя к каждому его элементу все возможные правила вывода f из конечного множества правил F={/(?). Говорят, что высказывание В следует из аксиом, принадлежащих S, если В С Sy- для некоторого /. Продукции из гл. 11 можно интерпретировать как правила вывода. Трудность там возникала из-за того, что множество F было относительно большим и приводило к быстро растущему числу членов последовательности (2). Этой трудности не было бы, если бы множество F было мало. Например, пусть F состоит из един- ственного правила вывода (4VB)-(1^VC)->(BVC). (3) Этого достаточно для доказательства любой теоремы в исчислении предикатов первого порядка. Правило (3) составляет основу для до- казательства теорем с использованием принципа резолюции. 12.0.2. Обозначения Для формального описания метода нам понадобятся обозна- чения, употребляемые в исчислении предикатов первого порядка. В этом предварительном изложении мы обойдемся без кванторов, т. е. без высказываний вида „все х суть у“ или „по крайней мере один х есть у“. Областью рассмотрения (универсумом) будет мно- жество элементарных символов: константы, обозначаемые бук- вами а, Ь, с, .... переменные, обозначаемые „последними** буквами латинского алфавита . . ., х, у, г, и функции. Функции представля- ют собой отображения, например, функция от п переменных отобра- жает множество D" (всех возможных упорядоченных наборов из п элементов) в множество D. Например, сложение — это бинарная функция, отображающая пару вещественных чисел в одно вещест- венное число. Функции будут обозначаться буквами /, g, h. Нако- нец, прописные буквы (обычно Р, Q) будут обозначать отношения, или предикаты. Предикат от п аргументов отображает D" в мно- 1) То есть высказывания А; и А, истинны.— Прим. ред.
12.0. Доказательство, основанное на эрбрановской процедуре 339 жество {И, Л}, состоящее из двух элементов: И — истина, Л — ложь. Другими словами, любое «-местное отношение либо истинно, либо ложно. Исследуем структуру правильно построенного выражения. Терм — это константа, переменная или функция. В качестве своих аргументов «-местная функция должна иметь « термов. Таким обра- зом, термами будут а, Ь, с, f(a), g(f(x,) у), h(g(a, w), Атомной формулой, или атомом, называется предикат со своими аргументами: R(f(x), а), Р (а, у), Q(g(a, b), f(x)). Литерал — это атомная формула или ее отрицание. Когда структура атомных формул не существенна, будем обозначать их А, В, . . ., а их отрицания — “| Д, В, . . . . Когда структура литерала не существенна, будем обозначать t-литерал через Lt. Таблица 12.1 Простые высказывания о неравенствах в обозначениях предикатов Выражение Обозначение Возможная интерпретация, замечания Константы и переменные а, Ь х, у Функции и термы а, b — любая пара вещественных чисел х, у—переменные, принимающие вещественные значения f (х, У) х+У Функции вещественных чисел g (х) х2 Атомы Ri (х, у) X > у, А1 Атом Aj принимает значение ис- R» (х, У) х < у, Аг тина или ложь в зависимости Rs (х,.у) х — у, Ая от значений хну Аналогично для атомов А2 и А3 Литералы 1Ri(x, у) х>У, ПЛ1 Атом и его «знак» Ra(x, У) х < у, Аг Предложения (Ri(x, y),Ri(x, y),Rs(x,y)) С, Для всех х или х > у, или х < у, ИЛИ X — у ("]Ri(x, У), "|Ra(x, у)) Сг Или х^У< «ли х~%> у (R2(x, a), Ri(g(x), х)) С3 Или х < а, или х2 > х Истина при а = 1 и х Ф 1
340 Гл. 12. Доказательство теорем ПредложениемС называется дизъюнкция литералов. Мно- жество предложений S интерпретируется как единое высказывание, представляющее собой конъюнкцию всех его предложений. По- скольку атомные формулы, будучи предикатами, принимают зна- чения из множества {И, Л}, то значения истинности атомов из соот- ветствующего множества определяют значения истинности предло- жений, которые можно построить из этих атомов. В табл. 12.1 приведены некоторые простые высказывания от- носительно неравенств, выраженные в описанных обозначениях 2). Здесь константы (а, Ь} должны интерпретироваться как любые два вещественных числа, а функции следует рассматривать как одно- значные функции вещественных чисел. Предикатами здесь являются три возможных отношения порядка для любой пары вещественных чисел (больше, меньше, равно). Очевидно, что любое высказывание о конкретном упорядочении данной пары либо истинно, либо ложно, в том числе и высказывание „Предложения clt с3, с3 принадлежат S“, которое означает, что эти предложения одновременно принимают значение истина. 12.0.3. Метод доказательства от противного Как уже отмечалось, высказывание Т следует из множества пред- ложений S, если Т есть логическое следствие высказываний (пред- ложений) из S. Предположим для простоты, что Т состоит из един- ственного предложения Т. Рассмотрим множество предложений SUT = {Ci......с„, Т\. (4) Для того чтобы высказывание S U Т было истинным, все предло- жения Ct и Т должны быть истинными. В свою очередь значения ис- тинности этих предложений будут определяться значениями ис- тинности содержащихся в них атомов, причем значения истинности должны присваиваться атомам так, чтобы по крайней мере один литерал в каждом предложении был истинным. Отдельное присваи- вание атомам значений истинности называется моделью. Еели S влечет за собой Т, то не существует модели, в которой высказывание S истинное, а Т нет. Вместе с тем, если высказывание Т истинное, его отрицание -]Т должно быть ложным. Поэтому если S влечет за собой Т, высказывание SU'|T = {Ci......(5) должно быть ложным для любой модели. *) В оригинале clause; употребляется также термин дизъюнкт.—Прим. ред. 2) В качестве иллюстраций к доказательству теорем обычно приводят более интересные примеры из теории групп. Мы намеренно избегаем этого, поскольку не хотим дополнительными трудностями отвлекать внимание от принципов рас- сматриваемого подхода. Более сложные иллюстрации применения метода резолю- ции можно найти в работе Хэйеса и Ковальского (1969).
12.0. Доказательство, основанное на эрбрановской процедуре 341 Предположим на некоторое время, что число атомов конечно. Тогда существует конечное число моделей, так как k атомам можно присвоить логические значения только 2* различными способами. Ясно, что можно было бы сделать это каким-то систематическим об- разом и каждый раз определять значения истинности и для Ci и Т. Если для всех моделей высказывание (5) окажется ложным, то, бе- зусловно, S влечет за собой Т. Такое рассуждение, называемое до- казательством от противного, составляет основу всех излагаемых в этой главе методов доказательства теорем. 12.0.4. Модели и опровержение Из предыдущего рассуждения следует, что доказать противоре- чивость высказывания вида (5) в принципе тривиально, если число атомов конечно. Тривиальна ли эта задача на практике, зависит, разумеется, от количества атомов и от наших возможностей поро- ждать и проверять модели. Вместе с тем интересно выяснить условия, гарантирующие конечность числа атомов. S — это множество вы- сказываний, истинных для тех атомов, которые непосредственно входят в S, и тех, которые можно из первых вывести. Последнее множество может быть бесконечным; в этом легко убедиться на сле- дующем тривиальном примере. Пусть S — высказывание, содержа- щее единственный атом: S={7?1(a, х)}. (6) Предположим, что определена функция g(x). Из (6) можно постро- ить бесконечную последовательность Ri(a, х), Rt(a, g(x)), (a, g(g(x)))......... (7) Эта последовательность перечислима, т. е. можно придумать схему перечисления, по которой упорядочены любые два высказывания из этой последовательности. (В этом примере можно было бы просто подсчитывать уровень вложения второго аргумента.) И вообще всег- да можно построить схему перечисления бесконечного множества атомов, полученного из конечного множества при помощи некоторой подстановки. Предположим на время, что в S нет переменных. Такая ситуация называется основным случаем, а соответствующий универсум (об- ласть определения) называется эрбрановской базой. В основном слу- чае можно провести перечисление. Для иллюстрации такой про- цедуры воспользуемся упрощенной версией примера (табл. 12.1) и докажем для конкретной пары чисел (а, Ь) (а не для нары чисел вообще, которую мы записали бы в виде (х, у)) истинность высказы- вания а = b —> а Ь. (8)
342 Гл. 12. Доказательство теорем Атомами здесь будут Ах: Л2: а > b а <_Ь а~Ь (9) Соответствующие предложения из А и их интерпретации таковы: Ci (Ар Л2, Ая) с2 (“|А1( -]Л2)а Ся (-|AV -|ЛЯ) . С, (“|Л2, -|A„)J Выполняется одно из отношений. Не выполняются одновременно (19) никакие два отношения. В этих обозначениях высказывание (8) имеет вид Л3э"]Л1) а его отрицание — вид A3-Ai. Для большей наглядности запишем это в виде двух отдельных предложений: “1Л (Ая) “|Т2 (Ах) (Н) Объединяя (10) и (11), получаем S = A(J “|Т = {(Л1, Л2, Л„), (-|AV -|Л2), (-JA,, -|ЛЯ), (-|Л2, -|АЯ), (Лх), (А3)}. (12) Поскольку в S может быть только 23=8 атомных высказываний, легко построить все возможные модели (см. табл. 12.2). Если для каждой из них хотя бы одно предложение в S принимает значение ложь, то высказывание вида (5) будет ложным, и потому высказы- вание (8) будет истинным. Таблица 12.2 Модель Предложения, которым присваивается значение ложь Л1, А2, Аз Ai, Л2, -]Л3 Л1, П л2, Ля Л1, П^а> ~]ЛЯ л2, Ля ~|Л1, Л2, ~]Л3 ~]Л1, ”] Л2, Л3 ~]Л1, *1 Лг. 1Л3 с2, С3, с4 с2. ПЛ Сз пл С4. уг2 пл, пл пл Л, ПЛ, ПЛ
12.0. Доказательство, основанное на врбрановской процедуре 343 Доказательство проводится (рис. 12.1) исключительно механиче- ским способом (и не самым эффективным). На этом рисунке показано дерево порождения моделей. В каждом внутреннем узле дерева вы- бирается атом, а две выходящие из этого узла дуги определяются как значения истина и ложь упомянутого атома. В качестве первого узла здесь выбран узел Л1( так что все дуги, расположенные „слева11 от корня, указывают на модели, в которых А± принимает значение истина, а все дуги „справа** от корня указывают на модели, в кото- рых At принимает значение ложь. Если высказывание (8), в самом Рис. 12.1. Дерево моделей для простой задачи без переменных. деле, имплицируется (10), то каждая из этих моделей, представлен- ная концевым узлом рассматриваемого дерева, припишет значение ложь по крайней мере одному из предложений в S U Т. В этом можно убедиться, проверив полученные модели. Поскольку в табл. 12.2 нет таких комбинаций атомов, которые могут присвоить высказыванию (12) значение истина, то гипотеза (8) логически следует из соответствующих аксиом. К сожалению, этот метод для более сложных случаев может не работать. Легко придумать высказывание с таким большим числом атомов, что этот метод перечисления окажется практически непри- годным. Более того, возможен случай, когда наш универсум Эрб- рана *) будет содержать бесконечно много атомов. Наконец, хотя этот метод и приводит к результату, он избыточен. Можно показать, что высказывание (12) противоречиво, исследуя и меньшее число мо- делей. Рассмотрим поддерево, изображенное на рис. 12.2, которое Определение универсума Эрбрана см. в книге Нильсона (1971).— Прим, перев.
344 Гл. 12. Доказательство теорем получается из дерева рис. 12.1, если оставить ветви, содержащие только атомы Л1 и Ая. Концевые узлы дерева (рис. 12.2) соответ- ствуют случаям, когда определены значения истинности только для атомов At и Ая. Если все комбинации значений At и Ая присва- ивают некоторому высказыванию значение ложь, то ясно, что оно противоречиво. В рассмотренном примере это можно показать, про- Рис. 12.2. Дерево более общих моделей. сто проверив все частичные присваивания значений истинности ато- мам Ai и Ая (см. табл. 12.3). Таблица 12.3 Частичное присваивание Предложения, которым при- сваивается значение ложь А, Ая А» 1АЯ ПА, Ая ПА, -]ЛЯ Ся 1Т1 ПЛ пл, пл 12.0.5. Теорема Сколема — Эрбрана — Гёделя Способ прийти к противоречию, проверяя частичные присваива- ния, позволяет избежать перечисления всех моделей. Приведенный выше пример показывает, что с помощью частичного присваивания можно доказать противоречивость. Теорема Сколема — Эрбрана — Гёделя дает логическое обоснование излагаемых в этой главе ме- тодов. В ней утверждается, что можно найти частичное присваи- вание, приписывающее значение ложь любому противоречивому множеству предложений (Робинсон, 1967). Покажем, как можно использовать этот факт в доказательстве теорем.
12.0. Доказательство, основанное на эрбрановской процедуре 346 Пусть S(xi, х2, . . х9)— высказывание (множество предло- жений), содержащее q переменных. При помощи подстановки можно заменить каждую переменную на терм, который может быть либо функцией вида f(a, b, xit х;), либо константой. Множество таких замен счетно, причем некоторые из них могут содержать q'>q пере- менных. Далее, заданное высказывание имплицирует свои частные случаи и счетное число других высказываний, а любое отдельное вы- сказывание содержит конечное число атомов. Тогда с исходным вы- сказыванием S связан некоторый универсум — универсум Эрбрана, содержащий счетное число атомов. Из этих атомов можно построить бесконечное двоичное дерево (рис. 12.3). Каждый его узел соответ- Рис. 12.3. Бесконечное двоичное дерево атомов. Каждый узел дерева соответствует частичному присваиванию атомам значений истинности. ствует частичному присваиванию значений истинности атомам уни- версума Эрбрана. Рассмотрим последовательность высказываний So, Si, . . . , Sj, полученную с помощью подстановок в общее вы- сказывание S. Поскольку каждое высказывание S; является част- ным случаем общего высказывания S, то S^jS, для всех i. Предпо- ложим, что в результате частичных присваиваний в некотором дере- ве типа изображенного на рис. 12.3 высказывание S; принимает зна- чение ложь. Тогда будем говорить, что на этом частном случае дере- во оканчивается. Это означает, что высказывание S; ложное (точ- нее, невыполнимое как логическая функция). Поскольку S,- получается из S некоторой подстановкой, то при ложном Sj высказывание S также должно быть ложным: если бы оно было истинным, то и любое имплицируемое им высказывание также было бы истинным. В теореме Сколема — Эрбрана — Гёделя утверждается, что если S ложное (невыполнимое), то для некоторого I высказывание S, будет невыполнимым. Это наводит на мысль об одном методе ме- ханического доказательства теорем. „Все“, что надо сделать, это образовать последовательность высказываний Sb S2, .... Sj, каждое из которых получается некоторой подстановкой в S, по- строить дерево частичных присваиваний, содержащее все атомы
346 Гл. 12. Доказательство теорем высказывания S;, и проверить его выполнимость. Если S имеет вид (5), т. е. содержит несколько аксиом и отрицание требуемого за- ключения, то при невыполнимости S; высказывание, содержащее указанные аксиомы и требуемое заключение (как в (4)), выполнимо, при условии что множество аксиом непротиворечиво. Однако в том виде, в каком эта процедура описана, ее трудно применять на практике. Как показал пример с неравенствами, для заданного высказывания (даже без подстановки) уже при одном пере- числении всех возможных моделей может потребоваться исследо- вать больше моделей, чем это необходимо для доказательства того, что высказывание невыполнимо. Более того, слепое применение под- становок в S даст очень много высказываний Sy, которые на самом деле будут выполнимы. Это сложная задача. Если высказывания порождаются и проверяются без всякого плана, то для решения да- же весьма простых задач число необходимых высказываний часто превосходит возможности самых больших вычислительных машин (в смысле требуемых быстродействия и памяти). Нужен метод огра- ничения числа получаемых для последующего рассмотрения выска- зываний, а для заданного высказывания, которое на самом деле не- выполнимо, нужен метод ограничения числа необходимых частич- ных присваиваний. 12.1. Принцип резолюции 12.1.0. Введение В этом разделе рассматриваются принцип, резолюции и основан- ные на нем методы доказательства теорем. Прежде всего покажем,что метод вывода, называемый резолюцией, непротиворечив и полон. Это означает, что этим методом доказываются лишь справедливые теоремы, причем, если теорема справедлива, она доказывается за ко- нечное число шагов. Как упоминалось в предыдущем разделе, это осуществляется косвенным образом, поскольку основная стратегия доказательства заключается в том, чтобы показать несправедли- вость противоположной теоремы, а не пытаться непосредственно вывести исходную. Точнее, резолюция — это метод доказательства того, что ложное высказывание ложно, а не того, что истинное высказывание истинно. Сначала мы докажем, что этот метод непротиворечив и полон для основного случая, когда опровергаемые высказывания S не содержат переменных. Это будет сделано, чтобы показать, как доказываются определенные свойства применяемых специальных методов, и чтобы продемонстрировать собственно резолюцию. Затем покажем, что метод годится также и для общего случая, когда опровергаемые вы- сказывания содержат переменные.
12.1. Принцип, резолюции 347 12.1.1. Резолюция для основного случая Рассмотрим высказывание S, содержащее предложения Ci, С2,... Сп, IT1, не имеющие переменных. Пусть в S есть такие два предложения, что если в одно из них входит некоторый литерал, то в другое входит его отрицание: = L2, LJ, C2 = (Z-3. W- 1 } Их конъюнкция имплицирует третье предложениех) С3= = (Li, Ьг, La): (Llt L2, Lt)-(La, IL^)—►(L1, L2, L3). (14) Будем говорить, что Ca выводится из Ci и С2. Предложение С3 будет называться резольвентой предложений Сх и С2, a Ci и С2 будут на- зываться родительскими предложениями для Са. Если бы предложе- ние Са использовалось в последующей резолюции, скажем, при получении предложения С4, то С1( С2 и Са были бы предками для Ct, а С4— потомком предложений Сь С2 и Са. Для более общего определения будем считать предложения Ct и С} такими множест- вами литералов, что если С, содержит литерал L, то Су содержит ли- терал "(Л. Предложение Ск, являющееся резольвентой для Ct и Су, имеет вид СА = {С/-{Л}}и{Су-{-]Л}}. (15) Множество предложений S выполнимо, если существует модель, для которой конъюнкция предложений из S истинна. Далее, если S выполнимо, то любое множество S', состоящее из S и предложений, выведенных из S резолюцией, должно также быть выполнимым. Поэтому если S' невыполнимо, то S должно было быть также невыполнимым. Конечно, это просто переформулировка примени- тельно к резолюции того, о чем уже говорилось. Резолюция предо- ставляет легкий способ показать, что определенные множества S' невыполнимы для любой модели. Поскольку значение истинности предложения является дизъюнкцией значений истинности его литералов, оно не должно измениться, если добавить к предложе- нию „всегда ложное1* высказывание F. Поэтому любое предложение С= (Li, La, . . ., Lk) можно заменить на С*= (Llt L2, . . ., Lk, F). Множество высказываний S*, построенное так из S, всегда имеет те же значения истинности, что и S. Предположим теперь, что после одного или нескольких „раундов" расширения множества S при помощи резолюции получаются два предложения, которые (если х) Это легко показать, рассмотрев соответствующую таблицу истинности.— Прим, персе.
348 Гл. 12. Доказательство теорем не считать F) являются одиночными литералами, дополнительными относительно друг друга. Резольвента этих двух предложений имеет вид (L.F).(IL, F) = (F). (16) Это всего ложное высказывание, которое не может быть выполни- мым ни для какой модели. Поэтому любое расширение S' высказы- вания S, содержащее предложение (F), будучи конъюнкцией своих предложений, должно быть невыполнимо. Тогда S также будет невыполнимо. Другими словами, порождения из S при помощи ре- золюции всегда ложного высказывания (F) достаточно для того, чтобы утверждать, что S невыполнимо. На практике можно не до- бавлять F, а говорить, что при помощи резолюции порождается пустое предложение ( ). Предыдущее рассуждение показывает, что если можно получить ( )из S при помощи резолюции, то S должно быть невыполнимым. Для завершения доказательства непротиворечивости принципа резолюции нужно показать, что если S невыполнимо, то ( ) всегда можно получить при помощи резолюции. Для этого применим син- таксическую процедуру, разработанную Андерсоном и Бледсоу (1970). Доказательство проводится индукцией по числу k(S) „лиш- них" литералов: fe(S) = (число вхождений литералов в S) — — (число предложений в S). О?) Например, высказывание «.{(Л), (£х, ZJ, (ПЛр L2, L„, ZJ} (18) содержит три предложения и £(S)=(l+2+4)-3=4. (19) Интересно отметить, что k (S) описывает структуру рассматриваемого высказывания S и не зависит от присваивания его элементам зна- чений истинности. Таким образом, доказательство Андерсона и Блед- соу служит примером синтаксического доказательства, при помощи которого показывается, что некоторое утверждение верно для всех возможных структур множества S. Его можно противопоставить се- мантическому доказательству, в котором показывается, что неко- торое утверждение относительно S верно для всех его возможных моделей. Наши предыдущие рассуждения носили, конечно, семан- тический характер. Теорема. Если S — невыполнимое множество основных предло- жений, то при помощи резолюции из S можно вывести ( ). Доказательство. Сначала предположим, что k(S)=0. Тогда либо каждое предложение является одночленом (так что число
12.1. Принцип резолюции 349 литералов равно числу предложений), либо одно предложение со- держит два литерала, а другое пусто (так что „лишний" литерал компенсируется). Если S содержит ( ), то теорема очевидна, по- скольку ( ) „выводится", будучи одной из аксиом. Если все пред- ложения в S одночлены, то S имеет вид s = M). (-|л2), (Л2), (Ля), (лд ...}. (20) Другими словами, каждое предложение содержит точно один атом и каждое отдельное предложение истинно при любом присваи- вании, при котором его единственный литерал принимает значение истина. Поскольку по предположению множество S невыполнимо, каждое полное присваивание должно приводить к значению ложь для S. Это означает, что в S должна быть по крайней мере одна пара предложений, литералы которых дополняют друг друга так, что любое присваивание приводит к значению истина для одного и ложь для другого, гарантируя, таким образом, что для любой моде- ли множество S всегда содержит по крайней мере одно невыпол- нимое предложение. (В высказывании (20) эту роль играют второе и третье предложения). Если разрешить друг с другом такие два предложения, то получится ( ), например ((Л)-("1А))->( ) (21) Итак, теорема верна для fe(S)=0. Базис индукции доказан. Для проведения индукции предположим, что теорема справедли- ва для &(S)<n, множество предложений S невыполнимо и k(S)=n. Если S уже содержит ( ), то теорема тривиальна. Предположим, что это не так. Так как k (S)>0, то в S по крайней мере одно предложе- ние С содержит более одного литерала. Пусть таким предложением будет С=(Д, L), где L — литерал и А —С—{L}. Запишем множество S в виде S = S'U{0, А)}; (22) тогда S' определится как S'=S— {С}. Из S' можно получить два множества, расщепив С на компоненты: S^S'URA)}, (23а) S2 = S'и {(£)}. (236) Поскольку в и S2 то же число предложений, что и в S, a Si содер- жит на один литерал меньше и S2 содержит по крайней мере на один литерал меньше, то klS^k^Xkl^n, (24) так что по предположению при невыполнимости Sx и S2 из них мож- но получить ( ). Можно показать, что они должны быть невыполни-
350 Гл. 12. Доказательство теорем мыми. Пусть М*— множество таких моделей, что для любого присваивания ш*€М* предложение С истинно. (Такое множество всегда существует.) Поскольку множество S=S' (J {(Л, L)} по пред- положению невыполнимо, то оно должно быть невыполнимо и для любой модели из М*. Поэтому любая модель ш* £ М* должна присва- ивать значение ложь некоторому предложению С* g S'. В частности, все присваивания, для которых А или L истинны, принадлежат М*, и каждое из них должно придавать значение ложь некоторому предложению С* £ S'. С другой стороны, любая модель, не принад- лежащая М*, должна присваивать значение ложь как (Л), так и (L), поскольку в противном случае С не было бы ложным. Это оз- начает, что любое присваивание, принадлежит оно М* или нет, должно присваивать значение ложь Si и S2, поскольку любое при- сваивание из М* приводит к значению ложь для S', а любое присва- ивание не из М* приводит к значению ложь как для (Л), так и для (L). Таким образом ( ) можно вывести резолюцией или из Si, или из S2. Обозначим через Rk (S) множество, полученное в результате при- менения к S k шагов резолюции. Мы доказали, что существуют та- кие i и /, что ( )€/?'(SJ, (25а) ( )€tf'(S2). (256) Предположим теперь, что i шагов, приведших к (25а), применены не к Si, а к S=S' U {(Л, L)}. В результате получится или ( ), или (L). (В этом легко убедиться, заметив, что предложение (L) играет здесь роль F.) Если получится пустое предложение ( ), то оно и было бы выведено из S при помощи резолюции. Если получится (L), то, поскольку S'sS, (S'u{(A)}} = S2s/?<(S). (26) Теперь для вывода ( ) можно к S2 как к подмножеству множества R‘(S) применить / шагов резолюции, приведших к (256). Теорема доказана. Пример. Проиллюстрируем резолюцию простым, уже упо- минавшимся, примером с неравенствами. Напомним аксиомы. (Их интерпретация, несущественная здесь, дана в предыдущем раз- деле.) Ci (Лх, Л2, Ля) С2 (ПЛ, -]Л2) С3 (ПЛ,, -]ЛЯ) ct (~|Л2, -]ЛЯ) ПЛ Их) ПЛ (Л,)
12.1. Принцип резолюции 351 Разрешим сначала С3 и “IT1!: Rt (“Мх, 1Л,).(Д1)^(-|Д8). (27) Затем разрешим /?х и “]7\ (Д,)-( “| Дя) —+ ( ); (28) пришли к противоречию. Решение этого примера настолько очевидно, что мы ничего не сказали о том, как выбиралась резолюция. Правильный выбор на самом деле составляет наиболее трудный шаг в доказательстве тео- рем при помощи принципа резолюции. Алгоритмы полного перебора приведут к большому числу резолюций, несущественных для вывода пустого предложения ( ). Например, рассмотрим следующий ите- ративный алгоритм. (i) Упорядочить предложения от 1 до п. (ii) Положить 1=1. (iii) Провести все возможные резолюции предложения i с пред- ложениями i+1, i+2, . . ., п, добавляя выведенные предло- жения в качестве предложений п+1, п+2, . . ., и*. (iv) Увеличить i на 1, положить п=п* и перейти к шагу (iii). Этот процесс продолжают до тех пор, пока не выводят пустое пред- ложение.- Ясно, что этот алгоритм даст все резолюции, которые можно получить, включая многие совсем лишние. Для приведенно- го выше очень простого примера первые три резолюции таковы: (Дх, Д„ ДЯ)-(~]Д1, -]Л2) —(Д2, дя, -|Д2) (Дх, Д2, Дя)-(-|Д1, “|Л2) —(Ах, дя, 1ДХ) (29) (Дх, Д2, Дя)-(-|Дх, -]ДЯ)^(Д2, Дя, -]ДЯ) Ни одно из полученных предложений не должно фигурировать в доказательстве, поскольку это тавтологии, т. е. предложения, со- держащие литерал и его дополнение, и потому они не могут быть ложными ни для какой модели. В других случаях этот итеративный алгоритм построит предложения, которые, хотя и не будут тавто- логиями, все равно не ускорят ход доказательства. 12.1.2. Применение резолюции в общем случае Для формирования резольвенты надо найти два предложения с дополняющими друг друга литералами. Это легко сделать для ос- новного случая, поскольку дополнения нетрудно обнаружить. В общем случае дополняющие друг друга литералы можно найти под- становкой. Проиллюстрируем это другим примером из области не- равенств. Пусть х, у — переменные, принимающие целые положи- тельные значения. Обозначим для ясности отношение „равно" через Е, а отношение „больше чем" через G. Наконец, пусть произведение
352 Гл. 12. Доказательство теорем XfXj обозначается p(xt, Xj). Множество таких предложений и их интерпретации приведены в табл. 12.4. Таблица 12.4 Предложение Интерпретация Cj (Е (х, х)) С2 (Е (р (х, 1). х)) С3 (~|G (х, у), -]Е (х, </)) Ci (G (р (х, у), х)) х = х х. 1 =х (*>!/) V (х ф у) (Х-У) > X Это множество невыполнимо, так как С4 ложно для у=\. Резолю- цию в том виде, как она описана, нельзя применить для доказа- тельства этого факта, поскольку вообще нет дополняющих друг дру- га литералов и потому нет основы для проведения резолюции. Од- нако можно выбрать два предложения в качестве кандидатов для резолюции и, даже если их нельзя непосредственно разрешить, по- пытаться найти последовательность подстановок, приводящую к разрешению двух предложений, полученных из исходных. Рассмо- трим возможную резолюцию предложений С3 и С4: (1G (х, у), "J Е (х, у)) • (G (р (х, у), х)). (30) Эти предложения подходят на роль кандидатов для резолюции, поскольку один и тот же предикат G появляется в своей обычной форме в одном предложении и как дополнение в другом. Эго условие необходимо для резолюции. Сначала надо найти подходящую подстановку. При этом надо быть осторожным и не перепутать имена переменных из разных предложений. Поэтому переменные в левом предложении (С3) мы обозначим хъ х2, . . ., а в правом (С4) — уи у2......Тогда (30) примет вид (~|G(x1, х2), ']Е(х1, х2))-(О(р(у1, у2)уг)). (31) Правило подстановки заключается в том, что терм можно подста- вить вместо переменной, не содержащейся в нем, при условии, что эта подстановка непротиворечива. Новое высказывание есть спе- циальный частный случай исходного предложения, называемый подстановочным частным случаем. Подставляя p(yi, у2) вместо xL в (31), получаем Уг)х2), ']Е(р(у1, у2), х2)) • (G (р (yit у2), уг)). (32) Подстановка уг вместо х2 дает ("|G(P(^i. У2)> Уг)< "1£(Р(У1. У2>> ^i))-(G(p(^, у2), ^)). (33)
353 12.1. Принцип резолюции Для (33) можно провести резолюцию: R1 ("1£ (р(У1, Уг), ^1))- Затем можно разрешить С2 и Rt. Для этого опять во избежание пу- таницы переименуем переменные: 1), х1))-(']£'(р (У1, у2), ^)). (34) Подставляя Хг вместо у! и 1 вместо у2, проводим резолюцию и по- лучаем (£(?(%!, 1), xj) • (1Е (р (xn 1), xj) -► ( ). (35) Итак, мы вывели ( ) и тем самым доказали, что исходное множество предложений невыполнимо. Для возможности механического применения такого рассужде- ния надо иметь алгоритм нахождения соответствующей последова- тельности подстановок, дающий предложения в разрешаемой форме. Более того, такой алгоритм должен всегда находить указанную по- следовательность, если она существует. Разработанный Дж. Ро- бинсоном (1965) алгоритм унификации обладает обоими этими свой- ствами. Для его описания понадобятся дополнительные определе- ния. Пусть А — множество атомов. Подстановкой 9 называют опера- цию 9=(/1/у1, /2/у2, ..., tkivk), (36) где ti и Vt— соответственно терм и переменная из А. Когда приме- няется 9, каждый терм ti заменяет соответствующую переменную Vi во всем множестве А. Новое множество атомов обозначается А9. Будем также обозначать С9 и S9 соответственно предложение и вы- сказывание, получающиеся в результате замены 9 всюду в С или в S. Пустая подстановка будет обозначаться через е. Для любого множества атомов А можно построить множество рассогласования', сначала выделяется первая позиция, в которой не все атомы имеют одинаковые символы, а затем из всех атомов выписы- ваются термы, начинающиеся с этой позиции. Например, если А = {Р(х, f(y, г)), Р(х, а), Р(х, g (h (k (х))))}, (37) то множеством рассогласования D (А) будет О (А) = {/(//, г), a, g(h(k(x)))}. (38) Множество рассогласования D (А) пусто тогда и только тогда, когда все элементы А одинаковые. Лексическое упорядочение — это такое упорядочение термов в множестве рассогласования, когда все переменные символы (если 12 Э. Хант
354 Гл. 12. Доказательство теорем они есть) располагаются перед постоянными символами, а все по- стоянные термы упорядочены некоторым непротиворечивым обра- зом. Алгоритм унификации для множества атомов А={Л1, А2,... . . ., Лп} состоит из следующих шагов: 1. Положить k=0 и сделать подстановку пк=е. 2. Положить A=Anft. Если все элементы множества А одинако- вы, то алгоритм заканчивает работу и сообщает об удаче, при этом 0=лол1. . ,пк. (Отметим, что из определения под- становки следует, что последовательность подстановок есть также подстановка.) В противном случае продолжать работу. 3. Построить множество рассогласования D (А) и лексически упорядочить его. 4. Пусть Vr и Uг— первый и второй элементы лексически упоря- доченного множества D (А). Если Vr не является переменной или, будучи переменной, содержится в Ur, то алгоритм закан- чивает работу и сообщает о неудаче. В противном случае положить k—k+l, nk—{Ur/Vr} и перейти к шагу 2. Алгоритм унификации или сообщит о неудаче, если ни одна по- следовательность подстановок не сможет преобразовать все атомы множества А в одинаковые, или найдет нужную подстановку 9 такую, что все элементы множества АО одинаковы. В этом случае будем говорить, что 0 унифицирует А. Более того, 9 — наиболее общий унификатор для А в следующем смысле. Предположим, что существует другая подстановка 9*, которая также унифицирует А, но не порождается алгоритмом унификации. Унификатор 9* всегда будет иметь вид 0* = 0л, (39) где л — некоторая подстановка термов вместо переменных в А0. Тогда подстановка 0 унифицирует А и требует при этом наименьшего числа замен переменных константами и функциями. Однако 9 не обязательно единственна. Проиллюстрируем работу описанного алгоритма на примере. Пусть A = {Q (х, у) Q(a, с)} D(A) = {x, а) лг = {а/х} An1={Q(a, у), Q (а, D{An1) = {y, с} = {ФУ} Ал1лг = А0= {Q(a, с), Q(a, с)} 0 — лглг — {а/х, с/y] требуемая унификация (40)
12.2. Простые стратегии очищения 355 Для того чтобы показать, как используется унификация вместе с резолюцией, допустим, что в роли кандидатов для участия в ре- золюции выступают два предложения (Д и С2, поскольку они содер- жат противоположные по значению литералы с одинаковым пре- дикатом. Множество А определяется как множество атомов, содер- жащихся в этих литералах. Применяется алгоритм унификации, и, если он успешен, найденная подстановка проводится в обоих предложениях; в результате получаем С19 и С29. Предположим, например, что надо разрешить (P(xlt b), Q (х1( а))-(Р (уи с), 1 Q (Ь, уг)). (41) (Необходимые переименования здесь уже выполнены.) Очевидные кандидаты для резолюции — литералы, содержащие Q, так что А= {Q (х1( a), Q (Ь, у2)}. (42) Применяя алгоритм унификации, получаем подстановку Q={b/xlt а/у2}. (43) Следовательно, резольвента для (41) имеет вид (Р(Ь, Ь), Р(уис)). (44) Резолюция с унификацией представляет собой полный метод вывода (Робинсон, 1965). Сформулируем точное утверждение. Пусть S — множество предложений произвольного вида. Пу- стое предложение ( ) можно вывести из S при помощи резолю- ции и унификации тогда и только тогда, когда S невыполнимо. Этот важный результат гарантирует, что пустое предложение ( ) можно вывести из S за конечное число шагов, если S не является выполнимым. С другой стороны, неудача при выводе ( ) за какое-то конечное число шагов еще не означает, что S выполнимо, поскольку пустое предложение ( ), быть может, удалось бы вывести за боль- шее число шагов. Единственный способ доказать выполнимость мно- жества — это достичь ситуации, когда нельзя сделать новых ре- золюций, при условии, что резолюции выбираются так, что свойство полноты сохраняется. Бывают случаи, когда это не происходит. 12.2. Простые стратегии очищения 12.2.0. Очищение Применение принципа резолюции без ограничений приводит к слишком большому множеству предложений, чтобы с ним можно было работать на практике. Рассмотрим вывод пустого ( ) или ка- кого-нибудь другого предложения при помощи резолюции и соот- 12*
356 Гл. 12. Доказательство теорем ветствующее графовое представление в виде дерева (рис. 12.4). В отличие от деревьев, которые мы изучали при решении задач, это дерево „растет** вниз от листьев, представляющих исходные пред- ложения, к корню. Каждый узел, не являющийся листом (в том Исходное "* предложение —— Резолюции Рис. 12.4. Дерево вывода. Пустое предложение числе и корень), представляет предложение, полученное в резуль- тате резолюции двух предложений, расположенных непосредст- венно над ним. На рис. 12.4 показан только один из выводов. Можно было бы построить и другие выводы, распространяющиеся от исходных пред- Рис. 12.5. Распространение вывода от исходных предложений. ложений в иных направлениях (рис. 12.5). Некоторые из них при- ведут к пустому предложению ( ) и потому будут непротиворечи- выми доказательствами невыполнимости. В других случаях пустое предложение не будет получено, и, быть может, процесс никогда не закончится. Чтобы применять резолюцию на практике, надо уметь заранее определять, какие выполнять резолюции и какие произво- дить выводы.
12.2. Простые стратегии очищения 357 Алгоритм, осуществляющий отбор резолюций, называется стра- тегией очищения. Правило, изменяющее порядок, в котором про- буются резолюции, но не изменяющее их числа, будет называться стратегией упорядочения. Стратегии очищения разбиваются на три класса: синтаксические, семантические и стратегии, учитываю- щие ход вывода. Применение синтаксической стратегии предпола- гает отбор предложений, участвующих в резолюции, по критерию, основанному на их структурных свойствах, таких, как число со- держащихся в них литералов безотносительно интерпретации ато- мов рассматриваемого предложения как истинных или ложных для определенной модели. Применение семантической стратегии пред- полагает совсем обратное, поскольку отбираются предложения, про которые известно, что они истинны только для определенных моделей. Применение стратегии, учитывающей ход вывода, предпо- лагает отбор предложений для последующей резолюции на основе хода уже осуществленного вывода этих предложений. Например, в случае стратегии исходных данных в каждой резолюции должно участвовать по крайней мере одно предложение из исходного мно- жества предложений S. Стратегии очищения составляют основу для написания программ доказательства теорем, работающих только с ограниченным под- множеством всех возможных резолюций. Для того чтобы доказать, что такая программа дает непротиворечивое доказательство теорем, необходимо показать, что для рассматриваемого ограниченного мно- жества резолюций, определяемого данной стратегией очищения, вы- полняется теорема полноты *). Трудность доказательства полноты сильно зависит от выбранной стратегии. Как правило, здесь мы не приводим доказательств, а отсылаем интересующегося читателя к соответствующим работам. Некоторые стратегии очищения довольно сложны, и они будут обсуждаться каждая отдельно. Другие, кратко обсуждаемые в на- стоящем разделе, просты и легко реализуемы. Что же касается стра- тегий упорядочения, то практически все полезные стратегии просты, так что мы их тоже обсудим здесь. х) Можно возразить, что полнота не является действительно интересным свойством стратегии очищения. Аллен Ньюэлл (в частной беседе) указал, что не- зависимо от выбранной стратегии для доказательства невыполнимости множества S всегда достаточно логически корректного вывода пустого предложения ( ). Неудача в получении ( ), как уже отмечалось, еще ничего не доказывает. Какова польза тогда в знании того, что если бы программа проработала еще некоторое время, то (при невыполнимости S, а это пока не установлено) пустое предложение ( ) было бы выведено? Хотя такой довод и хорош с прагматической точки зрения, он не годится по двум причинам. Во-первых (как уже отмечалось), если стратегия полна и в некоторый момент нельзя провести новых резолюций, то S выполнимо. Чем стратегия ограничительнее, тем вероятнее, что это так и будет. Во-вторых, похоже, что полнота — важное свойство, которое целесообразно исследовать при более глубоком изучении основ механического доказательства теорем.
358 Гл. 12. Доказательство теорем 12.2.1. Стратегия предпочтения одночленов Если предложения Ci и С2 , содержащие соответственно тип литералов, можно разрешить друг с другом, то их резольвента со- держит не более (т— l)+(n— 1) литералов. Если в одном из этих предложений, скажем Ci, содержится только один литерал, то этот литерал должен участвовать в резолюции, и резольвента будет со- держать п—1 литералов. Поскольку цель рассматриваемой про- граммы — получить предложение, не содержащее литералов, то это — шаг в нужном направлении. В стратегии предпочтения одно- членов требуется, чтобы на каждом шаге вывода все резолюции, использующие предложения только с одним литералом (одночлены), вычислялись прежде других резолюций. В более общем случае ре- золюции, использующие короткие предложения, выполняются перед резолюциями с более длинными предложениями. Предпочтение одночленов служит примером синтаксической стратегии, поскольку выбор этой стратегии зависит только от струк- турных свойств предложений, участвующих в резолюции. Страте- гия предпочтения одночленов относится к упорядочению, а не к очищению, так как она меняет лишь порядок выполнения резолю- ций, но ни одну из возможных резолюций не исключает из рассмо- трения. 12.2.2. Исключение тавтологий и уникальных литералов Задача стратегий очищения состоит в том, чтобы удалить не- подходящие предложения из S до проведения резолюции. Пусть S*, S*sS, будет невыполнимым множеством предложений, таким, что любое его собственное подмножество выполнимо '), т. е. для доказательства невыполнимости S* необходимо использовать каж- дое предложение из S* по крайней мере один раз. Вообще говоря, будет более эффективным работать с S*, а не с S. В самом деле, можно доказать, что существует по крайней мере один вывод пу- стого предложения ( ), который начинается с любого предложения С* g S* (Андерсон и Бледсоу, 1970). Поэтому было бы желательно обнаружить и удалить предложения, принадлежащие S—S*, если такие существуют, прежде чем проводить резолюцию. В тех слу- чаях, когда это оказывается возможным, к удалению некоторых из таких предложений приводит исключение тавтологий и уникальных литералов. Обе стратегии легко применяются. Предложение С называют тавтологией, если оно содержит два дополняющих друг друга литерала, например А и А, где А — про- извольное атомное высказывание. Поскольку значение истинности Иными словами, S* — наименьшее невыполнимое множество.— Прим, перев.
12.2. Простые стратегии очищения 35g этого предложения определяется дизъюнкцией значений истинно- сти его литералов, то тавтология, очевидно, не может принимать значения ложь ни для одной модели, ибо высказывание (А\/ ~]Л) истинно независимо от значения истинности А. Поэтому невыпол- нимость множества S, состоящего из предложений, содержащих тавтологию С, должна вытекать из невыполнимости множества S-{C}. Предложение С можно удалить из S не только в тех случаях, когда оно является тавтологией. Его можно удалить также, если оно содержит уникальный литерал L, предикат которого Р не имеет отрицания ни в одном из литералов любого другого предложения C*£S. Это объясняется тем, что никакая резолюция, использую- щая предложение С или любое выведенное из него предложение, не приведет к ( ). Чтобы показать это, предположим, что S состоит из предложений Сх (Р(х), ~]P(b), Q (у)) С2 QP(c), Р(у)) С3 ~1Р(х)) Любая последовательность резолюций, использующих Ct, должна дать предложение, содержащее литерал Q(z/) или некоторый его подстановочный частный случай. Поскольку в S нет предложений, содержащих так или иначе “| Q (х), то нет способа удалить Q (у) или любого из его подстановочных частных случаев. Поэтому никогда не следует начинать вывод с таких предложений. Основной прин- цип заключается в том, что если С содержит уникальный литерал, то при невыполнимости S можно вывести ( ) из S—{С}. 12.2.3. Факторизация Размер предложений по длине можно уменьшить, используя подстановочные частные случаи, при которых некоторые литера- лы в предложении становятся одинаковыми. Эта операция назы- вается факторизацией. Например, предложение С=(Л (х, f (k)), А (b, у), A (a, f (х)), А (х, г)) (45) можно факторизовать подстановкой d=(b/x, f(k)/y,f(b)/z). (46) Тогда получим С0= (A (b, A (a, f(b)), A (b, f(b))). (47) С0 называется фактором предложения С. Фактор предложения не обязательно единствен. Если (46) заменить на л— (alx, f (k)ly, f (a)lz), (48)
360 Гл. 12. Доказательство теорем получим другой фактор Сл = (A (a, f (k)), A (b, f (k)), A (a, f (а))). (49) Поскольку любое предложение имплицирует свои факторы, то множество S можно дополнить, включив в него факторы его пред- ложений. Это увеличивает число предложений в S, но добавляемые предложения короче тех, из которых они выведены, и могут при- вести к более коротким выводам пустого предложения ( ). 12.2.4. Использование подслучаев Для любой пары предложений С, D € S предложение С назы- вается подслучаем предложения D, если существует такой подста- новочный частный случай Сл предложения С, что СлеО. Напри- мер, если С = (Л(х)), Р = (Д(&), Р(х)), (50) то подстановка л= (Ь/х) (51) приводит к Сл= (А (Ь)). (52) Целесообразность использования подслучаев можно проиллю- стрировать примером из пропозиционального исчисления выска- зываний, в котором значение истинности множества определяется как конъюнкция значений истинности содержащихся в нем пред- ложений. Пусть Сл= (L) и D=(L, X), где X— последователь- ность, состоящая из нескольких (быть может, ни одного) литералов Lb L2, ... . Поскольку значение истинности D определяется конъ- юнкцией его литералов, то D = (ZVX). (53) Очевидно, что L=>(LyX) (54) независимо от значения истинности X, т. е. Caz>D. Положим S* = = S—{D}. Из интерпретации множества в пропозициональном исчислении высказываний следует, что S’-CnzsS. (55) Если S ложное при всех приписываниях значений истинности, то Sr> ( ). Это означает, что S*-Cn=) ( ), т. е. при невыполнимости
12.2. Простые стратегии очищения 361 S множество S* U {Сл} также невыполнимо. Однако проще выво- дить пустое предложение ( ) из множества S* I) {Сл}, чем из S, потому что оба множества содержат одинаковое число предложе- ний, но в Сл меньше литералов, чем в D. 12.2.5. Гиперрезолюция Можно сделать так, чтобы в резолюции участвовали сразу по несколько предложений. Это называется гипер резолюцией. Пред- положим, что для конечного множества предложений {Съ С2, ... ..., Сп} и единственного предложения В удовлетворяются следую- щие условия: (i) В содержит п литералов Llt ..., Ln. (ii) Для каждого i, предложение Ct содержит литерал но не содержит дополнений никакого другого литерала из В и никакого литерала из любого предложения Су, j^i. Множество Sa={C(}U {В} будем называть конфликтом, а предложение /?а = (С,-{С2 —{~]С2}................{-]£„}, В-{Ц}) (56) — его гиперрезольвентой’, Ra можно вывести из Sa. В большинстве случаев к конфликту приходят только после подходящих подстановок. Иными словами, для заданного множе- ства предложений Se, не удовлетворяющего определению конф- ликта, может найтись такая подстановка л, что 8ал будет конф- ликтом. В этом случае Sa называется скрытым конфликтом. По- скольку обычно в резолюции одновременно участвуют только два предложения, то она — частный случай гиперрезолюции, и, таким образом, если пустое предложение ( ) выводится из S при помощи резолюции, то оно также может выводиться из S (возможно, даже быстрее) при помощи гиперрезолюции. В качестве примера гиперрезолюции рассмотрим множество / Сх = (1Л(х), Р (а)) С 2 = (Р(У)) Sa= | C3 = C]P(k), Q (a, b)) (57а) k B = (A(a), ~\P(y), ~]Q(x, y), A(c)) Подстановка л= (a/x, b/y) дает множество / Схл = (1A (a), P (a)) „ s I С*Л = (Р(Ь)) W61 “S 1 С3л = (1Р(Л), Q (a, b)) (576) k Bn = (A(a), ~]P(b), "IQ (a, b), A (c))
362 Гл. 12. Доказательство теорем San — конфликт с резольвентой Ra = (P(a), -]P(k), А (с)), (58) и потому Sa — скрытый конфликт. Гиперрезолюция является примером семантической стратегии. Это объясняется тем, что конфликт Sa может быть выполнимым для модели, содержащей только некоторые литералы, а именно хотя бы по одному литералу из каждого предложения конфликта, присутствующему в резольвенте конфликта. Таким образом, ре- зольвента конфликта указывает путь, по которому можно исклю- чить все модели. 12.3. Стратегии, учитывающие ход вывода 12.3.0. Введение Обсудим теперь более сложные стратегии, в которых допусти- мые резолюции определяются требованиями, налагаемыми на до- пустимые операции вывода для разрешаемых предложений. Стра- тегии, учитывающие ход вывода, довольно эффективны, так как позволяют выигрывать как в числе рассматриваемых резолюций, так и в объеме машинной памяти, необходимой для записи выве- денных предложений. Если известно, что для некоторого предло- жения есть вывод, не удовлетворяющий требованиям, налагаемым на резолюции, допускаемые выбранной стратегией, то незачем хра- нить это предложение, поскольку оно никогда не понадобится в последующих резолюциях. На самом деле такая ситуация встре- чается часто. При использовании стратегий, учитывающих ход вывода, возникают трудности, связанные с эффективностью. Для того чтобы установить, пригодится ли конкретное предложение в резолюции, надо хранить в памяти информацию о том, как оно было получено. Это, безусловно, приводит к дополнительным за- тратам машинной памяти и машинного времени. При некоторых стратегиях предложение, годное для резолюции на этапе t процесса вывода, может не годиться для резолюции на этапе Н-1. (Обратное неверно.) Это означает, что должна быть предусмотрена процедура „сборки мусора1* для удаления из памяти предложений, которые стали не нужны. Даст ли это выигрыш, зависит от величины сэко- номленной памяти и сложности вычислений, связанных со сборкой мусора. 12.3.1. Несущее множество В большинстве задач доказательства теорем множество S можно разбить на два подмножества, одно из которых состоит из аксиом {С;} рассматриваемой системы, а другое—из отрицаний "] Т=
12.3. Стратегии, учитывающие ход вывода 363 = { "| Тi} тех предложений, которые надо доказать. Обычно бывает разумно предположить, что аксиомы внутренне непротиворечивы, т. е. что множество {Сг} выполнимо. Вос, Карсон и Робинсон (1965) доказали, что в этом случае при невыполнимости S можно вывести ( ) последовательностью резолюций, в каждой из которых участ- вует по крайней мере одно предложение из несущего множества, т. е. такого множества, которому принадлежат (i) все предложения из { "| Т,} и (ii) резольвента, если хотя бы одно из ее родительских пред- ложений принадлежит несущему множеству. Практическая польза применения стратегии несущего множе- ства в том, что не нужно рассматривать резолюции, в которых участвуют только предложения из {Сг}. Это полезно, потому что множество {Сг} часто бывает большим сравнительно с {"17\-}. С понятием несущего множества тесно связано понятие наи- меньшего невыполнимого множества. Пусть S — невыполнимое множество предложений и S*sS — такое наименьшее подмноже- ство в S, что S* невыполнимо, а любое его собственное подмноже- ство S+aS* выполнимо. Тогда S* называется наименьшим не- выполнимым подмножеством множества S. В общем случае S* не единственно, о чем свидетельствует следующий пример. Пусть Е, G и L — атомные высказывания без переменных. Положим S= {(£, G, L), (~]Е,- -)G), (~]Е, 1L), (Ю 1Л), (£), (G), (L)}. (59) Возможны следующие наименьшие невыполнимые множества: s; = {(io ю, (Е), (0} S; = {(1O 1L), (£), (L)} (60) s3* = {(io 10, (G), О)} Заметим, что пустое предложение ( ) легко вывести из любого множества S<’. К тому же, если задано S*, то любое предложение С С S? можно определить как несущее множество, поскольку все собственные подмножества наименьшего невыполнимого множества выполнимы. 12.3.2. Линейный вывод Стратегия линейного вывода сильно сужает число рассматри- ваемых возможностей. Ее еще одно преимущество состоит в том, что она приводит к довольно обозримым доказательствам. Пусть С° — любое предложение из наименьшего невыполнимого множе- ства S*, а С‘, i>0,— это i-e предложение, выведенное последова-
364 Гл. 12. Доказательство теорем тельностью резолюций, начавшейся с предложения С° и некоторого другого предложения из S*. Если t-e предложение (i>0) вывода всегда имеет в качестве одного из своих родительских предложений (называемого левым) (i—1)-е предложение вывода, то вывод назы- вается линейным. Проиллюстрируем метод выводом пустого пред- ложения ( ) из множества основных предложений. Пусть S = {(Q), (Р, R), (~]Р, S), (1/?, S), (IP, IQ, 1S), (IQ, 1/?, 1S)}. (61) Вот один из линейных выводов пустого предложения ( ) из S: (1Л IQ, 1S).(Q)->(1P, IS) (~]Р, -]S).(P, R)->-(R, IS) (R, 1S)-(-]P, S)—-(~]P, R) (IP, P)-(P, P) —(P) (P).(1P, S)-^(S) 1 ’ (S).(1Q, ~]P, IS) — (IQ, IP) (IQ, 1P)-(Q)-* m (1P).(P)^( ) Вывод (62) изображен в виде графа на рис. 12.6. Каждое предло- жение С‘ имеет С'-1 в качестве левого родительского предложения и В'-1 в качестве правого родительского предложения. Каждое предложение В‘ либо задано, либо В‘=(У для некоторого /</. Стратегия линейного вывода, относящаяся к стратегии очище- ния, полна (Андерсон и Бледсоу, 1970)х) и потому может быть полезна при написании программ доказательства теорем. Интерес- но проследить, как программа, использующая такую стратегию очищения, приходит к выводу пустого предложения ( ). Пред- положим, что S — наименьшее невыполнимое множество. Тогда найдется по крайней мере один линейный вывод пустого предложе- ния ( ), в котором участвуют все предложения из S, но нельзя узнать заранее, какой из них (если их несколько) приводит к ( ) быстрее. К тому же не все линейные выводы, начинающиеся с за- данного предложения, окончатся ( ), и заранее нельзя указать те, которые не приводят к ( ). В результате программе доказа- тельства теорем приходится решать задачу поиска на дереве, ана- логичную обсуждавшимся в гл. 10. Это отражено на рис. 12.7, где показаны связи между различными предложениями, выведенными такой программой. Корень дерева соответствует началу программы. Узлы, расположенные непосредственно под корнем, представляют 0 В этой статье описывается общепринятый и весьма полезный метод дока- зательства полноты стратегий.
С° = (IP,IQ,IS) B° = ((?) C' = (IP,IS) C2 = (R.15) s' = (P,R) B2 = (IP, s) C3 = (1P,R) _.B3 = B' = (P,R) В* = (IRA) Bs = (10,"IR,1S) Ce = (K?,1R) B6=B° =(<?) -(R) Рис. 12.6. Иллюстрация линейного вывода пустого предложения ( ). С/-1иВ,_1— соответственно левое и правое родительские предложения для С1. Каждое пред- ложение В1' либо задано, либо равно CJ, j<i. С?, НАЧАЛО Предложение bS* Рис. 12.7. Древовидная структура при использовании стратегии линейного вьг вода.
366 Гл. 12. Доказательство теорем различные предложения, которые могут играть роль С°, т. е. все предложения из наименьшего невыполнимого множества. Всюду в остальных местах дерева узлы непосредственно под узлом п представляют предложения, выводимые из предложения, представ- ляемого узлом п, при помощи резолюции, в которой левое роди- тельское предложение представлено узлом п, а правое либо задано, либо совпадает с некоторым предложением, соответствующий узел которого лежит между п и корнем. В любой момент программе достаточно рассматривать резолюции предложений, представленных (текущими) листьями, заданных предложений и предложений, лежащих между каждым листом и корнем. (На самом деле, как будет объяснено ниже, условия, налагаемые на допустимые резо- люции, можно сделать еще более жесткими.) С другой стороны, в программе должно быть предусмотрено ведение соответствующих записей, позволяющих решать, какие резолюции надо проводить. 12.3.3. Доказательство с леммами Метод, который мы изложим здесь, не удовлетворяет условиям линейного вывода. В нескольких словах, в методе доказательства с леммами объединяются две или несколько самостоятельных линий доказательства. Примером такого доказательства может служить вывод из (61) пустого предложения ( ): Лемма 1 (V, 1 Q. 1S).(P, R) (1 Q, R, 1S); (1<2, R, 1S)-(1Q, IP, 1S)^(1Q, IS); (IQ, "I S) • (Q) —► ("] S); Лемма 2 (1 P, S)-(P, R)^(R, 8); ( ' (R, S) •(-]£, S)—>(S); (S)-("]S)—►( ). Соответствующий граф изображен на рис. 12.8. Заметим, что част- ные выводы независимо начинаются от нескольких исходных предложений, относящихся к S, а затем сливаются. Это напоми- нает абстрактное изображение работы резолюции на рис. 12.5. Обычно правила доказательства с леммами не столь ясны, как правила линейного вывода. Понятие об этом методе доказательства мы ввели в основном как альтернативу линейному выводу. С дру- гой стороны, вывод (63) короче линейного вывода (62) и, значит, его можно считать „более изящным**. Но хотя часто линейный вывод оказывается более длинным, его легче реализовать на вы- числительной машине. Например, для вывода (63) все же надо было прежде догадаться о том, с каких предложений начать, а это, как известно, плохо формализуется. Что же касается вывода (62), его легко осуществить весьма понятной машинной процедурой.
12.3. Стратегии, учитывающие ход вывода 367 12.3.4. Совместное применение стратегий использования подслучаев и слияния Для дальнейшего уменьшения числа рассматриваемых в выводе резолюций и числа предложений, которые должны храниться в памяти, можно вместе с линейным выводом применять две страте- гии очищения, называемые использованием подслучаев и слиянием. Объединение этих трех стратегий будем обозначать сокращенно с. п. л. (Для стратегии использования подслучаев не требуется линейность.) Стратегия использования подслучаев уменьшает число резо- люций, проводимых на каждом этапе вывода. Пусть С‘ — только что выведенное предложение, a R — множество ранее полученных (TP.TQ.TS) • (P.R) (1P.S) • P.R) (IftR.TS) • (K?,1R,1S) (R.S) • (1R,S) (K?,-tf)-(Q) (S) (is)___________________ <) Рис. 12.8. Структура доказательства с леммами для примера (63). предложений, которые хранятся в памяти и участвуют в линейном выводе в качестве возможных правых родительских предложений. Таким образом, Rs {СУ} для j<_i. Левым родительским предложе- нием для С'+1 будет, конечно, С1, а его правым родительским пред- ложением В‘ должно быть предложение, выбранное из множества S U R- В стратегии использования подслучаев при невыполнимости S реализуется такой линейный вывод пустого предложения ( ), что всегда, когда В' выбирается из R, а не из S, получается пред- ложение С'+1, представляющее собой подслучай предложения С'. Поэтому поиск кандидатов в правые родительские предложения можно ограничить множеством S и некоторыми предложениями из R, удовлетворяющими этому требованию. В частности, пред- ложение В' должно содержать только литералы, унифицируемые с литералами из С‘, за исключением точно одного литерала, который как раз и разрешается в резолюции и унифицируется с дополни- тельным к нему литералом из С‘. Предложения из R, не удовле- творяющие указанному выше требованию, не должны рассматри- ваться в качестве кандидатов на участие в резолюции. Таким об-
368 Гл. 12. Доказательство теорем разом, для заданного предложения С1 можно ограничиться соот- ветствующим подмножеством в R. Стратегия слияния дает способ уменьшения числа относящихся к R выведенных предложений, которые будут рассматриваться на следующих шагах. Предложение С‘ будет результатом слияния предложений С'-1 и В'-1, если существует литерал L, не разреша- емый в проводимой резолюции, который содержится в С‘ и яв- ляется подстановочным частным случаем двух литералов и L2, принадлежащих соответственно предложениям С'-1 и В'-1. Такой литерал L называется литералом слияния, а предложение слияния — это либо С‘, либо некоторый его фактор. Примером резольвенты, использующей слияния, может служить C'-i = (Q(fe, b), 1Q (а, с), Q(k, с)) B'-1 = (Q(fe, b), Q (a, с), Q(b, с)) (64) C' = (Q(fe, b), Q(k, с), Q(b, с)) Здесь Q (k, b) — литерал слияния. Хотя обозначения в этом при- мере относятся к линейному выводу, идея слияния столь же ус- пешно может применяться и в доказательствах с леммами. Андерсон и Бледсоу (1970), доказав следующую теорему, пока- зали, что слияние, использование подслучаев и линейный вывод можно объединить. Теорема. Пусть S — наименьшее невыполнимое множество пред- ложений. Тогда существует линейный вывод пустого предложения ( ), начинающийся с любого предложения С=С° С S и такой, что на каждом его шаге (г+1)-е правое родительское предложение В‘ либо задано (В‘ С S), либо совпадает с некоторым выведенным на предыдущих шагах предложением слияния. В последнем случае разрешаемый литерал является каким-то литералом слияния, а резольвента С'+1 — подслучаем для левого родительского предло- жения С‘ J). В теореме утверждается, что в качестве первого предложения линейного вывода программа может выбирать любое предложение C£S при условии, что S—наименьшее невыполнимое множество. Этому требованию нетрудно удовлетворить, поскольку если несу- щее множество "j Т известно, то обычно можно гарантировать, что L) В формулировке теоремы автором допущена неточность. Правильнее было бы закончить теорему так: «В последнем случае результатом проводимой резолю- ции является резольвента C‘ + l, представляющая собой подслучай своего левого предшественника С‘ и состоящая тем самым, в частности, из литералов слия- ния». — Прим, перев.
12.3. Стратегии, учитывающие ход вывода 369 ~]Т входит в любое наименьшее невыполнимое подмножество. По- этому вывод и начинается с некоторого предложения из “] Т. Вы- веденное предложение С‘ записывается в память, только если оно — предложение слияния. Наконец, при поиске выведенного предложения для проведения резолюции с предложением С‘ можно ограничиться предложениями (У(/<У), которые содержат (а) ли- терал слияния, унифицируемый с атомом соответствующего допол- нительного к нему литерала из С1, и (б) только другие литералы, унифицируемые с литералами из С'. Таким образом, условие осу- ществимости стратегии использования подслучаев будет выпол- нено. 12.3.S. Пример из теории групп Рассмотрим работу стратегии очищения с. п. л. на примере доказательства следующего факта из теории групп: Теорема. В любой ассоциативной системе, в которой все урав- нения вида в‘Х=у и x-t^y имеют левое и правое решения s и t, су- ществует правый единичный элемент х). Доказательство. Применим стратегию с. п. л. и вос- пользуемся понятием несущего множества. Как и в стратегии упорядочения, здесь будут предпочитаться предложения с мень- шим числом предикатов. Это включает в себя и предпочтение одно- членов. Указанные стратегии определяют выбор предложения С°, с которого начинается вывод, и последовательно на каждом шаге они ограничивают множество резолюций. Наш способ доказатель- ства наглядный, но есть другие, более короткие и более изящные (см., например, Слейгл (1971)). Первый шаг доказательства состоит в формализации рассмат- риваемой задачи. Пусть Р(х, у, г) — предикат ,,x-i/=z“. Множе- Кратко поясним эту теорему тем, кто не знаком с теорией групп. Рассмот- рим множество N и такую операцию • , что для любых х, y£N элемент x-y=t так- же принадлежит N. Потребуем, чтобы существовали элементы s, Z£N, для которых в'Х=у (левое решение) и x-t=y (правое решение). Условие ассоциативности озна- чает, что х-(у•г)=(х-у)-г для всех х, у, z£N. В доказываемой теореме утверж- дается, что существует такой элементам, что х-е=х для всех x£N. Этот эле- мент и называется правым единичным элементом. Пусть, например, N будет мно- жеством вещественных чисел, а • обозначает умножение. Ясно, что левое н правое решения существуют, поскольку для любой пары вещественных чисел (х, у) числа у-х~1 и х-у~г также вещественны. В этом случае правым (н левым) единичным элементом является 1, поскольку х-1=(1-х)=х. Если • обозначает сложение, то единичным элементом является 0.
370 Гл. 12. Доказательство теорем ь2 = Ц" УЬ к сз = (1 р (X, у, и), ~]Р(У, z, V) Р (X, V, tw), Р (и, г, w)) S = ство S определим так: ' = (Р (g (х, у), х, у)) g(x, у) — левое решение для пары (х, у). Если s-x = y, то s~g(x, у). h(x, У) — правое решение. Условие ассоциативности. (65) В более понятной форме это предложение выглядит как ((х-у — и) /\ (у- z = v) Д (x-v = = w)):d(u-z = w). Не существует элемента y£N, для которого х-у = х. Отрица- ние утверждения теоремы. С4 = ("] Р (х, у, х)) Анализируя этот пример х), мы должны будем так делать под- становки в предложениях хну, чтобы не возникало неоднознач- ности в обозначениях. Будем обозначать переменные х, у, z во всех левых родительских предложениях С через хп х2, х3 и т. д. Эти же переменные во всех правых родительских предложениях В будут обозначаться ylt у2, у3 и т. д. Поскольку С4 — отрицание утверждения доказываемой тео- ремы, то {С4} — несущее множество. Пусть с. п. л.-вывод начи- нается с предложения С°=С4. Вывод будет линейным, так что можно применить стратегию несущего множества. Переименуем переменные: С° = (~\Р(хг, xt, х2)). (66) Сначала попытаемся унифицировать С° с одночленами Ci и С2; это не удается. Затем в качестве Ва возьмем С3, переименовав пе- ременные: В°=С]Р((/4, Уь, Уг), -\Р(Уь, Уз, У2), ~]Р(у», Уг, Уз)> Р(У1> Уз, Уз))- (67) Единственным кандидатом на участие в резолюции является в В0 самый правый литерал. Подстановка л=(г/1/х2, ув/хи у3/у1) (68) и разрешение приводят к С1 = ПР(Уз> Уз, Уз), ~\Р(Уз, Уз, Уз), Ж, Уз, Уз))- (69) 1) Целый ряд выражений и утверждений данного раздела записан не совсем точно, и к приведенным ниже выкладкам следует относиться как к иллюстрации доказательства на интуитивном уровне.— Прим. ред.
12.3. Стратегии, учитывающие ход вывода 371 Поскольку С1 — резольвента предложения С° и исходного, она не должна удовлетворять условиям стратегий использования подслу- чаев и слияния. Так как С1 — левое родительское предложение, записываем его в виде С1 = (“] Р(х3, х2), 1Р(х4, х5, xt), “]Р(х3, xlt х2)). (70) Теперь для упорядочения возможных резолюций с С1 применяем стратегию предпочтения одночленов. После переименования пере- менных предложений Сг принимает вид Сх= (Р(ё(Уи уг), У1, f/2)), (71) что и определяет В1. Унифицируя С1 и В1 при помощи подстановки n=(x4/t/i. g(xt, х2)/х3), (72) получаем резольвенту C2 = (V(*4, xit xj, x2), xlt x2)). (73) Меняя в ней индексы у переменных, окончательно находим С» = ("|Р(х8, xt, xj, “]P(g(x3, х2), хг, ха)). (74) Но это не единственно возможная резольвента С2, так как можно было бы получить другую резольвенту, разрешая С1 с В1=Сг и тем самым формируя другую ветвь линейного вывода, начинаю- щуюся с С°=С4. Помня об этом, продолжаем прежний линейный вывод с (74). Последнюю альтернативу мы выбрали потому, что правило отбора предложений для участия в резолюции таково, что сначала пробуются предложения с меньшим числом литералов, а затем идет вывод с более длинными предложениями х). Пред- ложение С2 можно разрешить с Си беря его 2-й литерал в качестве литерала резолюции. В результате подстановки n=(x3/t/i, хаЛ/2, Xg/Xi) (75) получаем ("|Р(*з. Xj), 1P(g(x3, xa), Xi, х2)) (Р(я(^, t/2), yit y2)) = = (V(X3, х.х3)) = С’ (76) Заметим, что альтернативно 1-й литерал предложения С2 можно было разрешить, используя Ва=С2. Мы не будем рассматривать эту альтернативу, а просто на рис. 12.9 укажем возможность дру- гого хода доказательства. Продолжая с (76), находим, что Са можно !) Правило, состоящее в том, что в первую очередь вывод продолжается с бо- лее короткими предложениями, представляет собой эвристику в смысле гл. 10. На самом деле с. п. л.-вывод, основанный на использовании самого короткого из имеющихся предложений, можно считать задачей поиска путей на графе. При ка- ких условиях тогда следует вернуться к резолюции на Ci?
372 Гл. 12. Доказательство теорем разрешить с В3=С2. После смены индексов у переменных пред- ложения С1 и подстановки л=(х1/£/1, h(xu Xi)/x2, хх/уг) (77) получаем резольвенту (С2л).(В3л) = (_|Р(х][, h(xlt хх), xt))x x(P{xlth(xlt xj, xr)) = ( ). (78) Теорема доказана. Последний шаг вывода соответствует нижней части левой ветви дерева, изображенного на рис. 12.9. Рис. 12.9. Дерево с. п.л.-вывода пустого предложения для задачи (65). 12.3.6. Стратегии исходных данных Чтобы завершить обсуждение стратегий, учитывающих ход вывода, исследуем более подробно стратегию исходных данных, которая уже упоминалась ранее. Стратегия исходных данных дает доказательство, в котором по крайней мере одно из родитель- ских предложений в каждой резолюции задано. Стратегия исходных данных не полна, но обладает интересными теоретическими свой- ствами. Ченг (1970) доказал, что стратегия исходных данных прохо- дит тогда и только тогда, когда проходит стратегия предпочтения одночленов. Это позволяет „построить мост“ между подходом к решению задач в пространстве состояний (гл. 11) и подходом фор- мального доказательства теорем. Мы покажем, что стратегия ис-
12.3. Стратегии, учитывающие ход вывода 373 ходных данных всегда проходит для задач, допускающих интер- претацию в пространстве состояний. Сформулируем это более четко: любую задачу, которую может решить программа типа GPS или FDS, можно рассматривать как вывод пустого предложения ( ) из множества S с помощью стратегии предпочтения одночленов или стратегии исходных данных. Любой оператор программы GPS или FDS можно записать в виде (79) где S; и Sj — правильно построенные выражения, возможно, содер- жащие функции или переменные. Пусть 5 (х) означает „х — со- стояние (цепочка), выводимое из условия решаемой задачи". За- дачу в пространстве состояний можно интерпретировать так: „Задан предикат S (s0); с помощью имеющихся продукций (аксиом) дока- зать выводимость S (s?)“. Если мы хотим сохранить ограничение, что на каждом шаге решения задачи продукции должны приме- няться только к цепочке, полностью описывающей состояние, то продукцию s;->s; можно интерпретировать так: „Если S/ — выво- димая цепочка, то Sj — также выводимая цепочка", т. е. S (sz) = S (sj, или в дизъюнктивной форме (-]S(s,). S(sz)). (80) (81) Однако оператор se-*s? надо трактовать по-иному. В соответ- ствии с принципом резолюции это утверждение следует доказы- вать, показывая, что ( ) можно вывести из множества S, содержа- щего предложения вида (80), полученные согласно продукциям, и отрицания предложений, выведенных из s0->s?. Отрицанием является (S (s0))-(~] S(s?)), так что несущее множество — это {(S(so)), (~|S(s?))}. Для иллюстрации разберем простую задачу из элементарной алгебры. Даны правила переписывания (продукции) R1: R2: х + у—^у + х x + (y + z)—^(x + y) -hz (82) (83) Требуется доказать, что правило R2 симметрично, т. е. справед- ливо правило R3: (x + #) + z—►х + (#4-г). (84)
374 Гл. 12. Доказательство теорем Если подойти к этому как к задаче переписывания цепочек, то решением будет (х~\~ у)~^~г начальное состояние -^г + (х + у) по R1 —>(? + х)+у "° R2 (85) —>£/ + (г + х) по R1 —Ну+?) + х по R2 —*х + (у 4-г) по R1 целевое состояние Запишем (82) и (83) в виде предложений, полагая f(x, у)=х+у: C^OSlflx, у)), S(f(y, х))) C2 = (1S(/(x, f(y, г))), Stf(f(x, у), г))) ( > Отрицание правила (84) имеет вид (С3*С4), где G = (S(/(/(x, у), г))) G = (1S(/(X, f(y, г)))) > и несущим множеством является {С3, С4). Выполняя соответст- вующие переименования, приходим к такому доказательству: (S(f(f(X1, хг), x3)))-(~]S(f(yi, у2)), S(f(y2, t/J)) — — S(/(x8, fUi. *,))) (88) (S(j(Xi> /К, x3)))).(-IS(f(f(yi, y2), y3))) — ( ) Этот вывод удивительно короток по сравнению с (85). Альтерна- тивное доказательство с помощью резолюции можно было бы про- вести, реализуя шаги вывода (85) на простом устройстве. Пусть ,,s,—>se+i по правилу k“ означает i-шаг доказательства с продук- циями. Каждый такой шаг принимает вид (Z.zn)-( L;+1n) —> (Lf+tn), (89) где Lt, Li+1 — литералы, выведенные из s,, s;+i без подстановки, так что LiH=S (в;), а второе предложение слева есть правилок в форме предложения. На первом шаге L0=S (s0), т. е. La — в точ- ности начальное состояние. Последний шаг — (L/«).(-]Lzn)->( ), (90) где (1M = (-]S(sg)), (91)
12.3. Стратегии, учитывающие ход вывода 375 т. е. Liit — отрицание целевого состояния. Поскольку в резо- люциях вида (89) и (90) участвуют одночлены и исходные данные, существование доказательств при помощи стратегии исходных данных и стратегии предпочтения одночленов гарантируется. Но построение такого доказательства требует предварительного знания доказательства с продукциями. К тому же, как показывает пример (88), доказательство с резолюциями, построенное по доказательству с продукциями, вероятно, не самое изящное из возможных доказа- тельств, основанных на принципе резолюции. Что случится, если убрать ограничение, требующее, чтобы на каждом шаге доказательства с продукциями оператор применялся ко всей цепочке? Ясно, что это нужно сделать, поскольку в наи- более интересных задачах бывает нужно изменять и компоненты цепочки. Можно по-прежнему переходить от продукций к исчис- лению предикатов, но это оказывается слишком утомительным. В самом деле, это приведет к рассмотрению бесконечного множе- ства аксиом! Удаление же указанного ограничения нарушает соот- ветствие между Sj->S; и S (s,):z>S (sy). Чтобы проиллюстрировать это, попробуем с помощью правила R1: х + у—>у + х (92) доказать, что (а+Ь)+ (c+d)-* (Ь+а)+ (d+c). (93) Очевидно, что это тривиально, если R1 можно применить к подце- почкам (а-}-Ь) и (c+d). Если воспользоваться упомянутым выше переходом к исчислению предикатов, получаем задачу, относя- щуюся к доказательству теорем: Г сх = ( (/(х, у)), S(f(y, X))) S = J C, = (S(f(f(a, b), f(c, d)))) I Cs = (lS(/(/(&, a), /(d, C)))) Попытки решить эту задачу должны убедить читателя, что для вывода пустого предложения ( ) (94) не годится, поскольку нельзя разрешить с атомами терма f (f (a, b), f (с, d)). В принципе рассматриваемая задача не представляет особой трудности, поскольку, если известно доказательство с продук- циями, можно изменить аксиоматику решаемой задачи, добавив специальное предложение, описывающее все случаи применения продукции к подцепочке. Предположим, что мы сделали это для (94), добавив правило = (1S (f (f (х, у), г)), S (f (f (у, х), г)), (95)
376 Гл, 12, Доказательство теорем соответствующее продукции R2: (x+i/)+z-> (y+x)+z, (96) которая есть не что иное, как частный случай продукции R1. После добавления (95) к аксиомам подстановки опущены): (94) находим решение (тривиальные О (Ж b), f(c, d)))) сг (S(W, a), f (с, d)))) C5 = резольвента (C2, C4) d), f(b, a)))) C6 = резольвента (C5, Cj (S(/(/(d, c), f(b, a)))) С, — резольвента (C6, C4) (S (/ (f(b, C8 = резольвента (C7, ( ) резольвента (C8, C3) (97) Видимо, следует считать эту обобщенную формулировку под- хода, использующего исчисление предикатов, иным способом пред- ставления усиленной системы продукций, основанной на исходной, ограниченной лишь продукциями, работающими с „целыми" со- стояниями. Логически мы сохранили соответствие между задачами в пространстве состояний и задачами в исчислении предикатов, решаемыми с помощью стратегий исходных данных и предпочтения одночленов г). Однако расплата за это была велика как в прак- тическом, так и в теоретическом отношениях. При обобщенной формулировке требуется либо знание контекста, в котором можно применять каждую продукцию, что и позволяет записать соот- ветствующие предложения, либо наличие процедуры, порождающей при необходимости контекстно-зависимые предложения, имеющие вид (95). Не очень понятно, как удовлетворить первому условию без знания решения рассматриваемой задачи, найденного согласно заданным продукциям. Программа решения задач, которая полу- чает на вход уже известное решение, на наш взгляд, не слишком интересна. Вместе с тем введение механизма порождения аксиом повлекло бы формирование счетного (а не конечного) множества S. К счастью, система вывода на основе резолюции обладает для счет- ных множеств аксиом (Слейгл, 1971) свойством полноты, так что наш главный метод остается непротиворечивым. Однако порож- дение большого множества предложений приводит к серьезным практическим трудностям. В общем случае переход от одной фор- мулировки решения задачи к другой оказывается весьма сложным. 1) Именно это сделал Ченг (1970, стр. 706, упр. 10), формулируя некоторые из задач Куинлана и Ханта (1968) в виде задач исчисления предикатов первого по- рядка.
12.4. Синтаксические стратегии 377 12.4. Синтаксические стратегии 12.4.0. Введение Синтаксические стратегии — это процедуры выбора проводимых резолюций, основанные только на структурных свойствах участ- вующих в них предложений и не зависящие ни от значения истин- ности рассматриваемого предложения для конкретной модели, ни от его хода вывода. Примерами простых синтаксических стратегий служат предпочтение одночленов и исключение тавтологий. По- скольку синтаксические стратегии учитывают только те предло- жения, которые могут участвовать в резолюции, и, значит, нет необходимости хранения в памяти значительного объема инфор- мации, эти стратегии легко применимы. Кроме того, синтаксические стратегии часто хорошо сочетаются со стратегиями, учитывающими ход вывода, или семантическими стратегиями, и это дает дополни- тельное ограничение возможных резолюций с сохранением свой- ства полноты. Мы уже демонстрировали это на примере стратегий предпочтения одночленов и исключения тавтологий, которые по отдельности не дают полного очищения. Различают две основные синтаксические стратегии очищения: A-упорядочение и С-упорядочение (Рейтер, 1971). В случае Л-упо- рядочения атомы в множестве S как-то упорядочиваются, а в ка- честве литерала резолюции выбирается атом левого родительского предложения с наибольшим номером. А -упорядочение можно комбинировать со слиянием и линейным выводом; получающаяся в результате стратегия очищения, использующая слияние, А-упо- рядочение и линейный вывод (с. а. л.), обладает свойством полноты. Эта стратегия упрощает выбор предложений в линейном выводе, диктуя выбор литерала резолюции в случае, когда возможны два литерала. Дерево на рис. 12.9 иллюстрирует как раз такую ситуа- цию. Однако при Л-упорядочении приходится рассматривать до- вольно много резолюций. Вторая стратегия, предложенная Рейте- ром, С-упорядочение, кажется более ограничительной. 12.4.1. С-упорядочение С-упорядочение также можно комбинировать со слиянием и линейным выводом; получающаяся в результате стратегия очище- ния, использующая слияние, С-упорядочение и линейный вывод (с. с. л.), обладает свойством полноты. В самом деле, С-упорядоче- ние предполагает линейность, так как при его определении разли- чаются левое и правое родительские предложения. Пусть С — предложение из S. Обозначим через [С] предложение С с заданным на нем произвольным порядком литералов, а через [S] — множе- ство таких упорядоченных предложений. Если предложение [С] порождается в линейном выводе ([Cl=[C'l, Й>0), то пусть [С'"1!
378 Гл. 12. Доказательство теорем и [S'-1] будут его упорядоченными левым и правым родительскими предложениями с литералами предложения С'-1, расположенными в порядке Li, ..., Lk, Lr (где Sr=Sfe+1, т. е. самый правый литерал левого родительского предложения является литералом резолю- ции), и с литералами предложения В'-1 в порядке Ми ..., Мт. Ясно, что для Mt=~\Lr некоторого i (l^i^m). Тогда упорядо- ченное предложение С‘ таково: С'=(М.......Lk, Mlt .... Mi + 1, .... Mm), (98) т. е. литералы правого родительского предложения добавляются к литералам левого, при этом литералы резолюции, естественно, опускаются, а в случае повторения литералов сохраняются те, что расположены слева. Резолюция допускается только с самым правым литералом предложения С‘. Проиллюстрируем С-упорядочение на примере [S] = {(/)> (Z, X), (IX, Г), (Г, -]Z), (-]Х, -| г, in, (iz, 1Г, 1П}, (99) где W, X, Y, Z — произвольные константные атомы. На рис. 12.10 показан ход опровержения при помощи С-упорядочения. Заметим, что на каждом шаге предопределен литерал резолюции, так что уменьшается число возможных правых родительских предложений. С другой стороны, выводы, использующие С-упорядочение, как правило, длиннее доказательств, не удовлетворяющих С-упорядо- чению, поскольку в процессе вывода может понадобиться временно расширить предложение, чтобы удалить его самый правый литерал. Вывод, изображенный на рис. 12.10, не удовлетворяет условию слияния. На рис. 12.11 изображен линейный вывод пустого пред- ложения ( ) из того же множества предложений S, удовлетворяю- щий С-упорядочению и слиянию. Характерно, что такой вывод оказался длиннее, зато на каждом его шаге возможных правых родительских предложений было меньше. Сикел и Хант (1973) расширили применение С-упорядочения, объединив его со слиянием, предпочтением одночленов, использо- ванием подслучаев и линейным выводом. Для этого они переопре- делили стратегию использования подслучаев, потребовав, чтобы в предложении, являющемся подслучаем другого предложения, литералы этого другого предложения были расположены в том же порядке. Это было необходимо, чтобы в течение всего вывода со- хранить С-упорядочение. Кроме того, они ввели стратегию абсо- лютного предпочтения одночленов, которая означает, что резолю- цию с одночленами можно пытаться провести в любом месте выво- да независимо от происхождения соответствующего одночлена. В частности, стратегия предпочтения одночленов получила прио- ритет перед линейной стратегией. Объединение слияния, переоп- ределенной стратегии использования подслучаев, абсолютного
12.5. Семантические стратегии 379 предпочтения одночленов и С-упорядочения привело к стратегии, обладающей свойством полноты. Интересно, что эта стратегия очи- щения теряет указанное свойство, если из нее выбросить абсолют- ное предпочтение одночленов. Стратегия, предложенная Сикелем и Хантом, наиболее полезна в ситуациях, когда объем памяти Рис. 12.10. Линейное опроверже- ние при помощи С-упорядочения для задачи (98). Рис. 12.11. Линейное опровержение со слиянием при помощи С-упоря- дочения. лимитирован, так как она позволяет удалять из памяти предложе- ние после того, как выведено предложение, для которого первое является подслучаем. 12.5. Семантические стратегии 12.5.0. Общие понятия Если множество предложений S выполнимо, то при некотором присваивании значений истинности атомам в S все предложения в S также выполнимы. Любое конкретное присваивание значений ис- тинности атомам называется моделью. Задача семантических стра-
380 Г л. 12. Доказательство теорем тегий состоит в том, чтобы доказать невыполнимость S, показав, что не существует модели, при которой S выполнимо. Можно было бы указать взаимосвязь между исключением моделей и линейными стратегиями, учитывающими ход вывода (Лавленд, 1972), но объ- яснение было бы слишком техничным. Идею семантического дока- зательства мы проиллюстрируем эвристическим описанием проце- дуры доказательства теорем, впервые предложенной Хэйесом и Ковальским (1969). Прежде всего расширим понятие модели. Пусть А={Аг}— множество элементарных высказываний в S и предложений, выводимых из S. В общем случае А будет беско- нечным счетным множеством. Пусть L — множество литералов, выводимых из А, т. е. элементов множества А и их дополнений. Частичной моделью Mt множества S назовем подмножество множе- ства L, не содержащее одновременно литерала и его дополнения. Потребуем, чтобы в случае, когда L £Mt, модель Mt не содержала “]Лл ни для какой подстановки п. Тогда частичная модель будет непротиворечивым присваиванием значений истинности некоторым литералам из L. Можно считать, что Mt определяет множество моделей М$, элементами которого служат другие модели, включаю- щие в качестве подмножества своих литералов все литералы из М, или литералы, полученные из них подстановкой. Для иллюстрации предположим, что S = {(P(x), Q(a, у), ~]R(x)), (~]Р(х), "J Q (х, f (х)), R(y))}. (WO) Атомы множества А являются подстановочными частными слу- чаями множества {Р(х), Q(a, у), Q(x, /(х)), R(y)}. Здесь А — бес- конечное счетное множество, так как оно состоит из атомов вида Q(x, /(х)), Q(/(x), /(/(х))), .... Множество L состоит из элементов множества А и их дополнений, так что оно тоже бесконечно и счетно. Рассмотрим две неполные модели Afi = {P(a)}, Л42 = ПР(а)}. (101) Пусть Mi — множество всех полных моделей, включающих Mx как подмножество, а М2 — множество полных моделей, включаю- щих М2 как подмножество. Поскольку атом Р(й) выводим из А, каждая полная модель должна принадлежать либо Mi, либо М2, но не обоим сразу. Ясно, что если некоторому предложению С1г которое принадлежит S или выводится из него, Мг присваивает значение ложь, то оно будет ложным для любого элемента из Mi, и, значит, в Mi нет модели, для которой множество S выполнимо. Если найдется подобное предложение С2, которому М2 присваи- вает значение ложь, то это будет означать, что S невыполнимо. Это и служит целью семантической стратегии очищения. Путем „разумного" выбора резолюций разыскиваются модели для S, которые исчерпывают весь набор моделей (в смысле Мх и М2 для
12.5. Семантические стратегии 381 рассмотренного только что примера) и для которых по крайней мере одно предложение принимает значение ложь. Для того чтобы продемонстрировать, как это можно сделать, определим специаль- ные графы и приспособим их к доказательству теорем. 12.5.1. Определения Дерево Т — это множество узлов {п} с заданным на нем ча- стичным порядком (>). Говорят, что узел /г, расположен непо- средственно над узлом и,, если nt>nj. Обратно, узел расположен Е F Рис. 12.12. Дерево Т. непосредственно под узлом п,. Упорядочение определяется следую- щими правилами: (i) Существует выделенный узел пГ, называемый корнем рас- сматриваемого дерева, для которого нет узла, расположен- ного непосредственно над ним. (ii) Каждый узел, отличный от корня, имеет точно один узел, расположенный непосредственно над ним. (iii) Если узел не расположен непосредственно ни над каким другим узлом, он называется концевым узлом дерева Т. Рассмотрим любой узел nh, отличный от корня. Последователь- ность пг>П1>п2>. >«;>«;> • ->nh называется ветвью к узлу nh. Говорят, что узел п( расположен над (под) узлом nh, если он расположен непосредственно над (под) nh или непосредственно над (под) узлом п}-, расположенным непосредственно над (под) пк. На рис. 12.12 изображено дерево Т={А, В, С, D, Е, F, G), А>В, А>С, B>D, D>E, OF, OG. (102)
382 Гл. 12. Доказательство теорем Семантическое дерево Т для множества предложений S полу- чается в результате приписывания литералов узлам дерева Т по следующим правилам: (i) Пустое предложение ( ) приписывается корню дерева Т. (ii) Пусть N={/Zi,.. .,nk}— множество узлов дерева Т, расположенных непосредственно под узлом п, а В; — множество литералов, приписанных узлу н,;. Значение истинности для Вг интерпретируется как значение истин- ности конъюнкции содержащихся в нем литералов. Если Т — семантическое дерево, то дизъюнкция множества {BJ должна быть тавтологией. (iii) Множество литералов, приписанных узлам любой полной ветви дерева, т. е. последовательности узлов от корня до любого концевого узла дерева Т, должно содержать лите- ралы из L или их дополнения. Таким образом, это множе- ство представляет полное присваивание, или полную модель для S. А(х) В!*,у) Blx.y} TBfcy) W.y) а ( I {ДМЛ^у)) |Д (г), ТВ^)} (ТД(х), W,/)) 6 Рис. 12.13. Два семантических дерева для А={Л(х), В(х, у)}. Например, пусть S={(A(x)), (~]Л(х)), (В(х, у)), (*]В(х, у))}. Тогда А={Л(х), В(х, у)}. На рис. 12.13 показаны два семанти- ческих дерева для А. Дерево а получено упорядочением атомов в S и последующим приписыванием пустого предложения ( ) корню, Aj и — двум узлам, расположенным непосредственно под корнем, Л 2 и ^Л2 — узлам, расположенным непосредственно под
12.5, Семантические стратегии 383 узлами первого уровня, и т. д. Это дерево удовлетворяет опреде- лению семантического дерева, поскольку на любом уровне дизъ- юнкция присваиваний, относящихся к узлам, расположенным непосредственно под каким-то узлом, имеет вид (Л V ~М). а эт0 тавтология. Более „кустистое" дерево б также удовлетворяет оп- ределению семантического дерева, так как дизъюнкция присваи- ваний узлам, расположенным непосредственно под корнем, яв- ляется тавтологией (А1-А2\/А1- ~]Л2\/ “]Л1-Л2\/ 1 Лг “]Л2). Семантическое дерево Т называется конечным деревом конфликта для множества S, если для каждого узла п $ Т и множества узлов {zii, ..., nh, nh+1}, расположенных непосредственно под п, выпол- няются следующие условия: (i) Каждое множество Вг литералов, приписанных узлу nit есть на самом деле единственный литерал Lt. (ii) Множество Bft+1 литералов, приписанных узлу пм, есть ВЛ+1 = П^}> i = l......................k. (103) (iii) Ни один из литералов, приписанных узлу, расположенному под п, не принадлежит множеству литералов, приписан- ных п. ( ) (AW) (В(Ж,Х)} {TAW, ТВ(г,у)} Рис. 12.14. Конечное дерево конфликта А={4(х), В(х, у)}. Конечное дерево конфликта для множества А={Л(х), В(х, у)} изображено на рис. 12.14. Заметим, что оно удовлетворяет требо- ванию тавтологии для узлов, расположенных непосредственно под некоторым узлом. 12.5.2. Исключение моделей при помощи конечных деревьев конфликта С помощью понятия конечного дерева конфликта можно про- демонстрировать тот факт, что для данного невыполнимого мно- жества нет модели. Иными словами, любое множество S должно быть невыполнимым, если все модели, представленные последова- тельностями литералов от корня до всех концевых узлов семан- тического дерева, приписывают ему значение ложь. Последова- тельность литералов на пути от корня до любого другого (некон- цевого) узла можно рассматривать как частичное присваивание,
384 Гл. 12. Доказательство теорем или частичную модель. Например, возьмем самый левый концевой узел дерева, изображенного на рис. 12.14. Соответствующие лите- ралы определяют модель ), А(х)} = {А(х)}. (104) Аналогично для модели М2={В(х, у)}, (105) соответствующей центральному концевому узлу. Наконец, для самого правого узла получаем полное присваивание М3 = {“М(х), -|В(х, у)}. (106) Таким образом, все возможные модели для {А (х), В(х, у)} при- надлежат множеству M=MfU4UAf8. (107) Если каждая из этих моделей приписывает множеству S значение ложь, то оно должно быть невыполнимым. Обобщим этот пример. I ) |ЧС(у)} {С(у)} ' (Д^) (31г,/)} |14М, 1Я(х,у)} Рис. 12.15. Включение рассмотренного конечного дерева конфликта в большее дерево. Расширим множество атомов, включив в него С (у), т. е. переопре- делим множество А={Д(х), В(х, у), С (у)}. (108) Дерево, изображенное на рис. 12.14, можно включить в большее конечное дерево конфликта (рис. 12.15). Отметим, что С (у) оказа- лось на месте пустого предложения ( ). Аналогично переопреде- ляются модели Afj, Mt и Л43, чтобы включить литерал С (у), по- скольку соответствующий ему узел лежит на путях от всех конце- вых узлов к корню. Значение ложь для S, приписанное ему моде- лями Mi, М2 и М3, свидетельствовало бы, что множество S не может быть выполнимым ни при одной модели, содержащей С (у), но ничего не говорило бы о выполнимости S при моделях, содер- жащих “) С (у).
12.5. Семантические стратегии 385 Введем понятие „S терпит неудачу на узле п“. Множество S невыполнимо, если по крайней мере одно предложение С £ S прини- мает значение ложь при всех возможных моделях. Обозначим через Мп модель, содержащую дополнения ко всем литералам, соответ- ствующим узлам, расположенным на пути от корня к узлу п, а через Ln — множество этих литералов. Будем говорить, что пред- ложение С терпит неудачу на узле п, если Ln содержит все лите- ралы этого предложения. Ясно, что если С терпит неудачу на узле п, то С € S имеет значение ложь, и S невыполнимо для Мп. Это ил- люстрируется самым правым концевым узлом дерева (рис. 12.15), для которого L„ = {C(i/), ~]Д(х), ~]В(х, у)}. На этом узле потер- пели бы неудачу предложения С (у) и ( j А (х), “] В (х, у)). Заметим также, что L„ должно включать в себя множество Lm литералов, соответствующих любому из т узлов, расположенных над п. По- этому любое предложение, терпящее неудачу на т, также будет терпеть неудачу на п. Например, предложение С (у) потерпело бы неудачу на любом из правых концевых узлов (рис. 12.15). Нас интересует самый высокий узел дерева, в котором S может потерпеть неудачу. Узел п назовем неблагоприятным для S, если найдется предложение С € S, которое терпит неудачу на п, но не терпит неудачу ни на одном из т узлов, расположенных над п. В противном случае узел п будет называться благоприятным для S. Предположим теперь, что S терпит неудачу на корне, ^то означает, что S невыполнимо при всех моделях, поскольку каждая модель соответствует некоторому узлу под корнем. Поэтому цель семан- тической процедуры — сделать так, чтобы S терпело неудачу на- корне. Это осуществляется в резолюции. Назовем п- узлом вывода, если п — благоприятный для S узел, но все узлы п', расположен- ные под ним, неблагоприятны. Если п — узел вывода, то найдется предложение С, литералы которого содержатся в Ln и которое, возможно, не принадлежит S, но может быть выведено из S при помощи резолюции. Для того чтобы убедиться в этом, рассмотрим множество предложений JC1 = M(X), В(х, у)) 1 Са = (С(х), ТВ(х, у)) (1иУ) и соответствующее конечное дерево конфликта (рис. 12.16). Узлы П1 и пг соответствуют множествам Ц = {Л(х), С(х), В(х, у)} Ц = {Л(х), С(х), -]В(х, у)} (1W) и неблагоприятны для S, поскольку Lt присваивает значение ложь предложению Сь а Ь2 — предложению С4. Резольвентой Ci и Са будет Сг-С^С= (Д (х), С(х)). (111) 13 э Хант
386 Гл. 12. Доказательство теорем Литералы предложения С входят в модель, соответствующую уз- лу п\ более того, предложение С совпадает с ней. Если в резуль- тате резолюции получается пустое предложение ( ), то, поскольку ( ) содержится во всех Ln, множество S должно быть невыпол- нимым. Таким образом, семантическая стратегия вывода ( ) из S со- стоит просто в построении подходящего дерева. При этом иссле- дуют имеющиеся предложения, чтобы провести резолюцию скрытого конфликта. Такая резолюция является выводом, в котором участ- ( ) {ДМ} {14k)} п---*-(№)} (TCk)} «1 —(теку)! -*— п, Рис. 12.16. Часть дерева с неблагоприятными узлами п1г п2 и узлом вывода п для множества 8={(Л(х), В(х, у)}, (С(х), у))}. вуют предложение Со, играющее роль ядра, и множество сопут- ствующих предложений С={С;}, где С0=(А0, Di....Dh) (112) и каждое предложение Сг£С имеет вид Cz = (Co/, Е{). (ИЗ) В (112) и (ИЗ) Со; и Ао — непересекающиеся множества литералов. Далее, существует такая унификация, что Dtn=~]Etn. (114) Из множества скрытого конфликта можно вывести предложение С = (Аол, С01л, .... СоЛл). (115) Как и в гиперрезолюции, Epi не может появиться в предложении С;Л, /=#t, и ни один из литералов множества {£>;л} не может ока- заться в множестве C0;n. Приведем пример. Пусть / C, = (P(xI), -]Q(a, х2), -|Q(6, с)) S = ]ci=(R(y1),Q(y2,c)) (И6) I Ct=(R(a), Q(b, zj)
12.5. Семантические стратегии 387 Подстановка л=(й/хь а/у2, с/лг2, с/гг) (117) дает предложения Сол = (75(а), "]Q(a, с), 1Q(6, с)) С1Л = (R (уг), Q (а, с)) (118) С2л = (R (a), Q (Ь, с)) При помощи гиперрезолюции выводим предложение С=(Р(а), R(yi), R(a)) (119) и факторизуем его подстановкой 0= (а/уг): Св=(Р(а), R(a)). (120) На рис. 12.17 показано соответствующее семантическое дерево. Сначала каждое предложение С,п., i=\, ..., k, из (118) приписы- Приписанное Рис. 12.17. Семантическое дерево, построенное резолюцией скрытого конфликта, вается концевому узлу /г,. Литерал Огл также приписывается узлу nt. Наконец, узлу nh+1 приписываются предложение Соп и литерал {"]£>;л=£'гл}. Узел п определяется как узел, расположенный непосредственно над и1( .... пк+1. Построенное таким способом дерево удовлетворяет определению конечного дерева конфликта. Предложения Ct........ Ch терпят неудачу на соответствующих 13*
388 Гл. 12. Доказательство теорем концевых узлах при условии, что множества Ьг содержат необхо- димые литералы. Допустим, что это условие выполняется. Если С( не терпит неудачу на узле /г и ни на каком узле над ним, то узел п должен быть концом ветви, литералы Ьп которой содержат лите- ралы гиперрезольвенты С. Более того, С — это или ядро, или сопутствующее предложение для последующей резолюции скрытого а TG(o,b)------ С6К, 4(о,Ь) Рис 12.18. Построение семантического дерева резолюцией скрытого конфликта: а — первый этап; б — второй этап. конфликта. Цепочка таких резолюций оканчивается, когда выво- дится пустое предложение ( ), или, что то же самое, когда дости- гается корень. Несмотря на сложность описания, эту процедуру легко осу- ществить, как, например, в следующем доказательстве простой теоремы о неравенствах (разд. 12.0). Здесь применяются также стратегии предпочтения одночленов и несущего множества. Пусть L(x, у), G(x, у), Е(х, у) обозначают соответственно x<Zy, х>у, х=у. Докажем, что ни для каких двух чисел а и b не может быть одновременно а>Ь и a<Zb. Исходное множество предложений та-
12.6. Эвристики 389 kobo: ' С1 = (Л(х, у), G (х, у), Е(х, у)) S = С2 = (Щх, у), "|С(х, у)) С3 = ( 1L(y, у), "|£(х, у)) С4 = (“]Е(х, у), "]G(x, у)) C6 = (G(a, b)) (121) „ Сд — (L (я, Ь)) Отрицанием утверждения теоремы является множество {С6, Св}. Это несущее множество и оно дает ядра. Сопутствующие предло- жения для этих ядер должны содержать дополнительные литералы, так что Ci можно не рассматривать. Возможными сопутствующими предложениями для С6 будут С2 и С4. Поскольку они одинаковой длины, выбираем любое, скажем, С2. Резолюция скрытого конфлик- та предложения С5 с его единственным сопутствующим предложе- нием приводит к С, = (“|Л(я, Ь)). (122) Теперь можно начать построение семантического дерева. Два сопутствующих узла и узел вывода изображены на рис. 12.18, а. Теперь уже С, можно использовать для проведения резолюции скрытого конфликта. Действительно, знак и вид предиката опре- деляет С, как сопутствующее предложение для ядра С6, а, согласно стратегии предпочтения одночленов, С, будет первым выбранным сопутствующим предложением. Затем можно построить простую резолюцию для константного случая (тривиальный случай резо- люции скрытого конфликта): (“|Л(а, &))•(/, (а, £>)) — ( )• Таким образом, выведено пустое предложение ( ), что и опровер- гает S. 12.6. Эвристики 12.6.0. Простые эвристики Существует ряд практически полезных эвристических методов, в которых намеренно жертвуют полнотой, надеясь в большинстве случаев быстро получить решение. Как правило, эти методы просты и их достаточно будет перечислить. Однако метод, использующий аналогии, требует более подробного обсуждения. В эвристике ограничения глубины временно ограничивают длину рассматриваемых выводов. Пусть k>Q будет такой границей глу-
390 Гл. 12. Доказательство теорем бины. Все выводы длины не более k проводятся до вывода длины k-\-1. В ходе поиска решения можно постепенно увеличивать k. Тогда ограничение глубины вывода становится лишь незначитель- ным обобщением известной эвристики полного перебора, специ- ально приспособленной к доказательству теорем. Методы, которыми пытаются минимизировать сложность вы- водимых предложений, можно считать эвристиками поиска, по- скольку пустое предложение ( ) можно трактовать как наиболее простое возможное предложение, а методы, минимизирующие сложность, работают прежде всего с предложениями, в некотором смысле более близкими к ( ), чем другие предложения. Пусть k, тип — положительные целые числа. В эвристке ограничения сложности не рассматривают выводы из предложения, в котором вложенных скобок больше k, число символов больше т и число литералов больше п. Если необходимо, значения этих параметров в ходе решения задачи могут меняться. 12.6.1. Аналогии При решении задач путем аналогии замечается соответствие между задачей А и ранее решенной задачей В, и с помощью этого соответствия определяется путь решения задачи А. Однако каждому школьнику известно, что существование аналогии еще не означает, что решение задачи В „похоже" на решение задачи А, но если можно показать, что предложенное решение верно, то не важно, как оно возникло. Практическое применение математиками ана- логии довольно полно исследовал Пойа (1954). Есть ли возможность приспособить этот мощный метод к механическому решению задач? Об одном из подходов применения аналогии мы уже говорили. Это программа Гелернтера, в которой машина при построении доказательств существенно использовала рисунки. Клинг (1971) предложил совсем иной способ учета аналогий в доказательстве теорем с помощью резолюции. Этот подход выражает программа ZORBA, уже успешно доказавшая ряд задач из современной алгебры, комбинируя аналогию и резолюцию. В программе ZOR ВА для обнаружения аналогии приходится просматривать много част- ных случаев. Мы не будем здесь пытаться объяснить работу про- граммы. Вместо этого продемонстрируем принятый в ней подход на простом примере ‘), где участвует большинство процедур про- граммы ZORBA (возможно, не совсем так, как их использовала бы сама программа). В каком смысле рассуждения по аналогии применимы к дока- зательству с резолюциями? Вообразим некоторую программу, ') Это модификация иллюстративного примера, который придумал Майкл Делей для одного из учебных семинаров.
12.6. Эвристики 391 работающую на принципе резолюции, цель которой — показать, что определенные утверждения следуют из очень большой базы данных D. Прямой способ доказательства состоит в том, чтобы определить Т как отрицание доказываемого утверждения и затем, получив пустое предложение ( ), убедиться, что множество D U Т невыполнимо. Во многих интересных случаях (например, в диало- говых дедуктивных системах) база данных D будет очень большой и в ней будет такое неизвестное подмножество ScD, что S U Т окажется невыполнимым. Может случиться так, что хотя задача опровержения S U Т осуществима, попытки опровергнуть непо- средственно D (J Т приведут к необходимости рассматривать много „непродуктивных" выводов, которые не окончатся пустыми пред- ложениями ( ), но отнимут время. Поэтому желательно было бы знать какой-нибудь способ обнаружения нужного подмножества S, прежде чем начинать резолюцию. Предположим, что у нас есть решенная ранее задача Т*. Иными словами, устройство доказа- тельства теорем „знает", что существует такое подмножество S* множества D, что S* U Т* невыполнимо и известен вывод из S* U Т* пустого предложения ( ). Можно ли установить отображение л предложений, участвовавших в опровержении Т*, в предложения из D, при котором n(S*)sD и n(S*)UT невыполнимо? Если ответ на этот вопрос утвердительный, значит, существует способ обна- ружить S прежде, чем проводить резолюции для опровержения Т по аналогии с опровержением Т*. В этом смысле программу ZORBA можно считать устройством рассуждений по аналогии. Для изло- жения принципов работы программы ZORBA понадобятся два новых понятия. Первое — понятие семантического шаблона. Прежде чем про- грамма ZORBA сможет начать работу, пользователь должен вы- брать „аналогичную задачу" Т*. Помимо этого, он описывает се- мантический тип, или класс, каждого предиката и место его в применяемом языке. Например, в иллюстрации работы этой про- граммы, к изложению которой мы приступаем, будут употребляться предикаты IN (хь х2), АТ (х8, х4), DOING (xs, хб) и SICK (х,)1). Они относятся к семантическим типам положение — {IN, АТ} состояние == {DOING, SICK} человек = {xj, х8, х5, х,} место =={х,, х4, хв} Семантический шаблон атомного высказывания — это просто высказывание, в котором имена предиката и его аргументов заме- ') Означающие соответственно «находиться внутри», «быть в определенном месте», «выполнять», «быть больным».— Прим, перев.
392 Гл. 12. Доказательство теорем йены именами их типов. Таким образом, семантический шаблон предиката DOING (х6, хв) есть состояние (человек, место), а преди- ката SICK (х7) — состояние (человек). Второе понятие — описание предложения. Это множество при- знаков, которыми обладает предложение и которые относятся к виду вхождения предиката в предложение. Для произвольных предложения С и предиката Р предложение С обладает признаком pos (Р), если Р входит в С только в положительной форме, neg (Р), если Р входит в С только с отрицанием, и impcond (Р), если Р входит в С как в положительной форме, так и с отрицанием. Описание предложения (АТ (стол, х), 3 IN (контора, х)) имеет вид: роз (АТ), neg (IN). Говорят, что одно описание удовлетворяет другое, если второе является подмножеством первого. Два описания частично удовлетворяют друг друга, если они имеют непустое пересечение. Теперь мы готовы приступить к обсуждению нашего примера1). В табл. 12.5 приведены предложения Ci—Св базы данных и отри- цания доказываемых утверждений. Задача состоит в том, чтобы доказать, что „Джон не болен'*, предварительно ответив на вопрос: „Где Смит?**. Для ответа на последний вопрос было взято отрица- ние „Смита нет нигде** (Т{ в табл. 12.5), и оно было опровергнуто: Т1 ( “] АТ (Смит, у)) Не существует места у, где бы мог находиться Смит (несущее множество) ("]IN (Смит, контора)) Резолюция Т, с С3 (124) Т?2 (“] DOING (Смит, работа)) Резолюция с С2 Р3 ( ) Резолюция Р2 с С2 Этот вывод будет основой для аналогии. Построение аналогии будет происходить в три этапа. Сначала найдем отображение предикатов и термов задачи Т* в предикаты и термы задачи Т. Затем с помощью этого отображения получим образы предложений, т. е. гипотети- ческие предложения, похожие на предложения, участвующие в выводе (124). Наконец, в D ищем предложения, описания которых похожи на описания образов предложений. Если такое предложение отыскивается, его называют аналогом предложения в исходном от- рицании, по которому построен этот образ. Для заданного исход- ного предложения может оказаться более одного аналога. Про- цесс продолжается до тех пор, пока для каждого предложения из Т* не найдется хотя бы один его аналог. После этого делается попытка опровергнуть Т. Первый шаг — найти отображение л0 задачи Т* в Т. Используя определенные выше семантические шаблоны, образуем множества 1) Это обсуждение не вполне ясно. — Прим. ред.
12.6. Эвристики 393 Таблица 12.5 Данные и утверждения задачи, для решения которой используются рассуждения по аналогии Предложения базы данных Ci (D01NG(C.wum, работа)) Смит работает Cs (“]DOING(x, работа), IN(x, кон- тора)) Некто работает в конторе Сз (“1 IN(x, контора), АТ(х, стол)) Находясь в конторе, некто си- дит за столом с4 ()№(Джон, контора)) Джон в конторе С6 (1 IN(x, контора), DOING(x, ра- бота) Находясь в конторе, некто ра- ботает Св (~|DOING(x,работа), ~|SICK(x)) Некто не работает, когда болей Отрицания доказываемых утверждений Т* (~|AT(Cx<u/n, у)) Смита нет нигде Tj (SICK (Джон)) Джон болен атомных высказываний из Т* и Т. В нашем примере этот шаг три- виален, поскольку каждое из исходных утверждений содержит только по одному атомному высказыванию. Таким образом, этими множествами будут Sj = {АТ(Смит, у)} шаблон положение (человек, место) S2 = {SICK(Джон)} шаблон состояние (человек) (^5) Безусловно, могли встретиться и более сложные ситуации. Но мы не будем их обсуждать J). Как только такие множества определены, устанавливается ото- бражение сначала шаблона в шаблон, а затем атомов данного шаб- лона в атомы другого шаблона. В общем случае пришлось бы на- ходить и исследовать несколько отображений, но у нас есть только одно отображение. Оно включает в себя отображения предикатов и термов, но поскольку АТ (Смит, i/)<->SICK (Джон), то покомпо- нентное отображение очевидно: л0 = {AT«->SICK, Смит*-*Джон}. (126) Теперь найдем образы предложений. В опровержении (124) участвуют предложения {Л, С1( С2, Cs, /?1( R2}. (127) *) Если для Т* и Т есть несколько различных шаблонов и для каждого из них несколько атомов, то процесс отображения атомов в атомы усложняется. См. Клинг (1971), где подробно излагается одна из таких ситуаций.
394 Гл. 12. Доказательство теорем Отображение л0 можно применить к атомам только одного из них, а именно С». Это дает образ A3i л0 (С8) = ( ~] IN (х, контора), SICK(x)) (128) с описанием neg (IN), pos(SlCK). Из табл. 12.5 видно, что „ближе1* всех к описанию предложения А3 описание предложения С5, кото- рое также обладает признаком neg (IN). Поэтому в качестве аналога предложения С3 выбирается С5. Далее расширим отображение л0 на большую область. Для этого рассмотрим два соответствующих друг другу предложения С-а и С3. Они содержат два новых атомных высказывания IN (х, контора) и DOING(x, работа). (129) Заметим, что одно из высказываний получено ранее при опро- вержении (124), а другое появилось из С5, т. е. из аналога пред- ложения С8. Как и ранее, новые атомные высказывания группи- руются на основе сходства их шаблонов (что опять тривиально, поскольку к каждому из множеств относится по одному элементу), и отображение расширяется: *4 = л0 и {IN «-> DOING; контора «->работа). (130) Отображение л^ можно применить ко всем остальным предложе- ниям, участвовавшим в опровержении (124), и это позволяет по- лучить новые образы: *4 (С\) = (IN( Джон, контора)) pos (IN) А,: л. (С„) = ( “I IN(x, контора), DOING(x, работа)) neg (IN), pos (DOING) (131) ДДр л1(Д1) = ( “] DOING (Джон, работа)) neg(DOlNG) Д/?,: л£ (Д2) = ( "] Ш(Джон, контора)) neg(IN) Таблица 12.6 Предложение Аналог(и) Cl с4 С3 С6 СЙ G6 Ri ^-2» Rt С3, с5
12.6. Эвристики 335 Затем в базе данных разыскивают предложения, описания которых пересекаются с описаниями их образов, и отбирают подходящие ана- логи (табл. 12.6). Аналоги составляют пробное множество S={C2, С3, С4, С5, Св}. Отметим, что множество л (S*)=S содержится в D, поскольку пред- ложение Ci не входит в S. Множество л (S*) (J Т невыполнимо, как показывает опровержение 7\: (SICK (Джон)) Несущее множество, Т\ R3: ( “] DOING (Джон, работа)) Резольвента 7\ с С6 Rt: ( IN (Джон, контора)) Резольвента R3 с СЕ R3'. ( ) Резольвента Rt с С4 Ясно, что S U Т не является наименьшим невыполнимым множест- вом, так что, хотя применение аналогии сделало опровержение более эффективным, все же максимум эффекта не достигнут. Так обычно и бывает. Клинг (1971) использовал программу ZORBA для предваритель- ного выбора предложений из большой базы данных, предназначен- ной для доказательства некоторых теорем современной алгебры. Он сообщает о весьма эффективном выборе данных, так как в боль- шинстве случаев множество S содержало только одно или два не- нужных предложения. Нет возможности оценить, насколько хороша „вообще" такая конкретная реализация рассуждений по аналогии, поскольку не ясно, как определить множество задач, которое хоте- лось бы считать достаточно общим. В самом деле, мы не можем ска- зать, насколько полезны аналогии в наших рассуждениях, даже как- то введя количественную меру их „полезности". Ясно, что иногда метод аналогий работает хорошо; вместе с тем можно было бы по- строить бесспорные примеры неэффективного применения анало- гий. Похоже, здесь есть два слабых места. Во-первых, пара задач, образующих аналогию, должна быть представлена программе поль- зователем (человеком). Точности ради отметим, что Клинг дал метод уточнения аналогии после того, как она предложена. Способности, возможно, как раз и заключаются в умении обнаруживать аналогии при решении задач. Вторую слабость можно считать более техниче- ской. В разобранном выше примере было только одно отображение и потому только одна аналогия. В общем случае может быть очень много отображений и аналогий. Методы работы с аналогиями раз- работаны и изучены недостаточно, чтобы можно было сказать что- нибудь существенное о правилах, ограничивающих поиск лишь по- лезными аналогиями. Не похоже, что такие вопросы будут подда- ваться логическому анализу. Как и при сравнении различных эври- стических методов и методов очищения, по-видимому, нужна ин- формация, извлеченная из тщательно построенных экспериментов в области решения задач.
396 Гл. 12. Доказательство теорем 12.7. Кванторы До сих пор неявно предполагалось, что каждая переменная свя- зана квантором всеобщности, т. е. что она может принимать любое значение из своего множества значений. Часто приходится исследо- вать высказывания, относящиеся к квантору существования, т. е. утверждения, что при некотором х предикат Р (х) принимает значе- ние истина. Утверждения, содержащие кванторы существования, можно све- сти к утверждениям, содержащим только кванторы всеобщности, использовав для замены переменных, относящихся к квантору су- ществования, сколемовские функции. Для этого сначала запишем в явной форме все кванторы, обозначая кванторы всеобщности и су- ществования соответственно через (Ух)(Р(х)) и (Зх)(Р(х)). Расши- рение на комбинации кванторов очевидно. Для доказательства ут- верждения, что для каждого значения х существует некоторое значе- ние у, при котором предикат Q (х, у) принимает значение истина, пишем (Vx) (Зу) (Q (х, у)) (133) и выполняем следующий алгоритм: (i) Составить список L переменных, связанных квантором все- общности. Сначала список L пуст. (ii) Пусть Ci — рассматриваемое предложение и j — индекс использующейся сколемовской функции s^. Сначала поло- жить / = 1. (iii) Удалить кванторы, начиная с самого левого и применяя в зависимости от необходимости правила (а) или (б). (а) Если рассматривается квантор (Ух), то удалить его и добавить х к списку L. (б) Если рассматривается квантор (Зх), то удалить его и заменить х во всем предложении Ct термом sj/Xi, .... xk), где Xj......xk — переменные, находящиеся в этот момент в списке L. Затем увеличить j на 1. Для иллюстрации возьмем предложение С, = (Vx) (Vy) (3?) (Уш) (Q (х, у), 1Q (г, ш)). (134) Кванторы (Ух), (Уу) удаляются без изменения предложения С,. Тогда L=(x, у). Квантор (Зг) заменяем во всем предложении на Sn(X, у)‘ C.^yw) (Q(x, у), 1Q(s71(x, у), w)). (135) Затем удаляется (Уш), и С, принимает вид C, = (Q(x, у), ~]Q (s,l(x, у), w)). (136)
12.7. Кванторы 397 Словами это можно выразить так: Для всех значений х, у или Q (х, у) истинно, или существует функция s71(x, у) от х, у, значение которой таково, что Q ($71(х, у), ш) ложно при всех значениях w. Отрицание предложения с кванторами требует специального изучения. Рассмотрим высказывание с квантором всеобщности: Q (х) для всех х истинно. Отрицанием его является высказывание с квантором существо- вания: Существует некоторое значение х, для которого "]Q(x) истинно. Для того чтобы осуществить отрицание высказывания, относя- щегося к квантору всеобщности, квантор существования заменяют на квантор всеобщности, а отрицание применяют к самому выска- зыванию: -]((Ух) (<?(х))) —((Эх) C]Q(x))). (137) Обратная операция также справедлива. Высказывание существует некоторое значение х, для которого Q (х) истинно имеет отрицание Q (х) для всех х ложно. Символически это записывается так: 1((Эх) (Q(x)))-4(Vx)("|Q(x))). (138) Читатель, возможно, заметил, что это правило дает логическую ос- нову для примера из разд. 12.6.1. Там мы задавали вопрос: „Где Смит?". Другая форма этого вопроса: „Существует ли некоторое ме- сто х, такое, что утверждение (АТ (Смит, х)) истинно?". Формально мы стремимся получить ((Эх) (АТ (Смит, х))), или, что эквивалент- но, опровергнуть ((Vx) (ЗАТ (Смит, х))). Можно продемонстри- ровать такое рассуждение на примере (впервые предложенном Гри- ном (1969)), очень похожем на пример из разд. 12.6.1. Пусть преди- каты Р и W интерпретируются так: Р (х) = „х——человек" 39- W (X, у) = „х работает в у“ ' Переменные х и у принимают значения из соответствующих прост- ранств людей и мест их работы. Утверждается, что для каждого че- ловека существует место, в котором он работает (СД, и что Джон —
398 Гл. 12. Доказательство теорем человек (С2). Докажем (Т\), т. е. что существует место, где работает Джон. Соответствующие предложения таковы: Сг = (Ух) (Зу) (1Р (х), W (х, у)) Каждый где-то работает С2 = (Р (Джен)) Джон —человек (140) "] 7\ = “] (3z) (1F (Джон, г)) Не существует места, где работает Джон Применяя правило отрицания, получаем для последнего предло- жения: ТЛ^Ух) (~]W (Джон, г)) (141) Применяя правила исключения кванторов к предложениям С1( С2 и ~|7'1, получаем ( С1 = (-]Р(х), W (х, su(x))) S=J с2 = (Р (Джон)) (142) 1'17’1 = Cl''7 (Джон, г)) Применяя подстановку пг=(Джон/х) к Сг и разрешая С^Л! с С2, получаем C3=(W (Джон, з11(Джон))) (143) Пусть л2=(хц(Джон)/г); разрешая С3 с "] Ллг, выводим пустое предложение ( ). Наше утверждение доказано. 12.8. Задачи, использующие равенства Новые предложения получались до сих пор двумя способами: подстановкой и резолюцией. При резолюции пары предложений отображаются в новые предложения, а подстановка заменяет терм в предложении другим термом той же синтаксической формы. Иног- да возникает необходимость заменить терм равным ему термом, ко- торый не является подстановочным частным случаем первого терма. Рассмотрим простой пример из элементарной алгебры. Положим f+(x, у)=х+у. При сравнении предложений Ci=(Q(f+(a, Ь))) (144) Ct=(~]Q(f+(b, а))) у нас нет способа обнаружить противоречие, поскольку резолюция не допускает замены термов разных синтаксических форм. В гл. 11 отмечалось, что программы типа GPS и FDC могут легко решать та- кие задачи, применяя переписывание цепочек. Возможно, этот под- ход к решению рассматриваемой задачи естественнее, чем исчисле- ние предикатов. Для других задач может оказаться верным обрат-
12.8. Задачи, использующие равенства 399 ное. В идеале хотелось бы иметь метод доказательства теорем, объ- единяющий преимущества обоих подходов. Можно было бы осущест- вить это двумя путями. Наиболее очевидный путь — дополнить множество исходных аксиом решаемой задачи аксиомами, опреде- ляющими равенство. Практически это мало приемлемо, так как при этом увеличиваются длина и число предложений в утверждениях. Тем самым значительно увеличивается число резолюций, которые можно провести, но они на самом деле не ведут к доказательству. Второй путь — включить в схему программы, использующей прин- цип резолюции, специальное правило вывода, которое должно при- меняться, когда возникает необходимость в операциях над равенст- вами. Чтобы это правило было совместимо с остальной частью уст- ройства доказательства теорем, оно должно удовлетворять двум условиям: должно 1) работать с предложениями, в которых равен- ства выражены в виде атомов, и 2) быть операцией, превращающей два предложения в третье. Первое условие утверждает, что для вы- ражения отношения равенства не нужны специальные типы данных, а второе гарантирует, что в ту же программу можно легко ввести механизмы применения как нового правила вывода, так и резолю- ции. Это специальное правило вывода, называемое парамодуляцией, было предложено с незначительными различиями несколькими ав- торами (Моррис, 1969; Робинсон и Вос, 1969; Сиберт, 1969). В основ- ном наше изложение следует формулировке Робинсона и Воса. Пусть А, В и т. д. будут множествами литералов, а а, 0, у — термами (т. е. константами, переменными или функциональными вы- ражениями). В дополнение к обычному определению атомов и лите- ралов (т. е. атомов и их дополнений) будем записывать атомы ра- венства в виде а=0 (терм а равен терму 0). Разумеется, к термам можно применять подстановку. Правило парамодуляции Если для заданных предложений Сх и С2=(а'=0', В) (или С'2— =(0'=а', В)), не имеющих общих переменных в общей части В выполняются условия (i) Ci содержит терм б, (ii) у б и а' есть наиболее общий подстановочный частный случай ( бл1> а = < , i , \ (145; I а л2, л2 = («//«J, v где щ и Wj — переменные соответственно из а' и б, то надо построить предложение С^=С1ЛЪ а затем Сг#, заменяя а на 0'л2 для какого-то одного вхождения а в С’, которое произошло от б в Ci. Наконец, вывести С3 = (С^, Вп2). (146)
400 Гл. 12. Доказательство теорем Сама идея гораздо проще, чем ее формулировка. В простейшем случае множество В пусто, так что предложения, содержащие вы- сказывания о равенствах, состоят из единственного атома, выражаю- щего равенство. Таким образом, из заданных «? (а)), С2 = (а = Ь) (147) можно вывести С3=(<2 (£>)). (148) Несколько сложнее случай Cf — Q(x), C2 = (a=b). (149) Подстановка л=(а/х) дает C; = (Q (a)), C, = (Q(b)). (150) При одном применении парамодуляции подстановка а=Рл» приме- няется к С7 только один раз. Таким образом, если заданы предло- жения С,-(<?«. Р(х)), С,<151> то одно применение парамодуляции с подстановкой jii=(a/x) дает сначала C; = (Q(a), Р(а)), (152) а затем или Ct = (Q(a), P(b)), (153) или Ca — {Q(b), Р(а)). (154) Для получения же Ct = (Q(b), P(b)) (155) требуется повторное В более сложных применение парамодуляции. случаях парамодуляция проводится с непу- стым множеством В. Рассмотрим пример, отражающий логику на- родных сказок. Докажем, что можно установить происхождение де-
12.8. Задачи, использующие равенства 401 вочки, назвавшейся принцессой. Пример математического характе- ра можно найти в работе Робинсона и Воса (1969, стр. 140). Хотя наш пример можно считать необычным, он, в самом деле, нуждает- ся в использовании отношений равенства для усиления исходных предложений из S. В табл. 12.7 приведены соответствующие опре- деления и исходные предложения. Таблица 12.7 Определения и предложения для иллюстрации вывода при помощи парамодуляцин Определения х, у, г переменные, принимающие значения множества людей ИЗ М (х) х— человек С (х) х— простолюдин D (х) х—может почувствовать горошину под двадцатью перннамн x — k х—король x = q х— королева d (х, у) дочь х и у х = р х—принцесса Исходные предложения и их интерпретации Ci (Зх) (А4 (х)) Существует мужчина С2 (Зх) (~|Л4 (х)) Существует женщина С3 (Vx) (x = k, jM (х), С (х)) Если х—мужчина и не простолюдин, то С4 (Vy) (y = q, М (у), С(у)) он король Если у —женщина н не простолюдинка, то Сз (d (k, q) = p) Сз (D (р)) она королева Дочь короля н королевы — принцесса Принцесса может почувствовать горошину С помощью метода, изложенного в предыдущем разделе, можно удалить квантор существования из предложений Ci и С2. Обозна- чим через fi сколемовские функции; тогда Cf. (МО С,- (ОО fi — мужчина Д —женщина (156) Кванторы всеобщности в предложениях Сз и С4 можно опустить. Проводя резолюцию Ci с С3, а затем С2 с С4, получаем С,: (Л = Л, С (А)) Сз- Цз = Ч,С(Ы) — король или просто- ЛЮДИН /2 —королева или про- столюдинка
402 Гл. 12. Доказательство теорем Затем осуществим парамодуляцию С7 и Сь, выполнив тем самым подстановку в равенство. Это даст С,: (<^(/1. <7) = Р> Дочь королевы и Д есть принцесса или — простолюдин (158) В результате парамодуляции С8 в С9 получаем С10: (/1» /8) = Р. С(А), С(/2)) Дочь Д и /2 есть прин- цесса или либо Л, либо /2 относится к просто людинам (159) Наконец, парамодуляция С10 в Св приводит к предложению Сц: (£>(Л(Л, /8)), С(/х), С(/2)) Дочь и /2 может по- чувствовать горошину или либо /р либо /2 относится к простолю- динам (160) Оно может служить тестом королевского происхождения. 12.9. Проблемы и будущие разработки В области автоматического доказательства теорем отмечается значительный прогресс. Однако, несмотря на это, программы дока- зательства теорем, основанные на резолюциях, склонны порождать слишком много предложений и исследовать слишком много беспо- лезных путей. Легко указать задачи, для решения которых не хва- тает памяти и быстродействия существующих в настоящее время машин. Это натолкнуло на мысль применить для определенной об- ласти задач специфические методы (Хоуде, 1970) или использовать более ограничительные, хотя и не обладающие полнотой, правила вывода (Бледсоу, Бойер и Хеннеман, 1972). Последний подход на- поминает известные методы (также не обладающие полнотой), при- менявшиеся в FDS, GPS и других аналогичных программах. Третья альтернатива, предложенная Робинсоном (1969, 1970, 1971), заклю- чается в использовании исчисления предикатов высоких порядков, что позволяет обращаться со сложными отношениями более прямым путем, чем это допускают часто неуклюжие представления, ограни- ченные конъюнкциями дизъюнкций. С точки зрения программирова- ния это меняет задачу, и вместо простых операций с большим чис- лом высказываний выполняются сложные операции с небольшим их числом. В близком подходе Петржиковского (1973) принцип резо- люции распространен на Х-исчисление; это позволяет использовать переменные функции и имена предикатов. Был предложен и совершенно отличный от упомянутых, немате- матический метод. В принципе не плохо бы приспособить человека
12.9. Проблемы и будущие разработки 403 для утонченных подсказок машине, доказывающей теоремы. Это вызвано тем, что обычно устройства доказательства теорем оказы- ваются не в состоянии решить задачу из-за того, что слишком много „усилий" тратится на проведение определенной линии доказатель- ства уже после того, как человеку „стало бы очевидна" невозмож- ность найти решение на этом пути. Время от времени утверждается, что люди способны чувствовать обещающий подход к решению зада- чи, но пасуют при необходимости механически применять на каж- дом шаге правила вывода. Если это так, то комбинация человека и машины должна привести к системе с известным свойством: целое больше, чем сумма его частей. В ряде проектов делались попытки использовать эту идею, однако без большого успеха (Аллен и Лак- хэм, 1970; Гард, Оглсби, Беннетт и Сеттл, 1969; Грин, 1970). Такие проекты уводят нас от области искусственного интеллекта в еще более неопределенную область человеко-машинного интеллекта. За- щитники человеко-машинных систем должны ответить на следующие вопросы. Совершенно неясно, действительно ли (или при каких об- стоятельствах) человек способен предчувствовать, что определенная линия рассуждения приведет к успеху х). Гард и др. (1969), выпол- нившие, вероятно, наиболее обширные исследования в этой области, отмечают, что наблюдать за работой автоматического устройства до- казательства теорем — это почти то же, что проникнуть в мысли сильного математика с нечеловеческим мышлением. Это можно уви- деть, следя за ходом доказательств (безусловно, верных), получен- ных программой доказательства теорем. Тогда для построения чело- веко-машинной системы нужен язык, на котором могут общаться друг с другом эти две компоненты. Сомнительно, чтобы для этого был достаточен какой-нибудь общепринятый язык программирова- ния, известный в настоящее время, хотя PLANNER и QA4 открыва- ют интересные возможности. Наконец, наш собственный ограничен- ный опыт указывает на то, что инженерно-человеческий аспект та- кого взаимодействия становится весьма важным. В конце концов даже шум, производимый телетайпом, при решении вместе с маши- ной сложной задачи доказательства теорем может создавать серьез- ные трудности. Кроме того, необходимая психомоторная концентра- ция при наборе сообщений, которые приходится посылать вычисли- тельной машине, мешает человеку следить за смыслом этих сообще- ний. Вовсе отсутствуют исследования, позволяющие оценить „чело- веческие факторы" в доказательстве теорем или вообще в матема- тике. Рассуждения о том, что человек, в самом деле, испытывает озарение, обыч- но «подтверждаются» различными историями о математических открытиях, сде- ланных очень одаренными индивидуумами. Мы, безусловно, признаем, что Гаусс, Лейбниц, фон Нейман и Эйнштейн обладали способностью пробраться к сердце- вине задачи, но сохраняем скептицизм по поводу того, что средний математик сможет достичь похожих озарений, даже если он имеет доступ к достаточно мош- ной вычислительной машине.
Часть IV ПОНИМАНИЕ Г лава 13 МАШИННОЕ ВОСПРИЯТИЕ 13.0. Проблема восприятия В качестве слуг человека ЭВМ имеют бесспорные недостатки, из которых наиболее неприятен тот, что хозяевам приходится разгова- ривать на языке своих слуг. Люди должны переводить свое понима- ние хаотического и неоднозначного окружающего их физического мира в строго организованные последовательности входных данных. Более того, человек вынужден писать указания машинам на неес- тественных языках, вроде Фортрана или Алгола, вместо легко понимаемых, хотя и неоднозначных, английском или русском. Древние римляне требовали, чтобы их греческие рабы разговарива- ли по латыни. Мы по сравнению с ними, по-видимому, сдали по- зиции. Необходима машина с большими возможностями, которая могла бы понимать окружающий ее физический мир так же свободно, как и люди. Имеются два аспекта этой проблемы: машинное восприятие и машинное понимание. Не совсем еще ясно, где проходит граница между ними. В общих чертах при восприятии чувствующее существо организует свои ощущения физического мира в образы и формирует свое внутреннее представление внешнего мира, которое описывает „важные" отношения между этими образами. При понимании имею- щееся внутреннее представление используется для получения неко- торого выходного сообщения. Необходимые для этого действия мо- гут включать сравнение своего внутреннего представления окружаю- щего мира с реальными или воображаемыми мирами. Человек узнает об окружающем физическом мире посредством своих пяти чувств: зрения, слуха, осязания, обоняния и вкуса. Зрение и слух являются наиболее важными каналами, и только они и рассматривались серьезно как возможные средства получения ма- шинами информации. Создание ЭВМ, способной видеть и слышать, оказалось очень сложной задачей. И ни в одной из попыток машинное
13.0. Проблема восприятия 405 восприятие даже отдаленно не приближается к человеческому. Ма- шинный анализ изображений ограничивался либо классификацией фотографий, что фактически больше представляет собой специализи- рованную задачу распознавания образов (Розенфельд, 1969а, б) и не будет здесь рассматриваться, либо анализом очень простых сцен, вроде тех, что можно построить на столе из детских кубиков. Проблемы, связанные со зрительным восприятием, в самом деле, б Рис. 13.1. Неоднозначность, возникающая при рассмотрении прямоугольного объекта под углом Рисунок также иллюстрирует, как трехмерная сцена проекти- руется на двумерную плоскость изображения: а — плоскость изображения; б — получаемое на этой плоскости изображение. трудно разрешимы. Машинное восприятие речи почти так же мало- успешно. Наши успехи в этой области сегодня лишь незначительно напоминают то, что обычно показывают в научно-фантастических фильмах, рассказывающих об ЭВМ, исследующих джунгли или ре- монтирующих космические корабли. Причина, по которой машинное восприятие столь ограничено, совсем проста. Изображение на сетчатке неоднозначно представляет внешний физический мир. Вообразим наблюдателя, разглядываю- щего из окна прямоугольную печную трубу, расположенную под углом к линии зрения (рис. 13.1, а). Ретинальный образ на задней стороне глазного яблока имеет форму трапеции, „лежащей на боку" (рис. 13.1, б). Наблюдатель обрабатывает и правильно интерпрети- рует зрительный сигнал как прямоугольник, на который смотрят под углом к его плоскости, поскольку наблюдатель „знает", что в За-
4С6 Гл. 13. Машинное восприятие. падной Европе печные трубы обычно имеют характерную прямо- угольную форму. Суть в том, что входная визуальная информация должна интерпретироваться в терминах того, что мы знаем о мире. Похожие явления можно наблюдать при восприятии звуковых сигналов. Каждый водитель может узнать звук сирены автомобиля скорой помощи, движущегося навстречу (при этом высота и ампли- туда звукового сигнала увеличиваются) или движущегося от него (при этом высота и амплитуда звукового сигнала уменьшаются). Воспринимаемый звуковой сигнал интерпретируется на основе пред- положения, что движущийся автомобиль издает постоянный сиг- нал. Такой же меняющийся звук мог бы производиться стационар- ным источником, но мы „знаем", что в данном случае этого не может быть. И снова наше знание окружающего физического мира исполь- зуется для построения разумной интерпретации человеческих ощу- щений. Многие психологи считают главной чертой всего восприятия нашу способность находить определенные внутренние модели, по- зволяющие реконструировать полученный сигнал. Но как запро- граммировать такой процесс в вычислительной машине? Это удаст- ся сделать, только если будет найден способ хорошего представления внешнего мира в машине. 13.1. Зрение 13.1.0. О невозможности видеть Представим себе робота (в некотором роде циклопа) с телевизи- онной камерой вместо глаза. Робот наблюдает сцены, совокупности трехмерных объектов, рассматриваемые с некоторой точки. Однако камера передает роботу лишь двумерный образ, получающийся в результате прохождения лучей от объектов рассматриваемой сцены к линзам камеры. Построение образа, а также его неоднозначность показаны на рис. 13.1. Некоторый объект рассматриваемой сцены представляется в соответствующем образе совокупностью точек, в которых отрезки прямых от линз к этому объекту пересекаются с плоскостью, перпендикулярной оптической оси камеры. Задача зрительного восприятия состоит в восстановлении сцены по задан- ному образу. В этом разделе мы приведем некоторые доводы, свиде- тельствующие о неразрешимости этой задачи. Безусловно, читатель сразу же возразит, сказав, что такого рода аргументы не могут быть правильными. Ведь задача анализа сцен стоит как перед людьми, так и перед роботами, и люди решают ее. Это верно, а также верно и то, что неявная цель любого проекта по машинному зрению — достичь способности воспринимать окружающий мир, по крайней мере близкой к человеческой. Однако ни одна из существующих сей-
13.1. Зрение 407 час вычислительных систем не подходит даже близко к человеческим характеристикам восприятия. Почему? В качестве начального подхода можно было бы рассматривать анализ сцен как специальную задачу распознавания образов, в ко- торой зрительные образы классифицируются как эквивалентные, даже если они являются различными изображениями одной и той же сцены. Такой подход не приводит к хорошим результатам по при- чинам, частично объясненным выше при обсуждении проблем рас- познавания образов. Сцена, рассматриваемая с различных точек, определяет класс эквивалентности относительно вращения в трех- мерном пространстве, и поэтому соответствующая задача распозна- вания относится к теоретико-групповой классификации. Как пока- зал Ватанабе (1971), решение такой задачи с использованием имею- щихся в настоящее время методов распознавания образов весьма за- труднительно (см. также обсуждение этого вопроса в гл. 7). Более того, анализ сцен требует от нас способности выделять составляющие их компоненты. На языке распознавания образов это означает, что мы должны быть способны распознавать различные двумерные пред- меты, которые могут получаться в результате проектирования трех- мерных объектов на плоскость изображения. Обычно сцены содер- жат более одного объекта. Поэтому робот должен быть в состоянии распознать некоторый объект среди совокупности других объектов. Минский и Пейперт(1969) доказали, что линейное устройство парал- лельной классификации этого сделать не может. На основе этих двух замечаний мы должны согласиться, что анализ сцен, по-види- мому, должен быть весьма сложным. Необходимость в более сложном алгоритме противоречит друго- му требованию, предъявляемому к процедуре анализа сцен — ско- рости. Непосредственное количество информации, с которым при- ходится иметь дело в машинном зрении, огромно. Высококачествен- ная телевизионная камера передает изображения, описываемые зна- чениями яркости в 1024X1024 различных точках. Каждая точка в изображении обычно определяется в трехбитовой шкале яркости. Цветное зрение было бы, конечно, еще более сложным. Предполо- жим теперь, что камера передает 30 изображений в секунду. (Это чуть больше скорости, ниже которой большинство людей восприни- мали бы мигание. Обычная скорость — пятьдесят кадров в секун- ду.) В этом случае входные данные необходимо было бы передавать со скоростью ЗхЗОх 1024? или около 108 бит в секунду. Подробная обработка входной информации в реальном времени, поступающей с такой скоростью, едва ли осуществима любой вообразимой ЭВМ. Существует еще и другая сложность. Несмотря на количество переданной информации, для описания наблюдаемой сцены она все же не достаточна! Этот факт известен уже давно и отмечался психо- логами, занимавшимися изучением зрительных иллюзий и констант- ности восприятия (Дэй, 1972; Хохберг, 1971). Иллюстрацией к этой
408 Гл. IS. Машинное восприятие проблеме может служить явление константности размера х). Размер изображения некоторого объекта на сетчатке изменяется обратно пропорционально с расстоянием от глаза до этого объекта. Однако для нас не трудно определить, что игрушечные автомобили, распо- ложенные рядом с нами, все же меньше, чем настоящие автомобили, находящиеся на стоянке вдалеке от нас. Еще более потрясающий факт связан с тем, что мы можем делать удивительно хорошие оцен- ки размера объекта при изменении расстояния до него. Люди осу- ществляют это, основывая свою оценку размера объекта как на раз- мере ретинального изображения, так и на воспринимаемой величине расстояния. Если информация, необходимая для оценки расстояния, убирается, то эффект константности размера ослабевает и может даже исчезнуть. Вместе с тем, поскольку изображение объекта известного размера на сетчатке может служить определенной подсказкой для оценки расстояния до него. Эти факты весьма обыденны. Обсудим, однако, что они значат для восприятия робота. Восприятие сложных сцен по необходимости является процессом вероятностного вывода, основанного на имеющейся в зрительном образе информации и на предварительном знании определенных возможных свойств данной сцены. Это означает, что восприятие свя- зано не только со сложной задачей обработки данных, но также с за- дачей информационного поиска. Как же можно проводить необходи- мые вычисления, если скорость получения входной информации очень высока? Однако, конечно же, зрение возможно. Одна из причин этого состоит в том, что зрительный образ в значительной степени избыто- чен как в пространстве, так и во времени. Если известна яркость в некоторой точке зрительного образа, то значения яркости в сосед- них точках можно предсказать, если только рассматриваемая точка не находится на границе объекта или рядом с ней. Края изображе- ния представляют собой совокупности точек, окрестности которых требуют тщательной обработки. Далее, когда число возможных объ- ектов, предназначенных для идентификации, ограничено, требуется только очень грубая информация о границах. Для иллюстрации рас- смотрим рис. 13.2. Чье это изображение — собаки, кошки или лоша- ди? Скорее всего мы увидим в нем кошку. Фигура была получена линейной аппроксимацией границ изображения кошки на фото- снимке (Эттнив, 1954). Следует обратить внимание на два момента в этом примере. Во-первых, изображение не „очевидно" является кош- кой, до тех пор пока вы не познакомились с перечнем возможных альтернатив. Во-вторых, если заданы эти варианты, то для иденти- фикации требуется лишь самая грубая информация о краях фи- гуры. *) См. Грегори Р., Разумный глаз, изд-во «Мир», М., 1972.— Прим, перев.
13.1. Зрение 409 Рис. 13.2 иллюстрирует пространственную избыточность. Вре- менная избыточность еще значительнее по той простой причине, что мы живем в непрерывном мире. До тех пор, пока скорость поступле- ния информации от камеры к ЭВМ велика по сравнению с движени- Рис. 13.2. Кошка по Эттниву. ем объектов в окружающей среде, имеется возможность предсказы- вать большинство зрительных образов в момент t по тому, что мы знали о нем в момент t—1. Поэтому второй путь экономии затрат по обработке информации заключается в том, чтобы проводить подроб- ный анализ зрительного образа только тогда, когда этот образ суще- ственно изменился по сравнению с предыдущим шагом. ГПХЗСГпХ>‘иО’ООХ Рис. 13.3. Схема машины зрительного восприятия. Фактически наше обсуждение является наброском восприни- мающей машины, схематически показанной на рис. 13.3. Машина состоит из четырех основных частей: (1) Входной препроцессор получает изображение. Этот препро- цессор состоит из набора локальных операторов, сглаживающих входные данные, обнаруживающих края предметов в изображении и аппроксимирующих эти края прямыми. Такие локальные операто- ры играют роль детекторов признаков, упоминавшихся нами ранее
410 Г л. 13. Машинное восприятие при обсуждении распознавания образов (гл. 8). Локальные операто- ры могут функционировать параллельно, независимо друг от друга, так что полное время, требуемое для этого шага, ограничено только временем работы самого медленного оператора. Поскольку препро- цессор относительно независим, он может обрабатывать предъяв- ленный образ, в то время как остальные части машины работают с предварительно принятыми образами. (2) Компаратор сопоставляет выходную информацию детектора признаков с его предыдущими выходными данными для того, чтобы определить, были ли какие-нибудь значительные изменения, и если да, то где. Определение „значительности" может меняться, что зависит от предыдущих идентификаций в сценах. Если не произо- шло значительных изменений, то компаратор просто записывает на месте старых данных, полученных от детектора признаков, новые. (3) Когда происходит значительное изменение, компаратор пре- рывает работу анализатора. Анализатор представляет собой весьма сложное устройство, характеризуемое значительным временем об- работки данных, поступающих от детекторов признаков. Анализа- тор также имеет доступ к памяти, в которой содержится информа- ция, описывающая типы предметов и объектов, которые чаще встре- чаются. Полезно интерпретировать анализатор как разновидность устройства, реализующего бейесовское решение. Учет каждого из признаков изображения можно рассматривать как эксперимент, ре- зультат которого меняет правдоподобие выбора определенной сцены в качестве объяснения этого изображения. Имеющаяся база данных обеспечивает необходимые вероятностные меры как априорного правдоподобия сцены, так и правдоподобия того, что некоторое на- блюдаемое изображение порождается данным объектом. Отметим, что это не означает, что память должна содержать исчерпывающую информацию, определяющую этот предмет и полученную от рассмот- рения каждого возможного объекта со всех возможных направле- ний. Все, что в памяти должно быть — это программа для вычисле- ния изображения, которое было бы получено в результате наблю- дения определенного объекта с некоторой точки. (4) После того как анализатор выбирает некоторую сцену в каче- стве интерпретации имеющегося у машины изображения, синтеза- тор вычисляет изображение, которое бы получилось от этой сцены. Это изображение сопоставляется с реальным изображением, полу- чившимся после обработки его препроцессором. Интерпретация анализатора принимается, если сопоставление достаточно точное. Эта модель представляет собой только набросок очень сложного процесса. Для построения полной модели зрения пришлось бы вклю- чить в нее обратные связи между анализатором и препроцессором и значительно углубиться в детали того, что компаратор должен счи- тать важным изменением в образе. Также необходимо было бы учесть, насколько хорошо полученная модель соответствует извест-
13.1. Зрение 411 ным фактам о человеческом зрении J). Для наших целей это не по- требуется. Представленная модель (рис. 13.3) достаточна для обсуж- дения особенностей машинного зрения. 13.1.1. Основные понятия машинного анализа сцен Общие принципы машинного анализа сцен легко понять, и мы их здесь приведем. При этом опущено много технических деталей; для более подробного рассмотрения следует обратиться к книге Дуды и Харта (1973). Наиболее примитивно сцену можно представить в виде матрицы, каждый элемент которой описывает значение яркости в некоторой точке изображения. Края в этом изображении можно обнаружить, отмечая множества связанных точек (т. е. линий), для которых име- ет место разкий скачок в значении яркости. Поскольку используе- мые данные могут содержать шум, часто бывает полезным заменить полученные указанным способом „приблизительно прямые1* линии прямыми. Такие операции осуществляются в отдельных областях изображения. Такого рода предварительная обработка осуществ- ляется фактически в каждом проекте по зрению. Этот шаг будет на- зываться выделением краев. После выделения краев изображение представляется в машине списком прямых вместе с соответствующими узлами. В свою очередь узлы определяются проходящими через них прямыми и своими коор- динатами. Для простых штриховых рисунков (например, для треков элементарных частиц в пузырьковых камерах) не требуется даль- нейшего усовершенствования представления. В более сложных си- туациях необходимы понятия более высокого порядка, поскольку представляемые фигуры могут не определяться при помощи пря- мых. Чтобы показать это, рассмотрим две Т-фигуры на рис. 13.4. Для каждой из них в табл. 13.1 перечислены соответствующие пря- мые и узлы. Хотя человек сразу же распознает, что обе эти фигуры являются одной и той же буквой, ясно, что, если пользоваться толь- ко приведенной таблицей, потребуется сложный алгоритм для уста- новления соответствия между двумя списками прямых. Есть подо- зрение, что люди осуществляют правильное распознавание в этом случае, продолжая до соединения прямые 7 и 3 области I „блочного Т“ (рис. 13.4, б) и затем замечая, что отношение между прямыми в *) На самом деле эта модель совсем не плохо описывает зрительное восприя- тие (Корнсвит 1970). Это особенно верно, если допускается возможность препро- цессору последовательно просматривать образ, т. е. в каждый момент времени только небольшое число детекторов признаков активно, и они перемещаются по всему полю изображения. Это соответствует некоторым данным и предположени- ям, касающимся роли движения глаз при распознавании и сохранении зрительных образов (Хохберг 1971, Лофтус 1972).
412 Гл. 13. Машинное восприятие „линейном Т“ соответствует отношению фрагментов I и II в „блоч- ном Т“. в 2 С 6 а Рис. 13.4. Две Т-фигуры, линейная и блочная. Прямым, для удобства пользо- ваться табл. 13.1, приписаны числа и буквы. Пунктирная прямая не представ- лена в табл. 13.1. Ее объяснение содержится в тексте. Опустим вопрос о том, как принималось решение о продолжении прямых, и заметим, что в этом примере введено новое понятие обла- сти. Формально область образуется замкнутой циклически упорядо- Список прямых и узлов для рис. 13.4 Таблица 13.1 Прямая Узлы, связанные с соответствующими прямыми Фигура а 1 (Л) (В, 2, 3) 2 (В, 1, 3) (С) 3 (В. 1, 2) (О) Фигура б 1 (А, 8) (В, 2) 2 (В, 1) (С, 3) 3 (С, 2) (Р, 4) 4 (О, 3) (Е, 5) 5 (Е. 4) (Е, 6) 6 (Е, 5) (G, 7) 7 (G, 6) (/У. 8) 8 (Н 7) (Л, 1)
13.1. Зрение 413 ченной совокупностью линий. Неформально области соответствуют видимым частям поверхностей объектов в наблюдаемой сцене. Что- бы убедиться в этом, представим наблюдателя, рассматривающего два расположенных на столе детских кубика (рис. 13.5). Для осу- ществления вывода о сцене наблюдатель должен приписать каждую область соответствующей поверхности объекта и затем определить положение объектов сцены в трехмерном пространстве. Прямые, узлы и области являются свойствами двумерных изоб- ражений; объединяясь, они образуют наблюдаемые предметы. Сце- ны состоят из объектов, основные элементы которых представляют собой поверхности, края и углы. Для простоты ограничимся объек- тами с плоскими поверхностями, если только не указано противное. В анализе сцен для восстановления трехмерной сцены из двумерного изображения используются определенные отношения между эле- ментами изображения и сцены. Основным моментом в процессе вос- становления является определение влияния формы объектов и их ориентации по отношению к наблюдателю на воспринимаемое изоб- ражение. Гузман (1968) первым предложил систематические методы использования этой информации. Его методы затем были обобщены другими, включая Клюса (1971) и Хаффмена (1971), построивших каталоги типов фрагментов изображений, которые можно получить из различных конфигураций узлов и отношений „впереди — по- зади“. Край можно классифицировать как вогнутый или выпуклый в зависимости от того, связывает он две поверхности, выступающие в направлении наблюдателя или в обратном направлении. Это иллю- стрируется рис. 13.6, на котором схематически показаны два наблю- дателя, разглядывающие сцену, представляющую собой кубик, по- ставленный на другой кубик. Наблюдатель I видит выпуклый край в точке 1 и вогнутый в точке 2. Рассмотрим теперь изображение этой же сцены, воспринимаемое наблюдателем II (рис. 13.7). Предполагая, что она состоит из па- раллелепипедов, можно считать, что узел А образован углом, свя- зывающим три грани, одна из которых не видна. Далее, наличие такого узла означает, что две видимые грани имеют общий выпуклый край по отношению к наблюдателю II, а два края между невидимой поверхностью и каждой из видимых могут быть как выпуклые, так и вогнутые (рис. 13.8, а). Далее, если такая интерпретация узла А верна, то должен существовать угол, который образует другой узел (рис. 13.8, б), расположенный справа и лежащий на прямой 3. (На самом деле эта точка не обязательно должна быть на прямой 3, по- скольку последняя может быть прервана изображением объекта, лежащего на линии зрения (рис. 13.5).) Рассмотрим теперь узел В (рис. 13.7). Такая точка, вероятно, не может соответствовать углу в сцене, состоящей из параллелепипе- дов. Поэтому ее можно интерпретировать как свидетельство того,
в Рис. 13.5. Различные изображения одной и той же сцены, состоящей из двух детских кубиков: а — вид сверху; б — вид сбоку; в — изображение, восприни- маемое наблюдателем. Области А и В — видимые поверхности кубика I. Области С, D и Е, F — части поверхностей кубика II. Рис. 13.6. Два наблюдателя, разглядывающие сцену, в которой один кубик на- ходится на другом. Край 1 выпуклый, край 2 вогнутый для наблюдателя I. а — вид сверху; б — вид сбоку.
Рис. 13.7. Вид сцены, изображенной на рис. 13.6, для наблюдателя II. Рис. 13.8. Точка образована углом объекта (а). Это означает, что должна быть еще одна точка (б). Рис. 13.9. Точка, образованная пересечением одной видимой и двух невидимых граней объекта (все три края выпуклые).
416 Г л. 13. Машинное восприятие что в этой сцене существует вертикальная грань, закрывающая да- лекий край грани А (рис. 13.8, а). Эта интерпретация допускает узел (типа показанного на рис. 13.9) где-то на продолжении прямой 2 (рис. 13.8, а). Предполагаемый узел может быть невидимым, если имеется закрывающая его вертикальная грань, как это и случилось в рассматриваемом примере. Следующий момент, который необходимо учесть, заключается в том, что определенные группировки рассматриваемой сцены пред- определяют наличие определенных узлов в изображении. Несколь- ко интерпретаций могут включать тот же самый узел, однако будет только одна интерпретация сцены, которая удовлетворяет всем уз- лам, если только изображение действительно однозначно. Про- грамма может идентифицировать небольшое число узлов, строить гипотезу о рассматриваемой сцене и проверять эту гипотезу путем поиска в изображении узлов, содержащихся в интерпретации. Такой метод называется анализом при помощи синтеза, и он не только осу- ществим в машинном зрении, но также тесно связан с принципами, которые были предложены для описания человеческого зрительного восприятия (Нейссер, 1967). Основная слабость анализа при помо- щи синтеза заключается в том, что он предполагает наличие знания о виде объектов, которые могут встретиться в сцене. Прежде чем обсуждать, насколько ограничительно это допущение, рассмотрим подробный пример работы программы, использующей метод ана- лиза при помощи синтеза. 13.1.2. Программа INTERPRET INTERPRET (Фальк, 1972) представляет собой программу ма- шинного зрения, предназначенную для использования ее в изучении машиноуправляемой системы глаз — рука. Назначение этой про- граммы ограничивается анализом зрительных сцен, состоящих из кубиков известного размера и формы с плоскими гранями. Такое ограничение делает программу недостаточно общей, однако позво- ляет ей осуществлять разбиение весьма сложных сцен. Программа к тому же представляет специальный интерес, так как может рабо- тать в ситуациях, когда имеются дефекты в линиях изображения. На первом этапе работы программы INTERPRET дискретная входная информация от телевизионной камеры преобразуется про- цедурой выделения краев в контурное изображение. Точность полу- ченного изображения будет зависеть от контрастности между свет- лыми и темными областями в наблюдаемой сцене. Слабая контраст- ность может стать причиной ошибочного добавления или удаления линий. На рис. 13.10, а, б показан пример реальной сцены, на ко- торой один блок расположен перед другим, большим блоком, однако вследствие недостаточной контрастности две линии в изображении первого блока потеряны.
13.1. Зрение 417 После того как получено контурное изображение, программа INTERPRET изучает узлы при помощи способа, аналогичного опи- санному в предыдущем разделе, для того чтобы отнести края и гра- ни к определенным телам. Это осуществляется нахождением всех узлов, которые можно интерпретировать в качестве углов некоторого тела, и последующим отнесением соответствующих краев и граней к этому телу. По завершении этого этапа программа INTERPRET в 8 Рис. 13.10. Последовательные стадии анализа: а— изображение сцены со всеми видимыми краями в форме линий; б — неполное изображение сцены, полученное по входным данным; в — два разных предмета, получившиеся в результате отне- сения к соответствующим объектам сцены разных граней (областей); г — полные изображения объектов, получившиеся в результате применения специальной процедуры завершения линий. будет способна разбить исходное изображение на объекты, каждый из которых соответствует одному из объектов в сцене. Однако полу- чившиеся изображения объектов не обязательно будут завершенны- ми (рис. 13.10, в). На этом же этапе система INTERPRET опреде- лит положение некоторых углов объектов в трехмерном простран- стве и идентифицирует некоторые объекты как находящиеся на дру- гих объектах, используя простые предположения, что (а) объекты не могут висеть в пространстве и (б) если какой-то объект имеет гори- зонтальную границу не выше любой другой горизонтальной грани- цы, то соответствующий край расположен на столе. Определение положения углов особенно полезно для INTERPRET, поскольку программа „знает" размер кубиков в сцене и, таким образом, может 14 э. Хант
418 Гл. 13. Машинное восприятие вычислить ожидаемое положение остальных углов, как только иден- тифицированы тип кубика и положение одного из углов. Следующий шаг программы состоит в идентификации присутст- вующих в сцене тел. Сначала при помощи достаточно очевидных ме- тодов делается попытка достроить линии, а именно соединяются ра- зорванные прямые и добавляются углы в местах пересечений про- долженных прямых (рис. 13,11). Наконец, изображения отдельных предметов сравниваются с хранящимися изображениями известных объектов, наблюдаемых с разных точек'). Принимается наиболее полно соответствующее изображение. Теперь программе INTER- PRET известно, какие в рассматриваемой сцене находятся тела и где они расположены. В качестве проверки программа вычисляет контурное изображение, которое было бы получено в предположе- Рис. 13.11. Примеры простых случаев завершения линий. нии, что соответствующая сцена и точка, с которой она рассматри- вается, идентифицированы правильно. Это изображение сравни- вается с входным изображением,, и если между ними отсутствуют серьезные различия, то соответствующая интерпретация прини- мается. Система INTERPRET и другие подобные ей программы способны правильно анализировать весьма сложные сочетания кубиков. Ра- бота программы INTERPRET сама по себе к тому же выглядит впол- не разумной в том смысле, что эта программа может дополнять от- сутствующие во входной информации линии и края. На практике это очень важно, поскольку слабая контрастность значительно уменьшает точность телевизионного изображения сцены. Поэтому основная информация, поступающая на вход программы, может быть с ошибками. Недостатки подхода, использующегося в програм- ме INTERPRET, сводятся к тому, что эта программа может рабо- тать только со специализированным внешним миром. Фальк сооб- щает, что для работы со сценами, состоящими из кубиков, необходи- Ч Следует опять отметить, что это не требует, чтобы программа INTERPRET предварительно хранила все возможные такие изображения. Все, что нужно иметь, это каноническое представление (например, трехмерные описания) тел и алго- ритм для вычисления соответствующего изображения этих тел с любой точки. Имеются интересные данные, что это именно благодаря этому способу люди в со- стоянии распознавать трехмерные формы (Шепард и Мецлер, 1970).
13.2. Восприятие машиной речи 419 ма большая и сложная программа. Если это так, то как можно ожи- дать работы с мирами, для предсказания в которых требуется на несколько порядков большие объемы знаний? Проблема не просто в том, что больше различных видов тел, но в том, что основные фор- мы в реальном мире намного сложнее, чем использовавшиеся до сих пор. Например, включение в рассмотрение предметов с искривлен- ными поверхностями намного бы усложнило соответствующий ана- лиз, вместе с тем люди живут в мире, полном такого рода объек- тами. В системе INTERPRET и других известных в настоящее время проектах машинного зрения предприняты попытки разными спосо- бами скопировать человеческий механизм зрения. Несмотря на то что это похвальная цель, она все же, возможно, слишком претен- циозная. Проблема не в том, что человеческую зрительную систему нельзя скопировать при существующем уровне техники, а в том, что для этого, по-видимому, необходимо иметь человеческую память. Некоторые исследователи предположили, что человеческая память состоит из большого числа элементов, которые становятся активны- ми, когда обнаруживают „свои сигналы" в наблюдаемом входном сигнале (Хант, 1973; Джон, 1972). С точки зрения такой памяти че- ловеческое зрение может позволить себе „пассивное наблюдение", при котором поступающая в мозг предварительно обработанная информация от глаза может вызвать хранящуюся в нем информа- цию. Учитывая имеющуюся технологию построения памяти вычис- лительных машин, по-видимому, более подходящим для конструк- торов роботов было бы приспособить специальную вычислительную машину к активному сканирующему устройству, которое бы излу- чало физический сигнал и затем анализировало полученный ответ. Вероятно, аналогией такого устройства должен быть в биологиче- ских системах сонар летучей мыши, а не человеческий глаз '). Этот подход выглядит особенно привлекательным для ситуаций, в которых машина должна просматривать „видимый мир", содержа- щий только ограниченную совокупность важных для нее целевых объектов. 13.2. Восприятие машиной речи 13.2.0. Задачи понимания речи В самой общей форме машинное восприятие звуков должно от- носиться к системе, осуществляющей перевод акустических сигна- лов в цифровой код. Очевидно, построение устройства, реагирующе- Конечно, сканирующее устройство не обязательно должно использовать звуковой сигнал. Лазерный луч мог бы быть более полезным и более подходящим для памяти, функционирующей с быстротой, сравнимой со скоростями счета вы- числительных машин. 14*
420 Гл. 13. Машинное восприятие го на определенные акустические сигналы, может быть сложной или простой задачей в зависимости от природы этих сигналов и наличия шума. Во всяком случае, непохоже, чтобы такие исследования каса- лись какой-либо общей проблемы, однако за одним исключением. Речь идет о восприятии речи. Безусловно, можно выделить достаточ- ное количество информации из акустического речевого сигнала, за- кодировать ее в виде последовательности импульсов или непрерыв- ного электрического сигнала и передать эту информацию человеку, чтобы он мог распознать семантическое содержание первоначаль- ного высказывания. В конце концов это как раз то, что происходит в телефонном разговоре, при этом никто и не пытается каким-то об- разом автоматизировать процесс распознавания. Под машинным восприятием речи понимается более глубокая задача. Целью яв- ляется разработка машины, способной в данном акустическом сиг- нале идентифицировать лексические компоненты сообщения. Лек- сическая идентификация рассматривается как предварительный этап семантического анализа, представляющего собой самостоя- тельную и значительную проблему. Зачем непременно нужна машина, воспринимающая речь? Во- первых, потому, что ее построение явилось бы интересным научным результатом. Во-вторых, потому, что люди не должны будут тогда общаться с машиной на ее языке. Это серьезная проблема. Как и многие другие, Кемени (1972) отметил, что главное препятствие к широкому использованию вычислительных машин заключается в требовании, чтобы пользователь усвоил весьма ограниченную, ма- шинно-ориентированную форму общения. В докладе, подготовлен- ном для Агентства оборонных исследовательских проектов х) Ми- нистерства обороны США, приведен целый ряд более специфических ситуаций, в которых была бы полезна машина, воспринимающая речь (Ньюэлл и др., 1972). Среди этих проектов были построение си- стем хранения и обработки данных, к которым можно было бы обра- щаться через машину, осуществление возможности непосредственно задавать вопросы о состоянии большой вычислительной системы, ввод новой информации и контролируемое ЭВМ обучение при ис- пользовании вычислительной или другой сложной техники. Впечат- ляет то, что список представлен как список вполне реальных, а не конечных целей. Для неслишком отдаленного будущего можно во- образить и еще более эффектные задачи. Например, исследователь, находящийся на Земле, возможно, захотел бы управлять на расстоя- нии устройством, передвигающимся по лунной поверхности, не прибегая к телетайпу в качестве устройства общения. Естественно, что современная научная фантастика предполагает еще более уди- вительные примеры восприятия информации с голоса 2). Defence Research Project Agency.— Прим. ped. 2) Например, в фильме «Колосс: Проект Форбина», повествующем о конце двадцатого века, показывается машинное восприятие речи, причем один из героев
13.2. Восприятие машиной речи 421 В упоминаемом докладе Министерству обороны тщательно раз- личаются те возможности, которые требуются от систем в различ- ных приложениях. Многие интересные применения можно реализо- вать с помощью системы, способной распознавать небольшое число ключевых слов, используемых в ограниченных контекстах. Напри- мер, для сообщения о ценах на акции словарь, состоящий из пяти- сот слов (открытие, закрытие, Стандард Ойл, объем и т. д.), был бы, по-видимому, вполне достаточным. В других ситуациях, используя ограниченные словари, можно получать простые предложения, по- строенные при помощи грамматики некоторого формального языка. Системы, способные это делать, существуют и позволяют при помо- щи голоса управлять рукой робота, передвигающей на столе кубики (Висенс, 1969), и диктовать непосредственно вычислительной маши- не простые программы (Страсбургер, 19726). Для наиболее интерес- ного класса задач требуется, чтобы пользователь был способен опи- сать команды при помощи некоторого нетривиального приближения естественного языка. Ньюэлл и др. считали, что эта задача практиче- ски разрешима только в весьма ограниченном семантическом кон- тексте, таком, как описание ходов в шахматной игре с помощью го- лоса. В этой ситуации семантику можно использовать в помощь анализу на других уровнях, например, если имеется некоторая по- зиция на доске, то будет иметь смысл только относительно неболь- шое число произносимых команд. 13.2.1. Речевой сигнал Прежде чем начать подробное обсуждение машинного восприя- тия речи, следует рассмотреть сам по себе речевой сигнал. Звуки речи образуются в результате прохождения воздуха через голосо- вую систему, представляющую собой сложное устройство, включаю- щее гортань, рот и носовую полость. Не будем вдаваться в подроб- ности х); нам необходимо лишь знать, что эту систему можно счи- тать трубкой, способной менять свое поперечное сечение при помо- щи целого ряда независимо двигающихся в ней препятствий, та- ких, как язык, губы и голосовые связки. Звук возникает, когда воз- дух под давлением проходит через эту трубку. При этом давление воздуха само по себе удается достаточно точно менять, а указанные препятствия можно очень быстро перемещать. В результате возни- кают хорошо известные нам звуки: щелчки, свист, охи, ахи и другие, на которые способен человек. В любом языке можно выделить около высказывает опасение, что машинное понимание склонно быть слишком букваль- ным. В фильме «2001: Космическая Одиссея» описываются значительно более сложные устройства ввода информации, использующиеся в деловых машинах, а также в сложных научных системах. х) В работе Дэйла (1972) можно найти достаточно полное обсуждение, про- веденное не на техническом уровне.
422 Гл. 13. Машинное восприятие 40 или 50 типов звуков, относящихся к речи, так называемых фо- нем. Элементы, передающие определенный смысл, или морфемы, строятся из фонем, но, как мы покажем, это делается непросто. Заданный звук речи формируется характерной последователь- ностью мускульных движений в голосовом канале. Вообще говоря, можно выделить два широких класса речевых звуков, а именно гласные и согласные. Гласные звуки производятся относительно продолжительными перемещениями воздуха (длящимися более чем 35 мсек) через голосовой канал, который при этом сохраняет свою конфигурацию неизменной. Гласные друг от друга отличаются при этом положением языка и степенью сужения голосового канала. Например, отметим разницу между ударными гласными в словах „нива" и „это", которые характеризуются передним положением язы- ка с сильным и слабым сужением, и ударными гласными в словах „обут" и „фаза", которые характеризуются задним положением язы- ка с сильным и слабым сужением голосового канала. Согласные яв- ляются более короткими звуками, получаемыми последователь- ностью движений, при которых форма голосового канала меняется в процессе извлечения звука. Для каждой согласной существует точная последовательность событий, таких, как высвобождение воз- духа на первых буквах в словах „Петя" и „топот". Очень важно сохранение этой последовательности для правильного произнесения согласных. В некоторых случаях части голосового канала пол- ностью закрываются, например при произнесении буквы „з“ в слове „зебра". Хомский и Халле (1968) выделили 12 признаков, которые могут отсутствовать или присутствовать и которые можно было бы использовать для классификации звуков американского диалекта английского языка. Каждый из них имеет определенное отношение к распределению энергии акустического сигнала. Халле и Стивенс (1972) пересмотрели этот список, однако в целом он дает хорошее описание мускульных движений при воспроизведении артикулятор- ных элементов речи. Очевидно, что слушающий анализирует приходящий к нему сиг- нал, а не мускульные движения, которые воспроизвели его. Акусти- ческий сигнал представляет собой волну, т. е. распространяющееся во времени периодическое изменение звукового давления. Волну можно проанализировать, определяя интенсивность звука на каж- дой частоте. Исследования по восприятию речевых сигналов пока- зали, что существует область от 300 до 4000 Гц, содержащаяся в ко- торой информация достаточна для восстановления речевого сигнала (Бизигнис, 1972). В области низких частот также сосредоточена значительная доля энергии, но это связано с постоянными характе- ристиками голосовых связок и служит для идентификации физиче- ских характеристик говорящего, таких, как возраст и пол. Рас- пределение энергии по различным частотам в течение некоторого периода времени называется спектром сигнала в течение этого пе-
13.2. Восприятие машиной речи 423 риода. Время, в течение которого вычисляется спектр, будет назы- ваться окном. В анализе речевых сигналов распределение „всплеска" энергии в определенной полосе частот и определенном интервале времени называется формантой. Принято помечать форманты неко- торого фрагмента речи, начиная с FO, соответствующей самой низ- кой частоте (Турлау, 1971). Поскольку голосовые связки принимают различные формы во время воспроизведения фонемы, то характер- ного вида „почерка" форманты будет достаточно для идентификации отдельно произнесенной фонемы. На рис. 13.12 приведено упрощен- ное изображение распределения энергии по времени произнесения слогов „ба“ и „ма“. Имея такую информацию, уже можно рассмотреть простую (и не- верную) модель восприятия речи. В этой модели машина исполь- Время а б Рис. 13.12. Упрощенные звуковые спектрограммы: а — «ба»; б — «ма». Темные области соответствуют большой интенсивности сигнала. зуется для вычисления спектра речевого сигнала в течение некото- рого периода времени, для идентификации формант и затем, исполь- зуя их, фонем известного языка. Далее фонемы используются для идентификации морфем. Мы будем ссылаться на эту машину как на кодовую модель, поскольку все, что она делает, это переводит аку- стический код в фонетический, предполагая, что имеется взаимно однозначное соответствие между этими двумя кодами. Допускается возможность присутствия в речевом сигнале шума, но тогда потре- буется решить дополнительно лишь несложную задачу распознава- ния образов. К сожалению, такая кодовая модель должна быть отвергнута. Хотя фонемы, очевидно, представимы акустически, кодирование сложнее замены специфических звуковых колебаний специфически- ми мускульными движениями. Это ясно показано в работах Либер- мана и его коллег по Хаскинской лаборатории (Либерман, 1970; Либерман, Купер, Шенквейлер и Стаддерт-Кеннеди, 1967). Рассмот- рим акустический сигнал, соответствующий фонеме /д/, которая есть фактически в каждом языке. На рис. 13.13 показаны две упро- щенные спектрограммы речи, содержащие /д/, одна для слога „да", другая для слога „ди". Можно сразу заметить, что эти случаи суще-
424 Гл. 13. Машинное восприятие ственно отличаются вторыми формантами. Поскольку первые 50 мсек длительности звукового образа имеют прямое отношение к распознаванию того, что первая буква /д/, а не, скажем, /б/, то ука- занное различие во вторых формантах крайне важно. Интерпрета- ция второй форманты зависит от контекста, в котором она появляет- ся. Эта ситуация не исключение. Вообще справедливо, что спектр фонемы сильно зависит от контекста, в котором эта фонема нахо- дится. Существуют две непосредственные причины, почему это дол- жно быть так. Давайте предположим, как это делает и Либерман со своими коллегами, что имеется четкое соответствие между фонемой, которую говорящий собирается произнести, и сигналами к мотоней- Время (мсек) а 6 Рис. 13.13. Звуковые спектрограммы: а — «ди»; б—«да». ронам мускулатуры голосового канала, получаемыми от мозга. Ре- альные физические движения в голосовом канале, которые и опре- деляют произнесенный звук, будут зависеть от конфигурации голо- сового канала, которая была перед тем, как нейронами получены новые сигналы. Также важно и то, что не все группы мускулов оди- наково быстро начинают участвовать в формировании определен- ного звукового сигнала. Поэтому действия этих групп мускулов, участвующих в формировании последовательно произносимых фо- нем, могут на самом деле осуществляться отчасти параллельно. По- скольку произнесенный звук является результатом прохождения воздуха по всему голосовому каналу, то акустический сигнал, со- ответствующий определенной фонеме, зависит также от фонем, сфор- мированных как до, так и после этой фонемы. Используя машинные термины, можно сказать, что мы имеем дело с высоко асинхронным механизмом без четко выраженного временного цикла. Если это принять во внимание, то очевидная аномалия на рис. 13.13 больше не кажется удивительной. Удивительно то, как вообще возможно восприятие речи. Ряд авторов привели доводы в пользу того, что к анализу речи, так же
13.2. Восприятие машиной речи 425 как и зрения, применима модель, использующая анализ при помо- щи синтеза (Халле и Стивенс, 1972; Либерман, 1970). Под этим они подразумевают то, что исследуются акустические сигналы, и при помощи очень сложного процесса декодирования слушающий опре- деляет последовательность мускульных движений, которые могли привести к формированию рассматриваемого акустического сиг- нала. Это выглядит на первый взгляд очень сложной задачей, но более подробное изучение показывает, что это не так. Предположим, что слушающий знаком с языком, на котором произносятся фразы. Такой человек знает, что необходимо рассматривать только те фоне- тические образования, которые допустимы синтаксическими, се- мантическими и фонетическими условиями этого языка. Как и в случае зрения, слушающим является человек, который может деко- дировать неоднозначные сообщения, зная, что только на некоторые сообщения из всех возможных, похоже, следует обратить внимание. К сожалению, у нас нет возможности сделать обзор фактов, гово- рящих за или против применения модели, использующей анализ при помощи синтеза, для объяснения человеческого восприятия речи. Однако как предложение реализации машинного восприятия речи такая модель имеет некоторые существенные дефекты. Если бы эту модель нужно было принять буквально, то было бы необходимо иметь машину, воспроизводящую речь, или по крайней мере ее ма- тематическую модель в качестве составной части машины, воспри- нимающей речь. Это можно, но непросто осуществить. С другой стороны, при любой схеме машинного восприятия придется учиты- вать те сложные аспекты кодирования, которые, собственно, и за- ставили психоакустиков и психолингвистов отдать предпочтение модели, использующей анализ при помощи синтеза. 13.2.2. Распознавание отдельных слов Мы не хотим усложнять проблему больше, чем это необходимо. Разочаровывающие замечания о трудностях выделения фонетиче- ской информации из акустической относились к ситуациям, в кото- рых различные говорящие использовали различные контексты. Предположим, что вместо этого проблема состоит в распознавании слов, выбираемых из некоторого ограниченного множества слов, произносимых говорящим, характеристики голоса которого извест- ны системе. Если допустимы k слов и эта величина весьма мала, то вполне осуществимо хранение прототипов акустических образов каждого слова для каждого говорящего. В самом деле, для одного слова может храниться несколько образов, таких, что никакие два слова не имеют близких образов. Тогда задача распознавания сво- дится к простой задаче классификации образов. Как прототипы, так и идентифицируемые слова описываются характерными признака- ми, содержащимися в акустическом сигнале, которые (обычно) до-
426 Гл. 13. Машинное восприятие статочны для определения произнесенного слова. Задача распозна- вания речи в этом ограниченном случае сводится к задаче выделения признаков. Можно ли найти признаки, которые легко вычисляются из акустического сигнала и информационно достаточны для опреде- ления отличающихся прототипов различных слов? Возможно, что необходимо иметь несколько уровней анализа, например, исполь- зовать фонемы прототипов для идентификации поступивших аку- стических сигналов и затем уже сами прототипы для идентификации цепочек фонем. Однако нет необходимости копировать иерархию человеческого восприятия. Будем называть этот метод кодовым, по- скольку он основан на прямом отображении акустических призна- ков в фонемы, а затем в слова. Теоретически этап фонем можно бы- ло бы обойти, если бы можно было найти способ непосредственно отображать акустические сигналы в слова из некоторого словаря, но практически это не выглядит возможным. Существует два ис- пользовавшихся широких класса методов, основанных на частотной фильтрации и гармоническом анализе. В случае частотной фильтрации акустический сигнал разбивает- ся на полосы различной ширины, а распределение энергии в каждой полосе подсчитывается для т временных интервалов (окон) длитель- ностью t мсек каждый. В большинстве случаев длительность ин- тервального окна составляет от 10 до 20 мсек, т. е. значительно мень- ше времени, необходимого для произнесения фонемы. Таким об- разом, параметры, описывающие данное окно, должны считаться подфонемными, а не фонемными признаками. До некоторой степени удивительно, что для этого метода безразлична точность разбиения на окна и обработки каждого окна, а также не .имеет значения вы- бор параметров для описания спектра в пределах окна. Висенс (1969) получил хорошее распознавание, подсчитывая число пересечений нуля и пиковых амплитуд в 10 мсек окнах в каждой из шести ча- стотных полос. Редди (1970) отмечает, что нельзя добиться сущест- венно лучшего распознавания, даже если использовать 40 частот- ных полос, и считает, что практически подойдет любой надежный метод анализа сигнала. В результате этапа параметризации речевой сигнал будет пред- ставлен массивом пХтХр, где п — число частотных полос, т — число допускаемых окон и р — число параметров, выделенных в по- лосе. В этом массиве ищутся характерные для определенных фонем типы изменений параметров во времени. Прототипы фонем, исполь- зующиеся на этом этапе, обычно должны быть заранее получены от человека, речь которого распознается, так как произносимые фо- немы имеют индивидуальные особенности х). По крайней мере чело- век, речь которого используется для формирования прототипов, х) Индивидуумы отличаются по фонетическому строению слов. Региональные диалекты могут служить наиболее ярким примером, например, слово саг произ- носится как kar на северо-западе и kah в Новой Англии.
13.2. Восприятие машиной речи 427 должен быть того же пола и говорить на том же диалекте, что и че- ловек, голос которого будет звучать на этапе распознавания. При осуществлении сравнения, прежде чем начинать сопоставление этих сигналов с прототипами, речевой сигнал надо разбить на „вероятные фонемы". Наиболее простые и грубые методы заключаются в ис- пользовании фиксированных временных интервалов (Висенс, 1969) или в поиске акустической информации, соответствующей паузам в речи, а затем в разделении данных между паузами на равные временные интервалы (Эршер и Кокс, 1972). Вновь не приводит к особенно отличающемуся результату выбор какой-либо особой про- цедуры, а в некоторых системах этот этап совершенно не исполь- зуется. На заключительном этапе осуществляется сопоставление за- писанных и проанализированных' речевых сигналов с известными системе прототипами слов. В результате в качестве произнесенного выбирается наиболее близкое слово. Несмотря на его ограниченность, кодовый метод работает очень хорошо для распознавания отдельных слов. Ряд авторов сообщали о правильном распознавании с результатом от 80 до 90% для от- дельно произносимых слов при использованни словарей объемом приблизительно в 50 слов и в некоторых случаях при нескольких говорящих. Имеются данные о том, что применение более ограничен- ных словарей (10—20 слов) повышает точность до 98%, даже если говорящими могут быть мужчины и женщины (Эршер и Кокс, 1972). Для системы, построенной Висенсом и Редди, имеются данные о 90% правильного распознавания для одного говорящего и словаря объемом в 500 слов (Ньюэлл и др., 1972). Альтернативой к выделению простых параметров для несколь- ких частотных полос является проведение математического анализа полного звукового сигнала. Существует ряд способов осуществить это, большинство из которых существенно опираются на гармониче- ский анализ. Математические обоснования здесь довольно сложны, и мы приведем лишь неформальное описание. Речевой сигнал пред- ставляет собой периодическое изменение значения давления во вре- мени, т. е. звуковую волну. Применение преобразования Фурье к сигналу переводит эту информацию (первоначально имевшую вре- менное представление) в эквивалентное представление, показываю- щее зависимость амплитуды функции от частоты и фазы чисто сину- соидальных компонент, необходимых для восстановления первона- чального сигнала (частотное представление). В некоторых работах такое представление использовалось непосредственно для сравнения распознаваемой речи с прототипами. Более сильный метод исполь- зует дополнительное преобразование, называемое раздельным спек- тральным анализом г) (Накано, Итикава и Накато, 1972; Страсбур- Или кепстральный анализ, в оригинале cepstrum (если поменять местами буквы, легко получить spectrum). В этом анализе Фурье преобразование применя- ется не к исходному сигналу, а к его логарифму.— Прим, перев.
428 Гл. 13. Машинное восприятие гер, 1972а, б). В этом подходе результат преобразования Фурье ре- чевого сигнала разделяется на высокочастотные и низкочастотные компоненты. Высокочастотные компоненты обычно соответствуют движениям голосового тракта, в то время как более низкие частоты (меньше 400 Гц) определяются постоянными характеристиками тракта. Таким образом, компоненты ниже 400 Гц могут рассматри- ваться как характеристики возраста говорящего, его пола и других физических параметров, в то время как высокочастотные компонен- ты речевого сигнала указывают на мускульные движения, ответ- ственные за произносимые слова. Результатом раздельного спект- рального анализа является изменяющийся во времени сигнал, фор- ма которого отражает особенности произнесенных формант. Этот сигнал можно сравнить с соответствующими прототипами различ- ных фонем, если необходимо, произнесенных разными говорящими, для того, чтобы идентифицировать определенные звуки во фразе. Вопрос индивидуальных особенностей обходится не полностью, по- скольку различные говорящие будут использовать различные мус- кульные движения дл$ произнесения одного и того же слова. Тот факт, что акустические особенности некоторой фонемы зави- сят от контекста, мог бы привести к мнению, что только что описан- ные методы не имеют особого значения для распознавания слитной речи. Это не совсем верно. Хотя акустические сигналы, вообще гово- ря, неоднозначны по отношению к фонеме, которая в них содержит- ся, существует много ситуаций, в которых акустический сигнал единственным образом определяет фонему. Это аналогично анализу сцен, где одни точки имеют единственную трехмерную интерпрета- цию, в то время как другие допускают несколько объяснений. Да- лее предположим, что все фразы, получаемые системой распознава- ния речи, должны произноситься на строго определенном языке с небольшим запасом слов и простой грамматикой. Тогда часто ин- формации, содержащейся в воспринимаемом акустическом сигнале, будет достаточно, чтобы отбросить все допустимые фразы, кроме одной. Идея комбинировать для определения наиболее вероятного сооб- щения акустическую информацию и синтаксическое знание исполь- зовалась во многих исследованиях вслед за работой Висенса и Редди (Висенс, 1969; см. также обсуждение, проведенное Ньюэллом и др., 1973, гл. 4), которые построили „ухо“ для проекта глаз — рука — ухо Стэнфордского университета (Мак-Карти, Эрнест, Редди и Ви- сенс, 1968). В этом проекте управляемая машиной рука получала от человека команды передвинуть кубики, лежащие на столе. Как уже отмечалось, система Висенса и Редди использовала иерархиче- скую кодовую схему, однако получаемые системой фразы должны были быть правильными цепочками языка, предназначенного для манипулирования с кубиками, т. е. языка программирования дви- жений руки робота. Используемый язык можно определить, описав
13.2. Восприятие машиной речи 429 допустимые подстановки, порождающие предложения языка, со- держащего только конечное множество предложений. Эти правила подстановки изображены на рис. 13.14. Исследуя их, легко увидеть, что распознавание лишь небольшого числа неоднозначных акусти- ческих сигналов в стратегических важных местах позволяет вывести требуемую фразу. Этот процесс вывода может быть (и был) значи- тельно упрощен разумным выбором словаря так, чтобы никакие два слова, являющиеся синтаксическими альтернативами, не были аку- стически подобными. Хотя это есть не что иное, как обман, если цель состоит в моделировании естественного языка, но практически это вполне обоснованное решение, если цель — построить систему, способную воспринимать ограниченное множество нетривиальных Левая Правая Верхняя Нижняя Левый Правый Верхний Нижний Сторона Верхний Нижний Левый Правый Угол Угол Рис. 13.14. Структура языка системы Висенса и Редди.— обозначает слово или пробел, на которые не нужно обращать внимания. В квадратных скобках содер- жатся альтернативы. Возможны семьдесят четыре предложения. фраз. В оправдание такого решения можно привести тот факт, что и в естественном языке во избежание возможной путаницы слова вы- бираются по такому же принципу. Какой же эффективности можно ожидать от системы, использую- щей иерархическое декодирование совместно с синтаксическим ана- лизом? Результат зависит от того, является ли человек, речь кото- рого распознается, также человеком, речь которого использовалась для формирования прототипов. Назовем первого испытуемым, а второго — учителем. Если испытуемый и учитель совпадают, то система Висенса и Редди проводит семантически правильную интер- претацию около 85% фраз, произнесенных испытуемым. Если испы- туемый и учитель — различные индивидуумы одного пола, то ре- зультат правильного распознавания понизится приблизительно до 60%. Интересное противопоставление этим результатам получено в работе Страсбургера (19726), которьш объединил метод разделы
430 Гл. 13. Машинное восприятие ного спектрального анализа акустических сигналов с методом син- таксической коррекции. Однако язык SPOCOL, использовавшийся Страсбургером, был значительно богаче языка Висенса и Редди, предназначенного для манипуляции' с кубиками. Язык SPOCOL представляет собой разговорный язык для программирования и имеет приблизительно ту же мощность, что и элементарный язык BASIC. Страсбургер обнаружил, что его системой можно правиль- но распознать 18 из 24 выражений, если один и тот же человек вы- ступает в роли учителя и испытуемого. Если же учитель и испытуе- мый различны, то распознавались от 12 до 14 из 24 выражений. По- скольку метод преобразования Фурье, применявшийся Страсбур- гером, эффективно убирает различия в рассматриваемом акустиче- ском сигнале, обусловленные физическими характеристиками гово- рящего, то ухудшение результата распознавания для различных говорящих, возможно, вызывается отличиями в моторных движени- ях мускулов гортани индивидуумов при произнесении фонем. Ин- тересно заметить, что хотя Страсбургер, Висенс и Редди исполь- зовали совсем различные аналитические методы для исследования акустических сигналов и сильно отличающиеся языки, точности их систем примерно совпадают. 13.2.3. Система HEARSAY1) Ограниченные возможности систем распознавания отдельных слов широко известны, поэтому был предложен ряд новых решений, основанных на совместном фонетическом, синтаксическом и семан- тическом анализе произнесенных фраз. Они хорошо иллюстрируют- ся системой HEARSAY ?) (Редди, Эрман и Нили, 1973), работа над которой продолжается в университете Карнеги — Меллон. В отли- чие от других программ HEARSAY не имеет иерархической орга- низации кодов. И в ней существует не только постоянный обмен информацией между уровнями, но эта система также допускает ошибки на одном уровне, если их можно исправить на другом. Структуру программы HEARSAY лучше всего рассматривать как совокупность параллельных процессоров, снабжающих инфор- мацией центральное устройство. Схема работы системы изображена на рис. 13.15. Первый шаг состоит в непосредственной параметри- зации полученного акустического сигнала. В каждом последова- тельном интервале длительностью 10 мсек в пяти частотных полосах записывается число прохождений соответствующих компонент зву- кового сигнала через нуль и его максимальное значение, а кроме того нефильтрованная полоса от 200 до 6400 Гц. Затем эти данные, 1) Я $ы хотел выразить признательность д-ру Рэю Редди за предоставление прекрасного описания системы HEARSAY. *) Буквально «слышу — говорю».— Прим. ред.
13.2. Восприятие машиной речи 431 соответствующие окнам длительностью в 10 мсек, идентифицируются как „подфонемные единицы" с помощью прототипов, сформирован- ных на основе анализа предварительных записей определенных фо- нем, произнесенных учителем. Результатом этого этапа является преобразование 10 мсек интервалов: последовательности значений выделенных параметров в последовательность названных акустиче- ских признаков. Затем интервалы в 10 мсек объединяют в более крупные фрагменты с длительностью, приблизительно равной про- Рис. 13.15. Схема ракеты системы HEARSAY. должительности фонемы, объединяя последовательности похожих подфонемных единиц и разбивая цепочки указанных интервалов в местах перехода от звонких к глухим илн от фрикативных к нефри- кативным звукам. Таким образом, исследуемый акустический сиг- нал превращается в приблизительно правильную цепочку, состоя- щую из фрагментов, имеющих вид фонем. При этом абсолютную правильность полученной цепочки нельзя гарантировать из-за не- надежности обрабатываемого речевого сигнала, даже когда говоря- щий пытается копировать самого себя, а также из-за изменения аку- стических характеристик фонемы, вызванного контекстом. Вместе с тем важно, что этот анализ все же разбивает с высокой надежностью исследуемый акустический сигнал на сегменты, соответствующие словам. До этого места система HEARSAY очень близка работе Ви- сенса и Редди. Теперь можно проводить параллельный анализ (рис. 13.15), осуществляемый при помощи трех устройств распознавания, ис- пользующих одинаковый принцип. Гипотезы относительно анализи-
432 Гл. 13. Машинное восприятие руемой фразы порождаются с учетом частично проанализированного сигнала и специального значения, имеющегося у соответствующего устройства распознавания, что приводит к формированию „предпо- ложительной интерпретации*'. Затем эта интерпретация поступает к другим устройствам распознавания, где она оценивается с учетом их специальных знаний, которые доступны этим другим устройст- вам. Рассмотрим каждое из этих устройств. Устройство акустического распознавания работает со словами. Ему доступны следующие специфические сведения: акустическое, фонологическое и словарное. Акустическая информация имеет вид записанных ожидаемых подфонемных признаков фонемы, произне- сенной раздельно. Фонологическая информация устанавливает спо- собы, при помощи которых определенный контекст может изменить характерный акустический вид фонемы, например различие в „ди“ и „да", рассмотренное выше. Информация, содержащаяся в словаре, описывает последовательности признаков, представляющих вари- анты допустимых слов. Устройство синтаксического распознавания работает на уровне фраз. Синтаксические сведения хранятся во фреймах, называемых Редди и др. „антипродукциями", в которых могут появляться опре- деленные слова или предложения. Когда распознается одно или два слова, устройство синтаксического распознавания может предло- жить синтаксическую гипотезу об окружающих словах. Это устрой- ство также может определить, приводит ли какое-либо предложен- ное слово к синтаксической ошибке в некоторой части анализируе- мой фразы. Указанный метод распознавания будет хорошо работать с бесконтекстными языками, и поэтому, хотя он не дает возможно- сти работать с естественным языком в полном объеме, мы, безуслов- но, можем пользоваться нужным нам подмножеством языка. Устройство семантического распознавания представляет собой дополнение к рассмотренным до этого механизмам. Оно работает на уровне целой фразы. Задача этого устройства заключается (а) в по- рождении фраз, которые бы имели смысл в заданной ситуации, и (б) в оценке разумности предложенной фразы. Для этого устройство семантического распознавания должно управлять программой, осу- ществляющей анализ специфической (неречевой) задачи определе- ния ситуации и способной решить, что имеет смысл, а что нет для заданного внешнего мира. Редди и др. рассмотрели в качестве такой задачи игру в шахматы. Для всей системы проблема состоит в вос- приятии машиной произнесенных человеком команд в ходе шах- матной партии. Использующаяся программа анализа задачи, пред- назначенная именно для игры в шахматы (Гиллогли, 1972), предла- гает и оценивает ходы для любой ситуации на доске. Во время распознавания воспринятой фразы описываемая шахматная програм- ма, используя устройство семантического распознавания, опреде- ляет, какие слова следует считать наиболее вероятными для опре-
]3.2. Восприятие машиной речи 433 деленных мест фразы. Кроме того, программу анализа задачи мож- но использовать для определения того, приводит ли предложенное устройством акустического анализа или устройством синтаксиче- ского анализа слово или фраза к разумному ходу. Как только завершился процесс параметризации, все три уст- ройства распознавания системы HEARSAY начинают параллельную работу по оценке произнесенной фразы, опираясь на характерные особенности фразы для порождения или проверки гипотез, пока наконец входная фраза не будет принята как разумная. Потребуют- ся еще дополнительные исследования, прежде чем рассматриваемую модель восприятия речи можно будет оценить каким-нибудь опре- деленным образом. Однако важность программы HEARSAY не столько в определенном техническом успехе, сколько в ее роли в развитии наших представлений об обработке речи. Система HEARSAY свидетельствует об очевидном отказе от использования иерархической акустико-фонетико-синтаксико-семантической моде- ли анализа речи. Сейчас это всеми признается необходимым. Кроме того, система HEARSAY не использует также и анализ при помощи синтеза. Поэтому эта система рассматривается как привлекательная модель машинного восприятия речи, хотя она может и не быть адек- ватным моделированием человеческого восприятия речи. Это заме- чание не содержит осуждения, поскольку такое моделирование не является целью исследований в области искусственного интеллекта. Более того, отсутствует полная уверенность в справедливости под- хода, основанного на анализе при помощи синтеза, и он никоим образом не принят повсеместно в качестве правильной модели чело- веческого восприятия речиг). Поэтому психологи и лингвисты должны обратить серьезное внимание хотя бы на подход, основан- ный на анализе при помощи гипотез. *) Леннеберг (1969) указал, что дети, воспитывающиеся в дефективной язы- ковой среде и вследствие этого не имеющие стимула нормально говорить, легко учатся понимать речь. Этот факт трудно согласовать с теорией, предполагающей, что способность произносить крайне важна для понимания.
Глава 14 ВОПРОСНО-ОТВЕТНЫЕ СИСТЕМЫ 14.0. Постановка задачи В предыдущей главе обсуждалась проблема создания звена об- щения с вычислительной машиной. Допустим, что эта связь установ- лена. Как ею пользоваться? Несколько наивно было бы сказать, что ЭВМ, должно быть, очень поможет нам при ответе на вопросы. Несомненно, физические возможности хранения и извлечения дан- ных в вычислительных системах огромны. Тем не менее практиче- ские попытки задавать вопросы ЭВМ могут принести большое разо- чарование. Почему? И вычислительные машины, и люди могут запоминать факты. Люди, однако, запоминают также достаточно тонкие интерпретации фактов. Если вы говорите, что собираетесь путешествовать, но бен- зин почти кончился, то разумный человек запомнит также утверж- дение, выведенное из этих двух, а именно, что вы поедете на запра- вочную станцию. Лишь очень немногие программы, моделирующие мышление, делают это. Еще тоньше вопрос о том, как формируются общие впечатления. Если вам сказали, что данный американский сенатор голосовал против семи законопроектов об иностранной по- мощи и трех мероприятий, касающихся гражданских прав, и резко возражал против назначения бывшего профсоюзного юриста в Вер- ховный суд, то у вас, наверное, составится представление об этом сенаторе. Оно может учитываться при последующих заключениях относительно его позиции в новых спорных вопросах. Эти наблюде- ния никого не удивят, „так делают все". Но какие правила здесь применяются и как их запрограммировать? Для сравнения рассмотрим типичную информационную вычисли- тельную систему. Ее можно представить в виде большой картотеки. Она отвечает на любой вопрос, если нужный ответ содержится в бан- ке данных и помечен как ответ на этот конкретный вопрос. Ответ на
14.0. Постановка задачи 435 родственные вопросы могут найти немногие системы. Кроме того, информация в вычислительных системах очень четко расклассифи- цирована. Если сотрудники кредитного бюро проверяют, работает ли интересующий их человек или он безработный, они получают только эти сведения; они не получат сведений о кредитоспособности, допустим, его жены. Возможно, сосед этого человека, если потре- буется, представит им такую информацию. Еще интереснее случай, когда речь идет о фактах, требующих дальнейших справок. Если бы юриста спросили: „За какую сумму Вы взялись бы защищать чело- века, обвиненного в убийстве?" и „Не знаете ли, где я могу раздо- быть стрихнин?" — он мог бы в ответ также задать некоторые вопросы. Вычислительные машины этого не делают. Проблема разумного поведения в ответ на те или иные события связана с пониманием языка. ЭВМ в точности выполнит данные ей указания, если они выражены на очень формальном языке и в них нет неопределенности. Машина, которая действительно понимает, что мы пытаемся сказать ей, должна выполнять то, что мы от нее хотим, даже если мы не соблюли все формальности языка, на кото- ром полагается обращаться к машине. Создание такой машины, вероятно, представляет самую трудную из всех задач искусствен- ного интеллекта. В этой и следующей главах мы рассмотрим, как сделать действия ЭВМ более разумными. Несмотря на то что эта тема стала весьма популярной, прогресс здесь наименьший из всей области искусст- венного интеллекта. Читателя следует предостеречь: некоторые ученые с отличной репутацией в области искусственного интеллекта могут не согласиться не только с ответами, которые мы даем, но и с нашими вопросами! Однако те же ученые могут не согласиться и друг с другом, поэтому наш подход, видимо, не хуже других. Понимание сообщений — первая проблема, с которой придется столкнуться разумной машине. Традиционно при работе с ЭВМ че- ловек, умеющий говорить, учится писать (программу) на строго оп- ределенном формальном языке. Эту задачу не так просто решить. Программирование — весьма трудоемкий процесс. На нашем ес- тественном языке выражается много мыслей, не переводимых на язык ЭВМ. Как выразился один из наших студентов, „попробуйте определить слово „свобода" на Фортране!". Чтобы читателю не пока- залось, что этот пример слишком экзотичен, укажем, что попытки применения ЭВМ в юриспруденции для поиска информации перио- дически предпринимаются. „Очевидный" подход здесь состоит в ис- пользовании вычислительных машин для просмотра документов, содержащих ключевые слова в заглавии или тексте. Букханан и Хедрик (1970) отмечают, однако, что юристы пользуются литерату- рой не так. Юрист в основу своих аргументов берет аналогии с дру- гими делами и определенную трактовку абстрактных принципов. Букханан и Хедрик утверждают, что вычислительная техника до
436 Гл. 14. Вопросно-ответные системы тех пор не будет по-настоящему использоваться в юриспруденции, пока ЭВМ не смогут делать то же самое. Нам нет необходимости ограничиваться примерами из будущего, чтобы продемонстрировать проблемы в области понимания сообще- ний. Рассмотрим следующие прямые запросы на поиск информации: (1) Какова численность населения Нью-Йорка, Чикаго, Сент- Луиса, Филадельфии? (2) Какова численность населения Нью-Йорка, Иллинойса, Мис- сури, Пенсильвании? Для человека ясно, что в первом вопросе подразумевается город Нью-Йорк, а во втором — штат Нью-Йорк. Установление правиль- ного соответствия по аналогии с другими, одновременно заданными вопросами,— пример тонкого рассуждения, вполне доступного лю- дям, но выходящего за пределы возможностей большинства инфор- мационно-поисковых систем. Процесс понимания в машине имеет глубинные связи с машин- ным анализом естественного языка. Поскольку это самостоятельная важная тема, мы отложим детальное обсуждение лингвистических проблем до следующей главы. Во многих частных случаях можно избежать необходимости понимания, вводя формальный язык, со- держащий некоторые конструкции естественного языка и в то же время пригодный для машинного анализа (Томпсон, 1966; Достерт и Томпсон, 1971). Мы не будем уделять этому подходу слишком много внимания, ибо решения, получаемые с его помощью, отно- сятся к конкретным задачам. По крайней мере до следующей главы будем считать, что задача понимания сообщений уже решена. Надо решить две другие задачи. Структуры данных для понимания исследовались очень интен- сивно. Как организовать данные, чтобы их можно было извлечь, когда они нужны, и чтобы они не извлекались, когда не нужны? Возможно, именно в этой области человек имеет наибольшее пре- имущество перед машиной. Мы можем каким-то способом очень бы- стро извлекать необходимую информацию из долгосрочной памяти, даже на основании неясных указаний. Сложность построения пра- вильной структуры данных для информационного поиска тесно свя- зана со способностью конструктора системы управлять вопросами, касающимися этой базы данных. Библиотека дает пользователю возможность задавать только те вопросы, ответ на которые содер- жится в картотеке алфавитного указателя, а требование найти кни- гу по имени ее издателя создает для системы большие трудности. Она оказалась бы совсем беспомощной, если бы в требованиях на книги пользователи указывали место рождения автора. Задача индекса- ции структур данных в ситуациях, когда форму задаваемого вопро- са можно предвидеть, обычно обсуждается, если речь идет об ин- формационном поиске — самостоятельной области исследований
J4.1. Структуры данных 437 (ср. Лефковиц, 1969). Мы займемся более „экзотическими" структу- рами данных, нашедшими применение в области искусственного ин- теллекта, где все направлено на то, чтобы не ограничивать пользо- вателя, задающего вопросы. „Понимающая" система должна включать в себя правила вывода. Правило вывода — это метод вывода фактов, которые подразуме- ваются, но не содержатся в явном виде в базе данных. Мы обсуж- дали уже правила вывода при описании систем доказательства тео- рем и решения задач. Многие из процедур вывода, созданные для решения задач, можно применить непосредственно к задачам пони- мания. Кроме того, существуют другие, более специализированные процедуры вывода, которые годятся для поиска данных, хотя в об- щем случае рассуждения, производимые ими, могут быть некоррект- ными. Распознать, какие данные и процедуры вывода относятся к делу,— первый важный шаг при ответах на вопросы. Задавшись вопросом Влияет ли ДДТ на уровень численности скоп1)? разумный биолог применит правила вывода, в которых участвует включение множеств, и использует информацию только о распре- делении ДДТ, воздействии хлорированных углеводородов на от- кладку яиц, обычаях гнездования и добычи пищи у птиц, питаю- щихся рыбой, и хищников. Он не будет пытаться делать выводы, основанные на информации о страусах, поскольку эти сведения, „очевидно", к делу не относятся. Проблема вывода при понимании во многом состоит в решении, какие факты „очевидно несуществен- ны". Установление же существенных фактов позволяет в общем слу- чае сразу проводить требуемый вывод. 14.1. Структуры данных 14.1.0. Общая часть До сих пор не достигнуто единство взглядов по поводу того, ка- кой способ организации данных для „понимающих" программ са- мый лучший, и вряд ли это когда-нибудь произойдет. Причины здесь чисто прагматические. Для чего людям требуется прежде всего „ра- зумная" вычислительная система? Мы видим две причины: для реше- ния сложной задачи информационного поиска и для демонстрации какого-то алгоритма вывода. Если пользователь собирается решать задачу, то с ней, несомненно, связана большая база данных, а ина- 1) Скопа — хищная птица семейства ястребиных; обитает у водоемов, пита- ется рыбой.— Прим, перге.
438 Гл. 14. Вопросно-ответные системы че вряд ли стоит прибегать к помощи ЭВМ. Хотя пользователь, ве- роятно, хочет иметь систему, достаточно гибкую, чтобы оправдать название „понимающая", он, как правило, может указать какие-то ограничения на тип вопросов, которые ей будут задаваться х). В кон- це концов система, проектируемая им, должна будет работать на имеющемся у него оборудовании. Пользователь, естественно, выбе- рет ту структуру данных, которая отражает логику его базы данных и особенности его оборудования. Неудивительно, что полученная таким образом система, скорее всего, обладает лишь ограниченной общностью. Фактически степень полезности системы для своего прямого назначения может быть связана обратной зависимостью со степенью, в которой ее решение интересно для других. Здесь кроет- ся опасность предпочтения подхода, ориентированного исключи- тельно на то или иное приложение. Чисто исследовательский подход страдает недостатком как раз противоположного рода. Здесь основное внимание уделяется общ- ности: демонстрируется, что некоторые алгоритмы правильно отве- тят на широкий круг вопросов. Но, когда это уже показано, не слишком интересно проводить такую демонстрацию вновь, поэтому в большой базе данных обычно нет нужды. (В большинстве наших примеров в этой главе базы данных будут очень небольшими.) А поскольку база данных мала и, кроме того, эффективность работы не является решающим критерием, на структурирование базы дан- ных можно практически не обращать внимания. В некоторых экс- периментальных системах просто принято, что в программном языке выбора уже предусмотрен метод, не зависящий от содержания памя- ти. Полученная в результате программа часто является лишь эле- гантной демонстрацией логики, но не практическим инструментом обработки данных, и, что еще хуже, ее трудно перестроить в такую практическую программу. Эти две проблемы связаны друг с другом. Очевидно, методы ор- ганизации данных для „понимающих" программ все-таки существу- ют. В оставшейся части главы мы обсудим некоторые методы, при- менявшиеся для решения характерных задач. Они выбирались для иллюстрации методов, а не как наиболее современные программы из тех, что можно себе представить. Обзоры „состояния дел" пери- одически публикуются профессиональными журналами по вычис- лительной технике. х) Например, часто прикладная система может игнорировать лексические неопределенности английского языка. Слово strike — недвусмысленный термин для системы, обрабатывающей бейсбольную статистику, а также для системы, предназначенной для работы с трудовым законодательством. В том случае, когда программа связана с обеими этими областями, неопределенность необходимо раз- решить. (Английское слово strike имеет два русских эквивалента: удар и забастов- ка,— Перев.).
14.1. Структуры данных 439 14.1.1. BASEBALL — простая вопросно-ответная система Вскоре после появления в вычислительных науках метода об- работки списков была написана (для иллюстрации того, как можно применить новые методы в вопросно-ответных системах) программа BASEBALL (Грин, Вулф, Хомский, Лафри, 1961; Грин, 1963). Эта программа предназначалась для ответа на вопросы об играх 1959 г. в американской бейсбольной лиге — отсюда и ее название. Хотя со- циальная ценность такого применения программы сомнительна, она дает хороший аппарат для проверки принципов программирования, которые нашли с тех пор широкое применение *). Сообщения про- грамме составлялись на простом подмножестве английского языка, на котором мы практически не будем останавливаться. Гораздо ин- тереснее использованная здесь структура данных. Данные программы BASEBALL были упорядочены в иерархиче- скую систему. Эту структуру данных можно было бы эквивалентным образом представить в виде дерева. Самым высоким уровнем был ГОД (использовались данные только за 1959 г., но в программе предусматривались возможности и для нескольких лет), за ним, в порядке очередности, МЕСЯЦ и МЕСТО. После того как определя- лись ГОД, МЕСЯЦ и МЕСТО, последовательно указывались номер игры, день и счет (очков, выигранных командой). В общих чертах формат структуры данных имел вид ГОД МЕСЯЦ МЕСТО (номер игры, день (команда, счет) (команда, счет)) (номер игры, день, (команда, счет) (команда, счет)) (номер игры, день, (команда, счет) (команда, счет)) Ясно, что эта форма структуры данных пригодна не только для бейсбола, и при написании подпрограмм обработки данных в про- грамме BASEBALL имелась в виду работа с любыми иерархически- ми структурами данных независимо от интерпретации различных уровней и ветвлений ’). Работу программы BASEBALL можно понять, рассмотрев два понятия: путь данных и список спецификаций. Путь данных — это последовательность ветвей, которую надо пройти, чтобы получить информацию о конкретной игре. Напри- !) Планировалось приспособить BASEBALL для ответа на вопросы о резуль- татах голосовании, ио, по всей очевидности, это ие было реализовано. 2) Процессы поиска на древовидных структурах, оканчивающихся упорядо- ченными списками, изучались для определения оптимальной последовательности прохождения ветвлений и списков (Сассенгут, 1963; Стэнфел, 1970).
440 Гл, 14. Вопросно-ответные системы мер, ГОД=1959, МЕСЯЦ = АПРЕЛЬ, МЕСТО = БОСТОН, ИГРА = 55 определяет ИГРУ 55 и по ходу дела устанавливает некоторые сведения об этой игре. С каждой игрой связан единствен- ный путь данных, причем вхождения в него определяют, как пока- зано в примере, признаки игры. Для порождения всех возможных путей данных можно воспользоваться любым простым алгоритмом поиска на дереве, поскольку дерево данных, очевидно, конечно. Список спецификаций — это список признаков, которыми дол- жен обладать путь данных, чтобы быть допустимым ответом на во- прос. Например, списком спецификаций вопроса Где (в каких местах) играла в июле команда „Редсокс"? (1) будет МЕСТО=? КОМАНДА = РЕДСОКС МЕСЯЦ = ИЮЛЬ Допустим, что языковый процессор сформировал список специфика- ций для вопроса. Иерархический процессор данных воспринимает список спецификаций и систематически порождает все пути данных, согласующиеся с ним. Путь согласуется со списком спецификаций, если (а) пара признак — значение (например, КОМАНДА = БОС- ТОН) содержится и в списке спецификаций, и на пути, или (б) пара признак — значение в списке спецификаций имеет зна- чение „?“ (например, МЕСТО = ?), в этом случае соответст- вующее значение на пути данных регистрируется как воз- можное (в примере (1) список значений будет ответом). Если пара признак — значение в списке спецификаций имеет значение КАЖДЫЙ, она согласуется со значением любого призна- ка на пути данных. Тип согласования не регистрируется. Как уже говорилось, процесс порождения путей данных и со- гласования их со списком спецификаций не содержит ничего харак- терного для бейсбольной тематики. Производные пары признак — значение могут также быть согласованными, но в этом случае они зависят от приложения. Например, рассмотрим вопрос: Сколько игр в июле выиграно командами на своих полях? (2) Для ответа на него программа должна найти все пути данных, опре- деляющие игры, для которых значение КОМАНДЫ совпадает со значением МЕСТА, и КОМАНДА, имя которой совпадает со значе- нием МЕСТА, имеет лучший счет. Ясно, что подпрограмма, состав- ляющая соответствующий список спецификаций, опирается на зна- ние игры в бейсбол.
14.1. Структуры данных 441 Когда пути данных, удовлетворяющие спискам спецификаций, найдены, они объединяются в основной список. Он также представ- ляется в виде дерева. Например, пути, отвечающие на вопрос (1), можно суммировать так: МЕСЯЦ = ИЮЛЬ КОМАНДА «= БОСТОН МЕСТО = БОСТОН, НЬЮ-ЙОРК, ЧИКАГО... Ответ на вопрос составляется в результате просмотра основного списка. В случае (1) ответ получен простым перечислением значений Ответ Рис. 14.1. Этапы ответа на вопросы в программе BASEBALL. МЕСТА в основном списке. Ответ на несколько более сложный во- прос В скольких местах играла команда „Редсокс" в июле? (3) можно получить, пересчитав значения МЕСТА в основном списке. Схема этой процедуры ответа на вопросы изображена на рис. 14.1. Анализатор подмножества естественного языка воспри-
442 Гл. 14. Вопросив ответные системы нимает вопрос на естественном языке, распознает тип заданного во- проса и составляет список спецификаций. Эта часть программы BASEBALL по необходимости связана с областью применения в двух отношениях. Очевидно, она должна иметь доступ к лексикону этой игры. Менее очевидно, что она должна содержать подпрограм- мы, преобразующие такие выражения естественного языка, как „сколько" или „в каком", в подходящие списки спецификаций. Та- ким образом, хотя Грин и др. не ограничивали пользователя в зада- нии „индексированных" вопросов, как делается в библиотеках, они заранее определяли типы вопросов, которые система могла полу- чить. На шаге (Б) программа порождает основной список данных из списка спецификаций. Как уже отмечалось, большие участки в Б не зависят от приложений, хотя отдельные подпрограммы могут нуж- даться в производных проверочных признаках. На последнем шаге ответ выводится из основного списка (блоки В1 и В2). Здесь про- граммист снова должен предвидеть тип задаваемых вопросов и вве- сти в систему подходящую подпрограмму порождения основного списка для каждого типа вопросов. Как видно из блоков В1 и В2 на рис. 14.1, программа BASEBALL не ограничена вопросами, на которые можно ответить, проходя через данные только один раз. Рассмотрим вопрос х): Сколько команд играли в 8 местах в июле? (4) Исходный список спецификаций таков: (S1) КОМАНДА (ИХ ЧИСЛО) = ? МЕСТО (ИХ ЧИСЛО) = 8 МЕСЯЦ = ИЮЛЬ На вопрос, определенный этим списком спецификаций, нельзя от- ветить сразу. Вместо этого процессор должен исследовать (S1), что- бы сформировать новый список спецификаций: (S2) КОМАНДА = ? МЕСТО (ИХ ЧИСЛО) = 8 МЕСЯЦ = ИЮЛЬ и на (S2) нельзя ответить сразу, поэтому нужен вспомогательный вопрос: (S3) КОМАНДА = КАЖДАЯ МЕСТО (ИХ ЧИСЛО) = 8 МЕСЯЦ = ИЮЛЬ 3) Этот вопрос «в духе» программы BASEBALL, но он не детализирует про- цесс согласования.
14.1. Структуры данных 443 На (S3) также нельзя сразу ответить, поэтому он запоминается и порождается вопрос (S4) КОМАНДА = КАЖДАЯ МЕСТО = ? МЕСЯЦ = ИЮЛЬ На (S4) можно ответить с помощью вопросного процессора, дающего основной список (S5) КОМАНДА = БОСТОН МЕСТО = НЬЮ-ЙОРК, БОСТОН, ВАШИНГТОН МЕСЯЦ = ИЮЛЬ ИГРА = НОМЕР ИГРЫ и т. д. и т. д. КОМАНДА = НЬЮ-ЙОРК МЕСТО = НЬЮ-ЙОРК, БОСТОН и т. д. Спецификация (S4) означает просмотр всех списков вида (S5). Со- считав названия мест, можно получить ответ на (S3); его можно пре- образовать в список и получить ответ на (S2). Отсюда сразу следует ответ на (S1). Развитие программы BASEBALL не пошло дальше рамок перво- начального проекта — обычная судьба систем искусственного ин- теллекта. В самом деле, идея иерархической структуры данных, кажется, исчезла из программирования для машинного понимания. Это несколько удивляет, ибо иерархические структуры позволяют осуществить эффективное управление данными, особенно если боль- шой объем информации необходимо держать частично в первичной памяти и частично в относительно медленно работающих, недорогих устройствах памяти (подробности см. в статье Сассенгута, 1963). Кроме того, иерархические структуры можно реализовать метода- ми управления данными, совместимыми с более традиционными сис- темами обработки информации (Хант и Килдалл, 1971; Лефковиц, 1969). Без сомнения, когда собираешься пользоваться „понимаю- щими“ программами, надо на каком-то этапе поставить неизбежные практические вопросы стоимости и системной совместимости. Воз- можно, в будущем стоило бы вернуться к принципам, реализован- ным в этой довольно старой программе. 14.1.2. DEACON: кольцевые структуры и приближения английского языка Следующий пример, который мы обсудим, DEACON (Direct English Access and Control — прямой доступ и управление на анг- лийском языке; Крейг, Березнер, Карни и Лавьёр, 1966), представ- ляет собой экспериментальную систему для управления некоторой фиктивной военной базой данных. Как и в случае BASEBALL, струк-
444 Гл. 14, Вопросно-ответные системы тура данных в DEACON носит более общий характер, чем ее кон- кретное приложение. В самом деле, база данных в DEACON состоит, строго говоря, из неупорядоченных множеств, и в силу этой общ- ности может иметь любую желаемую структуру. Структура данных, однако, не самая достопримечательная особенность системы DEACON. В ней структура языка пользователя связана со струк- турой базы данных гораздо теснее, чем в большинстве программ ин- формационного поиска. На первый взгляд установление связи меж- ду анализом языка и управлением структурой данных может пока- заться нарушением заповеди программиста об использовании мо- дульных команд. В действительности стремление объединить струк- туру данных и анализ языка основано на модели Томпсона (1966) того, как работает язык программирования и как мог бы англий- ский язык служить языком программирования для информацион- ного поиска. Основная мысль Томпсона состоит в том, что языки программирования представляют собой аппарат для определения действий в окружающей среде х). Например, программисты, поль- зующиеся Фортраном, оперируют с вещественными и целыми чис- лами. Возьмем оператор A = I + J*l (5) Синтаксический анализ показывает, что это оператор на Фортране вида Вещественная переменная = целая переменная (1)4-целая переменная (2) * целая переменная (1) (6) Как только это установлено, можно определить необходимую для вычислений последовательность умножений, сложений, извлечений и запоминаний. С тем же правом можно сказать, что мы определили необходимые последовательности изменений в среде. Этот подход применим и при составлении программ управления данными. Если у нас есть подходящая структура данных для описания среды и множество правил перевода высказываний на языке типа англий- ского в последовательности действий в среде, то не обязательно чтобы процессы перевода и исполнения разделялись. Действительно, если используется язык типа английского, то разделение процессов может оказаться нежелательным, ибо один из действенных способов отделения различных значений неоднозначных выражений состоит в выяснении того, какое из них соответствует разумным действиям в среде а). Основной структурой данных в DEACON является кольцо. Кольцо — это неупорядоченный список (множество) элементов, 4 С этих позиций можно рассматривать все программирование для ЭВМ. В книге Вегнера (1968) это обсуждается подробно. 2 ) Интересно, что Томпсон в своей последующей работе (Достерт и Томпсон, 1971), кажется, отошел от этих взглядов.
14.1. Структуры данных 445 Имена термов Артиллерия- Бронетанковые войска Морская пехота -------*“ Полк ------>- 12 Кольца Рис. 14.2. Кольца в примере работы программы DEACON. физически реализованный последовательным соединением слов вы* числительной машины друг с другом, причем последнее слово из списка соединяется с первым (обсуждение методов соединения со- держится в книге Кнута, 1969). Каждое кольцо содержит множество имен, некоторые из них могут быть названиями других колец. На рис. 14.2 показано множество колец для гипотетической военной ситуации. Каждый референтный термин (артиллерия, бронетанко- вые войска, батальон, 638-й и 12-й) в языке пользователя служит наз-
446 Гл. 14. Вопросно-ответные системы ванием кольца в структуре данных, так же, как имена переменных в Фортране относятся к ячейкам памяти ЭВМ. Связи между коль- цами соответствуют отношениям между основными терминами. Та- ким образом, на рис. 14.2 мы найдем, что „12-й“ означает „полк морской артиллерии", так как „12“ одновременно входит в каждое из соответствующих колец. DEACON распознает команду, обнаруживая во входном языке характерную структуру, которую он воспринимает как приказ выполнить операцию на базе данных. Слова в этом лексиконе раз- биваются на два класса: функциональные слова и референтные. Функциональные слова участвуют в идентификации структур, в то время как референтные определяют конкретные кольцевые струк- туры. Когда на входе появляется английское предложение, для него сначала разыскиваются референтные и функциональные слова, а затем последовательность референтных и функциональных слов, чтобы установить, согласуется ли она с одной или несколькими из предварительно определенных структур. Если структура найдена, то можно либо продолжить определение входной цепочки, либо вы- полнить операцию в базе данных. Когда две структуры одновременно соответствуют одной и той же цепочке, выполняются операции, опре- деленные каждой структурой, пока одна из операций не станет не- возможной. В этом случае соответствующая структура удаляется. Как будет показано в нашем примере, анализ системы DEACON очень похож на метод систем продукций, рекомендуемый Ньюэллом и Саймоном (1972). Эти идеи можно продемонстрировать на примере, предложенном Крейгом и др. (1966). Рассмотрим структуру данных, показанную на рис. 14.3, и допустим, что задается вопрос: WHO IS COMMANDER OF THE 638TH BATTALION? n . <KTO (ЕСТЬ) КОМАНДИР 638-ГО БАТАЛЬОНА?)( > Эта цепочка содержит функциональные слова who, of, the, ? и рефе- рентные слова командир, 638 и батальон. Предложение (7а) сна- чала упрощается до WHOCOMMANDER (R1)OFTHE638(R2) BATTALION(R3)? ,7Л. <КТО КОМАНДИР (R1) 638-ГО (R2) БАТАЛЬОНА (R3)?> Теперь начинается поиск структур. Структура в DEACON, сог- ласующаяся с (76), описывается так: Синтаксис Входная цепочка содержит последовательность R1, а за ней сразу R2 (записывается R14-R2) Семантика База данных содержит два различных кольца с именами R1 и R2, содержащие имена друг друга в качестве вхо- дов (это называется пересечением)
14.1. Структуры данных 447 Действие Заменить R1+R2 во входной цепочке на R1 Предложение (76) содержит 638+BATTALION, так что синтак- сическое условие удовлетворяется. Исследуем данные, чтобы про- верить, удовлетворяется ли семантическое условие. Как видно из Рис. 14.3. Структура данных в примере работы программы DEACON. рис. 14.3, оно удовлетворяется, поскольку 638 появляется в кольце BATTALION и обратно. Предложение принимает вид WHO COMMANDER (Rl) OF THE 638 (R2)? <KTO КОМАНДИР (Rl) 638-ГО (R2)?> (7b) Теперь применим правило the-f-R->-R, позволяющее выбрасывать артикль. Заметим, что иногда это правило неприменимо, поскольку артикль может нести определенную смысловую нагрузку. Получаем WHO COMMANDER (Rl) OF 638 (R2)? <KTO КОМАНДИР (Rl) 638-ГО (R2)?> {/Г) Далее DEACON применяет такое правило: Синтаксис Входная цепочка содержит подцепочку Rl of R2 Семантика Существует множество связанных попарно пересекаю- щихся колец Rl, R2, R3 Действие Заменить Rl of R2 на R3
448 Гл. 14, Вопросно-ответные системы Кольца 638, КОМАНДИР и ПАРКЕР (рис. 14.3) попарно пере- секаются, так что предложение принимает вид WHO PARKER (R3)? <КТО ПАРКЕР (R3)?> 1 } Это согласуется с правилом Синтаксис Kto+R Семантика Отсутствует Действие Вывести внешнее референтное имя R Ответом на наш вопрос оказалось имя ПАРКЕР. Данные поступают на вход DEACON точно так же, как и во- просы. Единственное различие заключается в том, что при получении предложения вида DATA: THE 638ТН IS A BATTALION ДАННЫЕ: 638-Й ЯВЛЯЕТСЯ БАТАЛЬОНОМ ( ' программа не печатает ответ, а меняет свою базу данных. В общем случае распознавание глагола побуждает подпрограмму изменить связи между кольцами. DEACON может разрешать синтаксические неопределенности в естественном языке, замечая, что контекст допускает лишь одну осмысленную семантическую интерпретацию. Без сомнения, это как раз то, что делают люди. Ясно, что для высказывания Джон видел Большой Даньон в полете в Калифорнию возможна единственная интерпретация. Если на одном из этапов в DEACON приходится проводить два возможных анализа, с ними обращаются как с двумя различными вопросами, и на оба даются ответы, если один из них не отпадет из-за того, что для него будет нужна запрещенная семантическая конструкция. Заявление, что DEACON „использует естественный язык", оши- бочно. Язык команд лучше представлять себе как язык программи- рования, по внешним признакам настолько похожий на англий- скую речь в областях, связанных с информационным поиском, что его очень легко выучить. В то время, когда работа над DEACON была приостановлена, в „английском" языке управления данными не было возможности ни использовать, ни обрабатывать последова- тельность предложений или ветвящиеся высказывания. Без сом- нения, при желании это все можно добавить к программе. Такая система могла бы работать с легко определенными правилами выво- да, и в этом смысле была бы действительно очень мощной. С дру- гой стороны, корректное введение таких правил могло бы оказаться столь же трудным, как и программирование на обычном языке ЭВМ. В какой степени транслятор может считаться моделью пони- мания?
14.1. Структуры данных 449 14.1.3. Структуры баз данных, основанные на значимых отношениях; PROTOSYNTHEX III и связанные с ним системы Основные составляющие базы данных можно связать друг с дру- гом многими способами. Способность отразить это программами BASEBALL и DEACON ограничена, поскольку в каждой из них единственный способ установить соотношение — это определить относительные положения двух единиц в базе данных. Другой метод структурирования данных — связать их с помощью помеченных со- отношений. При таком подходе структуру данных можно рассматри- Спорт Мужчины Женщины I t t Надмножество Надмножество Надмножество I И?пает । Любит । Теннис-. ,”грает_ ^жон ----.------- Рис. 14.4. Структура данных, представленная помеченным графом. вать как граф, в котором узлами служат объекты базы данных, а помеченные дуги определяют соотношения. Куиллиан (1968, 1969) говорил о таких структурах как о семантических сетях, и хотя этот термин не очень точно соответствует нашему представлению о семантике, он довольно краток и его можно эффективно использо- вать. На рис. 14.4 приведена семантическая сеть, определяющая не- которые элементарные факты о человеке и его окружении. На каком- то этапе нам придется несколько усложнить это представление, но основная идея не изменится. Семантические сети возникали в ряде программ при попыт- ках реализовать процесс понимания. Одно из основных понятий в области семантических сетей — типовое-символьное различие (Куиллиан, 1968). Любая рассматриваемая область содержит набор объектов. Сами по себе эти объекты определяются их взаимоотно- шениями с другими объектами, образуя семантическую сеть. Внутри нее должен находиться узел, связанный с определением каждого объекта. Он называется типовым узлом. Кроме того, сеть должна содержать другие узлы, относящиеся к частным случаям объекта в связи с его соотнесением с другими объектами. Это символьные узлы. Для иллюстрации представьте себе структуру данных, опре- деляющую вхождения в словарь. Символьный узел слова мужчина определился бы как отношение подмножества к понятиям мужской и Homo sapiens. Рассмотрим теперь определение слова адвокат. Адвокат можно определить как мужчина при условии, что мужчина удовлетворяет отношениям, выражающим мысль „тот, кто дает со- 15 Э. Хант
450 Гл. 14. Вопросно-ответные системы веты в соответствии с законом". Узел для мужчина в определении слова адвокат, очевидно, должен был бы участвовать в отношениях совсем другого рода, чем узел для мужчина в определении слова врач. Представление в виде семантической сети приводит непосред- ственно к установлению правил вывода. В сущности, можно взять правило вывода, говорящее о том, что если в базе данных точно указано, что между узлами А и В существует отношение Ri, а между узлами В и С — отношение R2, то можно вывести отношение Rs между узлами А и С. Простой пример: если входные данные указыва- ют, что „Джон выше Мэри, а Мэри выше Сью“, то „понимающая" программа может вывести, что „Джон выше Сью". Эта идея не нова. Представление в форме графа — один из классических способов пред- ставления дедукции. При программировании понимания, однако, мы не ограничены традиционными правилами вывода. Например, можно применить „психологическое" правило, утверждающее, что если X — подмножество в мужчина и находится в отношении любит к под- множеству Y в женщина, a Z — также подмножество в мужчина и на- ходится в отношении любит к Y, то можно вывести, что „X не лю- бит Z". PROTOSYNTHEX III (Шварц, Бюргер и Симмонс, 1970) пред- ставляет амбициозную попытку применить представление с по- мощью семантической сети в информационном поискех). Кроме семантической сети, в PROTOSYNTHEX содержатся очень сложные правила вывода. Принятая здесь структура данных описывается ниже. Основной элемент структуры данных в PROTOSYNTHEX — это „тройка событий" XRY, в которой X, R и Y — либо примитив- ные объекты лексикона (т. е. термы с типовыми узлами), а именно символы типовых узлов, либо в свою очередь тройки событий. Ин- терпретация тройки событий такова: „X находится в отношении R к У". Поскольку отношение R может быть вполне определенным, а тройка XRY сама может быть термом в тройке событий, мы пред- ставляем ее не дугой с меткой R, соединяющей X и Y, а узлом, соеди- ненным с узлами X, R и Y с помощью дуг X, R и Y. Это показано на рис. 14.5. PROTOSYNTHEX III содержит свои данные в сети троек событий. Кроме того, программа использует сеть семантиче- ской информации о событиях и отношениях, которые могут возник- нуть. Семантическую информацию можно разбить на два класса. Э Мы должны сделать одну оговорку. Наше понимание системы PROTO- SYNTHEX основано на опубликованных отчетах. Нам было трудно разобраться в них отчасти потому, что в них есть противоречия между содержанием текста и иллюстративными примерами. Поэтому мы излагаем здесь, как могла бы, по наше- му мнению, работать программа PROTOSYNTHEX. Более простая реализация подхода, связанного с семантическими сетями, принадлежит Мак-Калле и Сэмп- сону (1972).
14.1. Структуры данных 451 Отношения между термами отражает сеть иерархий и эквивалент- ностей. Эта сеть указывает программе такие факты, как мужчина есть Homo sapiens мужского рода, Сократ есть мужчина, человек — то же самое, что Homo sapiens, и т. д. Далее, PROTOSYNTHEX рас- полагает классами интерпретируемых событий, называемых се- мантическими формами событий (СФС); они составляют общие классы событий XRY. Следовательно, в качестве частного случая такой тройки СФС, как (ЖИВОТНЫЕ ЕДЯТ ПИЩУ), можно взять ВОЛКИ ПИТАЮТСЯ МЯСОМ. СФС особенно важны на этапе вы- вода, поскольку в общем виде можно установить правила вывода как соотношения между СФС и применить к конкретным тройкам событий. Рис. 14.5. Представление тройкой событий соотношения Джон любит Мэри. PROTOSYNTHEX содержит также языковый препроцессор, ото- бражающий предложения на английском языке в тройки событий. Очевидно, эта программа похожа на предпроцессорную программу в BASEBALL тем, что она определяет внутреннюю форму сообще- ния без обратной связи с его частичным анализом. Этим она отлича- ется от программы DEACON, в которой анализ языка объединяется с анализом структуры данных. Мы не будем обсуждать программу анализа языка, а ограничимся лишь замечанием, что невозможность использования семантической обратной связи может оказаться весьма ограничительной. Следующий пример иллюстрирует структуру данных в PRO- TOSYNTHEX и показывает, как можно ответить на вопрос, не прибегая к правилам вывода. На вход подается предложение The stones and iron that fall to earth from outer space are called meteorites. (10) <fTe камни и куски железа, которые упали на землю из космического пространства, называются метеоритами.> 15*
452 Гл. 14. Вопросно-ответные системы Основные понятия здесь — это камни, земля, на, куски железа, пространство, космическое, падают, называются, метеориты. Кро- ме того, здесь есть ряд уточняющих термов „первого порядка". Они обозначаются помеченными дугами, определяющими тип уточ- нения. Например, „упали на землю" указывает на конкретный тип падения, падение в конкретную область. Это выражается так: УПАЛИ ДД ЗЕМЛЮ. Следующие модифицированные термы по- мечаются: (Т1.1) УПАЛИ НА ЗЕМЛЮ (Т1.2) ПРОСТРАНСТВО МОД. КОСМИЧ ЕСКОЕ (т. е. КОСМИЧЕСКОЕ ПРОСТРАНСТВО) Из одних модифицированных термов могут создаваться другие: (Т2.1) Т1.1 ИЗ Т1.2 (Упали на землю из косми- ческого пространства) (Т2.2) КАМНИ Т2.1** (Камни упали на землю из космического прост- ранства) (Т2.3) КУСКИ ЖЕЛЕЗА Т2.1 ** (Куски железа упали на землю из космического пространства) (Т2.4) Т2.2 МОД те (Те камни, которые и т. д.) (Т2.5) Т2.3 МОД те (Те куски железа, кото- рые и т. д.) (Звездочки указывают на пропуск в тройке.) Общая структура предложения (10) показана на рис. 14.6, а в виде тройки событий, состоящей из двух троек, связанных отношением И и требующей, чтобы эти тройки включали в себя уточняющие термы. Необходима также семантическая информация о термах. В этом конкретном примере нам не нужны правила вывода, но мы должны знать, какие термы эквивалентны, а какие образуют подмножества других термов (рис. 14.6, б). ВЕРХ — это общий терм, охватываю- щий все остальные термы. Отсюда ясно, что терм объект эквивален- тен термам что, камень, кусок железа, а метеориты — это подмно- жества объектов и т. д. Теперь ответим на вопрос Что такое метеорит? (11) Вот ответы, которые дает PROTOSYNTHEX: Метеорит быть „метеорит". (12а) Метеорит быть „метеориты". (126)
14.1. Структуры данных 453 Кусок железа, который упал на землю из космического пространства, быть „метеорит". (12в) Камень, который упал на землю из космического прост- ранства, быть „метеорит". (12г) Ответы (12а) и (126) получены, когда обнаружилось, что в семан- тической информации существует отношение эквивалентности между Тйеортикль» О х| Т2.4 Xi R Q ДпсЦи» Called Meteorites ту к (Называютсяхметеориты» ' * R |Г Called Meteorites (Называютсяхметеориты» ТОР^ВЕРХ» Объект-Что Stones< Камни» (Метеориты-метеорит» Iron <Куски железа» Meteorites-Meteoriie Called < Называется» £дшу<г{ел4=/з<Является> Рис. 14.6. Данные к примеру работы программы PROTOSYNTHEX: а — трой- ки событий; б — семантические формы событий. двумя термами. Ответы (12в) и (12г) получены, когда обнаружилось, что вопрос (11) эквивалентен тройке объект эквивалентен метеорит (13) и тройки событий Т2.4 называются метеоритами Т2.5 называются метеоритами (И) (15) имеют такую же форму, как (13). Интуитивно ясно, что семантические сети дают естественный спо- соб выражения сложных утверждений, но их практическая реали- зация довольно трудна. Это представление обходится дорого и в смысле машинного времени, и в смысле занимаемой памяти. Шварц и др. (1970) сообщают, что для ответа на самые простые вопросы с
454 Гл. 14. Вопросно-ответные системы использованием очень малой базы данных потребовалось время до 20 мин. Поскольку эти результаты получены на устаревшей теперь вычислительной машине (военная ЭВМ AN/FSO-32) и их, несом- ненно, можно улучшить, возникает вопрос, будет ли это улучшение достаточным. Для практических задач понимания мы должны уве- личить скорость и емкость памяти по крайней мере на два порядка. Сомнительно, что развитие вычислительной техники позволит до- стичь этого в ближайшем будущем. Подобные проблемы свойствен- ны и другим системам, в которых применяются семантические сети. Возможно, еще большая трудность связана с числом отношений, ко- торые надо задать, чтобы получить систему, способную к серьезным рассуждениям. Абельсон (1966) указал, что моделирование челове- ческих рассуждений на ЭВМ часто бывает неудачным, так как мы забываем включить в базу данных такие прозаические факты, как Люди, остающиеся под дождем, оказываются мокрыми. Поскольку мы не можем предвидеть все факты, которые могут понадобиться „понимающей" программе, мы должны учесть все отношения, кото- рые, возможно, здесь существенны. Даже если мы располагаем машинными возможностями, позволяющими работать с нужным нам графом, то как нам подготовить данные? С другой стороны, каков иной выход? Чтобы достичь максимального машинного понимания, нам, быть может, придется перенести в память ЭВМ все определе- ния словаря Уэбстера. Сейчас это неосуществимо, хотя, возможно, скоро станет реальным применять семантические сети для представ- ления нетривиальных баз данных при ограниченных требованиях к пониманию в специальных приложениях, таких, как токсиколо- гия или законодательство о недвижимом имуществе. До этого, од- нако, необходимо разработать практический пример такого метода. 14.1.4. Замечание о структурах данных н понимании Сейчас мы просто не знаем, практично ли строить крупнома- сштабную вопросно-ответную систему. Кое-кто хочет попытаться. Одна из наиболее честолюбивых попыток — программа CONVERSE, создающаяся в Корпорации системных разработок (SDC) (Келлог, 1968; Келлог, Бюргер, Диллер и Фогт, 1971) Это очень большая система, предназначенная для машин третьего поколения с разделе- нием времени (IBM 360/67). По данным 1971 г. эта система могла работать с массивами, содержащими более 10 000 фактов о 120 аме- риканских городах (Келлог и др. 1971). О временах ответов на запросы не сообщалось. В системе CONVERSE новых идей нет, но в ней воплощены две важные идеи. Ее структуры данных состоят из элементов (как кольца в DEACON) с помеченными дугами, опре- деляющими отношения между множествами, а не между отдельны- ми элементами. Система CONVERSE оказалась удачной програм- мистской попыткой объединить многие решения мелких задач,
14.2. Дедуктивный вывод в информационном поиске 455 возникавших ранее в различных программах. В некоторых отноше- ниях она воплощает максимум из того, что известно о том, какими должны быть структуры данных в „понимающих" программах. CONVERSE и подобные системы, несомненно, будут применяться, когда ЭВМ смогут работать быстрее, а устройства памяти станут дешевле. Вполне возможно, что исследование этих систем покажет, нуждаемся мы в новой технологии или же в новых плодотворных идеях информационного поиска. 14.2. Дедуктивный вывод в информационном поиске 14.2.0. Существующие методы Программы, обладающие способностью понимания, должны уметь отвечать на запросы, определяя, какой смысл заключен в той или иной базе данных и что она содержит. Для этого программа должна осуществлять вывод одних фактов из других. Как подразу- мевается в слове „выводить", соответствующие необходимые про- цедуры имеют самое непосредственное отношение к доказательству теоремы. Существуют, однако, важные различия между доказатель- ством теорем и выводом при информационном поиске. Алгоритм вывода фактов должен быть корректным. Кажется, нет реальной ситуации, где были бы приемлемы ложные ответы. С другой стороны, полнота, т. е. способность ответить на любой вопрос, допускающий ответ, не является непременным условием. Как мы видели при обсуждении доказательства теорем, полнота часто достигается очень дорогой ценой. В наиболее реальных во- просно-ответных ситуациях большинство вопросов относится к од- ному и тому же типу, и лишь немногие — к другим. Цель конструк- тора такой системы — максимизировать полезность системы для пользователя 1), так что иногда было бы целесообразно пожертво- вать способностью вообще отвечать на одни вопросы, чтобы на дру- гие вопросы можно было отвечать очень быстро. Как и следовало ожидать, при создании экспериментальных вопросно-ответных сис- тем вывода такими сугубо практическими соображениями прене- брегали. Возможно, это было оправдано. Мы будем различать несколько типов сложности в процедурах вывода. На самом нижнем уровне программа может быть способ- ной только к перераспределению имеющихся фактов для ответа иа запрос. Это демонстрировалось при ответе системы DEACON на вопрос „Кто командир 638-го батальона?", где ответ был получен подбором нужного сочетания вхождений в базу данных. В качестве побочного продукта процесса ответа на вопросы никакие новые Заметим, что такой критерий не должен сделать для нас все отдельные во- просы одинаково важными.
456 Гл. 14. Вопросно-ответные системы данные не были получены. Более мощный способ — ввести специаль- ные операции для вывода новых фактов. Здесь очень важны во- просы полноты, практичности и определения стратегии решения задач. Программа может содержать ограниченное множество опе- раторов, таких, как импликация и включение множеств, выполне- ние которых не представляет труда, но которые обеспечивают лишь ограниченные возможности вывода. Другим крайним случаем была бы программа, содержащая полную систему вывода, как, например, резолюции, и рискующая тем, что на некоторые выводы будет тра- титься очень много времени. Третий подход состоит в том, чтобы позволить пользователю определять свои собственные процедуры вывода. По существу, пользователь задает вопрос и затем сообщает системе, как найти ответ. Этот подход разделяют Слейгл (1965) в системе DEDUCOM, а также Достерт и Томпсон (1971). Он в принципе отдает все возмож- ности машины в руки пользователя, но может также возложить на него бремя программистской работы. Наоборот, система информа- ционного поиска может содержать заранее составленные подпро- граммы дедуктивного вывода, но в то же время позволять пользо- вателю выбирать при желании стратегию. 14.2.1. Системы, использующие неполный вывод 14.2.1.1. РЕАГИРУЮЩАЯ БИБЛИОТЕКА Нашим первым примером будет очень ограниченная система неполного вывода, которая предназначалась для эксперимента е возможностями некоторых грубых правил вывода (Хант и Куинлан, 1967). В литературе термин „машинное понимание" фактически счи- тается синонимом ответов на вопросы, но эта программа не была классической системой такого рода. Зато она запоминала факты и комментировала связи старых фактов с новыми. Поэтому мы назвали программу РЕАГИРУЮЩАЯ БИБЛИОТЕКА по аналогии с биб- лиотекарем, который публикует комментарии к поступающим кни- гам. Работа системы проверялась на вполне реальной задаче — анализе литературы по физиологии памяти. Мы будем брать примеры из этой же области. РЕАГИРУЮЩАЯ БИБЛИОТЕКА накапливала и сортиро- вала короткие утверждения (факты), например, такие, с помощью которых можно было бы резюмировать результаты эксперимента. При поступлении нового факта принимались во внимание его имп- ликации, если они были как-то связаны с уже имеющимися фак- тами. Программа порождала два типа импликаций: либо два факта могли сочетаться друг с другом и обобщаться, образуя новое ут- верждение, называемое метафактом, либо новый факт мог проти- воречить старому (непосредственно или тем, что приводил к про-
14.2. Дедуктивный вывод в информационном поиске 457 тиворечащему ему обобщению). В табл. 14.1 приведены результаты трех последовательных добавлений к базе данных, взятых из ут- верждений гл. 3 книги Дойча и Дойча (1966) Х). Чтобы продемон- стрировать, как система осуществляет вывод, рассмотрим ее реак- ции на некоторые последующие вводы данных, когда табл. 14.1 уже Таблица 14.1 Выборки входов и выход РЕАГИРУЮЩЕЙ БИБЛИОТЕКИ ВХОД: ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТВУЕТ ОБУЧЕНИЮ РАСПОЗНАВАНИЮ ДЛЯ WISTAR В ПАМЯТИ: ДО ОПЫТА ВВЕДЕНИЕ ПИКРОТОКСИН СПОСОБСТВО- ВАТЬ ОБУЧЕНИЕ РАСПОЗНАВАНИЕ WISTAR ВХОД: ВНУТРИБРЮШНОЕ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВУЕТ ОБУЧЕНИЮ ИЗБЕГАНИЮ ДЛЯ TRYON-S1 В ПАМЯТИ: ВБ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВОВАТЬ ОБУЧЕНИЕ ИЗБЕГАНИЕ TRYON-S1 НЕ СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТ- ВУЕТ ОБУЧЕНИЮ РАСПОЗНАВАНИЮ ДЛЯ WISTAR НЕ СОГЛАСУЕТСЯ С МЕТАФАКТОМ ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ УЛУЧШАТЬ ОБУЧЕНИЕ КРЫСА ВХОД: ВВЕДЕНИЕ СТРИХНИНА ПОСЛЕ ОПЫТА УЛУЧШАЕТ ОБУЧЕНИЕ РАСПОЗНАВАНИЮ ДЛЯ TRYON-S3 В ПАМЯТИ: ПОСЛЕ ОПЫТА ВВЕДЕНИЕ СТРИХНИН УЛУЧШАТЬ ОБУЧЕНИЕ РАСПОЗНАВАНИЕ TRYON-S3 СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТВУЕТ ОБУЧЕНИЮ РАСПОЗНАВАНИЮ ДЛЯ WISTAR СОГЛАСУЕТСЯ С МЕТАФАКТОМ СВОЕВРЕМЕННОЕ ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮ- ЩИЙ СУДОРОГИ УЛУЧШАТЬ РАСПОЗНАВАНИЕ КРЫСА НЕ СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ ВНУТРИБРЮШНОЕ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВУЕТ ОБУЧЕНИЮ ИЗБЕГАНИЮ ДЛЯ TRYON-S1 НЕ СОГЛАСУЕТСЯ С МЕТАФАКТОМ ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ ПРЕПЯТСТВОВАТЬ ОБУЧЕНИЕ КРЫСА *) При изучении этого примера полезно знать, что WISTAR, TRYON-S3 и TRYON-S1 — это разновидности крыс, используемых в психологических лабо- раториях, и что стрихнин, пикротоксин и 1757-1— препараты, вызывающие судо- роги.
458 Гл. 14. Вопросно-ответные системы содержится в памяти. Четвертым входным утверждением было ВВЕДЕНИЕ СТРИХНИНА ПОСЛЕ ОПЫТА УЛУЧШАЕТ ОБУЧЕНИЕ РАСПОЗНАВАНИЮ У TRYON-S3. (16) Система ответила: СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТВУЕТ РАСПОЗНАВАНИЮ ДЛЯ WISTAR (17) СОГЛАСУЕТСЯ С МЕТАФАКТОМ ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ УЛУЧШАТЬ РАСПОЗНАВАНИЕ КРЫСА и НЕ СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ ВБ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВОВАТЬ (18) ОБУЧЕНИЕ ИЗБЕГАНИЕ TRYON-S1 НЕ СОГЛАСУЕТСЯ С МЕТАФАКТОМ ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ ПРЕПЯТСТВОВАТЬ ОБУЧЕНИЕ КРЫСА Заметим, что все извлеченные факты содержат глагол, являющийся приблизительно либо синонимом, либо антонимом глагола во вход- ном предложении. Если это синоним, фиксируется соответствие (согласие), если это антоним — несоответствие. Кстати, если глагол имеет форму „НЕ ...“, он воспринимается как антоним. Кроме того, видно, что в поиске также участвуют неглагольные формы. Согла- сие или несогласие определяется метафактами. Все термы типа су- ществительного (операнды) в метафакте представляют собой либо операнды входа, либо обобщения этих операндов (обратите внимание на замену в нашем примере „стрихнина*' на „препарат, вызывающий судороги"). Каждый извлеченный факт содержит в своем операнде конкретизации обобщения, высказанного в метафакте. Для поль- зователя это совершенно очевидно. Посмотрим теперь, что происходило на уровне программных операций. РЕАГИРУЮЩАЯ БИБЛИОТЕКА состояла из двух ча- стей: программы и словаря. В словарь входили два класса слов: операнды и глаголы. Как и DEACON, РЕАГИРУЮЩАЯ БИБЛИО- ТЕКА обрабатывала предложение как упорядоченное множество элементов словаря, содержащего их. Предложение ПРИМЕНЕНИЕ ЭЛЕКТРОСУДОРОЖНЫЙ ШОК ПОСЛЕ ОПЫТА (19) ЧАСТО НАРУШАЕТ ПАМЯТЬ
14.2. Дедуктивный вывод в информационном поиске 459 будет запомнено как ЭЛЕКТРОСУДОРОЖНЫЙ ШОК ПОСЛЕ ОПЫТА НАРУШАЕТ ПАМЯТЬ1) (20> При этом предполагается, что другие слова предложения (ПРИМЕ- НЕНИЕ, ЧАСТО) в словаре не содержатся. Каждый глагол отно- сится к некоторому классу глаголов, который в дальнейшем раз- бивается на множества положительных и отрицательных термов. Например, класс глаголов создать — разрушить содержит поло- жительные термы СОЗДАТЬ, СПОСОБСТВОВАТЬ, УЛУЧШАТЬ и отрицательные термы МЕШАТЬ, НАРУШАТЬ, РАЗРУШАТЬ Мы будем считать, что глагол, помимо принадлежности классу, обладает знаком. Если во входном предложении глаголу предше- ствует НЕ, то знак глагола меняется. Хотя это не соответствует в точности нормам естественного языка, для большинства целей это оказалось достаточным приближением к языку. Операнды связаны друг с другом включением множеств. Так, СТРИХНИН включен в множество ПРЕПАРАТЫ ВЫЗЫВАЮЩИЕ СУДОРОГИ. Возможно также включение операнда в два множества, ни одно из которых не содержит целиком другого. В физиологи- ческом словаре ЭЛЕКТРОСУДОРОЖНЫЙ ШОК (ЭСШ) включен в множества ТРАВМА и ЭЛЕКТРОШОК. Каждый операнд имел внутреннее представление в виде кода, допускающего непосредственное сопоставление операндов для опре- деления их наименьшего пересечения. Пусть имя операнда закоди- ровано цепочкой символов, где первый символ — имя самого общего класса, которому принадлежат операнды, второй символ — имя второго по степени общности класса и т. д. Следовательно, если бы Ж было кодом животного, ЖМ могло быть кодом млекопитающего, ЖМК — кодом крысы, а ЖМК6 — кодами, скажем, для крыс TRYON-S1 и TRYON-S3. С помощью простой операции на масках можно определить „общий знаменатель" так, что для кодовых слов ЖМК6 и ЖМК7 наименьшим „общим знаменателем" будет ЖМК, т. е. код для крысы. Точно так же можно сразу найти имена всех млекопитающих, выделив в качестве первых двух символов все коды с ЖМ. Для случая, когда данный терм входит в два множества, ни одно из которых не содержит целиком другого, как в примере с ЭСШ, имя операнда можно приписать одному или более кодам. 1) Для того чтобы от слов оставалась лишь их основа, можно использовать очень простой алгоритм (Стоун и др., 1965), который, как правило, оказывается работоспособным.— Прим. ред.
460 Гл. 14. Вопросно-ответные системы Было бы неудобно, если бы очень много операндов должны были иметь много разных кодов, но для приложений (физиологической психологии и лесничества), в которых использовалась эта про- грамма, это не вызвало трудности. Для внутренних целей предложения кодировались классом их глагола и знаком, а также множеством их левых и правых операн- дов. Перечислим компоненты в примере (19): глагол = НАРУШАТЬ (ПОЛОЖИТЕЛЬНЫЙ) левый =ЭСШ, ПОСЛЕ ОПЫТА (21) правый = ПАМЯТЬ При появлении каждого нового факта в массиве уже имеющихся фактов осуществлялся поиск с целью найти факт, глагол которого принадлежал тому же классу, что и глагол входного факта. Новый и извлеченный факты затем сравнивались обобщением. Процесс обобщения состоял из следующих этапов: 1. Удаление одного или более операндов или из субъекта, или из объекта. 2. Замена операнда более общим. Процесс специализации заключался в замене операнда одним из его субъектов. Так, например, если КОШКА <= СЕМЕЙСТВО КОШАЧЬИХ <= ЖИВОТНЫЕ КРЫСА <= СЕМЕЙСТВО ГРЫЗУНОВ <= ЖИВОТНЫЕ (22) то некоторыми из полученных фактов, с которыми факт КОШКИ ЕДЯТ ГРЫЗУНОВ (23) можно связать описанными выше процессами, были кошки ЕДЯТ ГРЫЗУНОВ ЖИВОТНЫЕ ИЗ СЕМЕЙСТВА КОШАЧЬИХ ЕДЯТ КРЫС КОШКИ ЕДЯТ ЖИВОТНЫХ (24) ЖИВОТНЫЕ ЕДЯТ животных Если можно найти метафакт, в который можно преобразовать вход- ной и имеющийся факты, то система фиксирует соответствие или несоответствие в зависимости от того, согласуются или нет знаки сравниваемых фактов. Иногда пользователи хотели пресечь все или некоторые на- правления поиска, которые могла породить РЕАГИРУЮЩАЯ БИБЛИОТЕКА. Такая возможность обеспечивалась множеством селективных команд, позволявших пользователю определять новые операнды или ограничивать сравнение несколькими операндами.
t4.2. Дедуктивный вывод в информационном поиске 461 Эти удобства не относятся к программе искусственного интеллекта, и мы их обсуждать не будем. После исследования этой области оказалось, что РЕАГИРУ- ЮЩАЯ БИБЛИОТЕКА интересна, но сама по себе не является адекватной системой информационного поиска. Пользователи со- общали, что она была бы очень полезна в паре с обыкновенной си- стемой поиска документов. Это указывает на возможность приме- нения ее для автоматизации библиотечного дела. Для искусствен- ного интеллекта РЕАГИРУЮЩАЯ БИБЛИОТЕКА интересна в основном тем, что она показывает, что понимание не ограничивается ответами на отдельные вопросы и даже очень ограниченная про- грамма может дать интересные обобщения. Легко привести пример, в котором РЕАГИРУЮЩАЯ БИБЛИОТЕКА выдает на выходе какую-нибудь глупость, но это не меняет существа дела. Неразум- ный ответ люди легко обнаружат. В чем они действительно нуж- даются — это в напоминании о том, что сведения, которые они когда-то знали, но забыли, могут быть связаны с информацией, которую они только что получили. Ценность же сообщения им чего-то малосодержательного мала. 14.2.1.2. Дедуктивные подпрограммы системы PROTOSYNTHEX PROTOSYNTHEX III (Шварц и др., 1970) содержит несколько сложных приемов для работы с импликациями троек XRY, фор- мирующих основную базу данных. PROTOSYNTHEX — „истин- ный" ответчик на вопросы, ибо может отвечать на специальные во- просы о своей базе данных. Как мы видели в примерах для систем BASEBALL и PROTOSYNTHEX, при ответе на вопросы может потребоваться просто изощренный поиск правильных комбинаций введенных ранее фактов. PROTOSYNTHEX может также отвечать на вопрос выводом новой тройки XRY из уже имеющихся троек. Применявшиеся методы дедуктивного вывода очень похожи на ме- тоды доказательства теорем в таких системах с продукциями, как FDS (Куинлан и Хант, 1968) и GPS (Эрнст и Ньюэлл, 1969). Продук- ции в PROTOSYNTHEX основаны на пяти свойствах отношений, которые могут возникнуть в тройке XRY и пяти правилах для объ- единения отношений в более сложные. Подробности этих правил и их приложения громоздки, поэтому за точным описанием читателя отсылаем к статье Шварца и др. (1970). Процесс дедуктивного ответа на вопросы в PROTOSYNTHEX мы проиллюстрируем на примере, привлекая правила вывода по мере необходимости. Основная стратегия в PROTOSYNTHEX — представить вопрос в виде начального узла в И/ИЛИ-графе решения задачи. Если на вопрос нельзя ответить сразу, порождаются подзадачи; для них либо находится ответ, либо строятся подподзадачи. Таким образом,
462 Гл. 14. Вопросно-ответные системы здесь непосредственно применимы алгоритмы раскрытия графов ре- шения задач. Фактически PROTOSYNTHEX выбирает, какую оче- редную подзадачу раскрыть, и применяет для этого алгоритм, по- добный алгоритму Multiple Слейгла и Бурского (1966). Вопросы и подвопросы можно считать условиями, которым должна удовлетво- рять тройка событий, если ее рассматривать как ответ на вопрос. На вопрос дан ответ, если в базе данных найдена подходящая трой- ка событий или ее можно вывести из имеющихся троек с помощью правил вывода. T100-------Y-------T101------X------ ТЮЗ -----------Т105 Наполеон Командир Армия МОД французская /1\ Битва при Ватерлоо X R Y Проиграла в 1815 Рис. 14.7. Тройка событий для Наполеон командовал французской армией, кото- рая проиграла битву при Ватерлоо в 1815 (модифицированный граф, представ- ленный Шварцем и др., 1970). Шварц и др. предлагают следующий пример. База данных вы- ведена из предложения НАПОЛЕОН КОМАНДОВАЛ ФРАНЦУЗСКОЙ АРМИЕЙ КОТОРАЯ ПРОИГРАЛА БИТВУ ПРИ ВАТЕРЛОО (25) В 1815. Кроме того, системе сообщили ряд семантических фактов: НАПОЛЕ- ОН это ГЕНЕРАЛ, ГЕНЕРАЛ это ЧЕЛОВЕК, КТО н ЧЕЛОВЕК эквивалентны и т. д. На рис. 14.7 изображен граф внутреннего представления этой базы данных п. Был задан вопрос: КТО ПРОИГРАЛ БИТВУ ПРИ ВАТЕРЛОО? (26) PROTOSYNTHEX распознает, что структура вопроса такова: КТО ПРОИГРАЛ (БИТВА ПРИ ВАТЕРЛОО) (27) Она содержит две вопросные тройки БИТВА ПРИ ВАТЕРЛОО '(28) и ЧЕЛОВЕК ПРОИГРАЛ (БИТВА ПРИ ВАТЕРЛОО) (29) 1) Мы полагаем, что рис. 14.7 не противоречит определению тройки событий, данной Шварцем и др. (1970), хотя отличается от их рис. 1, который явно нарушает их собственные требования.
: ,14.2. Дедуктивный вывод в информационном поиске 463 Тройку (28) можно сразу поместить в базу данных таким же спо- собом, как в примере разд. 14.1.3. Для ответа на (29) PROTOSYN- THEX применяет правило вывода „сложное произведение" (СП): Если тройки ARIC и CR2B истинны для некото- рого С, то и соотношение A (R1 СП R2) В истинно. Можно определить специальный терм отношения как сложное произведение двух других отношений. Следовательно, в нашем при- мере база данных содержит ПРОИГРАЛ <= (ВОЗГЛАВЛЯЛ СП ПРОИГРАЛ) (30) как часть своей семантической информации. Это означает, что один из способов установить, что „X проиграл Y“ состоит в том, чтобы сказать: „X возглавлял Z и Z проиграл У“. С помощью правил вывода (30) и СП PROTOSYNTHEX обна- руживает, что НАПОЛЕОН КОМАНДОВАЛ Т101 (31) содержится в базе данных как пример класса СФС троек ЧЕЛОВЕК ВОЗГЛАВЛЯЛ ГРУППУ. Из рис. 14.7 видно, что Т101 ТЮЗ Т105 (32) специфирует ГРУППУ ПРОИГРАВШУЮ БИТВУ. Программа далее сможет получить, что НАПОЛЕОН ПРОИГРАЛ Т105 (33) Поскольку (33) — частный случай вопросной тройки (29), то на обе подцели исходного вопроса даны ответы, так что ответ на этот вопрос найден. PROTOSYNTHEX демонстрирует два главных преимущества подхода семантических сетей: интуитивная разумность и исполь- зование в вопросно-ответной системе продукций и поиска на графе. Кроме того, демонстрируются некоторые возникающие здесь труд- ности. Мы уже обсуждали практичность управления данными в семантической сети. В системе вывода PROTOSYNTHEX не пре- дусмотрен способ выражения отрицания и введения кванторов, так что она не полна. Шварц и др. указывают, что отрицание можно легко включить, но, сделай они это, система могла бы положитель- но ответить на противоречивые вопросы, если бы это позволяла база данных. Причина состоит в том, что PROTOSYNTHEX не со- держит никакой проверки для предотвращения допуска противоре- чащих троек событий, таких, как СОКРАТ ЧЕЛОВЕК СОКРАТ НЕ ЧЕЛОВЕК (34)
464 Г л. 14. Вопросно-ответные системы Конечно, никто не потребует от системы доказательства теорем, чтобы она допускала такие утверждения, но в этом ли задача сис- темы дедуктивного ответа на вопросы? Иначе говоря, должна ли программа отвергать противоречивые базы данных? Возможно нет, поскольку много интересных баз данных противоречивы. Литера- тура об экспериментах практически в любой науке полна противо- речий, связанных с самыми важными темами исследования. В юрис- пруденции наиболее сложные юридические проблемы возникают, когда принципы отдельных законов вступают в конфликт. Работаю- щая система PROTOSYNTHEX должна следовать примеру РЕА- ГИРУЮЩЕЙ БИБЛИОТЕКИ: замечай несоответствия, но не от- казывайся их разбирать. Неудача системы PROTOSYNTHEX в работе с кванторами го- раздо серьезнее. В действительности работа с кванторами не была адекватным образом учтена ни одним из решателей задач, приме- няющих методы продукций. Кроме того, PROTOSYNTHEX не мо- жет оперировать с вопросами типа „как?“, т. е. с вопросами, для которых нужный ответ будет образом действий, дающим нужный выход. Как мы увидим в следующем разделе, существует естест- венный метод работы с такими вопросами, основанный на принципе резолюции. Подводя итог, можно сказать, что подход семантических сетей одновременно и обещает, и разочаровывает. Обещает потому, что кажется таким разумным. На практике системы семантических сетей порождают много умных примеров, которые при ближайшем рассмотрении зависят от частных решений. Поскольку нет закон- ченной формальной теории, как для программ, основанных на принципе резолюции, трудно предвидеть, что еще можно ожидать. Область искусственного интеллекта очень нуждается в теории се- мантических сетей. Такая теория должна была бы объединить вы- вод с помощью продукций, теорию графов и методы поиска на гра- фе — одним словом, работу нужно проделать немалую! 14.2.2. DEDUCOM: объединение вопросно-ответной системы с базой данных Слейгл (1965) в своей программе DEDUCOM предложил ин- тересную альтернативу применению заранее запрограммированных правил вывода. Она обобщает транслятор с языка Лисп (Мак-Кар- ти и др., 1963), и для объяснения ее сначала вкратце опишем неко- торые конструкции Лиспа. Лисп — это интерпретирующий язык, выражения и входные данные которого имеют внутреннее представление в виде списоч- ных структур. Поэтому отличить программу от массива данных здесь можно только условно. Фактически программы можно сос- тавлять и выполнять в ходе работы, потому что в Лиспе интерпре-
14.2, Дедуктивный вывод в информационном поиске 465 тирующий цикл читает и затем производит вычисления со списоч- ной структурой. Основной тип данных в Лиспе — атомные символы (атомы) и списки, т. е. упорядоченные множества, элементами ко- торых могут быть атомы или другие списки. Для списков определе- ны три функции, и они содержатся в интерпретаторе. Пусть L — произвольный список. Значением функции car[L] служит первый элемент списка L, а значением cdr [L] — остальные его элементы. (Заметим, что список может быть пустым.) Значением функции cons [L, М], где L и М — либо списки, либо атомные символы, служит список (L, М). Кроме того, интерпретатор Лиспа содержит ряд обычных арифметических функций и логических предикатов. Так, times (X, У) — это функция арифметических выражений, значение которой равно произведению значений х и у. Конечно, этим не исчерпывается описание Лиспа, но такого краткого вве- дения должно быть достаточно, чтобы читатель разобрался в работе DEDUCOM. Слейгл сначала добавил три новые функции к основному интер- претатору Лиспа: valueans [V, Q], ans [V, Q] и предикат ansupset IQi, QJ- Аргументы первых двух функций — переменная V и во- прос Q. Вопрос — это функция от k аргументов, и поэтому его также можно представить в виде G(Xlt Х2, . . ., Xk). Рассмотрим вопрос сколько [пальцы, человек] = (сколько пальцев у человека) (35) Формально это функция сколько с аргументами палец и человек. Точно так же times [2,4] (36) — это произведение 2x4. Различие между (35) и (36) состоит в том, что интерпретатор Лиспа способен воспринять times сразу, а для функции сколько пользователь должен указать способ ее вычисле- ния через valueans, ans, ansupset и основные функции Лиспа. Чтобы определить valueans и ans, допустим, что при V=B значение Q(V) равно А. Тогда valueans [У, Q]— это упорядоченная пара (У, А) и ans [V, Ql=А. Из определения функций саг и cdr следует, что для упорядоченной пары (X, У) саг [(X, У)]=Х, (37) cdr [(X, У)]=У, (38) так что ans [У, Q] = cdr [valueans [У, Q]]. (39) Рассмотрим пример. Пусть человек — это переменная, прини- мающая значения Джон, Джеймс, Роберт, Том, и пусть дети — вопрос. Предположим далее, что известен факт дети (Роберт) = {Том, Дик, Бет). (40)
466 Г л. 14. Вопросно-ответные системы Если мы спросим ans [Роберт, дети}, то порядок вычислений будет таков: ans [Роберт, dem«j = cdr[valueans [Роберт дети]] — = cdr [Роберт {Том, Дик, Бет}] = (41) = {Том, Дик, Бет}. Предикат ansupset [Qi, Q2] — это утверждение на Лиспе о том, что ответ на вопрос Q2 содержится в множестве ответов на вопрос Следовательно, если можно ответить на Q2, то можно ответить и на Qi, хотя, быть может, ответ на можно получить и не отвечая на Q2. Далее, пусть Том, Дик и Бет — правильные ответы на вопрос дети (Роберт). Лишь Бет будет ответом на вопрос дочь. Поэтому утверждение ansupset [ребенок, дочь] истинно. Для полноты база данных в DEDUCOM должна содержать сле- дующий факт: если переменная V не встречается в вопросе Q и есть какой-то факт вида Q(X)=a, то valueansfV, Q] = [что-то, а]. (42) Кроме того, по определению значение любого вопроса, являюще- гося константой, равно этой константе. Таким образом, если Q=5, то ответом на Q будет 5. Предположим, что программа DEDUCOM должна вычислить Q=g(Qi, , qn), (43) где g — функция и qt— вопросы. Это в сущности ответ на вопрос Q через вычисление ответов на другие вопросы. Этапы вычислений таковы: (1) Может ли интерпретатор Лиспа вычислить Q сразу? Если да, сделать это. Такой случай возможен, если Q — константа или атомный символ. (2) Известна ли функция g интерпретатору Лиспа? Если да, вычислить 71, . . ., qn (возможно, с помощью DEDUCOM) и затем, зная аргументы функции g, вычислить ее. (3) Если не выполняются ни (1), ни (2), заменить Q на Q' и спро сить, известен ли какой-нибудь факт в форме ansupset IQi, Q2], где Qj совпадает с Q' с точностью до замены переменных. Если такой факт известен, перейти к (5), в противном случае к (4). (4) Если Q имеет форму Q'= valueanstV, Q"] ((?' — ответ на Q" для некоторого значения V), заменить Q" на Q' и перейти к (3) (пытаясь ответить на Q"). В противном случае сообщить о неудаче. (5) Рекурсивным образом применить процедуру DEDUCOM для вычисления Q2. Если получен ответ на <?2, он же будет ответом и на Q. В противном случае перейти к (3) и попы-
14.2. Дедуктивный вывод в информационном поиске 467 таться найти новый вопрос Qs. (Заметим, что этот шаг делает DEDUCOM процедурой поиска в глубину (полного перебора) со всеми его недостатками). Чтобы проиллюстрировать эту процедуру, допустим, что в DEDUCOM, помимо сформулированных фактов, включены еще следующие: (а) Если в V есть т элементов X, а в Y есть п элементов V, то в Y есть тХп элементов X. (б) На кисти пять пальцев. (в) На руке одна кисть. (г) У человека две руки. Для того чтобы в DEDUCOM интерпретировались эти факты,, их надо сначала преобразовать в утверждение на Лиспе. Это не совсем просто. Факт (а) типовой. Он записывается так: ansupset [сколько [X, У], ans [V, times [сколько [X, У], сколько [V, K]]]J (44) Пользователи системы DEDUCOM должны выполнить этот пере- вод. Недостаток очевиден. Вопрос в примере выше сколько [палец, человек] (45) также является выражением на Лиспе. Для нахождения ответа на него DEDUCOM осуществляет следующие шаги: (1) Функцию сколько нельзя вычислить сразу, но (44) допускает для (45) замену ans [У, times [сколько [палец, У]; сколько [У, человек]]] (46) (2) Функцию ans также нельзя вычислить сразу, но в соответ- ствии с (39) cdr [valueans[y, times [сколько [палец, У]; сколько\у, человек]]] (47) заменяет (46). (3) cdr — это примитивное выражение Лиспа, которое можно вычислить, если известны аргументы. Для этого нужно вы- числить функцию valueansfy, times [сколько[палец, У]; сколько[У, человек]]] (48) (4) Процедура ответа повторяется, при этом используется факт (он здесь не приведен) о valueans. Наконец, приходим к вопросу сколько [палец, У] (49)
468 Гл. 14. Вопросно-ответные системы Для ответа на него используется факт ansupset [сколько [палец рука]-, 5] (50) который представляет собой запись на Лиспе факта (б). Это сразу приводит к вопросу „5“, являющемуся своим соб- ственным ответом. (5) Переменная V получает значение рука. Следующий вопрос сколько [рука, человек] (51) Ответ на него в соответствии с фактом, подобным (50), есть 2. (6) Подставляя значения, найденные для (49) и (51), видим, что ответ на (48) есть (рука, 10). Ответом на (47), а также на (46) и (45) (исходный вопрос) будет 10. DEDUCOM может отвечать на довольно тонкие вопросы, в том числе и на вопрос, ключевой к сюжету Микадо Гилберта и Салли- вана (Слейгл, 1965). Программа имеет незначительный дефект: она осуществляет перебор в глубину (полный перебор) на И/ИЛИ- графе; однако это можно легко поправить. Гораздо более серьезная трудность связана с тем, что подход DEDUCOM требует, чтобы поль- зователи и устанавливали факты в форме выражений Лиспа, и предвидели, как должен происходить поиск ответа. Другими сло- вами, DEDUCOM — скорее язык программирования для ответов на вопросы, чем программа искусственного интеллекта со свойст- венными ей способностями к рассуждению. Тем не менее подход DEDUCOM заслуживает серьезного внимания в тех приложениях, где пользователь хочет выделить тот или иной тип вывода. 14.2.3. Дедуктивный процесс ответов на вопросы с использованием резолюций Поскольку для ответов на вопросы может потребоваться вывод, неудивительно, что принцип резолюции можно использовать при создании вопросно-ответной системы. Такая возможность впервые была убедительно продемонстрирована Грином и его сотрудниками в программах QA2 (Грин и Рафаэль, 1968) и QA3 (Грин, 1969, а, б, в), которые решали проблему ответов на вопросы после перевода их на язык исчисления предикатов. Как можно было бы ожидать, наибольшая трудность применения принципа резолюции к информационному поиску состоит в том, что число предложений, необходимое для ответа на вопрос, вероятно, намного больше числа предложений, необходимого для постановки математической задачи доказательства теоремы. В результате число предложений, порожденных дедукцией, быстро выходит за рамки любых практических возможностей. Первоначальным решением Грина (Грин, 19696) было разбить базу данных на два множества
14.2. Дедуктивный вывод в информационном поиске 469 предложений: множество активных предложений, доступных де- дуктивной части программы, и существенно большее множество неактивных предложений, представляющих утверждения в базе данных, которые временно были недоступны при доказательстве те- орем. В QA3 пользователь управлял работой программы и на осно- вании своих суждений добавлял предложения в активное множество или удалял их из него. Виноград (1972) развил эту идею, добавив в вопросно-ответную систему утверждение об условиях, при которых предложения можно включать в активное множество. Сами эти условия сформулированы Хьюиттом в языке PLANNER (Хьюитт, 1972), о котором шла речь в гл. 11. В системе QA3 и ее производных и факты, и вопросы выражаются в виде предложений. Это хорошо заметног) для простых форм. Предложение AT (GEORGE, НОМЕ) (52) выражает мысль о том, что George is at home {Джордж дома). Для выражения вопросов могут потребоваться переменные и кванторы. Предложение (Зх) (AT (GEORGE, х)) (53) означает Where is George? {Где Джордж?), при этом утверждается, что существует место х, для которого высказывание (AT(GEORGE, х)) истинно. Чтобы доказать истинность предложения (53), возьмем его отрицание и покажем, что оно ведет к противоречию. Отрицани- ем для (53) будет (Vx) (1 AT (GEORGE, х)) (54) что при соответствующей подстановке противоречит (52) и тем са- мым доказывает истинность (53). В большинстве случаев нам нужно не просто знать, что ответ на наш вопрос существует, но и каков он. Чтобы запоминать ответы, Грин предложил ввести литерал ANSWER. Пусть S — множество фактов, заданных в форме предложений, a Q(xu . . ., xft) — запрос об этих фактах. Запрос тоже имеет форму предложения и содержит k переменных. Ответом на Q служит такое множество А={а!, . . ., ak} значений переменных, что Su{Q(fli . . ak)} выполнимо. Если А существует, то множество Su{ . ., а*)} будет невыпол- нимо. А можно определить, найдя подстановочный частный случай, необходимый для опровержения Su{nQ(xi> • • •> xft)}. Можно ре- зюмировать эту достаточно формальную ситуацию, сказав, что правильный ответ является контрпримером к предположению о Ч Возможно, читатель, который не достаточно хорошо усвоил идею доказа- тельства теорем на основе принципа резолюции, захочет перечитать гл. 12.
470 Гл. 14. Вопросно-ответные системы том, что правильного ответа не существует. Остается задача постро- ить контрпример. Грин предложил с помощью введенного им пря- мого механизма — литерала ANSWER — запоминать необходимые подстановочные частные случаи. С тех пор были разработаны более эффективные методы запоминания решающих подстановок (Лак- хэм, Нильсон, 1971), но здесь трудно всех их описать. Первый шаг метода литерала ANSWER — добавить специаль- ный литерал ANSWER (хь . . ., хк) к литералу “]Q(xi, . . ., xft): (Q (xi> • • •, xk)> ANSWER (х±, ..., хк)) = В*. (55) К множеству S U {В} применяется резолюция, при этом использу- ется стратегия несущего множества с {В} в качестве несущего множества. Если ответ существует, то резолюция множества S U { • • •, xk)} когда-нибудь выведет предложение (Q(an ..., аА)), которое затем разрешится с другим предложением либо из S, либо из множества, выведенного из исходного, и это даст пустое предложение ( ). Если мы проводим ту же дедукцию, но начинаем с S(J{B*}, то вместо ( ) получаем (ANSWER (alt . . ., ак)), что определяет нужную подстановку. Рассмотрим пример: S={(MAN (SMITH)), SMITH IS A MAN <Смит человек> ALL MEN ARE ANIMALS <Bce люди животные> (1MAN (х), ANIMAL (х))} (56) Вопрос: Is there an animal? (Эх) (ANIMAL (x)) (57) (58) IS THERE AN ANIMAL? Существует ли животное?> Найдем отрицание для (57) и добавим литерал ANSWER: ( “] ANIMAL (х), ANSWER (х)) Это следует понимать как „Либо нет животного, либо есть ответ". Ответ дает последовательность (1) ("] ANIMAL(x), ANSWER(x)) (2) ("|MAN(x), ANIMAL (х)) (3) (IMAN(x), ANSWER (x)) (4) (MAN (SMITH)) (5) (ANSWER (SMITH)) Из (58) Из (56) Резольвента (1) с (2) (59) Из (56) Резольвента (3) с(4) после унификации Ответ на вопрос (57) получен. Формально значениями переменных в литерале ANSWER являются значения, которые могут принимать связанные с квантором существования переменные исходного мно- жества предложений, чтобы составить контрпример.
J4.2. Дедуктивный вывод в информационном поиске 471 Один из ключевых моментов при ответах на вопросы с исполь- зованием принципа резолюций — правильное удаление переменных, связанных с квантором существования. Напомним, что при обсу- ждении кванторов в гл. 12 было показано, что это осуществляется с помощью сколемовских функций. Грин (19696) отмечает, что здесь могут возникнуть трудности. Пусть множество аксиом (фактов на входе) состоит из единственного утверждения (Уг) (Зщ) (Р (г, ку)) (60) и вопрос имеет вид (Уу) (Зх) (Р (у, х)) (61) Отрицание вопроса, переход к сколемовским функциям и добавле- ние литерала ANSWER порождают предложения Ср (P(z, хДг)) Bp ("]P(s2, х), ANSWER (х)) где Sj (г) и s2— сколемовские функции. Заметим, что $2— функция без переменных, т. е. константа. Разрешая два предложения (62), получаем (ANSWER (s, (s2))) (63) Буквально (63) означает, что существует такая константа s2, что ее функции Si (s2) есть ответ. Для пользователя это имеет смысл только в случае, если известно происхождение сколемовских функций. QA3 обеспечивает это, позволяя пользователю запрашивать дисп- лей о предложении, участвовавшем в построении конкретной ско- лемовской функции. Таким образом, видя (63), пользователь может спросить о происхождении функции Sj или s2, приведшей к Ci или к Bi в (62). Чтобы показать, как это сказывается на процессе ответа на вопросы, Грин приводит следующий пример. Определим P(u,v) как Человек и находится на работе и v—его стол. Задача такова: (Vz) (3u) (Р (z, и)) У каждого человека на работе (64) есть стол. (1) Р(г, sjz)) То же самое, но со сколемовскими функциями. Для каждого человека у Si(i/)—его стол. (2) (Vу) (Зх) (Р(у, х)) Существует ли место, где каждый ра- ботает?
472 Гл. 14, Вопросно-ответные системы (3) ( “j Р (з2, х)) Отрицание для (2), кванторы удалены. Существует некий человек з2, не име- ющий места для работы. (4) ANSWER ($1(з4)) Место, где работает s2,— это его стол. Умея соображать, можно поставить много вопросов в формате принципа резолюции. Вопросы „сколько" можно также сформули- ровать с использованием кванторов и обрабатывать механизмами, подобными тем, что были в примере на DEDUCOM. Например, Если в х есть т элементов у, а в у есть п элемен- тов г, то в х есть тхп элементов выражается в виде ( ~]НР(х, у, т), 1 HP (г/, г, п), HP (х, z, TIMES (/п, п))) (65) где HP (а, Ь, с) понимается как a has с b's as parts {а содержит с частей типа в> и TIMES (т, п) обозначает произведение тХп. Вопрос How many hands has a man? {Сколько рук у человека?) записывается как (Эм) (HP (MAN, HANDS, n)) (66) что означает: „существует ли такое п, что можно вывести HP (MAN, HANDS, и)? “ Чтобы продемонстрировать возможность ответа на этот нетри- виальный вопрос, Грин (1969а) применил QA3 к примерам, взятым из более специализированной системы Купера (1963) для ответа на вопросы о химических соединениях. Ее база данных состояла из 38 фактов либо из химии (например, магний — металл), либо относящихся к равенству и подстановке (например, симметрия ра- венства записывается в виде (~]EQ(x, у), EQ(y, х)). Примером про- верки простого вопроса служит ответ на вопрос Is there a white oxide? {Существует ли окись белого цвета?) Ответ таков: (1) О OX IDE (х), ~] WHITE (х), ANSWER (х)) Отрицание вопроса (67) (2) (OX IDE (МО)) Факт: окись магния (МО) является окисью
14.2. Дедуктивный вывод в информационном поиске 473 (3) (1 WHITE (МО), ANSWER (МО)) Резольвента (1) с (2) (4) (WHITE (МО)) Факт: МО белая (5) (ANSWER (МО)) Программа QA3 ответила на все 23 вопроса, которые задал Ку- пер с целью продемонстрировать свою специализированную систе- му, в том числе и на более трудные, чем в нашем примере. Грин (1969в) и Нильсон (1971) распространили метод резолюции из вопросно-ответной области на решение задач в пространстве сос- тояний. Заметим, что это отличается от применения STRIPS (гл. 11), где резолюция используется для доказательства факта о конкрет- ном состоянии. Основная идея такого применения — ввести аксио- мы, устанавливающие, что одно состояние можно достичь из другого с помощью оператора. Рассмотрим предложение (-|P(s), Q(/(s))), (68) где Р и Q — свойства состояний. (68) можно прочесть так: Если состояние s обладает свойством Р, то состояние, в которое перейдет система в результате применения опе- ратора f к s, будет обладать свойством Q. В другой формулировке участвуют аксиомы вида (-]Р(з), Q(/(fll,s))). (69) Это интерпретируется так: Если состояние s обладает свойством Р, то результат применения оператора а, к состоянию s обладает свойст- вом Q. Благодаря этим механизмам система QA3 решила ряд задач в про- странстве состояний, в том числе поиск на графе, задачу о „Ханой- ской башне“ и даже порождение простых программ на Лиспе. Тем не менее большинство работающих в этой области придерживаются того мнения, что решение задач, основанное только на исчислении предикатов, очень ограничено вследствие грубой постановки задачи и тенденции систем доказательства теорем, применяющих принцип резолюции, порождать при оперировании с большой базой данных необозримое множество предложений. Аксиоматизация задачи са- ма по себе является искусством. В качестве примера Грин приводит задачу о „Ханойской башне“. Существует много логически коррект- ных аксиоматизаций этой задачи, но лишь немногие из них дают быстрое решение. Грин (1969а) сообщает, что для аксиоматизации фактов Купера, касающихся элементарной химии, требуется около двух часов, хотя, как показывают примеры (67), понять большин- ство этих фактов легко. Это еще один случай, когда искусственный интеллект отступает из-за нашей неспособности находить представ-
474 Гл. 14. Вопросно-ответные системы ления. Для понимания от нас требуется и выбор правильной модели ситуации, и умение управлять этой моделью. Резолюция, как боль- шинство методов решения задач, направлена на достижение лишь второй цели. 14.2.4. Контекстно-ориентированное доказательство теорем Мы неоднократно обращали внимание на то, что главный недо- статок резолюции — быстро возрастающее, до астрономических чисел, количество порождаемых предложений. В ответах на во- просы это становится очень серьезной трудностью, потому что число предложений в исходной базе данных велико. Фактически примеры Грина были возможны только благодаря тому, что требуемые вы- воды оказались очень короткими. Один из способов не дать дедук- тивным программам тратить время на ненужные для доказательст- ва предложения — это ограничить резолюцию предложениями, „имеющими отношение" к доказательству или похожими на них. Рассмотрим классическую дедукцию: Все люди могут ошибаться. Сократ человек. Поэтому Сократ может ошибаться. Условия выражаются предложениями (1 ЧЕЛОВЕК(х), МОЖЕТ ОШИБАТЬСЯ^)) (ЧЕЛОВЕК (СОКРАТ)) и вопрос Может ли Сократ ошибаться? принимает форму (1 МОЖЕТ ОШИБАТЬСЯ (СОКРАТ)) Необходимые выводы таковы: (1) ЧЕЛОВЕК (СОКРАТ)) Аксиома (2) ("] ЧЕЛОВЕК^), МОЖЕТ Аксиома ОШИБАТЬСЯ(х)) (3) (МОЖЕТ ОШИБАТЬСЯ (СОКРАТ)) Резолюция (1) с (2) (4) (1 МОЖЕТ ОШИБАТЬСЯ (СОКРАТ)) Отрицание вопроса (5) ( ) Резолюция (3) с (4) Допустим, что мы загрузили память другими, несущественными фактами: Сократ грек, он женат на Ксантиппе, он республиканец, ему не нравится болиголов и т. д. Как нам не дать программе, при- меняющей принцип резолюции, тратить время на эти посторонние утверждения? (70) (71) (72) (73)
14.2. Дедуктивный вывод в информационном поиске 475 Решение Грина состояло в том, чтобы позволить человеку, кон- тролирующему процесс, выделить кандидатов на участие в резолю- ции. Хотя это, быть может, очень практично, здесь нет никакого достижения в смысле искусственного интеллекта. Другой подход, который мы называем контекстно-ориентированным доказательст- вом теорем, принадлежит Винограду (1972). Он развивает более ранние работы Хьюитта (1969, 1970). Этот метод мы уже исследовали как механизм планирования (гл. 11); теперь обсудим его приложе- ния в вопросно-ответной системе. Для того чтобы понять, что такое контекстно-ориентированное доказательство теорем и решение задач, полезно рассмотреть не зависящую от контекста (содержания) стратегию несущего множест- ва для резолюции. Стратегия несущего множества исходит из того, что если S — невыполнимое множество предложений и в нем со- держится такое подмножество С, что S — С выполнимо, то сущест- вует вывод пустого предложения ( ) из S, причем каждый шаг вывода содержит резолюцию, в которой одно из родительских пред- ложений либо принадлежит С, либо выводится резолюцией из предложения, принадлежащего С (подробности см. в гл. 12). До- казательство работоспособности этой стратегии не зависит ни от какой „реальной" интерпретации предложений множества S. Ее обоснованность определяется только фактами из логики, а не интер- претацией базы данных. В любом реальном приложении дедуктивного ответа на вопросы будут участвовать очень много стратегий, работающих для кон- кретной базы данных. Рассмотрим довольно причудливый пример. Допустим, что нас попросили написать процедуру дедуктивного ответа на вопросы для юристов, занимающихся налогами. Им часто приходится отвечать на вопрос Обладает ли клиент привилегированным налоговым статусом? В качестве догадки можно попытаться ответить на вопрос Этот клиент—фермер? и воспользоваться ответом на второй вопрос для ответа на первый. Точно так же, чтобы доказать, что некто является фермером, мы могли бы задать вопросы о его экономической деятельности, а не о происхождении. Такие стратегии контекстно-ориентированы. В реальных приложениях можно было бы ожидать, что в процессе вывода они играют важную роль. Нам нужно дать пользователю возможность вводить контекстно-ориентированные стратегии в программу, осуществляющую вывод. Именно так поступил Вино- град, используя язык PLANNER Хьюитта (1972), вкратце описан- ный в гл. 11 при обсуждении планирования в процессе решения задач. Дело в том, что планирование точно так же можно применить и при ответах на вопросы. Таким образом, в нашем примере с на-
476 Гл. 14. Вопросно-ответные системы логами мы можем использовать PLANNER, чтобы получить ука- зания провести поиск в базе данных с целью установить, является ли клиент фермером, ветераном, вдовой и т. д. Другая особенность языка PLANNER, очень полезная для работы с задачами в простран- стве состояний, состоит в том, что доказательство теоремы можно рассматривать как команду, которую нужно выполнить, а успешное доказательство можно интерпретировать как приказание сделать определенные утверждения. Например, если можно доказать, что Сократ — мужчина и что он женат на Ксантиппе, то „разумный" человек включит в свою базу данных информацию о том, что Ксан- типпа женщина. Программа PLANNER может таким же образом расширять свою базу данных. DEDUCOM также дает пример программы, позволяющей поль- зователю выбирать стратегию поиска. Принципиальные различия между проектами Винограда и Слейгла (более ранним) в том, что PLANNER как язык гораздо удобнее для заданий, чем Лисп. Воз- можно, главный результат работы Винограда в том, что он смог продемонстрировать метод перевода с английского языка в про- граммы PLANNER. Об этом пойдет речь в гл. 15. К тому же Лисп оказался с этой точки зрения плохим языком. Это важно потому, что если мы собираемся опираться на контекстно-ориентированные стратегии, пользователь должен иметь возможность формулировать их на языке, естественном для него. Программы „понимания" будут не слишком перспективными, если их пользователям надо будет сначала стать специалистами в языках PLANNER, Лисп, MAT- CHLESS, IPL-V или в любом из множества других языков програм- мирования для искусственного интеллекта. 14.3. Понимание без использования логики 14.3.0. Психологическое моделирование *) Если „понимающей" программе с полной эффективной системой вывода предъявить противоречивое множество фактов, то ее выводы будут вызывать сомнения. Допустим, что, имея вопрос и противоре- чивую базу данных (фактов), программа QA3 вывела пустое пред- ложение ( ); в этом случае нельзя установить, вызвано это проти- воречием внутри базы данных или же противоречием между базой данных и отрицанием вопроса. Поверхностные наблюдения пока- зывают, что людей как будто не беспокоят очевидные противоре- чия, пока они не становятся в каком-то смысле слишком явными. Много людей, кажущихся вполне разумными, избегают есть яйца и пирожные, потому, что они „вредны для здоровья", но курят и употребляют спиртные напитки, хотя это наносит здоровью го- *) Этот раздел написан специально для русского издания.
14.3. Понимание без использования логики 477 раздо больший ущерб. В более тонких случаях, в частности в по- литике, иногда встречаются примеры противоречивого поведения, хотя участники событий считаются вполне разумными. Ричард- сон заметил, что в хартии Объединенных Наций фраза „миролюби- вые нации" употребляется и по отношению к тем национальным группам, которые участвовали в подавляющем большинстве войн на земном шаре! Как это происходит? Видимо, объясняется это тем, что челове- ческие рассуждения локально последовательны, хотя глобально могут оказаться несостоятельными. Под этим мы понимаем, что некоторые факты связаны в конкретном контексте и действие со- вершается до тех пор, пока оно согласуется с фактами, относящи- мися к этому контексту. Легко представить себе человека, имеющего следующие убежде- ния: (1) Алкоголь вредно влияет на работу печени. (2) Не следует употреблять пищу, которую нельзя переварить. (3) На грузинских пирах принято пить вино. (4) Если вы гостите в чужом краю, вы должны следовать мест- ным обычаям. Эти убеждения противоречивы, поскольку утверждения (1) и (2) приводят к запрещению пить вино при любых обстоятельствах (т. е. они универсально истинны), в то время как (3) и (4) подразу- мевают, что при определенных условиях употребление вина ока- зывается не только допустимым, но и желательным. Несмотря на эту противоречивость, немногие из нас станут утверждать, что че- ловек, принимающий все четыре высказывания, неразумен. Система продукций может оперировать рассуждениями такого типа, ибо продукция не есть правило вывода. Можно представить себе программу, похожую на PROTOSYNTHEX, GPS или FDS, которая могла бы с помощью фактов (1) — (4) вывести Д должен пить вино сегодня вечером или Д не должен пить вино сегодня вечером в зависимости от того, начинает она с фактов (1) — (2) или (3) — (4). Предпринимались попытки промоделировать „психологические" рас- суждения подобного типа. Для примера приведем программу Абель- сона и Рича (1969), моделирующую „нормальное рассуждение". Известны аналогичные программы моделирования рассуждений психических больных (Колби и Смит, 1969). Обзор более ранних работ по психологическому моделированию личности сделал Лоэ- лин (1969). Основная структура программы — „молекула импликаций", мно- жество связанных в контекст утверждений. Рассмотрим молекулу А делает X чтобы получить Y, состоящую из утверждений А ДЕЛАЕТ X X ВЫЗЫВАЕТ Y А ХОЧЕТ Y (74)
478 Г л. 14. Вопросно-ответные системы Сами эти утверждения очень похожи на семантические формы со- бытий в PROTOSYNTHEX. (74) можно считать молекулярной формой, которая должна быть конкретизирована определением зна- чений ее переменных. Одним из подстановочных частных случаев (74) могло бы быть ДЖОН ЗАНИМАЕТСЯ СПОРТОМ СПОРТ ВЫЗЫВАЕТ ВОСХИЩЕНИЕ ЖЕНЩИН (75) ДЖОН ХОЧЕТ ВОСХИЩЕНИЯ ЖЕНЩИН Программа Абельсона и Рича показала, что раскрытие молекулы импликаций может привести к довольно сложному мышлению, „ра- зумному“ в том же смысле, что и наш пример с употреблением вина. Чтобы убедиться в этом, проиллюстрируем, как их программа могла бы проводить рассуждение в одном из эпизодов знаменитого романа Льва Толстого „Война и мир" х). Эпизод, который мы выбрали, взят из главы „1805". Герой, Пьер, только что получил огромное на- следство своего отца, графа Безухова. Это привлекло внимание нуждавшегося в деньгах князя Василия, аристократа, принадле- жащего царскому двору. Мы продемонстрируем, как программа Абельсона и Рича могла бы моделировать рассуждения князя Василия. Программа начинает с множества форм молекул импликаций и множества исходных представлений (посылок). Для нее также тре- буется словарь, указывающий допустимые подстановки. В этом случае ей понадобились бы такие термы, как ПЬЕР БЕЗУХОВ — ПОДМНОЖЕСТВО ЛЮДЕЙ Я — ПОДМНОЖЕСТВО ЛЮДЕЙ предложение руки дочери — подмножество свойства относиться дружески наследовать эквивалентно обладать Снова обратим внимание на сходство с утверждениями в PROTO- SYNTHEX, несущими семантическую информацию. Программа воспринимает утверждения и старается согласовать их с утвержде- ниями, принятыми ранее в качестве посылок. Утверждение прини- мается, если с его помощью можно построить конкретную молекулу импликаций, присоединяя его к другим, принятым ранее утвержде- ниям. Чтобы показать, как все это работает, подумаем о том, как программа объяснила бы решение князя Василия отдать свою кра- сивую и умную дочь Элен замуж за неуклюжего Пьера. Допустим сначала, что в князе Василии (или, точнее, в модели князя Василия) содержится молекула „способности приобретать" х) Эти примеры составлены автором, а не Абельсоном и Ричем.
14.3. Понимание без использования логики 479 ЧЕЛОВЕК(Д) ВЛАДЕЕТ БОГАТСТВОМ ЧЕЛОВЕК(В) ОТНОСИТСЯ ДРУЖЕСКИ К ЧЕЛОВЕКУ(А) (76) ЧЕЛОВЕК(В) ПОЛУЧАЕТ БОГАТСТВО Программа исследует приемлемость утверждения КНЯЗЬ ВАСИЛИЙ ПРЕДЛАГАЕТПЬЕРУ РУКУ ДОЧЕРИ (77) Справившись по словарю, найдем, что (77) — подстановочный ча- стный случай средней строки в (76): князь Василий и Пьер — это ЧЕЛОВЕК(В) и ЧЕЛОВЕК(А) соответственно, и предложение ру- ки дочери — несомненный пример дружеского отношения (хотя Толстой и показывает позже, что Элен не была хорошей женой). Задача программы теперь — найти другие посылки, чтобы завер- шить (76) такой же подстановкой переменных. В частности, для первой строки теперь требуется посылка, эквивалентная ПЬЕР ВЛАДЕЕТ БОГАТСТВОМ (78) Очевидно, алгоритм, похожий на унификацию2), позволит про- грамме сделать это, если есть факт ПЬЕР ПОЛУЧИЛ НАСЛЕДСТВО БЕЗУХОВА (79) В этом процессе, однако, общий терм БОГАТСТВО в качестве част- ного случая принял значение НАСЛЕДСТВО БЕЗУХОВА, кон- кретный тип богатства. Поэтому третья строка в (76) теперь изме- нилась: КНЯЗЬ ВАСИЛИЙ ПОЛУЧАЕТ НАСЛЕДСТВО БЕЗУХОВА (80) Проанализируем эти преобразования. КНЯЗЬ ВАСИЛИЙ заменил собой ЧЕЛОВЕКА(В) в результате первоначального сопоставления с (77), а НАСЛЕДСТВО БЕЗУХОВА заменилось на БОГАТСТВО при сопоставлении с (79). Если допустить, что утверждение (80) по роману приемлемо, то молекулу можно считать завершенной. Это ПЬЕР ОБЛАДАЕТ НАСЛЕДСТВОМ БЕЗУХОВА КНЯЗЬ ВАСИЛИЙ ПРЕДЛАГАЕТ РУКУ ДОЧЕРИ ПЬЕРУ (81) КНЯЗЬ ВАСИЛИЙ ПОЛУЧАЕТ НАСЛЕДСТВО БЕЗУХОВА Поскольку молекула завершена, утверждение действия (77) полагается приемлемым. Оно было единственно приемлемым, ибо два другие утверждения в (81) уже считались приемлемыми и не требовали доказательства. Предположим, что программа не может найти посылку, необходимую для расширения молекулы, которую она стремится завершить. В таких случаях программа порождает х) Абельсон н Рич не приводят подробностей.
480 Гл. 14. Вопросно-ответные системы нужное предложение и пытается поставить его в соответствие дру- гой молекуле. Если это возможно, предложение считается „предпо- ложительно правильным" и принимается. Допустим, что модель князя Василия „не знала", что Пьер обладает наследством Безухова, т. е. утверждения (79) не было в базе данных. Для завершения рас- суждения все еще будет нужен какой-нибудь подстановочный част- ный случай для (78). Мы все-таки предположим, что система посы- лок на самом деле содержала факты ГРАФ БЕЗУХОВ ОБЛАДАЕТ НАСЛЕДСТВОМ БЕЗУХОВА ГРАФ БЕЗУХОВ УМИРАЕТ (82) ПЬЕР—СЫН ГРАФА БЕЗУХОВА и в программе есть „молекула наследования" ЧЕЛОВЕК(Д) ОБЛАДАЕТ БОГАТСТВОМ ЧЕЛОВЕКИ) УМИРАЕТ ЧЕЛОВЕК(В)—СЫН ЧЕЛОВЕКА(А) (83) ЧЕЛОВЕК(В) НАСЛЕДУЕТ БОГАТСТВО Программа может использовать факты (82) и молекулу (83) для вывода истинного заключения (79), а затем использовать (79), как и ранее, для определения приемлемости утверждения (77), снова позволяя князю Василию предложить женитьбу! В общих чертах этот тип рассуждения таков: Д не могу поверить г, если не поверю х, но учитывая у, поверю х, поэтому г должно быть правдой. Такое рассуждение может не понравиться логику, хотя оно не является строго нелогичным; однако о нем нельзя сказать, что оно не свойственно человеку. 14.3.1. Иллюзия понимания при разговоре с ЭВМ В заключение этой главы хотелось бы прокомментировать одну группу программ, которые, преимущественно благодаря своему шу- точному характеру, обеспечили большую популярность тому, как вычислительные машины понимают людей. Мы имеем в виду про- граммы ELIZA и DOCTOR, созданные Вейценбаумом (1966, 1967). Все такие программы предназначены для работы в интерактивном режиме. Вот пример беседы с ELIZA (предложено Вейценбаумом, 1967): Человек: Вы не очень настойчивы, но я думаю, что Вы не хо- тите, чтобы я это заметил.
14.3. Понимание без использования логики 431 ЭВМ: ЧТО ЗАСТАВЛЯЕТ ВАС ДУМАТЬ, ЧТО Я НЕ ОЧЕНЬ НАСТОЙЧИВА. Человек: Вы не спорите со мной. (84) ЭВМ: ПОЧЕМУ ВЫ ДУМАЕТЕ, ЧТО Я НЕ СПОРЮ С ВАМИ. Человек: Вы боитесь меня. ЭВМ: ДОСТАВЛЯЕТ ЛИ ВАМ УДОВОЛЬСТВИЕ СЧИТАТЬ, ЧТО Я ВАС БОЮСЬ. Такой разговор можно поддерживать в течение некоторого вре- мени. Работа программы заключается в том, что она просматривает данные на ее входе в поисках стандартного набора ключевых слов вместе с вводимым текстом и затем производит какое-то действие, связанное с найденным ею набором. В большинстве случаев про- грамма просто переставляет слова входного текста и печатает их. Например, правило Я ДУМАЮ, ЧТО * X * — ПОЧЕМУ ВЫ ХОТИТЕ СЧИТАТЬ, ЧТО * X * (85) интерпретируется так: „Ищите во входном тексте слова Я ДУМАЮ, за которыми следует любая цепочка букв. Пусть найдена цепочка «X*. Выведите слова ПОЧЕМУ ВЫ ХОТИТЕ СЧИТАТЬ и затем «Х*.“ Программа, которая может сделать это, способна проявить тот же тип понимания, что и политик или администратор, в ответ на просьбу говорящий: „Да, я слышу, Вы говорите, что...“. Такие лю- ди могут приобрести репутацию мудрецов. Прежде чем разоблачать программу ELIZA как ловкую шутку, нам следует обсудить вопросы, которые она поднимает. Процесс сопоставления схем может оказаться очень сложным. В самом деле, ведь это основа анализа языка. Вейценбаум (1966) приводит ряд примеров, показывающих, что даже если ELIZA не может взяться за сопоставление всех схем, возможных в английском языке, она может работать с нетривиальным подмножеством. Кроме того, нет причин ограничивать нашу операцию с набором ключевых слов лишь печатанием его вариации. В частности, от ЭВМ можно потребовать произвести вычисления. В следующем примере (также взятом из статьи Вейценбаума, 1967) демонстрируется применение программы ELIZA с простыми процедурами арифметических действий и запо- минания: Вход: Площадь круга равна пи умноженному на радиус круга возведенный в квадрат. Площадь сферы равна пи умноженному на диа- метр шара возведенный в квадрат. 16 э Хант
482 Гл. 14. Вопросно-ответные системы Площадь квадрата равна стороне квадрата возве- денной в квадрат. Диаметр объекта равен двум радиусам объекта. (86) Радиус мяча равен 10. Какова площадь поверхности мяча? Программа: ДОПУЩЕНИЕ ЧТО МЯЧ ЭТО КРУГ НЕ- ПРОТИВОРЕЧИВО ПРОДОЛЖИТЬ ЛИ РАБОТУ Вход: Нет. Программа: ДОПУЩЕНИЕ ЧТО МЯЧ ЭТО ШАР НЕ- ПРОТИВОРЕЧИВО ПРОДОЛЖИТЬ ЛИ РАБОТУ. Вход: Да. Программа: ЭТО 1256,6359. Разумно ли это вычисление? Является ли процесс построения разум- ного ответа чем-то большим, чем сопоставление схем, за которым производится вычисление? Что касается нас, то мы не решаемся назвать работу программы ELIZA примером понимания, но нас смущает то, что мы не можем объяснить наши колебания. Возмож- но, суть этого высказал Вейценбаум в собственном анализе своей работы: „Когда х говорит, что у понял его, х делает некоторое пред- положение о внутренних процессах у. Это предположение часто строится на очень слабых основаниях".
Глава 15 ПОНИМАНИЕ ЕСТЕСТВЕННОГО ЯЗЫКА 15.0. Постановка задачи 15.0.1. Введение Возможности большей части существующей вычислительной техники используются не полностью из-за того, что очень трудно написать адекватные программы для задач, которые ЭВМ вполне под силу. Если наши программы существенно используют систему команд какой-нибудь машины, то возможности этой ма- шины реализуются полнее, но программы становятся настолько сложными, что в них трудно разобраться. Если мы пишем про- граммы на языках, удобных для высказываний, связанных с опре- деленными типами задач („проблемно-ориентированный" подход языков Фортран, Кобол и Бейзик), мы, вообще говоря, теряем возможность произвести все вычисления, на которые способна машина. На создание языков для абстрактных машин, которые мож- но было бы реализовать на существующих ЭВМ, было потрачено мно- го усилий. Этот подход позволил бы программисту сохранить де- тальный контроль над вычислениями, но не требовал бы от него изу- чения техники. Алгол и Алгол 68—наиболее яркие примеры. По не вполне понятным причинам эти языки трудно освоить, и действи- тельно они предоставляют программисту возможности, которыми он будет в состоянии воспользоваться в полной мере, только если до- статочно много знает об ЭВМ. В этой главе мы рассмотрим совсем другой подход. Возможно, главным препятствием, мешающим рас- пространить вычисления на ЭВМ за пределы традиционной при- кладной математики и расчетов, является не наша неспособность создать язык, предоставляющий в распоряжение человека все ре- сурсы машины, а неспособность перейти от человеческого естест- венного языка к внутренним машинным операциям. В гл. 2 мы го- ворили о взаимосвязи между конструкцией машины и моделью фор- мального языка и показали, как они помогают нам понимать ра- боту вычислительных машин. В настоящей главе мы снова обра- 16*
484 Гл. 15. Понимание естественного языка тимся к формальным языкам, но теперь особое внимание уделим при- сущей им ограниченности. Затем опишем новые подходы, в принципе более перспективные. К сожалению, эти новые концепции языка не свободны от своих собственных ограничений. То, что можно осу- ществить в принципе, может не сразу стать практикой. 15.0.2. Что такое язык? В гл. 2 и 7 языки определялись как множества цепочек, которые удовлетворяют некоторому критерию, определяющему правиль- ность их построения. Вначале предметом нашего рассмотрения была конструкция машины, способной установить, удовлетворяет ли конкретная цепочка символов этому критерию, хотя и отмечалось, что на абстрактном уровне такое распознавание эквивалентно рас- познаванию последовательности выполнимых (вычислительной ма- шиной) команд. Рассмотрим теперь использование языка при об- щении. Язык в этом случае считается системой символов для описа- ния событий во внешнем мире. Против такого определения сущест- вует ряд философских возражений. Ясно, что так мы пользуемся языком, описывая бейсбольную игру или яблочный пирог, но не ясно, насколько это определение удовлетворительно для более абстрактных понятий, таких, как любовь, ревность, свобода. Пока мы не будем на это обращать внимание. Чтобы вести любую пред- видимую беседу с ЭВМ, понятия языка как модели физического мира, несомненно, достаточно. Символы языка относятся либо к объектам внешнего мира, их свойствам, либо отношениям между двумя или более объектами. Сами эти отношения также можно описать. Фразы большой, красный ящик-, Джон любит Мэри (1) описывают объекты и отношения. Во многих ситуациях языковые высказывания можно интерпретировать как утверждения о состоя- нии мира. Следовательно, второй пример в (1) можно рассматривать как атомное утверждение ЛЮБИТ (ДЖОН, МЭРИ) (2) Далее, интуитивно ясно, что нужно уметь осуществлять связь между лингвистическими высказываниями и множеством приемлемых для ЭВМ выражений, которое образует внутреннее машинное описа- ние внешнего мира. Аналогично мы можем рассматривать вопросы как утверждения о том, что определенное предложение совместимо или нет с предложениями, описывающими текущее состояние мира. Императивы можно в свою очередь интерпретировать как команды скорректировать внутреннюю модель мира. В гл. 14 предлагались различные способы построения внутренних машинных моделей ситу- аций в реальном мире. Если известен также способ связать утвер-
15.0. Постановка задачи 485 ждения о некоторых ситуациях на естественном языке с пред- ставлением их в ЭВМ, то можно претендовать на то, что для неко- торой темы разговора мы добились понимания машиной языка. Вопрос о понимании имеет два аспекта. Существуют ли ситуации^ которые можем обсуждать и мы, и модель в ЭВМ, но для которых мы не можем установить связь между содержанием разговора и мо- делью? Существуют ли ситуации, которые мы можем разумным обра- зом обсуждать на естественном языке, но для которых мы не можем построить внутреннюю модель? Проблема состоит в том, что с помощью языка можно выражать очень сложные отношения, в том числе отношения между отноше- ниями. Язык также позволяет трактовать отношение как то, что либо определяется, либо обсуждается в связи с другими вещами. Чтобы достичь такой сложности выражения, язык дает правила по- рождения цепочек символов; в них порядок символов в цепочке указывает на отношение между объектами, соответствующими этим символам. Попросту говоря, мы должны уметь разобраться в струк- туре языковой цепочки; одного знания о том, какие символы в нее входят, недостаточно. Только поняв эту структуру, мы можем опре- делить, что Джон любит. Мэри (3) и Мэри любит Джона — цепочки с бесспорно различными значениями. Теперь рассмотрим понимание с точки зрения ЭВМ. В префикс- ной записи каждое высказывание имеет форму fax, аг, . . ап, (4) в которой первый член является функцией п переменных, принимаю- щей в качестве значений термы, а ах, . . ап— ее аргументы. Так, —ху (5) означает, что надо вычесть терм в позиции у (который после при- своения значения должен быть числом) из терма в позиции х (та- кже число после присвоения значения); в конечном счете получится число, которое может в качестве терма входить в список аргументов какой-нибудь другой функции. Естественно, что „понимание" ут- верждения типа (5) достигается в три этапа. На синтаксическом этапе мы узнаем, что первый символ в (5) — это функция двух пе- ременных, и находим термы, являющиеся ее аргументами. На се- мантическом этапе мы замечаем, что эта операция представляет со- бой вычитание, и определяем все конкретные шаги (например, оценку подвыражения), нужные для нахождения значений термов х и у. На этапе реализации, или вывода, мы в точности выполняем
486 Гл. 15. Понимание естественного языка команды машины (запоминания, вызовы, сложения, отрицания), необходимые для выполнения физических операций, соответствую- щих этой арифметике. Третий этап связан с ЭВМ, в то время как первые два существуют абстрактно. Идеальный язык программиро- вания на ЭВМ должен быть достаточно мощным, чтобы на нем можно было говорить о тех ситуациях в реальном мире, для которых жела- тельна вычислительная модель, и это позволяет осуществить эф- фективный трехэтапный перевод для работы машины. Значитель- ные усилия исследователей в области вычислительных наук на- правлены на создание для каждого из этих этапов более сложных управляющих программ, так что машины смогут работать с еще более мощными языками программирования. Эти усилия приносят несомненную пользу. Они вели и сейчас ведут к „более совершенным" языкам для вычислений, особенно если „более совершенные" относится к языкам, в которых пользо- ватель может осуществлять более полный контроль работы машины. С другой стороны, для проблемы выражения очень сложных вы- числений на ЭВМ этот подход может оказаться очень ограниченным1). Нельзя подготовить вычислительную модель для обработки ее на ЭВМ до тех пор, пока человек не установил ее для самого себя, ибо это в любом случае должно быть первым шагом программирова- ния. Очень возможно, что некоторые задачи можно сформулировать только на естественном языке. Однако вычислительная машина вообще нужна для того, чтобы люди ставили задачи перед ней. Если все-таки существуют задачи, которые можно сформулировать лишь на естественном языке, то надо найти способ, позволяющий ЭВМ „понимать" естественный язык. Вряд ли это можно сделать с помощью трех раздельных этапов синтаксис — семантика — пони- мание, хотя бы потому, что естественный язык так анализировать нельзя. Конечно, это предположение, а не факт. Удовлетворительной теории человеческого языка пока нет, и мы еще не готовы предло- жить ее. Наш довод основан на почти анекдотичных наблюдениях. Наиболее очевидное из них то, что целый ряд очень талантливых людей пытался применить к естественному языку синтаксический и семантический анализ, но большого успеха они не достигли. Это озна-. чает, что либо синтаксическая и семантическая программы неверо- ятно сложны (не очень-то правдоподобно, так как слишком уж много людей успешно учатся хорошо владеть языком), либо этот подход несостоятелен. Но почему синтаксическо-семантический под- ход должен быть плохим методом анализа естественного языка, если он так хорошо зарекомендовал себя при анализе вычислитель- г) Некоторые дополнительные доводы против традиционного подхода к языку ЭВМ содержатся в статье Минского (1970).
15.0. Постановка задачи 487 ных языков? Наш ответ на это таков: при создании вычислитель- ных языков учитывались вопросы как выражения задачи, так и выполнения ее машиной. Развитие естественного языка проходило в устройствах, совершенно не похожих ни на одну сегодняшнюю вычислительную машину. Природа этого устройства определила характер языка. Мы можем воспринимать только некоторый (до сих пор точно не определенный) класс языков (Леннеберг, 1967). Доказательства, касающиеся способностей машин Тьюринга вос- принимать различные абстрактные языки при различных ограни- чениях, не могут помочь нам в задаче понимания языка. Если мы хотим разобраться в структурах естественного языка, нам, возмож- но, следует прежде всего изучить типы программ, легко выполни- мых на вычислительной машине, организация которой схожа с че- ловеческой х). Изложенные выше соображения приводят нас к сопоставлению двух взглядов на язык, которые мы назовем „математическим" и „психологическим". Математический взгляд, возникновение которого связано с именем Хомского (1963), преобладает в вычислительной науке по причинам, о которых подробно говорилось в гл. 2. Вкратце напомним аргументацию. Согласно математическому взгляду, язык описывается системой правил, способных порождать правильно построенное множество цепочек, или предложения. Эту систему правил можно считать проектом машины, которая не производит никаких других цепочек, кроме предложений данного языка. С дру- гой стороны, эти правила можно считать спецификациями для про- граммы, порождающей этот язык. Существует формальное тождест- во между машиной, способной производить предложения на языке, и машиной, способной распознавать, является или нет данная цепочка предложением. В случае когда машина распознает предло- жение, мы говорим, что машина воспринимает (допускает) цепоч- ку. При математическом анализе восприятие цепочки эквивалентно тому, что машина (или интерпретирующая программа) определила способ, которым эта цепочка могла быть порождена. В идеальном языке для анализа вычислений будет только один путь порождения данного предложения, поэтому восприятие цепочки будет эквива- лентно определению „с гарантией" того, как она была порождена. Кажется разумным (хотя соответствующая математическая теория не связана непосредственно с этой темой), что, если бы были извест- ны этапы, через которые „проходит" говорящий при построении предложения, можно было бы с легкостью определить смысл его утверждения. Например, определив структуру цепочки Д = (В + 2)*С. (6) 1) Эта точка зрения развита в работах Ханта (1971, 1973).
488 Гл. 15. Понимание естественного языка Транслятор Фортрана может узнать, какие вычисления имел в виду программист. Для подавляющего большинства практических си- туаций это все, что требуется х). В противоположность математическому „психологический взгляд'1 хаотичен. Если считать, что в нем есть центральное место, так это то, что мы сможем понимать языки только благодаря пони- манию возможностей человека и общих законов, управляющих его поведением. Язык рассматривается как специфическая деятель- ность человека, которая выводится из более широкого понимания психологии. На практике это означало, что в основном психологиче- ские исследования языка концентрировались на переменных, определяющих обучение человека языку; примером служит подход Скиннера (1957) к языку как частному проявлению нормального функционирования человека. Другое направление исследований — определение психологической основы языка (Леннеберг, 1967; Геш- винд, 1970). Эти специальные подходы можно понять в свете инте- ресов психолога, но они больше связаны с вопросом, как возник человеческий язык, чем, что в точности возникло, т. е. какой должна быть конструкция машины, пользующейся языком. В результате воздействие психологической точки зрения на вычислительные на- уки было незначительным. Это, несомненно, должно вызвать сожа- ление, особенно если мы действительно не сможем строить машины, понимающие естественные языки, пока не придем к лучшему зна- нию того, как их надо понимать. Последний довод основан на двух предположениях: 1) математическая модель не обеспечивает адек- ватного описания естественного языка и 2) для создания приемле- мых (для ЭВМ) алгоритмов анализа языка можно применить пси- хологическую модель. В следующих разделах приводятся некоторые свидетельства в пользу этих предположений. 15.1. Естественный язык: математическая модель 15.1.0. Замечания о контекстно-свободных грамматиках составляющих Идея формальных грамматик в книге уже рассматривалась. В гл. 2 были введены структура составляющих и контекстно-сво- бодные языки и было указано, что обычно стараются строить языки !) Есть несколько затруднительных ситуаций, в которых либо возникают неопределенности, либо ликвидация неопределенности языка разрушает также его способность обращаться к вычислениям, которые могла бы сделать ЭВМ. Значительные усилия исследователей направлены на расширение математической модели, чтобы такие случаи были относительно редкими. Именно этим вызвана разработка языка Алгол 68. Из соображений, излагаемых в этом разделе, в част- ности, вытекает, что целесообразность такой попытки сомнительна, поскольку ряд больших и весьма распространенных задач расширения языков программи- рования требуют от нас полного отказа от данной математической модели.
15.1. Естественный язык: математическая модель ' 489 программирования для ЭВМ так, чтобы они носили структуру со- ставляющих и, если возможно, имели контекстно-свободные грам- матики. Это соответствует истине даже в том случае, когда предла- гается определить язык на основе демонстрации примера. Во всех алгоритмах грамматического вывода, обсуждавшихся в гл. 7, пред- полагалось, что язык контекстно-свободен. Покажем на примере, 5 I £ £ О Л Л о Л а + Ь + е Рис. 15.1. Пример грамматического анализа в НС-грамматике. почему такие языки удобны для специалиста по вычислительным машинам. Пусть язык определен словарем N = {S, О, А, Е\ Т = {„любая буква а, ..., г“, „любое целое от 0 до 1000“, (7) и грамматикой G, состоящей из продукций S—> Е Е—+А Е -> ЕОА (8) А —>- „любая буква или целое" О—<-„+ или — Такой язык будет порождать цепочки вида а, а+&, а+17, а—17 ит. д. Это язык непосредственно составляющих (НС-язык), поскольку можно построить дерево разбора для любой цепочки в языке, на- чиная с нее и заменяя в ней любую подцепочку, соответствующую правой части одной из продукций в G, на левую часть этой продукции, пока не получится символ S. На рис. 15.1 изображено дерево раз- бора простой цепочки из языка, определенного с помощью (7) и (8). Говорят, что проведен грамматический анализ цепочки, если для нее построено дерево разбора. Успешный грамматический ана- лиз эквивалентен обнаружению того, что существует способ, кото-
490 ' Гл. 15. Понимание естественного языка рым язык мог бы породить эту цепочку. Кроме того, существует прямой путь перевода дерева разбора в семантику операций ЭВМ. Это также видно из рис. 15.1. Этот рисунок дает схему анализа в виде дерева, которое очень легко перевести в префиксную бесскобочную запись. Заключим в скобки цепочку, соответствующую каждому вхо- ждению Е в цепочку, подлежащую разбору. Это можно сделать без труда. В нашем примере скобочной структурой будет (((fl)+fr)+c) (9) Эта информация позволяет применить хорошо известные механиче- ские процедуры для замены ее на бесскобочную запись +с+Ьа (10). которую можно вычислить последовательностью вызовов и сложе- ний в порядке справа налево, т. е. Вызвать а Вызвать b Сложить два последних вызванных символа, сумму запомнить Вызвать с Сложить с суммой Точный механизм выполнения этих операций зависит, конечно, от используемой ЭВМ. Реальные языки программирования, разу- меется, гораздо сложнее. Тем не менее основные принципы остаются теми же. Дополнительная сложность этих языков обусловлена прак- тически полностью тем, что их грамматики гораздо шире. Итак, языки программирования, основанные на контекстно- свободной модели непосредственно составляющих, действительно дают разумный язык для разговора об арифметических и алгебраи- ческих операциях. Люди могут освоить эти языки, и они легко пере- водятся в машинные команды. Поэтому для некоторых целей они чрезвычайно полезны. С другой стороны, легко показать, что эти языки не позволяют работать с определенными конструкциями ес- тественного языка. Мы не будем пытаться подробно охарактеризо- вать эту задачу. Лучше проиллюстрируем ее, заметив, что в рам- ках грамматик непосредственно составляющих нельзя обнаружить, что два предложения Джон поднял книгу Книга была поднята Джоном И1' эквивалентны, и это объясняется тем, что они, несомненно, породили бы два разных грамматических анализа. Ясно, однако, что распозна- вание таких случаев тождества — важный аспект понимания.
15.1. Естественный язык: математическая модель 491 15.1.1. Трансформационные грамматики1) Многие лингвисты понимают, что для формализации языков, по сложности приближающихся к естественным, необходимо расширить класс грамматик. Об одном таком расширенном классе — классе трансформационных грамматик — уже говорилось вкратце в гл. 2, где указывалось, что для распознавания цепочек из трансформаци- онного языка могут понадобиться все возможности машины Тью- рига. Даже с точки зрения теории это означает, что анализ языка может оказаться очень сложным. Дело действительно обстоит имен- но так. Чтобы понять почему, рассмотрим некоторые из требований к обработке информации для понимания речи человека. Что происходит на этапе построения предложения? Во-первых, необходимо решить, что ты хочешь сказать. Мысль говорящего на- зывают синтаксически представленной цепочкой из языка глубинной структуры, который понимается как разновидность внутреннего языка мышления. Математические лингвисты мало интересуются тем, как порождаемое представление глубинной структуры утвер- ждения связано с воплощаемой им идеей. Мы в конечном счете по- ставим под вопрос это отсутствие интереса, поскольку мы утвержда- ем, что именно этим следует заниматься при использовании естест- венного языка вычислительной машиной. Однако в настоящее время мы просто предположим, что внутренний язык, на котором выражается глубинная структура, является языком непосредственно составляющих. Высказывание порождается глубинной структурой путем применения серии правил преобразования, в результате которых возникает предложение разговорного языка, и его струк- тура называется поверхностной. Предложение на внешнем язы- ке следует анализировать, отображая цепочку назад из поверхност- ной структуры в глубинную, а затем раскрывая связи между эле- ментами глубинной структуры. Приведем два примера и проиллюстрируем на них возможные сложности этого подхода. Первый связан с вопросами. Предполо- жим, что некто хочет задать вопрос Did Sherlock Holmes expose the evildoer? (Разоблачил ли Шерлок Холмс преступника?) 7 7 С помощью вполне очевидных обозначений 2) представим глу- бинную структуру этого вопроса на рис. 15.2. Из рисунка видно, г) Основным источником в этой области послужила для нас книга Хомского (1965). Работа Томаса (1965) содержит легко читаемое, без технических деталей, обсуждение применения трансформационных грамматик в анализе английского языка. 2) Всюду в этом разделе будут употребляться следующие обозначения: Q — вопрос, NP — группа существительного, N — существительное, VP — группа глагола, V — глагол, AUX — вспомогательный глагол, DET — определение, ADJ — прилагательное, ADV — наречие, LOC — размещение, PREP — пред- лог, Т — время, RC — придаточное предложение.
492 Гл. 15. Понимание естественного языка что предложение (S) состоит из знака вопроса (Q), группы сущест- вительного (NP) и группы глагола (VP). Группа существительного состоит из единственного элемента (существительного N) Sherlock Holmes, а группа глагола — из глагола (V) expose, вспомогательного глагола (AUX) did и группы существительного (NP) the evildoer. В английском языке есть правило преобразования, устанавливающее, что в предложениях со знаками вопроса вспомогательный глагол может переставляться перед группой существительного, соответ- ствующей подлежащему, которая порождает окончательное пред- Рис. 15.2. Глубинная НС-структура для примера (12). ложение. Если бы нам было нужно построить диаграмму НС-струк- туры прямо из (12), она оказалась бы уже не деревом, поскольку со- седние символы в терминальной цепочке в (12) не всегда выводятся из соседних нетерминальных символов дерева разбора. Для порож- дения предложения это не составляет проблему, но может вызвать существенные трудности в понимании предложения, когда глубинная структура разыскивается, а не задается с самого начала. Более сложный пример: Lady Agatha is believed to have been abducted (Думают, что леди Агата похищена) ' ' Корректная интерпретация предложения (13) состоит в том, что некоторый неизвестный человек убежден, что кто-то, также не- известный, похитил леди Агату. Соответствующая глубинная струк-
15.1. Естественный язык: математическая модель 493 тура приведена на рис. 15.3. Первая группа существительного в поверхностной структуре Lady Agatha фактически служит дополне- нием в группе глагола придаточного предложения. Само придаточ- ное предложение служит дополнением в группе глагола главного предложения. Подлежащие и в главном, и в придаточном предло- жениях не определены (НЕКТО), но ясно, что это разные некто. Заметим, что наше предложение, несмотря на все эти проблемы, по- нимается моментально. Но почему? Не трудно построить трансфор- Рис. 15.3. Глубинная структура для примера (13). мационную грамматику, содержащую правила порождения по- верхностных структур из глубинных. Трудно совершить обратное: восстановить глубинную структуру из поверхностной. В случае НС-грамматики можно определить нетерминалы, которые могли бы породить каждую терминальную составляющую в поверхностной цепочке. Это дает цепочку, содержащую некоторые нетерминалы. Затем соседние символы объединяются в другие возможные нетер- минальные символы. На каждом этапе объединение символов в одной части цепочки не зависит от анализа других частей. Это позволя- ет постепенно анализировать цепочку слева направо, не возвра- щаясь назад для пробных разборов. Эта простая схема чтения це- почки слева направо для языка, порожденного трансформационной грамматикой, не годится. Чтобы убедиться в этом, проведем грам- матический анализ и найдем место Lady Agatha в связи с нужным
4Э4 Г л. 15. Понимание естественного языка глаголом в (13). Сравним это с соответствующим анализом для Lady Agatha is Sir Roger’s fiancee ,|,v (Леди Агата невеста сэра Роджера) Для анализа подцепочки Lady Agatha is в (14) надо указать, что группа существительного (NP) Lady Agatha должна быть подлежа- щим при is. В (13) та же самая группа NP была дополнением при глаголе в придаточном предложении. И в том, и в другом примере надлежащую роль первой группы существительного в поверхностной цепочке нельзя определить, пока не выяснены свойства слов, сле- дующих за is. Поскольку анализ исходной группы существительного зависит от анализа составляющей поверхностной цепочки, не сосед- ней с ней, то в алгоритме анализа должны быть возможности либо временно задерживать анализ до получения дополнительной ин- формации, либо осуществлять пробный анализ, который при по- ступлении новой информации можно скорректировать. Невозможность анализировать естественные языки алгоритмом просмотра слева направо создает трудности для программиста, од- нако можно разработать более сложные алгоритмы просмотра. Су- ществуют и другие проблемы, затрагивающие более глубокие прин- ципиальные трудности. Оказывается, что естественные языки по- рождаются по очень сложным трансформационным правилам. Во многих случаях выбор нужного правила зависит от информации о природе обсуждаемых объектов, а не от синтаксической информа- ции о частях речи, которым принадлежат конкретные нетерми- нальные символы. Проблема не в том, что некоторые предложения естественного языка неоднозначны, а скорее в том, что для человека, для которого этот язык родной, нет этой неопределенности, хотя грамматический анализ утверждает, что она должна быть. Возьмем предложение Lady Agatha is believed to have been kidnapped by the spy .ir. (Думают, что леди Агата похищена шпионом) Ясно, что шпион является похитителем. С другой стороны, в пред- ложении Lady Agatha is believed to have been kidnapped by the detective (Сыщик думает, что леди Агата похищена) ' слово „сыщик" обычно понимается как подлежащее, относящееся к основному глаголу. Наш выбор между двумя глубинными струк- турами основан на наших представлениях о сыщиках и шпионах, а не об английской грамматике. Специалист в математической лингвистике считает грамматику моделью языка, если она определяет машину, способную породить все цепочки данного языка и никакие другие. По этому критерию НС-грамматики не могут объяснить естественные языки, а транс-
15.1. Естественный язык: математическая модель 495 формационные грамматики могут. Для специалиста в вычислитель- ных науках, однако, главное не порождение языка, а его анализ. Какие алгоритмы грамматического анализа можно создать для вос- становления глубинной структуры трансформационной грамматики по ее поверхностной структуре? Сейчас мы перейдем к этому вопросу. 15.1.2. Анализ трансформационных грамматик После начального периода, когда был предложен ряд способов решения задачи, стал развиваться метод анализа трансформацион- ных грамматик. Один и тот же основной метод описывался по край- ней мере в нескольких статьях (Бобров и Фрезер, 1969; Каплан, 1972; Торн, Бретли и Дьюар, 1969; Вудс, 1970). Однако следует пом- нить, что алгоритмы анализа для трансформационных грамматик были исследованы еще не так глубоко, как для НС-грамматик, и не будет неожиданным, если вскоре появится совершенно новый метод анализа трансформационных языков. Рис. 15.4. Сеть переходов с конечным числом состояний. Следуя Вудсу, будем называть метод, который мы собираемся описать, методом расширенных сетей переходов для анализа естест- венного языка. Он основан на расширении неправдоподобно про- стой модели анализа языка, называемой анализом сети переходов с конечным числом состояний. Чтобы разобраться в этом сложном ме- тоде, уместно сначала рассмотреть упомянутую простую модель. Сеть переходов с конечным числом состояний задается множест- вом узлов и направленных дуг, соединяющих их. Грубо говоря, эти узлы соответствуют нетерминальным символам, а дуги — тер- минальным. Выделенное состояние S ставится в соответствие начальному узлу, состояние S*— заключительному. Пример такой сети приведен на рис. 15.4. Чтобы воспользоваться этим графом для порождения цепочки, начнем с S и продолжим так: (1) Выбрать одну из направленных дуг, выходящих из рассмат- риваемого узла, и пройти по ней.
496 Гл. 15. Понимание естественного языка (2) Каждая дуга помечается либо символом # окончания це- почки, либо именем подмножества терминальных символов. Когда дуга пройдена, должен быть взят один из терминаль- ных символов этого подмножества, соответствующий этой дуге. (3) Продолжать процесс до тех пор, пока не будет достигнут узел S*. Здесь цепочка кончается. Допустим, например, что с помощью рис. 15.4 нужно получить The big brown dog chased the little black cat # (Большая коричневая собака преследовала маленькую черную ' ' кошку Порядок рассматриваемых узлов будет таким: S, DET, ADJ, ADJ, N, V, DET, ADJ, ADJ, N, S*. Теперь рассмотрим вопрос о восприятии цепочки. Для данной цепочки мы должны сказать, могла ли породить ее грамматика, определенная этой сетью. Чтобы ответить на вопрос, начнем с сос- тояния S и, беря по порядку каждое из слов на входе, найдем дугу, которую можно пройти, чтобы породить данный символ. Если после # мы оказались в S*, это предложение считается воспринятым. Модели с конечным числом состояний несовершенны, ибо они не способны работать с правилами рекурсивного порождения. Это правила, в которых одиночный символ слева воспроизводится спра- ва. Например, A->SiAs2. (18) В наших примерах для естественных языков была эта форма. Все глубинные структуры для (13), (15) и (16) имели вид It is believed that (s) (19) (Думают, что (s)> ' ’ где (s) можно заменить любой законной структурой, которую можно породить из начального символа, т. е. любой правильно построен- ной цепочкой из языка. В частности, (s) в (19) можно заменить вто- рым предложением, содержащим в себе (s), которое в свою очередь может содержать (s), и т. д. Поскольку нет способа реализовать ре- курсию как часть графа, сети переходов с конечным числом состоя- ний не могут распознать такую цепочку х). х) Возникает естественный вопрос, появляются ли на самом деле в беседе на естественном языке произвольно глубоко вложенные цепочки. Очевидно, любая цепочка имеет конечный уровень такого вложения. Можно былобы составить сеть с конечным числом состояний для порождения любого языка, в котором уровень вложения ограничен. Лингвисты отказываются от таких моделей, поскольку по- тенциальная возможность грамматики порождать цепочки может превзойти этот произвольный предел. Психологи, с другой стороны, больше внимания уде- ляют анализу цепочек, появляющихся на практике. Мы полагаем, что специа- лист в области вычислительных машин, интересующийся созданием машины, способной разговаривать с человеком, здесь фактически ближе к психологу, чем к лингвисту.
15.1. Естественный язык: математическая модель 497 Рекурсию можно осуществить, расширив модель конечной сети, чтобы дать возможность сети с конечным числом состояний вызы- вать другую такую сеть, причем эта процедура должна выполняться в любом узле. В таком случае грамматика представляется множест- вом сетей с конечным числом состояний, каждая из которых соот- ветствует грамматическому анализу некоторой нетерминальной ком- поненты языка. Анализ (порождение) цепочки проводится так: (1) Начать с S в исходной сети. Завершение пути по этой сети к S* эквивалентно успешному анализу. (2) На каждом шаге пройти дугу и породить (или воспринять) нетерминальные символы, как ранее, с одним лишь исклю- чением: (3) В некоторых узлах, вместо прохода по выходящей дуге, управление можно передать другой сети с конечным числом состояний, относящейся к грамматике. Назовем сеть, из которой передается управление, вызывающей, а вторую сеть — вызванной. Вызванная сеть начинает анализ со своего собственного начального символа, используя следующий символ в цепочке как свой первый входной символ. При достижении своего выходного узла вызванная сеть передает управление обрат- но определенному узлу в вызывающей сети. Теперь „следующим символом, подлежащим прочтению" (порождению), будет первый символ после тех, которые были распознаны только что закончив- шей работу вызванной сетью. (4) Вызванная сеть может вызывать другие сети. Разрешены рекурсивные вызовы (в этом случае сеть переходит к соб- ственному начальному состоянию либо непосредственно, либо через промежуточную сеть). При исследовании того, как сеть переходов анализирует пред- ложение, полезно представлять себе две различные составляющие алгоритма анализа: собственно сеть и управляющую программу. Управляющая программа ответственна за запоминание слова, счи- тываемого из входной цепочки, последовательности вызовов и места в сети, активного в данный момент. В сети с конечным числом сос- тояний без возможностей рекурсии управляющая программа просто проверяет, является ли только что считанное слово возможной мет- кой для одной из дуг, выходящих из активного в данный момент узла. Если система располагает к тому же возможностью вызова, управляющая программа должна уметь выполнять еще две опера- ции: PUSH и POP (заталкивание и выталкивание). Предположим, что программа читает /-е слово во входной цепочке и находится в узле п нашей сети. Этот узел будет связываться с дугами, выходя- щими из него и, кроме того, со списком сетей, которые можно выз- вать из него. Если /-е входное слово не является допустимой меткой 17 Э. Хант
498 Гл. 15. Понимание естественного языка для одной из этих дуг, то управляющая программа вызывает PUSH к одной из сетей, которые можно вызвать. Операция PUSH помещает указатель к узлу п в „магазинном списке" и затем присту- пает к анализу вызванных сетей. Магазинный список — это список узлов, имена которых считываются в порядке, обратном порядку записи их в этот список. (В терминах исследования операций это называется очередью типа „последним вошел, первым вышел".) Таким образом, если элементы помещаются в магазинный список в порядке п, г, s, они будут считываться в порядке s, г, п х). Опера- ция POP обратна операции PUSH, она берет имя первого узла из магазинного списка и передает ему управление. POP применяется для передачи управления назад к вызывающей сети после того, как достигнут концевой узел вызванной сети. POP применяется также при указании на неудачу, если нельзя найти никакого пути через вызванную сеть. На рис. 15.5 показано множество сетей для сети переходов с ко- нечным числом состояний, обладающих возможностью вызывать другие сети как процедуры. Допустим, что с помощью этой сети ана- лизируется предложение The detective saw the man whom the woman heard ,20) (.Сыщик видел человека, которого слушала эта женщина} Анализ начинается с состояния S в сети (А). Управление сразу пере- дается к NP(A), и входным словом все еще будет the. Сеть (В) обна- ружит на пути NP — DET — N — NP*, что the detective — это NP. Заключим эту смысловую единицу в скобки, чтобы отметить ее как составляющую предложения. В соответствии с операцией POP в NP*(B) 2) управление возвращается к NP(A). Заметим, что воз- вращение опустошает магазинный список. Теперь предложение принимает вид (The detective) saw the man whom the woman heard (21) и анализируется слово saw. Следующий вызов делается в VP (А) на этот раз к сети (С). Сеть (С) распознает saw как глагол и вызывает в NP(C) сеть (В). Согласно необходимой теперь операции PUSH, управление передается к NP (В). В это время анализ предложения таков: (The detective) (saw (the man whom the woman heard (22) x) Теоретические аспекты магазинных списков рассматривались в гл. 2. Мно- го вариантов магазинных списков используется в системном программировании и операциях над символами с помощью ЭВМ. Подробное изложение этого мате'- риала содержится в книге Кнута (1968). 2) Символ A(t) означает узел А в i-й подсети. Например, NP (В) — это узел NP в сети (В).
15.1, Естественный язык: математическая модель 499 Магазинный список представляет собой (NP(C), VP (А)). Сеть (В) можно использовать для непосредственного распознавания the man, но слово man требует для распознавания связанной с ним фра- зы вызова сети (D). Когда управление передается к RC(D), мага- Рис. 15.5. Пример сети с конечным числом состояний и с процедурой вызова. зинным списком будет (RC (В), NP (С), VP (А)), и неполный анализ предложения на этом этапе таков: (The detective) (saw (the man) (whom the woman heard (23) Сеть (D) в свою очередь рекурсивно вызывает (В) для распознава- ния the woman. Заметим, что этот вызов требует операцию PUSH, а за ней операцию POP, которая сначала помещает узел NP (D) в магазинный список, а затем убирает его. В этом месте управление переходит к NP (D), и неполный анализ предложения таков: (The detective) (saw (the man) (whom (the woman) heard (24) 17*
500 Гл. 15. Понимание естественного языка Heard, последнее слово предложения, считывается в V (D), и вы- полняются операции POP в порядке RC(D), NP(B) и VP (А). Это опустошает магазинный список и управление передается к состоянию S* (А), которое является заключительной точкой сети самого высокого уровня. Грамматический анализ теперь завершен: (The detective) (saw (the man (whom (the woman) heard))) (25) Хотя здесь не было никаких формальных доказательств, этот пример, как мы надеемся, убедит читателя в том, что система сети переходов с конечным числом состояний и с процедурой вызова может анализировать предложения, порожденные контекстно-сво- бодной грамматикой составляющих структуры. Таким образом, этот метод представляет возможный, хотя и несколько неизящный, способ обработки традиционных языков программирования. Мы пока не затрагивали вопроса о переходах от глубинной струк- туры к поверхностной и обратно, ибо пока не было никакого меха- низма изменения порядка компонент цепочки. Чтобы решить эту задачу, Вудс предложил добавить к сети с конечным числом состоя- ний множество регистров и память для структуры предложения. Эти регистры управляют грамматическим анализом, запоминая све- дения о результатах предыдущих этапов анализа. Эта информация используется для изменения порядка, в котором управляющая про- грамма рассматривает различные участки сети по мере того, как пытается анализировать еще неразобранные части предложения. Информацию, содержащуюся в регистрах, можно также использо- вать для переопределения структуры входного предложения. По- скольку программе разрешено менять структуру предложения или информацию в регистрах, управляющая программа может осущест- влять пробные присваивания частей входной цепочки различным структурам предложений. Их можно менять, если последующий анализ показывает, что первоначальное присваивание было не- верным. В результате управляющая программа может перейти от поверхностной структуры предложения к глубинной, получив до- полнительную информацию о предложении. Чтобы продемонстрировать, как это происходит, разберем еще одно предложение. Сеть, которой мы будем пользоваться, показана на рис. 15.6. На этом рисунке отмечены также точки, которые не входят в сеть, но в которых управляющая программа будет работать, когда в нашем примере совершаются важные действия. Будем раз- бирать предложение Lady Agatha was taken for a ride ,95) (Леди Агату пригласили на прогулку верхом) ' Анализ осуществляется следующими этапами: (1) Войти в узел S. Перейти к NP и передать управление сети (В). В магазинный список записать NP(A).
15.1. Естественный язык: математическая модель 501 Рис. 15.6. Сеть с конечным числом состояний, с процедурой вызова и регистрами (SUBJECT, VERB, OBJECT, AGENT). (2) С помощью сети (С) опознать (Lady Agatha) как группу су- ществительного. POP возвращает управление к NP (А). В точке А поместить (Lady Agatha) в регистр SUBJECT. (3) Войти в VP(A) и передать управление сети (В). Опознать was как глагол. (Заметим, что это предпочтительная кон- струкция. Управляющая программа пытается читать от
502 Гл. 15. Понимание естественного языка VP(B) к V(B). Только в случае неудачи она вернется к попытке чтения от VP* к AUX.) В точке В поместить (was) в регистр VERB. (4) Управление переходит к узлу NP(B), а из него к сети (С). Сеть (С), однако, неудачна, поскольку следующее слово в цепочке, а именно taken, не является ни существительным, ни определением. Затем управляющая программа возвра- щается к последней точке, где принималось решение, т. е. к выходу из VP(B), и выбирает ветвь к AUX. (5) Was распознается как вспомогательный глагол, taken — как глагол в страдательном залоге. Тогда (was taken) поме- щается в регистр VERB с отметкой (past, passive) <(про- шедшее время, страдательный залог)). (6) Управление переходит к узлу LOC(B), а из него к сети (D). Цепочка for a ride опознается как предложная группа места и помечается. Операции POP проходят от LOC *(D) через VP* (В) к точке С. (7) К этому моменту анализ предложения дошел до (Lady Agat- ha) ((take (past, passive) (for a ride))). В точке С использу- ются возможности трансформации. Завершив идентифика- цию группы глагола, управляющая программа находит, что регистр VERB содержит указатель страдательного залога. Трансформационное правило, содержащееся в данной задаче, гласит: „Для глаголов в страдательном залоге переместить со- держимое регистра AGENT в SUBJECT и регистра SUBJECT в OBJECT'1. Поскольку регистр AGENT пуст, его содержи- мым считается someone (некто). Перестройка регистров дает (Someone) (take (past, passive) (Lady Agatha) (for a (ride))) (27) Получили правильную глубинную структуру. Расширенные сети обладают той же мощностью, что и машины Тьюринга. Это значит, что любой язык, распознаваемый программой для ЭВМ, можно распознать программой, применяющей метод ра- сширенных сетей переходов. Такое значительное увеличение мощ- ности достигнуто для идейно достаточно простого механизма гра- фового представления грамматики. Это, однако, далось не даром. Управляющая программа должна стать гораздо более сложной. Фактически увеличение сложности управляющей программы, обу- словленное использованием регистров и структурным переупорядо- чением, качественно отличается от увеличения сложности, обуслов- ленного операциями PUSH и POP. Чтобы перейти от анализа од- ного языка к анализу другого с помощью сети с конечным числом состояний без регистров, достаточно изменить лишь эти сети. Управ- ляющие программы инвариантны относительно языков. Как только на управляющую программу будет возложена ответственность за
15.1. Естественный язык: математическая модель 503 проверку и перераспределение информации в регистрах, логика управляющей программы станет частью грамматики. Это влечет за собой два важных результата. С точки зрения анализа выясне- ние того, какой язык воспринимается путем анализа конкретной расширенной сети переходов, меняется от задачи доказательства су- ществования классов путей через графы до существенно более труд- ной задачи доказательства теорем о возможных результатах работы программ. С точки зрения исследований интеллекта мы вынуждены позволить программе, предложенной в качестве описания языка, самой быть слишком сложной для понимания. 15.1.3. Критика математического подхода Существуют два уровня, на которых можно критиковать тот или иной подход к языку, равно как любую другую научную мо- дель. Один состоит в том, что данный подход в целом правилен, а его реализация — нет. Это по существу довод в пользу перехода от анализа структуры составляющих к анализу транформационной грамматики естественного языка. В обоих случаях сохраняется идея о том, что теория языка предоставляет машине основу поро- ждения предложений на этом языке. Этот довод не зависит от свойств имеющейся ЭВМ. Такую позицию занимает математическая лингвистика. Хом- ский на самых первых страницах своего основного труда по тран- сформационным грамматикам совершенно ясно говорит о том, что в формальной лингвистике исследуются компетенция, т. е. приписы- вание структуры предложениям языка, а не исполнение, которое определяется им как реальное использование языка для передачи мыслей. Он указывает (Хомский, 1965, стр. 11), что при реальном использовании языка мы различаем „приемлемые" и „неприемле- мые" предложения, а это не то же самое, что различие между „гра- мотным" и „безграмотным" предложениями. Так, предложение The man the boy the woman knew hit ran (28) грамотно, поскольку соответствует правилам английского языка, хотя находим мы такое предложение неприемлемым. С другой сторо- ны, целый ряд жаргонных выражений приемлем, хотя и безгра- мотен. Лучший известный нам пример — выражение, которое мы слышали (хотя и нечасто) от англоязычных австралийцев: Give us те tea (29) Эти люди могут с некоторым смущением признать, что они плохо построили фразу. В то же время они совершенно резонно возразят, что другие люди, говорящие на том же языке, поняли их. Согласно Хомскому, представления о приемлемости и связанные с ним пред- ставления о понимании относятся к исследованиям лингвистиче-
504 Гл. 15. Понимание естественного языка ского исполнения и потому лежат вне формальной лингвистики 1). Однако далее Хомский заявляет, что он не видит, как развивать теорию лингвистического исполнения без теории компетенции, позволяющей структурировать все предложения. Это вызывает разногласия. Мы считаем, что для понимания нет разницы между последовательными этапами структурного анали- за — анализом глубинной структуры и отображением в значение. Скорее похоже, что при понимании применяется то один, то другой принцип. Шенк (1971) занимает еще более крайнюю позицию; он сравнивает исследование абстрактной структуры с попыткой понять мышление, сделав срез человеческого мозга! Может быть, это и не так, однако по-прежнему нельзя осуществить анализ грамматиче- ской структуры в отрыве от понимания предложения. Психологи признают, что в естественном языке синтаксис служит, чтобы на- правлять процесс понимания, но функция управления ему не свой- ственна. Иногда понять предложение можно, не анализируя пол- ностью его структуру Бывает, что не удается структурировать пред- ложение, не рассмотрев все его возможные значения. Самый веский довод в пользу этой точки зрения таков: в живой речи нет отдельной лингвистической единицы, такой, как предло- жение, или, на языке операций вычислительной машины, программа или процедура, которую можно понять изолированно. Анализ линг- вистического сообщения зависит от внутренней базы данных слу- шателя, причем эта база возникла в результате понимания преды- дущих сообщений. Рассмотрим отрывки: Алиса выбралась из реки. Подняв глаза, она в испуге увидела, что Белый Кролик сидит на камне и смотрит (30) на нее. Она побежала к нему, сжав в руке полотенце. Алиса выбралась из реки. Подняв глаза, она в испуге увидела, что Дон Жуан сидит на камне и смотрит на (31) нее. Она побежала к нему, сжав в руке полотенце Зрительный образ, вызванный словом „Алиса", наверное, сущест- венно изменился. Почему? Потому что для получения разумной ба- зы данных, описывающих сцену, нужен новый образ. Можно возра- зить, что здесь задача состоит в установлении правильного соот- ветствия для существительного, а это не относится к грамматиче- скому анализу. В нашем примере это действительно так, но в дру- *) В некоторых своих работах Хомский отступает от этой точки зрения. В об- щем введении к данной теме Хомский (1967) определил грамматику как процесс отображения фонетического представления сигнала в значение этого сигнала. Мы могли бы принять это определение, сделав лишь оговорку о современном зна- чении систем продукций как способа описания этого отображения.
15.1. Естественный язык: математическая модель 505 гих примерах легко провести грамматический анализ, зависящий от понимания. Рассмотрим отрывки: Джон и Мэри починили „Бичкрафт" и „Сессну". Теперь они летают на самолетах. Джону и Мэри наскучили планеры. Теперь они летают на самолетах. (32) (33) Здесь грамматическая неопределенность разрешена, поскольку ясен смысл предложений, окружающих ее. В отличие от примера с Али- сой соответствие слову „самолет" одинаково для (32) и (33). Дело в том, что если неоднозначное предложение должно стать осмыслен- ной частью базы данных, связанной с рассматриваемым отрывком, то оно может иметь только одну интерпретацию. Понимание слу- жит ключом к грамматическому анализу, а не обратно. Конечно, грамматика дает нам некоторые подсказки, и они используются для определения смысла предложения. В то же время раскрытие смысла предложения влияет на его грамматику. Если наши соображения верны, почему теперь придается такое значение анализу формальных языков? Это самая подходящая об- ласть деятельности для математика-лингвиста, поскольку его цель — создать модель способности обнаружения цепочек языка, а не пере- вода этих цепочек в „правильную" внутреннюю базу данных. На более практическом уровне языки программирования, полезные, но очень ограниченные, удобно анализировать по отдельности син- таксически и семантически. Те психологи и психолингвисты, ко- торые хотят исследовать процесс исполнения, а не компетентность, должны, вероятно, обратиться к другим представлениям о языке. Сомнительно, чтобы размышления об абстрактных автоматах по- могли психологу объяснить языковое поведение. Проблема понимания языка в искусственном интеллекте — это компромисс между двумя точками зрения. Мы собираемся пользо- ваться вычислительными машинами, а они относятся к типу машин, которые могут анализировать языки лишь на основе строгого раз- деления между компетентностью и исполнением. В обозримом буду- щем ЭВМ будут разговаривать с человеком только на специальные темы, поэтому нет необходимости заново открывать безграничные и очень загадочные возможности долгосрочной памяти человека. С другой стороны, нас интересует понимание вообще, поскольку разговоры с ЭВМ нужны для того, чтобы заставить ее что-то сде- лать, а все, что она может делать, это изменять свою внутренюю базу данных. Возможно, мы не должны так поспешно пренебрегать стилем работы единственного существующего устройства, способ- ного на адекватное понимание, — Homo sapiens.
506 Гл. 15. Понимание естественного языка 15.2. Психологическая модель 15.2.0. Общая часть Что понимается под возможностью написания программ, осно- ванных на психологической модели? Несомненно, не то, что про- граммы будут основаны на туманной идее о природе языка, по- скольку такие программы написать просто невозможно. Нельзя на- писать программы, основанные на моделях (или являющиеся ими) лингвистического поведения человека, поскольку о том, как человек понимает, известно очень мало. Правильнее было бы сказать, что программа ЭВМ, реализующая понимание, имеет психологическую направленность, если (а) в ней не предпринимается попыток разде- лить синтаксический и семантический этапы и (б) применяемые ал- горитмы основаны на интуитивных представлениях о том, как че- ловек мог бы понимать речь, а не на выводах из абстрактной мате- матической системы. Такая психология связана более с работами Вильяма Джеймса и немецких самоаналитиков, чем с современной экспериментальной психологией. Здесь не требуется никакого обоснования, поскольку это вполне согласуется с целью создания программ для ЭВМ, способных участвовать в беседе на естественном языке. Идеи лежат там, где вы их находите. Если полезную про- грамму можно создать, нарушив несколько математических правил или воплотив в нее психологическую модель, неверно отражающую поведение, то это вполне устроит работающего с вычислительной машиной. Математик-лингвист и психолог не имели бы такой сво- боды. Приняв такой прагматический подход, мы, наверное, не уди- вимся тому, что „психологическая" теория машинного понимания языка не так четко разработана, как математическая. Путаница и противоречия в этом подходе почти неизбежны. На большинство современных исследований в данной области повлияли идеи о том, что знание можно представлять в виде семантической сети (Куилли- ан, 1968; Мак-Калла и Сэмпсон, 1972; Румельхарт, Линдсей и Норман, 1971) и что грамматический анализ должен управляться как семантикой, так и синтаксическими особенностями (Шенк, 1972, Виноград, 1972). Слишком рано говорить о том, по какому пути пойдут исследования, и мы не очень удивимся, если станет известно о какой-то новой идее, которая поглотит все старые. С другой сто- роны, в нашем обсуждении содержатся некоторые догадки о том, как развивается эта область. В частности, мы не упомянули о мно- гих ранних работах и о некоторых современных проектах просто потому, что чувствуем, что они ведут в тупик. Может быть, мы не правы. Читателю, интересующемуся продолжением этой темы, ре- комендуем более подробный обзор Симмонса (1970).
15.2. Психологическая модель 507 15.2.1. Концептуальный грамматический анализ Основная идея психологического подхода к грамматическому анализу заключается в том, что структурный анализ предложения на естественном языке должен управляться прежде всего предполо- жительным значением предложения. Синтаксические „намеки" мо- гут помочь в установлении значения, но не управляют этим про- цессом. Отчасти, это аналогично проблеме „что было вначале: кури- ца или яйцо?", ибо почти невозможно найти значение до тех пор, пока не станет что-нибудь известно о структуре. Решение, следова- тельно, состоит в формировании программы, которая приписывает части цепочки пробное структурное описание, определяет, воз- можна ли содержательная интерпретация, и, если да, использует этот результат для управления поиском синтаксической структуры остальной части предложения. Поскольку очень важно понять основную идею этого процесса и гораздо менее важно разобраться в его деталях для какой-то частной программы, попытаемся в качестве иллюстрации привести пример, не связанный с программированием. Предположим, что вы пытаетесь построить модель самолета при следующих несколько необычных условиях. У вас есть маленький стол, а на нем место для частично собранной модели и свободное пространство, куда можно класть части, с которыми вы пока не работаете. Помощник, или „подносчик", выбирает части и передает их вам с той скоростью и в том порядке, которыми вы не управляете. Чтобы усложнить этот процесс, допустим, что свободная площадь на столе не на- столько велика, чтобы на ней поместились две части из ящика. Поэтому ваша сборка модели должна быть достаточно быстрой, чтобы при получении каждой следующей детали вы могли либо поместить ее на свое место в модели, либо найти для нее пространство на столе. Здесь есть прямая аналогия с языком. При понимании речи говоря- щий посылает слово слушающему со скоростью, определяемой го- ворящим. Слушающий не должен отставать от говорящего в сборке модели, о которой говорящий старается рассказать. Как и понимание речи, такой путь построения модели ни в коем случае не является невозможным. Рассмотрим несколько возможных способов выполнения этого задания. Одна стратегия для конструк- тора модели — ждать, пока говорящий даст ему „ключевую часть" (т. е. фюзеляж), пригодную для использования ее в качестве карка- са, вокруг которого располагались бы другие части. Вероятно, большинство людей пошли бы по этому пути. Трудность задачи за- висит от числа ее характеристик, которые мы еще не определили. Очень помогла бы нам информация о контексте: тот простой факт, что вы знаете, что получили части самолета,, а не лодки, был бы очень полезен при распознавании того, как расположить детали. Когда модель начнет принимать какую-то форму, в нашем распоряжении
508 Г л. 15. Понимание естественного языка окажется еще больше контекстной информации. Порядок, в котором подносчик дает вам эти части, очень важен. Было бы идеально, если бы вы получали деталь, зная, где будет ее место в окончательной модели. В менее выгодных условиях вам давали бы детали, которые в момент получения могли бы занимать одно из нескольких поло- жений, и вам бы приходилось догадываться. Если догадка была не- верна, вы должны были бы (частично) разобрать модель, когда новая информация обнаружила бы это. Остается надеяться, что масштабы разборки удалось бы свести к минимуму. Теперь рассмотрим, как влияют на ситуацию некоторые ограни- чения. Без сомнения, главная проблема — это догадаться, как должна выглядеть завершенная модель. При данном контексте („самолеты вообще", „самолеты 1-й мировой войны" и т. д.) у вас должен быть общий план допустимых структур. Например, вы были бы весьма озадачены, если бы не имели понятия о вертолетах. По мере познавания все большего числа деталей ваши идеи о допустимых структурах становились бы все точнее и точнее. В действительности в какой-то момент вы могли бы идентифицировать все основные де- тали модели, хотя еще не видели всех деталей. Вернемся к аналогии с речью: в большинстве случаев нам не нужно слышать все сказан- ное, чтобы понять, о чем идет речь. Помогли бы некоторые ограни- чения на скорость и очередность, в которой говорящий может пере- давать вам части этой модели. Предположим, например, что от по- мощника требовалось начать с носа самолета и спускаться по фю- зеляжу к хвосту, но ему разрешено выбирать, спуститься к хвосту вначале, а затем вернуться к крыльям или же спускаться по одной стороне, выйти на крыло, затем спуститься внутрь и вниз и, нако- нец, подняться по другой стороне. Сборщик модели мог бы очень быстро собрать части между выбранными точками, но должен был бы останавливаться, чтобы определить, по какому пути пойдет подносчик из каждой такой точки. Наконец, чем больше ваше ра- бочее пространство, тем легче исправлять ошибки. При понимании речи слушатель во многом похож на сборщика моделей. Понимание аналогично определению того, как должна выглядеть завершенная модель, и не похоже на восстановление вы- боров говорящего относительно того, что передать в данное время. Попытаемся выразить это в лингвистических терминах: при пони- мании речи мы стараемся распознать мысли, вызвавшие произне- сенное предложение. Структурный анализ предложения не имеет отношения к этой цели. Синтаксис аналогичен правилам, которых должен придерживаться говорящий, решая, какую часть передать сборщику модели. Знание синтаксиса в одних случаях помогает узнавать взаимосвязь между элементами, а в других это не нужно и иногда может не быть надежным ключом. Шенк (1971, 1973), развив эти интуитивные идеи, создал кон- цептуальную систему грамматического анализа. Его работа была
15.2. Психологическая модель 509 ориентирована на реализацию в ЭВМ „понимающей" системы (про- грамма SPINOZA), основанной на концептуальном анализе, хотя, как он указывал, иметь программу — это вторичное по отношению к идеям, на которых она основана. В его программах фразы опре- деляются как основные факторы и действия в дискуссии („концеп- the big а — к Фактор man<" переход- book the — От-"Неопределенное текущее положение" Рис. 15.7. Этапы процесса понимания примера (34). ты“). Словарь используется для определения отношений, которые могут возникать между концептами. Понимание предложения The big man took the book ,344 (Высокий мужчина взял книгу} ' ' будет происходить следующим образом: (1) Идентифицируется артикль the, и он запоминается для даль- нейшего анализа. Словарь указывает, что появится существитель- ное (возможно, с определением). (2) Прилагательное big также помещается во временную об- ласть памяти, пока нет существительного, которое можно опреде- лить. Можно изобразить эту неполную структуру предложения в виде графа (рис. 15.7, а), на котором показаны два определения, ожидающие идентифицируемый объект. (3) Man распознается как возможный объект. Как видно из рис. 15.7, а, он здесь ожидается и может сюда подойти. В результате сборки одной из подкомпонент начинает вырисовываться неполная структура. Это показано на рис. 15.7, б *), на котором отражен мо- J) Заметим, что один из подходов состоит в том, чтобы считать, что мы строим зрительный образ того, что может означать данное предложение. С точки зрения психологии это означает, что конструкция зрительных образов фактически очень тесно связана с пониманием (Пайвио, 1969, 1971).
510 Гл. 15. Понимание естественного языка мент, когда определился один из возможных активных элементов. Шенк рассматривает понимание как построение описания актив- ного элемента, завершающего действие; в некотором смысле это основной элемент мышления. (4) По словарю took — это действие take, модифицированное прошедшим временем (past). Идентификация глагола также дает много информации о допустимых формах образа, который мы пы- таемся создать. В этом случае с take ассоциируется граф, указы- вающий, что фактор Z переводит объект из позиции X в Y (рис. 15.8). Задача построения образа теперь сводится к попытке идентифи- цировать компоненты рис. 15.8 в конструкции рис. 15.7. (5) Остальные слова используются для заполнения рис. 15.8. Заметим, что при этом программа (или словарь) должна иметь до- г- кГ Z < .....> Переход ----- Объект I—От X Рис. 15.8. Схема образа, ассоциированного с take. ступ к специальному правилу, гласящему, что если компонента Y (для глагола take) в предложении не определена, то она является активным элементом, и что если компонента X не идентифицирована, то фразу „текущее положение объекта" следует заменить. Сущест- вование специальных правил, подобных этому, будет производить беспорядок в изящном математическом описании языка. Тем не менее они необходимы для понимания. Кроме того, предложение нельзя понимать изолированно. Так, (34) содержит ряд членов об- щего вида. Для построения конкретного образа надо знать, о каком высоком мужчине идет речь, о какой книге, где она. На эти вопросы можно ответить, только справившись в оперативной памяти о членах, появлявшихся в предыдущих предложениях. Некоторую сложность представляет предложение / like books ,35ч (Мне нравятся книгиу ' которое синтаксически похоже на / like Магу (3б) (Мне нравится Мэриу
15.2. Психологическая модель 511 поскольку в (35) слово like должно интерпретироваться как удо- вольствие от определенной деятельности (чтения), связанной с ря- дом объектов, а Мэри нравится за множество неопределенных ве- щей, относящихся только к ней. Правильная структура для (35) показана на рис. 15.9, а, а для (36) — на рис. 15.9, б. Из этого при- мера видно, что, как и синтаксический анализ, концептуальный анализ также зависит от контекста. Можно представить себе ситуа- цию, когда предложение (36) имело или не имело бы структуру, по- добную (35), если бы мы больше знали о Мэри. Вопрос о том, ко- торую структуру принять, нельзя решить, пока программа пони- 1 <£=like I <==>read -<--bookr а I ;> I ike ----Магу 6 Рис. 15.9. Две концептуальные структуры для пред- ложений, синтаксически похожих: а — для (35) и б — для (36). мания не сможет провести тонкий анализ предполагаемого значе- ния слова like в контексте, где оно встретилось. Правила концептуального анализа связаны с отношениями меж- ду объектами и действиями, а не с порядком появления в цепочке ссылок на объект. Для построения концептуальной схемы беседы о самолетах на английском и японском языках следует применять одинаковые правила, хотя правила установления соответствий для лингвистических объектов могут быть разными. В этом отличие от построения глубинной структуры в трансформационной граммати- ке, так как там не требуется, чтобы во всех языках применялась одна и та же грамматика. Если бы мы располагали полной систе- мой концептуального грамматического анализа, то имели бы грамма- тику для универсального „внутреннего языка мышления". Заме- тим, что эта грамматика определяла бы, что считать правильно построенным выражением „в уме", а не устанавливала бы правила вывода новых структур. Задача написания программ для понимания определенного языка свелась бы к задаче нахождения процедуры, способной описать структуру на внутреннем языке, если известна
512 Гл. 15. Понимание естественного языка внешняя цепочка х). Как и в примере с самолетом, может оказаться, что для этого не обязательно проводить полный анализ структуры внешнего языка. 15.2.2. Системная грамматика Группа Шенка проделала некоторую программистскую работу, но в основном она занималась теоретическим анализом. Несколько более конкретный подход принадлежит Винограду (1972). В преды- дущей главе мы упоминали программу, которую он написал для управления рукой робота в упрощенном мире игрушечных кубиков. Фактически основной целью исследований Винограда была про- верка определенного подхода к машинному пониманию, основанно- му на представлении о системной грамматике, развитом английским лингвистом Холлидеем (1967, 1970). Системная грамматика опреде- ляется рядом эвристик для анализа лингвистической цепочки. Ви- ноград пользуется этими эвристиками вместе с концептуальным представлением, которое строится, чтобы произвести то, что Шенк назвал бы концептуальным анализом значения входа на естествен- ном языке. Этот анализ затем объединяется с базой данных дедук- тивной системы. Чтобы продемонстрировать, как это делается, мы, следуя Винограду, рассмотрим примеры, полагая, что читатель знает английский язык. Наша цель здесь — иллюстрация принци- пов. Читатель должен помнить об этом и не заключать отсюда, что существует программа, эффективно работающая во всех обсуждае- мых случаях. Действия программы Винограда, а именно манипуля- ция воображаемыми блоками на поверхности стола, тривиальны в отличие от принципов, лежащих в ее основе. Ключом к работе программы служит грамматика, способная по- рождать все возможные графы, соответствующие концептуаль- ным анализам предложений, которые она может получить. Это из- бавляет ее от проблемы хранения в своем словаре схем, как для take в примере на рис. 15.8. Это осуществляется представлением грамматики не как структуры данных (например, сети переходов), а как множества рекурсивно вызываемых процедур внутри основной ]) Смысл такой позиции состоит, в частности, в том, что структура внешнего языка будет определяться отчасти тем, насколько легко отображается внешний язык во внутренний и обратно. Мысли людей ограничивают форму языка, на ко- тором они говорят, а не наоборот. Сам по себе внутренний язык не может быть наделен никакой логической структурой, поскольку должен использовать струк- туры данных, обрабатывать которые человеку в некотором смысле легко. «Обра- батывать» здесь имеет механический смысл физического представления данных, которые мозг должен осуществлять. Следовательно, биология налагает ограни- чения на структуру нашего мышления и через это определяет структуру нашего языка. Более подробно с этой философской точкой зрения можно ознакомиться в работах Леннеберга (1967, 1969).
15.2. Психологическая модель 513 программы PARSEJ). Грамматически использование программы для представления грамматики сходно с использованием рекур- сивно вызываемых сетей в анализе Вудса расширенной сети пере- ходов. Кроме того, здесь важно, что процедуры, ответственные за анализ данной лингвистической структуры, могут решать и синтаксические вопросы, вызывая программы, которые просматри- вают базу данных, чтобы определить наиболее разумную семанти- ческую интерпретацию предложения. Таким образом, программа могла бы отвергать синтаксическую структуру из-за того, что она ве- дет к семантическому утверждению, которое противоречит преды- дущим утверждениям или не связано с ними. Можно представить себе, как такая программа выбирает подходящую интерпретацию для Алисы в примере с Дон Жуаном и Белым Кроликом (предло- жения (30) и (31)). В общем случае можно пойти по пути анализа, ведущему к разумной интерпретации, а не производить сначала все возможные грамматические разборы цепочки естественного языка и затем выделять ту, которая по смыслу лучше всего согласуется с контекстом. Это осуществимо, ибо смысл устанавливается поэтапно, путем направления потока управления в программе PARSE на ос- нове результатов работы как синтаксических, так и семантических процедур, вызываемых как подпрограммы в PARSE. Чтобы продемонстрировать общие идеи этой программы, рас- смотрим предложение The elk stand in the stream (Jlocu стоят в рекеу ' Ясно, что для установления значения слова elk нам не нужно знать, какую роль оно играет в предложении. Мы, однако, не можем уста- новить все его возможные значения, так как не знаем, соответству- ет оно единственному или множественному числу, пока не проана- лизируем слово stand. Таким образом, мы сначала узнаем, что это предложение содержит одушевленное существительное (пробное выделение подлежащего), а потом, что оно содержит одушевленное существительное во множественном числе (выделение подлежащего) и непереходный глагол (множественное число, настоящее время). Итак, на втором шаге мы узнаем, что первая группа существитель- ного в действительности связана с подлежащим, что подлежащее стоит во множественном числе и что следующая часть предложения, по-видимому, имеет конструкцию наречия. Другими словами, мы приближаемся к концептуальному анализу. Однако, вместо того чтобы удовлетвориться графом, выражающим концептуальные от- ношения в предложении, мы должны найти какой-нибудь способ представить информацию, заключенную в предложении, в форме, пригодной для системы, осуществляющей вывод. Виноград поста- Э Разбор, анализ.— Прим, перев.
514 Г л, 15. Понимание естественного языка вил целью процесса PARSE получить утверждения, со структура- ми которых может работать программа решения задач PLANNER (гл. 12). Таким образом, (37) превращается в (местоположение (подмножество (стадо лосей), река)) (38) Это предложение осмысленно и само по себе, и, что еще важнее, во взаимодействии с другими предложениями, которые могут ока- заться в базе данных. (38) противоречит утверждениям, которые можно вывести из предложения Лоси не войдут в воду (39) и в то же время это ответ на вопрос Почему собаки не могут выследить лосей? (40) В обоих случаях для выяснения смысла (38) требуется дедукция. В основе процесса раскрытия смысла с помощью переходов от семантического к синтаксическому анализу, и обратно, лежит идея о различных уровнях анализа. Отправляясь от идей Холлидея, Виноград выделяет три уровня синтаксической структуры: пред- ложение, единица и слово. Предложение (clause) в отличие от слож- ного предложения (sentence) является независимой единицей мыш- ления. Это означает, что оно в конечном счете преобразуется в вы- ражение из базы данных, хотя может содержаться внутри другого выражения. Очень важно, чтобы каждому предложению приписывал- ся правильный логический уровень в базе данных. Логическая структура предложения / believe John loves Mary (.Я думаю, что Джон любит Мэри) такова: Believe (I, (Love (Магу, John))) Она не противоречит утверждению “] Love (Mary, John) если только (43) соответствует тому же логическому уровню, что и (42). В предложении группы слов, определяющие либо термы для ло- гической беседы, либо отношения между ними, образуют единицы. Различаются четыре типа единиц: группы существительного, кото- рые определяют основные элементы, и группы прилагательного, предлога и глагола, которые устанавливают отношения между эле- ментами. Такое предложение само является элементом; его струк- турой можно пользоваться рекурсивно, как показано в (41). Эта синтаксическая структура хорошо согласуется с идеей грамматики как процедуры. Программа PARSE пытается определить структуру, (41) (42)
15.2. Психологическая модель 515 вызывая процедуру CLAUSE, которая представляет собой последо- вательность вызовов процедур для распознавания различных еди- ниц. Эти процедуры в свою очередь могут, когда нужно, вызывать CLAUSE. Единица нижнего уровня есть слово. Слова узнаются путем про- смотра словаря, поскольку в словаре может быть несколько разных значений слова. Программа просмотра должна уметь исследовать текущую структуру предложения, чтобы решить, какое значение наиболее приемлемо. Здесь снова проявляется полезность представ- ления грамматики как программы. Грамматический анализ обычно идет сверху вниз, хотя и не следует никакой строгой иерархии. На каждом уровне программа „знает", что структура, с которой она работает, должна принадле- жать одному из нескольких типов, причем каждый из них обладает своими отличительными особенностями. Первоначально задача состоит в нахождении главного предложения, которое может быть утвердительным, повелительным или вопросительным. Какое имен- но, устанавливается исследованием нескольких слов. Эта информа- ция в свою очередь определяет возможные типы групп слов. На- пример, если выяснено, что предложение утвердительное, то са- мая левая группа слов должна быть группой существительного. Обратите внимание, как это переводит поток управления с одного уровня на другой. Итак, интерпретацию входной цепочки опре- деляют, разумеется, словарные значения слов, выбор же одного из нескольких словарных значений диктуется свойствами слов, найденных в словаре, свойствами лингвистической структуры и ее возможными семантическими интерпретациями. Чтобы проил- люстрировать это, допустим, что входным предложением было Who was that lady I saw you with Iasi night? (Кто эта дама, с которой я видел тебя вчера вечером?) (44) Сначала программа PARSE вызвала бы процедуру CLAUSE (глав- ную), где список (главный) аргументов диктует особенности пред- ложения, для которого строится анализ. Исследование слова who показывает (после просмотра словаря), что встретился терм wh-. Поэтому CLAUSE может далее ограничить свой поиск главных пред- ложений предложениями в вопросительной форме. После этого CLAUSE разрешает в качестве следующего элемента найти группу глагола. Если терм wh- не встретился, CLAUSE переходит к поиску группы существительного. Работа других подпрограмм, включая перераспределение свойств, аналогична. Сходство такого анализа с методом расширенной сети переходов поразительно. Фактически, как указывает Виноград, они формально эквивалентны, поскольку оба имеют мощность машины Тьюринга с магазинной лентой. Винограду (и нам тоже) кажется, однако, что взгляд на грамматику как на процедуру дает более естественный
516 Г л. 15, Понимание естественного языка способ введения процедур, которые управляют грамматическим анализом, обращаясь к ранее сформированной базе данных. Приведем несколько отредактированный пример подхода Ви- нограда. На вход поступает предложение Pick up the red block <Л одними красный кирпичу ' которое производит следующие действия: (1) PARSE вызывает CLAUSE (MAJOR). Эта процедура, ра- зыскивающая главное предложение, устанавливает, что первое слово — глагол, и заключает, что предложение повелительное: (MAJOR, IMPERATIVE). (2) Затем CLAUSE вызывает VERB-GROUP (IMPERATIVE), т. e. подпрограмму для разбора группы глагола в повелительном на- клонении, поскольку эта группа неизбежно будет началом пове- лительного предложения. Процедура VERB-GROUP просматрива- ет свой список аргументов и передает управление той части, которая ищет глаголы в повелительном наклонении. Возможны только ин- финитивы и формы глагола do. Поскольку pick — не форма глагола do, вызывается программа VERB (INFINITIVE, MAIN VERB). (3) VERB относится к программам слов, т. е. она проверяет вхождение в словарь. В нашем случае VERB определяет, что pick—, в самом деле, инфинитив возможного основного глагола. Она отме- чает также, что рассматриваемый глагол переходный и может требовать после себя предлога или наречия. Поэтому, когда VERB возвращается к VERB-GROUP, в структуре предложения включа- ется pick со списком свойств (VERB MAIN VERB INFINITIVE TRANSITIVE VPRT). (Последний терм — сокращенная за- пись свойства „Глагол может требовать после себя предлога или на- речия". ) (4) Снова получив управление, VERB-GROUP определяет, что при анализе группы глагола в повелительном наклонении нужен только основной глагол, и поэтому обращается к CLAUSE. Проце- дура CLAUSE теперь знает, что анализируется цепочка вида CLAUSE(MAJOR IMPERATIVE,..) и только что опознана группа глагола. Тогда разыскивается предлог (или наречие), если основной глагол его требует. Проверяя свойства обрабатываемой структуры, CLAUSE обнаруживает, что да, требует, так что вызывается про- цедура PRT. (5) PRT — снова процедура для работы со словами. В еловаре она находит, что up — наречие, а из структуры и затем из словаря, что pick up — переходный глагол с наречием. Когда управление возвращается от PRT, эти свойства добавляются к списку свойств в CLAUSE, так что CLAUSE теперь анализирует CLAUSE(MAJOR IMPERATIVE PRT TRANSITIVE), и нужное наречие только что найдено.
15.2. Психологическая модель 517 (6) В этом месте процедура CLAUSE должна найти группу до- полнения. Она может сделать это двумя способами, вызывая про- цедуру NOUN-GROUP, разыскивающую группу существительного или CLAUSE (SECONDARY) для нахождения придаточного пред- ложения. Первая из них будет успешной. Цепочке, которую она отыщет, можно приписать функцию „дополнения". При завершении этой процедуры все слова нашей цепочки найдены, и окончательно цепочка имеет следующую структуру: (CLAUSE MAJOR IMPERATIVE (Pick up a red brick) PRT TRANSITIVE) (VERB-GROUP IMPERATIVE) (pick) (VERB MAIN VERB INFINITIVE pick TRANSITIVE PRT) (PRT) (NOUN-GROUP OBJECT OBJ1 DET up INDEF NOUN-SINGULAR) (a big red brick) (DET INDEF NOUN-SINGULAR) a (ADJECTIVE) big (ADJECTIVE) red (NOUN NOUN-SINGULAR) brick В этом примере не обязательно расширять базу данных, чтобы разрешить неопределенности анализа. В некоторых случаях это бывает необходимо. Дело в том, что это легко сделать в рамках грамматических процедур, поскольку грамматическая процедура вызывает семантическую с помощью того же механизма, что и при вызове любой замкнутой подпрограммы. Другие примеры Ви- нограда показывают, что это свойство можно нетривиально исполь- зовать так, чтобы программа могла вычислить, что должен иметь в виду человек, давший ей указания, даже если само предложение далеко не однозначно. 15.2.3. Замечание относительно психологического подхода Какие языки можно анализировать с помощью психологически ориентированного метода? Оказывается, на этот вопрос легко ответить, ибо любая программа здесь будет допустимой. Программу „психологического" анализа можно написать для любого языка, который можно анализировать на ЭВМ. Для специалиста по мате- матической лингвистике это слишком общий ответ, потому что он лишает его возможности развивать классификацию языков. С дру- гой стороны, тому, кого интересует просто создание для конкретной задачи программы, понимающе'й язык, это удобно. Он знает, что если это вообще можно сделать, то такой метод сделает это.
518 Гл. 15. Понимание естественного языка Но в чем состоит этот метод? Это как раз то, чего мы не знаем. Концептуальный анализ и системные грамматики не дают рецептов для написания программ в том же смысле, что и в случае структуры составляющих и контекстно-свободных грамматик. Они представ- ляют лишь способы размышлять о формировании большого мно- жества специальных правил, таких, как различные приемы, ко- торые надо применить для анализа различных форм английского глагола to be. Достаточно взяться за написание программы, пони- мающей язык, чтобы стало ясно, что таких правил очень и очень много. Словарные единицы становятся удивительно сложными, так что требования к памяти выходят за пределы возможностей нашей техники. Куиллиан (1968) загрузил память машин в 32 000 слов программой, которая находила „в контексте" значения 60 слов. Программа Винограда на машине с 80 000 слов могла запомнить определения 200 слов и информацию, относящуюся к не слишком сложному размещению блоков в таблице. Кажется, нам еще далеко до возможностей ЭВМ, описанных в научной фантастике. Про- граммы, вроде тех, что предложены Виноградом, Шенком и Куил- лианом, демонстрируют, что для разрешения трудностей анализа естественного языка можно применить определенные принципы. Видимо, создание полезных программ для понимания языка тре- бует количественного скачка в разработке памяти и систем адре- сации ЭВМ. Если понимание языка машиной выходит за пределы физических возможностей наших ЭВМ, то как же тогда понимает человек? Разумеется, этого мы не знаем. Хотя одним соображением может быть, что человеческая память работает совсем на иных принципах, чем память ЭВМ. Возможно, мозг содержит записи, которые акти- визируют сами себя, когда сенсорное устройство посылает „относя- щееся к делу“ сообщение в сенсорные участки коры. Это устраняет необходимость в „центральном процессоре", который следил бы за пассивной памятью. Но это уже детали — доказательства в пользу такого соображения в лучшем случае поверхностны. Обсуждение функциональной модели приведено в статье Ханта (1973), а воз- можные физические механизмы — в работах Арбиба (1972) и Джона (1972). Если проблему составляют размеры наших машин, то она будет решена. Как показывает история создания ЭВМ, машины скоро станут больше и дешевле, а работать будут быстрее. Допустим на минуту, что нам удалось построить ЭВМ, которая может хранить все словари и все базы данных, требуемые, например, для беседы об уголовном кодексе США. Сможем ли мы тогда создать автомати- ческого окружного прокурора? По нашему мнению, нет. Кто-нибудь все же должен будет написать программу, содержащую процедуры для всех затруднительных частных случаев, а программирование в нашем мире ЭВМ, кажется, противится автоматизации. Как ве-
15.2. Психологическая модель 519 лика была бы работа по созданию процедуры-грамматики типа грамматики Винограда, обладающей знаниями, профессионально используемыми заурядным провинциальным адвокатом? Имейте в виду, что человек, пишущий такую программу, должен быть более чем компетентным программистом и знатоком английского языка; он также должен быть весьма искушенным лингвистом, чтобы знать формальное определение различных вариаций неправильных английских глаголов. Сразу можно сказать, что реализация этого проекта потребовала бы, самое меньшее, работы на полной ставке 20 или более докторов наук в лингвистике и программировании в течение 20 или более лет. Не забывайте также, что программы, которые они, может быть, составили бы, надо было бы еще совмес- тить. Управлять всем этим не так просто! Такая попытка вряд ли осуществится в недалеком будущем. Вероятно, нужно другое — не большой, неуправляемый проект непосредственного создания грамматики английского языка, а скорее зародышевая программа понимания, которая содержит возможность добавлять новые правила в ее синтаксические и семан- тические подпрограммы по мере того, как возникает такая потреб- ность. В конце концов не так ли учатся языку люди? Возможно, это более разумный путь. Он сводит задачу от интеллектуально беспорядочной — попытки решать одновременно множество мелких задач — к проблеме ответа на единственный очень трудный науч- ный вопрос: „Как построить обучающееся устройство?". Все при- знают, что не знают, как это сделать сейчас. Кроме того, признают, что скорее оправдают попытку решения единственного сложного научного вопроса, чем обширный технологический проект, посвя- щенный „состоянию дел". Другие люди, с другими предрассудками, могут с этим не согласиться. В любом случае до программ, понимающих естественный язык в любом общем смысле этого слова, еще далеко. Мы ожидаем очень скоро увидеть иллюзию таких программ. Это будет обусловлено двумя достижениями. Во-первых, станет возможным вести разго- вор с ЭВМ по очень ограниченному набору тем, если можно будет увеличить число запоминаемых определений слов, например, до 500. Это достаточно разумная цель для ближайшего будущего. Во-вто- рых, по-видимому, вскоре появятся разумные (хотя и ограничен- ные) решения задач распознавания образов, в том числе распозна- вание речи на ЭВМ. К 1980 г. вы, вероятно, сможете побеседовать с одной программой о ценах на бирже и спросить другую о ценах на мясном рынке. Эти две программы не будут взаимозаменяемыми, и им часто придется просить вас заново сформулировать свой зап- рос. Пока пользователь просто хочет получать информацию, такие программы, вероятно, будут его устраивать. Если же он захочет произнести речь, слишком тонкую, чтобы его поняла вычислитель- ная машина, он легко сможет это сделать.
Глава 16 ОБЗОР И ПЕРСПЕКТИВЫ 16.0. Что сделано и что нет Я попытался дать обзор фундаментальных математических и вычислительных методов, лежащих в основе исследований по ис- кусственному интеллекту. Я выделил два четко определенных класса научных проблем — распознавание образов и решение за- дач — и для каждого из них представил много формулировок и методов решения. Здесь я уверенно чувствовал под собой почву. Эти задачи тщательно разбирались, и для работы с ними был развит ряд способов. Таинственность исследований по искусственному интеллекту в этих областях в основном объясняется тем, что реше- ние соответствующих задач требует сочетания математических ме- тодов, первоначально развитых в целом ряде областей знания. Хорошим примером служит распознавание образов. Чтобы объяс- нить распознавание образов, применяется анализ, созданный для статистических, психологических и экономических приложений, и, наконец, при обсуждении персептронов присовокупляются ар- гументы, основанные на теории чисел и формальной логике. Точно так же решение задач на ЭВМ заставляет нас думать одновременно в терминах теории графов и формальной логики, применяя иногда статистические рассуждения. Если бывает трудно понять различ- ные достижения искусственного интеллекта, то не потому, что требуются специальные знания в какой-нибудь одной из областей исследований, а потому, что необходимы некоторые познания во многих областях. Я надеюсь, что, собрав в одной книге основные результаты, я помогу новому в этой области человеку начать либо специализироваться в ней, либо работать с каким-то конкретным приложением искусственного интеллекта. Обсуждение машинного понимания базировалось по необходи- мости на гораздо более интуитивной основе. Термин „понимание" сам по себе интуитивный. Мы можем прийти к согласию относи-
16.0. Что сделано и что нет 521 тельно того, решила ли конкретная программа задачу распозна- вания образов, доказала ли теорему, но расходиться во мнениях о том, поняла ли программа утверждение, даже если факты о том, что она делала с этим утверждением, совершенно ясны. Другая причина туманности разговоров о машинном понимании в том, что понимание тесно связано с анализом языка, а наше понимание языка само по себе еще примитивно. Мы никогда не будем основы- вать метод машинного понимания на чем-нибудь другом, кроме формальной теории языка, поскольку при тщательном анализе оказывается, что программа управления вычислительной машиной неявно содержит в себе такую теорию. В основе современного под- хода к формальному анализу языка лежит работа, начавшаяся в 50-х годах нашего века. В действительности эти основания не так глубоки, если считать, что распознавание образов восходит непо- средственно к работам Бейеса в XVII столетии и что машинное доказательство теорем — прямое развитие рассуждений, знакомых еще Аристотелю. Ввиду такого положения дел все же стоило бы обсудить машин- ное понимание. Методы, которые мы излагали, могут быть или не быть фундаментальными. Это покажет только время. Проблема же фундаментальна. Язык — это уникальная сигнальная система для общения между подобными нам существами. Он лишь очень незначительно похож на сигнальные системы других млекопитающих или птиц. У нас есть не только специализированные выходные устройства в горле и гортани, но специальные анализирующие области в мозге — структуры, не найденные даже в рудиментарной форме у любых других видов, включая высших обезьян (Гешвинд, 1970). При такой степени специализации сомнительно, чтобы мы могли научиться общаться каким-то другим способом, кроме на- шего естественного. Если машины должны служить нам, они обя- заны уметь воспринимать ту единственную передачу, которую мы способны им хорошо послать *). Возможно, наша неспособность общаться с машинами будет решающим ограничением революции в обработке информации. Если бы мы были близки к этому пределу, мы, быть может, были бы лучше J) Можно возразить, что в конце концов люди учатся программированию. Здесь можно привести некоторые контраргументы. Языки программирования обеспечивают очень убогую систему сообщения. Сейчас ими пользуется лишь не- значительная часть человечества, и, вероятно, большинство людей способны лишь к элементарному программированию. Энтузиастам применения ЭВМ в образова- нии, оспаривающим это утверждение, предлагается рассмотреть проблему, выд- винутую психолингвистом Либерманом. Разговорный язык для 99% человечества развивается без формальных инструкций. Чтение требует широкого формального обучения. Наше общество, которое тратит буквально годы на обучение языку и распределяет награды и премии в значительной степени на основании умения читать, тем не менее бедствует от того, что число функционально безграмотных людей очень велико. В таком случае, чем вызван этот энтузиазм относительно управления машинами с помощью универсального программирования?
522 Гл. 16. Обзор и перспективы осведомлены о том, как избежать спекулятивных дискуссий о ма- шинном понимании. Но дело, вероятно, не в этом. На основе недав- них исследований, проведенных Министерством обороны США, был сделан вывод, что к 1984 г. возникнет разумная возможность создания вычислительной системы, которая будет отвечать на ко- манды, отданные на естественном языке, обсуждением нетривиаль- ных тем (Ньюэлл и др., 1972). Возникают следующие вопросы: яв- ляется ли десятилетие правильной мерой времени и что такое „нетривиальный". Мы считаем, что много ответственных и хорошо информированных исследователей воспринимают машинное пони- мание вполне серьезно. Чтобы хорошо разбираться в искусственном интеллекте (и, возможно, вообще в вычислительных науках), необходимо представлять себе перспективу и методы работы в об- ласти машинного понимания. Может быть, эта книга разочаровала многих энтузиастов ис- кусственного интеллекта, поскольку в ней основное внимание уде- лено алгоритмам и абстрактным математическим методам. От этого область перестает быть интересной. Где же примеры? Почему мы не предусмотрели машинную игру в шахматы, пространный диалог с машиной-психотерапевтом или примеры трудных теорем, дока- занных машиной? Действительно, программ в книге было очень немного. Это объясняется просто желанием не наскучить читателю, хотя, воз- можно, именно так в результате и получилось. Подробное обсужде- ние частных примеров могло бы внести путаницу в центральный вопрос: „Какие же алгоритмы фундаментальны?" Возьмем, напри- мер, игры. Наш подход состоял в том, чтобы указать принципы, лежащие в основе поиска на дереве игры. Предположим, что мы описали „самую лучшую" программу, играющую в шахматы. Ко- нечно, тогда наши иллюстрации были бы более впечатляющими! Для их объяснения нужно было бы углубиться в детали о том, как решались задачи, связанные с шахматами; при этом я твердо знал, что, как только книга пойдет в печать, появится более удачная шахматная программа. Или, наоборот, можно было бы привести примеры игры и оставить читателя в неведении о том, как программа выбирала ходы. Вместо примеров была дана основа — мы убеж- дены, что это хотя и скучнее, но дольше сохранит свою ценность. Есть еще одна причина избегать слишком большого количества ярких примеров. Почти по определению искусственный интеллект включает распространение приложения вычислительной техники на те области, где это оказывается достаточно неожиданным. Неспе- циалисту в области приложений любой успех, наверное, покажется более эффектным, чем он есть на самом деле, поскольку он не ожидал здесь прогресса и, возможно, не знал, что представляют собой за- дачи. Шахматы, распознавание речи и роботика дают прекрасные примеры. Современные шахматные программы достаточно надежны,
16.0. Что сделано и что нет 523 поэтому они могут служить рекламными демонстрациями на кон- ференциях по ЭВМ. Они выигрывают у большинства умных шах- матистов, случайно оказавшихся на таких встречах. Это до некоторой степени эффектно, так как еще в 1964 г. одна из наиболее извест- ных программ проиграла смышленому 10-летнему мальчику (Дрей- фус, 1971). Но для мастеров игры сегодняшние программы все еще остаются примитивными противниками. Завтрашние — может быть, нет. Точно так же машинная музыка еще не создала ничего подоб- ного сонатам Бетховена, но и человечество только однажды этого достигло. Чем же определяется прогресс? Роботехника, которой мы вообще едва коснулись, полна за- дачами, допускающими разнообразные интерпретации. Сейчас су- ществуют машины, которые передвигаются, управляясь радиосиг- налами от ЭВМ. Они смотрят на свой зрительный мир через цикло- пический глаз телекамеры, анализируют сцену, которую видят, и рассуждают о пути, по которому должны пройти от одной точки до другой (Нильсон, 1969, 1971). Это восхитительно! Но... зритель- ная способность робота основана на анализе дискретных выборок из зрительной сцены (Фальк, 1972; Гузман, 1969). Не делается никаких попыток развить представление метрики трехмерного пространства, хотя метрические представления исключительно важны, если машинное восприятие пространства и рассуждения о нем должны хоть в какой-то степени приближать возможности человека (Эттнив, 1972). К моменту написания этой книги мир робота все еще ограничен до пространства меньшего, чем средняя комната, наполненная большими предметами. Способности машины к рассуждениям даны ей программами с возможностями и задачами, которые мы видели в системах доказательства теорем. Многие спе- циалисты в области искусственного интеллекта игнорируют такую критику. Они чувствуют, что широко разрекламированные робот- ные проекты дают тему, объединяющую все аспекты искусствен- ного интеллекта. По крайней мере для небольшого числа широко известных (и солидно финансируемых) проектов построения робота это было разумно. С другой стороны, один из обозревателей ис- кусственного интеллекта в 70-х годах английский физик Лайт- хилл в отчете научному исследовательскому совету Великобрита- нии высказал мысль о том, что привлекательность построения робота, возможно, переключила на себя внимание от более скуч- ных, но на большом отрезке времени более основательных научных задач (Хаммонд, 1973). Я склоняюсь к этой точке зрения. Моя цель не в том, чтобы критиковать частные примеры. Я ожи- даю появления все лучших распознавателей речи, игроков в шах- маты и даже роботов. Было бы ошибкой концентрировать внимание на особенностях технологии в данный момент. Следует попытаться понять возможности и ограничения аналитических методов, на которых эта технология основана.
524 Гл. 16. Обзор и перспективы 16.1. Некоторые философские проблемы Любые обсуждения искусственного интеллекта должны прохо- дить на очень техническом уровне, иначе они окажутся „в тисках** вопроса о том, как изучение думающих машин должно или может влиять на наши философские и психологические представления. Как было обещано во введении, наше обсуждение шло на техниче- ском уровне. Остались более общие вопросы, и ими следует за- няться. Философия ставит два типа вопросов для искусственного интел- лекта. Один из них: „Как должно быть представлено мышление механическим устройством?**. Этот вопрос ведет к подходящему внутреннему символическому представлению внешнего мира и его задач. Конкретные возникающие вопросы кажутся нефилософу техническими. Например, можно было бы спросить, достаточно ли ламбда-исчисление Чёрча для выражения ключевых отношений между элементарными объектами в данной ситуации решения за- дачи. Точно так же мы можем захотеть узнать, как представить в ЭВМ тот факт, что конкретное действие может иметь множест- венные побочные эффекты. Такие вопросы являются аспектами более общей задачи представления: как мы отделяем модель, про- граммируемую на ЭВМ, от проблемы, которая нас „действительно** интересует? Всюду в нашей книге возникали различные аспекты этого вопроса. В каждом случае мы говорили: „Известно мало**. Интересующийся читатель может обратиться за дальнейшим об- суждением к работе Мак-Карти и Хэйеса (1969). Нам практически нечего добавить. Вопрос Как должна машина думать? требует сначала ответа на предыдущий вопрос Может ли машина думать? Неспециалиста этот вопрос волнует гораздо больше. К сожалению, он слишком плохо определен, чтобы на него можно было дать прямой ответ. Как ответить на вопрос Как вы решаете, что нечто думает? Это совсем не тривиально. Некоторые философы и многие психологи, попавшие под их влияние, утверждают, что понятие „думающий** бесполезно. Вместо этого они предпочитают говорить об особых типах поведения, которые, если понаблюдать, можно характеризо- вать как „думание** — просто для краткости, без всяких обяза- тельств верить в какой-то общий процесс, лежащий в основе всего этого. Фактически большинство таких писателей, несомненно, предпочли бы совсем не пользоваться этим словом г). Если принять данный критерий, то вопрос о машинном мышлении сведется к серии эмпирических тестов. Может ли система доказательства теорем х) Эта философская точка зрения ярко проявляется Скиннером (1971), ко- торый полагает, что обсуждение существенно ненаблюдаемых действий мозга, вероятно, не может лежать в основе ни науки, ни техники.
16.2. Общая теория мышления 525 решать задачи так же хорошо, как профессиональные математики? Конечно, нет. Можно ли написать программу для ЭВМ, чтобы ре- шать задачи распознавания образов, содержащиеся в интеллекту- альных тестах? Да. Можем ли мы сегодня написать программы, соответствующие человеческому пониманию естественного языка? Нет. Сможем ли когда-нибудь? Может быть. В таком случае ка- жется, что поверхностный ответ на вопрос Может ли машина ду- мать? не может не быть произвольным. Это было бы неверно, если бы у нас было какое-то основание для выделения определен- ных задач как необходимых или достаточных для разумной ма- шины. Без теории мышления мы не можем сказать, что представ- ляют собой такие задачи. Несколько другой вопрос: Думает ли машина так же, как это делает человек? Здесь есть искушение утверждать, что необходим наблюдаемый тест: если программа ЭВМ подражает человече- скому мышлению, то она служит моделью его поведения. Именно этот довод вызвал многие из современных исследований по модели- рованию на ЭВМ (Хант, 1968, Ньюэлл и Саймон, 1961; Саймон, 1971). Странно, но оказывается, мы не согласны с этой точкой зре- ния. Человеческое мышление основано на физиологической системе, о которой известно немногим более чем ничего. Мы не считаем, что психологическая теория должна полностью сводиться к физиоло- гической, но она, кажется, не настолько всеобъемлюща, чтобы полностью игнорировать физиологию. Особенно я отверг бы про- грамму как модель психологической активности в данной задаче (даже если она в совершенстве подражает поведению), если известно, что применяемые программой принципы обработки информации несовместимы с человеческой деятельностью в областях, не моде- лируемых программой *). Таким образом, снова ответить на вопрос о машинном мышлении можно лишь от случая к случаю. Я хотел бы в некоторых ситуациях принять программу в качестве модели, и было бы очень интересно обнаружить общие черты разумного моделирования поведения в различных ситуациях. Общий вопрос Говорит ли нам исследование машинного поведения что-нибудь о психологии? не имеет смысла. 16.2. Общая теория мышления Существует ли общая теория мышления? На вопрос Существует ли она сейчас? ответом, конечно, будет Нет. А видна ли она на го- ризонте? Я в этом сомневаюсь, но мой ответ требует некоторого обоснования и даже оговорки. г) В случае совершенного моделирования мне пришлось бы тщательно пере- смотреть свои предыдущие познания психологии перед тем, как отклонять про- грамму! Все, что я утверждаю, это право поступать так.
526 Гл. 16. Обзор и перспективы Все согласны с тем, что разумное поведение свойственно только системе из элементов, обрабатывающих информацию, т. е. обна- руживающих признаки, доказывающих теоремы и принимающих решения. Ряд ученых и философов, известных примерно как „спе- циалисты по общей теории систем", утверждают, что организация таких систем подчиняется нетривиальным законам (Миллер, 1970). Если это справедливо, то теория систем должна применяться к организации разумных машин, а также разумных биологических, социальных и физических систем. В самом деле, Бенерджи (1969) предложил применить теорию систем и теорию управления факти- чески ко всему искусственному интеллекту. Он рассматривает задачу как шестерку P = <S, С, D, М, SL, Sw>, (1) где S — множество возможных ситуаций, С — множество управ- лений, применимых в этих ситуациях, D — множество помех, М — отображение из множества SxCxD троек (ситуация, помеха, управление) в S и S^, SL— соответственно желательные и нежела- тельные ситуации, S^sS, SLsS. Затем он развивает формализм для исследования множества игр и ситуаций, когда требуется ре- шить задачу. При этом он обнаруживает во внешне непохожих задачах интересные общие моменты. Возможно, в результате даль- нейшего развития этих направлений мы получим полезную класси- фикацию для решения задач. Однако, как признает сам Бенерджи, пока эти формализмы не привели к существенным теоремам о пост- роении систем, решающих задачи. В настоящее время предложен- ное Бенерджи описание, возможно, и дает полезный способ охарак- теризовать то, что делается после составления программы для задачи искусственного интеллекта, но не говорит нам, с чего начи- нать, когда у нас есть только постановка задачи. Интуитивно более ясное и, возможно, более полезное примене- ние общей теории систем предложил Саймон (1969). Он указывает, что все работоспособные сложные системы обладают определенными особенностями. Наиболее заметны из них иерархическая органи- зация компонент, разложимость общей системы на отдельные под- системы и повторное использование похожих компонент. Саймон просто рекомендует при решении задачи помнить об этом. Бес- спорно, это имеет смысл. Исследования по искусственному интеллекту включают в себя много выдающихся работ. В области машинного понимания почти нет прогресса после работ Вудса (1970) и Винограда (1972), несом- ненно связанных с идеями Саймона. Тем не менее это скорее рекомендации, чем точные указания для построения интеллекта. Именно здесь наша область знаний. Мы располагаем несколькими общими принципами, которым „обычно"
16.2. Общая теория мышления 527 нужно следовать. У нас есть методы, различающиеся по полезно- сти и применимости. Мы не в состоянии сказать, как должно быть организовано мышление. Ни Декарт, ни Локк не смогли дать нам безошибочных правил; прогресс с того времени был не- большим. Наши машины сложнее, быстрее и полезнее того, что можно было представить себе 50 лет назад. Я надеюсь, моя книга помогла показать, что эти машины довольно разумны сегодня и их можно сделать еще разумнее завтра. Гениальность пока не опре- делена.
СПИСОК ЛИТЕРАТУРЫ Абдали (Abdali S. К.) (1971) Feature extraction algorithms, Pattern Recognition, 3, 3—21. Абельсон (Abelson R. P.) (1966) Heuristic processes in the human application of verbal structure in new situations, Proceedings of the XVIII International Congress of Psychology, Symp. 25, Москва, 1966, pp. 5—14. Абельсон, Рич (Abelson R. P., Reich C.) (1969) Implication modules. A method for extracting meaning from input senten- ces, Proceedings of the 1st International Joint Conference on Artificial Intelligence. Bedford, Massachusetts, pp. 641—648. Айронс (Irons E.) (1961) A syntax directed compiler for Algol 60, Comm. ACM, 4, 51—55. Аллен, Лакхэм (Allen J., Luckham D.) (1970) An Interactive theorem proving program, в сб. «Machine Intelligence», Vol. 5 под ред. Meltzer В., Michie D., Edinburgh. Амарель (Amarel S.) (1968) On machine representations of problems of reasoning about actions. The missionaries and cannibals problem, в сб. «Machine Intelligence», Vol. 3, под ред. Michie D., Edinburgh. Андерсон, Бледсоу (Anderson R., Bledsoe W.) (1970) A linear format for resolution with merging and a new technique for es- tablishing completeness, Journ. ACM, 17, 525—534. Андерсон (Anderson T.) (1958) Introduction to multivariate statistical analysis, New York. (Русский перевод: Андерсон T., Введение в многомерный статистический анализ, Физматгиз, М., 1963.) Арбиб (Arbib М.) (1964) Brains, machines, and mathematics, New York, (Русский перевод: Арбиб M., Мозг, машина и математика, изд-во «Наука», М., 1968). (1972) The metaphorical brain, New York. (Русский перевод: Арбиб М., Метафо- рический мозг, изд-во «Мир», М., 1976.) Ассоциация по вычислительной технике (Association for Computing Machinery) (1968) Curriculum Committee on Computer Science Curriculum. Recommendation for academic programs in computer science, Comm. ACM, 11, 151—197. Бекер (Becker J.) (1969) The modeling of simple analogic and deductive processes in a semantic memory system, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts, pp. 655—668.
Список литературы 529 Бен ер джи (Banerji R.) (1969) Theory of problem solving: An approach to artificial intelligence, New York. (Русский перевод: Бенерджи P., Теория решения задач. Подход к созданию искусственного интеллекта, изд-во «Мир», М., 1972.) Беркли, Бобров (Berkeley Е., Bobrow D.) (1964) The programming language «Lisp», Cambridge, Massachusetts. Бизигнис (Busignies H.) (1972) Communication channels, Sci. Amer., 227, 98—113. Бирман, Фельдман (Biermann A. W., Feldman J. A.) (1972) A survey of results in grammatical inference, в сб. «Frontiers of Pattern Recognition» под ред. Watanabe S., New York. Бисс, Чен, Стал (Biss К., Chien R., Stahl F.) (1971) R2 — A natural language question answering system, Proceedings of Spring Joint Computer Conference AFIPS, 38, 303—308. Бледсоу (Bledsoe W.) (1971) Splitting and reduction heuristics in automatic theorem proving, Artificial Intelligence, 2, 55—78. Бледсоу, Бойер, Хеннеман (Bledsoe W., Boyer R., Henneman W.) (1971) Computer proofs of limit theorems, Proceedings of the 2nd International Joint Conference on Artificial Intelligence, London, pp. 586—600 Блок, Нильсон, Дуда (Block H., Nilsson N., Duda H.) (1964) Determination and detection of features in patterns, в сб. «Computers and Information Sciences» под ред. Tou J., Wilcox R. Baltimore. Бобров, Фрэзер (Bobrow D., Fraser J.) (1969) An augmented state transition network program, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massa- chusetts, pp. 557—568. Бонгард M. M. (1967) Проблема узнавания, изд-во «Наука», М. Ботвинник М. М. (1968) Алгоритм игры в шахматы, изд-во «Наука», М. Боурн (Bourne L.) (1966) Human conceptual behavior, Boston. Брунер, Гуднау, Остин (Bruner J., Goodnow J., Austin G.) (1956) A study of thinking, New York. Букханан, Хедрик (Buchanan В., Headrick T.) (1970) Some speculations about artificial intelligence and legal reasoning, Stan- ford Univ. Computer Science Department, Artificial Intelligence Memo- randum, 123. Ватанабе (Watanabe S.) (1960) Information theoretic aspects of inductive and deductive reasoning IBM Journal of Research and Development, 4, 208—231. (1971) Ungrammatical grammar in pattern recognition, Pattern Recognition, 3, 385—408. Вегнер (Wegner P.) (1968) Programming languages, information structures and machine organization. New York. 18 Э. Хант
530 Список литературы Вейсстейн (Weisstein N.) (1969) What the frog’s eye tells the human brain. Single cell analysis in the visual system, Psychological Bulletin, 72, 157—176. Вейценбаум (Weizenbaum J.) (1966) ELIZA. A computer program for the study of natural language communi- cation between men and machines, Comm. ACM, 9, 36—45. (1967) Contextual understanding by computers, Comm. ACM, 10, 474—480. Вииер (Wiener N.) (1948) Cybernetics, New York. (Русский перевод: Винер H., Кибернетика, изд-во «Сов. радио», М., 1968.) (1950) The human use of human beings, Boston. (Русский перевод: Винер H., Кибернетика и общество, ИЛ, М., 1958.) Виноград (Winograd Т.) (1972) A program for understanding natural language, Cognitive Psychology, 3, 1—192. Висенс (Vicens P.) (1969) Aspects of speech recognition by computer, Stanford (J., Computer Science Department, AI-85 (диссертация). Вос, Карсон, Робинсон (Wos L., Carson D., Robinson G.) (1964) The unit preference strategy in theorem proving, Proceedings of the Fall Joint Computer Conference, 26, 615—621. (1965) Efficiency and completeness of the set of support strategy in theorem pro- ving, Journ. ACM, 12, 536—541. Вудс (Woods W. A.) (1970) Transition networks for natural language analysis, Comm. ACM, 13, 591—606. Гард, Оглсби, Беннетт, Сеттл (Guard J., Oglesby F., Bennett J., Settle L.) (1969) Semi-automated mathematics, Journ. ACM, 16, 49—62. Гарднер (Gardner M.) (1971) Mathematical games, Sci. Amer., 225 (4), 114. Гарнац, Хант (Garnatz D., Hunt E.) (1973) Eyeball parameter estimation with a computer, IEEE Trans, on Systems, Man and Cybernetics, II, SMC-3, No. 1. Гелернтер (Gelernter H.) (1959) A note on syntactic symmetry and the manipulation of formal systems by machine, Inform, and Control, 9, 80—89. (1963) Realization of a geometry theorem proving machine, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейген- баума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.) Гелернтер, Рочестер (Gelernter Н., Rochester N.) (1958) Intelligent behavfour in problem solving machines, IBM Journal of Re- search and Development, 2, 336—345. (Русский перевод в сб. «Психология мышления», изд-во «Прогресс», М., 1965.) Гелернтер, Хансен, Лавленд (Gelernter Н., Hansen J., Loveland D.) (1963) Empirical explorations of a geometry theorem proving machine, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.)
Список литературы 531 Гешвинд (Geschwind N.) (1970) The organization of language in the brain, Science, 170, 940—944. Гибсон (Gibson J.) (1950) The perception of the visual world, Boston. Гиллогли (Gillogly J.) (1972) The technology chess program, Artificial Intelligence, 3, 145—164. Гилмор (Gilmore P. C.) (1970) An examination of the geometry theorem machine, Artificial Intelligence, 1, 171—188. Гилфорд (Guilford J.) (1967) The nature of human intelligence, New York. Глушков В. M., (1964) Введение в кибернетику, Киев. Голд (Gold М.) (1967) Language identification in the limit, Inform, and Control, 10, 447—474. Грин (Green B.) (1963) Digital computers in research, New York. Грин, Вулф, Хомский, Лафри (Green В., Wolf A., Chomsky С., Laughrey К.) (1961) BASEBALL: An automatic question answerer, Proceedings of the Western Joint Computer Conference, Amer. Federation of Inform. Process. Sci., 19, 219—224. (Русский перевод в сб. «Вычислительные машины и мыш- ление», под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.) Грин (Green С.) (1969а) The application of theorem proving to question answering systems, Stan- ford Univ. Computer Science Department, CS 138 (диссертация). (19696) Theorem proving by resolution as a basis for question answering systems, в сб. «Machine Intelligence», Vol. 4, под ред. Meltzer В., Michie D., Edin- bourgh. (Русский перевод в книге «Искусственный интеллект», Дж. Слэйгл, изд-во «Мир», М., 1973.) (1969в) Application of theorem proving to problem solving, Proceedings of the 1st Internationa) Joint Conference on Artificial Intelligence, Bedford, pp. 219—239. Грин, Рафаэль (Green C., Raphael B.) (1968) The use of theorem proving techniques in question answering systems, Proceedings of the 23rd Conference of the Association for Computing Ma- chinery, Baltimore. Гринблатт, Истлейк, Крокер (Greenblatt R., Eastlake D., Crocker S.) (1968) The Greenblatt chess program, Proceedings of the Fall Joint Computer Conference, Amer, of Inform. Process. Sci., 31, 801—810. Грис (Gries D.) (1971) Compiler construction for digital computers, New York. (Русский перевод: Грис Д., Конструирование компиляторов для цифровых вычислительных машин, изд-во «Мир», М., 1975.) Гузман (Guzman А.) (1968) Decomposition of a visual scene into bodies, Proceedings of the Fall Joint Computer Conference, Amer. Federation of Inform. Process. Sci., 33, 291—304. (Русский вариант в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.) 18*
532 Список литературы Де Гроот (DeGroot А.) (1966) Perception, memory, and thought: Some old ideas and some recent findings, в сб. «Problem Solving: Research, Method and Theory» под ред. Klein- muntz B., New York. Дейл (Dale P.) (1972) Language development: structure and learning, Hinsdale, Illinois. Джон (John E.) (1972) Switchboard vs. statistical theories of learning and memory, Science, 177, 850—863. Джонсон (Johnson S.) (1967) Hierarchical clustering schemes, P sychometrika, 32, 241—254. Дир (Diehr Gi) (1969) An investigation of computational algorithms for aggregation problems, Univ. California, Los Angeles, Western Management Science Institute working paper, 155. Дир, Хант (Diehr G., Hunt E.) (1968) A comparison of memory allocation algorithms in a logical pattern recogni- zer, University of Washington, Department of Psychology tech. rep. Дойч, Дойч, (Deutsch J. A., Deutsch D.) (1966) Physiological psychology, Homewood, Illinois. Достерт, Томпсон (Dostert В., Thompson F.) (1971), How features resolve syntactic ambiguity, Proceedings of the Symposium on Information Storage and Retrieval, ACM, 19—32. Дрейфус (Dreyfus H.) (1972) What computers can’t do: A critique of artificial reason, New York. Дуда, Харт (Duda R., Hart P.) (1973) Pattern recognition and scene analysis, New York. (Русский перевод: Дуда P., Харт П., Распознавание образов и анализ сцен, изд-во «Мир», М., 1976). Дэй (Day R.) (1972) Visual spatial illusions: A general explanation, Science, 175, 1335—1340. Зобрист, Карлсон (Zobrist A., Carlson F.) (1973) An advice taking chess computer, Sci. Amer., 228, No. 6, 92—105. Кавер (Cover T.) (1969) Learning in pattern recognition, в сб. «Methodologies of Pattern Recogni- tion» под ред. Watanabe S., New York. Кавер, Харт (Cover T., Hart P.) (1967) Nearest neighbour pattern classification, IEEE Trans. Inform. Theory, IT-13, 21—27. Канал, Чандресакаран (Kanal L., Chandresakaran B.) (1969) Recognition, machine «recognition», and statistical approaches, в сб. «Methodologies of Pattern Recognition» под ред. Watanabe S., New York. Каплан (Kaplan R.) (1972) Augmented transition networks as psychological models of sentence com- prehension, Artificial Intelligence, 3, 77—100. Келли (Kelly K.) (1967) Early syntactic acquisition, Santa Monica, California: A RAND Corporation Report P-3719.
Список литературы 533 Келлог (Kellog С.) (1968) A natural language compiler for on line data management, Proceed- ings of the Fall Joint Computer Conference. Келлог, Бюргер, Диллер, Фогт (Kellog С., Burger J., Diller T., Fogt K.) (1971) The CONVERSE natural language data management system: Current status and plans, Proceedings of' the Symposium on Information Storage and Retrieval, ACM, 33—46. Кемени (Kemeny J.) (1972) Man and the computer, New York. Кинтш (Kintsch W.) (1970) Learning, memory, and conceptual processes, New York. Клейнмунц (Kleinmuntz B.) (1968) The processing of clinical information by man and machine, в сб. «Formal Representation of Human Judgement», под ред. Kleinmuntz В., New York. Клинг (Kling R.) (1971) A paradigm for reasoning by analogy, Artificial Intelligence, 2, 147—178. Клюс (Clowes M. B.) (1969) Pictorial relationships—a syntactic approach, в сб. «Machine Intelligence», Vol. 4, под ред. Meltzer В., Michie D., Edinburgh. (1971) On seeing things, Artificial Intelligence, 2, 79—114. (Русский перевод в сб. «Интегральные роботы», вып. 2, изд-во «Мир», М., 1975.) Кнут (Knuth D.) (1969) The art of computer programming, Vol. 1. Fundamental algorithms, Reading, Massachusetts. (Русский перевод: Кнут Д., Искусство програм- мирования для ЭВМ, т. 1, изд-во «Мир», 1976.) Колби (Colby К.) (1967.) Computer simulation of change in personal belief systems, Behav. Sci., 12, 248—253. Колби, Вебер, Хилф (Colby К., Weber S., Hilf E.) (1971) Artificial paranoia, Artificial Intelligence, 2, 1—26. Колби, Смит (Colby K-, Smith D.) (1969) Dialogues between humans and an artificial belief system, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts. Кори, Випке (Corey E., Wipke W.) (1969) Computer assisted design of complex organic synthesis, Science, 166, 178— 192. Корнсвит (Cornsweet T.) (1970) Visual perception, New York. Коэн (Cohen J.) (1969) Statistical power analysis for the behavioral sciences, New York. Кранц, Льюс, Cynnec, Тверский (Krantz D., Luce R., Suppes P., Tversky A.) (1971) Foundations of measurement, New York. Крейг, Березнер, Карни, Лавьер (Craig J., Berezner S., Carney H., Loveyear C.) (1966) DEACON Directo English Access and Control, Proceedings of the Fall Joint Computer Conference, 1966, Amer. Federation of Inform. Process. Sci., 29.
534 Список литературы Крейг, Крейг (Craig Н., Craig V.) (1972) Greek marbles: Determination of provenance by isotopic analysis, Science, 176, 401—403. Креспи-Регицци (Crespi-Reghizzi S.) (1971) An effective model for grammar inference, Proceedings of the International Federation of Information-Processing Societies, Ljublijana. Креспи-Регицци, Мелканов, Лихтен (Crespi-Reghizzi S., Melkanoff M., Lichten L.) (1973) The use of grammatical inference of designing programming languages, Comm. ACM, 16, 83—90. Куиллиан (Quillian M. R.) (1968) Semantic memory, в сб. «Semantic Information Processing» под ред. Minsky M., Cambridge, Massachusetts. (1969) The teachable language comprehender: A simulation program and a theory of language, Comm. ACM, 12, 459—476. Куинлан (Quinlan J. R.) (1969) A task independent experience gathering scheme for a problem solver, Pro- ceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts, pp. 193—198. Куинлан, Хант (Quinlan J. R., Hunt E.) (1968) A formal deductive system. Journ. ACM, 15, 625—646. (1969) The FORTRAN deductive system, Behav. Sci., 14, 74—79. Кумбс, Дойес, Тверский (Coombs D., Dawes R., Tversky A.) (1970) Mathematical psychology, Englewood Cliffs, New Jersey. Купер (Cooper P. W.) (1969) Non-supervised learning in statistical pattern recognition, в сб. «Metho- dologies in Pattern Recognition» под ред. Watanabe S., New York. Купер (Cooper W. S.) (1964) Fact retrieval and deductive question answering information retrieval sys- tems, Journ. ACM, 11, 117—137. Лавленд (Loveland D.) (1972) A unifying view of some linear Herebrand procedures, Journ. ACM, 19, 366—384. Лакхэм, Нильсон (Luckham D., Nilsson N.) (1971)Extracting information from resolution proof trees, A rtificial Intelligence, 2, 27—54. Ледерберг, Фейгенбаум (Lederberg J., Feigenbaum E.) (1967) Mechanization of inductive inference in organic chemistry. Stanford Univ. Department of Computer Science, Artificial Intelligence Memorandum 54. Ледди (Ledley R.) (1962) Programming and utilization of digital computers, New York. (Русский перевод: Ледли P., Программирование и использование цифровых вычислительных машин, изд-во «Мир», М., 1966.) (1964) High speed automatic analysis of biomedical picture, Science, 146, 216—223. Леннеберг (Lenneberg E.) (1967) Biological foundations of language, New York. (1969) On explaining language, Science, 164, 635—643. Лефковиц (Lefkovitz D.) (1969) File structures for on-line systems, New York.
Список литературы 535 Ли (Lee W.) (1971) Decision theory and human behavior, New York. Либерман (Liberman A.) (1970) The grammars of speech and language, Cognitive Psychology, 1, 301—323. Либерман, Купер, Шенквейлер, Стаддерт-Кеннеди (Liberman A., Cooper F., Shankweiler D., Studdert-Kennedy M.) (1967) Perception of the speech code, Psychol. Rev., 74, 431—461. Линдсей, Норман (Lindsay P., Norman D.) (1972) Human information processing, New York. Лофтус (Loftus G.) (1972) Eye fixations and recognition memory for pictures, Cognitive Psychology, 3, 525—551. Лоэлин (Loehlin J.) (1968) Computer models of personality, New York. Льюс, Буш, Галантер (Luce R. D., Bush R., Galanter E.) (Eds.) (1965) Readings in mathematical psychology, New York. Льюс, Райфа (Luce R. D., Raiffa H.) (1957) Games and decisions: A critical survey, New York. (Русский перевод: Льюс P., Райфа Г., Игры и решения, ИЛ, М., 1961.) Мак-Калла, Сэмпсон (McCalla G., Sampson J.) (1972) MUSE: A model to understand simple English, Comm. ACM, 15, 29—40. Мак-Каллок, Питтс (McCulloch W., Pitts W.) (1943) A logical calculus of the ideas imminent in nervous activity, Bull. Math. Biophys., 5, 115—137. (Русский перевод в сб. «Автоматы» под ред. Мак- карти Дж. и Шеннона К., ИЛ. М., 1956.) Мак-Карти (McCarthy J.) (1959) Programs with common sense, в сб. «Proceedings of the Symposium on the Mechanization of through Processes» под ред. Blake D., Uttely A., London. (1961) A basis for a mathematical theory of computation, Proceedings of the Western Joint Computer Conference, 225—238. Мак-Карти, Хэйес (McCarthy J., Hayes P.) (1969) Some philosophical problems from the standpoint of artificial intelligence, в сб. «Machine Intelligence», Vol. 4, под ред. Maltzer В., Michie D., Edinburgh. (Русский перевод в сб. «Кибернетические проблемы бионики», т. 2, изд-во «Мир», М., 1973.) Мак-Карти, Эрнест, Редди, Висенс (McCarthy J., Earnest L., Reddy D., Vicens) (1968) A computer with hands, eyes, and ears, Proceedings of the Fall Joint Com- puter Conference, Amer. Federation of Inform. Process. Sci., 33, 329—338. (Русский перевод в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.) Мак-Карти и др. (McCarthy J. et al.) (1965) LISP 1.5 Programmer’s manual, Cambridge, Massachusetts. Мак-Куин (MacQueen J.) (1967) Some methods for classification and analysis on multivariate observations, Proceedings of the 5th Berkeley Symposium on Statistics and Probability. Berkeley, California. Мансон (Munson J.) (1971) Robot planning, execution and monitoring in an uncertain environment,
636 Список литературы Proceedings of the 2nd International Joint Conference on Artificial Intelli- gence, London, pp. 338—349. (Русский перевод в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.) Мейзел (Meisel W.) (1972) Computer oriented approaches to pattern recognition. New York. Миллер, Хомский (Miller G., Chomsky N.) (1963) Finitary models of language users, в сб. «Handbook of Mathematical Psy- chology», Vol. 2, под ред. Luce R., Bush R., Galanter E., New York. Миллер, Галантер, Прибрам (Miller G., Galanter E., Pribram K.) (1960) Plans and the structure of behavior, New York. (Русский перевод: Миллер Дж., Галантер Ю., Прибрам К-, Планы и структура поведения, М., 1965.) Миллер (Miller J.) (1965а) Living systems: Basic concepts, Behov. Sci., 10, 192—237. (19656) Living systems: structure and process, Behav. Sci., 10, 337—339. Миллер, Шоу (Miller W. F., Shaw J. C.) (1968) Linguistic methods in picture processing—a survey, Proceedings of the Fall Joint Computer Conference, Amer. Federation of Inform. Sci., 33, 279— 290. Минский (Minsky M.) (1961) Steps toward artificial intelligence, Proceedings of the Institute of Radio Engineers, 49, 8—30. (1963) Steps toward artificial intelligence, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычис- лительные машины и мышление» под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.) (1968) (ред.) Semantic information processing, Cambridge, Massachusetts. (1970) Form and computer science, Journ. ACM, 17, 216—230. Минский, Пейперт (Minsky M., Papert S.) (1969) Perceptrons, Cambridge, Massachusetts. (Русский перевод: Минский M., Пейперт С., Персептроны,, изд-во «Мир», М., 1971). Морган, Сонквист (Morgan J., Sohnquist J.) (1963) Problems in the analysis of survey data and a proposal, Journal Amer. Statist. Assoc., 58, 415—435. Моррис (Morris J. E.) (1969) Resolution: extension of resolution to include the equality relation, Pro- ceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts. Мучник (Muchnik I.) (1972) Simulation of process of forming the language of description and analysis of the forms of images, Pattern Recognition, 4, 101—139. Накано, Итикава, Наката (Nakano Y., Ichikawa A., Nakata K.) (1972) Evaluation of various parameters in spoken digits, Proceedings of the 1972 Conference on Speech Communication and Speech Processing, IEEE, 101— 104. Нарасимхан (Narasimhan R.) (1966) Syntax directed interpretation of classes of pictures, Comm. ACM, 9 166—173. (Русский перевод в сб. «Автоматический анализ сложных изображений», изд-во «Мир», М., 1969).
Список литературы 537 Фон Нейман (Von Neumann J.) (1956) The general and logical theory of automata, в сб. «The World of Mathema- tics», Vol. 4, под ред. Newman J. R., New York. (Русский перевод в книге Тьюринга А., Может ли машина мыслить? Физматгиз, М., 1960). Нейссер (Neisser U.) (1963) The imitation of man by machine, Science, 139, 193—197. (1967) Cognitive psychology, New York. Нейссер, Уин (Neisser U., Weene P.) (1962) Hierarchies in concept attainment, Journal of Experimental Psychology, 64 640—645. Ньюэлл (Newell A.) (1965) (ed.) Information processing language V manual (2nd ed.), Englewood Cliffs, New Jersey. (1972) (ed.) Speech understanding systems, New York. Ньюэлл, Саймон (Newell A., Simon H.) (1961) Computer simulation of human thinking, Science, 134, 2011—2017. (1965) An example of chess play in the light of chess playing programs, в сб. «Progress in Biocybernetics» под ред. Wiener N., Schade P., Amsterdam. (1972) Human problem solving, Englewood Cliffs, New Jersey. Ньюэлл, Шоу (Newell A., Shaw J. C.) (1957) Programming the logic theory machine, Proceedings of the Western .Joint Computer Conference, 230—240. Ньюэлл, Шоу, Саймон (Newell A., Shaw J. C., Simon H.) (1956) Remarks on the British Museum Algorithm. (1958) Chess playing programs and the problem of complexity IBM J. Res. De- velop., 2, 320—335. Ньюэлл, Эрнст (Newell A., Ernst G.) (1965) The search for generality, Proceedings of the International Federation of Information Processing Societies, 17—24. Ньюэлл, Эрнст, Саймон (Newell A., Ernst G., Simon H.) (1957) Empirical explorations with the logic theory machine, Proceedings of the Western Joint Computer Conference, 218—230. Ньюэлл, Эрнст, Шоу (Newell A., Ernst G., Shaw J. C.) (1958) Elements of a theory of human problem solving, Psychol. Rev., 65, 151—166. (1963) Chess playing and the problem of complexity, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгеибаума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.) Нильсон (Nilsson N.) (1965а) Learning machines, New York. (Русский перевод: Нильсон Н., Обучаю- щиеся машины, изд-во «Мир», М., 1967.) (19656) Theoretical and experimental investigations in trainable pattern classi- fyingsystems. Technical report RADC-TR-5-257, Rome Air Development Center, Rome, N. Y. (1969) A mobile automaton. An application of artificial intelligence techniques, Proceedings of the 1st International Joint Conference on Artificial Intel- ligence. Bedford, Massachusetts, 509—520. (1971) Problem solving methods in artificial intelligence, New York. (Русский перевод: Нильсон H., Искусственный интеллект. Методы поиска ре- шений, изд-во «Мир», М., 1973.)
538 Список литературы Нияк (Nyak В.) (1972) On acquisition of formal grammars, M. Sc. thesis, University of Washington Computer Science Group. Норман (Norman D.) (1969) Memory and attention, New York. Пайвио (Paivio A.) (1969) Mental imagery in associative learning and memory, Psychol. Rev., 76. 241—263. (1971) Imagery and verbal processes, New York. Петржиковский (Pietrzykowski T.) (1973) A complete mechanization of second order type theory, Journ. ACM. 20, 333—364. Пойа (Polya G.) (1954) Mathematics and plausible reasoning (2 vols.), Princeton. (Русский перевод: Пойа Д., Математика и правдоподобные рассуждения, изд-во «Наука», М., 1975.) (1975) How to solve it. New York. (Русский перевод: Пойа Д., Как решать задачу, Учпедгиз, М., 1959.) Ралифсон, Уолдингер, Дерксен (Rulifson J. F., Waldinger R. J., Derksen J. A.) (1970) QA4 Working Paper. Stanford Research Institute Artificial Intelligence Group, Technical Note 42. Рапопорт (Rapoport A.) (1960) Fights, games and debates, Ann Arbor. (1964) Strategy and Conscience, New York. Рафаэль (Raphael B.) (1964) A computer program which «understands», Proceedings of the Fall Joint Computer Conference, Amer. Federation of Inform. Process. Sci., 26, 577— 590. Редди (Reddy D. R.) (1971) Speech recognition: Prospects for the seventies, Proceedings of the Inter- national Federation of Information Processing Sciences, 15-113. Редди, Эрман, Нили (Reddy D. R., Erman L., Neely R.) (1972) A mechanistic model of speech perception, Proceedings of the 1972 Confe- rence on Speech Communication and Speech Processing, IEEE, 334—337. Рейтер (Reiter R.) (1971) Two results on ordering for resolution with merging and linear format, Journ. ACM, 18, 630—646. Рейтман (Reitman W.) (1965) Cognition and thought, New York. (Русский перевод: Рейтман У., Позна- ние и мышление, изд-во «Мир», М., 1968.) Робинсон, Вос (Robinson G., Wos L.) (1969) Paramodulation and theorem proving in first order theories with equality, в сб. «Machine Intelligence», Vol. 4, под ред. Meltzer В., Michie D., Edin- burgh. Робинсон (Robinson J.) (1965) A machine oriented logic based on theresolution principle, Journ. ACM, 12, 23—41. (Русский перевод в Кибернетическом сборнике, № 7, нов. се- рия, изд-во «Мир», М., 1970.) (1967) A review of automatic theorem proving, Proceedings of the Symposium in Applied Mathematics, 19, 1—18.
Список литературы 539 (1969) Mechanizing higher order logic, в сб. «Machine Intelligence», Vol. 4. под ред. Meltzer В., Michie D., Edinburgh. (1970) A note on the mechanization of higher order logic, в сб. «Machine Intelli- gence», Vol. 5, под ред. Meltzer В., Michie D., Edinburgh. (1971) Computational logic: The unification algorithm, в сб. «Machine Intelli- gence», Vol. 6, под ред. Meltzer В., Michie D., Edinburgh. Розенблатт (Rosenblatt F.) (1958) The perceptron: A probalistic model for information storage and organization in the brain, Psychol. Rev., 65, 386—408. (1962) Principles of neurodynamics, Baltimore. (Русский перевод: Розенблатт Ф., Принципы нейродинамики, изд-во «Мир», М., 1966.) Розенфельд (Rosenfeld А.) (1969а) Picture processing by computer, Computer Surveys, 1, 147—176. (19696) Picture processing by computer, New York. (Русский перевод: Розен- фельд А., Распознавание и обработка изображений с помощью вычис- лительных машин, изд-во «Мир», 1972.) Румельхарт, Линдсей, Норман (Rumelhart D., Lindsay Р., Norman D.) (1972) A process model of long term memory, в сб. «Organization of Memory» под ред. Tulving E., Donaldson W., New York. Саймон (Simon H.) (1957) Models of man, New York. (1969) The science of the artificial, Cambridge. (Русский перевод: Саймон Г., Наука об искусственном, изд-во «Мир», М., 1972.) (1972) The theory of problem solving. Information processing 1971, Amsterdam, pp. 267—277. Саметт (Samett J.) (1972) Programming languages: History and future, Comm. ACM, 15, 601—610. Сассенгут (Sussenguth E.) (1963) Use of tree structures for processing files, Comm. ACM, 6, 272—279. Свейн, Фу (Swain P., Fu K.) (1972) Stochastic programmed grammars for syntactic pattern recognition, Pat- tern Recognition, 4, 83—100. Себестиан (Sebesteyen G.) (1962) Decision making procedures in pattern recognition, New York. (Русский перевод: Себестиан Г., Процессы принятия решений при распознавании, образов, изд-во «Техника», Киев, 1965.) Себестиан, Эди (Sebesteyen G., Edie J.) (1966) An algorithm for поп-parametric pattern recognition, IEEE Transactions on Electronic Computers, EC-15, 908—915. Селфридж (Selfridge O.) (1959) Pandemonium. A paradigm for learning, в сб. «Proceedings of the Sympo- sium on the Mechanization of Thought Processes» под ред. Blake D., Utteley A., London. Сиберт (Sibert E.) (1969) A machine oriented logic incorporating the equality relation, в сб. «Ma- chine Intelligence, Vol. 4, под ред. Meltzer В., Michie D., Edinburgh. Сикел, Хант (Sickel S., Hunt E.) (1973) Refinement compatibilities and extensions for use with the resolution principle, Technical Report 73-01-09, Computer Science Department, Uni- versity of Washington.
540 Список литературы Симмонс (Simmons R.) (1970) Natural language question answering systems, 1969, Comm. ACM, 13, 15-30. Синайко (Sinaiko H.) (1971) Translation by computer, Science, 174, 1182—1184. Скиннер (Skinner B. F.) (1957) Verbal behavior, New York. (1971) Beyond Freedom and Dignity, New York. Слейгл (Slagle J.) (1963) A heuristic program that solves symbolic integration problems in freshman calculus, Journ. ACM, 10, 507—520. (1965) Experiments with a deductive question answering program, Comm. ACM, 9, 792—798. (Русский перевод в сб. «Мультипрограммирование и разделение времени, изд-во «Мир», М., 1970.) (1970) Interpolation theorems for resolution in lower predicate calculus, Journ. ACM, 17, 535—543. (1971) Artificial intelligence: The heuristic programming approach, New York. (Русский перевод: Слейгл Дж., Искусственный интеллект, Подход на основе эвристического программирования, изд-во «Мир», М., 1973.) Слейгл, Бурский (Slagle J., Bursky Р.) (1966) Experiments with a multipurpose theorem proving heuristic program that learns, Univ, of California Lawrence Radiation Laboratory Tech. Report UCRL-70051. Слейгл, Диксон (Slagle J., Dixon J.) (1970) Experiments with the m and n tree searching program, Journ. ACM, 17, 147—154. Сокал, Снит (Sokal R., Sneath P.) (1963) Principles of numerical taxonomy, San Francisco. Соломонов (Solomonoff R.) (1964a) A formal theory of inductive inference I, Inform and Control. 7, 1—22. (19646) A formal theory of inductive inference II, Inform, and Control, 7, 224—254. Стефферуд (Stefferud E.) (1963) The logic theory machine. A model heuristic program. Santa Monica, Calif. RAND Corp. Tech. Rep. RM-3731-CC. Стикел, Хант (Stickel M., Hunt E.) (1972) An interactive theorem proving program for the first order predicate calcu- lus, University of Washington Computer Science Group Tech. Rep. Стоун, Данфи, Смит, Огливи (Stone Р., Dunphy D., Smith M., Oglivie D.) (1965) The general inquirer, Cambridge, Massachusetts. Страсбургер (Strasbourger E.) (1972a) Recognizing a continuous spoken language using analytic cepstrum en- coding, Ph. D. thesis. University of Washington Computer Science Group. (19726) The role of the cepstrum in speech recognition, Proceedings of the 1972 Conference on Speech Communication and Processing, IEEE, pp. 299—302. Стэнфел (Stanfel L.) (1970) Tree structures for optimal searching, Journ. ACM, 17, 508—517. Суппес, Зиннес (Suppes P., Zinnes J.) (1963) Basic measurement theory, в сб. «Handbook of Mathematical Psychology» под ред. Luce R. D., Bush R., Galanter E., New York. (Русский перевод
Список литературы 541 в сб. «Психологические измерения», под ред. Мешалкина Л. Д изд-во «Мир», М., 1967.) Сэмюэль (Samuel А.) (1959) Some studies in machine learning using the game of checkers, IBM. Journal of Research and Development, 3, 210—229. (1963) Some studies in machine learning using the game of checkers, в сб. «Com- puters and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.) (1967) Some studies in machine learning using the game of checkers. II. Recent progress. IBM Journal of Research and Development, 11, 601—617. Тацуока (Tatsuoka M.) (1971) Multivariate analysis, New York. Томас (Thomas O.) (1965) Transformational grammars and the teacher of English, New York. Томпсон (Thompson F. B.) (1966) English for the computer, Proceedings of the Fall Joint Computer Confe- rence, Amer. Federation of Inform. Process. Sci., 29, pp. 349—356. Торн, Бретли, Дьюар (Thorne J., Bratley P., Dewar H.) (1968) The syntactic analysis of English by machine, в сб. «Machine Intelligence», Vol. 3, под ред. Michie D., Edinburgh. Тулвинг (Tulving E.) (1972) Episodic and semantic memory, в сб. «Organization of Memory» под ред. Tulving E., Donaldson W., New York. Турлау (Thurlow W.) (1971) Audition, в сб. «Experimental Psychology» (3d ed.) под ред. Kling J., Riggs L., New York. Уилльямс (Williams G.) (1971) A model of memory in concept learning, Cognitive Psychology, 2, 158—184. Уинстон (Winston P.) (1972) The M. I. T. Robot, в сб. «Machine Intelligence», Vol. 6, под ред. Meltzer В., Michie D., Edinburgh. (Русский перевод в сб. «Интегральные роботы», вып. 2, изд-во «Мир», М., 1975.) Ур (Uhr L.) (ред.) (1965) Pattern recognition, New York. Ур, Восслер (Uhr L., Vossler C.) (1963) A pattern recognition program that generates, evaluates, and adjusts its own operators, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М„ 1967.) Ур, Восслер, Улеман (Uhr L., Vossler С., Uleman J.) (1962) Pattern recognition over distortion by human subjects and by a computer simulation model for visual pattern recognition, Journal of Exper. Psychol., 63, 227—234. Уэнг (Wang H.) (1960) Towards mechanical mathematics, IBM Journal of Research and Develop- ment, 4, 2—22. Файке, Нильсон (Fikes R., Nilsson N.) (1971) STRIPS: A new approach to the application of theorem proving in problem
542 Список литературы solving, Artificial Intelligence, 2, 189—208. (Русский перевод в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.) Файке, Харт, Нильсон (Fikes R., Hart Р., Nilsson N.) (1972) Learning and executing generalized robot plans, Artificial Intelligence, 3, 251—288. Фальк (Falk G.) (1972) Interpretation of imperfect line data as a three dimensional scene, Artifi- cial Intelligence, 3, 104—144. Фейгенбаум (Feigenbaum E.) (1968) Artificial intelligence: Themes in the second decade, Proceedings of the International Federation of Information Processing Societies, Baltimore. (Русский перевод в Кибернетическом сборнике, № 10, нов. серия, изд-во «Мир», М„ 1973.) Фельдман (Feldman J. А.) (1957) First thoughts on grammatical inference. Stanford Univ. Computer Sci- ence Department, Artificial Intelligence Memorandum, 55. (1972) Some decideability results on grammatical inference and complexity, Inform, and Control, 20, 244—263. Фельдман, Хорнинг, Редер, Джипе (Feldman J. A., Horning J., Reder S., Gips G.) (1969) Grammatical complexity and inference. Stanford Univ. Computer Science Department, CS 125. Френда (Frijida N.) (1972) Simulation of human long term memory, Psychol. Bull., 77, 1—31. Фу (Fu S.) (1969a) Sequential methods in pattern recognition and machine learning, New York. (19696) On sequential pattern recognition systems, в сб. «Methodologies of Pat- tern Recognition», под ред. Watanabe S., New York. Фу, Свейн (Fu S., Swain P.) (1971) On syntactic pattern recognition. 3rd International Symposium on Computer and Information Sciences, 1969. в сб. «Software engineering», Vol. II, под ред. Tou J., New York. Фуканага (Fukanaga K.) (1972) Introduction to statistical pattern recognition, New York. Халле, Стивенс (Halle M., Stevens K. N.) (1972) On phonetic features, Proceedings of the 1972 Conference on Speech Commu- nication and Processing, IEEE, 194—197. Хаммонд (Hammond A.) (1973) Artificial intelligence: A fascination with robots or a serious intellectual endeavor? Science, 180, 1352—1353. Хант (Hunt E.) (1962) Concept learning: An information processing problem, New York. (1965) The evaluation of somewhat parallel models, в сб. «Mathematical Explora- tions in the Behavioral Sciences» под ред. Massarik F., Ratoosh P., Home- wood, Illinois. (1967) Utilization of memory in concept learning systems, в сб. «Concepts and the Structure of Memory» под ред. Kleinmuntz В., New York. (1968) Computer simulation: Artificial intelligence studies and their relation to psychology, Ann. Rev. Psychol., 19, 135—168. (1971) What kind of computer is man? Cognitive Psychology, 2, 57—98.
Список литературы 543 (1973) The memory we must have, в сб. «Computer Models Thought and Language», под ред. Shank R., Colby K., San Francisco. Хант, Килдалл (Hunt E., Kildall G.) (1971) A Heathkit method for building data management programs, Proceedings of the Symposium on Information Storage and Retrieval, ACM, 117—132. Хант, Куинлан (Hunt E., Quinlan J.) (1967) The reactive library, Univ. Washington Psychology Dept. Tech. Rep 67-1-03 Хант, Макоус (Hunt E., Makous W.) (1969) Some characteristics of human information processing, в сб. «Advances in Information Science» под ред. Tou J., New York. Хант, Марин, Стоун (Hunt E., Marin J., Stone P.) (1966) Experiments in induction, New York. (Русский перевод: ХантЭ., Марин Дж., Стоун Ф., Моделирование процесса формирования понятий на вы- числительной машине, изд-во «Мир», М., 19/0.) Харари, Норман, Картрайт (Harary F., Norman R., Cartwright D.) (1965) Structural models, New York. Харман (Harman H.) (1967) Modern factor analysis (2nd ed.), Chicago. Хармон, Юлеш (Harmon L., Julesz B.) (1973) Masking in visual recognition: Effects of two dimensional filtered noise, Science, 180, 1194—1197. Хаффмен (Huffman D.) (1971) Impossible objects in nonsense sentences, в сб. «Machine Intelligence», Vol. 6, под ред. Michie E., Edinburgh. Хебб (Hebb D.) (1948) The organization of behavior, New York. Ховленд (Hovland C.) (1952) A «communication analysis» of concept learning, Psychol. Rev., 59, 461— 472. Хоел (Hoel P.) (1970) Introduction to mathematical statistics (4th ed.), New York. Холлидей (Halliday M.) (1967) Notes on transitivity and theme in English, Journal of Linguistics, 3. (1970) Functional diversity in language as seen from a consideration of modality and mood in English, Foundations of Language, 6, 322—361. Хомский (Chomsky N.) (1957) Syntactic structures, The Hague. (Русский перевод в сб. «Новое в линг- вистике», вып. 2, М., 1962). (1963) Formal properties of grammars, в сб. «Handbook of Mathematical Psycho- logy», Vol. II, под ред. Luce R., Bush R., Galanter E., New York. (Рус- ский перевод в Кибернетическом сборнике, № 2, нов. серия, изд-во «Мир», М., 1966.) (1965) Aspects of the theory of syntax, Cambridge. (Русский перевод: Хомский H., Аспекты синтаксиса, Изд-во МГУ, М., 1972.) Хомский, Миллер (Chomsky N., Miller G.) (1963) Introduction to the formal analysis of natural language, в сб. «Handbook of Mathematical Psychology», Vol. II, под ред. LuceR., Bush R., Galanter E., New York. (Русский перевод в Кибернетическом сборнике, № 1, нов. серия, изд-во «Мир», М., 1965.)
544 Список литературы Хомский, Халле (Chomsky N., Halle М.) (1968) The sound pattern of English, New York. Хопкрофт, Ульман (Hopcroft J., Ullman J.) (1969) Formal languages and their relation to automata, Reading, Massachusetts. Хорнинг (Horning J.) (1969) A study of grammatical inference. Stanford Univ. Computer Science De- partment. CS 139 (диссертация). Хоудз (Hodes L.) (1970) The logical complexity of geometrical properties in the plane, Journ. ACM, 17, 339-347. Хохберг (Hochberg J.) (1971) Perception, в сб. «Experimental Psychology» (3rd ed.) под ред. Kling J., Riggs L., New York. Хьюитт (Hewitt C.) (1969) PLANNER: A language for manipulating models and proving theorems in a robot, Proceedings of the 1st International Joint Conference on Artifi- cial Intelligence, Bedford, Massachusetts. (1971) Procedural embedding of knowledge in PLANNER. Proceedings of the 2nd International Joint Conference on Artificial Intelligence, London, pp. 167—184. (1972) Description and theoretical analysis (using schemata) of PLANNER: A language for proving theorems and manipulating models in a robot, M. I. T. Tech. Rep., AI-TR-258. Хэйес, Ковальский (Hayes P., Kowalski R.) (1969) Semantic trees in automatic theorem proving, в сб. «Machine Intelligence», Vol. 4, под ред. Meltzer В., Michie D., Edinburgh. (Русский перевод в Кибернетическом сборнике, №9, нов. серия, изд-во «Мир», М., 1972.) Ченг (Chang С.) (1970) The unit proof and the input proof in theorem proving, Journ. ACM, 17, 698—707. Чеиг, Слейгл (Chang C., Slagle J.) (1971) An admissable and optimal algorithm for searching and/or graphs, A rtificial Intelligence, 2, 117—128. Шварц, Бюргер, Симмонс (Schwarz R., Burger J., Simmons R.) (1970) A deductive question answerer for natural language inference, Comm. ACM, 13, 167—183. Шенк (Schank R.) (1971) Finding the conceptual content and intention of an utterance in natural language conversation, Proceedings of the 2nd International Joint Confe- rence on Artificial Intelligence, London, 444—454. (1972) Conceptual dependency: A theory of natural language understanding, Cognitive Psychology, 3, 552—631. (1973) Identification of conceptualizations underlying natural language, в сб. «Computer Models of Thought and Languages» под ред. Schank R., Colby C., San Francisco. Шепард, Мецлер (Shepard R., Metzler J.) (1971) Mental rotation of three dimensional objects, Science, 171, 701—703. Шоу (Shaw A. C.) (1969) A formal picture description scene as a basis for picture processing systems, Inform, and Control, 14.
Список литературы 545 Эванс (Evans Т. G.) (1971) Grammatical inference techniques in pattern analysis, в сб. «Software Engineering», Vol. II, под ред. Tou J., New York. Эдвардс, Линдеман, Сэвидж (Edwards W., Lindeman T., Savage R.) (1963) Bayesian statistical inlerence for psychological research, Psychol. Rev., 70, 193—242. Эллиот (Elliot R.) (1968) Master’s level computer science curriculum, Comm. ACM, 11, 507—508. Эрнст, Ньюэлл (Ernst G., Newell A.) (1969) GPS: A case study in generality and problem solving, New York. Эршер, Кокс (Herscher M., Cox R.) (1972) An adaptive isolated-word speech recognition system, Proceedings of the 1972 Conference on Speech Communication and Processing, IEEE. Эттнив (Attneave F.) (1954) Some informational aspects of visual perception, Psychol. Rev., 61 (3). (1971) Multistability in perception, Sci. Amer., 225, 62—71. Юлеш (Julesz B.) (1971) Foundations of cyclopean perception, Chicago.
ИМЕННОЙ УКАЗАТЕЛЬ Абдали (Abdali S. К.) 228—230 Абельсон (Abelson R. Р.) 454, 477—479 Айронс (Irons Е.) 199 Аллен (Allen I.) 403 Амарель (Amarel S.) 18 Андерсон (Anderson R.) 348, 358, 364, 368 Андерсон (Anderson Т.) 21, 66 Арбиб (Arbib М.) 518 Бекер (Beker I.) 260 Безигнис (Busignies Н.) 422 Бенерджи (Benerji R.) 18, 249, 526 Беннетт (Bennett I.) 403 Березнер (Berezner S.) 443 Беркли (Berkeley Е.) 18 Берлинер (Berliner Н.) 296 Бирман (Bierman A. W.) 175, 194, 199 Бисс (Biss К.) 51 Бледсоу (Bledsoe W.) 348, 358, 364, 368, 402 Блок (Block Н.) 222—224, 226, 227, 229 Бобров (Bobrow D.) 18, 495 Бойер (Boyer R.) 402 Бонгард М. М. 23, 237 Ботвинник М. М. 296 Боурн (Bourne L.) 20, 139, 170 Бретли (Bratley Р.) 495 Брунер (Bruner I.) 20, 301 Букханан (Buchanan В.) 435 Бурский (Bursky Р.) 462 Буш (Bush R.) 300 Бюргер (Burger I.) 450, 453, 454 Ватанабе (Watanabe S.) 184, 189, 213, 215, 407 Вегнер (Wegner Р.) 34, 329, 444 Вейсстейн (Weisstein N.) 12, 25, 256 Вейценбаум (Weizenbaum I.) 480, 481 Винер (Wiener N.) 29 Виноград (Winograd Т.) 331, 469, 475, 476, 509, 512—519, 526 Випке (Wipke W.) 12 Висенс (Vicens Р.) 421, 426—431 Вос (Wos L.) 363, 399, 401 Восслер (Vossler С.) 23, 221—227, 231 Вудс (Woods W. А.) 495, 500, 513, 526 Вульф (Wolf А.) 439 Галантер (Galanter Е.) 12, 300, 301 Гард (Guard I.) 403 Гарднер (Gardner М.) 260 Гарнац (Garnatz D.) 103, 119,221, 222 Гедель (Godel) 344, 345 Гелернтер (Gelernter Н.) 257, 260, 281, 300, 329, 390 Гешвинд (Geschwind N.) 488, 521 Гибсон (Gibson I.) 214 Гиллогли (Gillogly I.) 296, 432 Гилфорд (Guilford I.) 20 Глушков В. М. 15 Голд (Gold М.) 176—180 Грегори (Gregory R.) 408 Грин (Green В.) 439, 442 Грин (Green С.) 18, 468—475, 403 Гринблатт (Greenblatt R.) 18, 294 Грис (Gries D.) 56 Де Гроот (De Groot А.) 295 Гуднау (Goodnow I.) 20, 301 Гузман (Guzman А.) 146, 413, 523 Дейл (Dale Р.) 184, 421 Делей (Delay М.) 390 Джипе (Gips G.) 176 Джон (John Е.) 419, 518 Джонсон (Johnson I.) 122, 123 Диксон (Dixon I.) 293 Диллер (Diller Т.) 454 Дир (Diehr G.) 122, 168—171 , 232 Дирксен (Dirksen I.) 330
Именной указатель 547 Дойес (Dawes R.) 78 Дойч (Deutsch D.) 457 Дойч (Deutsch I. А.) 457 Достерт (Dostert В.) 436,444, 456 Дрейфус (Dreyfus Н.) 523 Дуда (Duda R.) 76, 86, 118, 222, 239, 411 Дьюар (Dewar Н.) 495 Дэй (Day R.) 407 Зиннес (Zinnes I.) 78 Зобрист (Zobrist А.) 294, 295 Истлейк (Eastlake D.) 18, 294 Итикава (Ichikawa А.) 427 Лайтхилл (Lighthill) 523 Лакхэм (Luckham D.) 403, 470 Лафри (Laughrey К.) 439 Ледерберг (Lederberg I.) 12 Ледли (Ledley R.) 201, 236 Леннеберг (Lenneberg Е.) 184, 433 487 488, 512 Лефковиц (Lefkovitz D.) 170, 437, 443 Ли (Lee W.) 78 Либерман (Liberman А.) 423—425, 521 Линдеман (Lindeman Т.) 155 Линдсей (Lindsay Р.) 331, 506 Лихтен (Lichten L.) 196 Лофтус (Loftus G.) 411 Лоэлин (Loehlin I.) 12, 477 Льюс (Luce R. D.) 25, 285, 300 Кавер (Cover Т.) 106 Канал (Kanal L.) 155 Каплан (Kaplan R.) 495 Карлсон (Carlson F.) 294, 295 Карни (Carney Н.) 443, 446 Карсон (Carson D.) 363 Картрайт (Cartwright D.) 248, 261 Келли (Kelly К.) 184 Келлог (Kellog С.) 454 Кемени (Kemeny I.) 420 Килдалл (Kildall G.) 443 Кинтш (Kintsch W.) 271 Клинг (KHng R.) 329, 390, 393, 395 Клюс (Clowes М. В.) 204, 413 Кнут (Knuth D.) 16, 270, 445, 498 Ковальский (Kowalski R.) 340, 380 Кокс (Сох R.) 427 Колби (Colby К.) 477 Кори (Corey Е.) 12 Корнсвит (Cornsweet Т.) 411 Коэн (Cohen I.) 107 Кранц (Krantz D.) 72, 78 Крейг (Creig Н.) 91—93, 97, 98, 102, 105 Крейг (Creig I.) 443, 446 Крейг (Creig V.) 91—93, 97, 98, 102, 105 Креспи-Регицци (Crespi-Reghizzi S.) 196 199 Крокер (Crocker S.) 18, 294 Куиллиан (Quillian М. R.) 449, 506, 518 Куинлан (Quinlan I. R.) 302, 307, 312, 314, 329, 376, 456, 461 Кумбс (Coombs D.) 78 Купер (Cooper F.) 423 Купер (Cooper Р. W.) 119, 472, 473 Кэррол (Carroll L.) 260 Лавленд (Loveland D.) 380 Лавьер (Loveyear С.) 443, 446 Мак-Калла (McCalla G.) 450, 506 Мак-Каллок (McCulloch W.) 22, 29, 30 Мак-Карти (McCarthy I.) 17, 18, 27, 30, 31, 329, 428, 464, 524 Мак-Куин (McQueen I.) 119—121 Макоус (Makous W.) 73 Мансон (Munson I.) 256 Марин (Marin I.) 21, 24, 166—169, 158 Мейзел (Meisel W.) 21, 76, 118, 121, 218 Мелканов (Melkanoff М.) 196 Мецлер (Metzler I.) 418 Миллер (Miller G.) 12, 190, 301 Миллер (Miller I.) 526 Миллер (Miller W. F.) 72, 173, 174, 201 Минский (Minsky М.) 17, 18, 23, 30, 108, 117, 125, 126, 132, 140, 144, 146, 147, 201, 227, 287, 486 Моргай (Morgan I.) 24, 407 Моррис (Morris I. Е.) 329 Наката (Nakata К.) 427 Накано (Nakano Y.) 427 Нарасимхан (Narasimhan R.) 174, 204 Нейман фон (Von Neuman I.) 28, 29, 403 Нейссер (Neisser U.) 301, 416 Нили (Neely R.) 430 Нильсон (Nilsson N.) 23, 109, 116, 222, 232, 249, 251, 256, 264, 271, 302, 317, 322, 343, 470, 473, 523 Нияк (Nyak B.) 175, 185 Норман (Norman D.) 271, 331, 506 Норман (Norman R.) 248, 261 Ньюэлл (Newell A.) 14—19, 25, 30, 249, 250, 271, 294, 295, 299—302, 315— 319, 329, 357, 420, 421, 427 , 428, 446, 522, 525
548 Именной указатель Оглсби (Ogbesby F.) 403 Оккам (Occam W.) 183 Остин (Austin G.) 20, 301 Пайвио (Paivio А.) 509 Пейперт (Papert S.) 23, 108, 117, 125, 126, 132, 140, 144, 147, 201, 227, 407 Петржиковский (Pietrzykowski Т.) 402 Питтс (Pitts W.) 22, 29, 30 Пойа (Polya G.) 15, 256, 260, 300, 390 Прибрам (Pribram К.) 12, 301 Райфа (Raiffa Н.) 25, 285 Рапопорт (Rapoport А.) 285 Рассел (Russel В.) 14, 17, 301 Рафаэль (Raphael В.) 18, 468 Редди (Reddy D. R.) 426—432 Редер (Reder S.) 176 Рейтер (Reiter R.) 377 Рейтман (Reitman W.) 301 Рич (Reich СЛ 477—479 Рибинсон (Robinson G.) 363, 399, 401 Робинсон (Robinson I.) 18—20, 302, 337, 344, 353, 355, 402 Розенблатт (Rosenblatt F.) 22, 109, 123, 125, 144 Розенфельд (Rosenfeld А.) 204, 205, 216, 405 Рочестер (Rochester N.) 281 Румельхарт (Rumelhart D.) 331, 503 Саймон (Simon Н.) 14—19, 25. 26, 30, 171, 249, 250, 271, 295, 299—302, 315—319, 446, 525, 526 Саметт (Sammett I.) 329 Сассенгут (Sussenguth Е.) 439, 443 Свейн (Swain Р.) 190, 201, 216 Себестиан (Sebesteyen G.) 21, 91, 102, 103, 121 Селфридж (Selfridge О.) 21, 69, 125 Сеттл (Settle L.) 403 Сиберт (Sibert Е.) 399 Сикел (Sickel S.) 337, 378 Симмонс (Simmons R.) 450, 453, 506 Синайко (Sinaiko Н.) 27 Скиннер (Skinner В. F.) 488, 524 Слейгл (Slagle I.) 18, 270, 281, 284, 293, 294, 300, 369, 376, 456, 462, 465, 468, 476 Снит (Sneath Р.) 118 Сокал (Sokal R.) 118 Соломонов (Solomonoff R.) 191, 194 Сонквист (Sohnquist I.) 24 Стаддерт-Кеннедп (Studdert-Kennedy М.) 423 Стал (Stahl F.) 51 Стефферуд (Stefferud Е.) 14, 301 Стивенс (Stevens К. N.) 422, 425 Стикел (Stickel М.) 231 Стоун (Stoune Р.) 21, 24, 158, 166, 167, 169 Страсбургер (Strasbourger Е.) 421, 427, 429, 430 Стэнфел (Stanfel L.) 439 Cynnec (Suppes Р.) 78 Сэвидж (Savage R.) 155 Сэмпсон (Sampson I.) 450, 506 Сэмюэль (Samuel А.) 26, 295, 329 Тацуока (TatsuokaM.)21, 66, 77, 86, 218 Тверский (Tversky А.) 78 Толстой Л. Н. 478 Томас (Thomas О.) 52, 491 Томпсон (Thompson F.) 436. 444, 456 Торн (Thorne I.) 495 Тулвинг (Tulving Е.) 331 Турлау (Thurlow). 423 Тьюринг (Turing А.) 49 Уайтхед (Whitehead А.) 14, 17, 301 Уильямс (Williams G.) 170 Улеман (Uleman I.) 222 Ульман (Ullman I.) 37, 191 Ур (Uhr L.) 23, 66, 221, 222, 224, 226, 227 231 Уэнг (Wang Н.) 16 Файке (Fikes R.) 302, 317, 322, 326, 328 Фальк (Falk G.) 416, 523 Фейгенбаум (Feigenbaum Е.) 12, 14, 17 Фельдман (Feldman I. А.) 175, 176, 180, 183, 194, 199, 256 Фикс (Fix) 106 Фиппс (Phipps О. К.) 278 Фогт (Fogt К.) 454 Фрейда (Frijida N.) 12, 301 Фрэзер (Fraser I.) 495 Фу (Fu К. S.) 24, 156, 158, 172, 190, 201, 216 Фукунага (Fukunaga К.) 218 Халле (Halle М.) 422, 425 Хаммонд (Hammond А.) 523 Хант (Hunt Е.) 12, 20, 21, 24, 73, 103, 119, 158, 163, 166—171 , 173, 184, 188, 189, 301, 302, 307, 312, 314, 376 , 378, 419, 443, 456,461,487,518, 525
Именной указатель 549 Харари (Нагагу F.) 248, 261 Харман (Harman Н.) 218, 219 Хармон (Harmon L.) 243 Харт (Hart Р.) 77, 86, 106, 118,239, 317, 322, 411 Хаффмен (Huffman D.) 413 Хебб (Hebb D.) 22 Хедрик (Headrick Т.) 435 Хеннеман (Henneman W.) 402 Ховленд (Hovlend С.) 301 Ходжес (Hodges) 106 Хоел (Hoel Р.) 104 Холлидей (Halliday М.) 512, 514 Хомский (Homsky N.) 43, 52, 190, 205, 422, 439, 487, 491, 503, 504 Хопкрофт (Hopcroft I.) 37, 191 Хорнинг (Horning I.) 176, 184 Хоудз (Hobes L.) 402 Хохберг (Hochberg I.) 407, 411 Хьюитт (Hewitt С.) 330, 469, 475 Хэйес (Hayes Р.) 340, 380, 524 Шварц (Schwarz R.) 450, 453, 461—463 Шенк (Shank R.) 504, 406, 508, 510, 512 518 Шенквейлер (Shankweiler D.) 423 Шепард (Shepard R.) 418 Шоу (Shaw А.) 173, 174, 201, 204 Шоу (Shaw I. С.) 14—16, 25, 72, 250, 294, 299, 301 Эванс (Evans Т. G.) 205, 206, 213 Эдвардс (Edwards W.) 155 Эди (Edie I.) 121 Эрбран (Herbrand) 344, 345 Эрман (Erman L.) 430 Эрнест (Earnest L.) 428 Эрнст (Ernst G.) 17, 294, 300, 302, 307, 461 Эршер (Herscher М.) 427 Эттнив (Attneave Р.) 408, 409, 523 Чандресакаран (Chandresakaran В.) 155 Чен (Chien R.) 51 Ченг (Chang С.) 117, 281, 284, 373, 376 Черч (Church А.) 329, 354 Юлеш (Julesz В.) 214, 243
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Автомат 49 — детерминированный 54 — конечный 57 — линейно ограниченный 53 — недетерминированный 54 — с магазинной памятью 55 Аксиома 337 Алгебра 373 Алгол 35, 483 Алгоритм 15 — Британского музея 15 — допустимый 272 — информированный 274 — ограниченного просмотра вперед 158 — перебора в ширину 264, 390 — последовательного распознавания образов 154 — унификации 353 — центрирующий 121 Алгоритмы с обучением 108 Алфавит 37 — входной 37 — выходной 37 Альфа-бета процедура 290 Альфа-отсечение 292 Анализ гармонический 240, 426 — задачи 432 — кепстральный 427 — концептуальный грамматический 507 — многомерный 218 — при помощи синтеза 416, 425 — раздельный спектральный 427 — сцены 411—419 — факторный 219 — Фурье двумерный 239 — хромосом 236 — целей и средств 302 Анализатор 409 Аналог предложения 392 Аналогия 256, 257, 260, 390—395 АРИФМЕТИКА 238 Археология 90 Атом 339 Атомная формула 339 База данных 437 База эрбрановская 341 Бейесовское правило 81 Бензик 483 Бета-отсечение 292 Вектор описания 150 Ветвь дерева 381 Выборка 64, 77, 154, 159, 176 Вывод грамматик изображений 205 — грамматический 174, 190, 199 — дедуктивный 455, 485 — линейный 363, 377 — неполный 456 — предложения 347 — с использованием семантики 19& Выделение краев 411 Выделение признаков 217 Высказывание невыполнимое 345 Вычислимость 33 Геометрические классы 140 Гиперрезольвента 361 Гиперрезолюция 361 Гипотеза 79 Грамматика 43 — изображений 200, 213 — контекстно-свободная 488 — разрешимая 172 — регулярная 194 — системная 512 — с самовставлением 57 — стержневая 196 — стохастическая 185, 216 — трансформационная 44, 491 — формальная 43 Граф 248, 261 — игровой 279 — сведения к подзадачам 279
Предметный указатель 551 Группирование 117 — адаптивное 119 — иерархическое 122 — статистическое 118 Дерево 70, 253, 278 — конфликта конечное 383 — решений 152 — семантическое 382 Детектор признаков 148, 150 Диаметр 123 Дизъюнкт 340 Динамическое программирование 156 Длина пути на графе 248, 261 — решения 261 Доказательство теорем 15, 474 ---Андерсона и Бледсоу 348 — — контекстно-ориентированное 475 — — от противного 341 ---семантическое 348 ---синтаксическое 348 ---с леммами 366 Задача группирования 117, 233 — линейная 233 — непосредственно решаемая 280 — об обезьяне 302 — о миссионерах и людоедах 13 — последовательная 233 Зрительные иллюзии 408 Игр теория 26 Игра двух лиц с нулевой суммой 285 Измерения 71 Изображение 126 Интеллект 12 Исключение тавтологий 358, 377 — уникальных литералов 358 Искусственный геометр 257 — интеллект 11 Испытуемый 429 История 90 Исход игры 286 Исчисление предикатов первого поряд- ка 61 Квантор всеобщности 396 — существования 396 Кибернетика 29 Кибернетический принцип 29 Классификация 65 — векторов 173 — двумерных изображений 200 — линейная 233 Классификация нелинейная 101, 116 — образов 64, 77 ---грамматическая 173 --- параллельная 81 ---последовательная 188, 233 — параллельная 68 — по правилу ближайшего соседа 105 — последовательная 68 — цепочек 173 Классы 152 — отделимые ПО --- линейно 110 — эквивалентности 133 Кобол 483 Когнология 5 Кольцо 444 Комбинации булевы 139 Компаратор 409 Константа 338 Константность размера 408 Конфликт 361 — скрытый 361 Концевая точка дерева 70, 381 Корень дерева 70, 278, 381 Крестики — нолики 288 Критерий хи-квадрат 119 — дискриминантный 98 Линии одинаковой плотности 88 Лисп 329, 476 Листья дерева 70, 278 Литерал 339 — резолюции 371 — слияния 368 — уникальный 359 — ANSWER 470 Логик-Теоретик 14 Логическая связка 166, 139 Макрооператор 318 Маска 129 Массачусетский технологический ин- ститут (МТИ) 17, 30 Матрица дисперсий 87 Машина Тьюринга 49 — параллельная 149 — последовательная 149 Машинное зрение 411 Машинный разум II Метафакт 456 Метод включения свойств 228 — вывода полный 553 — главных компонент 219 — детальный 67
ББ2 Предметный указатель Метод Джонсона иерархического груп- пирования 122 — дискриминантный 97 — имитационный 222 — ^-средних 119 — перебора в глубину 269 — постоянных приращений 116 — равных цен 265 — расширенных сетей переходов 495 — сведения к подзадачам 251, 279 — Соломонова 191 — статистический 67 ---в классификации образов 85 ---в распознавании образов 101 — фиксированных интервалов 116 Множество выпуклое 127 — замкнутое 133 — литералов 399 — наименьшее невыполнимое 358 — несущее 363 — обучающее 64 — организующее 64 — рассогласования 353 — счетное аксиом 378 — терминальное левое 197 --- правое 198 Моделирование 16, 476, 525 Модель 340, 379 — кодовая речи 423 — мира 323 — полная 382 — частичная 380 — языка математическая 488 — — психологическая 506 Молекула импликаций 477 Морфема 422 Мэк-Хэк 294 Надежность 162 Нейрон 21 — идеальный 22 Неравенство 339, 350 — Шварца 112 Носитель 127 Область 412 Обработка списков 16 Образ 406 — двумерный 200 — предложения 392 Обучение 28 — людей 170 — машинное 66, 164 — языку 184 Объект 64, 152 Окно 423 Оператор 13, 251, 298 Операция 13 — останова 38 — печати 38 Описание 152 — объектов 71 — структурное 72 Описаний близость 90 Оптимальность 67, 274 Отношение 338 Память 34 — динамическая 34 — семантическая 331 — статическая 34 — эпизодическая 331 Парамодуляция 399 Переменная 43, 312, 338 Переписывание цепочек 254 Пересечение 447 Перечисление 184, 250 — бейесовское 187 — оккамовское 183 Персептрон 22, 109, 123, 227 — конечного порядка 129 — многослойный (Гамбы) 145 — ограниченный Л-го порядка 129 — с обратной связью 145 ПЛ/1 35 Планы 256 Подмножество начальное 261 — целевое 261 Подстановочный частный случай 352 Поиск упорядоченный 268 ---оптимальный 271 Показатель структуры 45 Понимание 454 — сообщений 435 Пороговая логика 22 Порядок предиката 127 Последовательность описаний 153 Последовательные процедуры принятия решений 24 Потомок предложения 347 — узла 267, 278 Правило вывода 437 — бейесовское 78, 81 — классификации 68 ---бейесовское оптимальное 156 — непосредственно составляющих 44 — переписывания 43, 313 Правильно построенные выражения 61 Предварительные условия 324 Предельные вопросы 178 Предикат 126, 338
Предметный указатель 553 Предикат в резолюции 338 — коиъюнктнвно локальный 127 — линейный 128 — локальный 127 — ограниченный по диаметру 129 — примитивный 205 — считающий 137 — частный 126 Предложение 340, 487 — активное 469 — неактивное 469 — отрицательное 176 — положительное 176 — пустое 348 — родительское 347, 370 — слияния 368 Предок узла 267, 278 — предложения 347 Представление временное 427 — графовое 247 — ннформаторное 178 — матричное 248 — переписывания цепочек 254 — перечисляющее 250 — пространства состояний 251 — списочное 246 — текстуальное 177 — частотное 427 Преемник узла 262 Препроцессор 409 Префиксная («обратная бесскобочная») запись 312 Приближение 181 — сильное 181 Признаки 64 Принцип резолюции 346, 468 — — общий случай 351 --- основной случай 341, 346 --- скрытый конфликт 383 Принятие решений 25 Присваивание частичное 344 — полное 382 Проблема приближения 178 — согласованности 178 Проблемная среда 17 Программа группирования 232 — линейной классификации 232 Продукция 43 — остаточная 194 — трансформационная 44 Пространство весовое 117 — гипотетических грамматик 176 — описаний 64, 77, 152 — — булево 75 ---евклидово 64, 71, 77, 84 — признаков 129 — состояний 13, 251 Процедура классификации образов 77 — коррекции по ошибкам 111 — распознавания образов 77 — решения параллельная 71 — — последовательная 71 Процесс преобразования 72 Путь данных 439 — на графе 248, 261 Различие абсолютное 314 — множественное 310 — символьное 310 Размер маски 130 Разрешимость 179 Распознавание — акустическое 432 — линейное 22 — образов 64, 126 --- оптимальное 68 — речи 174 — семантическое 432 — синтаксическое 432 Распределение многомерное нормаль- ное 86 Расстояние евклидово 93 РЕАГИРУЮЩАЯ БИБЛИОТЕКА 456 Регистр 500 Резольвента 20, 347 Резолюция 19, 346 — в общем случае 351 — для основного случая 347 — скрытого конфликта 382 Речевой сигнал 421 Решение 261 — задач 13 — — рекурсивное 302 — минимальное 261 Робот 30, 322, 527 — коммерческий 31 — Шейки 30, 322 Самовоспроизводящаяся машина 28 Самоорганизация 28 Сборка мусора 352 Семантика 196, 485 Семантический — шаблон 391 — тип 391 Сетчатка 126 Сеть переходов — — вызванная 497 — — вызывающая 497 — — расширенная 495 — — с конечным числом состояний 495 — семантическая 449
554 Предметный указатель Сечение терминальное 198 Символ 43 — атомный 465 — начальный 43 — нетерминальный 43, 312 — терминальный 43, 312 Синтаксис 485 Синтаксическая симметрия 329 Синтезатор 409 Система грамматического анализа 508 — фортранная дедуктивная 297 — человеко-машинная 403 Словарь грамматики 43 Сложность 67 — внутренняя 182, 186 — вывода 182, 186 — вычислительная 67 Слуховое вЛпрнятие 404, 406 Событие именНое 330 — интерпретируемое 451 Согласованность стохастическая 186 Состояние 251 — текущее 13 — целевое 13 Спектр речевого сигнала 422 — фигуры 142 --- разности 143 Список 465 — вычеркиваний 323 — добавлений 323 — магазинный 498 — основной 441 — признаков 72 — спецификаций 440 Стэнфордский исследовательский ин- ститут 30 Стэнфордский университет 30 Статистика хн-квадрат 119, 163 Стоимость 66, 251 — измерения 154 — ошибочной классификации 154 Стратегия 287 — абсолютного предпочтения одночле- нов 378 — исходных данных 357, 372 — минимакса 286 — очищения 357 — подслучаев предложений 360 — предпочтения одночленов 358, 375 — просмотра на п шагов вперед 288 — семантическая 379 — синтаксическая 377 — слияния 368, 377 — слияния, использования подслуча- ев, линейного вывода (с. п. л.) 368 — упорядочения 357; см. также Л-упо- рядочение, С-упорядочение Стратегия, учитывающая ход вывода 362 Структура данных 436 — глубинная 491 — поверхностная 491 — фразы 45 Сходимость 67, 116, 164 Сходство внутри множества 94 Сцена 406 Таблица операторов и различий 302 — треугольная 326 Тавтология 351, 358 Телевидение 407 Теорема следования 332 — об инвариантности относительно группы 132 — о масках 132 — о положительной нормальной форме 130 — Сколема — Эрбраиа — Геделя 344 — uvwxy 191 Терм 339 Тетя Чарли 19 Тройка событий 45 Углерод 92 Узел 261 — вывода 385 — дерева внутренний 70, 278 — символьный 449 — типовой 449 Универсальный решатель задач 17 Университет Карнеги-Меллон 14 Универсум Эрб рана 343 Унификатор 354 Упорядочение лексическое 353 Учитель 429 Факторизация 359 Факторы человеческие 403 Фильтрация частотная 426 Фонема 422 Форма входная 298 — выходная 298 — событий семантическая 451 Форманта 423 Формирование образов 64 Фортран 35, 483 Функция 338 — адекватности 178 — внутренней сложности 182, 186 — записи 41 — несовместности 182, 186
Предметный указатель 555 Функция разделяющая НО — сколемовская 396 — сложности вывода 182, 186 — чтения 41 Химия 12, 472 Цель 333 Цена — игры 286 — позиции обращаемая 287 Цепочка символов 37 --- головная 191 --- хвостовая 191 Цепь 123 Четность 137 Число Эйлера 140 Шахматы 14, 287 Шашки 26 Шкала абсолютная 78 — интервалов 77 — порядка 78 Шум 216 Эволюция 29 Эвристика 15 — ограничения глубины 389 — — сложности 389 Эвристическая оценка 271 — функция 271 Эвристическое программирование 15 Эдинбургский университет 30 Ядро 191 — плана 328 Язык 44 — без ограничений 48 — глубинной структуры 491 — естественный 53 — контекстно-зависимый 48 — контекстно-свободный 48 — непосредственно составляющих 489 — планирования 330 — регулярный 48 — рекурсивно перечислимый 50, 172 — рекурсивный 50, 172 Л-упорядочение 377 BASEBALL 439 С-упорядоченне 377 CLS 232 CONVERSE 454 DEACON 443 DEDUCOM 456, 464 DOCTOR 480 ELIZA 480 FDS 297, 402 GPS 17, 402 GRIN 1 194 GRIN 2 196 HEARSAY 430 INTERPRET 416 IPL-V 329 MATCHLESS 476 PLANNER 830, 403 PROTOSYNTHEX III 449 QA2 468 QA3 468 QA4 330, 403 SPINOZA 509 STRIPS 298, 322 ZORBA 389
ОГЛАВЛЕНИЕ От редактора перевода............................................... 5 Предисловие........................................................... 8 Часть /. Введение Глава 1. Область искусственного интеллекта.......................... П 1.0. Существует ли она?........................................ 11 1.1. Решение задач............................................. 13 1.2. Распознавание образов..................................... 20 1.3. Игры и принятие решений................................... 25 1.4. Естественный язык и машинное понимание его................ 27 1.5. Самоорганизующиеся системы................................ 28 1.6. Роботика.................................................. 30 Глава 2. Программирование, структура программ и вычислимость .... 32 2.0. Важность понятия вычислимости . .......................... 32 2.1. Вычисления на цепочках.................................... 36 2.2. Формальные грамматики..................................... 43 2.3. Машины Тьюринга........................................... 49 2.4. Линейно ограниченные автоматы и языки типа 1.............. 53 2.5. Автомат с магазинной памятью и языки типа 2............... 55 2.6. Конечные автоматы и регулярные языки (типа 3)............. 57 2.7. Резюме и комментарии к практическому использованию........ 60 Часть II. Распознавание образов Глава 3. Общие соображения при распознавании образов............... 63 3.0. Классификация............................................. 63 3.1. Характеризация задач распознавания образов................ 64 3.2. Историческая ретроспектива и текущие проблемы............. 75 Глава 4. Методы классификации и распознавания образов, использующие евклидовы пространства описаний.................................... 76 4.0. Общая часть............................................... 78 4.1. Бейесовские процедуры в распознавании образов............ 78 4.2. Классический статистический подход к распознаванию образов и классификации.................................................. 85 4.3. Классификация, основанная на близости описаний............ 90 4.4. Алгоритмы с обучением.................................... 108 4.5. Группирование............................................ 117
Оглавление 557 Глава 5. Неевклидовы параллельные процедуры; персептрон............. 124 5.0. Введение и исторические замечания.......................... 124 5.1. Терминология............................................... 126 5.2. Основные теоремы для персептронов ограниченного порядка ... 130 5.3. Другие теоремы для персептронов ограниченного порядка..... 137 5.4. Возможности персептронов, ограниченных по диаметру......... 144 5.5. Важность анализа персептронов.............................. 144 Глава 6. Последовательное распознавание образов..................... 148 6.0. Последовательная классификация............................. 148 6.1. Определения и обозначения.................,................ 152 6.2. Бейесовские процедуры решения.............................. 155 6.3. Бейесовские оптимальные процедуры классификации, основанные иа динамическом программировании............................... 156 6.4. Приближения, основанные на алгоритмах ограниченного просмот- ра вперед...................................................... 158 6.5. Сходимость в последовательном распознавании образов........ 164 Глава 7. Грамматическая классификация образов....................... 172 7.0. Лингвистический подход к анализу образов................... 172 7.1. Задача грамматического вывода.............................. 175 7.2. Грамматический анализ двумерных образов.................... 200 Глава 8. Выделение признаков........................................ 217 8.0. Общие понятия.............................................. 217 8.1. Формализация подхода, использующего факторный анализ .... 219 8.2. Формализация случая двоичных измерений..................... 220 8.3. Конструктивные эвристические методы для выделения признаков 231 8.4. Экспериментальное изучение порождения признаков в распозна- вании образов.................................................. 234 8.5. Как важно быть умным . . ................................. 236 Часть III. Доказательство теорем и решение задач Глава 9. Машинное представление в решении задач..................... 245 9.0. Использование представлений................................ 245 9.1. Типы представлений......................................... 250 9.2. Комбинирование представлений............................. 255 Глава 10. Графовые представления в решении задач.................... 261 10.0. Основные понятия и определения............................ 261 10.1. Алгоритмы для нахождения минимального пути к единственной целевой точке ................................................. 264 10.2. Оптимальный алгоритм упорядоченного поиска................ 271 10.3. Деревья и их применение............................... . 278 Глава 11. Эвристические программы решения задач..................... 297 11.0. Общие замечания......................................... 297 11.1. Терминология.............................................. 298 11.2. Универсальный решатель задач.............................. 299 11.3. Фортранная дедуктивная система — автоматическое порождение таблиц связей.................................................. 312 11.4. Планирование.............................................. 317
558 Оглавление Глава 12. Доказательство теорем .................................... 337 12.0. Доказательство теорем, основанное на эрбрановской процедуре 337 12.1. Принцип резолюции.......................................... 346 12.2. Простые стратегии очищения................................. 355 12.3. Стратегии, учитывающие ход вывода.......................... 362 12.4. Синтаксические стратегии................................... 377 12.5. Семантические стратегии.................................... 379 12.6. Эвристики.................................................. 389 12.7. Кванторы................................................... 396 12.8. Задачи, использующие равенства............................. 398 12.9. Проблемы и будущие разработки.............................. 402 Глава 13. Машинное восприятие..................................... 404 13.0. Проблема восприятия........................................ 404 13.1. Зрение..................................................... 406 13.2. Восприятие машиной речи ................................... 419 Глава 14. Вопросно-ответные системы................................. 434 14.0 Постановка задачи........................................... 434 14.1. Структуры данных........................................... 437 14.2. Дедуктивный вывод в информационном поиске.................. 455 14.3. Понимание без использования логики......................... 476 Глава 15. Понимание естественного языка............................. 483 15.0. Постановка задачи.......................................... 483 15.1. Естественный язык: математическая модель................... 488 15.2. Психологическая модель..................................... 506 Глава 16. Обзор и перспективы....................................... 520 16.0. Что сделано и что нет...................................... 520 16.1. Некоторые философские проблемы............................. 524 16.2. Общая теория мышления...................................... 525 Список литературы................................................. 528 Именной указатель................................................. 546 Предметный указатель ............................................. 550
УВАЖАЕМЫЙ ЧИТАТЕЛЬ! Ваши замечания о содержании книги, ее оформлении, качестве перевода и дру- гие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский пер., 2, издательство «Мир».
Э. Хант ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ Научные редакторы А. А. Бряндинская, Л. Б. Штейнпресс Младший научный редактор А. Н. Сандерова Художник В. И. Шаповалов Художественный редактор В. И. Шаповалов Технический редактор Н. Б. Панфилова Корректор Л. Д. Панова ИБ № 1026 Сдано в набор 25.01.78. Подписано к печати 12.06,78. Формат 60Х901/1в. Бумага типографская № 1. Латинская гарнитура. Высокая печать. Объем: 17,50 бум. л. Усл. печ. л. 35,00. Уч.-изд. л. 35,41. Изд. № 1/9541. Тираж 17 700 экз. Заказ № 2349. Цена 2 р. 80 к. ИЗДАТЕЛЬСТВО <МИР» Москва. 1-й Рижский пер., 2 Ордена Октябрьской Революции и ордена Трудового Красного Знамени Первая Образцовая типография имени А. А. Жданова Союзполиграфпрома при Государственном комитете Совета Министров СССР по делам издательств, полиграфии и книжной торговли. Москва, М-54, Валовая, 28