Книга
Книга
ОТ РЕДАКТОРА ПЕРЕВОДА
,Последняя Международная конференция по проблемам искусственного интеллекта, прошедшая в США в августе 1977 г., с очевидностью показала, что это направление переживает сейчас бурный расцвет. Большие успехи за последнее время достигнуты в области создания систем для общения с ЭВМ на естественном языке, представления и приобретения знаний, эффективных автоматических помощников, облегчающих работу программиста, систем принятия решений и эвристического поиска, доказательства теорем, машинного зрения и роботоподобных устройств.
В книге профессора университета штата Вашингтон Э. Ханта, вышедшей в CIIU в 1975 г., в той или иной степени отражены все эти области, за исключением, быть может, роботики в собственном смысле этого слова. Книга озаглавлена «Искусственный интеллект». Этот термин сейчас общепринят, по крайней мере на русском языке вышел целый ряд книг с таким или почти таким названием. В то же время проф. Мак-Карти, автор ряда фундаментальных идей в этой области, недавно предложил другое название: когнология.
Неустойчивость словосочетания «искусственный интеллект» отчасти объясняется тем, что в нем используется понятие интеллекта (иногда его переводят словом «разум»), хотя создается впечатление, что все меньше и меньше надежды остается на то, что понятию «интеллект человека» в обозримом будущем будет дано точное определение, пригодное одновременно и для философов, и для математиков, и для психологов, и для обыкновенных людей.
Одна из очевидных трудностей состоит в том, что до сих пор на практике в любом конкретном примере интеллектуальной деятельности всегда случается так, что, как только приходит полное понимание процесса выбора решения в рамках этой деятельности, прилагательное «интеллектуальная» перестают применять. Такая же картина, как указывал Н. Нильсон, наблюдается и в области искусственного интеллекта. С развитием этого направления, накоп-
лением опыта и ростом технической вооруженности «деинтеллектуа- лизация» в этом смысле различных задач протекает все быстрее.
Еще недавно образование простейших условных рефлексов связывали с разумным поведением. Сегодня же известны работы по написанию программ для ЭВМ, которые по жестким алгоритмам имитируют творческую деятельность математика. Одна из таких программ (Д. Ленат), отправляясь от небольшого числа теоретикомножественных аксиом, открыла новые понятия в теории чисел, касающиеся чисел с большим числом делителей, доказала ряд интересных теорем о таких числах и сейчас продолжает свою работу...
Сегодня имеются очень хорошие (иногда дающие просто прекрасные результаты) программы игры в шашки, шахматы, программы разбора газетных текстов, довольно сложных изображений на экране телевизора, программы, обеспечивающие навигацию в неопределенных и изменяющихся условиях, манипулирования произвольными объектами с помощью одной или двух《рук», программы, обучающие человека путем изощренного диалога с ним таким мало- формализованным вещам, как поиск неисправности в радиоэлектронной схеме и т. д. и т. п.
И хотя не видно принципиальной трудности в объединении двух- трех программ, таких примеров слишком мало, чтобы всерьез говорить сейчас о возможности создания программы равноинтеллектуальной, т. е. проявляющей примерно один уровень интеллекта одновременно в самых различных областях. Время покажет, принципиальна ли эта трудность. Одно из негативных соображений состоит в том, что универсальные системы отличаются сегодня низкой степенью эффективности. Системы же специализированные работают эффективно (быстро и со сравнительно невысокими требованиями к памяти устройств) только благодаря учету конкретных особенностей данной задачи, которые, как правило, специфичны и значительно меняются при переходе к другой задаче.
Поэтому можно только приветствовать попытку Э. Ханта собрать воедино различные методы и идеи, лежащие в основе разнообразных систем, так или иначе относящихся к искусственному интеллекту. Существенно при этом то, что он не пытается отделить методы этого направления от, скажем, кибернетических методов, которые лежат в их основе. Автор считает, что искусственный интеллект базируется на идеях прикладной математики, математической логики, статистики, психологии и т. д. и что результаты, полученные в этих областях, более ценны, чем яркие результаты в области создания роботов или в машинной шахматной игре.
Как редактор перевода я не могу не отметить, что оригинальный авторский текст книги изобилует опечатками и неточностями, которые обусловлены, по-видимому, грандиозностью замысла, поставленного автором перед собой, и той оперативностью, с которой вышла книга. С любезного согласия автора мы старались их у стр а-
нить, но было бы наивно надеяться, что нам удалось устранить их все. Однако изложение книги в целом достаточно прозрачно, что обусловлено многочисленными примерами, которыми автор сопровождает свою мысль, а также разумным компромиссом между абсолютно строгим и интуитивным изложениями, который был найден автором. Нет сомнения, что настоящий перевод будет встречен с большим интересом самыми разными читателями.
В. Л. Стефанюк
ПРЕДИСЛОВИЕ
Моя книга отражает наиболее устоявшиеся взгляды в области искусственного интеллекта. Намерение написать ее возникло у меня в результате ряда наблюдений за тем, как люди, имеющие подготовку в одной области, с энтузиазмом начинают работать в другой, не осознавая в полной мере, что было сделано здесь ранее. К этому следует добавить, что обучение специалистов в области искусственного интеллекта и в известной степени вычислительных наук вообще, на мой взгляд, слишком сильно зависит от скоро проходящих научных увлечений. Слишком много усилий тратится на то, чтобы вывести студента на передний край научной области, и слишком мало, чтобы выделить и изучить фундаментальные идеи предмета. Например, в моем университете 】)в первом цикле лекций по искусственному интеллекту (разумеется, это не относится к моим лекциям) рассматриваются интересные, но не совсем относящиеся к теме теории Пиаже о развитии познавательных способностей у человека, а в дальнейшем студентов подробно знакомят с содержанием новейших (часто хороших) диссертаций, выполненных в Массачусетском технологическом институте. Недостаток такого подхода, как я себе это представляю, состоит в том, что студенту предлагается прекрасный вид на несколько деревьев (выбранных преподавателем) и не дается никакого понятия ни о самом лесе, ни о ботанике. Другими словами, я считаю, что преподаватели и выпускаемые ими учебники обязаны больше внимания уделять анализу основных принципов и проблем. Лишь после того, как это сделано, имеет смысл проводить семинары, посвященные последним, только что полученным результатам.
Итак, что же надо делать? Я попытался собрать вместе и представить здесь в меру подробное обсуждение основных математических и вычислительных подходов к проблемам искусственного интеллекта. Основное внимание было уделено принципам, а не деталям. Помимо этого, я постарался выделить главные нерешенные
1) Автор — профессор университета в Сиэтле, штат Вашингтон.— Прим, ред.
принципиальные проблемы, особенно в области машинного понимания и восприятия. В этой книге нет описания роботов. В ней также нет описания машинной игры в шахматы. Но есть рассуждения, овладение которыми поможет понять основные подходы к машинному распознаванию образов, к построению систем восприятия роботов, к дедуктивным диалоговым системам и машинным играм.
По своему уровню книга подходит студентам, специализирующимся в любой из наук, связанных с ЭВМ, или в экспериментальной психологии. Необходимо хорошо владеть алгеброй и знать основные понятия теории вероятностей, исчисления высказываний и символической логики. Для тех, кто не имеет соответствующей математической подготовки, изложение, вероятно, будет не слишком понятным.
Благодарности
Эту книгу д-р Дж. Росс Куинлан из Сиднейского университета и я намеревались написать вместе, и мы успели поработать над одной-двумя главами. Увы, наши планы расстроил Тихий океан. Оказалось просто невозможным общаться достаточно часто, особенно учитывая быстро увеличивающийся объем публикаций. Несмотря на это, Росс в большой степени ответствен за те хорошие идеи, которые я изложил в книге, и, вероятно, ему не понравятся очень немногие плохие... право же, я не знаю, какие именно. В любом случае, спасибо, Росс.
Моя следующая благодарность за научное сотрудничество адресуется д-ру Шарон Сикел, которая не раз заставляла меня обращать серьезное внимание на математическое доказательство теорем, хотя бы с целью убедиться в том, что я понимаю, о чем она говорит. Ее ясные и точные рассуждения в значительной мере определили мое изложение раздела, посвященного доказательству теорем.
Ряд моих коллег помогли мне как непосредственным участием в решении некоторых обсуждаемых здесь научных проблем, так и своими замечаниями по поводу различных утверждений и первоначального варианта текста. Я бы хотел особенно отметить Марка Стикела, Дэвида Гарната, Патрика Расселла, Эдварда Страсбургера и Майкла Делея ——все они из Вашингтонского университета. Очень полезные замечания по тексту сделали Эдвард Картеретт из УКЛА, Корделл Грин из Стэнфордского университета и А. А. Марли из Мак-Гилла. “
Большинство упоминаемых здесь оригинальных исследований были выполнены по заказу Отдела научных исследований ВВС США. Общий план книги определился в результате обсуждения с людьми, занимающимися различными применениями вычислительных машин в ВВС, какого рода справочное руководство было бы им полез-
но. Именно тогда стала особенно очевидной и была наиболее ясно выражена необходимость в книге, содержащей основные методы. Д-р Гленн Финч, в то время работавший в отделе научных исследований, в течение нескольких лет был постоянным источником ободрения и поддержки.
Много помощников работали над рукописью книги на различных этапах. Я не буду называть их имена. Они все хорошо потрудились. Если бы не любезность многих ученых, которые откликнулись на мои просьбы о препринтах и включили меня в свои рассылочные списки, я не смог бы написать книгу такого плана, как этого не смог бы сделать и никто другой.
В период написания этой книги я занимал пост декана факультета психологии Вашингтонского университета. Мои коллеги по факультету с уважением отнеслись к идее, что их руководитель также должен заниматься наукой, и самостоятельно решали многие административные вопросы, так что у меня была возможность заниматься научной деятельностью. Я ценю это.
Ни издательство «Академик пресс», ни моя семья не бросали меня в течение длительных периодов, когда я был мало контактным и казался неспособным получить какие-нибудь осязаемые результаты. Сейчас работа завершена, и издательство получило рукопись, а моя семья — больше времени для общения со мной. Я надеюсь, что не только они будут довольны.
Часть /
ВВЕДЕНИЕ
Глава /
ОБЛАСТЬ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
7・0・ Существует ли она?
В университетах США действуют более 100 учебных программ в области вычислительных наук. По существу каждая из них включает курс под названием искусственный интеллект. Фактически, как оказалось, методами программирования, предназначенными для исследований по искусственному интеллекту, занимается больше людей, чем методами обработки коммерческих данных (Эллиот, 1968). Эти учебные программы отражают соотношение между соответствующими объемами проводимых научных исследований. Издается журнал под названием Artificial Intelligence („Искусственный интеллект") и серия отчетов о научных конференциях по машинному разуму. Что же дает начало этой бурной деятельности?
Если бы физики или химики взялись дать абстрактные определения своих областей знания, то вы скорее всего не нашли бы разногласий ни среди тех, ни среди других. Вряд ли бы обнаружилось такое единодушие, если бы пришлось собрать вместе разных ученых, занимающихся искусственным интеллектом. Интересно, однако, что, познакомившись детально с учебными курсами, которые они читают, и исследованиями, которые они проводят, вы, вероятно, нашли бы у них много общего. Рекомендованная Ассоциацией по вычислительной технике (АВТ) программа по вычислительным наукам содержит основу для курса A9t Искусственный интеллект, в которой перечисляются: доказательство теорем, игры, распознавание образов, решение задач, адаптивное программирование, принятие решений, сочинение музыки вычислительной машиной, обучающиеся сети, обработка данных на естественном языке, а также вербальное и концептуальное обучение в качестве подходящих для изучения тем (Комитет по учебным программам АВТ, i968). Подобные направления отражены и в научной литературе. Таким образом,
12 Гл. 1. Область искусственного интеллекта нет сомнений в факте существования этой области научной деятельности. Но какова степень ее значимости?
В одном из тестов, предназначенных для проверки жизненности научного направления, предлагается ответить на вопрос: „Влияет ли данное научное направление на области знания, тесно связанные с ним?". По этому критерию искусственный интеллект оценивается достаточно высоко. Методы программирования, развитые для исследований по искусственному интеллекту, широко распространились в области программирования для ЭВМ вообще. Многие концепции искусственного интеллекта, несомненно, повлияли на развитие психологии в ряде ее областей (Хант, 1968; Фридзида, 1972; Лоэлин, 1968; Миллер, Галантер и Прибрам, 1960; Вейсстейн, 1969). В химии методы искусственного интеллекта были применены к анализу данных масс-спектроскопии (Ледерберг и Фейгенбаум, 1968) и при планировании синтеза органических молекул (Кори и Випке, 1969).
Оказалось, что существует содержательная область знаний, общие принципы которой трудно выделить. Проблема, по-видимо- му, заключается в определении понятия интеллекта. Психологи, которые некоторое время занимались проблемой определения интеллекта, приняли прагматический подход, состоящий в том, что интеллект ——это то, что измеряется в интеллектуальных тестах. Также поступлю и я. Для первых 90% этой книги „искусственный интеллект*4 будет означать просто набор дисциплин, изучаемых в соответствующих курсах по искусственному интеллекту. Я выделю группу тем, для меня наиболее интересных или важных, и буду говорить о них достаточно подробно. Принимая этот подход, я откладываю рассмотрение таких нерешенных общих философских вопросов, как „Может ли машина думать?** и „Можно ли говорить, что машина понимает?**, до тех пор, пока не будет установлена общая основа фактического знания. С этой целью книга разделена на четыре части. Первая содержит обзор различных направлений искусственного интеллекта (гл. 1) и попытку соединить проблемы искусственного интеллекта с некоторыми нашими представлениями о вычислимости и абстрактных вычислительных устройствах (гл. 2). Я не буду пытаться дать исчерпывающую историю вопроса, но подобная книга должна содержать некоторый обзор и по крайней мере несколько замечаний об историческом развитии области. Кроме того, глава об абстрактных вычислениях будет не строгим введением в эту проблему, а скорее очерком общего понятия вычислимости с акцентом на взаимосвязи между теорией вычислимости и искусственным интеллектом.
Остальные главы делятся на разделы, посвященные трем независимым направлениям исследований, являющимся основой всего искусственнЪго интеллекта: распознаванию образов, решению задач и машинному восприятию и пониманию. Я не пытался дать подроб-
ный обзор литературы (по этому вопросу опубликовано более 1500 статей). Моя цель ——детально объяснить подходы и принципы, наиболее перспективные в каждой из обсуждаемых областей. Таким образом, полнота изложения здесь приносится в жертву; многие исследования просто не упоминаются.
Начав работу над этой книгой, я скоро понял, что анализ прежних опубликованных отчетов просто не даст ответов на некоторые важные вопросы, которые могут возникнуть у читателя. Поэтому наряду с разбором таких вопросов будут представлены не опубликованные ранее исследования. В основном эта работа посвящена доказательству теорем и распознаванию образов ——областям, наиболее существенным для остальных исследований в искусственном интеллекте. Большая часть материала представляет собой скорее попытки заполнить пробелы, чем расширить знания о рассматриваемых подходах к проблеме.
В последней главе я обратился к философским вопросам, которых до сих пор избегал. Мой ответ на вопрос „Может ли машина ду- мать?<(, возможно, не удовлетворит приверженцев двух крайних точек зрения.
/./. Решение задач
Термин „решение задач" имеет довольно ограниченное значение в лексиконе искусственного интеллекта. Задача считается поставленной, когда известны текущее состояние, описание характеристик целевого состояния и операции, с помощью которых можно переходить от одного состояния к другому. При этом возможны ограничения, учитывающие, что на пути решения в определенные состояния приходить не следует. Эта формулировка известна как подход в пространстве состояний. Несколько следующих примеров показывают, насколько широко он применим.
В задаче о миссионерах и людоедах три миссионера и три людоеда хотят переплыть реку с левого берега на правый. Имеется лодка, вмещающая двух человек. Все умеют грести. Задача состоит в том, чтобы доставить всех шестерых на правый берег при одном ограничении: число миссионеров на любом берегу реки никогда не должно быть меньше числа людоедов на этом берегу. Чтобы перевести эту задачу на формальный язык, будем считать, что состояние определяется числом миссионеров и людоедов на левом берегу и положением лодки. Начальная позиция ——(3, 3, Л), целевое состояние ——(0, 0, П) 9- Операторы определяются допустимыми передвижениями лодки.
При доказательстве теорем заданы множество истинных утверждений (посылки) и утверждение, истинность которого неизвестна
〃 н П — первые буквы слов «левый» и «правый».— Прим, перев.
(тео рема, подлежащая доказательству). Используя последовательность допустимых операцийг, таких, как правила вывода в алгебре или тригонометрии, расширяем множество истинных утверждений так, чтобы включить в него теорему. Состояния определяются проверенными к текущему моменту утверждениями; операторы задаются правилами вывода.
Данную шахматную позицию преобразуйте в такую, где королю противника ставится мат. По пути к этой позиции избегайте положений, в которых ваш собственный король получает мат или возникает патовая ситуация. Позиции на доске определяют состояние, а отдельные ходы — операторы.
Было отмечено (Фзйгенбаум, 1968), что современные исследования по искусственному интеллекту начались с попыток Аллена Ньюэлла, Герберта Саймона и Дж. Шоу написать программы, решающие задачи. Их исследования проводились совместно в корп。- рации РЭНД и Технологическом институте Карнеги (теперь Университет Карнеги-Мелон). С идейной точки зрения работа РЭНД —— Карнеги была важна как сама по себе, так и потому, что она задала тон многим другим исследованиям. Методы же программирования, развитые в ходе этих работ, стали широко использоваться в вычис* лительных науках вообще.
Ньюэлл и его коллеги (1957) сначала создали программу Ло- гик-Теоретик (ЛТ), предназначенную для доказательства теорем в исчислении высказываний. С помощью ЛТ были успешно доказаны 38 из 52 теорем гл. 2 книги Уайтхеда и Рассела ') „Principia Mathematical. Поскольку „Principia<( считается одной из фундаментальных работ, устанавливающих логические основания математики, достижения ЛТ непременно должны были вызвать интерес. Нетрудно преувеличить или, наоборот, неоправданно уменьшить значение успеха ЛТ в воспроизведении результатов ”Principia" (ссылки здесь намеренно опущены), так что полезно было бы иметь точное представление о том, что же было сделано.
Доказательства теорем из гл. 2 книги Уайтхеда и Рассела не произведут на математика впечатления большой глубины. Способные студенты университета, как правило, могут выполнить боль- ши нствэ из них. Яркость достижения Уайтхеда и Рассела состоит не в доказательстве самих теорем, а в осознании того, что их доказательство может служить основой построения, ведущего от логики к математике. Это было большим творческим актом, который Ньюэлл, Саймон и Шоу и не пытались имитировать на вычислительной машине. С другой стороны, задачи гл. 2 не вполне тривиальны. Эти
丄)Решения 12 из 14 нерешенных задач не были доведены до конца из-за ограниченности физических возможностей ЭВМ, имевшихся в то время. Остальные выходили за пределы логических возможностей алгоритма. Модифицированный алгоритм ЛТ на более мощной ЭВМ позднее доказал все 52 теоремы (Стефферуд, 1963).
доказательства, возможно, вне понимания 60% человечества —— факт, который, вероятно, останется незамеченным, если ваш круг знакомых составляют лишь кандидаты наук или соискатели. Ньюэлл и его коллеги неоднократно подчеркивали, что истинное значение программы не в произведенных ей доказательствах, а в том, как она их осуществила. Доказательство теорем — пример большого класса задач, методика решения которых в принципе известна, но не пригодна для практического использования. Например, следующий исчерпывающий метод гарантирует получение доказательства для любой доказуемой теоремы ——но это может занять некоторое время...
Начиная с посылок, запишите все выводы, которые можно получить, комбинируя по-разному два или более известных истинных утверждения. Проверьте, не содержит ли полученное таким образом множество утверждений теорему или ее отрицание. В первом случае теорема доказана, в последнем опровергнута. Если не произошло нн то, ни другое, добавьте это новое множество утверждений к посылкам н повторите процедуру. Существует такое число п, что доказательство (или опровержение) будет получено на n-м шаге, но ничего нельзя сказать относительно того, какового это число х>.
Ньюэлл, Саймон и Шоу назвали эту процедуру алгоритмом Британского музея, так как она казалась им столь же разумной, как посадить за пишущие машинки обезьян для того, чтобы заново написать все книги, имеющиеся в Британском музее. Они предложили вместо нее следующий эвристический подход — термин, заимствованный у Пойа (1954, 1957), который считал, что большинство математических доказательств производится на основе догадки о характере решения и затем проверки того, что догадка правильна. Пойа противопоставлял это алгоритмическому способу — механическому осуществлению всех шагов, которые в конце концов обязаны привести к правильному ответу ). Алгоритм Британского музея является, очевидно, алгоритмическим. То, что было сделано Ньюэллом и его коллегами, заключалось в написании ряда правил (т. е. программы) для порождения догадок и затем проверки их правильности. Эта идея быстро привилась, и сегодня об „эвристическом программировании* говорят уважительно и до некоторой степени таинственно как о передовом способе программирования, хотя оно
16 Ем L Область искусственного интеллекта вовсе и не способ программирования, а скорее способ размышлять о том, что предположительно будет делать программа при попытках решения поставленной задачи.
При написании программы Логик — Теоретик Ньюэлл, Саймон и Шоу столкнулись с задачами, которые заставили их разработать новый важный прием программирования, обработку списков. Это метод организации памяти ЭВМ так, чтобы основными операндами были упорядоченные множества (списки), а не переменные. Техника обработки списков нашла широкое применение в вычислительных науках (Кнут, 1969). Можно также привести доводы в пользу того, что при обработке сложной информации весьма удобен язык для оперирования списками, так как обработка списков ——очень важный инструмент во многих приложениях, использующих в основном символьную, а не численную обработку.
Характерным для подхода РЭНД — Карнеги к решению задач был большой интерес к тому, каким образом люди решают задачи. Программа для ЭВМ представляет собой точно определенное множество правил для работы с данным классом задач. Допустим, что удалось установить разумное соответствие между входом и выходом некоторой программы и стимулами и реакциями, наблюдаемыми в лаборатории психолога. Тогда можно сказать, что на уровне обработки информации эта программа является моделью человека (Ньюэлл, Саймон и Шоу, 1958; Ньюэлл и Саймон, 1961, 1972). Однако моделирование человеческого мышления и создание хорошего решателя задач не одно и то же, так как лишь в одном из этих случаев критерий успеха состоит в получении хорошего решения задач. Ньюэлл и Саймон (1961) не считали эти цели несовместимыми и, очевидно, использовали знание процесса решения задач человеком, чтобы предложить структуру эвристических программ, и обратно. Интуитивно это можно оправдать тем, что люди — это наиболее способные решатели задач; поэтому, если мы хотим построить искусственный разум, нам следовало бы изучить сначала, как работает естественный.
Слабость довода о том, что программирование должно подражать человеческому интеллекту, обнаруживается, когда вы занимаетесь решением задач в специализированной области, для которой методы, не свойственные человеку, могут оказаться достаточно хорошими. Работа Ньюэлла и др. по математическому доказательству теорем подвергалась критике на основании того, что существуют более эффективные, чем алгоритм Британского музея, методы полного перебора, и что использование более совершенных из них может дать лучшие результаты (Уэнг, I960). Эта критика в некотором отношении несостоятельна, поскольку Ньюэлл с коллегами больше интересовались поисками достаточно общих методов, чем собственно результатами доказательства теорем. По этой же причине для Ньюэлла и др. было удобно изучать в качестве примера общего клас-
са задач теоремы из „Principia**, хотя в теории групп могли бы найтись проблемы, более интересные для математика.
Скептик возразит, что умения решать задачи вообще, без связи с какой-либо содержательной областью, не может быть. Следующий проект Ньюэлла с сотрудниками, программа „Универсальный решатель задач" (GPS 】))содержит попытку показать, что (а) такое умение существует и (б) оно может обсуждаться на очень конкретном уровне программирова ни я для ЭВМ. В то время как в программу ЛТ были явно встроены операции, использованные в формализации Уайтхеда и Рассела для исчисления высказываний, GPS был про граммой для работы с операторами и состояниями на абстрактном уровне. Чтобы применить GPS при решении конкретной задачи, надо задать структуру характерных состояний и операторов (например, размещение миссионеров и людоедов и передвижение лодки) в этой программе. Такая процедура спецификации была названа описанием проблемной среды. Программа GPS пригодна для любой задачи, допускающей преобразование в удобную проблемную среду. Целью исследований GPS было показать, что правильно конкретизированные универсально применимые процедуры (т・ е. программы) приводят к решениям, которые, будучи получены людьми, оцениваются как весьма разумные. Список задач, с которыми работали GPS и сходные программы, включает элементарную логику, шахматы, выраженные словами школьные алгебраические задачи и ответы на вопросы, заданные на несколько нечетком английском языке, но относящиеся к очень ограниченной базе данных. В одном из наиболее обширных исследований программа GPS употреблялась для решения десяти разных небольших задач в областях от интегрирования неопределенных интегралов до головоломки о миссионерах и людоедах (Эрнст и Ньюэлл, 1969).
Для нескольких случаев Ньюэлл и Саймон привели в качестве довода, подтверждающего, что их программа моделирует человеческое мышление, сравнение записей доказательства теорем программами с записями комментариев* „думающего вслух" человека. В 1972 г. они опубликовали много таких данных и предложили общую методику составления программ, предназначенных для моде* лирования мышления (Ньюэлл и Саймон, 1972).
Примерно в то же время, когда работы группы РЭНД — Карнеги стали привлекать к себе внимание, в Массачусетском технологическом институте (МТИ) сформировалась тесно с ней связанная и такая же активная группа под руководством Марвина Минского и Джона Мак-Карти. Впоследствии Мак-Карти и Фейгенбаум, член группы Карнеги, вдвоем ушли в Стэнфордский университет, который вместе со Станфордским исследовательским институтом также стал ведущим центром в занятиях искусственным интеллектом.
工)General Problem Solver.— Прим, перев.
И непосредственно через исследования членов групп, и косвенно, вследствие того, что был вовлечен престиж соответствующих институтов и университетов, группы МТИ и Станфорда оказали сильное влияние на американские работы по решению задач на ЭВМ х).
В противоположность ранним исследованиям Карнеги — РЭНД исследования в МТИ больше относились к формальным математическим представлениям. Среди типичных разрабатывавшихся проблем были интегрирование неопределенных интегралов (Слейгл, 1963), вопросно-ответные системы с использованием простых баз данных (Рафаэль, 1964), объединение дедуктивных рассуждений с информационным поиском (Мак-Карти, 1959; Слейгл, 1965; Грин, 1969) и неувядаемая проблема игры ЭВМ в шахматы (Гринблатт и др., 1968). Казалось, что Мак-Карти, Минский и их коллеги рассматривали искусственный интеллект скорее как расширение математики и символической логики, чем как дисциплину, параллельную психологии. Они были крайне аккуратны в формализации вычислительных процедур и соотношении их с математикой в более традиционном понимании, в частности с теорией рекурсивных функций (Мак-Карти, 1961; Беркли и Бобров, 1964). Заслуживают рассмотрения также попытки Амареля (1968) и Бенерджи (1969) формализовать процессы решения задачи, поскольку они представляют собой независимые усилия, направленные к той же цели. Стремление к формализации имеет большую потенциальную ценность, ибо для построения точной и жизнеспособной теории процесса решения задач нужен адекватный формализм. С другой стороны, такой теории сейчас нет, и мы чувствуем, что для многих частных проектов искусственного интеллекта неформальный подход типа подхода Ньюэлла и Саймона будет столь же удовлетворительным, как и отпугивающие зачастую формализмы, которые предлагались.
Еще один подход с иных позиций к решению задач, основанный на идеях математика Дж. Робинсона (1965), также сильно повлиял на работу в области машинного мышления. При узком понимании Робинсон использовал лишь один новый подход к доказательству теорем в формальной логике; но его методы можно применить фактически к любой ситуации, которую мы обычно связываем с решением задач. Как мы увидим далее, технические детали этого метода могут показаться слишком сложными. Основная же логика совсем проста. Истинность любого утверждения можно обосновать, показав, что его отрицание ложно. В задачах доказательства теорем надо установить, что утверждение
AnB, (1)
С 1965 г. группы МТИ н Станфорда приложили много усилий в области проектирования и создания роботов ——проблемы, которой не касались Ньюэлл, Саймон и их коллегн. Точно так же с 1965 г. группа Ньюэлла — Саймона, видимо, стала склоняться больше к занятиям психологическими проблемами. Естественно, любое такое утверждение нельзя относить ко всем членам группы.
где А — условие задачи, в В — нужное заключение, истинно. Предположим теперь, что А и В — множества утверждений. Если бы мы хотели доказать истинность утверждения (1) с помощью подхода Ньюэлла и Саймона, мы начали бы с множества Ао аксиом и применили бы некоторые правила вывода для получения нового множества Ai аксиом и утверждений-следствий. Затем применили бы какие-то правила вывода к Ах для получения множества А2 и далее третьего множества, четвертого и т. д., пока не обнаружилось бы, что некоторое множество А; содержит в качестве своего подмножества В, т. е. множество утверждений, подлежащих доказательству.
Другой способ доказательства истинности утверждения (1) состоит в том, чтобы показать, что его отрицание
](АпВ)= 1(】АиВ) = (А・】В)(2)
ложно 1). Это можно осуществить, показав, что одновременная истинность А и 1 В приводит к противоречию. Робинсон предложил применять для этого всего одно правило вывода, называемое резолюцией. Продемонстируем его идею на простом примере. Рассмотрим известную ситуацию из водевиля:
„Если эта дама приходится Чарли тетей, то она должна прийти с Чарли. Но ее никогда не видели вместе с Чарли".
Сделаем довольно очевидный перевод на язык математической логики:
П1 (Тетя(дама, Чарли)з)Присутствует(дама, Чарли)) .
П2(1 Присутствует(дама, Чарли))'丿
Пусть А обозначает „Тетя (дама, Чарли)<( и Р — „Присутствует (дама, Чарли)4*. Предложения (3) представляют собой аксиомы задачи. Гипотезой здесь является то, что дама не приходится Чарли тетей 2), и это записывается как ] А. Для доказательства этого с помощью резолюции мы должны взять отрицание нашей гипотезы (т. е. (А)) и добавить к аксиомам полученные в результате предложения. Тогда, переписав предложение П1 в дизъюнктивной форме, получим предложения
П1 (ПАиР),П2 (IP), ПЗ (А).(4)
Исследуем теперь второй этап вывода по методу Робинсона. Пусть два предложения имеют форму (A (J В) и (^ A (JC). Тогда
(АиВ)・(]АиС)п(ВиС).(5)
Всюду в этой книге-] будет обозначать отрицание, (J ——дизъюнкцию и — конъюнкцию. Заметим, что если В ——множество утверждений, которые, будучи взяты вместе, должны интерпретироваться как единое утверждение, то '[В — дизъюнкция отрицаний каждого утверждения из В.
2)《Она》была переодетым Чарли.
Вывод такого рода называют резолюцией предложений, стоящих слева от знака о, а предложение справа —резольвентой. Если объединяются два предложения вида (А) и (1 А), то приходим к противоречию. Формально можно считать резольвентой двух таких предложений пустое предложение ( ). Вывод пустого предложения показывает, что исходное множество содержало противоречие (возможно, имплицированное).
На основе изложенного мы имеем теперь два способа доказательства с помощью резолюции утверждения о том, что дама не приходится Чарли тетей. В одном из них резолюция предложений П1 и П2 дает предложение (]А), и его резолюция с ПЗ приводит к противоречию. Второе доказательство предоставляем читателю.
На практике возникает много осложнений, которые мы здесь даже и не упоминаем. Однако можно показать, что резолюция является исчерпывающим методом доказательства. Это значит, что если из некоторого множества предложений противоречие можно получить каким-то приемлемым методом доказательства, то его можно получить и с помощью резолюции. В терминологии Пойа, следовательно, резолюция — это скорее алгоритм, чем эвристика. В дальнейшем мы увидим, что в практических приложениях резолюции эвристические приемы играют важную роль.
Известно много усовершенствований основного метода резолюции. Наиболее существенные из них обсуждаются в части III. Помимо конкретных результатов, работа Робинсона привела, во-первых, к тому, что основное внимание в исследованиях по искусственному интеллекту переместилось от попытки воспроизвести решения задач на ЭВМ человеком к разработке машинно-ориентированных методов. Во-вторых, был возрожден интерес к практическим приложениям методов доказательства теорем, в особенности к автоматизированному информационному поиску.
12 Распознавание образов
Быть может, это и верно, что любой объект является единственным в своем роде, но жизнь была бы невозможна, если бы мы относились к этой мысли слишком серьезно. Для многих целей мы находим удобным считать уникальные существа типичными: типичным персоналом станций обслуживания, типичными лифтерами или сборщиками налогов. Мы применяем знания характеристик общего класса для определения наших действий в конкретном случае, однако во избежание неприятностей следует научиться правильно проводить классификации. Именно эту способность предлагалось считать основой разумного поведения (Боурн, 1966; Брунер, Гуд- нау и Остин, 1956; Гилфорд, 1967; Хант, 1962). Для людей осуществление весьма тонких классификаций — такое обыденное дело, что мы не осознаем, насколько впечатляющ этот процесс. Мужчина,
вернувшись домой, сразу узнает свою жену, ребенка, собаку. Очевидно, различия между тем, как жена и тем более собака выглядели утром и вечером, незначительны, но именно в них суть дела. Как мы определим для ЭВМ, какое изменение образа несущественно, а какое потребует новой классификации?
В своей важной ранней работе Селфридж (1959) предложил осуществлять распознавание образов вычислением взвешенной суммы ряда „рекомендованных44 классификаций, каждая из которых основана на различных характеристиках распознаваемого объекта (признаках). Хотя индивидуальные рекомендации могут носить почти случайный характер, система в целом может быть достаточно точной. Развитие этой идеи ведет к параллельному методу распознавания образов. Можно считать, что каждый объект имеет простейшее описание, представляемое вектором, элементы которого служат аргументами для ряда функций, и значения этих функций уже сосчитаны. Они в свою очередь служат аргументами для некоторой решающей функции, которая определяет окончательную классификацию.
Это описание, не отражающее полностью идей Селфриджа, представляет распознавание образов как задачу классификации векторов, или точек в /г-мерном пространстве. В монографии Себестиана (1962), связывающей задачи распознавания образов с математической теорией решений, и в блестящем обзоре Мейзела (1972) методов распознавания образов этому подходу была придана более явная форма. Указанные аспекты распознавания образов тесно связаны с классическими статистическими методами многомерного анализа (Андерсон, 1958; Тацуока, 1971).
К проблеме распознавания образов можно подходить также, отталкиваясь от аналогии с биологическими процессами. В некоторых условиях способности животных к распознаванию образов превышают способности любой машины, которую только можно построить. Для простоты мы рассмотрим лишь человеческие способности. При классификации, основанной на непосредственном сенсорном опыте, т. е. при распознавании лиц или произнесенных слов, люди легко превосходят технические устройства. В „несенсор- ннх" ситуациях действия людей на столь эффективны. Например, люди не могут соперничать с программами классификации образов, если правильный способ классификации включает логические комбинации абстрактных свойств, таких, как цвет, размер и форма (Хант, Марин и Стоун, 1966). Проблему осложняет то обстоятельство, что в этих ситуациях не ясно, по какой причине люди действуют нестабильно .(т. е. очень хорошо или очень плохо). Какой тип распознавания образов используется в рассуждениях по аналогии? Этот вопрос представляет большой интерес.
Поскольку распознавание образов должно быть функцией нейронов животного, можно искать ключ к биологическому распоз-
наванию образов в свойствах самого нейрона. Для многих целей нейрон можно рассматривать как пороговый элемент. Это значит, что он либо дает на выходе некоторую постоянную величину, если сумма его входов достигает определенного значения, либо же остается пассивным. Мак-Каллок и Питтс (1943) доказали, что любую вычислимую функцию можно реализовать с помощью должным образом организованной сети идеальных нейронов ——пороговых элементов, логические свойства которых с достаточным основанием можно приписать реальному нейрону. Проблема состоит в том, можно ли найти какой-то разумный принцип реорганизации сети, позволяющий случайно объединенной вначале группе идеальных нейронов самоорганизоваться в „вычислительное устройство*4, способное решать произвольную задачу распознавания образовх). Такой принцип реорганизации явился бы теорией обучения, применимой на уровне отдельного нейрона. Интуитивно ясно, что такой принцип должен существовать, поскольку можно видеть, что животные действительно обучаются новым правилам классификации и смешно было бы полагать, что в них с рождения „запаяны" все классификации, которым можно обучиться 3).
Нейрологическая теория обучения, выдвинутая канадским психологом Хеббом (1948), хотя и была рассчитана вначале на использование в качестве модели, предназначенной только для психологии, оказала большое влияние на искусственный интеллект. Ее модификация применялась при определении принципов системы распознавания образов, получившей название персептрон (Розенблатт, 1958, 1962). Персептрон, или, точнее, персептроны (ибо то, что описал Розенблатт, было скорее принципом построения программ, нежели единственной программой) существуют и в форме программ, и как специально сконструированные аналоговые вычислительные машины. Значительные усилия были направлены на анализ общего класса систем распознавания образов, которые представляют персептроны. Были развиты понятия систем линейного распознавания образов и систем пороговой логики. Первый термин относится к методу объединения индивидуальных решений распознающих элементов, соответствующих различным характеристикам, а второй — к использованию устройств, вырабатывающих постоянный сигнал,
Допустим, что каждый объект, подлежащий классификации, полностью описывается вектором, состоящим не более чем из 也 двоичных цифр. Тогда существует не более 2衣 различимых объектов. Нам нужна функция, которая, получив одно из возможных описаний, дает 1 тогда и только тогда, когда описанный объект принадлежит некоторому классу, и 0 в противном случае. Один из выводов работы Мак-Каллока и Питтса заключается в том, что такую функцию можно построить на сети идеальных нейронов.
Более серьезной кажется мысль о том, что животные предрасположены к обучению определенным типам функций. Нервная система в целом, несомненно, не совсем случайна. В то же время генетический код не содержит достаточной информации для определения всех деталей нервной системы взрослого человека.
если уровень их входных сигналов превышает некоторую фиксированную величину. Была разработана содержательная математическая теория (Нильсон, 1965а), вершиной которой является анализ круга задач, решаемых с применением линейных пороговых логических систем (Минский, Пейперт, 1969).
В работах с персептронами основное внимание уделяется установке весов, приписываемых фиксированному множеству 翠ек:оров признаков. Это совпадает с формулировкой задачи, данной Селфриджем. Альтернативный метод распознавания образов сводится к поиску „хороших" признаков, которые так четко проводят разделение между классами, что определение подходящего правила при- пйсывания весов признакам не представляет труда. Этому подходу уделялось большое внимание в ряде исследовательских проектов, в особенности руководимых Уром и его сотрудниками (Ур,〔體 Ур и Восллер, 1963), и в советской литературе (Бонгард, 1УЫ). Последние статьи в журнале Pattern Recognition свидетельствуют, что все большее значение придается обнаружению признаков, не- жели определению их весов.
Системы распознавания образов, упоминавшиеся до сих пор, представляют собой по меньшей мере аналоги биологического распознавания образов. В биологии термин „распознавание образов неявно относят к классификации на сенсорном уровне. Это проявляется в постоянном обращении к зрительным примерам распознавания образов. Психологи употребляют термин „обучение понятиям^ по отношению к задаче, которая математически совпадает с задачей распознавания образов, но отличается от нее в психологическом аспекте. Эту разницу легко проиллюстрировать следующим примером. Вообразим, что написана программа, различающая изображения мужчин и женщин. Что в этом случае означает „показать изображение вычислительной машине**? Это значит, что полутоновые от・ Тенки небольших участков изображения каким-то способом закодированы в числах и полученный вектор взят в качестве входа для программы распознавания образов. Очень простои пример приведен на рис.
Программа, далее, должна классифицировать уже векторы, а не изображения. Можно противопоставить ее программе, применяемой для классификации животных по их виду и роду. Обучение происходило бы путем сообщения программе описаний животных и правильного указания их вида и рода. На элементарном уровне программа считывала бы множество признаков, описывающих животное, и сводила бы их к упорядоченному множеству кодов. Программа распознавания образов и в этом случае классифицировала бы векторы. Поскольку эти задачи эквивалентны на машинном уровне, видимо было бы разумным, чтобы для вывода правил классификации образов в обоих случаях применялась одна и та же программа. Однако, если мы думаем о том, как человек мог бы осуществлять
24 Гл. 1. Область искусственного интеллекта обучение этим задачам, нам кажется, что восприятие и познание могут как-то различаться.
Те ученые, которые больше интересуются познавательной стороной задач распознавания образов, фактически разработали алгоритмы, заметно отличающиеся от полученных теми исследователями, кто при решении этой проблемы начинал с сенсорного уровня. Вместо проведения ряда параллельных опытов и оценивания общих результатов, в алгоритмах логической классификации, как правило, начинают с небольшого числа опытов и в зависимости от их
1, 0,0,11, 0,0,1о,1,0,1о,1,0,11,1,0, о1,1,0, о
1, 0,0,1
1, 0,0,1
о,1,0,1
о,1,0,1
1,1,0, о
1,1,0, о
Рис. 1.1. Простой пример того, как изображение кодируется в вектор для задачи распознавания образов. Большой прямоугольник разбивается на четыре квадранта. Если верхний левый квадрант заштрихован, то первая компонента вектора равна 1, в противном случае — 0. Такие же правила применяются и к другим квадрантам и компонентам вектора.
результатов либо проводят второй тест, либо выполняют классификацию объекта. Характер второго теста может зависеть от результатов первого. Этот процесс, очевидно, можно распространить на любое число тестов. Правила классификации такого рода называются последовательными процедурами принятия решений. До последнего времени эти методы мало освещались в литературе по искусственному интеллекту, хотя такие же процедуры изучены подробно в статистике и исследовании операций. Интересно отметить, что по крайней мере в одном случае, когда подход к логическому распознаванию образов был осуществлен с чисто статистических позиций (Морган и Сонквист, 1963), полученные алгоритмы вычисления были очень похожи на те, что появились после независимо выполненной работы Ханта, Марина и Стоуна (1966) в области искусственного интеллекта. В последние несколько лет в литературе по распознаванию образов все большее значение придается последовательным процедурам (Фу, 1969а).
Очень может быть, что зрение человека — наиболее тонкая среди существующих систем распознавания образов. Очевидно, что вычислительная машина должна иметь возможность рассматривать зрительную сцену и анализировать ее так, как это делает человек. В большинстве научно-фантастических телевизионных сценариев считается, что для вычислительных машин будущего это станет обычным делом. В действительности же проблема машинного зрения представляет собой ряд очень трудных задач. Анализ зрительных сцен оказывается в сущности невозможным, если анализирующее устройство не содержит логическую модель наблюдаемой сцены, позволяющую разрешать неоднозначности изображений на входе. Это заключение едва ли будет неожиданным для психологов, которые занимались константностью восприятия 】)и иллюзиями, и не удивительно, что некоторые предложения о том, как ЭВМ должна обрабатывать зрительные данные, заимствованы из современных исследований по зрению человека. Точно так же стремление наделить вычислительную машину глазами вызвало идеи, которые могли бы использоваться при создании теорий человеческого зрения, хотя характер этого соответствия не совсем ясен (Вейсстейн, 1969). В настоящее время мы в состоянии дать лишь беглый обзор этой быстро меняющейся области, основные методы которой, возможно, еще не сформировались.
7・3・ Игры а принятие решений
Попытки программировать на ЭВМ игры были характерны для современного искусственного интеллекта с момента его возникновения. Несомненно, одна из причин заключается в том, что эта проблема в некотором смысле вызывающая. Люди играют в сложные игры. Очень легко показать, что s принципе можно составить программу, умеющую играть в совершенстве в любую настольную игру ). Однако никто еще, кажется, не смог написать программу, игра которой была бы сравнима с лучшей игрой человека.
Вторая, более общая причина для занятий игровыми программами, связана с тем, что они могут представлять общий класс задач, с которыми в настоящее время вычислительные машины справляются довольно плохо. В великолепной статье Ньюэлла, Саймона и Шоу (1958) о первых попытках программирования шахматной игры указано, что в игре содержится слишком много альтернативных продолжений, чтобы ЭВМ могла исследовать каждый ход, и по-
тому в хорошей шахматной программе должны быть эвристики, позволяющие ограничиться исследованием лишь разумных ходов. Кроме того, для выигрыша не нужно каждый раз находить наилучшие ходы ——достаточно просто неплохих. Можно надеяться, что, занимаясь играми, мы научимся с помощью вычислительных машин находить удовлетворительные, хотя и не обязательно оптимальные решения очень сложных задач. По более пессимистическим прогнозам может оказаться, что все усилия в этой области приведут лишь к формализации стратегий для отдельных изучаемых игр.
Третье основание для изучения игр на ЭВМ заключается в том, что в этой области большую роль играет обучение, хотя сам процесс не вполне понятен. Объяснение умному человеку шахматных правил еще не делает его выдающимся игроком. Необходим опыт, но не ясно, что это такое. Если бы мы могли составлять эффективные игровые программы, которые использовали бы свой опыт, возможно, появились бы некоторые идеи о том, что же значит обучаться, решая сложные задачи. Сэмюэль (1959, 1963, 1967), чья работа по игре в шашки является, наверное, наиболее изощренным исследованием по самоорганизующимся программам для игр, подчеркивал, что суть его работы не в исследовании шашек самих по себе, а в изучении процесса машинного обучения, в котором шашки берутся лишь в качестве удобного объекта.
Работы по игровым программам развивались почти независимо от математических исследований в области „теории нгр". Это отчасти можно объяснить тем, что данные два направления преследуют различные цели. Математический анализ игр изучает стратегии, которым должен следовать идеализированный совершенный игрок. При программировании же действий игрока пытаются добиться приемлемой игры при определенных ограничениях на использование ресурсов. Саймон точно резюмировал суть проблемы, разделив стратегии на оптимизирующие и удовлетворительные. Возможно, описание совершенного игрока сильно отличается от конструкции играющего приемлемо, однако резонно было бы спросить, почему между этими двумя областями исследований не было большей координации.
Мы будем рассматривать игры как часть решения задач и фактически лишь вкратце коснемся этого вопроса. Такой подход был принят по двум причинам. Для того чтобы написать игровую программу, надо решить проблему представления структуры игры. Неясно, говорит ли нам решение той или иной частной игры что- нибудь об играх и программировании вообще. Игры представляют интерес, если в тех или иных аспектах частных игр проявляются свойства определенного общего класса задач. Мы будем обращать внимание прежде всего на класс задач в целом, а не на детали какой-то игры. Отметим, однако, что наш подход уведет нас в сторону от одной интересной и быстро развивающейся области. Регулярно
проводятся соревнования вычислительных машин, играющих в шахматы. Изучаются и другие игры, правда, не столь интенсивно. Было бы очень ценно издать книгу, в которой суммировалась бы эта работа и связанные с ней идеи.
/Л. Естественный язык а машинное понимание его
Попытки обрабатывать естественный язык с помощью ЭВМ предпринимались неоднократно. Необходимость этих работ определяется сугубо практическими соображениями. Наиболее узкое место при использовании ЭВМ — это время, требуемое для написания программ. Представьте, насколько легче было бы пользоваться вычислительными машинами, если бы они могли понимать простые высказывания на естественном языке. В идеале вычислительная система должна была бы обладать способностью „принимать советы** и, получая входную информацию на естественном языке, отвечать на вопросы путем вывода следствий из известных ей фактов (МакКарти, 1959). Такая программа была бы крайне важной и с теоретической точки зрения, так как разумные ответы на сложные вопросы означали бы „понимание*1, нечто такое, на что машины, как считается, не рассчитаны. Практические применения здесь очевидны.
Совершенно иной областью применения, требующей анализа лингвистических данных, являются все повторяющиеся попытки создания автоматического переводчика. В начале 50-х годов многие оптимисты считали, что механический перевод можно осуществить в основном за счет достаточно мощной аппаратуры, способной запомнить словарь, поскольку сам процесс перевода мог бы тогда быть достаточно прямым. Теперь оптимистов осталось немного, ибо разнообразные ранние проекты машинного перевода по существу лишь показали, насколько малы наши познания в лингвистике. Одно исследование показало, что, видимо, качество машинного перевода не улучшалось с 1964 по 1971 г. (Синайко, 1971). На самом же деле, если задаться целью создать общий язык для ученых и дипломатов, возможно, было бы легче вернуться к обучению классической латыни во всемирном масштабе, чем конструировать совершенный машинный переводчик! К счастью, более скромные цели и достижимы, и полезны.
Т ретьим обстоятельством, требующим того, чтобы текстовые данные обрабатывались с помощью ЭВМ, является просто громадная масса слов, употребляемых в нашем обществе. Хотя все больше и больше записей мы фиксируем в форме, удобной для прочтения их вычислительной машиной, все же наибольшая часть дел ведется пока на естественном языке. Через эти записи в обществе создается интенсивный поток информации о самом себе. Для управления многомиллионными государственными организмами нужен быстрый
способ записи, абстрагирования и анализа содержания этого потока. В некоторых случаях, таких, как регистрация банковских счетов, сейчас для управления потоком информации используется ЭВМ. Другая крайность ——мы доверяем журналистам резюмировать и комментировать политические новости за неделю. Существует промежуточная область, в которой еще необходимо участие человека, но на вычислительную машину можно переложить большую нагрузку. Примером может служить автоматическое написание резюме и индексация технических документов. Способность ЭВМ выполнять эти и подобные задачи во многом будет зависеть от нашего умения составлять программы, которые смогут преодолеть сложности, свойственные естественным языкам.
Работы по созданию естественно-языковых процессоров занимают область, промежуточную между искусственным интеллектом и информационным поиском. Нет строго определенного правила для выяснения, принадлежит ли конкретное приложение этих исследований тому или другому направлению. Мы можем сказать что-то определенное только о некоторых крайних точках. Программы, которые осуществляют поиск заданной последовательности букв в тексте, но не делают ничего, кроме регистрации факта появления этой последовательности, хотя и очень полезны при индексации и составлении резюме, все же редко считаются принадлежащими области искусственного интеллекта. Программы, которые составляют сложные и разнообразные ответы для пользователя, принадлежат этой области, если даже эти ответы определяются единичными словами во входном потоке. Не исключено, что решение вопроса о том, как проводить такое разделение, последует не ранее создания хорошей системы распознавания образов.
/Л. Самоорганизующие системы
Заметная часть деятельности человеческого разума и, несомненно, большинство наших исследований связаны с проектированием и производством машин. Можно ли автоматизировать выполнение этой задачи? Если принять точку зрения, согласно которой животные функционируют по тем же законам, что и машины, то ответ должен быть утвердительным, так как процесс эволюции можно считать примером действия физически ясных законов х). В принципе должна существовать возможность имитировать эволюцию при конструировании машин. Могут быть и другие пути построения автоматов.
Фон Нейман (1956) привел доказательство, показывающее, что с точки зрения логики можно создать устройство, которое могло
Обратное неверно. Можно был*ю бы утверждать, что последствие эволюции или появление человека, было событием, не объяснимым законами природы, и все же соглашаться с существованием принципов самоорганизации.
бы воспроизводить или (а) себя, или (б) свои модификации. Его рассуждения основаны на упомянутом ранее доказательстве Мак- Каллока и Питтса того, что любую вычислимую функцию можно реализовать с помощью сети идеальных нейронов. Сначала этот математический довод имел явную биологическую окраску. Доказательство фон Неймана подтвердило лишь возможность существования самовоспроизводящейся машины. Он не говорил ничего ни о ее структуре, ни об относительной эффективности различных схем „эволюции4*. Эти вопросы впоследствии разрабатывались, но не привели к убедительным результатам.
Возник и несколько иной вопрос о самоорганизующихся системах. Рассмотрим устройство, способное изменять свое внутреннее состояние и, таким образом, перестраивать свою реакцию на определенные стимулы. Здесь существует аналогия скорее с обучением, чем с процессом эволюции. Встает также вопрос и об управлении. Полная система должна располагать механизмом для поддержания себя в „области жизнедеятельности4* путем регулирования своих реакций как функций внешних и внутренних условий. Как должна быть организована такая система?
Винер (1948, 1950) подчеркивал, что ключом к построению системы, способной приспосабливаться к изменяющейся среде, является правильное применение кибернетического принципа. Грубо говоря, кибернетическим называется устройство, для которого одним из входов служит некоторая функция его выхода в предыдущие моменты. На более обыденном языке: если снайпер хочет продолжать хорошую стрельбу, он должен знать, куда пришлись неудачные выстрелы; и, вероятно, основной совет, который можно дать не нашедшему взаимности в любви,— это „следи за реакцией на свои действия4*. Мы намеренно выбрали примеры из совсем разных областей. Принципы систем, перестраивающихся с помощью управления с обратной связью, можно применить к любой системе, состояние которой описывается заданием взаимно зависимых переменных, начиная с нейрофизиологических объектов, которыми интересовался Винер, и кончая международной политикой. На таком уровне общности термин „кибернетика*4 связан больше с представлением о мире, чем с точно определенным математическим методом.
Абстрактные теории эволюции и обучения можно без преувеличения считать всеобъемлющими. Идеи, высказанные фон Нейманом и Винером, воплощают многие устройства, но мы не решились бы назвать все эти устройства „интеллектуальными**. Хороший пример —автоматический термостат. Можно ли сказать что-нибудь содержательное о самоорганизации самой по себе? Некоторые думают, что можно, но я не из их числа. Я полагаю, что многое из проделанной работы имеет настолько общий характер, что граничит с пустотой. Это предубеждение и послужило причиной того, что самоорганизующиеся системы в книге не обсуждаются.
Роботика
Со сказки о Големе до удивительной научной фантастики роботы не перестают вызывать восхищение людей. Все программы, которые мы упоминали, можно было бы рассматривать как часть мозга робота. Для завершения конструкции нужно „только4* объединить их и связать полученную в результате программу с некоторыми сенсорными и исполнительными органами. Слово “только" здесь оправдано, так как при наличии работающей программы добавление необходимого оборудования представляло бы технологические, а не научные проблемы. Оно взято в кавычки, ибо у нас нет уверенности в том, что все эти технологические проблемы можно решить.
Современные исследования в области роботов развиваются по двум главным направлениям, которые за недостатком лучших слов мы будем называть „научным** и „коммерческим**. Были времена, когда интерес к научным целям воспринимался, без преувеличения, как стрельба в небо. В 1965 г. на осенней Объединенной конференции по вычислительным машинам Мак-Каллок сообщил, что он пьь тался создать объект весом не более 5 фунтов, который мог бы перенести высадку на Марс и обладал бы сенсорными возможностями лягушки. После этого „Шейки**, робот (в некотором роде), созданный в Стэнфордском исследовательском институте, был изображен на видном месте в журнале „Лайфи, ныне уже не существующем. Несколько ученых заявили, что при условии необходимого обеспечения можно было бы в ближайшем будущем установить на Луне или какой-нибудь другой планете сложные автоматические устройства для исследований ——и действительно, очень сложные приборы уже размещены там. Являются они роботами или нет, зависит от вашего определения этого термина. Конструкторы же коммерческих роботов удовлетворились созданием более простых устройств для работы несколько ближе к дому.
Определим произвольно занятия роботами как конструирование реальных устройств, исключив из рассмотрения изготовление игрушек для иллюстрации какого-то принципа, возможно, и полезного в каком-нибудь роботе. Мы знаем о важных проектах создания роботов в трех институтах — МТИ, Стэнфордском университете и Стэнфордском исследовательском институте. Некоторая работа проделана также в Эдинбургском университете. Хотя этими исследованиями занимались многие, внешне она выполнена под воздействием идей Мак-Карти, Минского и их коллег, что нашло выражение в инженерной и математической направленности их подхода к искусственному интеллекту, в отличие от подхода Ньюэлла и Саймона, более близкого к психологии. Единственным исключением в этом смысле была разработка системы зрения робота. Здесь психологические и физиологические модели оказали заметное влияние на конструирование робота. Особенно примечательными аспектами
роботных проектов являются тяготение к технике обработки списков в программировании и тенденция рассматривать задачи очувствления робота скорее как инженерную проблему, чем как задачу моделирования процессов восприятия в биологии.
Другой характерной чертой научного подхода к роботам был интерес к общим решениям целых классов проблем, иногда за счет того, что для частных задач решение оказывалось неизящным. Например, при создании робота для манипулирования кубиками МакКарти и его группа уделили основное внимание схемам для анализа зрительных сцен и координации в системе рука — глаз, в то время как созданный для этой задачи коммерческий робот мог бы использовать световые лучи известной интенсивности для поверхностей с известной отражательной способностью в предположении, что сцена перед ним всегда удовлетворяет жестким ограничениям. Несмотря на замечания о применении роботов для исследования агрессивных сред, в научных роботных проектах обнаружился только второстепенный интерес к таким задачам, как миниатюризация, защитная упаковка и экономичность. Во время панельной дискуссии на осенней Объединенной конференции по вычислительным машинам в 1968 г. было замечено, что у робота Стэнфордского университета мозг расположен в машине PDP-10, уши — в обычном микрофоне, его циклопический глаз — в телевизионной камере, а единственная рука помещена на закрепленной стойке. В целом эта система называлась одним словом „робот**, докладчик предложил также термин “kludge"】).Можно, однако, не очень бояться этой иронии, поскольку основная цель здесь ——найти общие решения. Практическая техника появится позже ——по крайней мере мы на это надеемся...
Разработки проектов коммерческих роботов пошли в точности по противоположному пути. Очевидно, было бы прекрасно иметь экономичную машину, которая была бы таким же многоцелевым манипулятором, как и человек. Это было бы особенно хорошо, если бы машина в меньшей степени, чем человек, боялась тепла, излучения и не требовала платы за сверхурочную работу. Такого устройства сейчас нет и в ближайшем будущем оно не появится. В то же время есть сотни тысяч видов работ, выполняемых сейчас человеком, которые можно автоматизировать с помощью специально сконструированных машин. Их можно было бы рассматривать как „манипуляторы специального назначения**, точно так же, как аналоговую ЭВМ можно считать специализированным переработчиком информации. Все, что пытаются сделать конструкторы коммерческих роботов,——это разработать легко программируемые манипуляторы обще-
«Более или менее функционирующая система, образованная соединением компонентов, конструкторы которых никогда не собирались использовать нх вместе».
го назначения. При этом конструкторы должны найти компромисс между общностью, эффективностью решения для определенных задач и стоимостью. Определение этого оптимума будет зависеть от развития техники и от назначения системы и будет время от времени изменяться. Материалы конференций по ЭВМ в конце 60-х годов позволяют предположить, что существующие коммерческие роботы могут выполнять самые разнообразные задачи. В них трудные места (такие, например, как обработка зрительной информации) хитроумно обходятся: при „инструктировании4* робота для выполнения нового задания человек легко может запрограммировать новые решения.
По этим причинам совсем немного будет сказано и о коммерческих роботах, и о технологии, требуемой для построения малых ЭВМ, гибких механических рук и телекамер, способных выдержать удар при космической высадке. При таком ограничении проблема создания робота сводится к решению задач, распознаванию образов и зрению. Она будет рассматриваться именно таким образом.
Глава 2
ПРОГРАММИРОВАНИЕ, СТРУКТУРА ПРОГРАММИ ВЫЧИСЛИМОСТЬ
2・0・ Важность понятия вычислимости
Под созданием систем искусственного интеллекта обычно понимают написание программ для ЭВМ. Каждый программист знает, что работающая программа есть результат компромисса между первоначальной идеей и практическими возможностями. Такая ситуация свойственна исследованиям по искусственному интеллекту в той же степени, что и любой другой области. Известно, хотя и не так широко, что существуют теоретические ограничения на то, что можно вычислить в принципе, когда компромиссы уже невозможны, но более важно, что некоторые классы функций можно вычислить только на тех ЭВМ, которые обладают строго определенными возможностями. В этой главе мы попытаемся представить ряд основных результатов, связанных с абстрактными вычислениями, и соотнести их с проблемами программирования, возникающими при исследованиях в области искусственного интеллекта. Эта глава как бы стоит в стороне от остального содержания книги. Читатель, не интересующийся (или уже знакомый) с теорией вычислений, может при желании сразу перейти к гл. 3.
Трудное место здесь — соответствие между возможностью вычислить функцию на абстрактной машине и структурой программы, реализующей эту функцию на конкретной ЭВМ. Необходимо учитывать различие между реальной и абстрактной машинами и программами для них. Теория вычислимости исследует, как машины в общем понимании этого слова вычисляют классы функций. Программисты стремятся реализовать конкретные функции на той ЭВМ, с которой они должны работать. Поскольку программист выбирает программу, а не машину, зачем ему интересоваться вычислимостью вообще? Ответ заключается в том, что действующую программу можно считать моделью специализированной машины на универсальной
ЭВМ. Таким образом, объединение программы и реальной машины определяет специализированную ЭВМ.。
Вопрос „Для вычисления каких классов функций требуются автоматы со свойством %?“ можно сформулировать и так: „Для каких классов функций необходима программа, структура которой обладает свойством 尤?
В связи с этим рассмотрим, как программа определяет отдельные части машины ». Физически программа представляет собой просто содержимое упорядоченного множества ячеек первичной памяти ЭВМ. Поскольку ячейки, участвующие в программе, могут содержать либо команды, либо данные, удобно разбить программу на три отдельные части. Процедурная часть состоит из команд, не меняющихся при работе программы. Для тех, кто предпочитает терминологию аппаратного оборудования, процедурная часть состоит из ячеек программы, которые можно, не влияя на выполнение программы, поместить перед началом работы в тот участок памяти, где происходит только считывание. В программе можно выделить также два разных участка памяти, называемых статическим и динамическим. В них содержатся все данные, используемые программой во время работы, включая все изменяемые коды и все промежуточные результаты. Статический участок содержит все участки структур данных и изменяемых кодов, размеры которых могут быть определены еще до выполнения программы. Динамический участок содержит только структуры памяти переменной величины. Так, в простой программе на Алголе
Begin array Я[1:20]; integer 瓦 /;
read 丸 j:
begin array B[1 :^; 1 :/] end end
массив Л является частью статической памяти, так как его парамет- ры постоянны для всей программы, в то время как массив В входит в динамическую память, поскольку его размеры задаются величинами 々и 厶 определяющимися в ходе работы программы.
На практике, когда программа только составляется, обычно определяют программную часть и выделяют фиксированные участки памяти. Например, трансляторы для Фортрана резервируют в реальных машинах ячейки для процедурной части и фиксированной части памяти на этапе трансляции программы. Участки же для динамической памяти должны запрашиваться от супервизорной программы во время работы. Легче всего рассматривать программу как программу пользователя, а супервизорную программу как операционную систему, но принципиальные черты сохраняются и в
Для более детального обсуждения затрагиваемых здесь понятий см. Вегнер 0968).
случае, когда работают две программы пользователя, из которых одна подчинена другой. Ситуация в целом представлена на рис. 2.1, который показывает соответствующие этапы выполнения программы на высокоуровневом языке, таком, как Фортран, Алгол или ПЛ/1.
Рис. 2.1. Этапы постро^ия специализированной машины, определяемой программой.Рис. 2.1. Этапы постро^ия специализированной машины, определяемой программой.
Рис. 2.1. Этапы постро^ия специализированной машины, определяемой программой.
Рис. 2.1. Этапы постро^ия специализированной машины, определяемой программой.
Далее, посмотрим, как соотносятся между собой программа, участки памяти и ее вход и выход во время выполнения программы. Рис. 2.2 графически представляет имеющиеся связи. Процедурная часть программы определяет последовательность, в которой данные должны считываться из входного потока, накапливаться в участках памяти двух видов, и, наконец, порядок, в котором информация
Рис. 2.2. Управление операциями во время выполнения программы.Рис. 2.2. Управление операциями во время выполнения программы.
Рис. 2.2. Управление операциями во время выполнения программы.
Рис. 2.2. Управление операциями во время выполнения программы.
будет передаваться из памяти в выходной поток. Запись данных в память эквивалентна изменению состояния памяти. Это соображение приводит нас к наиболее важному пункту. Статическая память имеет конечные размеры и поэтому может находиться лишь в конечном числе состояний. (Пусть конечная память содержит k битов информации. Тогда она может находиться только в 2k различных состояниях). Процедурную часть можно считать множеством правил для изменения состояния статической памяти как функции (а)
текущего состояния статической памяти, (б) информации, полученной из входного потока, и (в) информации, которую можно извлечь из динамической памяти. Процедурная часть также определяет правила для занесения данных в выходной поток и динамическую память, которая играет роль накопителя для промежуточных результатов. Операции на входе, выходе и изменение состояния статической памяти идейно очень просты. Операции управления динамической памятью интереснее. Процедурная часть программы сама по себе конечна, так как может содержать лишь конечное множество правил. Следовательно, программа не может реагировать непосредственно на любое состояние динамической памяти, так как их бесконечно много. Программа должна содержать схему поиска, извлекающую данные из динамической памяти так, чтобы осуществлялся только один из конечного множества возможных процессов выборки. В следующих разделах этой главы мы рассмотрим четыре схемы выборки. В одной из них будет предполагаться, что любую часть информации в динамической памяти можно получить (с помощью достаточно сложных программных методов) без изменения в это время остальной информации в динамической памяти. Затем мы будем все больше ограничивать круг допустимых операций, пока не придем к наиболее ограниченному случаю, в котором полностью отсутствует динамическая память. Большинство программ на Фортране попадает в эту последнюю категорию. Мы покажем, что вычислительные возможности программ, способньЬс в различной степени управлять динамической памятью, сильно разнятся и это имеет отношение к искусственному интеллекту.
Вычисления на цепочках
У нас нет возможности изучить все мыслимые программы, так что придется избрать окольный путь. В предыдущем разделе приводился довод в пользу классификации программ в соответствии с природой определяемой ими абстрактной машины. Любые ограничения на вычислительные способности абстрактной машины поэтому приложимы и к программам, являющимся частными случаями этой машины. С другой стороны, возможно, удастся найти такие свойства абстрактной машины, которые необходимы при вычислении определенных функций. Любая программа, предназначенная для вычисления одной из этих функций, должна моделировать соответствующую машину. ,
Проблема, следовательно, состоит в определений того, как влияют свойства функции на структуру абстрактной машины, на которой эту функцию можно вычислить. Для этого сделаем наше рассмотрение еще более косвенным. .Вместо того чтобы обсуждать вычисление математических функций в общепринятом смысле, будем задаваться вопросами о способностях машины, необходимых, чтобы
опознать „предложения** на формальном языке. Мы покажем, что это осуществимо и что, вводя ограничения на понимание языка, мы устанавливаем ограничения на вычислимость функции. Подход, которым мы будем пользоваться, следует подходу Хопкрофта и Ульмана (1969) за исключением того, что их формальные доказательства будут здесь обычно заменяться иллюстрациями и эвристическими соображениями.
Вычислительные машины обычно представляются как совокупность операторов, но их также можно считать устройствами для переписывания цепочек (или строк) символов с одного языка на другой. ЭВМ может читать и печатать только конечные множества знаков. Назовем их соответственно входным алфавитом / и выходным алфавитом О), и пусть /* и О* будут множествами всех цепочек конечной длины, составленных из элементов множеств / и О). Любое множество L допустимых входов программы и любое множество L。возможных выходов будут подмножествами в /* и О* соответственно. Программа вычисляет функцию /, если она отображает любую цепочку s € L в цепочку /(s) g L°.
Эту терминологию можно применить и в случае наиболее простых вычислений. Рассмотрим машину, способную читать и/или печатать любую десятичную цифру, алфавитные символы и знаки +, —, ., ,, *, и /.
/ = 0= 1, 2, 3, 4, 5, 6, 7, 8, 9, О
А, В, С, D, E,F,G, Н, I, J, К, L,M, N,0, Р, R, S, Т, U, 小 V, W, X, Y, Z (】)
+,一> •,,,*,/ *
Ясно, что /*=0*. Допустим, что в ЭВМ введена программа для счета наибольшего целого, содержащегося в квадрате вещественного числа. Входным языком является символьное представление вещественных чисел, а выходным — символьное представление положительных целых чисел. В более традиционных терминах это означает, что программа реализует функцию, область определения которой ——вещественные числа, а множество значений ——положительные целые. Эти два описания эквивалентны.
Теперь подробно рассмотрим логические этапы в вычислении функции цепочки символов. Изложение будет основано на действии процедурной части программы и статического и динамического участков памяти. Как уже было показано, конечная память имеет лишь конечное множество S состояний. Пусть S'——состояние ма-
шины (программы) в момент t. Через S» будем обозначать конкретное состояние из S без учета времени. Аналогично ЛР н М/ будут обозначать состояния динамической памяти. Напомним, что множество М возможных состояний динамической памяти бесконечно, но счетно, поскольку М^ в любой момент времени состоит из конечного числа заполненных ячеек, каждая из которых содержит k битов информации, и бесконечного числа пустых ячеек. Каждая из этих ячеек имеет адрес в том смысле, что в универсальной ЭВМ физически возможно обращение в любую из них. Какая-нибудь конкретная программа, однако, может быть ограничена в доступе к динамической памяти. Для конкретизации этих рассуждений удобно представить себе статическую память как информацию в некотором фиксированном участке первичной памяти ЭВМ, а динамическую память—как принципиально бесконечную магнитную ленту со стиранием. И наконец, процедурная часть программы должна состоять из конечного множества команд, определяющих изменения в статической или динамической памяти (или в обеих) как функцию текущего состояния каждой памяти и входной информации на каждом шаге вычислительного процесса.
Операции печати (т. е. вывода) и останова еще не рассматривались. Их можно связать непосредственно с состоянием статической памяти. Выделяются два, не обязательно непересекающихся подмножества Р н 尸 множества S, и связываются соответственно с выводом и остановом. Как только машина придет в любое состояние Sp W 尸,должна печататься соответствующая информация. Когда машина приходит в любое состояние S/ g F, она останавливается.
На рис. 2.3 изображена элементарная блок-схемы работы любой мыслимой программы. Программа начинает работать при f=0 в состоянии S#=So, т. е. в своем обычном начальном состоянии. На шаге (1) любое сообщение для выдачи на печать, связанное с S', поступает на вывод. На шаге (2) ЭВМ останавливается, если ее состояние —состояние останова. Если этого не случилось, то на шаге (3) из входного потока считывается следующий символ х. Шаги (4а) и (46) отражают работу с динамической памятью. На рисунке показано, во-первых, извлечение цепочки у символов из ячеек R' в динамической^ памяти. Это уже сложнее. Множество R' ячеек, содержимое которых нужно прочесть в момент 力 определяется как совместная функция от S' и только что считанного символа х. Пусть у— информация, полученная таким путем. На шаге (46) информация у' записывается в ячейки W1 динамической памяти. И у', nW'—— функции от S* х и у. Хотя на рисунке показано, что шаги (4а) и (46) осуществляются последовательно, на практике операции чте* ния и записи обычно перемежаются. Заметим, однако, что их можно без потери общности логически разделить. Мы также допускаем ситуацию, в которой R' н W — пустые множества; в этом случае не происходит ни чтения, ни записи. И наконец, на шаге (5) состояние
小容/70: 占0,%*S'
Л)
ПечатьПечатьсостоянием>
Печать
Печать
печати^ /УНет
состоянием 〉Н 「a KQHEQ
⑶⑶1价用1价用
⑶
⑶
1价用
1价用
《)Щупать цепочку 丿S опасть
一 GuHQMgeCKQG помути
■5 .■5 .
■5 .
■5 .
Положить U+'W/y),
Рис. 2.3. Этапы вычисления функции цепочки символов.
S,конечной памяти меняется на S'+】 (функция от S* х и у), а / увеличивается на 1. Затем цикл начинается снова с шага (1).
Эта картина точно соответствует представлению программиста о том, как работает программа. Можно сделать тривиальное упрощение ——отделить функцию печати и придать ее специальной машине. В результате получается схема, изображенная на рис. 2.4. Вместо печати в ходе работы программы ЭВМ посылает запись последовательности состояний конечной памяти, через которую
она проходит, в печатающую машину. Пусть эта запись будет цепочкой
S = S。,S】¥,・・・,S<(2)
S—— цепочка из S*. Устройство печати может узнать, является ли состояние S' состоянием печати; в этом случае оно печатает соответствующие выходные символы. Таким образом, это — устройство для отображения цепочек из S* в цепочки из Q*. Ясно, что если ЭВМ отображает входную цепочку s в S, то ЭВМ и устройство печати отображают s в о々Q*. Можно сделать и нетривиальное упрощение ——объединить шаги (4) и (5), на которых в результате обра-
Выход о
Рис. 2.4. Упрощение работы программы для того, чтобы печать осуществлялась после вычнсленнн.
ботки содержимого ячеек R' и Wt меняется состояние динамической памяти от М^ к ЛР+* затем статической памяти от S' к S'+L Если перейти от временной записи к записи, учитывающей отдельные состояния памяти, то преобразование на любом шаге будет иметь вид
(S" Mh 尤)r(S『,(3)
Это соотношение можно интуитивно интерпретировать так:
Программа, статическая память которой находится в состоянии S,, 〃 динамическая—в состоянии М/, считывает входной символ % и переводит статическую память 6 состояние Sr и динамическую—в состояние М^.
Мы можем представить себе, что входная цепочка s проводит программу через последовательность таких преобразований и в качестве побочного результата дает цепочку S, которая служит входом для устройства печати. Каждый символ из s осуществляет это преобразование, активируя некоторые команды, входящие в процедурную часть программы, и тем самым вызывая требуемое действие.
Что можно сказать об этих командах, входящих в процедурную часть? Во-первых, их число должно быть конечным, поскольку сама процедурная часть занимает конечную область в цифровой машине. Во-вторых, они должны производить специфические операции при выполнении некоторого условия, которое цифровое устройство может выявить в течение одного шага. Такое условие должно принадлежать конечному множеству допустимых условий 】).Этапы работы программы, следовательно, можно записать в форме
Дано условие 4 —* Получить условие В, (4) однако форма типа левой части в (3) не годится в качестве описания условия 4 в (4), так как в (5г, 乂力 %) используется состояние Mjt одно из бесконечного множества состояний динамической памяти. Чтобы обойти эту трудность, поставим в соответствие каждому состоянию статической памяти функцию чтения 九 и функцию записи gi динамической памяти. Функция чтения отображает бесконечное множество комбинаций состояний динамической памяти и входных символов (т. е. множество Мх/) в конечное множество возможных процессов извлечения информации из динамической памяти. В терминах, использованных при описании рис. 2.3, функция чтения определяет ячейки R, содержимое которых нужно считать из динамической памяти, а затем после их чтения порождает одну из конечного множества {у} допустимых цепочек у символов. Функция записи берет в качестве своих аргументов входной символ, извлеченную информацию у и текущее состояние динамической памяти и создает новое состояние динамической памяти, определяя ячейки W и записывая в них некоторую функцию % н у. Таким образом, каждый шаг программы можно записать в виде
旧,尤,У) —(SJ gl(^t 尤,у)),(5)
где у — цепочка в (конечном) множестве значений функции 瓦 и 一 состояние динамической памяти, реализующееся при активации &广 Программа эквивалентна конечному множеству правил в форме (5). Программа выполняется по следующим этапам.
Определить, что S*=Si・ Если Si ^Ft остановиться. В противном случае перейти к шагу 2.
Прочесть х и выполнить hi (М\ х), определяя тем самым у.
Просмотреть процедурную часть, чтобы найти правило, левой частью которого является (Зь %, у). Если такое правило
1) Для того чтобы убедиться в этом, рассмотрим программу, которая читает холлеритовы перфокарты и печатает содержимое карты, если там есть буква Q. Очевидно, такая программа может прочесть любую из бесконечного множества конечных последовательностей карт. Однако на любом шаге этой операции ЭВМ должна располагать правилом, по которому можно решить, что делать с одной из 28в0 возможных конфигураций одной карты.
не найдено, значит, была допущена ошибка, и машина останавливается, не считывая s. Если существуют два таких правила, то применяется то, которое обнаружено первым. Пусть нужное правило найдено.
Изменить состояние статической памяти на S^ Выполнить gi(M* х, у). Заменить / на ^+1 и вернуться к шагу 1.
Здесь может показаться, что это описание получилось слишком далеким от представлений программиста о программе. На самом же деле функции чтения и записи могут и не быть чем-то необычным. Типичный пример функции 友,реально отображающей бесконечное множество {М/} в конечное множество {у},— это просто
ht (Mf9 х) = содержимое первой ячейки динамической памяти, следующей за первой по порядку (6) ячейкой памяти, которая содержит символ х.
Аналогично функцией записи может быть
gi(M‘,х( у) == объединить х с у и поместить полученную строку в последовательные ячейки, начиная ,_. с первой не использованной ячейки дина-(丿 мической памяти.
Обычно правила перехода типа (5) программист в явном виде не выписывает 1)- Они скорее определяются в результате вывода. Рассмотрим программу на Фортране, выполняемую на машине со словами длиной 32 бита, которая использует логическую ленту 5 для ввода и логическую ленту 10 в качестве участка динамической памяти. Фрагмент программы
READ(5) 1
READ(10) J
J = I + J
WRITE(IO) J
вместе co связанным с ним программным счетчиком (который составляет часть статической памяти) определяет 2е® возможных правил перехода. Многие из них в конце фрагмента программы дадут один и тот же результат ?).
Что же можно сделать с этим несколько необычным подходом к вычислениям? Показано, что если цепочка s W /* есть допустимый вход программы (т. е. если s^Lt где L — входной язык программы),
丄)Ярким исключением служит применение прн программировании на ЭВМ решающих таблиц.
а) Возможность останова при переполнении в этом примере ие учитывается.
Формальные грамматики 43 то символы из s проведут машину, моделируемую программой, через последовательность состояний S. Простейшая машина может получить S в качестве входа и выдать то, что требуется, на выходе. Роль динамической памяти — дать возможность моделируемой машине сохранить запись ее прошлых действий, чтобы ее реакция на символ s,(力伪 символ в s) могла быть функцией последовательности s0, ..., %_力 Типы записей, которые можно хранить, будут определяться с помощью функций чтения и записи, которые машина может использовать для управления динамической памятью, поэтому мы снова ожидаем, что описание этих функций окажется удобным путем для выделения классов машин, моделируемых программами.
В следующем разделе мы перейдем от изучения элементарной блок-схемы для всех программ к элементарному описанию множеств цепочек. Точнее, мы рассмотрим способы характеризации языка L. Для чего это нужно? Мы показали, что если машина может воспринять s, то можно вычислить '
S=f(s), (8)
а отсюда легко получить значение /(s) на требуемом выходном языке. Обычно при вычислениях задается функция / с известной областью определения L и ставится задача получить программу, которая построит f(s) для всех §WL・ Если удастся найти способ описать язык L, который определяет конструкцию машины, способной воспринимать цепочки из L, то мы уже много узнаем о нужной нам программе.
22 Формальные грамматики
Если вычислительная способность машины характеризуется сложностьюязыка, который она способна воспринимать, то нам нужен какой-то способ упорядочения языков по сложности. Мы опишем здесь способ, принадлежащий математику-лингвисту Хомскому (1963). Для понимания лингвистических представлений Хомского необходимо сначала усвоить его идею грамматики. Грамматика G есть четверка (^, Г, S, Р), где ^ — множество нетерминальных символов, или переменных, Т — множество терминальных символов, не пересекающееся с ^ (в терминах предыдущих рассмотрений Т совпадает с множеством / входных символов), объединение V— =^ U Т называют словарем грамматики 6. Далее, S —— выделенный символ в множестве нетерминалов, называемый начальным, Р —— конечное множество продукций, или правил переписывания. Каждая продукция имеет вид
где х и у — цепочки из V*. Если продукция х->у содержится в Р, то говорят, что цепочка у непосредственно выводима из х. Если продукции
区 — Xi; Xi —>■ Х2; . . .; Х/ — Х* + 1;…;х“т — у (10) содержатся в Р, то говорят, что цепочка выводима ш х, и пишут 力工у. В Р должна быть хотя бы одна продукция вида Sf х и для каждого переменного символа A WN должна быть продукция вида x4yf w,(11)
где w, х и у — (возможно, пустые) цепочки в V*. Языком L(G), определяемым (порождаемым) грамматикой G, называют множество цепочек терминальных символов, выводимых из S. Таким образом, L (G)sT* и L (G)=L в предыдущем обозначении. Мы будем писать L вместо L(G) в тех случаях, когда не должно возникнуть путаницы.
В качестве иллюстрации к идее множества продукций рассмотрим язык, определяемый словарем
N={S, 4 В}; 7={х, у}(12)
в X у А X д ув 二二一 S д д в вв X у А X д ув 二二一 S д д в в\lz \lz \|/ \|/\|/12 3 4 5RRRRR/(\/|\/|\/|\/|\\lz \lz \|/ \|/\|/12 3 4 5RRRRR/(\/|\/|\/|\/|\33и грамматикой
в X у А X д ув 二二一 S д д в в
в X у А X д ув 二二一 S д д в в
\lz \lz \|/ \|/\|/12 3 4 5RRRRR/(\/|\/|\/|\/|\
\lz \lz \|/ \|/\|/12 3 4 5RRRRR/(\/|\/|\/|\/|\
3
3
Этот язык содержит все цепочки, состоящие из л>0 цепочек х и следующих за ними 々>0 цепочек у. Цепочку хххуу можно было бы получить так:
ЦепочкаПравилоSНачальный символАВR1Л ByR54УУR44хууR3ЛххууR3хххууR2ЦепочкаПравилоSНачальный символАВR1Л ByR54УУR44хууR3ЛххууR3хххууR2(14)(14)
Цепочка
Правило
S
Начальный символ
АВ
R1
Л By
R5
4УУ
R4
4хуу
R3
Лххуу
R3
хххуу
R2
Цепочка
Правило
S
Начальный символ
АВ
R1
Л By
R5
4УУ
R4
4хуу
R3
Лххуу
R3
хххуу
R2
(14)
(14)
Правила типа (13) называются правилами непосредственно со- ставляющих. Они всегда включают развертывание переменного символа в цепочку. Последовательное применение этих правил для получения цепочки терминальных символов можно продемонстри-
ровать на примере показателя структуры, представл яющего собой диаграмму-дерево, которая показывает вывод каждого терминального символа из S. Такой показатель для (14) приведен на рис. 2.5, Если к грамматике G добавить продукцию
АВ^ВА,(15)
то новая грамматика G' порождает качественно иной язык, поскольку эта продукция изменяет порядок символов в цепочке без развертывания нетерминального символа. Эта продукция называется трансформационной, и грамматики, которые содержат такие продук-
Рис. 2.5. Показатель структуры для цепочки хххуу, порожденной грамматикой (13).
цнн, называются трансформационными. При применении трансформационной продукции надо различать отдельные вхождения одного и того же нетерминального символа. Например, пусть 九 обозначает член в простом арифметическом выражении. Коммутативность сложения можно выразить так:
ТЛТ^Т^Ть(16)
но при этом надо указать, какой член засылается в какую ячейку.
Трансформационные грамматики гораздо мощнее и сложнее грамматик непосредственно составляющих. Особенно важно, что трансформационная грамматика не всегда связывает показатель структуры непосредственно с цепочкой терминальных символов.
Существует одно дополнительное и важное правило, не вполне укладывающееся в введенный формализм. Это хорошо знакомое правило подстановки, согласно которому переменный символ можно заменить структурой, выводимой из него, при условии, что замена производится последовательно во всех ситуациях, где встречается заменяемая переменная. Например, в школьной алгебре правило подстановки разрешает преобразование
(A + V)~V^[A+(3B-4)] - (ЗВ-4).(17)
Можно задать правило подстановки как правило непосредственно составляющих, но эта операция будет очень громоздкой. Попробуем пояснить нашу мысль на примере.
Обычно грамматики разных видов иллюстрируются простым примером, чтобы лингвистические принципы были ясны. Для обоснования последующего обсуждения приведем два интересных, но более сложных примера. В табл. 2.1 описана грамматика, состоящая только из правил непосредственно составляющих. Это упрощение грамматики, принятой в Алголе 60 для определения простых арифметических выражений. Язык, порождаемый этой грамматикой, состоит из выражений типа
а; а+b; а+Ь*с; а—b*(c+d)・
Таблица 2」
Абстрактный язык на основе определения простых арифметических выражений в Алголе 60
Словарь
Грамматика G
1/ =^UT
N = S, терм, сл, умн*), множителе переменная^ константа
Т = +,1, *, /, (J, «любая буква», «любое целое»
PI
S-
—► терм
Р7
множитель —
-> переменная
Р2
S-
т S С4 терм
Р8
множитель —
-> константа
РЗ
ел 一
f+
Р9
множитель —
-В)
Р4
сл -
РЮ
переменная -
-* «любая буква»
Р5
терм —> множитель терм —► терм умн
множитель
Р6
РН
константа —
* «любое целое»
Р12
Р13
умн —► * умн 一 ]
Типичные выражения
。,a+伍*2), 6 —3*(c + 4) Цепочки из Г*, ио ие из L
。一> Ъ (х-|~л), +七一)。+ 2 (, 2 ( ) + 3—с/
Ч сл —операция сложения, умн —операция умножения.~Прим перев.
Очевидно, распознавание того, что цепочка является правильным простым арифметическим выражением, составляет существенную часть практического программирования.
В табл. 2.2 перечислены правила преобразований. Если их вместе с алгебраическим правилом подстановки (любое простое арифметическое выражение может заменить свободную переменную) добавим к правилам табл. 2.1, получим язык для преобразо-
Таблица 2.2
Язык для преобразования алгебраических выражений
Словарь H = MUT"
№ = N свободная переменная, связанная переменная
Т‘ = Т 切八 i — 1, ... t n.
Грамматика G Правила непосредственно составляющих Pl—Р13 из табл. 2.1 со следующим изменением: связанная переменная заменяет переменную в РЮ
Добавить правила
Р14 переменная—► связанная переменная
Р15 переменная—*- свободная переменная
Р16 свободная переменная—►切厶 i=l,.…,%
Правило подстановки
SO wi—>S при условии, что производится замена всех вхождений wi в цепочку
Правила преобразований
Т1 & + &—► S2+S!
Т2 Si+Oz + SJ ~*■ (5i + ^2)+53
ТЗ (^x-J-Sa) +53—►[&+(& +SJ]
Т4 Si—>(& + &) — &
Т5 (Si — S 雪)+&~*■ (& + &)—§2
T6 (Sx4-S2)—S3—> (&—叉丿 + 邑
T7 Si*Sa—► 5g*5i
T8 Si* (Sg сл SJ -■ ‘> SJ& 必 SJSg
T9 Si*Sg сл Si*Sg—► Si* (Sg сл S3)
T10 (S1. + S2)—S9―►Si
вания арифметических выражений в эквивалентные. Допустим, что к рассматриваемому языку добавлены новый начальный символ S' и продукция
(18)(18)S'f s,
(18)
(18)
где s — некоторое арифметическое выражение. Новый язык будет множеством цепочек, алгебраически эквивалентных цепочке s. Например, если s заменить через х + 2*(а——3) в (11), то новый язык будет содержать цепочки
%+(а—3)*2 и % + 2*а—2*3.
Основываясь на этом, рассмотрим задачу в пространстве состояний:
С помощью правил алгебры, данных в табл. 2.2, доказать, что 8 + (4—С) эквивалентно А + (В—С).
Эту задачу можно считать и лингвистической задачей распознавания, если в (18) заменить s на А+ (В—С).
Рассмотрим возможности машин, воспринимающих цепочки, порожденные такими грамматиками. Машина, способная воспринять простые арифметические выражения, может также дать на выход цепочку закодированных машинных команд, вычисляющих арифметическое значение выражения. Машина, способная распознать, что некоторая цепочка символов выводится из другой, может проверять правильность алгебраических преобразований, хотя, как мы увидим, к ее заключению о неправильности преобразования следует относиться с осторожностью. Оба эти примера составляют нетривиальные вычислительные проблемы.
Формальные грамматики дают естественный способ упорядочения языков с помощью ограничений, которые можно ввести в продукции. Перечислим их в порядке убывания мощности:
Нзь1К типа 0, или язык без ограничений^ порождается грамматикой, в которой все продукции имеют вид
—У,(19)
где х и у — цепочки в V*.
”з“к типа /, или контекстно-зависимый язык, порождается грамматикой, в которой все продукции имеют вид (19) и, кроме того, число |у| символов в у не меньше числа символов в х. Значимость этого ограничения лучше всего оценить, анализируя продукцию, нарушающую его. Возьмем, например, правило Т10 из табл. 22 Можно показать (но мы этого делать не станем), что язык, порождаемый контекстно-зависимой грамматикой, может порождаться также грамматикой, в которой все продукции имеют вид
хЛу-^xwy,(20)
где w, х и у — цепочки в V*, а А — переменная (нетерминал). Продукцию (20) можно интерпретировать так:
Цепочка w выводима из А, если А появляется в контексте
X w у..
Таким образом, (20) дает интуитивно более понятное определение контекстно-зависимой грамматики.
”зь第 типа 2, или контекстно-свободный язык, порождается грамматикой, в которой все продукции имеют вид
4f х,(21)
где, как и раньше, 4 — нетерминал, а х — цепочка в V*.
Наконец, язык типа 3, или регулярный язык, порождается грамматикой, продукции которой имеют вид
или
Л->а,(226)
где а — терминал, а В — нетерминал.
Легко видеть, что все языки типа 3 являются языками типа 2, языки типа 2 ——языками типа 1, языки типа 1 ——языками типа 0. Поэтому не удивительно, что только очень мощные автоматы способны воспринимать языки типа 0, несколько менее мощные — языки типа 1 и т. д.
23 Машины Тьюринга
0. Определение машин Тьюринга
Машина Тьюринга г) (сокращенно МТ) — это автомат, располагающий всеми логическими возможностями, которыми только может обладать реальная вычислительная машина. Поэтому принятое определение вычислимой функции связано лишь с возможностью вычисления ее машиной Тьюринга. МТ состоит из бесконечно длинной ленты, читающей головки, расположенной в некоторой точке ленты, и ЭВМ, которая должна находиться в одном из конечного множества S внутренних состояний. Программа для МТ представляет собой конечное множество правил перехода в форме:
Если ЭВМ находится в состоянии S( и на ее ленте прочитан символ а,, передвинуть читающую головку на k шагов вправо (влево, если h отрицательно) и записать на ленту символ В尸 Затем переключить машину в состояние
Это правило для МТ можно записать в виде
(” St)f 他 Br, Sm)・ (23)
В дальнейшем мы будем предполагать, что нет двух правил перехода с одинаковой левой частью, т. е. что наша машина детерминированная. “
МТ можно описать на языке программы с процедурной частью и статической и динамической памятью. Конечное множество правил перехода эквивалентно процедурной части. Внутренние состояния машины эквивалентны возможным состояниям статической памяти. Лента МТ выполняет тройную функцию входа, выхода и динамической памяти. Поскольку МТ может писать на ленте и перемещать ее в обоих направлениях, она может использовать лен-
I) Названная по имени английского математика Алана Тьюринга, установившего с помощью этих автоматов ряд фундаментальных результатов, связанных с вычислимостью.
ту для хранения любого объема промежуточных результатов. Поскольку направления и величины перемещений ленты не ограничены, любой символ на ленте может быть прочитан МТ без изменения содержимого ленты. Функции чтения и записи машины Тьюринга, таким образом, могут осуществлять извлечение информации из любой ячейки и введение информации в любую ячейку динамической памяти.
Идею восприятия или отвержения цепочки также можно сформулировать на языке действий МТ. Вначале машина находится в состоянии So с пустой лентой, не считая цепочки s, первый символ которой располагается непосредственно под читающей головкой. Соответствующие правила перехода применяются до тех пор, пока машина не достигнет состояния Sy € F^ где F, как и раньше, есть множество состояний останова. Машина воспринимает s как элемент ее входного языка L, если после чтения последнего символа цепочки s машина впервые оказывается в каком-нибудь состоянии из F. Число операций с лентой до достижения S/ не ограничено.
Язык 厶三/* называют рекурсивно- перечислимым, если можно построить МТ, воспринимающую все цепочки из L и никакие другие. Язык L называют рекурсивным, если и L, и его дополнение, т. е. множество /*—L, рекурсивно перечислимы. Стоит немного подробнее обсудить, что же означают эти свойства. Если L — рекурсивный язык, то можно создать МТ, или, что то же самое, программу, распознающую, входит данная цепочка в множество L или нет. Программа может требовать очень мощных функций управления динамической памятью. Рассматриваемая МТ в действительности состоит из двух машин, одна из которых распознает цепочки в L, а другая — в /* — L. Основная машина просто фиксирует, которая из этой пары машин воспринимает входную цепочку. С другой стороны, допустим, что язык L рекурсивно перечислимый, но не рекурсивный. Тогда основную машину нельзя построить, поскольку невозможно реализовать ее часть для распознавания цепочек в /*——L. Наличия же части, распознающей цепочки из L, не достаточно, так как, если она будет работать без остановки продолжительное время, мы не узнаем, попала она в цикл при работе с динамической памятью или ей просто нужно больше времени для опознания цепочки.
Эти принципы иллюстрируются в одном очень важном приложении, связанном с искусственным интеллектом. Пусть L — множество правильно построенных выражений (п. п. в.), которые можно вывести из множества S аксиом, применяя правила вывода с логическими связками и, или и не и кванторами некоторые и все. Это множество рекурсивно перечислимо, но не рекурсивно. Ответ на вопрос „Следует ли из фактов S заключение s?“ эквивалентен вопросу „Входит ли s в L?“. Пусть верен ответ “нет". Тогда s — цепочка в /*—L, и, возможно, за конечное время установить этот факт не
удастся. Бисс, Чен и Стал (1971) предложили интересный конкретный пример. Они написали программу доказательства теорем для опознания случаев нарушения правил уличного движения. Аксиомами были дорожные правила, взятые из Illinois Driver's Manual. Задачей программы было выяснить, запрещают ли эти правила какие-то действия водителей. Абстрактно эта проблема состоит в выяснении того, включено ли действие s в язык £, порождаемый применением законов логического вывода к основному описанию действий, нарушающих правила. В связи с тем, что множество L рекурсивно перечислимо, программа не может работать во всех случаях, хотя любое ее положительное заключение было бы верным х).
Машины Тьюринга и языки типа О
Поскольку машина Тьюринга — наиболее мощный из рассматриваемых нами автоматов, не удивительно, что она обладает большими лингвистическими возможностями. Сформулируем основной результат, связанный с машинами Тьюринга:
Можно построить машину Тьюринга, воспринимающую любой язык, порождаемый грамматикой без ограничений.
Для иллюстрации важности этого результата рассмотрим грамматику G', определенную в табл. 2.1 и 2.2. Ее правила, приведенные в табл. 2.2, можно с тем же успехом назвать правилами вывода для алгебраических преобразований или операторами задачи в пространстве состояний. Вообще, имея задачу в пространстве состояний, как она описана в гл. 1 (и подробнее в части III), можно построить правила, определяющие состояния и операции на них. В общем случае потребуются правила преобразований, как в табл. 2.2. Отсюда мы заключаем, что любую задачу, допускающую представление в пространстве состояний, можно связать с языком типа 0 и, значит, решить с помощью программы, которая, подобно машине Тьюринга, имеет неограниченный доступ к принципиально бесконечному участку динамической памяти. Схема работы машины
Бисс и др. нашли этому интересное применение. Если после произвольного интервала времени входное утверждение не было идентифицировано как соответствующее запрещенному поведению, обработка его прекращалась и в программу вводилось утверждение, описывающее контрпример рассматриваемого поведения. Если это утверждение можно было идентифицировать как противозаконное, то первоначальное поведение было бы признано правильным. Хотя в отдельных случаях такая стратегия может оказаться полезной, это не означает перехода через пределы, обусловленные возможностями МТ. Нет гарантии того, что первое утверждение могло быть воспринято не за конечное время, а за время, большее чем го, которое могли ждать Бисс и др.
Тьюринга приведена на рис. 2.6. Второй основной вывод формальной лингвистики состоит в следующем:
Любой язык, порождаемый грамматикой типа 0, рекурсивно перечислим.
В настоящее время общепринято, что естественные языки не могут порождаться менее мощной грамматикой, чем грамматика типа 0 (Хомский, 1965; менее технические соображения содержатся у Томаса, 1965). Необходимость в грамматике типа 0 показать легко.
Рис. 2.6. Переход в машине Тьюринга от одного состояния к другому. В этом примере машина считывает 仪力 затем передвигает читающую головку на две ячейки вправо и иа ленте записывается 8?
Томас (1965, стр. 100) указывает, что в английском языке требуется правило
(группа существительного в единственном числе) be〈есть〉 (прошедшее время)—>(группа существительного в (24) единственном числе) was<был>
для того, чтобы выводить предложения вида John was 〈бьб〉из John be {есть) (прошедшее время). Правило (24) нарушает ограничение типа 1 о том, что длина цепочки в результате вывода не должна уменьшаться. Английский язык требует также правила для перестройки предложения. Возьмем пример с предложениями в страдательном залоге. Предложения
John threw the ball to Mary
〈Джон бросил мяч Мзри〉(24а)
The ball was thrown to Mary by John
<Мяч был брошен Мэри Джоном^(246)
имеют одно и то же значение и, как подсказывает интуиция, одну и ту же основную структуру. На рис. 2.7 приведена диаграмма грамматического разбора, использующая простую грамматику. Предло-
*енне в действительном залоге получается из дерева разбора сразу же. Предложение в страдательном залоге требует правила типа
^группа существительного^〈глааол〉^группа существительного^ —^группа существительного^ <глагол в стра- (25) дательном залоге^ 〈предао» Группа существительного^
для замещения активной формы пассивной. Правило (25)——транс
формационное правило, подобное правилу АВ-^ВА из разд. 22
< С1ревложение>
< Группа < Сказуемое> подлежаи^егау <Группа <Группасии^естбитель- 2仙2。何 >ного>I< Суш,ествительное> <ГАаш>< Группа < Сказуемое> подлежаи^егау <Группа <Группасии^естбитель- 2仙2。何 >ного>I< Суш,ествительное> <ГАаш>< Группа дапалненияу-< Группа дапалненияу-<.Прямое Вополн5ние><.Прямое Вополн5ние>< Косвенное дополнение-^< Косвенное дополнение-^John〃*欣3John〃*欣3物邮 / Группа< бра而/6cyu^ecmSume/ibHQZo >物邮 / Группа< бра而/6cyu^ecmSume/ibHQZo ><[руппо предлога ><[руппо предлога >
< Группа < Сказуемое> подлежаи^егау
<Группа <Группа
сии^естбитель- 2仙2。何 >ного>I
< Суш,ествительное> <ГАаш>
< Группа < Сказуемое> подлежаи^егау
<Группа <Группа
сии^естбитель- 2仙2。何 >ного>I
< Суш,ествительное> <ГАаш>
< Группа дапалненияу-
< Группа дапалненияу-
<.Прямое Вополн5ние>
<.Прямое Вополн5ние>
< Косвенное дополнение-^
< Косвенное дополнение-^
John
〃*欣3
John
〃*欣3
物邮 / Группа
< бра而/6cyu^ecmSume/ibHQZo >
物邮 / Группа
< бра而/6cyu^ecmSume/ibHQZo >
<[руппо предлога >
<[руппо предлога >
vApmuKA* <Суш,ест8и- I тельное^vApmuKA* <Суш,ест8и- I тельное^^Предлаг> < ГруппаЗаполнение^Предлаг> < ГруппаЗаполнение
vApmuKA* <Суш,ест8и- I тельное^
vApmuKA* <Суш,ест8и- I тельное^
^Предлаг> < Группа
Заполнение
^Предлаг> < Группа
Заполнение
thetheball<мяч>ball<мяч><Группа суищестйите/1ьнога><Группа суищестйите/1ьнога>
the
the
ball
<мяч>
ball
<мяч>
<Группа суищестйите/1ьнога>
<Группа суищестйите/1ьнога>
w Сдщестдительное >
>
Рис. 2.7.Рис. 2.7.Грамматический разбор предложенияГрамматический разбор предложенияна естественном языке.на естественном языке.
Рис. 2.7.
Рис. 2.7.
Грамматический разбор предложения
Грамматический разбор предложения
на естественном языке.
на естественном языке.
Для исследований по искусственному интеллекту здесь важно, что любая программа вычисления функции, область определения которой образована предложениями на каком-то естественном языке, должна быть программой, моделируемой автоматом, не менее мощным, чем машина Тьюринга. Поэтому программе будет нужен неограниченный доступ к динамической памяти.
2・4・ Линейно ограниченные автоматы и языки типа /
Линейно ограниченным автоматом (ЛО-автоматом) называют машину Тьюринга, которой запрещено передвигать читающую головку за пределы участеа входной ленты, занятого входной це-
почкой. Это можно достичь, добавив к входному языку два специальных символа (обычно ф и $). Их помещают в начале и в конце входной цепочки, которая после этого превращается в ,s$. Правила перехода ЛО-автомата подобны правилам для МТ за исключением того, что если прочитан символ ф или $, то читающая головка передвигается на одну ячейку вправо или влево.
Линейно ограниченный автомат представляет собой модель программы с неограниченным доступом к конечной области „дина- мического*4 участка памяти, причем размер этой области можно определить, исследуя входную цепочку в ходе работы программы перед анализом приемлемости входной цепочки. Фактически можно просто считать, что какая-то часть ленты требуется для ввода как стираемая зона.
Модель ЛО-автомата имеет неочевидное приложение в программировании. Напомним, что автомат называется детерм ин ирован- ным, если для каждого сочетания сигнала на входе и внутреннего состояния существует не более одного правила перехода, определяющего его следующее действие. Автомат называется недетерминированным^ если данная комбинация вход ——внутреннее состояние служит левой частью более чем одного правила перехода. Когда речь шла о машине Тьюринга, разница между детерминированными и недетерминированными автоматами не рассматривалась, поскольку можно показать, что для каждой недетерминированной машины Тьюринга существует эквивалентная ей детерминированная. Для ЛО-автоматов не известно, так это или нет, поэтому, пока ответ не получен, благоразумный программист должен считать, что если ему нужно написать программу, моделью которой является ЛО-авто- мат, то он должен считать этот автомат недетерминированным. Для недетерминированного автомата может возникнуть возможность выбора конкретного правила перехода при предъявлении определенной конфигурации памяти. Если выбор сделан неверно, то автомат может впоследствии прийти в состояние останова, не приняв цепочки. В этом случае надо вернуться к моменту выбора и попытаться принять цепочку, избирая другой путь вычислений. Это можно сделать только в том случае, когда сохраняются весьма точные записи предыдущих действий.
Теоретический результат в области ЛО-автоматов таков:
"зьек L воспринимается УЮ-автоматом тогда и только тогда, когда это язык типа 1.
Этот результат не находит широких приложений, поскольку, как мы показали, ЛО-автоматы моделируют сложные программы. В то же время доказательство того, что областью определения функции f является контекстно-зависимый язык, может оказаться полезным, так как оно выявляет возможности управления памятью и
хранения записей, необходимые программе для вычисления /• Чаще используется другой результат.
Все контекстно-зависимые языки рекурсивны.
Здесь утверждается, что если областью определения L функции f является язык типа 1, то можно написать программу (возможно, сложную), которая с гарантией воспринимает все цепочки sg/* и дает либо значение f (s), либо надежное указание на то, что для
I Читаю-1 Щая головкаI Читаю-1 Щая головкаЧитаю-1 тая головкаЧитаю-1 тая головка号**号**УУ
I Читаю-1 Щая головка
I Читаю-1 Щая головка
Читаю-1 тая головка
Читаю-1 тая головка
号**
号**
У
У
Голобка чтения- записиГолобка чтения- записиПзлобкачтения-записиПзлобкачтения-записиГолобкачтения-записиГолобкачтения-записи
Голобка чтения- записи
Голобка чтения- записи
Пзлобкачтения-записи
Пзлобкачтения-записи
Голобкачтения-записи
Голобкачтения-записи
^ p -sss^^ p -sss^
^ p -
sss^
^ p -
sss^
Рис. 2.8, Работа МП-автомата. Сначала машина находится в состоянии Sy и читает символа/ на входе и символ В注 в магазине. При первом переходе входная лента движется вперед и §&* заталкивается в магазив. Машина оказывается в состоянии Sy*. На втором шаге входная лента движется, читая а/+1, р^* считывается и выталкивается из магазина, а машина переходит в состояние Sy**.
s функция / не определена. С другой стороны, неудачная попытка доказать, что L — язык типа 1 или даже типа 0, не гарантирует, что язык L не рекурсивен. Существуют рекурсивные языки, которые не могут порождаться грамматикой типа 1.
.5. Автомат с магазинной памятью и языки типа 2
Автомат с магазинной памятью (МП-автомат) — это автомат с ограниченным доступом к принципиально бесконечной ленте памяти. Структура МП-автомата и форма его переходов показаны на рис. 2.8. МП-автомат может передвигать свою читающую головку только вправо, т. е. он может воспринимать входные символы только в определенном порядке. Далее МП-автомат имеет ленту памяти
(магазин), которая может двигаться „вверх** и „вниз**. Если в результате движения ленты памяти символ помещается ”над" ее читающей головкой, то этот символ теряется. По аналогии с движением тарелок в стопке посуды в кафетерии операции движения символов ”вверх" и „вниз1* иногда называют „выталкивание** и „заталкивание**. На языке исследования операций лента памяти работает как очередь, организованная по принципу „последним пришел — первым вы- шели. Эта лента предоставляет ограниченный доступ к бесконечной памяти, так как, если /-й символ от последнего, записанного на ленте, должен быть прочитан, /—1 промежуточных символов должны сначала быть стерты.
МП-автомат начинает работу в состоянии So, имея цепочку s на входной ленте и пустой магазин. Последующие конфигурации определяются именем прочитанного символа, внутренним состоянием МП-автомата и именем символа под читающей головкой магазина. Правила перехода машины можно записать в виде
(a, S/, br)—> (Sy,源), (26)
допускающем следующую интуитивную интерпретацию:
Если в состоянии S; символ Ьг находится наверху магазина 〃 считан входной символ а, то надо затолкнуть мага- зин 〃 написать на нем символ bq.
Для алфавита магазина необходим специальный „символ вытал- кнвання" &°. Команда „записать Ь°“ интерпретируется как „вытолкнуть магазин1*.
зык вое пр ин и мается МП-автоматом тогда и только тогда, когда это язык типа 2.
Это чрезвычайно важный результат для теории вычислений, поскольку наиболее традиционные языки программирования (за редким исключением) являются языками типа 2. Фактически большинство трансляторов сознательно конструировались как МП-автома- ты. Техника программирования для управления динамической памятью в МП-автоматах очень хорошо развита. Интересующемуся читателю рекомендуем работу Гриса (1971).
Искусственный интеллект включает в себя ряд задач, которые, хотя на первый взгляд и не имеют отношения к лингвистике, допускают формулировку в виде задач вычисления функций, область определения которых — язык типа 2. Удивительно, как много задач распознавания и обработки изображений можно трактовать таким образом. (Примеры приводятся в части II этой книги.) Как только проблема сформулирована в терминах распознавания языка типа 2, мы получаем возможность пользоваться обширными знаниями, накопленными вычислительными науками для работы с такими языками. Поэтому часто стоит проанализировать соотношение между
исследуемой задачей и языками типа 2, чтобы выбрать структуру нужной программы.
Существует интересная взаимосвязь между типом 2 и более ограниченным типом 3. Каждая продукция грамматики типа 2 развертывает переменную в цепочку. Если продукции грамматики G таковы, что
А-^хЛу(27)
для некоторой переменной 4 (т. е. если цепочка, содержащая А, выводима из А), то грамматику называют грамматикой с самовста- злением、Если грамматика G типа 2 не является грамматикой с само- вставлением, то найдется грамматика G' типа 3, порождающая тот же самый язык. В следующем разделе мы опишем очень простую модель автомата, воспринимающего языки типа 3; эта модель непосредственно определяет структуру программы. Встречаются случаи, когда наиболее очевидная грамматика относится к типу 2 и при ближайшем рассмотрении выясняется, что она без самовставления. В таких случаях обычно стоит сконструировать грамматику типа 3 (возможно, интуитивно менее ясную), которая порождает тот же язык, и использовать ее как руководство при программировании.
2・6・ Конечные автоматы и регулярные языки (типа 3)
Конечный автомат —— эта машина без динамической памяти. Например, программа на Фортране, в которой не используются ленты со стиранием, определяет конечный автомат, так как у нее нет динамической памяти. Подобным образом программы на Алголе и ПЛ/1, которые не определяют динамических структур данных, можно представить как конечные автоматы, так что этот класс программ имеет немалое практическое значение.
Формально конечный автомат М определяется как пятерка
M = (S, /, R S。,F),(28)
где S — конечное множество внутренних состояний памяти, в том числе и единственное начальное состояние So, /={ад} — конечный входной алфавит, F^S — множество заключительных состояний, Р — отображение множества Sx/ в S, определяющее правила перехода из одного состояния в другое как функцию текущего состояния и входного символа. Интуитивное представление об организации конечного автомата можно получить из рис. 2.9. Находясь сначала в состоянии So, система на каждом такте считывает один символ с ленты, продвигает читающую головку на один шаг вправо и переводит статическую память в состояние, определяемое состоя* нием в данный момент и входным символом. Затем цикл повторяется до тех пор, пока не будет достигнуто некоторое состояние S/WE
Машина воспринимает входную цепочку sg/*, если S/ достигается впервые сразу после прочтения последнего символа из s.
Полезно представлять конечный автомат в виде графа, в котором узлы соответствуют его состояниям, а помеченные дуги обозна-
I Читаю-1тая Iголовка!
Читаю^щаяголовкаЧитаю^щаяголовкаРис. 2.9. Переход конечного автомата из состояния S, в состояние S/ после чте-ния символа сс岳
Читаю^щаяголовка
Читаю^щаяголовка
чают символы, которые нужно прочесть при каждом переходе. На рис. 2.10 приведен пример. Представление конечного автомата в виде графа непосредственно приводит к одному методу написания соответствующей программы, так как переход от теоретико-графо-
ВКОНЕЦ
Рис. 2.10. Конечный автомат, представленный в виде матрицы переходов междусостояниями. Метка на дуге обозначает символ, считываемый на соответствующемпереходе.
вых операций к операциям над массивами очень прост. Если М —— граф, то его можно представить в виде матрицы связностей С, где
&/ = J 也,если в автомате есть правило (S., а&)—'*• (Sy), &/ = [о, если нет правила (S/, a&)f(S/), (29)
С“ = —1, если S/WE В этом случае &/ = 0 для
Для чтения матрицы С и описания действий определяемого конечного автомата достаточно очень простой программы управления.
^зык L воспринимается конечным автоматом тогда 〃 только тогда, когда L—регулярный язык (типа 3).
Рис. 2.11. Элементы графа, соответствующие различным типам правил в конем* ных автоматах.
Напомним, что правила регулярного языка имеют вид
4 Tx(30а)
или
А—хВ,(306)
где х — терминальный символ, А и В — переменные. - Правило (30а) можно интерпретировать так:
Если в состоянии S再 читается символ х, то перейти в состояние Sj из F.
Правило (306) интерпретируется так:
Если в состоянии S再 читается символ х, то перейти eSB.
Эти интерпретации определяют основные блоки для представления конечного автомата в виде графа. В графе есть дуги, входящие и выходящие из одного и того же узла, и дуги, соединяющие различные узлы. На рис. 2.11 показаны три возможных типа комбинаций узел — дуга: дуга, соответствующая (30а), и две возможные дуги для (306), одна для случая, когда Д и В ——различные символы, другая — когда Л и В одинаковы. Это иллюстрирует простой путь от определения регулярного языка к графу, который определяет
автомат, воспринимающий этот язык, и далее к представлению графа как массива. Нетрудно записать программу, автоматизирующую этот процесс. Такая программа получала бы на вход определение языка типа 3 и выдавала бы на выходе программу, распознающую этот язык.
На практике часто бывает важным следующий результат:
Если 厶一конечное множество цепочек 6 /*, то 厶 может порождаться регулярной грамматикой.
Практически это означает, что любую функцию, область определения которой ——конечное множество цепочек, можно вычислить с помощью достаточно большой программы, не имеющей доступа к динамической памяти.
2・7・ Резюме а комментарии к практическомуиспользованию
Мы определили четыре типа языков, от относительно неструктурированного языка типа 0 до сильно структурированного языка типа 3. Каждый из языков более высокого порядка представляет собой собственное подмножество всех языков более низкого порядка. Этой последовательности языков соответствует последовательность все более ограниченных автоматов: машина Тьюринга, линейно ограниченные автоматы, автоматы с магазинной памятью^ конечные автоматы. Эти четыре класса автоматов различаются по степени доступа к принципиально неограниченной ленте памяти. Каждый из них можно рассматривать как основной план для класса программ с аналогичным ограничением на доступ к принципиально бесконечной динамической памяти.
Современная практика вычислений, возможно, скрадывает это соответствие между программами и автоматами. При программировании МТ или МП-автомата мы часто моделируем „первую часть4* принципиально бесконечной ленты памяти в конечной памяти реальной ЭВМ. Язык, который реально воспринимается, не предъявляет к ленте больших требований. Чтобы оценить это, заметим, что в „чистом41 определении Фортрана как языка непосредственно составляющих должна быть возможность вставлять круглые скобки на любом уровне. Это позволило бы рассматривать арифметические выражения вида
(B + (C + Dl*(D2/(. .)•)•・・)+Z, (31)
которые могут содержать, например, 974 вложенных скобок. На практике длина ленты памяти, требуемой для МП-автомата, моделируемого транслятором, превзошла бы объем оперативной памяти, отведенной для программы в реальной ЭВМ, и оператор не был бы воспринят. Это „теоретическое** основание для ограничений, за-
Резюме и комментарии к практическому использованию 61 писанных в большинстве учебников по программированию, предостерегающих программиста от использования операторов с более чем 12 уровнями вложенных скобок.
Если программа моделирует верхнюю часть ленты памяти на конечном участке, то независимо от того, как этот участок обрабатывается, сама программа определяет конечный автомат, а не МП- автомат. Можно ли быть уверенным, что эта ограниченная система воспримет подмножество языка, которое, как чистый Фортран или Алгол, было порождено грамматикой составляющей структуры? Ответ заключается в том, что подмножество языка, доступное программе, будет конечным, если любой язык, содержащий конечное множество цепочек, порождается регулярной грамматикой и, следовательно, воспринимается конечным автоматом. В действительности гораздо проще рассматривать транслятор как МП-автомати не забывать о побочных эффектах, которые ограничивают его операции. Это же справедливо и для ряда других псевдо-МП-автоматов.
Язык, воспринимаемый машиной Тьюринга, рекурсивно перечислим. Если дополнение этого языка также рекурсивно перечислимо, то это рекурсивный язык. Множество правильно построенных выражений (п. п. в.), выводимых из множества аксиом исчисления предикатов первого порядка, рекурсивно перечислимо, но не рекурсивно. Поэтому нельзя гарантировать, что программа распознавания таких утверждений закончит обработку произвольного п. п. в. за конечное время. Это важное теоретическое ограничение в области искусственного интеллекта. Рассмотрим „предельную44 систему информационного поиска, которой сначала придан очень большой банк данных и затем задан вопрос: „Следует ли утверждение X из этих данных и правил логического вывода?**. Если нет, то программа может попасть в цикл.
В других интересных ситуациях появляются еще более значительные ограничения. Существуют задачи, в которых требуемый входной язык не является рекурсивно перечислимым. Примером служит множество всех истинных утверждений в теории чисел. На практике, однако, ограничения вследствие нерекурсивности важнее ограничений из-за отсутствия рекурсивной перечислимости.
В сущности все интересные языки для п. п. в. в математике и логике имеют контекстно-свободные грамматики. Поэтому любая программа, которая должна обрабатывать такие утверждения, должна моделироваться по меньшей мере МП-автоматом. Естественные языки, однако, нуждаются в трансформационных грамматиках и потому могут обрабатываться только программами, моделируемыми машинами Тьюринга. Это значит, что программы анализа естественных языков должны содержать сложные механизмы для адресации принципиально бесконечной памяти. Подобный же вывод справедлив и для программ, осуществляющих алгебраические преобразования или доказательство теорем.
Эти результаты могут показаться обескураживающими, поскольку они означают, что существует ряд интересных задач, которые нельзя решить алгоритмически, и еще больше таких, для которых недостаточно простых алгоритмов. Мы заканчиваем эту главу более оптимистичным напоминанием о том, что на практике почти всегда можно ограничиться конечным подмножеством мыслимых предложений во входном языке и чисто прагматически решать задачу, написав программу — возможно и большую, но не требующую доступа к внешним устройствам с бесконечной памятью. Пока что подавляющее большинство приложений вычислительной техники обладает таким свойством.
Часть 〃
РАСПОЗНАВАНИЕ ОБРАЗОВ
Глава 3
ОБЩИЕ СООБРАЖЕНИЯПРИ РАСПОЗНАВАНИИ ОБРАЗОВ
30 Классификация
Классификация лежит в основе интеллектуальной деятельности. Мы так легко классифицируем, что редко задумываемся над тем, насколько это существенно или насколько тонки производимые нами классификации. Вы в состоянии узнать свое имя, произнесенное мужчиной или женщиной, простуженным человеком или здоровым, на фоне шума самолетных двигателей или сонаты Бет- ховена. Если бы вам пришлось анализировать физические воздействия, которым в каждом случае подвергается ваше ухо, то вы не нашли бы в них почти никакого явного сходства. Теперь обратимся совершенно к другому случаю. Когда врач ставит диагноз, он не просто выбирает название для недуга больного. Он должен решить, принадлежит ли данный пациент классу пациентов, которому показано лечение X. И наконец, рассмотрим третью задачу классифика~ ции. Операторы радара или сонара должны решить, являются ли наблюдаемые на дисплее конфигурации результатом отражения от цели, действия фонового шума или отражения от неслучайной цели» но не той, за которой они следят. В общем случае нет совершенно^ го правила, с помощью которого они могли бы это сделать, посколь-. ку как цель, так и шум могут привести к почти любой конфигурации на дисплее. Различие состоит в вероятности, с которой цель или шум дадут определенные изображения.
С точки зрения психолога, эти примеры совершенно различны. Первый обычно трактуется как задача восприятия, второй ——как задача логического мышления и третий — как задача обнаружения сигнала. Здесь и находится то место, где человек и вычислительная машина, возможно, отличаются друг от друга. Вполне может оказаться, что в каждом случае вовлекаются различные психологические процессы. В то же время эти задачи могут иметь одно и то же математическое описание, и они, возможно, должны анализиро
ваться одинаковыми алгоритмами. В каждом случае наблюдателю дается набор объектов, которые можно описать заданием значений для каждого признака из известного множества признаков. Каждый объект принадлежит одному или более классам из некоторого фиксированного множества. В задаче классификац и и образов наблюдатель должен применить установленное ранее правило, чтобы решить, какому классу принадлежит объект. В задаче распознавания образов это правило классификации должно вырабатываться на основе исследования множества объектов с известной принадлежностью различным классам. Эти объекты в совокупности называются обучающим множеством 】)или выборкой, В задаче формирования образов объекты предъявляются наблюдателю без указания их принадлежности классам. Наблюдатель должен самостоятельно построить соответствующее определение классов.
Далее мы будем в основном изучать задачу распознавания. (Внимательный читатель, возможно, уже заметил, что задача классификации эквивалентна задаче выяснения, является ли некоторая цепочка предложением в формальном языке.) В этой главе будет дана классификация задач распознавания образов. Приводимая схема классификации позволяет выделить отдельные подклассы задач распознавания. Мы представим обзор этих типов задач, а в последующих главах подробнее исследуем указанные проблемы.
3・7・ Характеризация задач распознавания образов3・1・0・ Общие положения
Разнообразие задач распознавания образов можно охарактеризовать тремя параметрами: способом, которым предъявляется наблюдателю обучающее множество, типом правила классификации образов, которое должен построить классификатор, и видом описания классифицируемых объектов. На рис. 3.1 показаны эти три параметра, объединенные в трехмерную схему. Каждое ребро параллелепипеда представляет один из параметров. Каждая ячейка внутри параллелепипеда соответствует определенному классу задач. Например, ячейка, обозначенная на рисунке буквой Л, включает в себя те задачи, в которых процедура классификации образов должна вырабатываться на основе информации, содержащейся в единственной выборке, при условии, что каждый из объектов можно представить точкой в многомерном евклидовом пространстве описаний, и в предположении, что для построения правила классификации может потребоваться полное знание описания объекта. Мы можем противопоставить подобные задачи задачам из ячейки В (рис. 3.1), для которых евклидово пространство описаний и тип
*) В оригинале organizing set {ррганизуюи^е множество).— Прим, перев,
правила классификации сохраняются, а классификация по единственной выборке заменяется классификацией на основе последовательности выборок, при которой правило классификации уточня* ется после каждой выборки.
Три параметра, образующие параллелепипед, далее будут описаны подробнее, поскольку мы постоянно будем ссылаться на них при выработке методов решения определенных классов задач.
Правило нлассификации
Рнс. 3.1. Соотношение параметров в задачах распознавания образов.
Предъявление обучающего множества
Рассматриваются два случая: распознавание образов, основанное на единственной выборке, и такие ситуации распознавания, когда используется последовательность выборок. В случае единственной выборки несколько объектов из известных классов предъявляются системе распознавания образов до начала классификации. На основе наблюдения этой выборки устройство распознавания вырабатывает правило классификации, применяемое затем к объектам, которые предопределяются указанной выборкой, но в ней не содержатся. Само правило классификации далее не меняется, даже когда наблюдаются ошибки классификации. В распознавании образов, использующем последовательность выборок, информация, получаемая первоначальной выборкой, является лишь предварительной, и она учитывается при построении соответствующего первоначального правила классификации. После выработки правила берется следующая выборка, к которой применяется имеющееся правило классификации. (Часто новая выборка состоит лишь из одного объекта.) Оценивается результат классификации и, если окажется 3 Э. Хант
нужным, отыскивается новое правило. Эту процедуру можно повторять сколько угодно, пока не будет удовлетворен некоторый критерий работы правила.
Выработку процедуры классификации на основе фиксированной выборки обычно относят к статистике, а не к искусственному интеллекту. Опубликовано много работ, в которых излагаются соответствующие методы (например, Андерсон, 1958; Тацуока, 1971), особенно для задач, в которых можно использовать евклидовы пространства описаний. Статистиков также интересовал и другой, тесно связанный с этим вопрос. Обнаруживают ли члены, относящиеся к разным группам, систематические различия при измерении одной зависимой переменной? Этот вопрос очень важен для экспериментальных исследований, где „классификация** проводится с данными, получаемыми при меняющихся экспериментальных условиях.
Случай последовательной выборки представляет собой одну из наиболее активно изучающихся проблем искусственного интеллекта. Часто ее называют машинным обучением. Вероятно, название связано с тем, что непрерывное изменение правила классификации во многом аналогично способности большинства животных обучаться на опыте. Поскольку, почти по определению, поступки животных разумны, система искусственного интеллекта должна обладать подобной способностью к обучению. В самом деле, в ряде философских работ обучение на примерах выделяется как определение познавательной способности (наиболее важные работы приведены Уром, 1965).
Если устройство распознавания образов может обучаться путем приспособления своих правил классификации к последовательным выборкам, возникает задача оценки полезности и стоимости каждого изменения. Обычно изменение правила классификации требует больше вычислений, чем классификация, использующая заданное правило. В самом деле, врачи не могут изменять свои диагностические процедуры после каждого больного, университеты не могут изменять свои правила приема каждый раз в зависимости от того, окончил данный студент университет или нет. С другой стороны, отсутствие возможности изменять ошибочное правило может привести к увеличению частоты ошибок классификации выше допустимых пределов. Вероятно, наиболее широко распространено в экспериментальных исследованиях или в распознавании образов изменение правила классификации всякий раз, когда происходит ошибка. Очевидная альтернатива ——изменение правила классифн* кации только в случае превышения частоты появления ошибок некоторого заранее установленного допустимого уровня. Такую процедуру можно считать лучшим приближением к распознаванию образов в практических ситуациях.
Можно построить устройство распознавания образов, в котором
не учитывается информация об ошибках. Например, можно было бы рассматривать наблюдаемое среднее значений членов каждого класса по каждому параметру и классифицировать все новые объекты, оценивая, насколько близки они к текущей средней точке каждого класса. Интересно приложение данного метода, называемое „самостоятельным обучением**, когда средние уточняются распознавателем образов в предположении, что классификации верны, и никак не учитывается обратная связь.
Способ, которым устройство распознавания образов изменяет пробное правило классификации, в большей мере определяется величиной информации, которую оно способно запомнить. В каждом случае, когда новый объект предъявляется для классификации, устройство распознавания получает какую-то информацию об окружающей среде — хотя бы только для улучшения оценки частоты появления объектов определенного типа. Как должна записываться такая информация? Вообще говоря, существует два способа. Один из них ——детальный метод, при котором информация о каждом объекте записывается в момент его предъявления. Например, врач обычно записывает результат каждого обследования и диагноз. Другой метод——стат ист и чески й; он предполагает хранение обобщенной статистики, связанной с каждым классом и представляющей собой результат некоторого усреднения данных всех наблюдавшихся до настоящего момента случаев в соответствующем классе. Здесь примером может служить бюро погоды, строящее свои прогнозы на типичных показателях. Вместо хранения подробной информации об одном дне для обновления представлений о „типич- ном“ дождливом или ясном дне используется информация о каждом новом дне.
Установление способа хранения информации и типа правила, которое нужно выработать, приводит к формулированию вычислительной проблемы: определить алгоритм, эффективно отображающий множество возможных конфигураций „памяти** (т. е. множества всех возможных хранящихся записей о среде) в множество возможных правил классификации. Для большинства случаев существуют несколько алгоритмов, которые могут отличаться друг от друга аспектами, весьма существенными при их практической реализации. Больше всего нас интересуют здесь такие свойства соответствующих процедур, как сходимость, оптимальность и вычислительная сложность.
Рассмотрим устройство распознавания образов, функционирующее так: вначале оно использует произвольно выбранное правило классификации. По мере получения информации путем демонстраций устройству объектов и указания классов, которым они принадлежат, ано вырабатывает последовательность новых правил классификации. Если независимо от получаемой дополнительной информации устройство в некоторый момент перестает строить новые пра-
68 Гл. 3. Обилие соображения при распознавании образов вила, говорят, что процедура сходится к окончательному правилу. При описании алгоритма важны условия, гарантирующие сходимость. Нас может также интересовать, будут ли получаемые по пути к окончательному решению последовательные правила „боль- ше похожи4* (в некотором смысле) на окончательное решение, чем на предыдущие правила в последовательности. Устройство распознавания образов называют оптимальным, если гарантируется, что правило, к которому сходится процедура, минимизирует некоторую функцию, определяющую стоимость ошибочной классификации. Часто эта функция есть просто число ошибок классификации, однако она может быть и более сложной. Иногда мы будем называть устройство распознавания образов оптимальным 6 некотором классе устройств распознавания образов, если оно вырабатывает окончательное правило, для которого значение функции ошибочной классификации не превышает значений функций ошибочной классификации, соответствующих окончательным правилам, вырабатываемым любым устройством из этого класса.
Понятие вычислительной сложности менее ясно и потому менее изучено. Интуитивно это понятие отражает трудность применения алгоритма. Последнюю можно было бы определить в терминах необходимой для выполнения рассматриваемого алгоритма машинной памяти, числа требуемых шагов вычислений, типом этих шагов или временем их выполнения. Существуют две важные разновид* ности понятия вычислительной сложности: сложность собственно алгоритма распознавания образов и сложность вырабатываемого им правила классификации. Сложность алгоритма распознавания образов тесно связана с вопросом сходимости; в обоих случаях нас интересует, насколько сложно достичь результата, применяя определенный метод. Вопрос о сложности правила классификации относится больше к практической приемлемости результатов, поскольку здесь для нас существенно, насколько хорошо полученное правило.
Правила классификации
Процедура распознавания образов ——это алгоритм, формирующий правило классификации образов, исходя из обучающего множества. Очевидно, что тип используемого правила классификации будет определять структуру процедуры распознавания. Существуют два общих метода классификации: параллельный и последовательный. Для простоты предположим, что мы можем описать объект при помощи вектора символов. (В большинстве случаев это справедливо, хотя в следующем разделе мы приведем исключения.) В параллельной процедуре производится ряд тестов над всеми компонентами вектора, а затем делается предположение о принадлежности объекта классу на основе объединенного результата этих тестов. В про-
цедуре последовательной классификации сначала проверяется некоторое подмножество компонент вектора описания, а затем в зависимости от результатов этих тестов или производится классификация, или выбираются новая совокупность тестов и новое подмножество компонент вектора описания, после чего указанный процесс повторяется.
Формальные выражения для параллельной и последовательной процедур достаточно прозрачны.
Пусть х=3},』1, …,п,— вектор описания объекта, и объекты могут классифицироваться в с классов. В случае параллельной классификации существует множество 尸={力}, /=1, ..., с, функций не более чем п переменных. В алгоритме классификации объект относится к классу / тогда и только тогда, когда
W7 = max {wk},论=1, ...,с,(1)
где
3了=办(打,Х")(2)
для j=l,・・・,с. Термин „параллельный** здесь оправдан, поскольку не важно, в каком порядке вычисляются функции ^, и, значит, если только для этого есть возможность, они могут вычисляться одновременно. Время, затрачиваемое на классификацию, будет определяться наибольшим временем, необходимым для вычисления любой из функций /力 хотя общее количество вычислительных ресурсов, требуемых для проведения классификации, равно сумме ресурсов, требуемых для вычисления каждой функции 力.
Селфридж в одной своей часто цитируемой работе (1959) привел наглядный пример параллельной процедуры. Предположим, что каждая функция /; заменена маленьким демоном, задача которого —— исследовать описание и выкрикивать название своего класса, если он считал, что объект относится именно к этому классу. Демон должен кричать громко, если он уверен в своем решении, и тихо, если не уверен. Однако общий шум, производимый демоном, будет зависеть не только от его стараний, но и от его способности кричать. Последнее определяет всемогущий (решающий) демон, который наделяет демонов первого порядка сильным или слабым голосом. После предъявления классифицируемого объекта каждый демон выкрикивает название своего класса с интенсивностью, зависящей от его собственных оценок и от силы данного ему голоса. Решающий демон, который ведет себя как председатель собрания, где проводится голосование, решает, название какого класса было выкрикнуто громче всех.
Процедуры последовательного решения несколько более громоздки, чтобы их можно было описать формально, но, безусловно, это
можно сделать. Удобнее представить эти процедуры в виде дерева } указывающего порядок, в котором должны производиться тесты. На рис. 3.2 изображена часть дерева, соответствующая последовательной процедуре решения при постановке медицинского диагноза. Первый тест относится к самому верхнему узлу дерева; в зависимости от результата теста следующий тест выбирается или из правого
ДаДаНетНетНеЗрошические отклонения ?НеЗрошические отклонения ?Hgum 力〃 патология хронический хиректер?Hgum 力〃 патология хронический хиректер?РетрогроЗная амнезия ?РетрогроЗная амнезия ?Диагноза переутомлениеДиагноза переутомлениеИсходноя информации вольная, 40 %&伤 травма готовы и сильные го/гооные ^ояи 少 течение 5 месяцевИсходноя информации вольная, 40 %&伤 травма готовы и сильные го/гооные ^ояи 少 течение 5 месяцевРис. 3.2. Пример последовательной процедуры решения при постановке медицинского диагноза. Кружки указывают путь классификации в рассматриваемом случае (Клейимуиц, 1968).Рис. 3.2. Пример последовательной процедуры решения при постановке медицинского диагноза. Кружки указывают путь классификации в рассматриваемом случае (Клейимуиц, 1968).Нет
Да
Да
Нет
Нет
НеЗрошические отклонения ?
НеЗрошические отклонения ?
Hgum 力〃 патология хронический хиректер?
Hgum 力〃 патология хронический хиректер?
РетрогроЗная амнезия ?
РетрогроЗная амнезия ?
Диагноза переутомление
Диагноза переутомление
Исходноя информации вольная, 40 %&伤 травма готовы и сильные го/гооные ^ояи 少 течение 5 месяцев
Исходноя информации вольная, 40 %&伤 травма готовы и сильные го/гооные ^ояи 少 течение 5 месяцев
Рис. 3.2. Пример последовательной процедуры решения при постановке медицинского диагноза. Кружки указывают путь классификации в рассматриваемом случае (Клейимуиц, 1968).
Рис. 3.2. Пример последовательной процедуры решения при постановке медицинского диагноза. Кружки указывают путь классификации в рассматриваемом случае (Клейимуиц, 1968).
^Провести вальнейшие nwmbf)
{ПроОести дальнейшая тесты){ПроОести дальнейшая тесты)UjpoSecmuошнеишиетесты)UjpoSecmuошнеишиетесты)или из левого узла, расположенного ниже узла, соответствующего только что выполненному тесту. Название класса связывается с концом каждой ветви, например узел А на рис. 32
{ПроОести дальнейшая тесты)
{ПроОести дальнейшая тесты)
UjpoSecmuошнеишиетесты)
UjpoSecmuошнеишиетесты)
Если задано одно и то же множество тестов, то для выполнения последовательных процедур решения, вообще говоря, потребуется меньше тестов, чем для эквивалентной параллельной процедуры, а,
Деревом называется граф, в котором
есть едииствеииый узел, называемый корнем, ие имеющий узлов над иим (т. е. у корня иет предков),
все остальные узлы имеют точно по одному предку,
ни один из узлов ие принадлежит множеству своих потомков (нет петель)г
Узел, ие имеющий потомков, называется листом или концевой то^й. Узлы, имеющие потомков, называются внутренними узлами дерева»
значит, убудет израсходовано меньше вычислительных ресурсов. С другой стороны, если есть возможность выполнить параллельную процедуру, то последовательная процедура может оказаться значительно более долгой. Очевидно, что если мы вынуждены осуществлять параллельную процедуру на последовательной машине (что обычно и бывает при использовании цифровой ЭВМ), то для выполнения соответствующей последовательной процедуры потребуется в самом худшем случае столько же времени, сколько для параллельной.
Существенный недостаток последовательной процедуры решения состоит в том, что она подвержена ошибкам в случае ненадежности отдельных тестов, как в смысле ненадежности устройства, их выполняющего, так и в том смысле, что каждая компонента %» вектора описания определяется вероятностно при задании объекта, (Отметим, что в этих случаях применяется один и тот же формализм.) Если произошла ошибка измерения, то последовательная процедура может выбрать в дереве неверный путь, причем при этом нет возможности поправить дело. В параллельной же процедуре ошибки измерения не столь опасны, поскольку рассматриваемая классификация будет зависеть от всех имеющихся результатов испытаний.
Варианты описаний объектов
Третьим параметром, определяющим возможные задачи распознавания образов, являются способы описаний самих объектов. В большинстве задач классификации объект можно считать набором результатов измерений. Какова природа этих измерений и что значит их природа для процедур классификации и распознавания? Эти вопросы совсем не тривиальны. Например, в большинстве изучаемых случаев (особенно в статистике) считается, что измерения определяют евклидово пространство описаний, и каждый объект представляется точкой в этом пространстве. Это позволяет комбинировать измерения, чтобы определить для каждого класса местоположение „типичной** точки в пространстве описаний. Такая процедура хорошо работает для задач измерения и группирования физических объектов. Например, кажется разумным выработать понятие „здоровой полноты41, основанное на росте и весе, и использовать его для разделения студентов на потенциальных атлетов и прочих. Разумность такого классифицирующего понятия, однако, целиком зависит от свойств, которые мм приписываем различным измерениям пространства описаний. В данном случае идею „близости по мере (расстоянию) в евклидовом пространстве** можно интерпретировать как „подобие в росте и весе", что разумно. В других случаях нет разумной интерпретации расстояния. Например, так было бы в случае, если бы основными измерениями были определяющие признаки, вы-
ражаемые такими величинами, как пол, место рождения и раса ^). Иными словами, описание объекта — это список признаков, а не набор измерений. В любом случае объект можно представить в виде вектора описания; правда, имеющие смысл математические операции с такими векторами будут совершенно другими.
.Структурные описания дают другой интересный способ описа* ния объектов. Грубо говоря, структурное описание выделяет взаимоотношения между компонентами объекта, а не характеристики объекта, получаемые в серии измерений. Наиболее ясный пример структурных описаний ——лингвистические объекты. При обсуждении формальных языков (гл. 2) было показано, что предложение можно эффективно описать правилами непосредственно составляющих, которые выражают отношения между элементами предложения. Без сомнения, ненужной была бы мера, задаваемая на предложениях, если бы она определялась числом появлений в них различных элементов. Какая польза была бы от утверждения, что английское предложение содержит три существительных и два глагола? Было обнаружено, что те же рассуждения можно применить и к различным областям, весьма далеким от традиционной лингвистики. Одно из наиболее интересных приложений структурного описания ——использование его в анализе изображений (Миллер и Шоу, 1968). Например, мы не видим иного, кроме структурного, способа описания определяющих характеристик множества симметричных двумерных рисунков. К сожалению, относительно мало известно о соответствующих методах распознавания образов ).
Процесс описания важен и сам по себе. Должна быть „максимально примитивная** сенсорная система для преобразования во внутренний код физических воздействий, поступающих на классифицирующее устройство. Общепринято называть это процессом преобразования. Животным в качестве преобразователей служат глаза, уши и другие органы чувств, а вычислительные машины используют устройства, чувствующие отверстия в перфокартах или реагирующие на изменения электрического напряжения. Назовем внутренний код, получаемый при преобразовании, кодом уровня 0. Любые два физически различных объекта, производящие одинаковое кодирование уровня 0, для устройства распознавания образов будут неразличимы. При вычислениях различия уровня 0 выглядят тривиальными.
„Очевидно , нельзя написать программу для ЭВМ, способную различать красные и синие перфокарты. Эта информация потеряна.
Преобразование уровня 0 дает цепочку двоичных цифр, в которой каждая цифра представляет наиболее примитивное свойство вычислительной системы. С этими цепочками непосредственно работать неудобно, поэтому их обычно перекодируют в блоки, возможно, облегчающие процесс распознавания образов. Будем называть это кодированием уровня 1. Оно включает в себя разбиение входной последовательности на подблоки. Хорошо известный пример — буквенно-цифровой код, в котором 960 бит в перфокарты группируются в 80 буквенно-цифровых символов. Это вызывает дальнейшую потерю информации, поскольку не все двоичные конфигурации можно выразить с помощью буквенно-цифрового кода. Подобным же образом, только в значительно большем объеме, происходит потеря информации в биологических системах. Например, Хант и Макоус (1969) оценили уменьшение количества информации при чтении про себя с 109 бит в секунду на входе до 35 бит в секунду на выходе.
Результат кодирования уровня 1 состоит в получении данных, удобных для работы алгоритма распознавания образов. В биологических системах это достигается в основном путем отбрасывания ненужных данных, но почти столь же эффективной может оказаться простая перекодировка данных. Это проиллюстрировано на рис. 3.3, на котором ”правильное" перекодирование превращает очень сложную задачу распознавания образов в очень легкую. В верхней таблице рисунка приведены два класса двоичных векторов, обозначенные X и О. Правило для классификации векторов найти в принципе можно, но для большинства людей оно не очевидно. В средней таблице представлены восьмеричные эквиваленты двоичных векторов. Правило классификации найти все еще тяжело. В нижней таблице двоичные векторы опять преобразованы, на этот раз в шестнадцатеричные векторы, и ответ очевиден.
Нет ничего специального в переходе от уровня 0 к уровню 1; можно было бы легко перейти от уровня 1 к уровню 2, от уровня 2 к уровню 3 и т. д. Число переходов для устройства распознавания образов, которое ими не управляет, не имеет значения. Таким образом, если программа для ЭВМ предназначена для классификации слов и перед вводом данных в программу всегда производится преобразование разряды —— символы, то не важно, будет программа оперировать с разрядами или с символами. Намного существеннее различие между программами выделения признаков, которые могут изменяться самой программой распознавания образов во время поиска решения, и теми, которые остаются неизменными. Например, рассмотренную задачу (рис. 3.3) можно было бы решить с помощью сложного алгоритма, работающего с двоичными или восьмеричными образами, или с помощью простого алгоритма, который испытывал
Класс Векторов X
Класс
векторов 0
0 1
1 0 0 0
I 1 0 I
0 [
0 0 0 0 !
6 1 I 0 0 I [
0 1 0 0
0 I I 0
1 I 0 1
1 0 0 0 0
I 1 0 0 1 I 0
1 I
I
I
1
1 I
1
1
1 I
1
0 6
4 0
2 I
7 6
1
5 2
3
0 0 0 0 0 0 0 0 0 0 0 О 0 0 0 0 0 0 0 0 0 0 0 о
6 2 2 2
2 5 2 5 2 2
6 2 6 2 2 3
2 2 6 3 6 3
2 2
I 9 А 9 8 9 0 9
4 9 3 9 尸9
С 9 2 9
В 9 5 9 £ 9
двоичное кодирование 1011000011
10 10 010 10°
IIf0и10000
1II0000000
1000001010
100010011°
10 0 10III*0
110 11II0°【
I 0 I I I00IоI
fill!I01II
1 I 0 1 00I0I1
I 0 0 0 I1I°1I
Восьмеричное кодирование ° 45
44
40
O2
II
27
3・6
7I
75
22
I6
ШестнаОца^еричное кодирование 6 4 厶 卩 0
I 2 5 7 F Л
1110 I I 0 0 10 10 1 0 0 I 0 110 0 10 0 0 0 10 0(0( 0 110 10 0 1 I 0 I 0
I I I I
7 6 6 I 4 4 t 2 3 1 1 4 4 6 0 4 4 i 4 2 2 2 5 3 2 6 7 7 1 7 7 2 5 7 7 2
I F 6 4 6 4 8 5 3 0 4c 5 3 0
3 2 I f1 2 CAB 2 В 7 В C F 5 D 5
P F A
I 1 0 1 0 0 0 0 1 I
1 0
I 0 I 0 0 0 I f I I 0
I
0 0 f 0
0 1
0 1 I
I I 0
Рис. 3.3. Результат кодирования при распознавании образов.
бы различные коды до тех пор, пока не нашел шестнадцатеричный, легко решающий задачу. Вообще мы должны различать программы распознавания образов с фиксированным кодированием данных и программы, в которых есть возможность менять вид кодирования.
3・2・ Историческая ретроспектива 0 текущие проблемы
Если бы вам пришлось просмотреть журналы с первыми исследованиями по распознаванию образов, вы обнаружили бы, что лишь немногие из возможных видов задач распознавания образов вызывают сегодня большой интерес. Быстро увеличивается число работ по структурным описаниям, в особенности в приложении к машинному распознаванию зрительной информации. Ясно, что это сейчас „активная4* область. Если бы вам пришлось заглянуть в эти же журналы, вышедшие несколько лет назад, вы обнаружили бы, что интересы тогда были иные. В начале и середине 60-х годов большой интерес проявлялся к общим вопросам машинного обучения и, в наших терминах, к параллельному распознаванию образов с последовательной выборкой. Обычно использовалось булево или евклидово пространство описаний. А перед этим был интерес к методам распознавания образов с единственной выборкой, так что многие из научных сообщений можно было бы считать в равной степени работами как по статистическому анализу, так и по искусственному интеллекту. Наконец, за последние 10 лет наблюдался постоянный интерес к последовательным процедурам классификации и распознавания. Интересно, что это происходило одновременно с увеличением интереса к последовательным процедурам классификации среди статистиков.
Глава 4
МЕТОДЫ КЛАССИФИКАЦИИИ РАСПОЗНАВАНИЯ ОБРАЗОВ,ИСПОЛЬЗУЮЩИЕ ЕВКЛИДОВЫ ПРОСТРАНСТВАОПИСАНИЙ
4.0. Общая часть
4.0.0. Введение
В этой главе излагаются некоторые методы параллельного распознавания образов, которые можно применять к объектам, представленным точками в евклидовом пространстве описаний. Этот подход основан на предположениях, что каждый классифицируемый объект можно описать совокупностью измерений, определяющих оси евклидова пространства, и что все измерения объекта будут известны устройству классификации образов к моменту, когда должна производиться классификация. Такую ограниченную задачу нередко относят к статистике или теории измерений, а не к искусственному интеллекту. Как бы то ни было, тот, кто занимается распознаванием образов, должен быть знаком со статистическим подходом. Статистические методы весьма эффективны, но они существенно зависят от сильных допущений относительно свойств исследуемых объектов и хорошо работают лишь тогда, когда такие допущения справедливы. С другой стороны, важно понимать природу этих допущений, так как неоправданно сделанные допущения могут привести к вводящим в заблуждение результатам.
Поскольку предмету, рассматриваемому в настоящей главе, статистики уделяли много времени, нет ничего удивительного в том, что на эту тему существует много работ. Мы не будем пытаться отразить всю имеющуюся литературу. Назовем лишь хороший учебник Тацуоки (1972) по основам этого направления и работы Дуды и Харта (1973) и Мейзела (1972), где приводится обширная литература, особенно по приложениям к вычислительным наукам.
4.0.1. Определения
Мы будем предполагать, что существует известное множество С={&}, состоящее из k взаимно исключающих классов объектов. Каждый объект представляется набором результатов измерений,
называемым его описанием. Одно измерение — это точка на некоторой шкале, а шкалы в свою очередь, определяют пространство описаний D. Таким образом, описание объекта — это точка х в пространстве D. Отметим, что два объекта могут иметь одинаковые описания, но находиться в различных классах. Процедурой классификации образов называется процедура, относящая объект к классу С< тогда и только тогда, когда его описание попадает в область R» пространства D, соответствующую этому классу. Такая процедура классификации образов корректна, если объект и в самом деле относится к классу L Процедурой распознавания образов называется процедура определения этих областей {R»} путем исследования описаний множества S объектов, про которые известно, каким классам они на самом деле принадлежат. Итак, S будет выборкой, с которой работает процедура распознавания образов.
4.0.2. Предположение об евклидовости пространства
Все обсуждаемые в этой главе процедуры зависят от понятия расстояния между двумя точками в пространстве описаний. Грубо говоря, используется следующее соображение: если два объекта имеют описания, расположенные близко друг от друга в пространстве D, то они скорее всего принадлежат одному классу. В гл. 3 указывалось, что такой подход интуитивно справедлив для большинства физических шкал, таких, как рост и вес, но менее пригоден, если описание основано на присутствии или отсутствии каких-то признаков. Эту тему можно развить дальше и показать, какие именно свойства самих описывающих измерений вытекают из предположения о существовании расстояния.
Пусть D будет /тг-мерным пространством описаний. Точка x£D определяется 加-мерным вектором (хь ... , хт). Расстояние между двумя точками х и у в £)равно
/ m \ 1/2
d(x, у) = (? (%—分• ⑴
Отсюда ясно, что расстояние между двумя точками зависит от их относительного расположения в £), а не от абсолютного местонахождения каждой. Точнее, точки х, у удалены друг от друга на то же расстояние, что и точки х', у', если
х「У[ = х;—虱 для всех i. (2)
Равенство (2) показывает, что имеет смысл сравнивать измерения по каждой шкале в отдельности. Шкала, для которой это можно сделать, называется шкалой интервалов. Примером шкалы интервалов может служить время, поскольку утверждение типа „отрезок времени между г и г+2 минутами не зависит от значения z“ имеет смысл. Вес и рост также являются шкалами интервалов, а на
самом деле они могут удовлетворять и более строгим предположениям. С другой стороны, много интересных шкал не обладают свойствами шкалы интервалов. Например, твердость определяется отношением „х тверже у、если х царапает у". По этой шкале алмазы тверже стекла, а стекло тверже сливочного масла. Твердость служит примером шкалы порядка, поскольку ее можно использовать для того, чтобы приписать объектам числа, отражающие лишь некоторое упорядочение, а не обязательно свойство равных интервалов. Ясно, что равенство (2) было бы бессмысленным для твердости.
Шкалы интервалов инвариантны относительно линейных преобразований. Это означает, что можно заменить пространство описаний D новым пространством D\ таким, что точках 6 D отображается в точку х‘ W D' по формуле
х; = а,吃 + 〃, at 尤 0, (3) и эта замена не скажется на результатах последующего анализа выборки.
Существуют шкалы более сильные, чем шкалы интервалов, и шкалы более слабые. Мы уже упоминали шкалы порядка. В абсолютных шкалах помимо интервального свойства указывается еще единица и нулевая точка. Примером может служить шенноновская мера информации. На другом конце шкалы шкал находится распределение номеров по телефонным аппаратам, которое представляет собой шкалу наименований ——номера отождествляют аппараты, но не отражают никакого их физического свойства. Мы отсылаем интересующегося читателя к книге Кумбса, Дойеса и Тверского (1970), где кратко излагается рассматриваемая проблема, и к работам Суп- песа и Зинеса (1963) и Кранца и др. (1971), где эта проблема обсуждается более основательно. Цель обсуждения шкал здесь двояка: (1) оправдать те преобразования пространства описаний, которые будут использоваться в последующих разделах главы, и (2) дать читателю представление о фундаментальном предположении, лежащем в основе любого рассуждения, связанного с классификацией образов с использованием расстояния.
4.7・ Бейесовские процедуры 6 распознавании образов
0. Бейесовское правило
Классификация образов ——частный случай более общей задачи: выбрать одно из возможных объяснений на основе имеющихся данных. Бейесовский вывод представляет собой процедуру принятия подобных решений. Бейесовский метод был предложен в качестве нормативной модели того, как следует себя вести, а также в качестве описательной модели того, что происходит на самом деле (Ли, 1971). Мы встретимся в этой книге несколько раз с приложениями бейесов-
ского подхода к принятию решений. В этом разделе мы определим основную процедуру, которую затем применим к задаче параллельной евклидовой классификации.
Пусть Л, В, С, ...— дискретные события. Будут употребляться следующие обозначения вероятностей появления различных комбинаций событий:
Рг (Л) — вероятность появления события А,
Рг (Л, В)——вероятность совместного появления событий
Л и В,(4)
Рг(В|4)—вероятность появления события В при условии, что произошло событие А,
Совместная вероятность двух независимых событий равна 八
Pr(4, 8)=Рг(4)・Рг(8|4).(5)
В бейесовской задаче исходным является фиксированное множество гипотез //={//»}, которые определяют все возможные „состояния мира" и исключают друг друга, поскольку мир должен находиться только в одном из состояний. С каждой гипотезой Н* связана (субъективная) вероятность Рг (//() того, что она на самом деле вьг- полняется. Отсюда следует, что
Рг (Нh %)==0 (взаимно исключающие события),
2 Рг (Я.) = 1 (полнота).⑹
Истинна гипотеза ", или нет, нельзя проверить прямым наблюдением. Вместо этого предполагается, что можно провести эксперимент, дающий множество Е={Е/}, / = 1, ... , п, наблюдаемых исходов. С каждой гипотезой Hi связана известная вероятность наблюдения каждого из возможных исходов эксперимента, т. е. Рг (£; \Ht). Поскольку эксперимент может иметь только один исход, события Еj взаимно исключающие. Итак,
Рг (Е/1 У) > 0, Рг (Е/,斗 IН) = 0, i; Рг(£/177,) = 1.⑺
Заметим опять, что поскольку мир должен находиться только в одном из состояний, то
Рг(马)=£ Pr(E/〃>Pr(y.).(8)
Рассмотрим конкретный пример. Пусть гипотезы состоят в том, идет или не идет дождь, а эксперимент заключается в наблюдении следующих возможных событий за окном: (а) на улице нет людей,
Pr (%1旦)=Pr (%1旦)=(14)(14)по меньшей мере у одного человека на улице есть зонтик, (в) на улице есть люди, и ни у кого из них нет зонтика. Представим себе пасмурный осенний день; тогда априорные вероятности того, идет дождь или не идет, могли бы быть такими:
Pr (%1旦)=
Pr (%1旦)=
(14)
(14)
ОбозначениеПояснение
Величина
Рг (/7尸)Вероятность того, что идет дождь
0,3
0,7⑼
Р「(/7—г) Вероятность того, что дождь не идет
Если идет дождь, то более вероятно, что улица пуста,
а если кто-то
должен выйти на улицу, то он, вероятнее всего, возьмет зонтик. 1а- ким образом,
ОбозначениеПояснение
Величина
Pr (Ei 1 /7「) Дождь, у людей на улице не менее одного зонтика
0,4
рг (£*21 /7Г) Дождь, все люди на улице без зонтиков
0,2
Pr (Fg 1 Нг) Дождь, улица пуста
0.4(10)
Pr (£\ 1//.「) Нет дождя, у людей на улице не менее одного зонтика
0,05
Рг (Ег 1 Я.г) Нет дождя, ни у кого на улице нет зонтика
0,75
Рг(Ез|//т) Нет дождя, улица пуста
0,2
Рг (旦,〃,)=Рг (〃/ £1)Pr(£1) = Pr(£1| 办)Pr (%),
(П)
откуда
Pr (%|EJ=Pr (竺常;(%).
(12)
Поскольку
Рг(£,) = Рг(£,|/Уг) + Рг(£1|/У_г),
(13)
Мы видим человека с зонтиком. Какова вероятность того, что идет дождь? Задача состоит в вычислении вероятности Рг(〃/£\) того, что идет дождь, при условии, что на улице есть человек с зонтиком. По определению совместной вероятности
Pr (El I %) Рг 也)
Pr (吊也)Pr (〃,)bPr(Ei|"-r)Pr(/7-r).
В рассматриваемом примере
Рг (дождьI наблюдается зонтик)=^七既口 仙 *0,77. (15)
Формулу (14) легко обобщить, подставив Pr (£;) из (8):
Pr(E/|",)Pr(m)
Pr (〃/ 上 /) = —•(16)
£ Рг (Е/ I %) Рг 伍) g 1
Это и есть бейесовское правило оценки вероятности осуществления гипотезы на основе наблюдаемых событий. Оно применимо, если существует фиксированное множество гипотез, которыми исчерпывается все пространство возможных гипотез, и если для любой из них известны вероятности различных наблюдений. Правило применимо в параллельных процедурах распознавания образов (это мы изложим в следующих разделах) и в последовательных (изложение будет дано в одной из последующих глав).
Применение бейесовского правила в параллельной классификации образов
При применении бейесовского правила в параллельной классификации роль гипотез играют названия классов, а роль экспериментального наблюдения — описание классифицируемого объекта. Напомним, что каждый классифицируемый объект принадлежит точно одному классу, а наблюдаемые величины образуют совокупность х измерений объекта. Два различных объекта из двух разных классов могут дать одинаковые векторы описания. Рассмотрим конкретный пример. Пусть задача состоит в разделении спортсменов на категории „баскетболист41 и „футболист44, исходя из их роста и веса. Вообще говоря, можно было бы считать низкорослых людей большого веса футболистами, а высоких и худых — баскетболистами. Однако это правило не безошибочно. Если известны только рост и вес человека, в лучшем случае можно сказать, каким видом спорта он наиболее вероятно предпочитает Заниматься.
Пусть х обозначает событие „наблюдается объект с описанием х“, а / — событие „классифицируемый объект принадлежит классу /и. Устройство классификации образов должно относить объект с описанием х классу / тогда и только тогда, когда
Pr (j|x)》P『Olx) для всех(17)
В процедуре распознавания образов пространство описаний D разбивается на такие области {R J, что (17) удовлетворяется для всех точек из Rj п только для них. Затем объекты классифицируются в соответствии с областью, в которую попадает х.
В этом простом принципе неявно содержатся некоторые понятия, противоречащие нашим интуитивным представлениям. Не обязательно объекты, „типичные41 для класса /, будут отнесены к этому классу. Должны учитываться как вероятность того, что данное наблюдение порождается этим классом, так и вероятность того, что класс вообще исследовался. Для примера представим, что врачу надо провести обследование всех тех служащих какой-то компании, которые, по его мнению, имеют серьезные психические отклонения. Если компания большая, то о тщательном обследовании каждого служащего в отдельности не может быть и речи. Разумной альтер-
Рис 4Л. Гипотетические распределения тестовых очков. (Площади под кривыми для каждой группы одинаковы.)Рис 4Л. Гипотетические распределения тестовых очков. (Площади под кривыми для каждой группы одинаковы.)-邑y"°£Q£gh SS^^ESSEa-邑y"°£Q£gh SS^^ESSEa
Рис 4Л. Гипотетические распределения тестовых очков. (Площади под кривыми для каждой группы одинаковы.)
Рис 4Л. Гипотетические распределения тестовых очков. (Площади под кривыми для каждой группы одинаковы.)
-邑y"°£Q£gh SS^^ESSEa
-邑y"°£Q£gh SS^^ESSEa
нативой было бы провести простой анкетный персональный тест, а затем обследовать тех, чьи результаты выглядят подозрительно. В терминах распознавания образов служащие являются классифицируемыми объектами, а очки, полученные в тестах, образуют одномерное пространство описаний. Теперь допустим, что предыдущее обследование показало, что тестовые очки, соответствующие психическим отклонениям, имеют нормальное распределение со средним 130 и среднеквадратичным отклонением 10, а тестовые очки для психически здоровых людей распределены нормально со средним 110 и среднеквадратичным отклонением 20. Примерные кривые распределений для каждой группы изображены на рис. 4.1. Ясно, что с помощью этого теста можно различить две указанные группы. Однако чтобы применить его для классификации, надо учесть, что здоровых людей, скажем, в 10 раз больше, чем людей с психическими отклонениями. Это означает, что кривую на рис. 4.1, соответствующую распределению для случаев психических отклонений, надо сжать так, чтобы площадь под ней составляла 0,1 от площади под
ah6VQ DLUQUIQDhBDHUI^yQ-yah6VQ DLUQUIQDhBDHUI^yQ-yЗдоровыеЗдоровыекривом распределения для здоровых людей, но чтобы форма первой кривой осталась прежней (рис. 4.2). Теперь нас интересует вопрос: какова область тестовых измерений, в которой абсолютное количество случаев психических отклонений превышает абсолютное количество здоровых? Ответ на этот вопрос также показан на рис. 4.2. Служащие должны считаться „психически ненадежными" (и, следовательно, должны быть подвергнуты обследованию) только в том случае, если их очки превышают критическое значение С, отмечен-
ah6VQ DLUQUIQDhBDHUI^yQ-y
ah6VQ DLUQUIQDhBDHUI^yQ-y
Здоровые
Здоровые
Случаипшичесшотклонений.
110130
Тестовые очки
Рис. 4.2. Гипотетические распределения, скорректированные с учетом размеров групп. (Площадь под кривой для здоровых в 10 раз больше площади под кривой для случаев психических отклонений.)
ное на рисунке. И это остается в силе несмотря на то, что С больше 130, т. е. „наиболее типичного результата4* для психически больных. Одним из следствий такой минимизации общего количества неверных классификаций явилась классификация более половины психически больных как здоровых!
Можно ли считать предыдущий результат нетипичным? Совсем нет! Он непосредственно вытекает из формулы Бейеса. В самом деле, запишем (16) в наших обозначениях, принятых при распознавании образов:
Pr (/1X)= ~г (х|/) Рг (/) . (18) 2 Pr(x|,)Pr(i)
Это выражение явно зависит как от Pr (x|i), так и от априорных вероятностей для классов Рг (i). Полученный результат в рассмотренном только что примере может показаться обескураживающим.
Создается впечатление, что мы ошибаемся в существе дела. В нашем анализе формула Бейеса использовалась для минимизации числа ошибочных классификаций без учета относительных стоимостей ошибочных классификаций конкретного типа. В рассматриваемом примере, быть может, более серьезной ошибкой будет не обследовать действительно психически ненадежного человека, чем потратить время на обследование людей без психических отклонений. Существует простой способ учета таких соображений при бейесовской классификации. Пусть c(i\j) описывает цену неправильного отнесения при классификации члена класса / к классу i. Если процедура распознавания относит точку х к области i, то ожидаемые потери EL из-за ошибочной классификации точки х равны
k
EL (х €/?<•)= 2 Pr(x|/)Pr(/)c(i|/). (19) /= 1
Для минимизации ожидаемых потерь вследствие ошибочной классификации области R» определяются так, чтобы минимизировать (19) по всем точкам пространства D. С помощью (19) можно также определить границу между двумя соседними областями Rj и Rj. Уравнением границы будет
EL(x€Q) = EL(xWR/)・ (20)
Часто бывает интересно исследовать форму этой границы; такое исследование может дать нам неформальное понимание существа процедуры классификации.
Анализ в случае евклидова пространства описаний
Предыдущее обсуждение в равной степени справедливо, считается ли D евклидовым пространством описаний или абстрактным множеством возможных описаний с 7?; в качестве его подмножеств. Если Q — евклидово пространство описаний, то полезны несколько иные обозначения, отражающие непрерывность пространства. Пусть
"/(х)——функция плотности вероятности, заданная в про- ”〕) странстве Q для членов класса /,()
и
%•——вероятность того, что случайно выбранный объект принадлежит классу /.(丿
Чтобы определить для конкретного класса относительное число попаданий описаний в заданную область R пространства Q, функцию плотности вероятности интегрируют по этой области:
Рг (объект класса / будет иметь описание х £ 7?) = р; (х) dx. (23)
Пусть Q будет областью пространства Q, которую некоторая процедура распознавания образов связывает с классом /. Ожидаемая относительная частота ошибочных классификаций, возникающих в связи с определением этой области, равна
% $ P_/(x)dx + 2 仇,〃(x)dx. (24)
Первый член в (24) описывает ожидаемую относительную частоту ошибочных классификаций вследствие ошибки в классификации тех членов класса /, описания которых лежат вне области Q. Второй член — относительная частота ошибочных классификаций объектов, которые не принадлежат классу /, но их описания попадают внутрь Q・ Точка х должна относиться к если
qjpj^^max {q.-p, ^)}. (25)
Если целесообразно учитывать не только частоту ошибочных классификаций, но и их стоимость, то ожидаемые потери в точке х выразятся формулой
EL (х W R》=£ q^i (x) с (/1 i), (26) приводящей к другому критерию классификации.
42 Классический статистический подходк распознаванию образов а классификаций
0. Общая часть
Бейесовская классификация образов предполагает знание вероятности появления события из некоторого класса и вероятности того, что объекты класса будут иметь определенные описания. Во многих интересных случаях классификации образов эта информация недоступна. В статистической классификации образов эта проблема часто разрешается предположением, что вероятности принадлежности классу можно оценить исходя из долей выборки, попадающей в различные классы, и предположением, что распределение описаний по пространству описаний для каждого класса соответствует некоторой разумной заранее известной функции. Таким образом, предполагается, что для каждой функции рДх)
口 W = f (х, 0), (27) где / — известная функция, зависящая от вектора параметров 0. Значения компонент вектора 0 оцениваются по выборке, а затем применяется бейесовская процедура классификации. Детали этой
процедуры меняются в зависимости от сделанного относительно / предположения. В следующем разделе излагается метод статистического распознавания образов для наиболее часто принимаемого предположения, а именно, что / — многомерное нормальное распределение.
Многомерное нормальное распределение
Этот случай мы рассмотрим как пример применения метода статистической классификации. В основном мы будем следовать работе Тацуоки (1970)】).Хотя данный пример обсуждается главным образом для того, чтобы проиллюстрировать метод статистической классификации, он интересен и сам по себе, так как предположение о многомерном нормальном распределении часто можно оправдать следующими логическими соображениями. Допустим, что для каждого класса существует идеальный, или типичный объект. Пусть М — его вектор измерений (в шкале интервалов). Таким образом, М определяет точку в пространстве описаний, описывающую идеальный член некоторого класса. Реальный объект, выбранный из этого класса, будет иметь описание х, не обязательно совпадающее с м・ Разумно было бы предположить, что любое отклонение х от 出 происходит из-за накопления небольших независимых отклонений каждого из измерений. В упоминавшемся примере с баскетболистами и футболистами, скажем, можно предположить, что существует идеальный „тип баскетболиста*4, но любой конкретный игрок случайным образом отличается от этого типа по росту и весу. Отметим, что отклонения по каждому измерению могут коррелировать друг с другом; например, если игрок выше обычного, он, по-видимому, будет и тяжелее. В том методе классификации, который мы собираемся изложить, такие корреляции в отклонениях от идеального типа учитываются.
В любом случае, если наши данные порождаются указанным выше образом, то наблюдения в пределах каждого класса будут иметь многомерное нормальное распределение с центром в точке м (в пространстве описаний D).
Как обычно, нужны некоторые специальные определения. Для каждого класса i определим следующие параметры:
財一среднее значение объектов в классе i при измерении /, а;—среднеквадратическое отклонение в классе i при
измерении /,磔、
「友——коэффициент взаимной корреляции между измере-'' ниями / нА, вычисленными по объектам из класса
丄)Можно рекомендовать также книгу Дуды и Харта (1973). — Прим, перев.
Роль вектора м,представляющего „идеальное*4 описание, играет вектор средних значений измерений объектов в выборке из класса г:
М =(威,询,• • •,|4).(29)
Матрица дисперсий для класса г представляет собой (/n X ^-матрицу
昌=[展0然],/, ^=1, . , m.(30)
Поскольку предполагается, что каждое измерение коррелирует само с собой, то диагональные элементы матрицы % — это просто (а;)2, т. е. они являются дисперсиями измерений, произведенных в классе г.
Для простоты записи исследуем подробно только случай, в котором матрицы дисперсий для всех классов одинаковы. Это позволит рассматривать одну матрицу дисперсий 工 с соответствующими элементами. Для каждого класса и для каждой точки х € Q определим величину
Х*(х —М)Тт(х—М),(31)
где (х——рУ) и (х—fl/)'——соответственно исходный вектор-столбец и транспонированный. Многомерная нормальная функция плотности вероятности в пространстве D для класса i имеет вид
f(x, S, М) = (2п)5/2|Е|-”2е72Х?,(32)
где |Е| — определитель матрицы S. Пусть с«) будет ценой ошибочной классификации члена класса L Потери вследствие ошибочной классификации, заключающейся в отнесении х к некоторой области R力 равны
EL (k^Rj)^ ^qj (x;工;M)c ⑴.(33)
Значение функции (33) будет минимальным, если область Q выбрать так, чтобы для всех xWR# всех /, / выполнялось неравенство
%f(x; 2, М) с О)》%/(х, Е, M)c(i).(34)
Оно эквивалентно неравенству
/(X,Е,М)、q* ⑴•
/(х, Е,曲 /而Г*3)
(36)(36)Подставляя сюда выражение для многомерного нормального распределения, находим
(36)
(36)
e~i/2x7 d q/C^ •
После логарифмирования и простой перегруппировки членов получаем
Х?_ X;》2 仙[饼⑴]一 1П [切(/)]}.(37)
Правая часть в (37) не зависит от х; обозначим ее 7<川 Величины же X? и X; зависят от х. Таким образом, правило классификации образов гласит:
точку х следует отнести к области R/, если множество значений {X?}, соответствующее х, удовлетворяет неравенству
X/& X:—K『i для всех i 卢 / ・(38)
Полезно изобразить этот многомерный случай на рисунке. Для простоты рассмотрим два измерения, так что пространство описаний будет плоскостью. Это не ограничит общности рассуждений. Плотность вероятности для класса в любой точке плоскости можно представить отметкой высоты в направлении, перпендикулярном плоскости. Каждый класс определяет „холм плотности41, основание которого лежит на этой плоскости. Однако в противоположность настоящим холмам „холмы плотности" для различных классов могут перекрываться. Можно изобразить каждый холм, нарисовав линии одинаковой плотности, подобные контурным линиям на топографической карте. Для всех точек на такой линии вероятности принадлежать одному и тому же классу равны и зависят как от абсолютной частоты класса, так и от относительной частоты элементов данного класса в рассматриваемой точке. Плотность g$(x) для класса i в точке х равна
g/(x) = %f(x; s, р,<).(39)
Предположение о многомерном нормальном распределении приводит к тому, что линии одинаковой плотности являются эллипсами с центрами в точке 卩匚 Попутно заметим, что W будет к тому же точкой максимальной плотности, т. е. вырожденным эллипсом, а плотность для рассматриваемой линии будет непосредственно зависеть от наименьшего расстояния этой линии до)иЛ Таким образом, каждая линия одинаковой плотности будет окружать все линии с большей плотностью и будет окружена в свою очередь линиями с меньшей плотностью. Начертив эллипсы, соответствующие нескольким плотностям, мы получим картину относительного расположения распределений для разных классов. На рис. 4.3 показан случай двух классов. Отметим, что холмы плотностей для двух классов на этом рисунке ориентированы одинаково, хотя размеры их различны. Это вытекает из предположения о равенстве матриц дисперсий для всех классов, поскольку именно матрицы дисперсий определяют ориентацию эллипсов. Если бы матрицы дисперсий были неодинаковыми, то
Рис. 4.3. Линии одинаковой плотности для двух классов (нормальные распределения).
Рис. 4.4. Границы между областями.
различные холмы плотностей могли бы быть ориентированы произвольным образом относительно друг друга. На рис. 4.4 показаны три холма плотностей с многомерным нормальным распределением, имеющие каждый свою матрицу дисперсий.
Границу между областями R н R』образуют точки, которые можно отнести или к классу г, или к классу /, не изменив потери, вызванные ошибочной классификацией, т. е. точки, для которых неравенство (38) превращается в равенство. Можно доказать, что граница всегда будет гиперплоскостью (имеющей размерность на единицу, меньшую размерности пространства). Таким образом, в двумерном случае области граничат по прямым линиям. Далее, можно доказать, что граничная гиперплоскость будет всегда перпендикулярна прямой, соединяющей центры распределений, т. е. точки (? н |х」в пространстве описаний. Точка, в которой гиперплоскость пересекает эту прямую, будет зависеть от относительной частоты каждого класса и цены ошибочной классификации. Эта зависимость отражена в значении постоянной Kji (неравенство (37)). Поскольку этим значением можно управлять, меняя цену ошибочной классификации или частоту класса (и при этом не трогая функцию плотности вероятности внутри класса), то можно подобрать такое расположение гиперплоскостей, что „типичный4* член класса i (точка(V) заведомо попадет в область Rj. Это математическое объяснение неформального вывода, полученного при обсуждении примера психиатрического обследования. °
Стоит обсудить еще две характеристики областей классификации. Ясно, что если существует k классов, то каждая область может ограничиваться не более k——1 гиперплоскостями. Она может ограничиваться и меньшим их числом. В самом деле, область не обязана быть замкнутой (рис. 4.4). И наконец, возможен класс, для которого нет соответствующей области. В этом случае, конечно, никакое измерение нельзя будет отнести к данному классу.
43 Классификация, основанная на близости описаний
0. Общее обсуждение и примеры
Что происходит, когда недопустимы предположения классического подхода? В этом случае можно применить похожие методы классификации, основанные на более слабом предположении, что объекты, описания которых расположены близко друг от друга в пространстве описаний, по-видимому, принадлежат одному н тому же классу. Это предположение будет называться предположением о близости описаний. Простой пример: пол конкретного человека обычно можно определить, выясняя, похож он больше на произвольно выбранного мужчину или на произвольно выбранную женщину. Точнее, классификация может быть основана на среднем рас-
стоянии между описаниями неизвестного объекта и каждого объекта из множества известных. В этой процедуре используется предположение о том, что имеет смысл усреднять по измерениям для объектов из некоторого множества. Кроме того, будут использоваться свой-
Рис. 4.5. Отклонения содержания углерода-13 и кислорода-18 (относительно стандарта PDB) в образцах мрамора из античных карьеров. Треугольниками обозначены обломы, перечисленные в габл. 4.1 (Крейг и Крейг, 1972).
обсуждение применения идеи близости описаний в распознавании образов. Рекомендуем его монографию для ознакомления с подробными алгебраическими выкладками и доказательствами корректности вычислительных методов, которые будут здесь изложены. Наше обсуждение будет нестрогим и в значительной мере будет опираться на геометрические примеры.
Мы рассмотрим сначала реальную задачу классификации, которая затем послужит нам для иллюстрации разнообразных вопросов* Имеется в виду задача, связанная с работой Крейга и Крейга (1972), в которой метод, разработанный для физических исследований, был применен к археологии и истории. Определение источника матери-
ала исследуемого фрагмента каменной кладки или скульптуры называется установлением его происхождения. Крейги попытались установить происхождение классической греческой скульптуры, измеряя относительное количество различных изотопов химических элементов в мраморе. Они обнаружили, что мрамор из античных карьеров можно отличить по отношению концентраций углерода-13 к углероду-12 и кислорода-18 к кислороду-16. На рис. 4.5 представлены проведенные Крейгами измерения, в которых использовались образцы из различных карьеров ) В табл. 4.1 собраны результаты
Таблица 4.1
Диализ археологических мраморных обломов при помощи изотопов (Крейг и Крейг, 1972)
Наименование облома
Описание
6】・С (на тысячу)
б18О
(на тысячу)
Вероятное происхождение
А-1
Афины: храм Тесея (Гефеста) на центральной площади, колонна в его северной части
2,63
—7,90
Пентели
А-2
Афины: плита основания в южной части храма Тесея
2,63
—8,иЗ
Пентели
D-1
Дельфы: резной блок внутри сокровищницы сифнийцев
3,89
—3,10
Парос
D-2
Дельфы: барабан колонны наксосского Сфинкса
Эпидавр: резной блок (возможно, перемычка), 10 м от Толоса
1,96
—4,15
?
Е-1
2,01
?
Е-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
?
1) Данные, определяющие оси на рис. 4.5, выведены из отношений 13С/12С и 18Q/160 с помощью весьма сложной формулы, в которой измерения исследуемого фрагмента сравниваются с такими же измерениями, сделанными для стандартного образца (Крейг и Крейг, 1972, сноска 14). Можно было бы использовать отношения изотопов не кислорода и углерода, а других элементов. Очевидно, что двумерное пространство описаний взято лишь для наглядности. Излагаемые методы легко распространить на /n-мерное пространство.
тех 乎е измерений для фрагментов скульптур в различных местах. Кренгн на основе этих данных сумели отнести исследуемые фрагмен- ™ к различным карьерам, но не привели правил, которыми они пользовались. В следующих разделах мы применим данные Крейгов для текущих иллюстраций, чтобы продемонстрировать, как можно построить правила отнесения с разной надежностью каждого из исследованных фрагментов к соответствующему карьеру. Мы не будем ни обращаться к вероятностной модели, ни делать предположений относительно вида функций плотности вероятности.
Определения
По определению евклидова расстояния (см. (1)) квадрат расстоя- ния между двумя точками х, у в Z> равен
d"(x, у) = /(々一勿产(40)
Интуитивно ясно, что объект с описанием х похож на объекты с описаниями, принадлежащими некоторому множеству У={у} если мало среднее значение квадрата расстояния между х и точками из 匕 Таким образом, точка х близка к множеству У, если величина
пу
d;(x, У)= ;£«з(х, у)(41)
мала. Рис. 4.5 может служить иллюстрацией такому понятию блнзо- сти- А・1 и А-2 ближе к точкам множества Пентели, чем к точкам множества Наксос.
Чтобы сравнить два множества, надо оценить среднее расстояние между парами точек, взятых по одной из каждого множества. Пусть множества X н У содержат соответственно пж и 固 точек. Тогда среднее квадрата расстояния между X н У равно
пх%
iX,y)= ^Xl>(x,, у»(42)
Чем дальше в среднем друг от друга точки из X и У, тем больше значение (42). По этому критерию, например, точки множества Пентели лежат ближе к множеству Наксос, чем к множествам Парос и Гиметт (рис. 4.5).
Д刀5? оценки плотности расположения точек внутри множества нужна соответствующая мера. Пусть ею будет среднее квадрата расстояния между точками этого множества:
國(Х) = &(" — £ £ 0(х», Х/)・(43)
Эта величина тем меньше, чем ближе друг к другу точки множества. По этому критерию скопление точек в множестве Пентели более плотное, чем в множестве Наксос.
Общая идея, лежащая в основе подхода, использующего понятие близости, состоит в преобразовании пространства описаний D в пространство D*, в котором все точки одного множества расположены близко друг к другу, а точки различных множеств удалены друг от друга на некоторое расстояние. В основном мы будем рассматривать линейные преобразования и считать D* результатом линейного преобразования /л-мерного прострацства D, если каждая точка х €方 отображается в точку х* gD* по формуле
х』х/,(44)
где W ——симметричная (/пХ/п)-матрица. Это значит, что компоненты вектора х* задаются равенствами
x;=工 х曲".(45)
Классификация на основе максимизации сходствавнутри множества
В нашем первом методе, основанном на близости описаний, пространство D деформируется так, чтобы минимизировать среднее квадрата расстояния между точками множества, т. е. d;(X). Мы проиллюстрируем этот метод с помощью данных, относящихся к карьеру Парос. Исходные измерения показаны на рис. 4.6,а.
Тривиальным решением такой задачи минимизации было бы отображение всех точек скопления в одну точку. Для этого можно было бы в качестве W взять нулевую матрицу, но тогда все точки в D, принадлежат они рассматриваемому скоплению или нет, отобразились бы в начало координат пространства D*, что вряд ли можно было бы использовать для классификации. Ясно, что не поможет также и однородное сжатие пространства D с целью приблизить точки друг к другу. Судя по всему надо перегруппировать по-новому сами точки. Поэтому потребуем, чтобы преобразование, минимизирующее 爲(X) для некоторого X (в данном случае для множества Парос), не меняло объема пространства D. Математически мы требуем, чтобы выполнялось равенство
tn
П wii = 1 •(46)
Оно гарантирует, что единичный гиперкуб будет иметь одинаковые объемы в D и D*. Для того чтобы удовлетворялось равенство (46) и в то же время мера d;(X) была минимальной, пространство D* должно быть таким, чтобы множество X напоминало сферу, а не эл-
липсоид. Соответствующий результат преобразования показан на рис. 4.6,6. Какая же матрица преобразования W обеспечивает такую деформацию пространства D?
■ Как графически, так и алгебраически, рассматриваемое преобразование можно провести в два этапа. Они отражены на рис. 4.7,。一 6, построенном на основе данных карьера Парос, Предполагается, что в пространстве D точки скопления образуют эллипс. Первый этап — определение осей этого эллипса (прямые 厶 1 и 厶2 на рис. 4.7,а) и поворот осей D к осям эллипса. Получившиеся в результате пространство Dz и множество Xй точек в нем показаны на рис. 4,7,6. Очевидно, что при повороте объем не изменился. Меняя теперь масштаб по каждой из осей пространства 。乙 мы просто сжимаем его вдоль одной оси и растягиваем вдоль другой. На рис. 4.7, в изобра-
жены это новое
D*
пространство
и новое множество X*,
превратившееся из эллипса в окружность. Здесь важно подобрать растяжение и сжатие так, чтобы объем остался прежним.
Рассмотрим алгебраические
7,50 -0,50 2,505,50
0,00
0,00
ТОО
■&0Q
Т,60
-3,20
-4,80
-6,40
-0,501,102,70 4,30 5,90 Z50
Рис. 4.6. Преобразование множества Парос от исходного к наилучшему: X — известные данные, Y — неизвестные фрагменты. Обратите внимание на изменение масштабов.
операции, требуемые для преобразования пространства D в D*. Пусть множество X состоит из п точек, и пусть нужно минимизировать d3(X). Определим (/пх ^-матрицу U, задав ее элементы в виде
р〃Т£(%“—兀)(%“—»
(47)
где 忘 н 石——средние значения соответственно z-й и /-й компоне нт точек х^Х. Отметим, что дисперсия измерения i в множестве X
Рис 4.7. Последовательные преобразования множества Парос.
Обозначим через С матрицу, строки которой являются собственными векторами матрицы U, расположенными в порядке убывания собственных значений. Каждый собственный вектор определяет направление одной из осей эллипсоида, образованного множеством X в D. Следовательно, С ——матрица преобразования пространства D в £И, т. е. для всех х W D, W
xz=xC'・ (49)
□то6bl перейти от Ог к D*, надо изменить масштабы, выполняя при этом требование постоянства объема. Изменение масштабов обеспечивается диагональной матрицей Л, ненулевые элементы которой равны
°" =(1Д ”,加т (о—)""'.°" =(1Д ”,加т (о—)""'.(50)(50)
°" =(1Д ”,加т (о—)""'.
°" =(1Д ”,加т (о—)""'.
(50)
(50)
(51)(51)В результате такого преобразования масштаб должен стать мелким по осям, где были небольшие отклонения между точками данного класса, и крупным ——по осям, где отклонения были большими. Итак, поворот и последующее изменение масштабов описываются матрицей преобразования
(51)
(51)
На этом этапе распознавания образов для каждого класса объектов, представленных в выборке, определяется отдельное пространство. Пусть D*'—пространство, соответствующее классу 工 На этапе классификации предъявляется новый объект у, который отображается в каждое из й пространств D*L Расстояние от у*,до определяющего множества рассматривается в том же пространстве. Иными словами, если для определения D*' использовалось множество Х『,то вводится мера расстояния &(у*〈 X*,)н точка у относится к классу / тогда и только тогда, когда
(52)(52)心(产,%”) = min [df (y*z, X")]
(52)
(52)
Чтобы закончить иллюстрацию этого метода, подсчитаем соответствующие оценки сходства для всех фрагментов скульптур и всех образцов из карьеров, представленных Крейгами. Результаты приведены в табл. 4.2. Интересно сравнить эти классификации с классификациями, сделанными Крейгами, очевидно, на основе просто зрительного изучения рис. 4.6.
Дискриминантный метод
Существуют два серьезных возражения против классификации, основанной на сходстве объектов, принадлежащих одному множеству. Первое заключается в том, что для каждого класса требуется отдельное преобразование и тем самым усложняется весь процесс классификации. Второе состоит в том, что изучение каждого класса в отдельности не позволяет обнаружить степень различия между классами в пространстве исходных измерений. Предлагаемый ниже критерий устраняет именно эти возражения. Он состоит в максимизации различия между точками разных множеств; при этом сумма расстояний между точками внутри и между множествами остается
4 Э. Хаит
Неизвестные
Гиметт
Наименование облома
Описание
Нак- с ос 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,"
3,25
4,37
E-I
Эпидавр: резной блок (возможно, перемычка), 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
13,88
4,95
2,70
5,23
N-43
Наксос: ворота Аполлона, палаты, гавань Наксоса; осколок с внутренней стороны ворот
14,52
9,07
14,07
10,05
1,09
№46
Наксос: ворота Аполлона, большой блок в основании холма по направлению к Наксосу
15,77
10,05
13,54
9,12
1,34
С-1
Цезарея: коринфская капитель серого мрамора
45,18
32,53
1,91
1,92
14,22
Таблица 4,2
Оценки сходства для фрагментов скульптур и образцов из карьеров
Парос
Пекшем
Наксос I
0,00 1,252,50 3,755,006,25 戸0 8,75 10,00
Проекции 他 £
Неизвестные
Наксос Л
постоянной. Такой критерий называется дискриминантным. Очевидно, этот подход должен привести к одной (составной) мере, по которой значения точек одного множества близки, а разных множеств существенно различны.
Этот критерий имеет интересную геометрическую интерпретацию. Можно представить себе составную меру в виде прямой в т・ мерном пространстве, выходящей из начала координат пространства описаний О. Любая точка будет проектироваться на эту прямую. Мы ищем прямую, для которой точки одного множества проектируются в одну и ту же область, а разных множеств ——в разные области. На рис. 4,8 изображены проекции данных, представленных Крейгами для карьеров Парос, Гиметт и Пентели на прямую L, определяемые взвешенными суммами упомянутых выше отношений кислорода и углерода.
Для определения соответствующих вычислительных процедур понадобятся три вспомогательные матрицы G. V и Т. Для любой
Гиметт
Парос
Пентеки
.Y ¥ VWYMW
Наксос I
°*00 "5 2,50 3,755,006,25%50 8,75 10,00
Проекции на 4
Рис,幫二екинн на соответствующие оптимальные дискриминантные соб-
ственные векторы; а — пяти групп точек; б — шести групп точек.
4*
пары точек х, у WD зададим (/иХ/и)-матрицу G(x, у) с элементами g「s(x, У)= (/—办)(%—%)=g"(x, у),(53)
fe-i k ni nj昨32哼藹爭区,吟,fe-i k ni nj昨32哼藹爭区,吟,(54)(54)равными произведениям разностей s-й и r-й компонент векторов х и у. Предположим, что исходные данные состоят из k множеств X1, ..., Xk наблюдений, соответствующих k классам. Обозначим через V усредненную матрицу G(x, у) по всем парам точек х и у из различных множеств Х『и X」,а через Т — усредненную матрицу G(x, у) по всем парам независимо от принадлежности их какому-то классу. Алгебраически это можно записать так:
fe-i k ni nj昨32哼藹爭区,吟,
fe-i k ni nj昨32哼藹爭区,吟,
(54)
(54)
и если
Х=иХ< П=2 ПЬ(55)
TOTOn-1 nУ £ G(Xj, X/).i= 1『二 i + 1n-1 nУ £ G(Xj, X/).i= 1『二 i + 1(56)(56)
TO
TO
n-1 n
У £ G(Xj, X/).
i= 1『二 i + 1
n-1 n
У £ G(Xj, X/).
i= 1『二 i + 1
(56)
(56)
Если W ——матрица, строки которой являются собственными векторами матрицы VT^y то Wi — собственный вектор, соответствующий наибольшему собственному значению. Собственный вектор Wi определяет направление максимально разделяющей прямой, выходящей из начала координат пространства D. Точнее, прямая L, которую мы ищем, образует с /-й осью d, пространства D угол, такой, что
cos(L, d^=witJ. (57)
Определением прямой L завершается этап распознавания образов. На этапе классификации объект относится к классу i в зависимости от положения на L проекции его описания у. Для любой точки xgD обозначим
炉=xw;. (58)
Классифицируем у как описание объекта из класса i (i = l,...,女) тогда и только тогда, когда величина
7У)Т$У-(х》*](59)
минимальна.
Недостаток дискриминатного метода состоит в том, что, хотя он приводит к хорошей мере для классификации по всем классам, он не
обязательно дает хорошую меру для каждого класса в отдельности. Это ясно видно, если приглядеться к рис. 4.5. Ни одна прямая не может разделить все классы, поскольку наилучшая прямая для раз* деления множеств Пентел и и Наксос ориентирована не так, как оптимальная прямая для разделения всех множеств, кроме Наксос.
Сравнение статистического анализаи основанного на понятии близости распознавания образов
Бейесовский статистический метод классификации, представленный в разд. 4.2, весьма схож с распознаванием образов, основанным на минимизации расстояния между точками одного класса. В обоих случаях разыскивается преобразование для каждого класса, приближающее элементы класса друг к другу. В бейесовском подходе, использующем предположение о многомерном нормальном распределении, это преобразование минимизирует расстояние от каждой точки скопления до его центра. В методе, основанном на близости, минимизируется среднее значение квадрата расстояния между парами точек одного класса. Два этих решения почти одинаковы.
Существует аналогичная связь между дискриминантным методом и статистическим дискриминантным анализом. Допустим, что найдена некоторая линейная комбинация у описаний, соответствующих измерениям {х“. Определим SSb как сумму квадратов расстояний от средних значений у для классов до среднего значения у всей выборки, a SSW ——как сумму квадратов расстояний от точек класса до среднего значения этого класса. В статистическом дискриминантном анализе у выбирается так, чтобы отношение
^ = SSЪ/SSW (60)
было максимальным. Это аналогично критерию максимизации, изложенному в разд. 4.3.3. Разница в том, что в анализе, основанном на близости, внимание уделяется расстояниям между парами точек, тогда как в статистическом анализе ——расстояниям между отдельными точками и средними значениями для соответствуют их классов.
Нелинейная классификация
Правило классификации образов, основанное на выборке, в идеальном случае должно верно классифицировать точки самой выборки. Это не всегда достижимо, если ограничивается возможная форма правила классификации. В частности, если в правиле классификации применяется линейное преобразование пространства описаний, то точная классификация осуществима, только если можно провести гиперплоскости между каждой парой классов так, чтобы все точки одного класса лежали по одну сторону гиперплоскости, а все точки
другого класса — по другую. Возвращаясь к данным Крейгов (рис. 4.5), сразу видим, что такие гиперплоскости можно провести между точками любой пары карьеров, кроме Наксоса и Пентел и. Если нужная гиперплоскость существует, то классы, которые она отделяет, называются линейно отделимыми в пространстве описаний D, В этом случае задача распознавания образов сводится к нахождению соответствующих г и пер плоскостей. Если какая-то пара классов линейно неотделима, то любой из описанных методов будет неверно к л ассифици р ов ать некоторые объекты исходной выборки.
Задачу с линейно неотделимыми классами легко превратить в задачу, содержащую только линейно отделимые классы. Достаточно перейти к новому пространству описаний D#, представляющему собой результат такой нелинейной деформации пространства D, что все классы станут линейно отделимы в D#. Определение пространства D# основано на том, что любую функцию /и переменных можно аппроксимировать функцией вида
к к
ё(х1» • • • > 2 2 …(61) /=0 /=0
где К достаточно велико. Если известна пара линейно неотделимых классов в D, можно перейти от。к новому пространству DK, координаты в котором задаются всеми возможными функциями
/(x)==xj.. .х^. (62)
Если граница между двумя классами в D описывается функцией вида (61), то эти два класса будут линейно отделимы в D< Затем изложенные выше методы распознавания образов применяются к задаче в DK и вычисляется матрица W\ тем самым определяется пространство D#, которое есть не что иное, как образ пространства DK при линейном преобразовании W (Себестиан, 1962, гл. 3).
Трудность этого метода в том, что может потребоваться большой объем вычислений. Размерность пространства 力* растет экспоненциально с ростом К, а поскольку операции с матрицами требуют вычислений, сложность которых растет экспоненциально с ростом размеров матриц, проблема действительно серьезная. Конечно, на практике встречаются ситуации, в которых существенно нелинейные в пространстве D задачи можно решить с довольно малым К・ На рис. 4.9 приведен пример, для которого Себестиан получил решение при К=6. Разумеется, можно было бы найти также и патологические примеры, где потребовались бы невообразимо большие значения ^. о
Имеются две другие возможности решения нелинейных задач способами, отличными от только что описанного. Первая использует диалоговый подход. Трудность практического осуществления последовательных проверок пространства D" связана с боль-
шими затратами времени, необходимого для поиска собственного вектора матрицы 庐,когда К велико. Однако иногда, прежде чем искать этот вектор, можно просто по распределению точек в пространстве описаний DK определить, отделимы ли различные классы линейно. Если бы это удалось сделать достаточно быстро, то можно было бы решить, следует ли дальше рассматривать данное пространство. Одним из путей выбора решения могло бы быть выведение на графический дисплей необходимых проекций точек выборки и предоставление возможности человеку управлять последующими вычислениями. Хотя в распознавании образов обсуждался диалоговый
Рис. 4.9. Пространство разбито на области, определяемые перекрестными произведениями шестой степени (Себестиан, 1962, рис. 3.8.)
подход (Гарнац и Хант, 1973), однако, неизвестно, применялся ли этот метод и насколько он был бы хорош. Одним из требований для его реализации должна быть разработка методов вывода на дисплей многомерных распределений в виде, удобном для восприятия человеком.
Вторая неформальная процедура состоит в исследовании классов преобразований пространства О, менее широких, чем множество линейных полиномов. Именно это обычно и делается в статистической классификации. Если известно, что начальные скопления точек не имеют формы эллипсоида, ищут преобразование, приводящее к эллипсоиду, а затем переходят к линейному методу. Это бывает полезно в тех случаях, когда есть какое-то представление о происхождении данных или когда распределение данных не имеет формы эллипсоида. Рассмотрим пример распределения (рис. 4.10,а), полученного равновероятным размещением точек по ординате и экс-
XXпоненциальным по абсциссе. На рис. 4.10,6 показан результат следующего преобразования: единицей по ординате становится нормальное стандартное отклонение (Хоел, 1970), а по абсциссе — логарифм исходной единицы измерения. Форма скопления приближается к желаемой форме эллипса. Этот подход, основанный на разумном выборе преобразований, вообще принят в распознавании образов и статистике. Будучи менее общим методом, чем последова-
X
X
XX
XXххххххXXххXXXXXXXXX XX XXXz(/)z(/)хXхXXXX XXX hX XXX hXX хXX хXXXххXX XX双XXXXXXххXX XX双XXXXXXXXXXXXXXXXXX XXX XXX хX хX XXXXX 产,XX XXXX XXXXX 产,XX XXX
X
X
хх
хх
ххX
X
ххX
X
X
X
XX
XX
X X
X X
X
X
z(/)
z(/)
х
X
х
X
X
X
X XX
X h
X XX
X h
XX х
XX х
X
X
X
х
х
X
X X
X双
X
X
X
X
X
X
х
х
X
X X
X双
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
X
X X
X
X х
X х
X X
XX
XX 产,X
X XX
X
X X
XX
XX 产,X
X XX
X
Рис. 4.10. ПримерРис. 4.10. Примернелинейного преобразования:нелинейного преобразования:6 — преобразованное распределение.6 — преобразованное распределение.a — исходное распределение;a — исходное распределение;
Рис. 4.10. Пример
Рис. 4.10. Пример
нелинейного преобразования:
нелинейного преобразования:
6 — преобразованное распределение.
6 — преобразованное распределение.
a — исходное распределение;
a — исходное распределение;
тельное построение D& он может привести к нужным результатам со значительно меньшими затратами на вычисления. Если известна природа данных, нобходимо следить за тем, чтобы применяемое преобразование имело смысл. Этот вопрос тесно связан с упоминавшимся ранее вопросом относительно измерений: если известно происхождение данных, то какие преобразования допустимы?
Классификация по правилу ближайшего соседа
Анализ, основанный на понятии близости, который мы изложили в предыдущих разделах, позволяет отбросить предположение о том, что для каждого класса заранее известна функция плотности веро-
ятности: при этом сохраняются идеи евклидова расстояния и усреднения измерений по некоторому множеству точек. В данном разделе описывается очень простой метод классификации, в котором не используется усреднение и допускается нарушение линейной отделимости. Метод называется классификацией по правилу ближайшего соседа. Помимо того, что в этом методе не делается никаких исходных предположений, вычисления на этапе распознавания образов занимают в нем мало времени. Недостатки его состоят в том, что на этапе классификации образов могут потребоваться значительные вычислительные ресурсы, и он не удовлетворяет никакому разумному критерию в смысле оптимальности классификации. Покажем, однако, что его можно считать в некотором смысле удовлетворительным, хотя и не оптимальным.
Прежде чем описать сам метод, уместно будет кратко обсудить понятие усреднения. Из-за чего можно усомниться в том, что имеет смысл усреднять измерения? Ответ заключается в том, что усреднение имеет смысл, только когда можно предположить, что измерение, соответствующее среднему, представительно по отношению к отдельным измерениям. Чтобы увидеть, когда это так, а когда не так, вернемся снова к данным Крейгов (рис. 4.5). Экспериментальные точки для образцов из четырех карьеров явно сгруппированы вокруг некоторой центральной, так что для нахождения типичной экспериментальной точки имеет смысл усреднять по выборкам из каждого карьера. Но данные карьера Наксос, по-видимому, образуют два отдельных скопления (Крейги именно так и интерпретируют эти данные, хотя и не указывают причин своего предположения). Усреднение по всем точкам из обоих скоплений Наксоса дает среднюю (центральную) точку, которая на самом деле не будет представителем экспериментальных точек. Подобные примеры, конечно, можно построить для еще более очевидных случаев. Например, величина „человек среднего веса" должна вычисляться с учетом всех людей, как мужчин, так и женщин, что явно не имеет смысла. Вообще, задачи, в которых усреднение непригодно, для человека очевидны, но как объяснить машине то, что очевидно для человека?
Алгоритм классификации по правилу ближайшего соседа очень прост. Представим выборку S в виде последовательности экспериментальных точек х<1), ... , х(п) с известной принадлежностью классам. На каждом шаге при наблюдении экспериментальной точки делается предположение о ее классе и классификатору сообщается правильный ответ. Предположение относительно х⑺ производится после исследования предыдущих /—1 экспериментальных точек и нахождения 々 ближайших к х^〉точек. При k=\ найденная точка будет ближайшим соседом точки х。* так что х(刀 относят к тому классу, которому принадлежит этот ближайший сосед. Если 々>1, то правило классификации сильно усложняется. Поэтому обычно
применяют простые правила (например, голосование по большинству).
Метод ближайшего соседа был впервые описан Фиксом и Ходжесом в 1951 г. С тех пор ему почти не уделяли внимания, возможно, потому, что он кажется слишком простым, чтобы быть интересным! Однако удивительно, что в тех исследованиях, в которых применялась классификация по правилу ближайшего соседа, обычно получались хорошие результаты. Кавер и Харт (1967; см. также Кавер, 1969) доказали для случая k=l одну теорему, которая дает объяснение этому явлению.
Пусть Rn — вероятность сделать ошибку при классификации по правилу ближайшего соседа в выборке S размера и. Не зная распределений вероятностей (включая соответствующие параметры), порождающих S, нельзя точно определить Rn, но эту величину можно оценить статистически. Положим
Сп_1 — число наблюдений {х/ в последовательности х⑴,...,х(叱 которые были бы неверно класси- «^ фицированы по правилу бл жайшего соседа в(丿 выборке S — х9
Заметим, что это точная оценка только в предположении, что х(/)— независимые случайные выборки с возвращением. Сп ——случайная величина с математическим ожиданием
E(Cn)^Rn.(64)
Интуитивно ясно, что Rn с ростом и стремится kR^ (формальное доказательство см. (Кавер и Харт, 1967)). Пусть R* будет риском ошибочной классификации любого случайным образом выбранного наблюдения при использовании некоторого неизвестного бейесов- ского метода оптимальной классификации. Кавер и Харт доказали, что для случая двух классов
RY冗总2个(1一个),(65)
В табл. 4.3 приведены значения верхней границы для Rs, соответствующей некоторым типичным уровням бейесовского риска (нижней границы). Чтобы решить, приемлемы ли эти границы, рассмотрим „мысленный эксперимент**. Пусть даны два черных ящика, представляющие собой устройство классификации. Они могут быть либо оба бейесовскими, либо оба по правилу ближайшего соседа, либо различными. Наша задача заключается в выяснении, какая из этих возможностей на самом деле осуществляется. Чтобы решить ее, потребуем, чтобы каждое устройство классификации работало с различными выборками из N объектов. Так как выборки различны, можно было бы ожидать, что устройство классификации по правилу ближайшего соседа сделает больше ошибок. Поэтому, если шансов менее 1 из 100, что число наблюдаемых ошибок будет таким же, как в
Таблица 4.3
Верхняя и ннжняя границы асимптотического риска при использовании правила ближайшего соседа. Размер выборки, необходимый для различения оптимального бейесовского правила и правнпа ближайшего соседа (наихудший случай)
1. Бейесовский риск (иижняя граница)
2. Верхняя граница
3. Размер выборки, необходимый для различения
За. мощность=0,5
36. Мощноеть=0,75
0,050
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),
случае одинаковых устройств классификации, мы решаем признать одно устройство бейесовским, другое ——по правилу ближайшего соседа. Если же расхождение не слишком велико, то будем считать эти устройства классификации одинаковыми. Как велико должно быть число М чтобы а) у нас были хорошие шансы правильно счи~ тать устройства классификации различными каждый раз, когда они действительно различны, или б) правильно решать этот вопрос в той же ситуации в трех случаях из четырех? Ответ можно получить, ис- пользуя для оценки возможностей неравенства (65) и затем применяя статистические методы оценки мощности критерия (Коэн, 1969). Не будем останавливаться на объяснении результатов, просто сфор- мулируем их. В столбцах За и 36 табл. 4.3 приведены необходимые размеры выборки для каждого эксперимента с различными уровня* ми бейесовского риска. Эти оценки могут оказаться лишь занижен- ными, поскольку при подготовке таблицы предполагалось, что устройство классификации по правилу ближайшего соседа функционирует с максимально возможным риском.
В распознавании образов по методу ближайшего соседа проблема состоит в том, что найти ближайшего соседа за разумное время совсем не просто, В распоряжении должна быть достаточная память Для хранения всей выборки, а также процедура поиска, позволяю' щая быстро находить ближайшего соседа к вновь поступившему элементу. Представьте, например, для сравнения задачу использо- вания данных переписи населения Соединенных Штатов, где число случаев составляет миллионы, а число переменных порядка 100.
108 「{. 4. Методы, использующие евклидовы пространства описаний Вообще метод ближайшего соседа чувствителен к числу случаев в выборке, тогда как другие методы чувствительны к числу переменных. Это надо помнить при выборе метода решения конкретной задачи.
В заключение следует сказать, что метод ближайшего соседа дает удивительно хорошие результаты, если учитывать его простоту. Он особенно полезен в ситуациях, когда в значительной мере нарушается предположение о линейной отделимости. Основные слабости метода ближайшего соседа заключаются не в недостатке точности, а в требовании большой памяти и в том, что он (как и другие методы, использующие идею близости) очень сильно зависит от предположения об евклидовости пространства 】).
4・4・ Алгоритмы с обучением
0. Введение
Важная разновидность задачи распознавания образов получила название „машинное обучение**. Употребляется также и более осторожный термин „адаптивное распознавание образов". Предположим, что вместо того, чтобы сразу задавать фиксированную выборку X, подлежащую анализу, к устройству распознавания образов посту- п ает последовател ьность
Sx = х(1), ..., х(/), ..., х叫 (66) в которой каждое возможное наблюдение появляется бесконечно много раз. Мы можем представить себе S^ как последовательность, полученную повторяющимся выбором с возвращением х(0 из множества возможных описаний объектов. При этом этапы распознавания и классификации образов совмещаются. Допустим, что есть какое- то правило классификации. При появлении каждого элемента х(" проводится его классификация по этому правилу, и устройству распознавания образа сообщается о верной классификации. Затем правило корректируется. Вместо вопроса „Какое решающее правило должно выводиться из конечной выборки?и, как было ранее, нас теперь интересует „С помощью какого алгоритма соответствующее решающее правило можно построить последовательным приближе- ннем?". Такой алгоритм будет называться алгоритмом с обучением. Его выходом будет последовательность решающих правил
Sw = W^9 呼叫 (67)
Минский и Пейперт (1969, разд. 12.3) приводят пример, в котором метод ближайшего соседа фактически хуже, чем чисто случайный подход; однако в этом примере нарушены допущения об евклидовости пространства.
Алгоритмы с обучением 109 где i-e правило применяется для классификации i-ro наблюдения. Алгоритм с обучением называют сходящимся, если существует такое положительное целое число /*, что
呼(f = W(f*+/), j》0. (68)
Иными словами, равенство (68) означает, что наше правило обучения установит в конце концов единственную, не меняющуюся процедуру классификации. Правило обучения считается хорошим, если процедура, которую оно устанавливает, максимизирует некоторый критерий качества классификации.
Аналогия с обучением в обычном смысле очевидна, поскольку алгоритм, удовлетворяющий этим определениям, будет обучаться по мере накопления опыта. Интересно заметить, что некоторые существующие алгоритмы с обучением можно было бы реализовать сетью элементов, похожих в каком-то смысле на нервные клетки. В самом деле, большинство ранних работ по машинному обучению, по крайней мере частично, было вызвано желанием смоделировать обучение биологических систем. Персептрон, широко известный тип обучающейся машины, впервые был описан Розенблаттом (1958), а в его книге (1962) широко обсуждается отношение алгоритмов, применяемых в персептроне, к нейрофизиологии. Помимо этого небольшого экскурса в историю, мы не будем более затрагивать вопросы использования различных схем обучения в качестве биологических моделей. (Как правило, эти попытки наивны.) Вместо этого мы рассмотрим (подобно Нильсону (1965а)) математический аспект задачи обучения.
Определения и обозначения
Понятие последовательности наблюдений было дано выше. Предполагается, что каждый член последовательности принадлежит точно одному из 々》2 классов. Существенное отличие от некоторых из наших предыдущих рассмотрений состоит в том, что считается, что никогда два класса не могут породить одинаковое наблюдение. Ранее мы предполагали только, что каждый класс характеризуется вероятностью, связанной с каждой точкой пространства описаний, а теперь требуем, чтобы каждая точкаx^D относилась к единственному классу. Вместо правила обучения для последовательности Sx мы построим правило для
Su = y", •,此 (69) где уЗ ——это (т+1)-мерный вектор, полученный из х⑴ добавлением 1 в качестве (/п+1)-й компоненты. Будем говорить, что у(" принадлежит классу /, если х(" — описание объекта из класса /. Очевидно, что правило для классификации Sy будет также классифицировать и Sx.
Классы называются отделимыми, если существует такое множество функций {gj}, что
g产(y⑺)=max {幻(产)}(70)
тогда и только тогда, когда 产 принадлежит классу /*. Классы называются линейно отделимыми, если эти функции линейны:
m+1m
g八У"')= S %或=£ Wjsx^ + wjm+1.(71)
s=1s=1
Отметим, что это по существу те же определения, что и наши прежние определения отделимости и линейной отделимости, лишь с соответствующими изменениями в обозначениях. Если верно (71), то правило классификации 3力 можно задать (k X (т+1 ))-матрицей, строки которой представляют собой векторы w;. Тогда (71) удобно записать в виде скалярного произведения
g八У“>) = У"'・з八(72)
Вообще говоря, уравнениям (70) и (71) удовлетворяет бесконечно много матриц 耽 В этом разделе мы будем предполагать, что некоторая матрица W существует (если явно не оговорено противное). Наша задача ——показать, что определенные правила обучения приводят к удовлетворительному правилу классификации W(0.
Случай 々=2 особенно интересен по трем причинам: (1) он допускает подробный анализ, (2) часто встречается на практике и (3) это частный случай, к которому можно свести общий случай при 々>2. Предположим, что по крайней мере одно множество линейных функций G={gi,g?} удовлетворяет уравнениям (70) и (71). Тогда разделяющая функция
g*=gi—g3(73)
существует и равна
m+1т+ I
g*(y⑺)=£ 吗,=5 (wls—wis)y^.(74)
s=1s=1
Поэтому неравенство
g*(y"))〉O(75)
справедливо тогда и только тогда, когда у⑺ принадлежит классу 1. Обозначим через Yr и К2 множества векторов, принадлежащих соответственно классам 1 и 2, и пусть
Z=YiU (一九).(76)
Неравенство
спрааедлиао для scex z^Z. Гозорят, что функция ^* линейно содержит некоторое множество Z, если справедливо (77). Из способа построения Z следует, что если можно найти функцию, линейно содержащую Z, то можно найти функцию, удовлетворяющую неравенству (75) и, значит, линейно отделяющую Fi и К2.
Процедура обучения для двух классов
Теперь построим правило обучения для двух классов. По предположению существует множество векторов {w*}, линейно отделяющих У\ и К2. Задача состоит в том, чтобы найти один такой вектор. Это будет сделано с помощью алгоритма, известного под названием процедуры коррекции по ошибкам (правило классификации совершенствуется с учетом лишь ошибок).
Алгоритм коррекции по ошибкам для двух классов
Пусть w(c ——приближение^ используемое для классификации
w(1)=(0,,0).
При заданном w", нужно поступать согласно следующим правилам.
Случай 1: (у)(п
Если yS・w(n>0, то w"d=w⑺.
Если 严,w"}&0, то w('+D=w(')+yQ
Случай 2; у⑺ € 匕・
Если y‘c・w⑺V0,w(( + n=wu).
Если y<n-w(n^0, то w(/+1)=w(/,—у(/).
Можно было бы предложить и доказать необходимые теоремы о несколько более общем алгоритме, в котором w(1) — произвольный вектор, а коррекция по ошибкам заключается в добаалении 土仃(°, где с — любая положительная постоянная, но это неоправданно усложнит изложение.
Теорема обучения для двух классов. Если У, и У2 линейно отде- лимы и для определения w⑺ используется указанный алгоритм кор* рекции по ошибкам для двух классов, то существует такое целое число />0, что w(£)линейно отделяет Ki и /2, и, значит, ^+^=^ для всех />0.
В теореме утверждается, что приведенный выше алгоритм работает правильно.
Эту теорему можно доказать несколькими способами. Мы покажем, что можно найти вектор w“* линейно содержащий множество Z, определенное соотношением (76). Пусть S^ — последовательность векторов z, соответствующих элементам из S夕 Приведенный выше алгоритм преобразуем сначала в процедуру, работающую с S%.
Преобразованный алгоритм для двух классов
w⑴=(0, •・・,0), зк и ранее.
w"d=w(% если z(dw")>0.
В исходном алгоритме это соответствует случаям верной классификации,
w"+d=w⑺4~z% если z(n*w<z)^0.
В исходном алгоритме это соответствует случаям ошибочной классификации.
Пусть Se — последовательность ei, ... , е;, где е; есть /-я ошибка в классификации. Таким образом, Se — подмножество множества Sz, а е; — вектор, вызывающий /-е обращение к шагу 3 модифицированного алгоритма. Если множество Se конечно, то число обращений к шагу 3 также конечно, и последнее обращение дает правило w(", которое дальше не изменяется. Однако по предположению S^ — бесконечная последовательность, в которую любая возможная экспериментальная точка входит бесконечно много раз; поэтому правило w(" должно классифицировать все точки и тем самым линейно отделять 匕 и К2. Итак, надо показать, что множество Se конечно.
По предположению существует весовой вектор w*, линейно содержащий Z. Поэтому найдется такое положительное число а, что min {z • w*} = а〉0.(78)
Пусть w(f) будет этим весовым вектором, построенным после 力访 ошибки. Согласно алгоритму,
w (/)=;>/,(79)
откуда
w (0 • w* = 2 力・ w*> ta.(80)
С помощью соотношения (80) можно установить нижнюю границу величины [w(f)]2. Применим неравенство Шварца (произведение квадратов двух векторов не меньше квадрата их скалярного произведения):
w (О2 (w*)a^[w(/)-w*]2,(81)
нли
(w(/))a》(82)
Объединяя (80) и (82), получаем
(W (»》詳》尸• %,(83)
где Mi — неизвестная постоянная, значение которой зависит от w*. Нам не обязательно знать значение Afi; мы хотели лишь показать, что нижняя граница для (w(/))2 пропорциональна /2.
Теперь покажем, что верхняя граница для (w(f))2 пропорциональна t. Согласно алгоритму,
w(/+D = w (/)+*+〉(84)
Возведем обе части равенства (84) в квадрат:
(W (/ + 1))2 =(W (/))2 + 2w (/)・*+1 + (е<+1)2.(85)
Так как использование вектора w(f) привело к ошибке 也+口 то w(Z)-e/+1<0, и потому
(w(f + l))2 — (w(/))2《®+i)2.(8G)
Суммируя (86) для / = 1,,厶 находим
{(w(f + l))2 — (w (/))2} + {(w ⑴)2-(w(f — l))2} + ・・・
…+{(W ⑴)3 — (w(0))2} & £ (纨.(87)
Поскольку w(0)=w(1)=0, а все средние члены взаимно уничтожаются, остается
(w(/+l))2&,©)2,(88)
или, что эквивалентно,
(w(/))y 玄 ©)2.(89)
Поскольку множество Z конечно, оно должно обладать наибольшим вектором. Так как SeuS^, длина этого вектора не меньше длины наибольшего вектора в Se:
M2 = max{(z2)}》max {©)}・(90)
Z€ZeQe
Объединяя (89) и (90), получаем
(w(/))y*(e/)y/此,(91)
а с учетом (83) имеем
MJ2《(w(f))2&M2f.(92)
Это справедливо только тогда, когда
У*,(93)
т. е. мы получили верхнюю границу для /. Отсюда заключаем, что множество Se конечно, и, значит, существует последняя ошибка. Алгоритм должен сходиться к некоторому вектору w(/\ линейно содержащему Z. Теорема доказана.
Необходимо сделать два замечания. Во-первых, хотя t конечно, его нельзя вычислить, не зная w*. Поскольку цель алгоритма — найти какой-нибудь вектор w*, то нельзя установить априорно требуемый объем вычислений. Во-вторых, предположение, что каждый вектор из У входит в S^ бесконечно много раз, занимает центральное место во всем предыдущем обсуждении. Если бы обучающая последовательность состояла из заданных повторяющихся подвыборок У* и У, то алгоритм приводил бы к вектору w*, достаточному доя классификации К*; классификация же вне множества У* (т. е. в Y—К*) могла бы дать ошибку.
、Обобщение на случай k классов
В задаче с несколькими классами множество Y (и X) разбивается на 々 подмножеств 匕,… , 厶.Множество Y будет называться линейно отделимым матрицей W* = {W*} весовых векторов тогда и только тогда, когда
y・w:〉y・w; для всех у£%, /=1,…,左,j^i. (94) Мы считаем W* матрицей, строками которой служат векторы w;. Предположим, что W* существует. Обучающий алгоритм строит по последовательности наблюдений Sy конечную последовательность матриц Sw, последний член которой линейно отделяет У.
Алгоритм коррекции по ошибкам для нескольких классов
Пусть 啖} — начальная матрица. Как и раньше, W、будет нулевой матрицей, хотя это и не обязательно.
Как и раньше, определим последовательность Sy. Рассмотрим любой вектор у⑴ 6 S$, и пусть 匕一класс, которому он принадлежит. Наблюдение у“)будет классифицироваться матрицей W(n. Матрица 呼“+口 вычисляется по следующим правилам.
(2а) Если классификация верна, то 呼gD=U7(f).
Если классификация ошибочна, то найдется по крайней мере одно число /, для которого у"'w?》y⑴・wf}.
Для каждого i и каждого такого / положим
wg+L = w^ + yQ(95)
w'+d = w/°—y"L(96)
Как и раньше, можно было бы в (95) и (96) заменить у⑴ на су"> (с>0), но для простоты записи мы этого делать не будем.
Чтобы доказать, что алгоритм работает правильно, опять надо показать, что последовательность ошибок Se конечна. Из тех же соображений, что и ранее, заключаем, что если последовательность Se конечна, алгоритм должен решать задачу классификации.
Пусть Z будет множеством &(/п+1)-мерных векторов, построенных из Y так, чтобы вектор v, линейно содержащий Z, содержал элементы матрицы W* в определенном порядке. Чтобы получить такое множество, используется каждый вектор у € У для определения 々一1 векторов в Z. Возьмем у W 匕.Векторы z, построенные из у, обозначим {Zt : ;(у)} для / = 1, ...,阮 j峻厶 Каждый вектор Zt : ;(у) состоит из k блоков, каждый из которых имеет /п+1 компонент, причем •
i-й блок вектора Z;; j (у) совпадает с /п+1 компонентами вектора у,
/-й блок вектора Z;: / (у) совпадает с /п+1 компонентами вектора —у,
все остальные компоненты вектора Zj : / (у) равны нулю.
Таким образом, для любого вектора у из класса i в множестве Z есть k—1 векторов, соответствующих отличиям его от классов, которым он не принадлежит. У этих векторов i-й блок соответствует правильному классу.
По предположению матрица『существует. Мы будем искать вектор V*, составленный из 々 векюров w; (строк матрицы IT*). Алгебраически
(rn+i),(97>
для f=l, ... , ^ и / = 1, ... , /п+L Тогда доя каждого вектора 工门
(%:/ (у)) • v* = у ・ w;〉0, у W %,(98}
поскольку если Y линейно отделяется матрицей W*t то y・w;> >y・w;.
Теперь обратим этот процесс, и пусть известно, что v* линейно содержит Z.
Равенство (97) можно тогда использовать для определения векторов матрицы W^, линейно отделяющей Y. Подходящий вектор v* можно найти с помощью изложенного выше алгоритма для двух классов. Таким образом, задача для нескольких классов решена:
как только вектор v* найден, вычисление матрицы W* тривиально ) В самом деле, легко видеть, что алгоритм для нахождения вектора V* совпадает с нашим алгоритмом построения последовательности
Распространение результатов на нелинейныеи неевклидовы случаи
Читатель, возможно, уже заметил, что нигде в нашем алгоритме не использовалось евклидово расстояние. В формулировке алгоритма участвуют численные значения суммы квадратов компонент векторов и не требуется никакой интерпретации в смысле измерений. Таким образом, можно было бы-с тем же успехом применять наши правила к объектам, описываемым целыми числами или двоичными векторами. Второй случай особенно интересен из-за его многочисленных интерпретаций. Допустим, что устройство распознавания образов получает на вход сигналы от устройств „обнаружения при- знаков", каждый из которых выдает 0 или 1 в зависимости от того, обладает или нет классифицируемый объект определенным свойством. „Свойством" в данном случае можно считать любое качество объекта. Устройство распознавания образов будет оперировать векторами, состоящими из двоичных элементов. Если эти элементы линейно отделимы (в алгебраическом смысле), то независимо от того, имеет ли смысл геометрическая интерпретация линейной отделимости, можно применить алгоритм коррекции по ошибкам. Единственное ограничение, с которым мы сталкиваемся на этом пути,— само понятие линейной отделимости. В следующей главе мы вернемся к этому вопросу.
Сходимость
Практически приемлемая процедура распознавания образов должна дать правильный ответ и притом достаточно быстро. Описанные методы сходимости называются методами фиксированных интервалов ). Когда у(力 классифицируется неверно, каждая компонента вектора w(" изменяется на фиксированную величину, которая зависит от вида сделанной ошибки, но не от того, насколько плоха была классификация, что интерпретируется как степень нарушения соответствующего неравенства. Интуитивно хотелось бы больше изменить w⑺ при слишком уж плохой классификации у⑴ и меньше в противном случае. Нильсон (1965а) показал, что в задаче для двух
классов можно получить более быструю сходимость, заменяя в рассмотренном алгоритме фиксированную постоянную с переменной
(99)(99)w(o .у(О
(99)
(99)
Получающийся в результате алгоритм сходится при условии, что X лежит в интервале (0, 2). Ченг (1970) построил аналогичный алгоритм для случая 々》2 и показал, что в ряде задач он сходится достаточно быстро.
Мы предполагали везде, что классы линейно отделимы. Допустим, что это не так, но что алгоритм с обучением все равно применяется. Что произойдет с весовыми векторами? Можно представить весовые векторы как точки в (/п+1)-мерном весовом пространстве. Минский и Пейперт (1969) доказали, что длина вектора w⑺(весового вектора на i-м шаге) не превосходит некоторой фиксированной величины. Поэтому, хотя последовательность ошибок и бесконечна, весовые векторы будут оставаться в пределах некоторой области весового пространства. Минский и Пейперт также установили, что если векторы наблюдений (векторы х) целочисленны, в частности двоичные, то весовые векторы принимают лишь конечное число возможных значений. Другими словами, по мере прохождения последовательности Sg в нелинейной задаче ответы, даваемые устройством распознавания образов, образуют цикл из конечного числа элементов. К сожалению, нет никаких гарантий, что устройство распознавания образов будет проводить большую часть своего времени в состоянии, в котором рабочее правило удовлетворяет некоторому критерию вероятностной классификации.
4.5. Группирование
0. Задача группирования
В распознавании образов должна быть известна принадлежность классам по крайней мере некоторых объектов. Задача состоит в нахождении такого правила, которое позволило бы установить эту принадлежность. В близкой задаче — задаче группиро- вания—именно устройство классификации должно решить, какие объекты следует сгруппировать. Задачи группирования встречаются во многих областях. В медицине самые разнообразные болезни, вызываемые различными микроорганизмами, нередко группируются под общими названиями, например, „простудный катар" или „кишечное расстройство**. В психиатрии классификация психических расстройств на „шизофрению14, „маниакально-депрессивный психоз** и „психопатию^ не настолько отчетлива, как хотелось бы. В биологии проблема группирования имеет интересную особенность. Обычно предполагается, что объединение видов в семейства
и роды отражает общность происхождения. По традиции о линиях эволюции судят по нескольким произвольно выбранным общим признакам, но в последнее время были предложены численные методы, подобные некоторым из обсуждаемых ниже, как более подходящие для выяснения таксономических отношений (Сокаль и Снит, 1963). В искусственном интеллекте задача группирования изучалась под названием „обучение без учителя**. Хорошей иллюстрацией может служить дешифровка. Допустим, что получено закодированное сообщение, причем каждая буква алфавита может иметь несколько разных кодов. Например, буква ”а“ могла быть написана как ”6", ,,в“ или ”+“• Задача состоит в приписывании кодов данного сообщения соответствующим им буквам. Задача выглядит более подходящей для решения с помощью ЭВМ, чем упомянутые выше задачи классификации болезней или таксономия, хотя с формальной точки зрения они схожи.
Мейзел (1972) предложил три характеристики, которыми можно описать алгоритмы группирования.
Существует ли критерий, по которому можно оценить результат группирования, или следует проверять процедуру группирования с точки зрения ее разумности? В первом случае метод группирования называют непрямым, поскольку он возникает как побочный эффект попытки минимизации или максимизации некоторой функции; во втором случае метод группирования называют прямым.
Независимы ли группы, которые должны быть выделены, или предполагается, что они образуют некоторую иерархию, как в таксономии?
Какая задача интересует прежде всего: установление принадлежности экспериментальных точек определенным группам или вычисление параметров функции, по которой по предположению порождаются данные?
Известно много алгоритмов, которые можно считать процедурами группирования. Мы не сможем охватить их все. Вместо этого приведем три иллюстративных метода: первый.заключается в оценке функций, порождающих данные, с помощью непрямого группирования, второй ——неиерархический метод и третий — иерархический прямой метод группирования. Другие алгоритмы можно найти в работе Дуды и Харта (1973).
L Статистическое группирование
Эта формулировка задачи группирования очень близка к статистической формулировке задачи распознавания образов. Наблюдения составляют множество X из 几 экспериментальных точек с неизвестной принадлежностью классам. Предполагается, что процесс, с помощью которого получались наблюдения, был двухэтапным. На первом этапе выбирался один из 尼 классов, причем f-й
класс выбирался с вероятностью р〃 С t-м классом связывалась известная функция плотности вероятности /г с неизвестным множеством параметров 0f. (Например, если бы функция 厶 была нормальным распределением, то множество 0 могло бы содержать среднее и дисперсию для класса L) Затем в пространстве описаний с вероятностью h (х|0) выбиралась точка х. Задача группирования состоит в выборе значений для множеств P={pi} и 8={仇}, которые лучше соответствуют данным X. Это естественная, хотя и трудная с вычислительной точки зрения задача статистической оценки. Хоел (1970) изложил математические аспекты задачи, а Купер (1969) рассмотрел их с машинной точки зрения. Вместо того чтобы заставлять читателя изучать эти весьма технические работы, мы приведем широко используемый пример вычислений, известный как минимизация по критерию хи-квадрат.
Пусть пространство описаний D разбито на г попарно непере- секающихся областей О” …,0,・ Обозначим через 力 число точек в X, попадающих в область D卜 Для любых фиксированных значений р и 0 ожидаемое число наблюдений в области D; равно
EjiP^^n^pAfi (х|0^х, xWD/. (ЮО)
Статистика хи-квадрат, которую предстоит минимизировать, равна
^ = ^[{0j-Ej{P, 8))2/Е/(Р, 0)]. (101)
Задача решена, если найдены значения Р и 0, минимизирующие (101). В некоторых задачах надо найти и значение k. Конкретный способ решения зависит от вида функций плотности вероятности {%}. Если повезет, то наилучшую оценку удается получить в замкнутой форме. В других случаях может понадобиться испробовать каким-то систематическим образом различные численные значения параметров. В некоторых задачах исчерпывающее перечисление параметров было неосуществимым даже с помощью очень большой ЭВМ. Гарнац и Хант (1973) показали, что в подобных случаях может оказаться достаточно точной для практических целей процедура графической оценки, выполняемой с помощью ЭВМ.
Метод k средних
Мак-Куин (1967) разработал очень простой прямой метод группирования, названный им методом 々 средних. Этот метод не только служит примером прямого группирования для независимых классов, но также представляет адаптивное группирование^ поскольку.
как и в задаче адаптивного распознавания образов, текущий ответ корректируется по мере накопления новых данных. Как и в задаче распознавания образов, экспериментальные точки упорядочены в последовательность S^ наблюдений x(i), ..., х(")в /п-мерном пространстве описаний. В простейшем случае предполагается, что классов в точности 々 и каждый класс имеет среднюю точку т;・ Требуется дать алгоритм, оценивающий {т;} по последовательности Sx.
Алгоритм Мак-Куина выглядит следующим образом:
Вычислить множество начальных оценок Л1°—{mi0>}, относя к каждому классу одну из первых 々 точек 6 Sx. На этом этапе
=/г.(102)
Отнести предъявляемую точку х("(々Vi《M)к группе точек /, для которой расстояние d(m?, х⑺)минимально. Неодно- значности разрешаются 6 пользу группы с меньшим индексом.
Найти новые оценки средних точек {m?+D}, вычисляя новые средние для каждой группы.
(За) Если точка х⑵ не была отнесена к группе /, то т‘) не меняется.
Если точка х(" отнесена к группе /, то на основе теку- щего состава группы устанавливается новая оценка средней точки. Пусть со产 一 число экспериментальных точек 8 группе 6 момент, когда предъявляется i-я экспериментальная точка. Тогда
m?+D =設石(峭mp +хЗ).(103)
Мак-Куин доказал, что если последовательность S^ построена из выборок, относящихся к 々 различным распределениям вероятностей, то 々 оценок ш, будут асимптотически сходиться к средним значениям этих распределений.
Качество конструктивного алгоритма, подобного процедуре 々 средних, можно определить лишь экспериментально, поскольку он не связан ни с каким критерием. Несколько примеров Мак-Куина особенно наглядны. В одном слова были оценены по набору их эмоционального значения (например, „хороший, плохой", „пассивный, активный**)* Эти оценки определили X. Найденными классами были {покой, сумрачный, озеро, мир, спать, белый}, {нищий, уродливый, равнодушный, недоразвитый, подлый} и {статуя, солнечный свет, время, деревья, мудрый}. Метод был также применен к многомерным оценкам жизни студентов в различных университетах. Здесь были получены две совершенно разные группы: {Рид, Суортмор, Антиох, Одерлин, Брин Мор} и {Корнелл, Ми-
чиган, Миннесота, Иллинойс, Арканзас, Джорджия, Пердью}. В обоих приложениях результаты выглядят разумными.
Недостаток алгоритма в том виде, как мы его описали, состоит в его чувствительности к порядку предъявления экспериментальных точек и правильности выбора 々.Мак-Куин сообщает, что допущенные им изменения порядка предъявления точек не привели к значительной разнице, хотя можно было бы построить и патологические примеры. Чтобы избежать сильной зависимости от начальной оценки 也 ее можно подбирать при помощи загрубляющего параметра с и уточняющего параметра г. Модифицированный алгоритм требует для всех точек перепроверки их принадлежности группам после каждого шага. Считается, что две средние точки Ш/ъ и т}2 слишком близки друг к другу, если евклидово расстояние между ними меньше с. В этом случае группы / и /* объединяются в одну и 々 уменьшается на единицу. С другой стороны, если любая точка x(G удалена от средней точки ближайщей группы больше чем на г, то она делается начальным средним новой группы, а 々 увеличивается на единицу. Отметим, что это, например, могло бы случиться, если бы средняя точка сдвинулась от точки, первоначально близкой к центру группы, в результате изменения группы, происшедшего после предъявления очередной точки.
Себестиан и Эди (1966) независимо от Мак-Куина предложили разновидность алгоритма & средних, в которой мера евклидова расстояния была взвешенной, для коррекции отклонений внутри группы вдоль каждой координатной оси пространства описаний. Рассуждения в данном случае очень похожи на обоснование подобного взвешивания в распознавании образов; вводится изменение масштабов, приближающее форму скопления точек к сферической. Они также предлагают, чтобы предъявленные точки не относились ни к какой группе, если в момент предъявления они не находятся на определенном расстоянии от какой-нибудь группы. Такие точки могут оставаться неопределенными до тех пор, пока средняя точка какой-нибудь группы не приблизится к ним.
Мейзел (1972) описал центрирующий алгоритм, очень похожий на процедуру 々 средних, за исключением того, что он применяется к данным независимо от порядка наблюдений. Вместо последовательности Sx экспериментальных точек рассматривается множество X, которое надо разбить на подмножества.
Центрирующий алгоритм
Выбрать произвольное множество {mJ} начальных средних.
Отнести каждую точку из X к той группе, к средней точке которой она ближе, чем к другим средним.
Вычислить т()+1> путем определения средней точки каждой группы.
Повторять шаги 2 и 3 до тех пор, пока не образуются устой- чивые скопления точек.
Как и алгоритм 々 средних, центрирующий алгоритм чувствителен к начальному выбору средних точек и подходящему выбору k. Несмотря на эти недостатки, метод часто бывает очень полезен. Дир (1969) отметил, что его можно распространить на случай, когда разрешается использовать в качестве средних только определенные их прототипы. В этом случае учитываются потери, связанные с рассмотрением каждой экспериментальной точки, как если бы она на самом деле была прототипом средней точки. Это довольно похоже на допущение изготовителя лифтов, что все человечество можно считать состоящим из людей весом 150 фунтов. Метод Дира можно приспособить для решения задач исследования операций, таких, как расположение складов или прикрепление клиентов к различным центрам обслуживания.
Иерархическое группирование
В алгоритмах иерархического группирования предполагается, что данные, подлежащее группированию, берутся из единственного класса, который можно разбить на подклассы и подподклассы. Один из наиболее широко применяемых методов иерархического группирования принадлежит Джонсону (1967). Этот метод можно использовать как в евклидовом, так и в неевклидовом пространствах, если считать меру расстояния й(х, у) между двумя точками некоторой мерой, определяемой для любых двух точек в X.
Метод Джонсона иерархического группирования
Определим матрицу ", элементами которой служат расстояния между парами экспериментальных точек:
%j = hg, X/).(104)
Проведем группирование C(0)={Cs0))> 6 котором каждая экспериментальная точка относится к классу, содержащему толь- з ее саму.兄сно、что расстояние между любыми двумя скоплениями с,°)" с黑 в этом случае равно
/Ц*), c^) = hip(105)
Предположим, что проведено группирование
國-%...} " определена соответствующая матрица Н с элементами 瓦力 как в (105). Пусть а и b — индексы двух ближайших скоплений, т. е. hab —— наименьший элемент матрицы Н. Тогда группирование Сф получается из С"-。 объединением элементов а и b в одну группу [а, Ь].
Переопределим матрицу ", вычеркивая все элементы, относящиеся к а и bt и добавляя расстояния до нового скопления [a, bj, определяемые для [а, Ь】"некоторого третьего элемента с по правилу максимума
h[(a, b), c] = max [h (а, с), h(bt с)](106)
или правилу минимума
й[(а, b), c]~min[/i (а, с), h(bt с)].(107)
Повторяем шаги 3 и 4 до тех пор, пока все начальные экспериментальные точки не объединятся в одну группу.
Классы, формируемые этим алгоритмом, имеют интересные интерпретации. Для данного скопления точек определяется его диаметр как наибольшее расстояние между любыми двумя его точками. Если применяется правило максимума (106), то на каждом этапе будут формироваться группы наименьшего диаметра. Чтобы понять эффект применения правила минимума (107), рассмотрим цепь от точки х до точки у, т. е. такую последовательность экспериментальных точек z0, ..., Za, что x=Zo, y=z丸.Правило (107) минимизирует на каждом этапе длину цепи между любыми двумя точками группы. Таким образом, в обоих случаях процесс группирования выглядит раз умно. Правило максимума приводит к такой иерархии групп, при которой минимизируются диаметры, а правило минимума——к такой иерархии, при которой минимизируется расстояние между соседними точками цепи в пределах одной группы х).
Как и в случае 々 средних, иерархическая процедура Джонсона обычно проверяется примерами. Один из них — задача акустической неразборчивости. Испытуемых просили идентифицировать фонемы в плохих условиях слышимости. Результаты эксперимента представили в виде „матрицы неразборчивости**, элементами которой были вероятности того, что распознавалась фонема 厶 в то время как была произнесена фонема /. Матрица неразборчивости рассматривалась как матрица Я. Были получены следующие группы для одного уровня: глухие взрывные (/,力 々),звонкие взрывные (A d, g), глухие фрикативные (力 0, s, J*), звонкие фрикативные (и, Y,z, Е), носовые (т, п). Таким образом, этот алгоритм произвел Деление на группы, имеющие акустический смысл. Аналогично другие авторы получили разумные результаты в ряде приложений теории поведения.
В литературе эти правила часто называют соответственно алгоритмами «дальнего соседа» и «ближайшего соседа».——Прим, перев.
Глава 5
НЕЕВКЛИДОВЫ ПАРАЛЛЕЛЬНЫЕ ПРОЦЕДУРЫ;ПЕРСЕПТРОН
5・0・ Введение и исторические замечания
В этой главе мы рассмотрим несколько параллельных процедур распознавания образов и классификации, аналогичных изложенным в гл. 4, но без требования представлять объекты точками в евклидовом пространстве. Вместо этого будет предполагаться, что объекты описываются упорядоченным списком признаков, которыми они могут обладать или не обладать. Математически это означает, что будут обсуждаться процедуры классификации двоичных векторов. Двоичный вектор интерпретируется так: информация ,,/-й разряд содержит 1 (0)“ эквивалентна утверждению „присутствует (отсутствует) /-й признак".
Рассматриваемая проблема имеет интересную историю. Она заняла значительное место в вычислительных науках после того, как Фрэнк Розенблатт, психолог Корнеллской лаборатории аэронавтики, описал машинно-ориентированную систему распознавания образов и классификации, которую он назвал персептроном (Розенблатт, 1958, 1962)г). Персептрон был представлен частично как модель биологического распознавания образов, частично как предложение для построения ЭВМ специального назначения. Ученые ряда областей заинтересовались персептронами по разным причинам. Прежде всего надеялись на то, что анализ персептронов приведет к построению эффективных систем ввода зрительной информации для ЭВМ, причем это поддерживалось, безусловно, тем, что Розенблатт пользовался такими терминами, как „сетчатка** и „персептрон**). Предполагаемая схема работы системы показана на рис. 5.1. Рассматриваемая сцена должна была предъявляться анализатору призна-
ков, который регистрировал бы присутствие или отсутствие определенных компонент сцены. Сами сцены должны были относиться к интересующим классам, например к изображениям мужчин и женщин. Система распознавания образов затем обучалась бы классификации двоичных записей, поступавших от рассматриваемой сцены из некоторого конкретного класса.
Возможности персептронов сводились к формированию определенных типов правил классификации. Розенблатт предложил особый вариант модели параллельного распознавания образов „пандемониума*1 Селфриджа (1959), описанной кратко в гл. 3. Это устройство вычисляет фиксированное множество функций объекта, подлежащего классификации, и затем ——функцию, аргументами которой
Рис. 5.1. Основные шагиРис. 5.1. Основные шагираспознавания персептроном зрительных образов.распознавания персептроном зрительных образов.
Рис. 5.1. Основные шаги
Рис. 5.1. Основные шаги
распознавания персептроном зрительных образов.
распознавания персептроном зрительных образов.
служат результаты предыдущих вычислений. Значение последней функции представляет результат классификации. Если эта функция является тестом, выясняющим, превосходит ли взвешенная сумма значений исходных функций некоторый порог, то перед нами ——персептрон. Как мы увидим в дальнейшем, это ведет к точному математическому описанию.
На ранних этапах исследования персептронов было обнаружено, что применение в персептронах алгоритмов обучения дает удивительно мощные правила классификации. В силу этого много внимания было уделено „машинному обучению*', понимаемому в том смысле, как оно описано в конце гл. 4.
Существенный шаг в новом направлении был сделан Минским и Пейпертом (1969), которые заинтересовались тем, каков вид правил классификации, которые можно было бы получить, предполагая, что персептрон может в конечном счете обучиться любому правилу классификации, использующему взвешенную сумму простейших признаков. В сущности Минский и Пейперт заменили вопрос „Насколько быстро персептрон может обучиться чему-то?" вопросом „Чему персептрон можно научить?*4. Ньюэлл, рецензируя книгу Минского и Пейперта, заметил, что аналогичное различие проводят психологи между обучением и функционированием. Нельзя обучиться ни одному действию, если нет возможности его выполнить. Таким образом, понимание работы Минского и Пейперта необходимо
12G Гл. 5. Неевклидовы параллельные процедуры; персептрон каждому, кто имеет серьезные планы исследований в области распознавания образов. В последующих разделах этой главы мы приведем основные результаты Минского и Пейперта и попытаемся проиллюстрировать их метод анализа.
67・ Терминология
0. Проблемы, связанные с персептроном
По аналогии со зрением вход для персептрона определяется как упорядоченное множество двоичных элементов, совокупность которых называется сетчаткой R. Таким образом, R ——это набор переменных
R = (%i,…,无J (1)
Иногда удобно представлять элементы сетчатки R в виде матрицы. В этом случае они и обозначаются соответственно: х^ — переменная в i-й строке и /-м столбце. Читателю следует быть внимательным и отличать аргументы, зависимость которых от двумерного представления существенна, от аргументов, для которых данная интерпретация лишь удобна для иллюстрации.
Изображением X называется совокупность значений элементов множества R. Мы будем писать хь если z-й элемент равен 1, и хь если он равен 0. Например, некоторое изображение X можно записать в виде
X (*i,*2' *8,• • ♦,々,…•,Xj,*..,巧). (2)
Если сетчатка имеет г переменных, то существует 2Г возможных изображений. В задаче распознавания образов каждое из этих изображений относится точно к одному из с классов. Число возможных комбинаций растет довольно быстро, так как отнести изображения к классам можно * способами. Цель последующего анализа — определить, какие задачи из множества всех возможных в принципе можно решить различными типами персептронов.
5ЛЛ. Предикаты
Предикатом 屮 называется логическая функция, которая отображает множество изображений на множество {истина, ложь}. Можно представлять себе предикат как логическую функцию от г двоичных переменных. Однако во многих интересных случаях для вычисления значения 屮 можно использовать не все, а лишь некоторые точки (переменные) из R. В таких случаях 屮 называется частным преди-
катом, а множество переменных в R, которое надо исследовать для определения W(X)i), называется носителем S (屮)этого предиката.
Чтобы проиллюстрировать эти понятия, рассмотрим сетчатку, элементы которой расположены в виде квадрата 5x5 (рис. 5.2). Допустим, нас интересует предикат
屮(Х) = Х содержит на диагоналях только единицы. (3)
Элементы носителя предиката (3) обведены кружками. Очевидно, что W(X) принимает значение истина тогда и только тогда, когда эти элементы равны 1.
Рис. 5.2. Сетчатка, состоящая из 25 элементов, представлена в виде квадрата 5X5.
Классификация предикатов
Часто бывает полезно классифицировать предикаты по характеристикам их носителей.
Локальные предикаты: R интерпретируется как множество точек на плоскости. Предикат i|)называется локальным, если число точек в S (屮)мало 2).
Конъюнктивно локальные предикаты: предикат屮 называется конъюнктивно локальным, если существует такое мно-
丄)Это множество должно быть наименьшим.—— Прим, перев.
Примером локального предиката может служить предикат «выпуклость». Множество X точек плоскости называется выпуклым, если для всех точек р н q$ принадлежащих X, точки отрезка, соединяющего р в q, также принадлежат X. Например, круг и квадрат выпуклы, а полумесяц нет. Это определение легко обобщается на евклидовы пространства более высокой размерности. В трехмерном пространстве, например, шар выпуклый, а юр нет.
жествоФ={п(}, г = 1,..., р, локальных предикатов, что i|)(X) можно представить в виде их конъюнкции.
Порядок предиката: предикат 屮 имеет порядок п, если S (2) содержит п переменных.
Переход от логического выраженияк арифметическому и обратно
В дальнейшем нам понадобится переходить от логических выражений к арифметическим и обратно. Если логическое выражение входит в арифметическое, мы будем считать его значение равным 1, если его логическое значение есть истина, и 0 в противном случае. Например, если {仿}, i=l,.…р — множество предикатов, а {叫一множество вещественных чисел, то 2%в(Х)— сумма таких чисел аь что соответствующий предикат для изображения X принимает значение истина.
Аналогично мы будем переходить от логических выражений к арифметическим. Пусть [Q] означает, что Q надо приписать соответствующие арифметические значения. Тогда, согласно принятому соглашению, предикат можно интерпретировать как арифметическое выражение, принимающее значение 0 или 1.
Если f (X)—— арифметическое выражение, 0—постоянная, а r — арифметическое соотношение, то предикат можно записать в виде
屮(X) = [f(X) R0].
Линейные предикаты имеют вид
屮(Х)= £a,S(X)>6 •(4)
Выражение типа (4) определяет предикат 屮,линейный относительно множества Ф частных предикатов. Пусть L (Ф) обозначает множество всех таких предикатов.
Определение персептронов
Персептрон — это гипотетическое устройство, которое может вычислять все предикаты, линейные относительно фиксированного множества частных предикатов. Линейный предикат является правилом классификации, так как он относит любые изображения X либо к классу 0, либо к классу 1. Персептрон, следовательно, представляет собой „предельно мощное" устройство распознавания образов, формирующее линейные правила классификации. По тео-
5/ Терминология 129 реме о сходимости, доказанной в гл. 4, такое устройство распознавания образов существует. Для того чтобы яснее представить себе эту связь, будем считать предикаты из Ф координатными осями евклидова пространства признаков. Если точки, описываемые 2尸 возможными векторами, сгруппированы в линейно отделимые классы, то существует функция 屮,удовлетворяющая (4). Ее можно найти, определив подходящий весовой вектор {а/ по алгоритмам, изложенным в гл. 4.
Минский и Пейперт выделили классы примитивных предикатов, налагая ограничения на их носители, т. е. на множества точек в R, на которые „смотрити каждый примитивный предикат при классификации изображения. Затем они задались вопросом: „Какие возможны ограничения на персептрон и каковы будут ограничения на классификации?'* Это приводит нас к следующим определениям:
Персептрон называется ограниченным k-го порядка, если носители его предикатов и» € ① состоят не более чем из 々 точек. Интуитивно понятно, что порядок устройства указывает на степень сложности его элементарных операций.
Идея персептрона конечного порядка непосредственно связана с идеей персептрона fe-ro порядка. Если персептрон — конечного порядка, то существует такое число 论,что он ——ограниченный fe-ro порядка. На первый взгляд может показаться, что утверждение о конечном, но не фиксированном порядке персептрона очень слабое, но это не так. Предположим, что порядок некоторого персептрона так же велик, как и число точек в R. Это означает, что некоторый предикат Нг персептрона ”смотрит" на всю сетчатку. Поскольку на сложность предиката пь за исключением его порядка, нет ограничений, такой предикат и» мог бы просто быть отображением, показывающим для каждого из 2r возможных изображений X, должна ли соответствующая классификация быть 0 или 1. Если порядок персептрона меньше размера сетчатки, то у нас уже нет такого сильного частного предиката, и существование линейного предиката для каждой из 2紋 возможных классификаций не гарантировано. Обычно так и бывает. Нам нужен персептрон для формирования линейных комбинаций логических функций локальных свойств изображения X, чтобы осуществить классификацию, основанную на его глобальном свойстве. Для каких задач это возможно?
Предикат называется ограниченным по диаметру, если точки его носителя удалены друг от друга не более чем на фиксированное расстояние (здесь R интерпретируется как множество точек евклидовой плоскости).
Предикат еА называется маской, если он принимает значение истина тогда и только тогда, когда все точки конечного множества AsR являются единицами, т. е. находятся в „возбужденном** состоянии. Сама маска ——это линейный предикат порядка 1. Обозначим через N (S) число элементов множества S и определим Ф как
множество предикатов {%『=1} для всех Xi^A. Тогда маску еА можно определить так:
ел(Х)=[ S a,.(X)>N(X)-l].(5)
J
Размером маски назовем число элементов ее носителя.
5・2・ Основные теоремы для персептроновограниченного порядка
0. Замечания
Поскольку можно считать, что распознавание образов состоит из выделения признаков и приписывания им весов, важно представлять себе вид возможного распознавания при фиксированных ограничениях на сложность указанных этапов. Ограничение линейными весовыми функциями и ограничение на порядок персептрона задают соответственно систему выбора весов и сложность выделения признаков. Ранее мы отмечали, что конечный порядок необходим, чтобы процедура классификации не была отягощена чрезмерно сложным устройством выделения признаков. При анализе любого физического устройства классификации (например, зрительной системы) пришлось бы столкнуться с тем, что устройство выделения признаков должно быть связано с ограниченным числом сенсорных элементов, поэтому если устройство классификации является персептроном, то он должен быть персептроном некоторого k-ro порядка. Таким образом, изучение персептронов конечного порядка вызвано двумя причинами. Интересны сами теоремы, так как они указывают ограничения возможностей линейных машин, которые можно в принципе построить. Интересны и их доказательства, так как они иллюстрируют применение формальных методов анализа возможностей систем искусственного интеллекта.
Первые две теоремы мы изложим подробно, чтобы продемонстрировать технику доказательств, а также потому, что из них строятся другие теоремы. Затем в общих чертах обсудим еще несколько теорем.
Теорема о масках(теорема о положительной нормальной форме)
Каждый предикат 屮 линеен относительно множества всех масок.
Замечание. Это очень сильное утверждение. Если 屮 W L (Ф), где Ф — какое-то множество масок, то порядок предиката 屮 определяется размером наибольшей маски из Ф. В теореме также утверждается, что любую классификацию можно реализовать линейным
предикатом, если в Ф содержатся все маски и нет других предикатов.
Доказательство. Мы знаем, что 屮 ——булева функция логических переменных х1э..., хг из R. Можно записать любую булеву функцию на множестве {勺} логических переменных в дизъюнктивной нормальной форме
屮(X) = CJX)U …UG(X),(6)
где Cj(X), j=l,・.” fe,—— логические произведения г членов. Так как все эти произведения различны, то
[&(Х) = 1] = ©*(Х)нО],/#=/*; /,『=1 …•,瓦(7)
Это означает, что самое большее одно из логических произведений будет истинным. Следовательно,屮 можно записать в линейной форме
2(х)= N|C/(X)〉0 .(8)
Если все Q можно представить в виде линейной комбинации масок» то 2(Х) будет линейной комбинацией линейных комбинаций Н, следовательно, линейной на множестве масок. Итак, наша следующая задача —— показать, что все Q обладают этим свойством.
Любое логическое произведение Q можно записать как произведение переменных и их отрицаний, скажем:
С/ (X)=尤I% • • • х$ - //$+/$+2巧*(9)
Пусть xs — первое отрицание, тогда (9) можно представить в виде
С/(X) = $产$勿(1。)
где
$/ = %l%2 *♦•%$ — £,(11)
Cj = %$+]_%$+? • • • ^r*(12)
Заметим, что в $」входят только сами переменные, а С/ может содержать как переменные, так и их отрицания. Очевидные алгебраические преобразования дают
С/ (X) = $产驚/ = $」(1 一尤§) С/ = $』С/—$/$ 办(13)
Мы получили & (X) в виде линейной комбинации двух логических произведений, одно из которых содержит /, а другое нет. Каждое преобразование типа (13) устраняет одно отрицание. Если проделать это со всеми & и всеми выведенными из них логическими произведениями, а затем со всеми последующими произведениями и т. д., то в итоге 屮(X) будет линейной комбинацией логических произведений, содержащих только переменные (а не их отрицания).
Такие логические произведения как раз и являются масками. Теорема доказана.
Иллюстрация. Пусть R состоит из трех точек xlt х2, х8, a W(X) — предикат „X содержит нечетное число точек из 欠".Этот предикат принимает значение „истина**, если все точки из R или только одна принадлежат Х・ Следовательно, W(X) можно записать как
屮(X) = [(х//з + 五/% + х^х3 + Х/2Х3) > 0].(14)
Последовательно применим (13) к (14):
屮(X) = f ((Х-^Хз XjXgXg) +(Х/s 尤1%2%額)+
+(X2x3—%*/) + ///) > 0]=.
=[(%—%/J — (XiX2 —力尤/J +*
+ ((尤2—%2尤J 一 (X1X2 一ХЛХ3)+
+ (/ — Х2х3)—(力/ — Х^гХз) + %%/)〉0] н u [%i 王%2 +%з—2%/z—2xtxs—2x2x3 +
+ 4хгх2х3) > 0].(15)
Это линейный предикат на множестве масок.
Представление предиката в виде линейной комбинации масок называется его положительной нормальной формой. Можно показать, что положительная нормальная форма единственна; кроме того, предикат имеет порядок 々 тогда и только тогда, когда наибольшая маска с ненулевым коэффициентом в положительной нормальной форме имеет размер k (Минский и Пейперт, 1969, теоремы 1.5.2 и 1.5.3). Если эта маска не зависит от размера сетчатки R, то предикат имеет конечный порядок.
Теорема об инвариантности относительно группы
На наиболее абстрактном уровне персептрон представляет собой устройство для классификации упорядоченных множеств переменных. Если упорядочение, определяющее сетчатку R, произвольно, то классификации должны быть инвариантными относительно перестановок элементов из R. Рассмотрим множество образов X и множество преобразований G={g} сетчатки R Каждое преобразование отображает множество элементов сетчатки в себя. Прежде всего нас интересует, какие множества образов может распознавать персептрон, если любое преобразование из G так перестраивает R, что X и g(X) принадлежат одному и тому же классу для всех X W X. Иными словами, мы хотим знать, может ли персептрон распознавать класс образов, отличительные признаки которых инвариантны относительно G. С философской точки зрения это интересно потому, что математически существенными свойствами клас-
са принято считать свойства, инвариантные относительно некоторого важного множества преобразований. На практике многие задачи распознавания образов требуют способности обнаруживать инвариантность относительно определенных преобразований, таких, как перенос и поворот. Наконец, если представить себе персептрон как модель зрительной системы, к чему нас подталкивает используемая терминология, то психология также свидетельствует о том, что определенные типы преобразований не вызывают трудностей. Например, люди довольно быстро приспосабливаются к видимому миру, перевернутому специальными очками; это указывает на инвариантность зрительных классификаций относительно такого отражения видимого мира.
Определения
Пусть G — конечное множество преобразований сетчатки R 1). Каждое преобразование g W G отображает элемент хг € ^ в некоторый элемент %/ €g(R)・ Например, пусть g — обращение порядка элементов в R; тогда если R^(xlt х2, х3), то g(R)=(尤額,х2,修)・
Множество Ф предикатов на R замкнуто относительно G. Это означает, что для каждого предиката eg① н каждого преобразования gW© существует такой предикат а7 毛①,что
о(Х)=(/倉(X» (16)
Для интерпретации (16) полезно заметить, что, если значение о (X) задано (истина или ложь), то найдется такой предикат с', что если для перестройки сетчатки R применялось преобразование g, то значение d (g(X)) совпадает с заданным значением с(Х).
Классом эквивалентности предиката eg① относительно группы G называется множество {Cg;}, giWG, удовлетворяющее (16) при g=gf. Формально предикат с' принадлежит классу эквивалентности предиката с тогда и только тогда, когда
(3g W G)(VX W X) (a (g (X)) н『(Х))・ (17) В этом случае мы будем писать 0'=00.
Покажем, что отношение „о" находится в классе эквивалентности сг“ является отношением эквивалентности, т. е. что оно рефлексивно, симметрично и транзитивно. Рефлексивность следует из существования в группе G единичного элемента, симметричность —— Обратного, а транзитивность — из замкнутости группы относительно умножения.
Пример. На рис. 5.3 изображена сетчатка R в виде (5 X 5)- матрицы. Предположим, что Ф — множество детекторов вертикальных полос длины два. В матричных обозначениях R будет мно-
】)В дальнейшем предполагается, что G — группа.—/7рыл«. ред.
жеством {хгу}, г, /=1, ..,, 5, а любой предикат с^ из Ф — это логи- ческое произведение
с* =尤〃%f+if у» i = 1, ..., 4, j=l,...,5. (18) Пусть G — множество преобразований, отображающих столбцы в столбцы. Любое преобразование ^ € G сдвинет поле для 仃丸 вправо или влево (см. рис. 5.3 для детекторов вертикальных полос в строках 3 и 4). Классом эквивалентности заданного предиката а^ будет множество (а*) предикатов с одинаковым номером строки (i), так
Рис. 5.3. Пример класса эквивалентности. Предикат „Существует вертикальная полоса длины два в столбце I и строках 3 и 4" имеет класс эквиваленгностн (обо- значенный прямоугольниками) относительно множества преобразований, пере- ставлиющих столбцы.Рис. 5.3. Пример класса эквивалентности. Предикат „Существует вертикальная полоса длины два в столбце I и строках 3 и 4" имеет класс эквиваленгностн (обо- значенный прямоугольниками) относительно множества преобразований, пере- ставлиющих столбцы.
Рис. 5.3. Пример класса эквивалентности. Предикат „Существует вертикальная полоса длины два в столбце I и строках 3 и 4" имеет класс эквиваленгностн (обо- значенный прямоугольниками) относительно множества преобразований, пере- ставлиющих столбцы.
Рис. 5.3. Пример класса эквивалентности. Предикат „Существует вертикальная полоса длины два в столбце I и строках 3 и 4" имеет класс эквиваленгностн (обо- значенный прямоугольниками) относительно множества преобразований, пере- ставлиющих столбцы.
как каждое допускаемое преобразование сдвигает носитель детектора вправо или влево, а не вверх или вниз.
Теорема об инвариантности относительно группы. Если предикат 2 принадлежит L (①)и инвариантен относительно G (т. е. 屮(%)=2 (g (х)) для всех g W G), то его можно представить в виде
2 (X) = £ Mf(X)〉。‘09)
[0岸①.
где 氏=卩厶 если Of ^G^j,
Доказательство. Так как i|)- линейный предикат, то его можно представить в виде
W (X)=[工 afli (X)〉,(20)
где 他} — некоторое множество вещественных чисел.
Поскольку множество Ф замкнуто относительно G, любое преобразование gWG определяет соответствие с»сс ^J). Для всех X и g
” (g (X))=久⑺(X).(21)
Учитывая произвол выбора индексов в Ф, отметим, что множест- ваФ~{оь ..., с丸} иФ^= {o^(d> • • •» %(船} отличаются лишь порядком элементов. Таким образом, можно считать, что любое преобразование g задает некоторое упорядочение на Ф. Поскольку суммы не зависят от порядка слагаемых, ясно, что
£ а{а{ (X) = £ Qg(i)%⑺(X).(22)
Предположим теперь, что р(Х)=1 для некоторого X. Так как предикат 2 инвариантен относительно группы G, то для g £ G обратный элемент g*1 также принадлежит G, и должно выполняться соотношение・
N %力%⑺(gT (X)) > 0.(23)
Применим (21) к 久⑺(g-"X)):
%“)(gT (X)) = Og-J (g(o)(X) = О/ (X)・(24)
Подставим (24) в (23):
Wag〃・M(X)>0.(25)
Это справедливо для всех g € G. Суммирование (25) по всем g дает положительное число
且盲宫 ag№i(X)〉0.(26)
Меняя порядок суммирования, получаем
Z(为%"о,(Х)>0.(27)
Теперь положим
Р/ — ^^agay(28)
: J) Здесь, исходя из определения (17), следует интерпретировать g(Q как ,J, для которого а;=а и Gj=d%
Если f и / — номера предикатов одного и того же класса эквивалентности, то i=g(j)и / =g,(0 для некоторых g н g‘. В более общем виде,
2 %(分=2。贝加(29)
gW Gg€ G
если / и / — номера предикатов из одного и того же класса эквивалентности. Таким образом, мы показали, что 0严§户
В нашем доказательстве предполагалось, что 屮(X)=L Те же рассуждения можно было провести для случая ^ (Х)==0, заменив > на《・ Предполагая, что существует некоторое линейное представление для 屮,мы показали, что существует представление, в котором предикаты из одного и того же класса эквивалентности имеют одинаковые коэффициенты.
Следствие 1. Предикат порядка 阮 инвариантный относительно группы, можно представить линейным предикатом на множестве Ф* масок размера《財 6 котором маски {одного и того же размера), отображаемые друг s друга некоторым преобразованием g С G, имеют одинаковые коэффициенты.
Следствие вытекает из теоремы о масках, которая устанавливает существование представления 屮 на 厶(①*), и из теоремы об инвариантности относительно группы, примененной к этому представлению.
Следствие 2. Пусть множество Ф разбито на классы эквивалент^ ностиФ19...,Фтотносительно G.Линейный предикат^, инвариантный относительно группа G, можно представить 6 виде
■ k-
屮(Х)= £&N,.(X)>0 ,(30)
L』J
где №(X) — число предикатов С/ в Фь для которых с“Х)=1.
Для доказательства достаточно рассмотреть конструктивное определение ». Для любого X точно № предикатов а; ^Фг будут „возбуждены**.
Это следствие вначале может показаться туманным, но оно весьма полезно, так как устанавливает точное требование на каждый из классов эквивалентности. Если некоторый предикат определяет классы эквивалентности, не обладающие этим свойством, то он не может быть линейным на Ф.
5.3, Другие теоремы для персептроновограниченного порядка
0. Считающие предикаты
Пусть G будет группой всех перестановок элементов сетчатки R так что G содержит все отображения из R в R. Пусть |Х| ——число точек сетчатки R, которые для изображения X находятся в „воз- бужденном** состоянии ( т. е. число переменных без черточек сверху в представлении X). Единственными предикатами первого порядка, инвариантными относительно G, являются считающие предикаты
2(Х) = [|Х|> 矶(31)
^W = [\X\^m](32)
и их отрицания.
Интуитивное соображение в пользу этой теоремы о считающих предикатах. Предикат первого порядка —— это просто проверка взвешенной суммы точек сетчатки, т. е.
屮(Х)=[Е〃/修 >6].(33)
Поскольку любую точку х; можно отобразить в любую другую точку Xj некоторым преобразованием g из весьма широкой группы преобразований О, то все точки принадлежат одному и тому же классу эквивалентности размера Ni и должны иметь один и тот же вес. Следовательно, любой предикат, инвариантный относительно G, допускает представление
2(Х)=[а|Х>6],(34)
или, что эквивалентно,
i|)(X) = [|X|>4]=[|X|>m] ,(35)
где т=в/а. Заметим, что здесь 0 может считаться коэффициентом маски нулевого размера (константы) линейного предиката- Поскольку ]Х| — целое число, порог 0 можно уточнять.
Замечание. Персептрон порядка 1 представляет собой в некотором смысле „наиболее общую" обучающуюся машину. Ее конструктор не встроил в нее никаких предубеждений, описав Ф, поскольку он просто предъявляет персептрону картинки, воспринимаемые сетчаткой R, вместе с указанием их класса и дает возможность процедуре сходимости определить, что же в них существенно. В теореме утверждается, что только тогда, когда это сделано (классификация при этом должна быть инвариантна относительно лю-
бого преобразования), персептрон может сформировать правило классификации, которое отделит изображения X】н Х2 друг от друга, исходя из их площадей. Является этот результат ободряющим или удручающим, удивительным или неудивительным, зависит от вашей точки зрения. В одном из ранних исследований персептронов было обнаружено, что персептроны первого порядка способны обучаться достаточно точному и интересному разделению объектов. Для иллюстрации способностей персептронов часто использовались рукописные буквы или цифры. Фактически персептрон классифицировал вариант картинки, закодированный цифрами. Тонкие различия в размерах букв и цифр приводили к разным числам возбужденных элементов в сетчатке, и, значит, можно было применить считающий предикат. Теорема о сходимости (гл. 4) гарантирует, что такой предикат можно найти.
Следует подчеркнуть, что считающие персептроны первого порядка вводятся, только когда требуется инвариантность относительно всех возможных преобразований сетчатки. Это необычайно сильное ограничение. Когда оно ослаблено, могут решаться менее тривиальные задачи.
Четность
Сформулируем соответствующую теорему без доказательства. Предикат
■ф(Х) = число точек в X нечетно (36)
нельзя найти персептроном порядка, меньшего чем размер сетчат^ ки. И если сетчатку можно увеличить неограниченно, то необходимый персептрон не будет конечного порядка. (Напомним, что в пре* дикате „четность4*, рассматриваемом для иллюстрации теоремы о положительной нормальной форме, одна из масок имела размер 3, равный размеру сетчатки.)
Четность — интересное математическое понятие, поэтому факт, что персептрон не может классифицировать по четности, наводит на мысль, что персептроны не обладают некоторыми свойствами, которыми должна была бы обладать мыслящая машина. Можно построить очень простое устройство последовательного распознавания образов, которое будет классифицировать по четности. Этой машине требуются две компоненты: точечное устройство считывания и однобитовая память. Машина начинает работать с записи в память нуля (четное число). Затем она считывает сетчатку R и меняет состояние памяти всякий раз, когда встречает элемент сетчатки R в „возбужденном** состоянии. В конце считывания состояние памяти и будет соответствовать классификации изображения.
Булевы комбинации
Если представлять себе предикат как элементарное свойство объектов, может возникнуть желание построить другой предикат, который будет способен классифицировать объекты по булевой комбинации их присутствующих или отсутствующих примитивных свойств. Вспомним классификации, которые делаются в повседневной жизни, например, юристами и медиками. Скажем, правом голоса в некотором городе США обладает человек, который есть (гражданин США) и (законный постоянный житель)"(咒е обвиненный в опреде- ленных уголовных преступлениях, влекущих за собой потерю права голоса). Много исследований в области психологии посвящены тому, как человек учится делать и делает такие классификации. Оказывается, что человеку удивительно трудно обучиться на приме* рах даже довольно простым комбинаторным правилам (Боурн, 1965). Каковы пределы персептрона в обучении булевым класси- фикациям?
Булевы функции двух переменных могут определяться персептронами малого порядка. Например, логическое произведение двух переменных (无1•工?) можно представить линейным предикатом
2(Х)=4(%1+%2)》2]2(Х)=4(%1+%2)》2](37)(37)
2(Х)=4(%1+%2)》2]
2(Х)=4(%1+%2)》2]
(37)
(37)
первого порядка. На самом деле все 16 возможных булевых функ« ций двух переменных можно представить линейным предикатом первого порядка, кроме предиката „исключающее ил^ (尤工 или х2> но не оба) и его дополнения „эквивалентность*1 (%i тогда и только тогда, когда х2)- Интересно, что эти предикаты наиболее трудно (из всех булевых предикатов) распознаются человеком (Хант, Марин и Стоун, 1966; Нейссер и Уин, 1962).
Следующий шаг очевиден; это вопрос о булевых функциях с более сложными примитивными предикатами. Вот два результата — один ободряющий, другой удручающий.
Булевы комбинации предикатов „исключающее или** и „эквива- лентность". Если pi "屮纟—предикаты порядка 々i " ^2 соответственно, то предикаты 2。=(如 ^史 中?,咒о не о6а) u 中6=仲1 тогда а только тогда, когда 屮?) оба имеют порядок ^*^ (^1+^2).
Булева теорема и/или. Существуют такие предикаты 屮 1 и 力2 первого порядка, что предикаты 屮@= (5 〃 屮?)以 必=(屯 財〃 5)総 имеют конечного порядка.
Эти теоремы устанавливают, что персептрон конечного порядка способен классифицировать выражения с исключающей дизъюнкцией или эквивалентностью двух классификаций, разрешимых персептроном, но не всегда может решить задачу, связанную с конъюнкцией или дизъюнкцией двух разрешимых им задач.
5・3・3・ Геометрические классы
Многие проекты в машинном распознавании образов вызваны желанием классифицировать двумерные изображения того или иного вида. Для того чтобы осуществить такую классификацию, перспе- трон должен быть способен выбрать для классификации поддающиеся определению геометрические свойства изображений. Мы видели, что прн очень общем требовании инвариантности свойств относительно группы всех перестановок в R единственным геометрическим свойством, на которое персептрон может реагировать, явля-
Рис. 5.4. Геометрическая фигура, содержащая три компоненты: Я не имеет дыр, В имеет одну дыру, С — две дыры.
ется площадь, или число „возбужденных44 точек в сетчатке. Более реальное требование — классификация персептроном изображения на основе топологически инвариантных предикатов. Рассмотрим какой-нибудь рисунок на плоскости. Он состоит из одной или нескольких компонент, каждая из которых может содержать дыру. На рис. 5.4 изображена фигура, содержащая три компоненты: без дыры, с одной дырой и с двумя дырами. Топологическим называется любое преобразование плоскости, не меняющее числа компонент (нли соотношения „внутри — снаружи**). Преобразование рис. 5.4, показанное на рис. 5.5,а» является топологическим, а на рис. 5.5,6 нет. Число Эйлера фигуры X определяется как
£(Х) = число компонент в X—число дыр в X. (38)
Минский н Пейперт разработали метод приведения произвольной фигуры к каноническому виду, зависящему только от числа Эйлера первоначальной фигуры, В этом методе применяются только то-
a
Рис 5.5. Преобразования рис. 5.4; а — гоп од оги ч еское;6 — нетопологическое.
a
Рис. 5.6. Связная (а) и несвязная (б) фигуры с одним и тем же числом Эйлера. „Число компонент минус число дыр равно нулю44.
пологические преобразования. Топологически инвариантный персептрон, способный различить фигуры Хг и Х2, также должен быть способен различить их топологически эквивалентные канонические формы. Таким образом, любое свойство, на котором основана классификация, должно быть функцией числа Эйлера.
Это условие оказывается удивительно слабым. Предикат
р(Х)=Х — связная фигура (39)
нельзя вычислить персептроном конечного порядка. Это вытекает из инвариантности числа Эйлера относительно топологических преобразований. В самом деле, можно построить как несвязные, так и связные фигуры с одним и тем же числом Эйлера (рис. 5.6).
5.3.4. Предикаты малого порядка
Перенесем наш анализ с персептронов конечного порядка и всех возможных преобразований на персептроны „разумных разме- ров“ и „разумные преобразования4*. Особый интерес представляют преобразование, сохраняющее положение, и перенос. Если в качестве сетчатки взять всю плоскость, то естественным было бы желание уметь распознавать обычные геометрические фигуры (треугольники, прямоугольники, окружности) без относительно их положения и ориентации. Можно было бы также пожелать научиться распознавать их независимо от размера, так что в некоторых случаях должны допускаться сжатие и растяжение.
На персептронах первого порядка можно построить лишь весьма ограниченные предикаты, инвариантные относительно переноса. Это связано с тем, что перенос помещает все точки сетчатки в один и тот же класс эквивалентности, так что применимы рассуждения, аналогичные тем, которые использовались для доказательства инвариантности размера (см. обсуждение считающих предикатов).
Если заданы две фигуры, то можно выяснить, найдется ли для их различения персептрон второго порядка, не строя сам персептрон. Для этого достаточно вычислить одно свойство, называемое спектром фигуры. Представим любую точку x^R как точку на плоскости; следовательно, она определяется значениями ее двух коор
динат. Для любых двух точек хъ х2 в R вектором разности х±——х2 соответствующих векторов х】и х2 называется вектор [(х-координата точки хг) — (х*координата точки х2), (у-координата точки %】)—— ((/-координата точки х2)]. Две маски 修也 и 后%; размера 2 эквивалентны относительно переноса тогда и только тогда, когда
(%—/) = 士(*;—£). (40)
Это очевидно. Вектор разности выражает положение точки х2 относительно %i, а перенос помещает 修 в любом месте на плоскости.
Необходимо допустить для вектора разности смену знака, чтобы указать на то, что хгх2 и х2хх — одна и та же маска. Наконец, чтобы быть последовательными, надо трактовать одиночную точку (маску размера 2) как .двухточечную44 маску (x/J с вектором разности (О, 0).
Пусть пу (X) будет числом одиночных точек или пар точек в X с вектором разности v. Спектром разности изображения X назовем список {nv (X)} числа пар точек с данным вектором разности v в X. Это понятие иллюстрируется на рис. 5.7 двумя изображениями с одинаковым спектром. Соответствующий спектр приведен в табл. 5.1.
XXXXXXXXх
X
XX
X
X
XX
X
хх
X
Рис. 5,7. Два изображения с одинаковым спектром.
Спектр разности изображений иа рис. 5.7
Таблица 5.7
Компоненты
Описания
Вектор разности
Число пекторов
X
Точка
(0, 0)
4
XX
Горизонтальная прямая
(1, 0)
1
X
X
Вертикальная прямая
(0, 1)
2
Xх
Диагональ справа налево
(-1, —1)
]
Х><
Диагональ слева направо
(1. -i)
1
Персептрон второго порядка может вырабатывать только такие инвариантные относительно переноса предикаты, которые помещают все изображения с одинаковым спектром в один класс. Дока- зать это утверждение можно, непосредственно применяя основные теоремы (разд. 5.2). По теореме о масках предикат, который нужно выработать, можно представить линейным предикатом на множестве масок. По теореме об инвариантности относительно группы все маски с вектором разности v должны иметь од! и и те же коэффициент ты. Следовательно, линейное различие между изображениями X* н Ха возможно только тогда, когда nv(X^=^ny (Х2) по крайней мере для одного вектора разности v.
Если возможности персептронов второго порядка настолько ог- раничены. то что можно сказать о персептронах лишь чуть более
высокого порядка? Персептроны порядка 3 и 4 могут решать интересные задачи классификации образов, например различить выпуклые и невыпуклые фигуры. Основная проблема, однако, состоит в том, что не всегда можно построить персептроны ограниченного порядка для распознавания компоненты изображения в контексте других компонент. Например, предикат „X — квадрат44 имеет порядок 2, но предикат ”X содержит квадрат в качестве одной из компо- нент" не имеет конечного порядка. Это серьезное ограничение на персептроны, поскольку некоторые важные проблемы распознавания образов, такие, как распознавание предметов на аэрофотоснимках, требуют распознавания с учетом контекста.
6・4・ Возможности персептронов, ограниченныхпо диаметру
Персептроны, ограниченные по диаметру, обладают, вообще говоря, гораздо меньшими возможностями, чем персептроны конечного порядка. Это вряд ли удивительно, поскольку требование ограниченности по диаметру более сильное. Персептрон, ограниченный по диаметру, можно построить для распознавания любой формы, при условии что она всегда имеет фиксированные размер и расположение на сетчатке. Это означает, что практическое распознавание образов с помощью персептрона, ограниченного по диаметру, требует, чтобы сначала изображение было сцентрировано на сетчатке и увеличение выбрано стандартным. Объединение указанного препроцессора н устройства классификации не может считаться персептроном, хотя такое объединение довольно легко построить. Персептроны, ограниченные по диаметру, не могут также распознавать топологические инварианты, кроме предиката „число Эйлера превышает (или не превышает) фиксированное целое число**. Это, разумеется, более сильное ограничение, чем соответствующее ограничение для персептронов конечного порядка.
5・6・ Важность анализа персептронов
Математическая структура, которую Минский и Пейперт определили как персептрон, более ограничена, чем ряд устройств, описанных Розенблаттом (1958, 1962) при введении этого термина. На рис. 5.8 представлена блок-схема машины, соответствующей определению Минского — Пейперта. Как и в первоначальном варианте Розенблатта, изображен однослойный, с последовательно связанными элементами персептрон. Возможны более сложные персептроны (в смысле Розенблатта). Две интересные конфигурации показаны на рис. 5.9. Одна из них — многослойное устройство, в котором предикаты первого слоя сами являются персептронами первого порядка. Другая представляет собой персептрон с петлями, или „персептрон
СетчаткаСетчаткаСумматор и пороговое устройствоСумматор и пороговое устройство
Сетчатка
Сетчатка
Сумматор и пороговое устройство
Сумматор и пороговое устройство
Рис, &8. Схема персептрона, как он описан Минским и Пейпертом.
аа
а
а
5*9. Два более сложных персептрона; а — многослойный персептрон「а%6ы;
6 — персептрон с обратной связью.
с обратной связью". В нем результат классификации вводимого изображения в момент £ подается обратно на сетчатку так, что она становится частью изображения, предъявляемого в момент £+1. Анализ Минского ——Пейперта применим только к устройствам, соответствующим персептрону, схематически изображенному на рис. 5.8. Нет причин, почему бы нельзя было попробовать применить подобный анализ к более экзотическим персептронам (рис. 5.9). Вероятно, это окажется тяжелой задачей, в некоторых случаях невозможной, зато можно будет получить полезные результаты. Учитывая, как формальный анализ Минского и Пейперта охладил, если не сказать сильнее, огромный энтузиазм, вызванный ранними исследованиями персептронов, кажется целесообразным, чтобы в практическом распознавании образов построению многослойных перекрестных персептронов с обратной связью предшествовал серьезный анализ. Конечно, поддерживать дальнейшие обязательные теоретические разработки перед практическим использованием не значит поддерживать прекращение исследований в данной области!
Хотя результаты Минского и Пейперта справедливы в некотором смысле для более узкой области, чем область возможных персептронов, значение их в некотором смысле шире. Большинство теорем, доказанных Минским и Пейпертом, касается существования или несуществования линейно разделяющих решений специфических задач классификации без учета того, как такие решения можно получить. Таким образом, выводы с тем же успехом можно отнести к статистическим процедурам, как и к обучающимся машинам. Особый интерес представляет сравнение линейных процедур классификации с классификацией плоских фигур. Существует много задач классификации, в которых данные представлены в виде плоских фигур. Примером тому может служить любое приложение, связанное с отбором фотографий. Использование геометрических свойств типа связности или наличия одного типа компонент изображения в контексте других, вероятно, неизбежно при решении такой задачи, Любому исследователю, столкнувшемуся с проблемой классификации плоских фигур, следует разобраться, какие из результатов Минского и Пейперта имеют к ней отношение.
Третье общее соображение по поводу анализа персептронов: эта работа может возвестить нозый подход к исследованию распознз' вания образов. С 1950 г. до середины 60-х годов большинство иссле* дований, посвященных устройствам распознавания образов, носило строго экспериментальный характер. Если кто-то придумывал ннте・ ресный метод распознавания образов, он строил соответствующую машину (обычно программными способами ) и проверял его возможности на примерах. Один из главных тезисов Минского и Пейперта состоит в том, что нужен логический анализ, если мы собираемся утверждать, что мы „знаем**, что определенный метод решит или не решит рассматриваемый класс задач.
Некоторые из результатов Минского и Пейперта применимы к параллельным процессам вообще. Если появляется ограничение на персептрон, связанное с тем, что наличие или отсутствие признака А может означать разное в зависимости от наличия или отсутствия признака В, вероятно, соответствующая задача лучше решается последовательной, нежели параллельной машиной. Задачи этого типа, по-видимому, наиболее часто встречаются при анализе сложных зрительных сцен, где довольно очевидные последовательные алгоритмы могут решить проблему, которая по силам только очень большим параллельным системам (см. Гузман (1968) и обсуждение соответствующей работы в части IV этой книги).
Глава 6
ПОСЛЕДОВАТЕЛЬНОЕРАСПОЗНАВАНИЕ ОБРАЗОВ
6・0・ Последовательная классификация
Можно считать, что алгоритмы параллельной классификации образов предназначаются для машин типа изображенной на рис. 6.1. Классифицируемый объект предъявляется на входы множества из п детекторов признаков, которые независимо и параллельно вычисляют 几 измерений, определяющих вектор описания х=(Xi, .,., хп). Измерениям приписываются веса {叫 и определяется взвешенная сумма. Если сумма превышает некоторый порог 0, то объект счита* ется членом класса 1; в противном случае объект считается членом класса 0. Рассмотрим машину иного типа, изображенную на рис. 6.2,——машину последовательной классификации образов. Это устройство также содержит детекторы признаков, однако они связаны друг с другом более сложным образом. Сначала ко всем объектам применяется детектор признаков 1 для определения измерения хи которое в свою очередь поступает на вход правила переключения, определяющего, в какой из нескольких возможных интервалов попадает значение %「(Или можно считать, что интервал изменений 修 ограничивается некоторым множеством целых чисел, так что правило переключения просто отмечает значение соответствующего измерения,) В зависимости от результата переключения для произведения следуквдего измерения будет выбран один из нескольких детекторов признаков. Правило переключения будет применено ко второму измерению для того, чтобы выбрать третье, и т. д. до тех пор, пока не будет получено достаточно информации для проведения классификации. Последовательную машину можно описать, задав правило- переключения и расположения каждого детектора признаков в дереве тестов. Ясно, что последовательная машина сложнее параллельной, которую можно описать, просто задав весовой вектор а= (а】,...,а〃)・ Кроме того, она мощнее параллельных машин, поскольку для любой параллельной процедуры клас-
Рис 6.1. Машина параллельной классификации образов.
Рис, 6・2・ Машина последовательной классификации образов.
сификации, которую можно таким образом описать, существует эквивалентная последовательн а я машина, использующая те же самые прнзнакн 】),но в то же время найдутся последовательные процедуры, не имеющие параллельных аналогов. Кроме того, последовательная машина минимизирует число признаков, для которых необходимо произвести измерение прежде, чем закончится классификация. Недостатки последовательной машины заключаются в ее большей сложности, соответственно большей сложности алгоритмов на этапе распознавания образов и в большем времени, необходимом для проведения последовательной классификации, поскольку признаки оцениваются последовательно, а не параллельно ).
В этой главе мы будем заниматься последовательными классификациями образов и процедурами распознавания. Если не оговаривается особо, то каждое измерение 修 вектора признаков будет целым числом 1, ..., vit где 办 обычно весьма мало. Значениями признаков будут произвольные символы, а не числа. В общем случае будем считать, что существует корректное правило R*, которое применялось для отнесения к классам всех элементов из множества возможных описаний объектов. (Допускается вероятностное отнесение к классам). Мы будем рассматривать алгоритмы, на вход которых поступает множество 5 описаний и имен классов объектов и которые на основании этого множества выводят правило R, являющееся приближением правила R*. Степень приближения R к R* будет определена сравнением классификаций, проведенных правилами R и R* на пространстве всех возможных описаний объектов.
Хотя последовательное распознавание образов в сущности простой процесс, для его описания нам потребуется громоздкие обозначения. Мы боимся „за деревьями не увидеть лесаи, поэтому сначала приведем наглядный пример. В качестве классифицируемых объектов возьмем четверки букв, порождаемые следующими правилами:
Первой буквой должна быть Н, G, Е или W.
Второй буквой должна быть X, К, L или S.
Третьей буквой должна быть Q, В, F или Т. Четвертой буквой должна быть A, R, М или Z.
Является ли пербая бунба G ?
Ряс 6.3. Пример последовательной классификации четверок букв.
Мы выбрали некоторое правило R*, которое относит каждую из 256 (=44) возможных четырехбуквенных последовательностей к классу 1 или 0. Вот некоторые из классификаций этого правила:
Объекты класса 0
GKFA GLFR HSTA GLFM WLBR GSFZОбъекты класса /
GKQA GSQZ HKFM EXQM HSTM GLTM GXBR WLBM Каково это правило R*? Читателю предлагается самостоятельно попытаться ответить на этот вопрос, прежде чем обратиться к рис, 6.3, где отражено примененное правило. При решении задачи постарайтесь отметить ход ваших рассуждений, приведших к ответу.
На самом деле к той же классификации приводят и другие правила. Обычно именно так и бывает. Если S — собственное подмножество множества всех описаний U, то несколько правил дадут одинаковые классификации для объектов из S и различные — для объектов из U—S). Нет причины выделять из них какое-то одно, если у нас
нет дополнительного критерия для нахождения хорошего правила кроме требования, что оно должно верно классифицировать известные примеры. Нетрудно предложить разумный критерий, такой, как минимизация числа используемых признаков или же минимизация длины самого длинного пути на графе.
6・7・ Определения 〃 обозначения
Прежде всего пересмотрим наши обозначения и введем определения, которые понадобятся нам для обсуждаемой проблемы.
Объекты и описания
Объектом считается абстрактный элемент, которому ставится в соответствие описание. Описание — это вектор х==(尤力...,хт), где Xi, ..., хт ——целые числа, причем i-я компонента ——значение 1-го измерения, которое может быть любым целым числом от 1 до 以.
Пространство описаний
D ——множество всех возможных описаний, N ——число элементов в D:
^ = Пv^.⑴
Классы
Существует конечное множество {&}, /=1 … ・,с, классов, таких, что каждый объект принадлежит точно одному из них. Класс определяет распределение вероятностей Рг (х|С;) на множестве возможных описаний. Предполагается, что любые два класса всегда различны, т. е. для любых двух классов С( и С» найдется по крайней мере один такой вектор описания х€°, что
Рг(х|&)*Рг(х|&).(2)
Последовательности наблюдений
Стоит указать мотивы, приведшие нас к выбранным ниже определениям. Предположим, что объект подвергается последовательной процедуре классификации, или проходит по дереву решений, подобному тому, что изображено на рис. 6. 3. По мере прохождения объек- имена классов. По определению каждый из них представляет собой правило клас- сификации< Поскольку их всего kN, то kN~n правил должны совпадать для объектов из 5 и различаться для объектов из U—S.
та от одного узла к другому постепенно приобретаются знания о векторе описания объекта. На каждом шаге классификации мы можем суммировать эти знания, образуя упорядоченное множество пар целых чисел, причем /-я пара определяет то измерение, которое производилось (/-е), и его результат. Каждый узел дерева будет иметь единственное связанное с ним упорядоченное множество пар. Например, с нижним правым узлом (рис. 6.3) связано множество {(1, —G), (4, —М)}, которое означает, что если объект дошел до этого узла, то известно, что первая буква не G, а четвертая не М.
Для формального представления этих понятий определим последовательность описаний длины и, v^mt как упорядоченное множество SKf/) пар целых чисел (а, /?), удовлетворяющих следующим условиям:
1W〃&丸 так как а указывает возможное измерение;
1《У%, так как b — возможное значение измерения а;
множество S^(y) не содержит пар с одинаковыми а-компо- нентами, т. е. каждое измерение входит в каждую последовательность не более одного раза.
Последовательность S&®) содержит последовательность S陋(у), если ⑬<и и первые w членов последовательности S&(y) совпадают с Sw(y).
Правила классификации
Правило классификации R — это множество пар, причем каждая пара образована последовательностью и именем класса 丄);последовательности можно изобразить графически в виде дерева (рис. 6.3). Каждая последовательность соответствует пути от корня к одному из концевых узлов такого дерева. Отметим, что это приводит к интересным свойствам множества R. Все элементы из R должны иметь одинаковые первые члены своих последовательностей, а само множество R либо должно состоять из единственного элемента, либо его можно разбить на 々 таких подмножеств R⑴,…,R(3 что если не учитывать (общий) первый член этих последовательностей, то все R⑴ сами будут правилами классификации, описывающими поддеревья, которые начинаются сразу же после корня.
Объект удовлетворяет п оследовательн ост и, если значения измерений, описанных в последовательности, совпадают со значениями соответствующих измерений объекта. Если для классификации объекта применяется правило R, то объект будет удовлетворять одной последовательности из R (точно одной) и ему можно приписать
1) Имеются в виду рассмотренные выше последовательности описаний, связанные с концевыми узлами, и имена классов, к которым приводят эти последовательности.—Прим, переб.
имя класса, связанного с этой последовательностью. Это эквивалентно „прохождению объекта по дереву" до некоторой концевой точки.
Выборка
Выборкой S называется множество векторов, определенное случайным образом выбранными из U объектами, описания которых и являются векторами из S.
Расширение последовательности
Расширение последовательности Sv (у)#хг ——это множество последовательностей длины и+1, каждая из которых содержит S&&) и имеет в качестве (и+1)・го элемента одну из иг возможных пар (г, Ь). На языке теории графов расширение последовательности S^(y) состоит из путей, имеющих дополнительный узел (следующий после концевого узла последовательности S&3)), который появляется как результат проводимого в нем теста на r-е измерение.
Алгоритм последовательного распознавания образов
Это процедура формирования правила R по выборке. Если алгоритм сначала работает с выборкой S】и формирует правило R^ а затем переходит к новой выборке S2 (которая может содержать или не содержать SJ, чтобы получить по S2 второе правило R2, и т. д., то полученным правилам будут присваиваться номера в порядке их формирования.
Стоимости
Стоимость ошибочной классификации % определяется вещественным числом, представляющим стоимость классификации объекта как элемента класса Сь в то время как на самом деле он принадлежит классу Су Стоимость измерения Д — это вещественное число, представляющее стоимость измерения i-ro признака объекта.
Вероятности классификации или наблюдения
Приведем обозначения безусловных, условных и маргинальных вероятностей того, что объект принадлежит определенному классу или имеет определенное описание.
Рг (Су) — вероятность того, что объект, выбранный случайным образом, будет принадлежать классу
Pr (Sv (у))——вероятность того, что определенной последовательности длины V удовлетворит вектор описания объекта, выбранного случайным образом;
Pr (S^ (у) IС7)——вероятность того, что объект, выбранный случайным образом из класса Су, удовлетворит последовательности S&(g);
Pr (Су I Sv (у))——вероятность того, что объект, выбранный случайным образом из множества объектов, удовлетворяющих Sv (у), будет принадлежать классу J.
6.2. Бейесовские процедуры решения
В гл. 4 была введена бейесовская процедура решения. Бейесов- ский подход оказывается практически полезным при изучении последовательной классификации и распознавания образов).
Допустим, мы обнаружили, что частичное описание выбранного случайным образом объекта есть S^(y). Нам нужно правило для определения класса, к которому следует отнести этот объект. Совместная вероятность того, что частичное описание удовлетворит последовательности, а также того, что объект принадлежит классу &, равна
Pr (S。®) • J) = Рг (&) Pr (S。(у) I &). (3) Однако эта формула не годится, поскольку мы хотим знать вероятность Cj при условии, что задана последовательность наблюдений. Другой вариант — формула
Рг & ®) •&) = Pr (S, ®)) Рг (С/ S, (у)), ⑷
из которой следует специальный случай бейесовского правила
Р「(С/ S& (у))=Р「(С/ S& (у))=Рг(%(у)0・) F 瓦(у))Рг(%(у)0・) F 瓦(у))(5)(5)
Р「(С/ S& (у))=
Р「(С/ S& (у))=
Рг(%(у)0・) F 瓦(у))
Рг(%(у)0・) F 瓦(у))
(5)
(5)
Знаменатель правой части в (5) есть сумма всех возможностей появления рассматриваемой последовательности, т. е. сумма вероят-
ностей наблюдения последовательности в каждом классе, взвешенных с вероятностью появления каждого класса. Таким образом,
Pr(SJy)) = £ Pr (S" (g) I &) Pr (&).(6)
Подставляя (6) в (5), получаем формулу Бейеса для случая последовательной классификации образов
Dr/Г* I с / \\ Р『①(у) I с,)Р『(&)小
P「Cl Sp (g)) н к•(/)
2 Pr (S。(У) I &) Pr (C,)
Ожидаемые потери, связанные с решением отнести объект, удовлетворяющий последовательности Sv (у), к классу С力 равны
EL m S"(勿)=2 吗• Pr(CJ S.(力)•(8)
Оптимальное бейесовское правило классификации выбирает значение j, минимизирующее (8).
Эти рассуждения применимы в случае, когда уже установлена последовательность наблюдений и выбраны оценки вероятностей, которые будут использованы, так что минимизация функции (8) есть правило классификации образов. Цель процедур распознавания образов — найти наилучшие последовательности и соответствующие правила классификации. Предположим, что для произвольно выбранной последовательности наблюдений ожидаемые потери недопустимо велики. Тогда один из возможных способов состоит в выборе-некоторого измерения 尤「,не п ри надлежащего Sv (у), и в определении затем той последовательности наблюдений классифицируемого объекта, которой он удовлетворяет в расширении Sv Q/)#xr. Возможно, удастся получить приемлемую величину потерь классификации для последовательностей из этого множества. Однако в этом способе участвует фиксированная стоимость проведения r-го измерения. Когда предпочесть рассмотренный способ и как выбирать 务? Это темы следующих двух разделов.
6・3・ Бейесовские оптимальные процедуры классификации,основанные на динамическом программировании
Сначала попробуем найти способ определения наилучшей возможной последовательной процедуры классификации, когда известны соответствующие условные и маргинальные вероятности. Дальнейший анализ следует работе Фу (1969а), где эта задача излагается на языке динамического программирования, или оптимизации рекурсивно заданной функции.
На основе процедуры классификации мы должны решить, что делать после наблюдения произвольной последовательности S*(y), включая и нулевую последовательность S0(y). Если последовательность задана, то процедура классификации может либо выдать решение классификации, либо указать направление, по которому надо расширить последовательность наблюдений, прежде чем решение будет принято. Как решить, какой из этих альтернатив следовать? Пусть g(S& (у)) — ожидаемые потери, обусловленные применением оптимальной процедуры классификации при известной последовательности
g(S"(g)) = ming(S"(g)) = min
g(S"(g)) = min
g(S"(g)) = min
где 5^1(//+。, /)) — последовательность из ^+1 членов, содержащая S1f“)и имеющая в качестве (叶 1)・го члена пару (г, i). Отметим, что i — целое число от 1 до и^ Если правой частью в (9) служит верхняя строка, то решение заключается в отнесении объекта к классу /; в противном случае измерения продолжаются. К сожалению, для нахождения оптимальной процедуры обработки последовательности измерений длины и надо найти оптимальную процедуру для всех последовательностей длины и+1, которые можно получить из первоначальной последовательности. Этот случай отражен нижней строкой в (9). В худшем возможном случае для определения оптимальной процедуры может потребоваться рассмотреть оптимальную процедуру для всех возможных последовательностей наблюдений длины 加 или меньше. Это может оказаться нелегким делом. Предположим для простоты, что число принимаемых значений для всех измерений одинаково и равно Ь, Число возможных последова-
Таблица 6.1
Число возможных последовательностей описаний как функция числа измерений и числа значений каждого измерения
Число значений каждого измерения
Число измерений
1
2
3
4
5
6
2
2
6
14
30
62
126
3
3
12
39
120
367
1096
тельностей для т таких измерений равно 工扭,и оно быстро воз- растает до астрономических размеров. Чтобы получить представление о том, насколько быстро оно растет, достаточно взглянуть на табл. 6.1, в которой приведены числа рассматриваемых последовательностей для различных комбинаций /и^б и Ь&3・ (Эти случаи охватывают лишь небольшое количество задач, встречающихся в классификации образов.)
64 Приближения, основанные на алгоритмахограниченного просмотра вперед
0. Алгебраический подход
Во многих случаях прямая процедура „просмотра вперед", до- пускаквдая не более k измерений для проведения классификации, приводит к адекватному и в вычислительном смысле более простому алгоритму распознавания образов. Доводом в пользу такого приближения может служить интуитивное сомнение в бесконечной сложности природы, и поэтому в попытке предсказать принадлежность какому-то классу достаточно исследовать взаимодействия лишь низкого порядка между переменными, участвующими в этом процессе. Проиллюстрируем эту процедуру сначала для алгоритма просмотра на один шаг вперед 9-
Как и раньше, пусть задана последовательность S。®). Рассмотрим две возможные альтернативы. Первая заключается в том, что по имеющимся наблюдениям проводится наилучшая возможная классификация. Стоимость альтернативы определяется по (9). Назовем эту альтернативу Д1( и пусть ее стоимость равна С(4). Применяемая в процедуре просмотра на один шаг вперед альтернатива А2 заключается в том, что делается точно одно дополнительное измерение (при этом, конечно, выбирается наилучшее), после чего проводится классификация объекта. Стоимость альтернативы 4 會 равна
C(^a) = minpr+ 2 (Рг(х产
= i\So(y)))tnin(EL(j\Sv+i(y+(r, i))))}. (10)
1) Мы следуем изложению алгоритма CLS-9 и книге Ханта, Марина и Стоуна (1966). Фу (19696) обсуждает просмотр вперед как альтернативу к его формулировке динамического программирования.
Оценка стоимости классификации в этом узле при помощи процедуры, определенной алгоритмом просмотра на один шаг вперед, есть
储(Se(j/))=min{C(4J, С(А^}.(11)
Если С (AJ^C (Д 2), то алгоритм просмотра вперед выдает узел S&&) как концевую точку, связанную с наилучшим возможным решением классификации. В противном случае этот узел будет внутренней точкой, соответствующей тесту на r-е измерение, минимизирующему С (Д а)- Важно понимать, что это не означает, что последующие и「узлов обязательно будут концевыми. Далее алгоритм применяется по очереди к каждому из них. В этом смысле рассматриваемую процедуру можно назвать приближенной: в ней оценки стоимости каждого действия основаны на предположениях^ вообще говоря, неверных.
Проблема выборки
При олисании как оптимальной, так и приближенной процедуры мы молчаливо предполагали, что необходимые условные и маргинальные вероятности известны. На практике их можно оценить по наблюдаемым частотам в выборке S. Для иллюстрации этого и ряда других аспектов, связанных с просмотром вперед, который в действительности гораздо проще, чем выглядит в отпугивающих обозначениях, требуемых для его описания, возьмем в качестве S множество четверок (табл. 6.2). Для простоты стоимость ошибочной
Таблица 6.2
Пример задачи для алгоритма просмотра иа одни шаг вперед
Объекты класса 1
Объекты класса 2
GSQA GLBR GKFM GXBZ
GXFZ WXTA GKFR EKFR
HSQM ELBM WKFM НХТМ
WLQZ GSFA HSBA GLFM
классификации принимается равной 0, если классификация проведена верно, и 1 в противном случае. Предполагается, что стоимость
Таблица 6.3
Таблицы перекрестной классификации (классы —
величины измерений)
для просмотра иа одни шаг вперед ■
Результат классификации
для каждого случая выделен жирным шрифтом, о
случае равных значений выбирается класс 1.
Измерение 1: ожидаемые потери равны 0,4375+0,1 = 0,5375 > 0,5
Буква
Класс 1
Класс 2
н
2
1
G
4
4
Е
1
1
W
1
2
8
8
Измерение 2: о*】
1даемые потери равны 0,54*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
Буква
Класс I
Класс 2
2
1
3
1
2
5
1
1
8
8
Измерение 4: ожидаемое потери равны 0,25+0,1 — 0,35 < 0,5
Буква
Класс I
Класс 2
А
1
3
R
1
2
М
5
1
Z
1
2
8
8
любого измерения равна 0,1. Поэтому
(12)(13)(12)(13)wu = 0;для всех /, /,,声/
(12)
(13)
(12)
(13)
и
/г = 0,1 для всех г.
Вначале классификация должна проводиться на основе нулевой последовательности So(//). При этом вероятность получения определенных значений в классах оценивается по их относительным частотам в выборке. В этом случае первоначально Pr (G)=Pr (&)= =0,5, а ожидаемые потери при классификации на основе нулевой последовательности независимо от результата классификации равны 0,5. Для определения ожидаемых потерь, вызванных результатом только одного измерения и последующей классификации, необходимо для каждого измерения оценить ожидаемые потери, чтобы быть уверенным, что после выполнения этого измерения проводятся наилучшие возможные классификации. Это можно осуществить перекрестной классификацией классов по отношению к значениям измерений, причем для каждого измерения выбирается своя классификация. В рассматриваемом примере мы исходим из таблиц классификации и соответствующих тестов, представленных в табл. 6.3. Поскольку использование для измерения четвертой компоненты минимизирует стоимость алгоритма и ее оценка становится меньше C(4i), в первом узле осуществляется тест на признак 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 самое лучшее прекратить измерения и в подвыборке
Измерение4
ААИзмерение fИзмерение fWWКласс 1 Класс 2Класс 1 Класс 2RRИзмерение 2Измерение 2ИИКласс 2Класс 2? Класс 1 Класс 2? Класс 1 Класс 2ммКласс 1Класс 1ОстальныеОстальныеВВZZИзмереииеЗF ~ГИзмереииеЗF ~ГYYТТКласс I Класс 2Класс I Класс 2Класс 2Класс 2
А
А
Измерение f
Измерение f
W
W
Класс 1 Класс 2
Класс 1 Класс 2
R
R
Измерение 2
Измерение 2
И
И
Класс 2
Класс 2
? Класс 1 Класс 2
? Класс 1 Класс 2
м
м
Класс 1
Класс 1
Остальные
Остальные
В
В
Z
Z
ИзмереииеЗ
F ~Г
ИзмереииеЗ
F ~Г
Y
Y
Т
Т
Класс I Класс 2
Класс I Класс 2
Класс 2
Класс 2
Рис. 6.4. Дерево решения, построенное просмотром на один шаг вперед.
4 использовать измерение 3. Дерево решения показано на рис. 6.4. В некоторых случаях оно заканчивается узлом ”?“. Это означает, что связанной с этим узлом последовательности значений измерений в рассматриваемой выборке не было, и потому нельзя предложить никакого правила классификации. Для таких случаев могут оказаться пригодными различные стратегии. Общепринятая стратегия такова: в качестве подходящего решения выбрать класс, который был бы оптимальным, если бы измерение прекратилось в узле, предшествующем рассматриваемой концевой точке.
Обобщение на случай 论 шагов
Нет причины ограничивать просмотр вперед одним шагом. Более сложные задачи можно решить просмотром одновременно k измерений. Алгоритм, осуществляющий это, непосредственно обобщает процедуру просмотра вперед на один шаг. Основная трудность, связанная с просмотром вперед на А шагов, состоит в том, что число необходимых таблиц перекрестной классификации очень быстро растет с ростом k. Однако даже для больших k можно значительно уменьшить требуемое число классификаций, если применить метод динамического программирования. Тем не менее этот выигрыш невелик, если приближение само по себе составляет слишком большую вычислительную задачу и потому не имеет практического применения.
643. Замечание относительно надежности
Процедуры последовательной классификации образов иногда подвергаются критике за их уязвимость относительно ошибок при предъявлении выборки. Поскольку R формируется при анализе случайной выборки S, может оказаться, что на некотором этапе рас- познавания образов “неверное“ измерение, т. е. измерение, подходящее для предсказания имен классов в рамках расссматриваемой
выборки, а не всего множества объектов, будет включено в строящуюся процедуру классификации. На этапе классификации уже нет возможности исправить эту ошибку. Графически это интерпретируется так: после того как объект попал на неправильную ветвь, на правильную ветвь вернуться нельзя 丨).
Обойти эту трудность предполагалось (Хант, 1967) так: во время распознавания образов надо вычислять статистические оценки, указывающие доверительность, с которой можно экстраполировать классификационное отношение, наблюдаемое в некоторой выборке из рассматриваемого множества. Для оценки предполагалось использовать меру близости хи-квадрат.
Чтобы приспособить эту меру для распознавания образов, введем следующие обозначения:
九一число объектов в S,
tij—число объектов в S, принадлежащих классу С/, 门/(〃, ft) —число объектов в S, принадлежащих классу Ср для которых х@ = Ь.
Мы хотнм оценить степень случайности связи между именем класса и значением измерения, определяемым таблицами, аналогичными приведенным в предыдущем разделе, в предположении, что значения измерений и имена классов в рассматриваемом множестве независимы. Предположим, что в нашем случае это выполняется. Ожидаемое число объектов в выборке размера п, которые будут удовлетворять условиям (имя класса = /) и (%а=Ь), равно
е7(а, Ь) = ~^п{(а, 0.(14)
Критерий хи-квадрат с числом степеней свободы d имеет вид
2 _ G (а,«)—&• (а, 6)] 2/] 5)
5 工工 W(a,6),()
t= I b= I
где
"依_1)(% _ 1).(16)
Большое значение %普 указывает на то, что наблюдаемое в выборке отношение вряд ли справедливо для всех объектов, если только не было связи между измерением а и принадлежностью классу. Подробнее это обычно объясняется в учебниках по статистике, где также содержатся таблицы, позволяющие найти вероятность появления различных значений /^ при выполнении нулевой гипотезы. В тех случаях, когда необходима заданная надежность, можно посове-
】)К параллельным процедурам распознавания образов неприменимы аналогичные доводы, поскольку эффект от одного не относящегося к делу теста можно компенсировать результатами многочисленных подходящих тестов.
товать установить некоторый максимальный уровень вероятности (что эквивалентно минимальному значению 浸)и требовать, чтобы во время распознавания образов тестовые узлы добавлялись лишь тогда, когда это значение превышается.
Сходимость в последовательном распознаванииобразов
0. Введение
Широко распространено убеждение в том, что распознавание образов и „машинное обучение** внутренне связаны. Мы видели, что это убеждение в большой степени было вызвано наличием теорем сходимости для персептрона. К сожалению, аналогичные теоремы для случая, когда корректная процедура классификации не является линейно разделяющей, не известны. В самом деле, если нет ограничений на вид корректной процедуры классификации, то нет способа убедиться, что получена подходящая процедура, так как нет возможности хранить записи о каждом различимом случае.
Моделирование последовательных процедурпараллельными
В ряде случаев теоремы сходимости установить можно; кроме того, встречаются случаи, в которых сходимость обычно имеет место, но ее нельзя гарантировать. Может оказаться, что процедуру, которую интуитивно можно считать последовательной процедурой классификации, легко превратить в параллельную линейную процедуру. Рассмотрим случай, когда все измерения {%;} представляют собой двоичные переменные, как в персептроне. Предположим, что корректное правило классификации R* гласит: „Объект относится к классу Cj тогда и только тогда, когда / — наибольший индекс, для которого х;=1, т. е. /-й признак в описании объекта имеет наибольший индекс**. Это правило можно описать деревом последовательной классификации (рис. 6.5): классификация начинается с выяснения, равно ли единице измерение хт, затем %奩一1 и т. д. до тех пор, пока не обнаружится присутствующий признак. Алгебраически условия такого правила классификации можно записать в виде
(х W п (%/== 1),/1
(х€&)п(% = 0), г >/.I 丿
Рассмотрим единственную линейно разделяющую процедуру т
■ф;, которая, если существует, имеет такие веса {〃t}, что 2а/Х^>0 тогда и только тогда, когда выполняется (17). Легко показать, что
Wj в самом деле существует. Например, если взять любое вещественное число Ь>/ и положить
то
т
2 a^t > 0(19)
1= 1
тогда и только тогда, когда х W &• К сожалению, число коэффициентов так быстро растет, что реальной „машине" их было бы трудно
Рис. 6.5. Правило последовательной классификации, которое можно смоделировать процедурой параллельного распознавания образов.
Приведен случай т=3.
хранить! Таким образом, даже в этом весьма частном случае моделирование последовательной машины при помощи параллельной нецелесообразно.
Построение последовательных правил решенияпо конечным выборкам
Алгоритмы, изложенные в разд. 6.3, будут всегда формировать некоторое правило R, достаточное для классификации S. С какой степенью уверенности можно утверждать, что правило R применимо ко всем элементам множества U? Иначе говоря, насколько большой должна быть выборка S, чтобы можно было утверждать что-то об отношении R к R* с заданной степенью уверенности.
Один способ найти ответ на этот вопрос состоит в применении статистического анализа. В литературе можно почерпнуть довольно много если предположить, что R* — в самом деле линейно разделяющая процедура. В этом случае можно установить „доверительные интервалы** для {〃『} правила R. Отправляясь от выборки
S, которая считается полученной из U случайным образом, вычисляют наилутаие оценки для весов {а;} и устанавливают для каждого из них интервалы. Затем подсчитывают вероятность того, что наблюдалось бы значение а, при условии, что истинное значение а; лежит вне соответствующего интервала.
К сожалению, об аналогичных процедурах для определения доверительных интервалов в случае нелинейных правил известно мало. В предыдущем разделе мы советовали проводить проверку, чтобы быть уверенным в том, что та процедура классификации, которая диктуется правилом R, не является чисто случайной. К сожалению, способов получения такой неслучайности столько, что почти невозможно сказать что-нибудь более определенное. Например, критерий хи-квадрат, предложенный в разд. 6.4, можно считать подходящим для проверки гипотезы о том, что связь между измерением и принадлежностью классу не случайна, но он не годится для гипотезы о том, что проведенное измерение ——лучшее из всех возможных. Такой тест можно построить, но осуществление его требует значительных вычислительных затрат.
Хант и его коллеги (Хант, Марин и Стоун, 1966; Хант, 1967) провели эмпирические исследования, чтобы выяснить, насколько быстро сходятся к R* процедуры просмотра на один шаг вперед. В этих экспериментах выбиралось какое-нибудь известное правило для классификации некоторого множества объектов. Затем формировалась выборка, которая предъявлялась алгоритму распознавания образов. В одной из версий эксперимента выборка увеличивалась каждый раз на один объект, пока не находилось корректное правило классификации образов. В другом случае предъявлялась выборка фиксированного размера и при помощи указанного алгоритма строилось правило, которое сравнивалось с корректным правилом классификации. Общий вывод из этих исследований таков: можно получить разумные приближения нелинейных правил классификации при условии, что корректное правило не является „ужасно сложным**. Это утверждение неточно по необходимости. Чтсбы придать ему какое-то содержание, опишем один из экспериментов (Хант и др., 1966))
В этом эксперименте множество U состояло из векторов х длины 4, каждая компонента которых была целым числом от 1 до 4. Таких векторов всего 256 (=4) Каждый вектор был отнесен к классу 1 или 0 при помощи произвольно выбранной процедуры классификации R*. Применялись четыре различных варианта R* в соответствии с определением четырех обычно использующихся логических связок: 〃, включающее и儿и, исключающее или и импликация. (В дру-
Речь идет об эксперименте IX, продолженном для того, чтобы сделать изложение настоящего раздела более полным и законченным. Терминология в указанной работе слегка отличается от нашей.
гих экспериментах также рассматривалась связка эквивалентность, являющаяся отрицанием исключающего или, но в этом конкретном эксперименте эти две связки были неразличимы для алгоритма распознавания образов.) Правила изображены на рис. 6.6 в виде последовательных деревьев классификации. Они формулируются так:
Рис. 6.6. Правила, примененные Хантом, Марином и Стоуном при исследованииРис. 6.6. Правила, примененные Хантом, Марином и Стоуном при исследованиисходимости.сходимости.
Рис. 6.6. Правила, примененные Хантом, Марином и Стоуном при исследовании
Рис. 6.6. Правила, примененные Хантом, Марином и Стоуном при исследовании
сходимости.
сходимости.
R1 Вектор относится к классу 1, если утверждение (%=1 〃 х2=1) истинно; в противном случае он относится к классу 0.
R2 Вектор относится к классу 1, если утверждение (石=1 или %2=1) истинно; в противном случае он относится к классу 0.
R3 Вектор относится к классу 1, если утверждение (%i=l влечет %2 = 1) истинно. По-другому это можно выразить в виде (%i#l) или (%2 = 1). В противном случае вектор относится к классу 0.
R4 Вектор относится к классу 1, если утверждение (%=1 и %2#1) или (%i#=l и %2=1) истинно; в противном случае он относится к классу 0.
Правило R1 определяет необходимые условия для принадлежности классу, a R2 ——достаточные условия. Правило R3 содержит
отрицание, a R4 — двухшаговый процесс, который изображается с помощью более сложного дерева.
Эксперимент проводился следующим образом.
Из R1—R4 выбиралось некоторое правило. Назовем его R*.
Объект выбирался из U случайным образом с возвращением, и его класс определялся правилом R*. Пусть х (/) — вектор описания ^-го выбранного объекта. Этот вектор добавлялся к S.
Пусть R ⑴一пробное правило классификации, действующее в момент выбора x(f). Первоначально 口⑴=”Все объекты принадлежат классу Г*. После выбора вектора х«) он подвергался классификации по обоим правилам R(f) и R*.
Если результаты классификации при помощи правил R(f) и R* совпали, то R(f+l)=R(f), и происходил возврат к шагу 2. В противном случае перед возвратом к шагу 2 формировалось правило R(f+1) путем исследования S алгоритмом просмотра на один шаг вперед, описанным в разд. 6.4.
Цикл, состоящий из шагов 2——4, продолжался до тех пор, пока в выборке не оказывалось 10, 20, 30 или 100 объектов. Эксперимент повторялся 10 раз для каждого возможного правила R* и каждого количества объектов в S. После каждого повтора подсчитывался коэффициент „вычислительного выигрыша" (ВВ). Пусть R — заключительное правило. Тогда
ВВ=1—-. ,5(20)
min (L, М) *' ,
где К — число неверно классифицированных объектов в U правилом R, L — число объектов из класса 0 в U, Л1 — число объектов из класса 1 в U. Коэффициент ВВ можно интерпретировать как эффективность заключительного правила классификации по сравнению с простым правилом „считать все объекты множества U членами наибольшего подкласса в U". ВВ=1 указывает на то, что R — совершенное устройство классификации. ВВ=0 указывает на то, что построенное алгоритмом правило не лучше простого правила „наиболее вероятного выбора*\ а отрицательный результат означает, что алгоритм действительно построил более плохую процедуру классификации, чем это правило. На рис. 6.7 изображен коэффициент ВВ как функция вида правила R* и размера выборки. Наблюдается определенная сходимость к корректному правилу, но скорость ее зависит от сложности (неизвестного) корректного правила.
Интересен также вопрос, насколько большая выборка требуется для достижения заданного уровня точности, поскольку это непосредственно относится к задаче выделения правила в условиях ограниченной памяти. Дир и Хант (1968) заметили, что сдерживающий фактор в машинном распознавании образов зачастую связан не с числом экспериментальных точек, которые можно изучить, а с
объемом машинной памяти, необходимым для работы алгоритма распознавания образов. Поскольку для программ последовательного распознавания образов нужны специфические записи об объектах, которые раньше добавлялись к выборке, то проблема достаточной свободной памяти для таких программ может оказаться серьезной. Поэтому при построении алгоритмов следует обращать внима-
Размер памяпш
Рис. 6.7. Коэффициент ВВ, и л люстр и р ующи й сходимость в исследованиях Ханта, Марина и Стоуна. Цифры соответствуют правилам R1—R4.
ние на экономное использование имеющегося объема машинной памяти.
Для описания машинного запоминающего устройства, хранящего записи выборок, Дир и Хант ввели термин „банк памяти". Банк памяти можно организовать двумя способами. Можно рассматривать его как файл записей фиксированной длины, в котором в каждой записи отведено место для размещения п компонент вектора, а также для дополнительного символа — имени класса* Другой способ —— рассматривать банк памяти как совокупность записей переменной длины, где в каждой записи отведено место для имени класса объекта и для некоторых избранных компонент вектора,
описывающего объект. (Дополнительное место требуется еще для информации о длине записей. Более подробно см. Лефковиц (1968).) Дир и Хант обнаружили, что в работах по распознаванию образов, аналогичных работе Ханта и др., пробная гипотеза R(f) по мере увеличения размера выборки постепенно приближается к корректной. В частности, соответствующие компоненты вектора обычно появляются в деревьях для R(f), прежде чем они будут правильно классифицированы х). Чтобы применить этот факт, Дир и Хант модифицировали эксперименты Ханта и др.:
Вместо предъявления фиксированного числа объектов осуществлялся несколько раз циклический проход по множеству из 256 объектов. Однако число объектов, которые можно было бы одновременно записать в память, ограничивалось. Считалось, что память состоит из фиксированного множества ячеек, каждая из которых способна хранить точно одну компоненту вектора, и запоминание данных модифицировалось следующим образом.
При предъявлении объекта и при его верной классификации (так, что R(»+l) = R(f)) запоминались только те компоненты описания объекта, которые использовались при его классификации. Например, пусть R* = R1 и R(f) было правилом: „Если %i=2 или х2=1, то объект относится к классу 0", и пусть x(f)=(3, 1, 2, 4). Из определения R1 следует, что x(f) принадлежит классу 0. Правило R ⑴ также производит эту классификацию (хотя оно отличается от R1), так что в банке памяти хранится информация (%i=3> %2=1, класс 0).
При предъявлении объекта и его неверной классификации запоминался весь вектор описания. После неверной классификации с помощью модифицированного алгоритма распознавания образов строилась новая пробная гипотеза R(f+1), чтобы допустить работу со случаями, когда значения некоторых компонент некоторых объектов неизвестны.
Дир и Хант провели ряд экспериментов, подобных описанным в работе Ханта и др., но в них дополнительно применялись несколько более сложные правила классификации. Результаты экспериментов для правила R4 представлены на рис. 6.8. Из него легко видеть, что модифицированная процедура использования памяти допускает эффективное распознавание образов с памятью ограниченного размера.
Боурн (1965) приводит наблюдение, свндетельствующее, что это справедливо для логического распознавания образов человеком. Люди, видимо, решают задачи классификации («задачи построения понятий» в психологической литературе) двумя этапами: сначала отмечают то, что связано с решением, а затем ——как именно. Уилльямс (1971) промоделировал построение понятий человеком, пользуясь для этого схемой управления памятью, предложенной Диром и Хантом, в рамках одной модели человеческой памяти.
Строго говоря, эти результаты показывают, что в определенной искусственной среде можно убедиться в сходимости. Однако этого мало. Поскольку среда и алгоритм распознавания образов корректно определены, то необходимо уметь доказывать теоремы вместо того, чтобы индуктивно делать выводы из экспериментальных наблюдений. Большинство экспериментальных работ по нелинейному распознаванию образов имеет ту же особенность, что и первые работы по персептронам: они привели к предположениям, которые позднее
160
80
40402020
40
40
20
20
10\,
5
20602409606000
Размер памяти
Рис. 6.8. Средние ошибки для задачи R-4 (Днр и Хант).
признали неверными или вводящими в заблуждение. С другой стороны, сегодня у нас нет теорем для поеледов а тел ьного распознавания образов.
Второе возражение по поводу искусственных экспериментов состоит в том, что они слишком искусственны. Даже если предположить, что результаты экспериментов заменены выводами об алгоритмах распознавания образов, работающих в искусственной среде, разве это говорит что-нибудь о более сложных „реальных** ситуациях распознавания образов? На такое возражение нет ясного ответа. Ведут ли к практическим применениям или уводят в сторону эксперименты с искусственными, полностью контролируемыми ситуациями, вот вопрос, на который предстоит дать ответ по мере накопления опыта 1).
丄)Саймон (1969) дает блестящее подробное обсуждение этой темы.
Глава 7
ГРАММАТИЧЕСКАЯ КЛАССИФИКАЦИЯ ОБРАЗОВ
7・0・ Лингвистический подход к анализу образов
В этой главе мы подойдем к проблеме распознавания образов совсем с другой стороны. Введенные в гл. 2 понятия математической лингвистики будут определены еще раз и привязаны к распознаванию образов. Читатель, не знакомый с основами формальной лингвистики, возможно, пожелает еще раз просмотреть гл. 2 】).
Изучение в вычислительных науках лингвистики вызвано тем, что между программой и конструкцией машины, способной распознавать цепочки символов, представляющих собой правильно построенные выражения (предложения) на языке, определяемом порождающей грамматикой, существует некоторое соответствие. Как и в гл. 2, пусть G——грамматика,厶(G)——порождаемый ею язык, Т — множество терминальных символов, использующихся в G, х ——цепочка терминальных символов и Т* — множество всех цепочек, которые можно построить из Т. Задача лингвистического распознавания языка (или, что то же самое, задача лингвистической классификации образов) состоит в том, чтобы за конечное число шагов выяснить, принадлежит ли произвольная цепочка х W Т* множеству 厶(G) или "I 乙(G). Если можно построить алгоритм, осуществляющий это, то язык L (G) называют рекурсивным, а грамматику G разрешимой, Существуют нерекурсивные языки. Для них можно построить алгоритм, который будет распознавать любую цепочку х @ L (G), но нельзя гарантировать, что он будет останавливаться для всех цепочек xg "| L (G). Такие языки называются рекурсивно пере- числимыми. Любой язык, определяемый порождающей грамматикой, рекурсивно перечислим. Если грамматика относится к типу 1
Для более подробного изучения этих вопросов можно порекомендовать книгу Фу К., Структурные методы в распознавании образов, изд-во «Мир», М., 1977.— Прим, перев.
(контекстно-зависимая), то порождаемый ею язык 厶(G) рекурсивен. Очевидно, задача классификации цепочек разрешима, только если G—по крайней мере грамматика типа 1.
Классификация цепочек дает нам более общий подход к распознаванию образов, чем рассматриваемая до сих пор векторная классификация. Векторы представляют собой цепочки конечной длины х), поэтому их можно описать с помощью некоторой порождающей грамматики. Так как каждому классу принадлежит только конечное число векторов, то „язык**, соответствующий векторам некоторого (не обязательно непрерывного) подпространства евклидова пространства описаний, можно рассматривать как конечный ?). Конечные языки могут порождаться регулярными (типа 3) грамматиками. Но ранее мы говорили, что задача лингвистической классификации образов разрешима для более широкого класса грамматик типа 1. Поэтому лингвистический подход к классификации образов должен быть более общим. Кроме того, в гл. 2 указывалось, что алгоритм распознавания для языков типа 3 можно было бы выработать программой, не прибегающей к динамической памяти. Это наводит на мысль, что программы векторной классификации должны быть с вычислительной точки зрения, как правило, проще. Так именно и обстоит дело в действительности, хотя эти программы и могут быть довольно большими. Все рассмотренные в гл. 3——6 алгоритмы классификации образов можно написать на Фортране, при условии что память фиксирована и достаточно велика. Быть может, это и не очевидно, но это верно как для последовательных, так и для параллельных алгоритмов (Хант, 1967).
Тот факт, что задачу классификации векторов можно было бы интерпретировать как задачу классификации цепочек, подчас не оказывает существенной помощи ни в практическом, ни в интуитивном плане. А что можно сказать о задачах классификации цепочек, не имеющих формулировки на языке классификации векторов? В самом общем смысле это те задачи, в которых принадлежность объекта какому-то классу зависит не от булевой комбинации наличия или отсутствия признаков, а от соотношения (возможно, сложного) между составными частями объекта. Ясно, что лингвистические задачи как раз такого характера. Миллер и Шоу (1968) указывают на то, что другого способа работы трансляционной части алгоритма компиляции не существует. Отсутствует, например, множество признаков, отличающее программу на Фортране от бессмысленной цепочки символов, пробитых перфоратором.
В этом утверждении предполагается, что каждая компонента вектора может принимать только конечное множество значений. Теоретически для векторов в евклидовом пространстве это не так. Однако практически существует предел разрешимости двух точек в пространстве, так что для любого вычислительного приложения это утверждение верно.
То есть язык, содержащий только конечное число цепочек.
В процессе лингвистической классификации участвует огромное количество информации о структуре рассматриваемой цепочки. Она может быть полезной сама по себе, например при анализе языков программирования. Важную роль структуры можно показать также на примере из естественного языка. Какие из следующих цепочек эквивалентны?
Любит Мэри Джон Джон любит Мэри Мэри любит Джона Джон любим Мэри
Любой человек знает, что только две последние цепочки имеют одинаковое значение. Первая цепочка не является грамотным предложением. Вторая, третья и четвертая ——грамотные предложения, но глубинная структура второй отлична от глубинной структуры третьей и четвертой. Для того чтобы действия с этими предложениями были осмысленными, необходимо провести их классификацию и раскрыть отношения между компонентами.
Применение структурной классификации не ограничено множествами, представляющими собой языки по нашему интуитивному понятию. Интересно было бы построить вычислительную систему, которая могла бы распознавать устную речь. Построить такую машину оказалось очень трудно по ряду причин. Одна заключается в том, что на этапе обработки акустической информации при распознавании речи структура исследуемого физического сигнала важнее, чем наличие какого-то определенного физического свойства. Например, слова надо распознавать безотносительно пола говорящего, хотя очевидно, что пол в основном и определяет характер физического сигнала, принятого микрофоном. В другом не столь очевидном примере методы лингвистической классификации применялись к распознаванию классов двумерных рисунков (Миллер и Шоу, 1968). Позднее эту тему мы рассмотрим подробнее.
Договорившись, что лингвистические методы могут применяться в классификации образов, что мы скажем о соответствующей задаче распознавания образов? Она называется грамматическим выводом, и ей в основном посвящена эта глава. Формальные определения мы дадим в следующем разделе, а сейчас обсудим несколько общих вопросов. В задаче вывода входными данными служит множество цепочек, каждая из которых считается порожденной некоторой неизвестной грамматикой или не согласующейся с нею. Цепочки можно рассматривать как описания определенных объектов из внешней среды, которые были сгруппированы по неизвестному закону природы. Например, множество воспринимаемых цепочек могло бы представлять собой описания треков, полученных в пузырьковой камере во время эксперимента по ядер ной физике. (Такое применение грамматического вывода изучал Нарасимхан (1965).) Если бы
удалось раскрыть порождающую эти цепочки грамматику, то, вероятно, ее правила можно было бы увязать с нашими представлениями относительно физических процессов, происходящих в эксперименте.
Рассмотрим теперь пример совсем из другой области. Предположим, что мы написали несколько утверждений политического содержания, аналогичные приведенным:
Бедняки должны получать поддержку правительства. Те, кто отказываются работать, не должны получать поддержки правительства.
Затем мы просим отобрать эти цепочки по утверждениям, с которыми испытуемый согласен и с которыми не согласен. Такой отбор устанавливает множества принятых или отвергнутых цепочек неко- ■ торой (предполагаемой) грамматикой, которую испытуемый использует для построения политических высказываний, выражающих его убеждения. Если бы удалось раскрыть эту грамматику, не узнали бы мы кое-что о том, как испытуемый рассуждает о политике?
Предыдущие примеры могут вкратце служить разумным пояснением причин, по которым мы изучаем грамматический вывод. Существует* также мнение, что раскрытие грамматик в нетривиальном смысле аналогично построению теории в науке. В конце концов теория есть не более, чем совокупность правил для генерации всех возможных наблюдаемых явлений. Разве это не то, чем является грамматика? Можно привести сильный довод в пользу этой аналогии. Однако до настоящего времени с помощью грамматического вывода не было получено особенно полезных результатов. По крайней мере, насколько мне известно, никто еще не написал программу, способную построить какую-нибудь интересную теорию в форме грамматики. Возможно, что мы требуем слишком многого. Работа в области грамматического вывода находится еще в самом начале. В последующих двух разделах мы обрисуем то немногое, что известно, и как его можно применять.
7.L Задача грамматического вывода 工)
0. Обозначения и основные идеи
Мы начнем с формальных определений задачи грамматического вывода и ее решения. Большинство обсуждаемых здесь идей основано на работах Фельдмана (Фельдман, 1972; Бирман и Фельдман,
При подготовке этого раздела я извлек много ценного из обзора, подготовленного Бинодом Нияком как часть дипломной работы в Вашингтонском университете.
1972), который опирается на работы (Фельдман, Джипе, Хорнинг и Редер, 1969) и (Голд, 1967). Формальные доказательства особенно ясно изложены Фельдманом (1972). Мы будем в основном останавливаться на неформальных иллюстрациях, а не на формальных доказательствах.
Выборкой Sf называется последовательность хх, ... , х» цепочек символов, выбранных из Т*・ Предполагается, что некоторые из этих цепочек порождены неизвестной грамматикой G*. Обозначим через Sj множество тех цепочек из S(, которые допускаются грамматикой G*, а через S[— тех цепочек, которые отвергаются ею. Ясно, что
S? = StRL (G*), Sr = Sfn IL (G*)・ (1)
Предложения в S扌 будут называться положительными, а предложения в S,— отрицательными, Алгоритм грамматического вывода включает в себя изучение S» и формирование соответствующей грамматики G/. В большинстве случаев нас будут интересовать ситуации, в которых S/+1 получается из St добавлением в точности одной цепочки:
^t+i — S± U {х/+1}. (2)
Точно так же можно говорить о машине М, которая рассматривает последовательно множества Si, ... , St и формирует после каждого просмотра грамматику G〃 Задача грамматического вывода разрешима, если можно построить машину, которая в конце концов сформирует грамматику G, порождающую тот же язык, что и G*, т. е.
L(G)=L(G^, (3)
В этом случае говорят, что грамматика G согласуется с G*. Это самое сильное из разумных определений решения. Мы не можем требовать, чтобы была построена машина, которая в конце концов воспроизведет именно G*, поскольку может быть бесконечно много грамматик, согласованных с G*. Информации, содержащейся в выборке, недостаточно, чтобы различить грамматики в таких парах.
Пробные грамматики {Gj должны выбираться из пространства G г ипотет и ческах грамматик, которые машина М способна сформировать. Если машина формирует грамматики из G в некотором фиксированном порядке, то говорят, что М перечисляет G. На каждом этапе t хорошая машина грамматического вывода должна выбирать из G грамматику, „наиболее подходящую" конечной выборке Sp Приведем три условия, которым грамматика должна удовлетво-
рять, чтобы считалось, что она подходит выборке. Во-первых, она должна правильно классифицировать все цепочки из St. Во-вторых, она должна давать „естественное*' описание множества S». Это тесно связано со статистической идеей правдоподобия: естественным ли образом следуют из грамматики положительные предложения? Например, выводит ли грамматика положительные предложения короче, чем любая другая грамматика из G? В-третьих, пробная грамматика должна удовлетворять некоторому критерию простоты ее объяснения. Это понятие аналогично статистической идее „степеней сво- 6оды“. Грамматику G' следует предпочесть грамматике G", если она содержит меньше правил, являющихся просто переформулировками характерной ситуации в рассматриваемой выборке. Для конкретности предположим, что выборка S3 состоит из положительных предложений:
$з={@, ab, aba}.
Грамматика Ge с правилами
a, H-^ab, Н-^аЬа, (4)
очевидно, допускает S3. Однако это слишком частное объяснение, подходящее только для этого примера. С другой стороны, все выводы короткие! Можно сравнить Ga с грамматикой Gb:
Hfa, Н-^аА, A-^b, A-^bH. (5)
Эта грамматика содержит больше правил, чем Ga, и требует более сложных выводов для описания S3, но она предпочтительнее, так как не является частным объяснением выборки. Напротив, в ней обращаются с S3 как с одной из многих выборок, которые могли бы порождаться. Наконец, рассмотрим грамматику Gc с правилами
Hfa、Hfb, HfHH, (6)
порождающую множество всевозможных цепочек, которые можно построить из а и й. Интуитивно мы предпочли бы Gb в смысле объяснения S3, поскольку грамматика Ga слишком специальная, a Gc слишком общая. Наша цель — воспользоваться этими интуитивными понятиями при вычислении.
Голд (1967) показал, что способ построения выборки может ограничить разнообразие выводов, которые можно осуществить на ее основе, и эффективность процесса вывода. Наиболее существенно различие между выборками, содержащими только положительные предложения, и выборками, содержащими как положительные, так и отрицательные предложения. В первом случае представление называется текстуальным, поскольку оно аналогично задаче для че-
ловека, пытающегося разобрать язык, исследуя тексты, содержащие только правильные конструкции. Во втором случае представление информаторное, поскольку здесь аналогия со случаем, когда человек пытается понять язык, задавая вопросы другому человеку, для которого этот язык родной. Преимущество информаторного представления состоит в том, что обучающийся может выяснить, что не допускается правильной грамматикой G*. Эта информация может оказаться очень важной. К сожалению, многие задачи, которыми занимались в грамматическом выводе, имеют текстуальное представление. Хорошим примером служит задача, с которой сталкивается археолог, когда пытается понять „мертвый** язык, изучая восстановленные манускрипты. У него нет способа выяснить, какая цепочка символов была бы неподходящей, например для шумерского или фригийского.
Разумная машина грамматического вывода должна улучшать вывод по мере приобретения информации. Предельные вопросы исследуют утверждения, которые можно сделать относительно свойств последовательностей грамматик {&}, получаемых по выборкам S,, при возрастании f до бесконечности. Какие условия гарантируют, что при достаточно больших t грамматика G» будет согласована с G*? Этот вопрос составляет проблему согласованности. С ней тесно связана проблема приближения. В процессе вывода начинают с множества G грамматик, которые машина могла бы предложить. Предполагается, что грамматика G* может быть согласована с некоторой грамматикой из этого множества. На каждом шаге вывода некоторые грамматики могут отвергаться: или они не способны породить какое-то положительное предложение в S(, или какое-то отрицательное предложение в выборке они считают допустимым. Пусть G(f) — множество грамматик, оставшихся в G для исследования на шаге £ Если машина вывода делает успехи, то множество G(f) должно постепенно уменьшаться. Требуется, чтобы выполнялось соотношение
G(f + l)uG(力 (7)
Если процесс вывода может привести к грамматике, согласованной с G*, то в некоторый момент G⑴ будет содержать те грамматики Gz, для которых L (G/)=L (О*). Однако G (/) может быть и бесконечным множеством, содержащим грамматики, не согласованные с G*. В этом случае процесс вывода не приводит к грамматике, согласованной с G*. Так же будет и в случае, когда в G (/) не входит ни одна из согласованных с G* грамматик.
Наконец, нам гютребуется представление о функциях адекватности. Определим здесь функцию адекватности g(S$, G) как меру того, насколько грамматика G подходит для описания выборки S(. Значения g меняются от 0 до 4-оо, причем 0 интерпретируется как „совершенное описание4* Stt а -|-оо указывает на то, что G не годится
для S, (или потому, что L (G) не содержит всех положительных предложений рассматриваемой выборки, или потому, что L (G) содержит одно из отрицательных предложений). Нас интересует поведение g при неограниченном росте f.
Разрешимость
Представим себе гипотетическую машину /И, которая выводит грамматики следующим образом. Машина способна перечислять (возможно, бесконечное) множество G кандидатов в грамматики. Всеведующий экспериментатор выбирает некоторую грамматику G* W G в качестве правильной. Затем он строит постепенно возрастающие выборки Si, ... , S», используя информаторное или текстуальное представление. Для каждой выборки St машина М порождает соответствующую грамматику Gb находя в своем перечне первую грамматику, удовлетворительно объясняющую St. В дальнейшем мы обсудим специальное определение „удовлетворительного объяснения**, а сейчас будем считать, что этот термин означает выполнение условий
S力^厶(G) S?nL(GJ = 0, (8)
а грамматика G( удовлетворяет некоторым критериям адекватного объяснения Sf и простоты ее собственной внутренней структуры. Мы будем говорить, что машина М разрешает задачу грамматического вывода, если для любого выбора G* существует такое число /*, что для f>f* грамматика G» согласуется с G*. Заметим, что если М не может по этому критерию выработать G, то никакая другая машина тоже не сможет этого сделать, так как М — автомат общего вида, способный (а) отличать одну грамматику из G от другой и (б) выяснять, допустима или нет данная цепочка х для любой грамматики G W G.
Голд (1967) получил два важных результата, касающихся задачи вывода. Первый назовем общей теоремой о разрешимости для 〃〃• форматорного представления.
Теорема 1. Пусть G — любое множество разрешимых грамматик. При информаторном представлении задача грамматического вывода разрешима для любой грамматики € G.
Доказательство. Пусть машинаМ перечисляет G в порядке G1, ... , G^. Предположим, что грамматика G* действительно согласуется с G*. На любом этапе f процесса вывода машина М выбирает в качестве своей гипотетической грамматики первую грамматику в перечне G1, ... , G', которая удовлетворяет (8), правильно классифицируя все предложения в Sf. Пусть G1'——первая такая грамматика, поэтому &=Gt・ Так как iV^, то G' не согласуется с G*. Следовательно, поскольку t увеличивается, в конце концов найдется
предложение, ошибочно допускаемое или отвергаемое грамматикой GL Тогда G' отбрасывается и выбирается следующая приемлемая грамматика G『,/>i. В конце концов будет выбрана грамматика G*. Пусть это будет на этапе /*. Грамматика G* в дальнейшем никогда не будет отброшена. Отсюда следует, что задача вывода решена.
Наше доказательство основано на том, что для любой грамматики G‘,,V幺 какая-то цепочка из L (G*) будет отвергнута или какая-то цепочка из "| L (G*) будет допущена. При текстуальном представлении (S力=S打 можно сделать ошибку только первого типа. Этого достаточно, чтобы нарушить условие разрешимости. Теоремы Голда и Фельдмана (Фельдман, 1972; Фельдман и др., 1969) подтверждают следующий результат о неразрешимости для текстуального представления.
Теорема 2. Пусть множество G содержит грамматики для всех конечных языков и какого-нибудь одного бесконечного. При текстуальном представлении не существует машины, которая может решить задачу вывода для произвольной грамматики G* W G.
Доказательство. Для любой грамматики Gg G, порождающей в конечный язык L (G), всегда найдется другая грамматика Gr € G, порождающая язык L(G'), включающий L (G). Таким образом, для любого конечного t
SQ(G)uL(G” ⑼
Если бы множество G содержало только грамматики, порождающие конечные языки, то можно было бы закончить доказательство, заметив, что для любой грамматики G* g G настал бы момент, когда нельзя построить новые предложения для S/+i. Поскольку, однако, в G есть по крайней мере одна грамматика G", порождающая бесконечный язык, то выборка Stt возможно, не будет иметь конца. Пока выполняется (9), машина не может различить G и Gz (G7 ——одна грамматика из бесконечного множества таких грамматик). Если G"=G*, то (9) всегда можно удовлетворить, так как в этом случае всегда можно породить новую выборку.
Этот недостаток текстуального представления вызывает серьезные трудности, поскольку, как было показано во введении, во многих реальных ситуациях решения задач текстуальное представление будет единственным способом порождения выборки. К счастью, текстуальное представление можно использовать для определения грамматик, которые постепенно приближаются вполне определенным образом к правильной грамматике. Фельдман (1972) дает две интерпретации понятия „ближеи, одна из которых включает другую.
Условие приближения
Говорят, что перечисляющая машина М приближает грамматику G* W G, если
(П1) после некоторого шага /* грамматики G£t>俨),выбранные машиной М в качестве пробных, допускают любую цепочку, допускаемую грамматикой G*:
(Vx€L(G*)) [(£ > 尸)n(xWL(&))],(10)
(П2) любая грамматика G, порождающая язык, который собственно включает в себя L (G*), в конечном счете будет отвергнута:
(VGWG)[(厶(G*)uL(G)) п((出')(/〉/')”&=# G))]. (11)
Из этих двух условий приближения следует, что если какая-то машина приближает G*, то любая неправильная грамматика G будет пробной грамматикой Gt только для конечного числа шагов 力 т. е. любые конкретные ложные догадки будут делаться только для конечного числа попыток. Можно считать, что множество G разбито на постепенно уменьшающиеся подмножества, каждое из которых представляет собой множество еще не исключенных ответов. Даже в этом случае грамматика G* не обязательно будет выбрана, потому что „постепенно уменьшающиеся** множества все еще правдоподобных гипотез могут быть бесконечными.
Рассматриваемая машина М сильно приближает G*, если, кроме условий (П1) и (П2), выполняется следующее условие.
Условие сильного приближения
(ПЗ) Если существует грамматика G g G, согласованная с G*, т. е.
厶(G)=L(G*), то G$=G для бесконечно многих 力
Условие сильного приближения утверждает, что любая грамматика, согласованная с G*, будет выбрана бесконечно много раз. Различие между этим условием и условием согласования состоит в том, что в случае согласования М в конечном счете сводит свои догадки к множеству G* гипотез, содержащему только согласованные грамматики, а в случае сильного приближения М повторно выбирает любую согласованную грамматику Gс: G, хотя допустимы и выборы несогласованных грамматик. Фельдман показал, что можно построить машину, сильно приближающую G*, если использовать текстуальное представление для любого класса рекурсивных грамматик G. С одной стороны, это интересно, поскольку показано, что можно построить машину, которая будет зацикливаться на корректных грамматиках. С другой стороны, машина может вообще не стабилизировать свои догадки. Это справедливо даже для очень ограниченного класса грамматик, таких, как грамматики с конечным множеством состояний.
Займемся теперь вопросом выбора наилучшего объяснения для выборки. Безусловно, это как раз то, чем мы интересовались бы в большинстве практических приложений. Сначала надо определить, что мы будем считать наилучшим объяснением. Пусть g(S厶 G)—— функция несовместности для выборки St и грамматики G. Функция g должна быть вычислимой функцией сложности грамматики G и степени, до которой St естественно укладывается в G. Обозначим через c(G, G) функцию внутренней сложности, связывающую G с классом G, и через d(St, G)—— функцию сложности вывода, определяющую степень, до которой S» следует естественно из L (G). Например, с® G) может быть числом нетерминальных символов в каждой грамматике (и тем самым она будет упорядочивать G), a d (S±, G) может быть числом шагов в самом длинном выводе, необходимом для порождения St из G. Вообще говоря, cud нельзя минимизировать одновременно.
Предположим, что G——приемлемое объяснение для S> Иными словами, должны выполняться условия (8). Для того чтобы из приемлемых объяснений выбрать одно, попытаемся минимизировать g при следующих условиях:
(У1) Функция несовместности при заданной грамматике должна быть вычислимой функцией ее внутренней сложности и сложности вывода для выборки:
g(S„ G)=〃c(G, G), d(S.,G))・(12)
(У2) Если заданы две одинаково сложные грамматики, то функция несовместности должна быть меньше для грамматики, дающей менее сложный вывод.
(УЗ) Если заданы две грамматики с одинаковой сложностью вывода, то проще та из них, у которой меньше функция несовместности.
Условия (У2) и (УЗ) можно выразить алгебраически, заметив, что в них требуется, чтобы для любой постоянной k и любых вещественных чисел а н А &>А выполнялись неравенства
Н/г, a)>f(k, &)(13)
И
/(a, k)>f(bt ^).(14)
Поскольку c(G, G)——вычислимая функция грамматики G относительно класса G, то можно было бы построить перечисляющую машину, порождающую грамматики из класса G в порядке возрастания внутренней сложности. Такое перечисление называется окка・
мовским 1). Если G1, ... , G* .…,G」一 оккамовское перечисление, то c(G『,G)Vc(G,G) для i</. Что же может делать машина, способная осуществлять оккамовское перечисление?
Ясно, что такая машина могла бы находить наилучшее объяснение для любой конечной выборки St. Для этого машина рассматривает грамматики G' в порядке перечисления. Пусть G'——первая приемлемая по (8) грамматика при заданной выборке S> Машина вычисляет d(Sb G『),и, поскольку она уже „знает" c(G‘,G), она может установить
g(St, G<) = /n (15)
как верхнюю границу несовместности рассматриваемых грамматик. Наилучшим возможным объяснением выборки будет тогда грамматика, для которой d(S±, G)=0. По определению оккамовского перечисления или множество G конечно (в этом случае все ясно), или найдется такое число что
f (c(G勺 G), 0)〉m. (16)
Пусть G尼一первая грамматика в оккамовском перечислении, которая, однако, так сложна, что ее нельзя рассмотреть, даже если d(S±, G尼丿=0. Ясно, что функция несовместности для любой грамматики G5, $>阮 будет больше 械 Поэтому машина М может ограничить свой выбор грамматик конечным множеством {G\ ... , G*"1}. Важно отметить, что эта проверка применима к любому множеству Грамматик G, для которого можно определить соответствующие функции. В частности, грамматики не обязаны быть разрешимыми.
Можно получить более сильные результаты, если рассматривается информаторное представление. Фельдман (1972) доказал, что при /->оо последовательность лучших догадок будет приближать G* для любого множества G. В самом деле, если функция сложности вывода имеет верхнюю границу при неограниченном росте /, то машина, минимизирующая несовместность и использующая оккамовское перечисление, может в пределе дать грамматику, согласованную с G*. Это важно, поскольку предположение о наличии верхнего предела сложности вывода вполне разумно. Пусть, например, как-то определена вероятность р (x|G) того, что некоторое предложение х появилось бы в выборке при условии, что G —— правильная грамматика. Определим d(S±, G) как вероятность того, что грамматика G породила бы выборку размера 力 отличную от Sf:
d(&, G)= 1—U р (x/G), (17)
i— 1
')По имени。английского (средневекового,— Перее.) философа Уильяма из Оккама, который сформулировал принцип, гласящий, что простые объяснения предпочтительнее сложных.
Верхняя граница этой величины равна 1. Можно показать также, что ожидаемое значение величины d(St, G) в пределе ниже для тех грамматик G, для которых р (x/G)=p (xJG*) для всех х» W Т*. Таким образом, машина, использующая оккамовское перечисление, в конечном счете выберет наименее сложную грамматику, согласованную с G* и совпадающую с ней в смысле вероятности порождения предложения.
Закончим этот раздел одним предостережением и размышлениями по аналогии. Предостережение заключается в том, что приведенные результаты касаются возможностей алгоритмов грамматического вывода. Это не обязательно практические инструкции к написанию таких алгоритмов. Машина, которая должна порождать и последовательно оценивать каждую грамматику, могла бы потратить очень много времени на проверку неправильных грамматик. Интуитивно машина, минимизирующая несовместность, должна быть лучше, но будет ли она достаточно хорошей? Кроме того, часто трудно определить подходящую меру сложности. Проблема не в том, что таких мер нет, а в том, что можно предложить целый ряд различных мер и, похоже, нет веских доводов в пользу какой-то одной из них.
Размышления адресуются психологам. Как ребенок может обучиться языку? Было высказано предположение, что обучение языку ——процесс „вербального ограничения4*, аналогичный обучению механическим навыкам. Это предположение не подтвердилось фактами. Во всем мире дети начинают разговаривать, используя простые грамматики, затем переходят к более сложным. Оказывается, что порядок, в котором типы грамматик „рассматриваются4* детьми^ почти не зависит от самого изучаемого языка (Дейл, 1972). До какой степени идея естественного перечисления грамматик применима к построению модели обучения первому языку? Эта идея, возможно, сначала кажется „притянутой за уши", но проверка предположений, сделанных рядом современных структурных лингвистов (Леннеберг, 1967, 1969; Келли, 1967), показала, что по крайней мере внешне идея онтогенетической последовательности пробных грамматик похожа на идею оккамовского перечисления.
Объединение бейесовских процедурс перечислением
Лингвистическое перечисление приводит к выбору наилучшей пробной грамматики для заданной выборки. Статистический подход к грамматическому выводу приписывал бы каждому кандидату в грамматику вероятность быть „правильной** грамматикой. Эти два подхода были объединены Хорнингом (1969); упоминались они и в работах Ханта (1965) и Ватанабе (I960).
Понятие грамматики надо модифицировать так, чтобы учесть „вероятность появления предложения**. Пусть G ——порождающая грам-
матика, тогда каждая ее продукция будет иметь вид r->s, где г и s ——цепочки из словаря грамматики G. Будем обозначать k продукций с г в качестве левой части через rl, ... , rk. Стохастическая грамматика S (G) получается из G, если каждой продукции ri приписать вероятностную меру 】)р (г,). Эта мера определяет вероятность того, что к цепочке г (если она есть) будет применена продукция п. Нияк (1972) предлагает следующий пример:
ПродукцияПродукцияВероятность примененияВероятность примененияSIS —f aA2/3S2S~今aSB1/3414-f必1/4Д2A-f b3/4818 —cB1/432B-3/4SIS —f aA2/3S2S~今aSB1/3414-f必1/4Д2A-f b3/4818 —cB1/432B-3/4(18)(18)
Продукция
Продукция
Вероятность применения
Вероятность применения
SI
S —
f aA
2/3
S2
S~
今aSB
1/3
41
4-
f必
1/4
Д2
A-
f b
3/4
81
8 —
cB
1/4
32
B-
3/4
SI
S —
f aA
2/3
S2
S~
今aSB
1/3
41
4-
f必
1/4
Д2
A-
f b
3/4
81
8 —
cB
1/4
32
B-
3/4
(18)
(18)
Цепочка aabbcc вводится так:
ЦепочкаЦепочкаПродукцияПродукцияВероятностьВероятностьSS21/3aSBBl1/4aScB823/4aSccSI2/3aaAccA\1/4aabAcc423/4aabbccSS21/3aSBBl1/4aScB823/4aSccSI2/3aaAccA\1/4aabAcc423/4aabbcc(19)(19)
Цепочка
Цепочка
Продукция
Продукция
Вероятность
Вероятность
S
S2
1/3
aSB
Bl
1/4
aScB
82
3/4
aScc
SI
2/3
aaAcc
A\
1/4
aabAcc
42
3/4
aabbcc
S
S2
1/3
aSB
Bl
1/4
aScB
82
3/4
aScc
SI
2/3
aaAcc
A\
1/4
aabAcc
42
3/4
aabbcc
(19)
(19)
Перемножая вероятности из правого столбца в (19), находим вероятность порождения цепочки x=aabbcc, а именно р (x|G)= 18/2304. Эта величина может показаться слишком малой, но это и надо было ожидать. Для нашего интуитивного представления о языке любое конкретное предложение языка должно иметь небольшую вероятность.
1) Если {р (")} — множество вероятностных мер, то 0<р(п')],斗pg=l・
Введенное выше определение согласованности пригодно для стохастических грамматик, поскольку две стохастические грамматики, порождающие один и тот же язык, могут отличаться вероятностями появления отдельных предложений.
Стохаст и ческая согласова н ноешь
Две грамматики Ga и Gb называются стохастически согласованными, если они согласованы и p(x\Ga)—p(x\Gb) для всех xgT*.
Вспомним выдумку об экспериментаторе, выбирающем грамматику G* € G н использующем ее для порождения предложений выборки, которая должна определять G*. Предположим, что существует вероятность р (G) выбора любой конкретной грамматики G € G для использования ее в качестве G*. Предположим далее, что обучающийся (или машина вывода) может вычислить p(G). Вероятность p(G) будет называться априорной вероятностью выбора G. Если обучающийся применяет для вывода G no S± бейесовскую процедуру, то апостериорные вероятности будут приписываться в соответствии с правилом
p(G|S°) = p(G),(20)
р (G I SJ = Y(xJG)p(G|St i) .(21)
2 P(x/&)p(G」S”i)
Вычислить (21) трудно, поскольку суммирование надо провести по бесконечному множеству G, правда, не все его элементы различны. „Наиболее очевидный** способ обойти эту трудность заключается в ограничении вычислений множеством G+ грамматик, априорные вероятности р (G) которых превышают некоторое произвольно малое число е, К сожалению, это решение имеет недостаток 】).Если ограничиться лишь каким-то подмножеством G+ множества G возможных грамматик, то с некоторой произвольно малой вероятностью G* может оказаться вне рассматриваемого множества, т. е. будет принадлежать G—G+. Можно, однако, решить исходную проблему с помощью минимизации функции несовместности. Допустим, множество G упорядочено по возрастанию априорных вероятностей его грамматик: G, ... , G— G/ +1, ... , G『,где t>j означает, что p(G,)》 ^p(G) То же упорядочение даст оккамовское перечисление, в котором используется функция внутренней сложности
c(G, G)=—logz(p(G)).(22)
функцию сложности вывода можно выбрать так, чтобы она отражала вероятность появления выборки:
d ㈢,G) = — log? (p (SJG)) = -S log2 (p (xj G)).(23)
i— 1
Бейесовское решающее устройство, которому на каждом этапе процесса вывода приходится выбирать единственную грамматику, должно выбрать такую, чтобы величина
q=p(St\G)p(G)(24)
была максимальной. Это эквивалентно минимизации функции несовместности
g(S., G)=d(S., G)+c(G, G),
где d н с определяются формулами (22) и (23). Отсюда видно, что существует процедура перечисления, минимизирующая на каждом шаге процесса предъявления функцию несовместности и выбирающая ту же грамматику, что и бейесовская процедура. Мы уже отмечали, что процедура перечисления может выбрать грамматику, минимизирующую функцию несовместности на бесконечном множестве грамматик. Следовательно, это решает (утвердительно) вопрос р том, можно ли построить бейесовский алгоритм вывода, который будет находить для каждой выборки бейесовскую оптимальную грамматику, даже если множество возможных грамматик бесконечно. Вот этот алгоритм: '
Бейесовский алгоритм перечисления для стохастического текстуального представления
Пусть G1, G2, ... , G* G'+工 …— оккамовское перечисление бесконечного множества G, использующее функцию внутренней сложности вида (22).
При заданной выборке St найти такое наименьшее целое 厶 что St^L (Gz). Подсчитать значение
q = p(S/G£)p(G)(25)
Найти такое наименьшее целое 左,что p(G也)Vq. (Ясно, что p(St\Gk)p(G^^p(Gk)<q,(26)
Так как (26) справедливо для любого /п>財 то целое число /, максимизирующее p(S/G“(G/) на G, должно лежать в интервале от( до k—1 включительно.)
Выбрать G」из множества G+= {G‘,….,G佗~】}, пользуясь обычной бейесовской процедурой вывода. Этим определяется
бейесовский оптимальный выбор грамматики из G, объясняющей S,Добавить x/+i к St, образовав S/+i, и повторить процесс с шага 2.
Таким образом, бейесовскую индукцию можно применять для выбора наилучшей грамматики, объясняющей фиксированную выборку. Естественно, что мы также заинтересованы в ограничениях в ходе процесса выбора. Уверены ли мы в том, что правильная грамматика G* всегда будет рассмотрена (т. е. в конце концов станет элементом множества G+), и каковы шансы, что она, будучи там, окажется выбранной в качестве оптимальной?
Независимо от положения грамматики G* в перечне на некотором этапе ее должны включить в G+, если она еще не там. Пусть G"— первая в перечне грамматика, для которой L(G*)uL(G"). При стохастическом текстуальном представлении на некотором этапе fr все предыдущие грамматики в перечне будут исключены из-за их неспособности допускать некоторые предложения из Sf〃、 На этом этапе G" станет первой грамматикой в G+. Если G"=G*, то G*, безусловно, будет в G+. Грамматика G* также могла оказаться в G+ на этапе 匕 если
р (S〃 I G〃) р (G") & р (S“ G*) р (G*). (27)
В любом случае f=t*. Если неравенство (27) не выполняется на этапе 产,то оно будет выполнено на некотором последующем этапе £"+历 В самом деле, если G" стохастически не согласуется с G*, то
limlimР (S佗 I G')二 ”2)—Р (S佗 I G')二 ”2)—0.0.(28)(28)
lim
lim
Р (S佗 I G')二 ”2)—
Р (S佗 I G')二 ”2)—
0.
0.
(28)
(28)
Как только грамматика G* будет в G+, бейесовская индукция при неограниченном росте / приведет к выбору ее в качестве наиболее вероятной грамматики для объяснения St. Чтобы в этом убедиться, рассмотрим множество X различных предложений в St безотносительно к числу их появлений. Пусть / (х)——частота появления предложения х и Cg(x) —— ожидаемое число появлений х в предположении, что для порождения исследуемой выборки используется грамматика G. Можно показать (Хант, 1965), что если для выбора гипотетической „наилучшей44 грамматики из фиксированного множества грамматик 】)применяется бейесовский вывод, что выбранная грам-
Строго говоря, результат Ханта был получен для любого конечного множества гипотез. Грамматический вывод является частным случаем.
матика минимизирует величину
C=g况瑞吗(29)
При неограниченном росте t эта функция достигает своего абсолютного минимума (нуля) только на грамматике, для которой
eG (x) = ^g*(x)(30)
при всех xWT*. Это переформулировка условия стохастического согласования. Таким образом, в пределе алгоритм бейесовского перечисления выберет в полученном перечне первую грамматику, стохастически согласованную с G*. Этот результат отличается от соответствующего результата для формального лингвистического вывода. С учетом информации о частотах бейесовская процедура может достичь стохастического согласования только при текстуальном представлении, тогда как процедуры формального лингвистического перечисления, основанные на минимизации функции несовместно* Ста, не могут при текстуальном представлении даже приблизиться к G*.
Тот факт, что в бейесовском выводе используется (и на самом деле требуется) текстуальное представление, а в лингвистическом эффект больше при работе с информаторным представлением, ставит интересный вопрос. Можно ли объединить стохастическое текстуальное представление с эффективным информаторным представлением, опираясь на то, что бейесовская индукция указывает грамматику, которая лучше всех объясняет S^ а также другие грамматики, дающие разумные альтернативные объяснения? Предположим, например, что бейесовская процедура перечисления показывает, что G。 максимизирует апостериорную вероятность выбора, а величина апостериорной вероятности для G。почти такая же. Не будет ли разумным в случае информаторного представления выбирать x/+x в качестве цепочки, допускаемой только одной из этих двух грамматик? Как нужно было бы изменить соответствующие алгоритмы вывода и перечисления? Непосредственно этот вопрос не изучался. Интересующийся читатель может посмотреть работы Ханта (1965) и Ватанабе (I960, 1969), имеющие некоторое отношение к рассматриваемому вопросу.
Довод в пользу осуществления бейесовского вывода с помощью перечисления опирается на нашу способность проводить необходимое оккамовское перечисление в G. Разумно предположить, что можно построить машину, порождающую все более сложные грамматики из некоторого класса. Но можно ли построить машину, порождающую все менее и менее вероятные грамматики? Ответ на этот вопрос, по-видимому, лежит в области философии, поскольку он зависит от того, как определить „менее вероятные*4. Может создать-
ся впечатление, что неформальный довод в пользу перечисления, основанного на вероятности, слабее довода в пользу перечисления, основанного на сложности.
Можно поставить также вопрос о том, насколько широко применимо понятие стохастической грамматики. В некоторых случаях оно оказывается полезным. Свейн и Фу (1972) использовали для анализа простых рисунков очень похожее понятие — стохастические программированные грамматики. Однако пока не ясно, какую пользу может принести это понятие. Были высказаны серьезные сомнения относительно соответствия стохастического описания естественному языку. Приведем два основных возражения, Одно заключается в том, что понятие вероятностного упорядочения символов принципиально неверно, поскольку при этом не учитывается смысл сказанного. Это собственно философский довод. Другое возражение более прагматическое. Предположим, что мы допускаем, что статистическое описание порождения языка стохастической грамматикой в принципе возможно. Однако практически естественные языки выглядят настолько сложными, что оценить соответствующие параметры не удается, и надо найти какой-нибудь другой вид лингвистических описаний (Миллер и Хомский, 1963). Этот аргумент нисколько не умаляется демонстрацией пригодности перечисления, так как основная идея Миллера и Хомского заключается в том, что сама процедура перечисления слишком громоздка.
Конструктивные процедурыграмматического вывода
При перечислении последовательность грамматик порождается независимо от выборки и каждая грамматика оценивается относительно этой выборки. Это полезное представление операции вывода, но маловероятно, чтобы оно могло быть практически полезно. Может потребоваться очень много времени, чтобы отвергнуть грамматики, которые „очевидно** не должны рассматриваться при данной выборке. Другой способ вывода ——изучить выборку и построить по ней простую грамматику, порождающую язык, в который входят все положительные предложения этой выборки. Процедура построения должна ограничиться „разумными** грамматиками, т. е. такими, которые на некотором этапе / процесса вывода способны породить St. К сожалению, в настоящее время нет полностью удовлетворительных методов для решения этой задачи, а те, что есть, строят грамматики из ограниченных классов и имеют тенденцию при весьма малых выборках строить мало изящные грамматики. Похоже, что в ближайшие годы появится ряд новых и лучших методов. В качестве иллюстрации изложим три несколько различные процедуры. Четвертый конструктивный метод, предназначенный для работы с двумерными рисунками, будет описан в разделе, посвященном грамматикам изображений.
Метод Соломонова
В одном из первых обсуждений этой проблемы Соломонов (1964а, б) предложил метод вывода контекстно-свободных грамматик по конечной выборке. Его метод основан на „теореме uvwxy" для контекстно-свободных языков (Хопкрофт и Ульман, 1969).
Теорема uvwxy. Если L — контекстно-свободный яз“к, то суще- сгпвуют такие постоянные р 〃 д>0, зависящие только от L, что если 8 L есть цепочка z длины, большей, чем р, то ее можно записать в виде uvwxy, где vwx имеет длину, меньшую, чем q, a v и х не являются одновременно пустыми цепочками. Если z принадлежит L, то для любого целого i5>0 цепочка uv'wx’y, где s'——конкатенация цепочки s самой с собой / раз, также принадлежит L.
В теореме утверждается, что если St ——выборка из языка L и L порождается контекстно-свободной грамматикой, то достаточно длинная цепочка z ^ S/ (если она существует), состоит из ядра w, окруженного двумя повторяющимися цепочками v и х, из которых только одна может быть пустой, а также головной и и хвостовой у цепочками, которые обе могут быть пустыми. Грамматика языка 工 должна содержать продукции для порождения таких предложений. В частности, она должна содержать продукции, с помощью которых можно вывести бесконечное множество подцепочек вида v'wx' из некоторого нетерминального символа Л; (/=0,…,м). Один из способов — включить в грамматику продукции
Лу 一 v/1yX; Aj —> w. (31)
Задача сводится к поиску подходящих цепочек v, w и х.
В упрощенной версии процедуры Соломонова в выборке разыскиваются цепочки вида v『wx‘ с учетом позиций, в которых цепочки могут оказаться пустыми. Предположим, что найдены цепочки с одинаковыми V и х, но с разными ядрами w. Тогда выбирается некоторый нетерминальный символ Л; и к грамматике добавляются необходимые продукции. Вообще говоря, это приведет к множеству Wj ядер, соответствующих нетерминалу А^ Процедуру можно рекурсивно применять к IF; и добавлять новые нетерминалы и продукции До тех пор, пока не исчерпаются все нетерминалы Л;(/=0,... , п). Получившаяся грамматика определит язык, содержащий данную выборку.
Для иллюстрации этого метода выведем грамматику из выборки
Sf = {abccdef, abbbcdeeef, abcccde^ abbbbccccdeeeef}. (32)
Все цепочки в S$ имеют вид ^wf. Включим в G продукции
о о'°'°о 4 4 4 4 4о о'°'°о 4 4 4 4 4—^@4,(33)
о о'°'°о 4 4 4 4 4
о о'°'°о 4 4 4 4 4
—► bcccde
—> bbbcdeee
―> bcccde
Грамматика уже слишком обобщена, поскольку допускает цепочки вида а%产,которых нет в рассматриваемом языке. Это конкретная иллюстрация уже сделанного замечания об ограничениях при текстуальном представлении.
Затем алгоритм рекурсивно применяется к множеству WQ=
—{bcccde, bbbcdeee, ...}. Все его цепочки имеют вид b&we&. Заменим последние четыре продукции в (33) на А^Аг и добавим продукции
Лх —> cccd(34)
—> cccd
4 一 ccccd
Теперь рассмотрим множество 呼卜 Цепочки в нем имеют вид 濟w九匕 где 九——пустая цепочка. Заменим последние три продукции в (34) на 4f 儿 и добавим к грамматике
Л2—> сА2К(35)
4 ~^ d
Разумеется, пустую цепочку 九 можно отбросить. Множество {d} далее нельзя уменьшить. Получается грамматика
二二一А А л Л А二二一А А л Л А(36)(36)
二二一
А А л Л А
二二一
А А л Л А
(36)
(36)
Xq —>■ d
Она порождает язык, содержащий выборку S九 но не только ее одну.
Применяя алгоритм uvwxy, можно разными способами определить цепочки V, w и х. Вид получаемой грамматики сильно зависит от выбранного способа. Это хорошо видно на примере, возникшем в связи с определением арифметического выражения, а не для того, чтобы продемонстрировать работу нашего алгоритма х). Для удоб-
ства пронумеруем цепочки из S/:v + v + v v^v+v+vства пронумеруем цепочки из S/:v + v + v v^v+v+vа2)⑶幻а2)⑶幻(37)(37)Если определять цепочки так,Если определять цепочки так,чтобы они были единичной длины, как подразумевалось в предыдущем примере, то все они (кроме (1)) имеют вид UwU, а начальное множество продукций таково:
ства пронумеруем цепочки из S/:
v + v + v v^v+v+v
ства пронумеруем цепочки из S/:
v + v + v v^v+v+v
а2)⑶幻
а2)⑶幻
(37)
(37)
Если определять цепочки так,
Если определять цепочки так,
4 ―vAqV
4 —。для(1)(38)
4—+для⑵
4 一 +u+ 4一+u+0+
Это множество продукций ведет к нежелательным последствиям: в дальнейшем получается слишком сложное множество продукций для этого простого случая. Кроме того, грамматика (38) допускает такие цепочки, как nw+nw, нежелательные в рассматриваемом языке. Другой способ исходит из того, что продукция Ло->и 'должна быть в грамматике для вывода цепочки (1), а цепочка (3) имеет вид (и+)1и(+и)1. Тогда начальным множеством продукций должно быть
(39)(39)4 ~。
(39)
(39)
儿一►AО
Уже эти продукции создадут требуемый язык, но они обладают зет® тическим недостатком, так как первые две определяют два различных типа основных арифметических выражений. Эту трудность можно обойти, если наш алгоритм подойдет к анализу предложений (37) с иных позиций. Напомним, что теорема uvwxy позволяет, чтобы одна из цепочек v или х была пустой. Предположим, что (37)— это множество предложений, в которых v есть пустая цепочка 九, Тогда последние три предложения имеют вид Z?w(+t>)& Опуская 九纟 получаем грамматику
4 ~4+。
(40)(41)(40)(41)Эти две продукции порождают требуемые арифметические выражения так, что уровни вложения в полученной грамматике соответствуют разумной последовательности вычислений.
(40)
(41)
(40)
(41)
Итак, алгоритм uvwxy создает основу для разработки нескольких алгоритмов грамматического вывода. Как показывает второй
7 Э. Хант
пример, полезность обсуждаемого метода в каждом отдельном случае сильно зависит от выбранного способа выделения цепочек v, w и х. Таким образом, упрощенный метод Соломонова сам по себе не приводит к разработке эквивалентных алгоритмов грамматического вывода. Полная процедура, которую применял Соломонов, несколько изящнее и ограничивается более узким классом порождаемых ею грамматик. Однако многие из проблем, упомянутых при обсуждении иллюстраций, остаются нерешенными. Интересующийся читатель может ознакомиться со статьями Соломонова (1964а, б) и их обсуждением в работе Бирмана (1971).
GRIN /
Фельдман (1967; Фельдман и др. 1969) разработал программу GRIN 1, осуществляющую грамматический вывод. Она ориентирована на вывод (регулярных) грамматик с конечным числом состояний, т. е, грамматик, продукции которых имеют вид Л『&力冗 или А『а. Регулярную грамматику, порождающую каждое из предложений некоторой фиксированной выборки, всегда можно найти, поскольку конечные языки могут определяться регулярными грамматиками.
Программа функционирует в два этапа. На первом формируется множество продукций, достаточных для порождения выборки. Это множество включает в себя определенные продукции, называемые остаточными и имеющие вид А^аЬ, На втором этапе эти продукции сливаются и лишние отбрасываются, а оставшиеся образуют регулярную грамматику, определяющую тот же язык, что и на первом этапе.
Для иллюстрации метбда выведем грамматику из выборки
S、= {caaab, bbaab, caab. bbab, cab, bbb, cb}. (42)
Сначала GRIN 1 ищет продукции для вывода самых длинных цепочек, затем менее длинных и т. д,, добавляя на каждом шаге как можно меньше продукций. Правая часть последней продукции, применявшейся при выводе самых длинных цепочек, должна состоять точно из двух терминальных символов. Такие продукции и будут остаточными продукциями, отбрасываемыми на следующем этапе.
ляляляляСначала должна анализироваться цепочка caaab, GRIN 1 формирует продукции
ляля
ляля
> 
—^&4(43)
—>ab (остаточная)
До будет начальным символом нашей грамматики, так что с него должен начинаться каждый вывод. Затем анализируется bbaab, еще одна „самая длинная цепочка''. Новые продукции таковы:
4 ~*■ ЬА^
儿一*b4
(44)(44)4 —a儿
(44)
(44)
4—*ab (остаточная)
Далее идет цепочка caab\ частично ее можно вывести с помощью уже имеющихся продукций. Применяя продукции А^сА^, Л^^Л2, А 2-^«Л з в указанном порядке, получаем сааА3. Осталось добавить только продукцию
43fb(45)
Для вывода цепочки ЬЬаЬ применяем 40fb4《,A^-bA^ A^aAQ> получая в результате ЬЬаА 6, и добавляем
4 —匕(46)
Для остальных цепочек добавляем
A1->&4 2—аЬ/4 l>Ь(47)
Вся грамматика состоит из продукций 儿一сА± Ло —ЬА^
4? —► bА2 —♦■ &/4з
43 fbA3-^ab (остаточная)(48)
4-孙5
zig—*匕力6—»ab (остаточная)
Далее остаточные продукции сливаются. Например, продукция А^Ь лишняя, так как есть продукция А5-^Ь. Для вывода последовательности ab пишем А^аАь вместо А^аА& Это позволяет отбросить остаточную продукцию А^аЬ и лишнюю продукцию А^Ь. Аналогично отбрасывается 4з->аЬ и А^Ь. Новая грамматика состоит из продукций
Aq —► сЛ,1Ах ―► b4 一 4& —ЬА^4 ~ьAq —► сЛ,1Ах ―► b4 一 4& —ЬА^4 ~ь(49)(49)4 -^a44 -^a44。 —►b4 А1 —►042 42—»■ Q#2
Aq —► сЛ,1
Ах ―► b
4 一 4& —ЬА^
4 ~ь
Aq —► сЛ,1
Ах ―► b
4 一 4& —ЬА^
4 ~ь
(49)
(49)
4 -^a4
4 -^a4
Заметим, что новая грамматика содержит рекурсивные конструкции и, таким образом, способна породить бесконечный язык.
Наконец, грамматика упрощается еще больше, но так, чтобы порождаемый ею язык не изменился. Для этого сливаются продукции, которые отличаются только обозначением переменной. В (49) можно подставить Аг вместо Л2 во второй и третьей строках, и тогда получатся две одинаковые строки. Подобным же образом сливаются Лх и Лб. Отметим, что при этом необходимо сделать соответствующую замену во всем множестве продукций. В результате получается упрощенная грамматика
4► сА^Ао―► ЬАЛ
Ai—^aA14fb(50)
{4 >
Для построения из цепочек стержневых грамматик была написана похожаяs но более сложная программа GRIN 2. Эти грамматики могут порождать языки, обладающие многими свойствами простых языков программирования.
Вывод с использованием семантики
Практически применяемые грамматики образованы не абстрактными продукциями, а командами построения предложений, имеющих смысл. Рассмотрим, в частности, языки программирования. Оператор на Фортране
А=В+С(51)
—это команда „выбрать из памяти значение С, поместить его в рабочий регистр, выбрать из памяти значение В, сложить со значением С, хранящимся в рабочем регистре, и поместить результат в регистр для Л*\ Семантическая структура формулы (51) с учетом порядка выполнения операций имеет вид
[⑷=Н81+[С】Н,(52)
где каждый уровень вложения соответствует элементарной операции на Фортране. В работах Креспи-Регицци (1971) и Креспи-Ре- гицци, Мелканов и Лихтен (1973) излагается процедура грамматического вывода, в которой для вывода грамматики, лежащей в основе рассматриваемого языка, используется знание семантики предложений в выборке. Креспи-Регицци с соавторами высказали мысль о том, что эта процедура могла бы помочь разработчикам языков программирования, позволив им описывать примерами язык, который они хотят получить, вместо того, чтобы давать его формальное определение. Соответствующая грамматика была бы построена тогда при помощи вывода по примерам.
Вывод осуществляется в три этапа. (1) Для каждой цепочки из S+ формируется пробная грамматика. („Не предложения** не рассматриваются.) Грамматика, построенная для одной цепочки, достаточна для порождения именно этой цепочки. (2) Каждая пробная грамматика затем обобщается описанным ниже способом. (3) Наконец, различные пробные грамматики сливаются, и окончательная грамматика представляет собой объединение обобщенных пробных грамматик. Детали метода можно проиллюстрировать на примере одного предложения. Пусть
(53)(53)s=[[a]+[[al+[d]],
(53)
(53)
где а ——это неформально „имя переменной44. Предложение (53) служит примером цепочки сложений. Ее семантическая структура указывает на то, что сложения выполняются в порядке справа налево.
Для построения пробной грамматики предположим, что z — цепочка в s на самом нижнем уровне вложения. Она целиком состоит из терминальных символов. Продукция N,->z, очевидно, должна принадлежать этой грамматике. Подстановка М вместо z убирает один уровень вложения. Пусть у — цепочка (нового) самого нижнего уровня вложения. Отметим, что у может содержать нетерминальные символы. Добавляем к грамматике продукцию "—у и действуем, как раньше. Продолжаем добавлять продукции до тех пор, пока не будет убран самый верхний уровень вложения. Для примера (53) последовательность результатов такова:
ШагЦепочкаПродукция0[[а]+[[а]+[а]]]Ni1[M+WN 山2[№ + %]м—М+必3S -ШагЦепочкаПродукция0[[а]+[[а]+[а]]]Ni1[M+WN 山2[№ + %]м—М+必3S -(54)(54)
Шаг
Цепочка
Продукция
0
[[а]+[[а]+[а]]]
Ni
1
[M+WN 山
2
[№ + %]
м
—М+必
3
S -
Шаг
Цепочка
Продукция
0
[[а]+[[а]+[а]]]
Ni
1
[M+WN 山
2
[№ + %]
м
—М+必
3
S -
(54)
(54)
Грамматика (54) порождает в точности цепочку (53). Для обобщения грамматики нетерминальные символы объединяются в классы, определяемые цепочками терминальных символов, выводимыми из нетерминалов одного класса. Из двух предложенных Креспи- Регицци и др. алгоритмов мы опишем более простой. В этом алгоритме два нетерминала сливаются, если множества терминалов, которые могут появиться в качестве первого или последнего символа цепочек, выводимых из каждого нетерминала, совпадают. Точнее, пусть продукция Mf z принадлежит пробной грамматике, Определим левое терминальное множество Lt (z) цепочки z как множество терминальных символов, которые могут появиться в качестве самого
левого терминального (не обязательно самого левого) символа в цепочке, выводимой из z. Аналогично определим правое терминальное множество Rt(z). Терминальным сечением Тр(А,для ^^ назовем упорядоченную пару (Lt (z), Rt(z)〉. Два нетерминала Л\ и Nj сливаются, если их терминальные сечения совпадают.
Применим этот метод обобщения к грамматике (54), чтобы лучше разобраться в работе алгоритма. Но сначала надо задать правило вычисления терминального сечения.
Пусть z — цепочка и 芍一ее первый терминал. Множество Lt (z) состоит из Zj и левых терминальных множеств всех нетерминалов, предшествующих 引 в z. Аналогично для Rt (z), только теперь 刁一 это самый правый терминал в z, и он объединяется с правыми терминальными множествами всех нетерминалов, следующих за 刁 в z.
Обобщим теперь грамматику (54). Первый шаг — нахождение Тр(М):
Lt(a) = Rt(a) = {a}
Тр(Л\) =〈а, а>(55)
Подставляя вместо символа ^1 его терминальное сечение, подсчитываем Тр(М):•
№ — Nf + N* 一 Q +〈a, Q
Lt (〈a, Q> +〈a, a〉) + Rt(〈a, a> +〈a, Q>) = {a + }(56)
Tp(M) = “ + , a +〉
Делаем подстановку опять, на этот раз для подсчета Тр(2§):
М — М + М 一 С。,а〉+〈а + , а + >
Lt(〈a, q〉+〈a + , 〃 +〉)= &(“,〃> + « + , 〃 +〉)= {& + }(57) Тр(М) =〈а+, " + >
Поскольку 22 H М имеют одинаковые терминальные сечения, то #2 может везде заменить N3. В результате получаем грамматику 】)
N?—» N工 + N、(58)
х) В этом примере Lt(y)=Rt(y). Это не всегда будет так. Цепочка s2=(r(r[al+ [◎]])]+[〃]] приводит к пробной грамматике
4 f a ■Тр (Дi)=(a, а)
4 f 4+4Тр (Д2)=(«+,。+〉
,з f Ms)тр (4)=2(,“
4 f ^з+Л)Тр (Д4)=(+(,а+)
s Д4
Грамматика (58) порождает такие цепочки, как
[[&] + [«]],[[&] + [[〃] + [〃]]],(59)
[[&]+[[&]+[同+W]]]»
представляющие собой разумное обобщение цепочки (53). Действительно, для формирования грамматики, описывающей арифметические выражения, достаточно 10 продуманно выбранных предложений. Ясно, что этот алгоритм обладает рядом интересных свойств. Вместе с тем он имеет и недостатки. Креспи-Регицци и др. отмечают, что алгоритм формирует ограниченное множество грамматик операторного предшествования (Айронс, 1961). Чтобы поправить дело, они предлагают метод обобщений, в котором нетерминалы сливаются только в том случае, когда их терминальные сечения совпадают (если рассматривать не более 力 выводов). Полученная процедура формирует более широкий класс грамматик. Другая важная характеристика их метода (не ясно, что это ——достоинство или недостаток) состоит в том, что он сильно зависит от качества выборки. Это заставляет разработчика языка быть особенно тщательным в своих исследованиях, что, возможно, и хорошо.
Заключения относительноформального грамматического вывода
Это новая и многообещающая область. Поставленные математические проблемы четко сформулированы и интересны, но пока еще в этой области мало что известно. Мы изложили лишь несколько подходов из тех, какие можно было бы предложить. Интересующийся читатель может ознакомиться с подробностями в обзоре Бирмана и Фельдмана (1972). Ни один из предложенных пока методов вывода даже отдаленно не выглядит практически применимым способом построения грамматики искусственного языка, сравнимого по сложности, скажем, с Алголом, но можно построить грамматики, соответствующие фрагментам такого языка. Безусловно, мы еще не заняли тех позиций, с которых можно начать атаку на естественные языки! В следующем разделе мы изучим вопрос о возможности применять грамматические методы для описания классов двумерных фигур. Это интересное приложение, но оно ставит ряд специфических вопросов. Оставляя в стороне практические приложения, Фельдман (1972) указывает, что возникает много интересных теоретических вопросов. Например, каков результат работы с данными при наличии шума, т. е. ошибочной идентификации некоторых предложений как положительных или отр и цате льных ? Какие правила должна использовать машина грамматического вывода при взаимодействии с информатором? Наконец, как высказано в работе Креспи-Регицци, существенную помощь может оказать учет семантики в предложениях выборки.
7.2、Грамматический анализ двумерных образов
0. Изображения как лингвистические объекты
Было бы прекрасно, если бы вычислительные машины могли непосредственно воспринимать двумерные изображения. Например, машина могла бы тогда разменивать деньги в различных валютах. Подобные устройства могли бы анализировать фотографии, полученные от спутников погоды, проводить идентификацию отпечатков пальцев и классифицировать медицинские снимки. От читателя не требуется большого воображения, чтобы придумать много других применений. Фантасты считают, что машина, воспринимающая изображения, составляет непременную часть технологии, которой мы еще не достигли, но уже будем иметь к 2001 г., от которого нас отделяет около 25 лет. Джордж Оруэлл допускает возможность распознавания человеческих лиц в 1984 г. Реальность может быть несколько более скромной. От машинного зрения на уровне, приближающемся к человеческому, нас отделяют безусловно многие годы. Машина, анализирующая контурные рисунки, может быть ближе по времени, но даже и здесь все выглядит удивительно неопределенным. В настоящем разделе обсуждается метод анализа и классификации очень простых рисунков, основанный на грамматической классификации и выводе. Читатель, видимо, согласится с тем, что в принципе можно было бы распространить наш метод и на сложные, детализированные изображения. Однако следует обратить внимание на то, что такое распространение метода быстро стало бы очень и очень сложным. Анализ изображений, кажущийся простым для человека, может привести к значительным вычислительным трудностям.
Мы уже видели, что понятие допускаемых входных данных для вычислительного процесса внутренне связано с понятием правильно построенного выражения в формальном языке. С другой стороны, хотя с помощью грамматического анализа всегда можно определять входы машинной программы, это не всегда самый естественный путь описания программы и ее работы. Ранние попытки классификации изображений содержали этап предварительной обработки, на котором анализируемое изображение отображалось в вектор фиксированной длины. Каждая компонента вектора указывала значение яркости в соответствующей точке плоскости изображения. Затем для работы с „изображениями** применялись методы классификации векторов. Такой подход был не особенно удачным. Это могло быть связано с тем, что некоторые важные классы изображений определялись соотношениями между их компонентами, а не наличием какой- нибудь абсолютной характеристики. Прекрасный пример ——различие между классами изображений „окружность внутри квадрата" и „квадрат внутри окружности4*. Мы уже говорили о том, что с та-
кими понятиями довольно тяжело работать, если пользоваться обычными методами классификации векторов (Минский и Пейперт, 1969).
При обсуждении „состояния дел" в искусственном интеллекте (Минский, 1959, 1963) и вообще вычислительных науках (Ледли, 1962) отмечалось, что при изучении формальных грамматик возникают понятия, уже знакомые в вычислительных науках и пригодные для описания классов, определяемых соотношениями между компонентами. Эти идеи привели к разработке ряда „грамматик44, предназначенных для анализа и классификации рисунков. На эту
Таблица 7.1
Бинарные операции Л?я изображений (,еЛ?〃,1962)
Символ ЗначениеСимвол ЗначениеЦепочка ИзображениеЦепочка Изображение
Символ Значение
Символ Значение
Цепочка Изображение
Цепочка Изображение
находиться наднаходиться надОУОУшорться рядом сшорться рядом с®ш^тш внутрис加z破дм внутризна因就few他®ш^тш внутрис加z破дм внутризна因就few他находиться сберхднаходиться вплотную рядом снаходиться сберхднаходиться вплотную рядом с0" □ о □ о° □△ 1 D О 口0" □ о □ о° □△ 1 D О 口OD о 0 нбаOD о 0 нба
находиться над
находиться над
ОУ
ОУ
шорться рядом с
шорться рядом с
®ш^тш внутри
с加z破дм внутри
зна因就few他
®ш^тш внутри
с加z破дм внутри
зна因就few他
находиться сберхд
находиться вплотную рядом с
находиться сберхд
находиться вплотную рядом с
0" □ о □ о° □
△ 1 D О 口
0" □ о □ о° □
△ 1 D О 口
OD о 0 нба
OD о 0 нба
тему написано несколько хороших обзоров (Фу и Свейн, 1971; Миллер и Шоу, 1968), и мы постараемся здесь не выходить за рамки основ этого подхода. Изложив основы, мы рассмотрим задачу грамматического вывода для грамматик изображений. Закончим этот раздел некоторыми критическими замечаниями по поводу применения лингвистического подхода к классификации изображений.
Пояснение основных понятий
•Для выполнения грамматического анализа нужно описать класс интересующих нас изображений в терминах соотношений между компонентами, которые можно отобразить в цепочки символов. Такие правильно построенные выражения отвечают „правильно на-
Таблица 7.2
Грамматика, порождающая язык для описания нарисованных домов
Словарь
Множество продукций
<дверь>:
<окно>:
<труба>:
<фронтон>:
<крыша>:
<стена>:
<внд спереди>:
<внд сбоку>:
S:
;=<дверь> <стена> <окно>
:= <стена> <труба> <фронтон> <труба> <крыша>
:=<фронтон> <стена> <крыша> <стена>
:—<вид спередн> | <вид сбоку>
Л/=〈дверь〉,<окно>, <тру0а>, <стена>, <фронтон>, <крыша>, <внд спередн>,
<вид сбоку〉, s
「= { }
рисованным изображениям" и могут считаться языком с соответствующей грамматикой. В большинстве случаев достаточно исследо- вать языки, порожденные грамматиками непосредственно составляющих.
Рассмотрим фигуру 自 которую можно описать цепочкой □ 1Д, где £ интерпретируется как „находиться сверху". Ледли (1962) использовал эту и другие подобные операции (приведенные в табл. 7.1) для определения языка, описывающего нарисованные дома. Контекстно-свободная грамматика, представленная в табл. 7.2, порождает язык, описывающий изображения на рис. 7.1, а, но не на рис. 7.1, 6.
Применение грамматики изображений можно разбить на три этапа. Сначала определяется грамматика, способная порождать описания интересующего нас класса изображений. Часто это требует изобретательности. Затем надо найти подходящий для полученной грамматики способ разбора предложений. Это обычно решается непосредственно. Наконец, надо найти способ преобразования изображения в соответствующую цепочку. Эта задача может оказаться сложной. Часто совсем не просто перейти от зрительного образа к цепочке символов, воспринимаемой машиной. Продемонстрируем на примере нарисованных домов метод преобразования изображений в цепочки, который хорошо работает с простыми грамматиками и с четко очерченными рисунками 1). Для иллюстрации метода построим лингвистическую цепочку, соответствующую дому на рис. 7*2
Этот метод служит не только педагогическим целям. Ледли (1964) успешно применил его для анализа снимков хромосом.
Рис. 7.1. Изображения, соответствующие цепочкам в грамматике изображений: а — два правильно построенных дома; 6 — два неправильно построенных дома.
Рнс. 7.2. Анализируемый дом.
Предположим, что изображение преобразовано в цифровую форму, так что программа может „проследить лнннн", проходя в матричном представлении изображения по соседним элементам, равным 1. Считывание линий осуществляется передвижением “жука"】) (показанного в верхнем левом углу рис. 7.2) слева направо и сверху вниз до тех пор, пока не встретится какая-нибудь линия. Жук движется по этой линии до тех пор, пока не приходит к точке, в которой он уже был. Когда встречается разветвление еще не прослеженных направлений, жук поворачивает по часовой стрелке 2). Он последовательно проходит по всем различным компонентам изображения. На рис. 7.2 жук попадает на первую линию в точке 1 и отследит элемент 占,т. е. трубу. Для того чтобы получить лингвистическую цепочку терминальных символов, нужна грамматика, определяющая каждый элемент в терминах основных передвижений жука; например, за горизонтальной линией следует из ее правого конца вертикальная, связанная с другой горизонтальной, проходящей через ее нижний конец, и т. д. Такие грамматики довольно сложно написать, поскольку рассматриваемые линии должны оканчиваться на определенных вершинах. Подробности можно найти у Клюса (1969) и Розенфельда (1969а, б), а примеры у Шоу (1969) и Нарасимхана (1965). Во всяком случае, предположим, что, когда достигнута точка 2, жук может определить, что он отследил основной элемент. Он также обнаружит в точке 3 линию, которую он не проходил. Поэтому ои движется от точки 3, отслеживая фигуру 3—4—5——6—7—4, т. е. крышу з). Поскольку известны координаты как крыши, так и трубы, можно вывести цепочку 占£□. Просмотр затем возвращается в точку 4, в которой была обнаружена еще не пройденная линия 4——8. Далее будет отслеживаться элемент 4——8—5. В конечном счете будет отслежен весь дом, кроме окон. Для их обнаружения жук должен возобновить свой прерванный просмотр слева направо от точки 1 и продолжать двигаться, игнорируя уже отслеженные линии, пока не наткнется на окна в точках 9 и 10. Когда окна отслежены, их координаты используются для расположения их на стене 6—5—11—12. Теперь у нас есть цепочка терминальных символов, которую можно исследовать обычными методами синтаксиче-
')Имеется в виду курсор, т. е. указатель иа экране дисплея.— Прим, перев.
Для этого требуется предварительная «разметка» минимальных циклов,— Прим, перев,
Существуют и другие стратегии просмотра. Читателю предлагаем придумать их самому: Отметим, что здесь, как и при отслеживании других элементов, жук должен как-то распознавать, что отдельные линии могут быть частями двух элементов — как в случае, когда кусок линии принадлежит и верхнему участку крыши, и нижнему участку трубы,.
ского анализа, чтобы убедиться, что это изображение действительно является „правильно построенным домом".
Приведенное описание очень коротко, и, возможно, задача выглядит проще, чем оиа есть иа самом деле. Следует повторить, что рассматриваемые методы хорошо работают для простых рисунков, но быстро становятся запутанными по мере усложнения изображений или даже при незначительной деформации „прямых** линий. К сожалению, действительно интересные изображения именно такого сорта. Так как это специальная тема, мы не будем ее касаться (хорошее введение дано Розенфельдом (19696)). Мы займемся проблемой вывода, возникающей в анализе изображений.
Вывод грамматик изображений
Несмотря на то что большую помощь в процессе обучения оказывает зрительное восприятие, о логическом процессе вывода соотношений, имеющихся в изображениях, известно очень мало. Наибольших успехов в этой области добился Эванс (1971), который, однако, отметил, что его работа — это лишь начало и какие-либо заметные результаты еще впереди. Вместе с тем метод Эванса выявил типичные для таких задач проблемы, которые предстоит решить, и уже по одной этой причине его работа заслуживает рассмотрения. К тому же подход Эванса воплощает целый ряд идей, которые могут применяться и в будущем.
Эванс употребляет несколько отличные от наших обозначения. Его терминология ближе к терминологии, принятой в языке программирования Лисп, чем к терминологии Хомского. Однако по ходу изложения станет ясно, что обозначения Эванса эквивалентны обычным обозначениям грамматики непосредственно составляющих. Терминалами в системе Эванса служат примитивные типы объектов и примитивные предикаты. Типы объектов представляют собой блоки, из которых строятся распознаваемые изображения. Примеры примитивных типов объектов: отрезки прямых, дуги, окружности и квадраты. Начальное представление изображения (т. е. данные, на основе которых осуществляется вывод)——это просто список примитивных типов объектов в изображении вместе с некоторой информацией об их размере и положении на плоскости изображения. Второй тип терминалов —— примитивные предикаты — являются отношениями, которые могут выполняться между любыми двумя компонентами изображения, будь то примитивные объекты или составные. Последний случай соответствует нетерминальным символам в обычной грамматике. Например, внутри (х, у) („х внутри 夕)一 это предикат, который принимает значение истина тогда и только тогда, когда все компоненты рассматриваемого объекта х (возможно, составного) расположены внутри объекта у. Отметим, что из определения внутри вытекает» что существует программа, способная
исследовать преобразованное в цифровую форму изображение для определения положения объекта р, наличия у него границы и выяснения, расположены ли компоненты объекта х внутри у. Вообще говоря, предикат именует подпрограмму, исследующую преобразованное в цифровую форму изображение для определения, выполняются ли требуемые пространственные соотношения между аргументами предиката.
Грамматика по Эвансу есть множество продукций, каждая из которых определяет (составной) объект в обсуждаемом языке изображений. Продукция состоит из трех частей: имени продукции, списка ее аргументов и списка высказываний, которые должны быть истинными для этих аргументов. Последний список разбивается в свою очередь на две части: список объектов с единственным вхождением каждого из аргументов и предикат, который на этих аргументах должен принимать значение истина. Если в левой части продукции стоит только начальный символ Н грамматики, то продукция определяет сцену, или самостоятельное изображение. Это соответствует правильно построенному выражению. В противном случае продукция определяет различные типы подвыражений.
Проиллюстрируем эти понятия на примере изображения „лица** (рис. 7.3, а). Предположим, что терминальный словарь таков:
Типы объектов: точка, квадрат, отрезок прямой, окружность. Предикаты: внутри, над、слева, горизонтальный, и.
Приведем возможное грамматическое описание этого рисунка: лицо->(х, р): черты лица (х), голова (р); внутри (х, у)
Лицо——черты лица, расположенные внутри головы, голова->(х): окружность (х)
Голова — окружность.
черты лица->(х, у. z): глаза (х), нос (р), рот (z);
〃(卫(над (х, р), над (х, z)), над (弘 z))
Черты лица — глаза, расположенные над носом
〃 ртом, и нос над ртом.(60)
глаза—(х, z): точка (х), точка (д); слева (х, д)
Глаза —— пара точек, одна расположена слева от другой.
нос->(х): квадрат (х)
Нос — квадрат,
рот->(х): отрезок прямой (х); горизонтальный (х) Рот — горизонтальная прямая.
Продукции (60) можно представить в виде дерева разбора обычным образом. Это показано на рис. 7.3, б.
Задача вывода — построить грамматики, подобные (60), анализируя сцены Sl .. • , Sn, где каждая сцена является полным изоб-
с лицоВнутрис лицоВнутричерты лицачерты лицаголоваголоваокружностьокружностьиинад wdглаза нос глаза рот Киаорш горизонтальный жбс^адротс^в^^риз^нто^ отрезок прямой I ~I I ~ I отрезок прямойнад wdглаза нос глаза рот Киаорш горизонтальный жбс^адротс^в^^риз^нто^ отрезок прямой I ~I I ~ I отрезок прямойносносротроттонка тонко тта точкаРис. 7.3. Грамматический анализ нарисованного лица: а — лицо -+ лицо^ с поме-ченными компонентами; 6 — анализ лица условной грамматикой.тонка тонко тта точкаРис. 7.3. Грамматический анализ нарисованного лица: а — лицо -+ лицо^ с поме-ченными компонентами; 6 — анализ лица условной грамматикой.
с лицо
Внутри
с лицо
Внутри
черты лица
черты лица
голова
голова
окружность
окружность
и
и
над wd
глаза нос глаза рот Киаорш горизонтальный жбс^адротс^в^^риз^нто^ отрезок прямой I ~I I ~ I отрезок прямой
над wd
глаза нос глаза рот Киаорш горизонтальный жбс^адротс^в^^риз^нто^ отрезок прямой I ~I I ~ I отрезок прямой
нос
нос
рот
рот
тонка тонко тта точка
Рис. 7.3. Грамматический анализ нарисованного лица: а — лицо -+ лицо^ с поме-ченными компонентами; 6 — анализ лица условной грамматикой.
тонка тонко тта точка
Рис. 7.3. Грамматический анализ нарисованного лица: а — лицо -+ лицо^ с поме-ченными компонентами; 6 — анализ лица условной грамматикой.
ражением. Получившаяся грамматика должна содержать продукции, достаточные для объяснения каждой сцены, и, кроме того, удовлетворять другим (возможно, плохо определенным) критериям эффективности и сложности. В процессе вывода можно выделить три этапа.
Построение грамматики объекта
Каждая сцена первоначально представляется списком содержа щихся в ней примитивных объектов. Новые объекты создаются и добавляются в список каждой сцены в результате нахождения всех предикатов, истинных для любого подмножества объектов из этого списка. Это требует, чтобы оценивался каждый п-местный предикат относительно каждого упорядоченного подмножества размера п рас-
*сматриваемого списка. Пока мы занимаемся простыми изображениями (как, например, обсуждавшиеся выше), у нас не возникают труд-
ности при вычислениях, но при изучении сцен, приближающихся по сложности, скажем, к аэрофотоснимкам, они могут стать ощутимыми просто из-за большого числа возможных подмножеств. Во всяком случае, применение предикатов и создание новых объектов продолжается до тех пор, пока еще можно получать новые объекты. Затем в новом списке отыскиваются объекты, содержащие каждую примитивную компоненту сцены в качестве подкомпоненты. Такие объекты составляют возможное грамматическое описание и следуемой сцены.
Чтобы разобраться в действиях первого этапа, рассмотрим следующий пример. Пометим примитивные компоненты лица (рис. 7.3, а); списком объектов после первого прохода будет
(1)окружность (1)
(2)точка (2)
(3) точка (3)(61)
(4)квадрат (4)
(5)отрезок прямой (5)
Применение предикатов внутри, над и слева 】)ко всем парам объектов в (61) приводит к списку второго прохода
(4,5)*ad(4,5)
(1,2) внутри (2,1)
(]. ,3) внутри (3,1)(62)
(\^внутри (4,1)
внутри (5,1)
(2,3)слева (2,3)
Процесс повторяем, исходя уже из расширенного списка. Отметим, что при расширении должна быть получена информация о расположении новых объектов. Например, разумно будет сказать, что объект 11 (глаза) расположен над 4 (носом), поскольку центр тяжести точек 2 и 3 находится непосредственно над носом. По отдельности эти точки не расположены непосредственно над носом. После третьего прохода получается список
12:
13:
14:
15:
16:
(1,6) внутри (6,1)
(1 ,\1) внутри (11Д)
(4,11)曲5(11,4)(63)
(5,11)на5(11,5)
(6,11)над(11,6)
【)Для простоты изложения предикаты горизонтальный и а ие рассматриваю i ся.
21внутри21внутри20
21
внутри
21
внутри
77Последний проход дает17:18:* 19:20:*21:Последний проход дает17:18:* 19:20:*21:списоквнутри (14,1)внутри (15,1)внутри (16,1)(5,16)做。(16,5)(1,20) внутри (20,1)списоквнутри (14,1)внутри (15,1)внутри (16,1)(5,16)做。(16,5)(1,20) внутри (20,1)(64)(64)Рис. 7.4. Структуры двух объектов для лица.
7
7
Последний проход дает
17:
18:
* 19:
20:
*21:
Последний проход дает
17:
18:
* 19:
20:
*21:
список
внутри (14,1)
внутри (15,1)
внутри (16,1)
(5,16)做。(16,5)
(1,20) внутри (20,1)
список
внутри (14,1)
внутри (15,1)
внутри (16,1)
(5,16)做。(16,5)
(1,20) внутри (20,1)
(64)
(64)
Объекты 19 и 21 в (64) отмечены звездочкой, так как они содержат в качестве компонент все примитивные объекты. Деревья разбора Для них приведены на рис. 7.4. Отметим, что переменные в грамматике заменены постоянными (именами). Для формирования грамматики по описанию объекта постоянные имена (1, 2, 3 и т. д.) заменяются указателями на типы объектов с переменными в качестве аргу-
ментов. Поскольку у нас два структурных описания, формируем две грамматики: из объекта 19 выводится
Н — (х, у): окружность (х), Л1б (у); внутри (у, %)
416 т(х,у)- 4б(х),/11(g); над (х, у)(65)
46 T (%,У): точка (х), точка (р); слева (х, р)
2411f (%, р): квадрат (х), отрезок прямой (р); над (х, у)
и из 21 —
〃一*(%, Р): окружность (х), Л20 (у); внутри (р, х) Л20 —* (л, у): отрезок прямой (%), Аи (t/); над (у, х)
Ai6 —(%,9): #б(х), #и(9); над (х, у)(66)
#8―►(%, у): точка (%), точка ®); слева (х, у)
Ди —* (х, у): квадрат (х), отрезок прямой (р); над (х, у)
Заметим, что обе эти грамматики получены из одной сцены. В более общем случае п сцен и требуется получить единственную грамматику, порождающую их все. Для этого берутся все возможные объединения грамматик, по одной из каждой сцены. Таким образом, если бы у нас было 3 сцены с тремя грамматиками, полученными от первой сцены, двумя от второй и тремя от третьей, то можно было бы сформировать 3x2x3—18 различных грамматик, каждая из которых могла бы породить все сцены исходной выборки. На следующем этапе каждая из этих грамматик упрощается.
Упрощение грамматики
Цель этого этапа — упрощение громоздкой грамматики при помощи трех операций: удаления лишних продукций, введения новых нетерминалов для выделения классов терминальных символов и идентификации двух нетерминалов для объединения двух или более продукций в одну. Эти операции лучше всего поясняются на примере сцен, соответствующих „треугольнику4* и „квадратур. В качестве примитивных объектов берем только отрезки прямых (отр), а в качестве предикатов ——предикат соединить (х, у) (который интерпретируется как „головная часть цепочки 尤 присоединяется к хвостовой части цепочки yli) и предикат замкнуть (г, у) (который интерпретируется как „концы цепочек х н р соединяются**). Начальные сцены и операции изображены на рис. 7.5. Предположим, что в результате процесса вывода для квадрата получилась грамматика
Н — (х, у): опгр (х),力1(9); замкнуть (%, у)
4t —► (х, у): опгр (х), Л2 (у); соединить (х, у) (67) у}? 一 (无,9): отр (г), опгр (р); соединить (г, у)
и для треугольника — грамматика
Я-*- (х, р): отр (х), 4з(у); замкнуть (х, у) (68) 48T (х, у): отр (х), отр (у); соединить (х, у)
Наша цель — упростить и, возможно, обобщить эти грамматики. Первые продукции в (67) и (68) были бы одинаковыми, если бы символы Л3 и At были одинаковыми. Этого можно достичь, если взять
соединить (力,j)соединить (力,j)
соединить (力,j)
соединить (力,j)
замкнуть (交 J)
Рис. 7.5. Исходные данные для формирования грамматик (67) и (68): а — исполь-зуемые сцены; 6 — операции соединить и замкнуть.
вторую строку в (68) в качестве альтернативной продукции для 4. Такая замена не нарушит структуру грамматики, поскольку единственный нетерминал может служить левой частью любого числа продукций. Выполняя указанные идентификацию и слияние, полу・ ча函 грамматику
tf^ wrf tf^ w^^ ^ ^ ^"444tf^ wrf tf^ w^^ ^ ^ ^"444отр (х), 4]®); замкнуть (х, у)
tf^ wrf tf^ w^^ ^ ^ ^"444
tf^ wrf tf^ w^^ ^ ^ ^"444
отр (х), Д2 (у); соединить (х, у)
отр (х), отр ®); соединить (х, у) (69)
*отр (х), отр (у); соединить (х, у)
Правые части последних двух продукций совпадают. Поэтому можно убрать нетерминал с большим номером и соответственно везде
заменить Д2 на 4「Окончательная грамматика такова: 〃—(居 g): отр (х)> #i(p); замкнуть (х, у) 4 —(居 Р): отр (х), Л Ду); соединить (х, р) (70) #[ —(%, у): отр (х), отр ®); соединить (х, р)
Это рекурсивная грамматика, определяющая класс замкнутых многоугольников. Заметим, что по мере упрощения грамматики порождаемый ею язык расширялся. Вместе с тем данный метод расширения гарантирует, что получаемая грамматика порождает первоначальную выборку.
Ослабление ограничений на тип
Операции, применяемые на первом и втором этапах, синтаксически оправданы, так как они приводят к расширению грамматики. На третьем этапе вводится эвристический метод расширения грам
матики. Это вызвано просто тем, что он, по-видимому, будет полезным. Наша задача — ослабить требование, чтобы продукции грамматики содержали всю информацию о типе объектов и отношениях, представленную в выборке, из которой выведена грамматика. Предположим, что грамматика содержит п продукций (обычно 几=3), отличающихся только типом объекта или именем предиката в одной позиции. Замена отличающихся имен именем “любой" (т. е. предикатом, истинным для всех своих аргументов) сводит эти п продукций в одну. Такая процедура, конечно, пока лингвистически не оправдана. Все же она интуитивно привлекательна, так как благодаря ей мы (иногда) не зависим от вида выборки. Предположим, например, что грамматика должна быть выведена из сцен, изображенных на рис. 7.6, и что примитивными являются типы объектов квадрат, треугольник, окружность, точка и предикат внутри、Допустим, что на втором этапе построена грамматика
Я—*(х, у)\ треугольник (ft), квадрат (р); внутри (х, у) Я—♦ (х, р): окружность (х), квадрат (р); внутри (х, у) (71) Я—*(х, р): точка (г), квадрат (乡);внутри (г, у)
Эти продувдии отличаются только типом первого аргумента. Если им пренебречь, получим грамматику
〃т(х, р): любой (х), квадрат (〃); внутри (х, у) (72) определяющую класс всех фигур с квадратами в качестве границ. Интуитивно это выглядит хорошим решением поставленной задачи. Сам по себе грамматический вывод находится в младенческом состоянии, так что грамматический вывод изображений должен соответствовать грудному возрасту. Как показывает Эванс (1971), в грамматике образов больше можно доверять правилам, предназначенным для достижения частной цели, таким, как ослабление требований к типу, чем чисто формальным подходам к проблеме вывода. Применение вывода к изображениям также заставляет нас обратить внимание на реальные практические проблемы, такие, как „комбинаторный взрыв4*, возникающий при попытках применять все возможные предикаты всеми возможными способами. Несмотря на эти недостатки, применение грамматического вывода в распознавании изображений является новым и многообещающим подходом к старой проблеме вывода по зрительным образам. Его успех будет зависеть от успеха лингвистического подхода к классификации образов. Мы уже приводили доводы в пользу последнего. В следующем разделе мы укажем ряд аспектов, требующих особого внимания и осторожности.
7・2・3・ Критика грамматик изображений
Грамматики изображений привлекают исследователя, занимающегося вычислительными машинами, тем, что они дают способ, которым сложные категории можно свести к известному формализму. Такие ситуации могут оказаться соблазнительной ловушкой для любой дисциплины. Вопрос не в том, применимы ли формальные лингвистические методы в обработке изображений; из теории вычислений мы знаем, что да. Вопрос состоит в следующем: „Когда полезно применять понятия лингвистики?44 Ясно, что в некоторых случаях грамматики изображений действительно проясняют различия между классами изображений. Такие ситуации приводились в наших примерах. Но чем характеризуются ситуации, в которых мы не рекомендовали бы использовать лингвистический анализ?
Основное допущение лингвистики состоит в том, что наше понимание и способность воспринимать изображения будут сильнее, если мы будем знать процесс, которым были порождены исследуемые изображения. Ватанабе (1971) приводит примеры классов изображений, для которых это не так. Рассмотрим классы изображений, представленные на рис. 7.7.
Класс а — это множество изображений, порожденных выбором в качестве начальной точки произвольной цифры в последователь-
ности л=3,14159... и помещением в первый н следующие кружки знака X тогда и только тогда, когда соответствующая цифра — 5 или более. Класс 6 порожден аналогичным приписыванием X кружкам на основе таблицы случайных чисел. Знание порождающих правил очень мало помогает нам понять структуру этих изображений. Можно возразить, сказав, что это надуманный пример. Но это не так, мы лишь подчеркнули общее положение. Во многих интересных случаях изображения определяются сложными статистическими зависимостями между компонентами, а не отношениями в том смысле,
ООО®®ООО®®®®о®®®®о®®
ООО®®
ООО®®
®®о®®
®®о®®
о®о®оо®о®оООО®®ООО®®
о®о®о
о®о®о
ООО®®
ООО®®
Рис. 7.7. Примеры классов, для которых порождающие правила бесполезны: а — изображения, порожденные с помощью л; 6 — изображения, порожденные таблицей случайных чисел.
как этот термин употребляется в грамматическом анализе. Прекрасным примером тому служат изображения, классификация которых зависит от восприятия глубины. Одна из главных подсказок при восприятии глубины ——изменение градиента текстуры фона в изображении (Гибсон, 1950). В случае стереоскопических изображений решающие статистические зависимости между точками на плоскости изображения значительно сложнее (Юлеш, 1970), хотя и сохраняется тот же принцип. Трудно представить себе, какого сорта грамматика могла бы учесть всю эту информацию.
Второй аспект, который покажется психологам хорошо знакомым, заключается в том, что многие изображения группируются по семантическим, а не синтаксическим правилам. Возможно, наиболее яркий пример —— различные иллюзии восприятия. Скажем, можно классифицировать очень разные образы на сетчатке глаза как „изображения коробки длиной около 6 футов**, опираясь на наше знание о характеристиках различных объектов реального мира (размер, форма и т. д.), изображенных вместе с коробкой. Например, можно
Рнс. 7.8. Мусульманские орнаменты. Фазу можно изменить, но компоненты из а и 5 или из 8 н з нельзя поэлементно менять.Рнс. 7.8. Мусульманские орнаменты. Фазу можно изменить, но компоненты из а и 5 или из 8 н з нельзя поэлементно менять.
Рнс. 7.8. Мусульманские орнаменты. Фазу можно изменить, но компоненты из а и 5 или из 8 н з нельзя поэлементно менять.
Рнс. 7.8. Мусульманские орнаменты. Фазу можно изменить, но компоненты из а и 5 или из 8 н з нельзя поэлементно менять.
распознать проекции прямоугольной коробки, рассматриваемой под разными углами. Никакой чисто синтаксический подход не может осуществить такую классификацию, поскольку она основана на нашем знании форм предметов и оптики, а не на анализе информации, содержащейся собственно в изображении. Этот аспект особенно важен в анализе сцен, который мы подробнее изложим в части IV этой книги.
Не все полезные правила можно сформулировать в виде грамматики непосредственно составляющих. Одна из особенностей такой грамматики состоит в том, что подстановки эквивалентных компонент не изменяют характера цепочки. Это позволяет синтаксически управляемому транслятору распознавать, что А+А+А+А+А и А+А+В+В+ф—Е) — арифметические выражения. Однако в некоторых классах двумерных образов такие подстановки недопустимы. Для иллюстрации этого Ватанабе использует мусульманский орнамент (рис. 7.8). Допускается любая последовательность повто^ ряющихся фигур (при условии, что удовлетворяются и некоторые другие ограничения), но подстановка компонент не допускается. Несколько более математический пример основан на определении группы операций. Фигуры
принадлежат классу фигур, отображающихся при повороте на 90° в самих себя. Как это можно выразить грамматически?
Приведенные возражения можно считать теоретическими. Однако возникает ряд практических задач, которые должны быть разрешимы в любом конкретном применении. Уже упоминалась проблема, связанная с чрезмерной сложностью вычислений. Еще более важная проблема касается определения терминальных элементов. Строго говоря, это не лингвистическая проблема, поскольку в формальной лингвистике существование известного терминального алфавита предполагается. На практике же это может оказаться самым трудным этапом в процессе анализа. Около 300 из 400 работ, упомянутых Розенфельдом (1969а), посвящены проблеме определения признаков! Другая практически важная проблема — выбор критерия для выяснения, присутствует ли в изображении конкретная компонента или отношение. В наших рисунках домов эта проблема игнорировалась; ясно, что крыша или расположена на стене 6, или нет □△! Родители и учителя (обычно) распознают дома, нарисованные первоклассниками, хотя расположение крыши относительно стены может быть различным. Подобные неопределенности возникают, когда приходится изучать зашумленные аэрофотоснимки или когда между объектами, не соседствующими в изображении, можно установить примитивные отношения.
Наличие в исходной информации шума само по себе не ставит неразрешимой проблемы. Можно просто с помощью какого-нибудь варианта стохастической грамматики (см., например, Свейн и Фу, 1972) распознать, что квадраты обычно рисуются в виде □, но могут и О. Остается проблема практической реализации, поскольку стохастические грамматики требуют гораздо более сложных алгоритмов разбора. К тому же одиночное изображение можно с разными вероятностями отобразить в несколько правильно построенных выражений. В настоящее время нет еще ясного представления о трудностях, возникающих в классификации образов вообще и, в частности, в применении к грамматическому выводу.
В заключение отметим безусловную важность грамматического подхода в классификации изображений. Это прекрасный способ решения некоторых задач, в том числе многих из тех, которые плохо представляются в классификации векторов. Однако верно и обратное; статистические различия особенно часто удается учесть, применяя методы классификации векторов. Наконец, для ряда примеров обработки изображений не подходят ни грамматические, ни векторные процедуры классификации. Эта область ожидает новых идей.
Глава 8
ВЫДЕЛЕНИЕ ПРИЗНАКОВ
8・0・ Общие понятия
Методы векторной и грамматической классификации предполагают существование признаков, которые можно измерить. Нахождение признаков само по себе представляет часто существенный этап в решении рассматриваемой задачи. Можно считать, что любая машина получает некоторое множество результатов элементарных измерений, на которые она может реагировать. Эти измерения могут и не соответствовать истинным свойствам классифицируемых объектов. Рассматриваемый объект сам по себе может описываться (возможно, малым) числом признаков, которые по-разному отражены в основных измерениях. Предположим, например, что мы пытались в разные дни классифицировать степень загрязнения воды в реке. Естественно было бы измерить содержание в воде серы, мышьяка и других химических соединений. Однако на самом деле кислород, сера, мышьяк, ртуть и другие соединения вовсе не обязательно сброшены в реку. Причиной загрязнения могут быть расположенные выше по течению от места измерения лесопилка, фабрика и любые другие установки, сбрасывающие отходы, причем каждая дает определенный тип отходов, который представляет собой некоторую композицию основных измеряемых химических веществ. Для точного описания степени загрязнения реки желательно было бы в произвольный заданный день знать объем (композицию) отходов от каждого источника, а не пользоваться измерениями, сделанными ниже по течению г). Но предположим, что мы не знаем о Существовании источников загрязнения выше по течению. Можно ли вывести их существование из анализа измерений, проведенных ниже по течению? Этот пример может служить иллюстрацией к задаче выделения признаков.
Конечно, для других целей верным могло бы быть совсем обратное.
Существуют два общих подхода к анализу признаков, зависящие от предположений, которые делаются относительно элементарных измерений. В подходе, использующем многомерный анализ, с каждым простым измерением обращаются как с непрерывно измеряемой комбинацией лежащих в его основе признаков. Иначе говоря, исследуется проблема уменьшения размерности пространства описаний, т. е. переход от /n-мерного пространства, определяемого первоначальными измерениями, к меньшему (приведенному) 々-мерному пространству, определяемому признаками. После этого классификация осуществляется в приведенном пространстве. Задача определения такого 々-мерного пространства интенсивно изучалась и получи-
аа33330 0 0 0 0 о о о о о 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 11 0 0 0 0 00 0 0 0 0 о о о о о 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 11 0 0 0 0 00 0 0 0 0 0 0 0 0 0 110 0 0О 1 о о о 1 0 0 0 0 0 10 0 0 О 1 о о о 1 1 о о о 1 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 110 0 0О 1 о о о 1 0 0 0 0 0 10 0 0 О 1 о о о 1 1 о о о 1 0 0 0 0 0 0 0 0 066
а
а
33
33
0 0 0 0 0 о о о о о 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 11 0 0 0 0 0
0 0 0 0 0 о о о о о 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 11 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 110 0 0
О 1 о о о 1 0 0 0 0 0 10 0 0 О 1 о о о 1 1 о о о 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 110 0 0
О 1 о о о 1 0 0 0 0 0 10 0 0 О 1 о о о 1 1 о о о 1 0 0 0 0 0 0 0 0 0
6
6
Рис. 8.1. Представление буквы (внутри квадрата слева показан локальный квадрат 2X2): а— проекция на сетку; б — цифровое представление.
ла название “факторный анализ*4. Необходимый математический аппарат описан в работе Тацуоки (1971). Харман (1967) подробно излагает методы, применяемые в настоящее время. Мейзел (1972) и Фукунага (1972) рассматривают распознавание образов как область прикладной математики. Благодаря наличию этой литературы, а также из-за нашей неуверенности в том, что это и есть то, что большинство исследователей имеют в виду, когда говорят о выделении признаков, мы лишь вкратце обсудим этот метод.
Во втором подходе к выделению признаков результаты основных измерений объекта представляют в виде последовательности двоичных векторов. Признаки считаются подмножествами основных измерений. Задача состоит в определении некоторого полезного множества таких подмножеств. Иллюстративным и важным практическим примером может служить машинное чтение рукописных знаков. Представим себе, что классифицируемые алфавитно-цифровые знаки проектируются на сетку размером 10x10. Квадраты сетки нумеруются в обычном порядке чтения слева направо и сверху вниз так, что каждый элемент сетки можно считать двоичной переменной, которая принимает значение 1 тогда и только тогда, когда какая-нибудь линия пересекает его. Тогда с помощью простой оптиче-
ской системы можно преобразовать предъявленный знак в вектор, состоящий из 100 исходных измерений хх, ... , Хю0. Типичные входные данные показаны на рис 8.1. Разумно предположить, что любой реальный знак будет образован объединением некоторого числа признаков, таких, как диагональ слева направо, горизонталь, диагональ справа налево и др. Например, из множества компонент {—, I, /, \,DD, ( } можно построить буквы А, В, С, Р. Если бы мы не знали этих компонент, то могли бы их выявить, обратив внимание на локальные регулярности в различных буквах. Математически это означает, что мы должны выработать алгоритм, обнаруживающий регулярно повторяющиеся наборы значений двоичных переменных {修}.
8・7・ Формализация подхода,использующего факторный анализ
Пусть X ——(пх/п)-матрица, в которой каждая строка описывает объект в терминах т основных измерений. Таким образом, t-й объект описывается вектор-строкой
X» = {Хц, . . . , ^ijf • • •)尤初}•(1)
Если каждое основное измерение соответствует взвешенной сумме значений основных признаков объекта 力={/订,...,fih}9 々Vm, то
修尸a田订+. ..+ah热h,(2)
Где коэффициент ар} отражает вклад р-го признака в /-е измерение, а значение flp соответствует содержанию признака р в рассматриваемом объекте Л После того как введены эти определения, можно выразить X через (n х А)-матрицу значений индивидуальных признаков и (Ах/п)-матрицу вкладов (называемых нагрузками) р-го признака (или фактора, если придерживаться терминологии, принятой в факторном анализе) в /-е измерение. Соответствующим матричным уравнением будет
X=F・4(3)
Задача состоит в определении F н А при условии, что заданы наблюдения X. Ясно, что уравнению (3) удовлетворяют бесконечно много матриц, так что требуется дополнительное ограничение. Рассматривались различные критерии; интересующийся читатель может ознакомиться с обсуждением этого вопроса Харманом (1967). Мы изложим наиболее широко применяемый метод, называемый методом главных компонент.
Пусть R — матрица корреляций 】)между основными измерениями. Ее диагональные элементы Гц определяются множественной корреляцией 勺 с остальными т——1 измерениями 2). Пусть Q ——матрица, строки которой являются собственными векторами, соответствующими k наибольшим собственным значениям матрицы R в порядке убывания от самого большого к самому малому. Наконец, пусть 入戶 будет р-м собственным значением. Матрица А образована элементами
/ m \ -1/2
生/Н%八大了产(a q")•(4)
Тогда из (3) получается матрица факторов
F = X・/7.(5)
Остается единственная проблема — найти k. Обычно это делают при помощи статистического критерия. Пусть У2 — сумма квадратов расстояний от каждой точки х» до центра тяжести 孔 точек в исходном /и-мерном пространстве измерений, и пусть W| — та же мера для точек {fj в 々-мерном пространстве признаков. Начиная с 々=1, постоянно увеличивают размер пространства признаков до тех пор, пока разность Н—W^ или 1—(W1/V2), не станет достаточно малой.
Метод главных компонент допускает очевидную наглядную интерпретацию. Этот метод находит наилучший эллипсоид в /и-мерном пространстве для точек X/, определяющих рассматриваемый объект. Каждый фактор соответствует какой-нибудь оси этого эллипсоида, причем сначала находится наибольшая ось, затем следующая за ней по величине и т. д. Процесс продолжается до тех пор, пока не удовлетворяется критерий остановки.
82 Формализация случая двоичных измерений
Предположим, что X —— двоичная матрица, в которой 1 в поно~ женин 尤订 указывает на то, что при измерении объекта i результатом /-го измерения, принимающего два возможных значения есть и нет,
Если хну — два измерения со средними х и у и стандартными отклонениями 6% и бу на множестве из % объектов, то корреляция между ними равна
п
^^x^y
Множественной корреляцией -между измерением х и множеством измерений ”={у/} называется корреляция между {х“ и линейными комбинациями {z/=2 ajyji}^ me коэффициенты aj выбираются так, чтобы максимизировать корреляцию между х и z.
было значение есть, В этом случае будем говорить, что измерение / находится в состоянии есть (в возбужденном состоянии). Выбранная модель признаков предполагает, что при наличии определенных свойств объекта определенные измеряющие устройства будут в возбужденном состоянии, а также что несколько признаков могут комбинироваться и это приведет к тому же результату измерения. Поэтому признак можно рассматривать как двоичный вектор f; длины /и, для которого 力产 1 тогда и только тогда, когда признак / дает в результате измерения s значение есть. Пусть ㊉——булево сложение, т. е.
1 ㊉ 1 = 1, 啣=1,0㊉0=0. (6)
Будем обозначать 戸^修 булеву сумму нескольких двоичных переменных. Пусть S, — неизвестное множество признаков, характеризующих объект g тогда вектор описания принимает вид
Равенство (7) можно записать в более компактной форме. Пусть % —— булево умножение матриц, т. е. операция, в которой W заменяется на 2®, а в остальном умножение матриц определяется, как обычно. Наконец, пусть В — (/г X ^-матрица, элемент 6订 которой отличен от нуля тогда и только тогда, когда объект г имеет признак/:
X = B^F, (8)
Уравнение (8) соответствует множеству булевых уравнений. К сожалению, иногда решить их практически бывает трудно, поэтому разработан ряд эвристических конструктивных методов для выделения признаков. Они излагаются в следующем разделе.
8・3・ Конструктивные эвристические методыдля выделения признаков
0. Имитационный метод Ура и Восслера
Серия экспериментов, проведенных У ром и Восслером (1963), показала, что хорошее выделение признаков может дать простая процедура имитации частей входных образов. Они занимались классификацией двумерных образов, таких, как нарисованные лица, рукописные буквы, спектрограммы речей, а не абстрактных векторов, и поэтому понятие расстояния между переменными имело вполне определенный смысл. Этот факт в значительной мере учитывается в их программе. Входом программы была последовательность двоичных образов размером 25x25, подобных изображенному на рис. 8.1. Из этих больших образов они строили мно-
жества „локальных операторов41 размером 5x5, сравнивая образ размером 5x5, расположенный в заданном месте картинки, с несколькими изображениями размером 25x25、Если несколько первоначальных изображений имели почти одинаковую конфигурацию битов размером 5х5 в любых местах, то это подызображение принималось в качестве признака. Для описания изображения размером 25X25 указывались тип и расположение таких признаков. Это позволяло программе различать, скажем, „горизонталь ввер- ху“ и горизонталь внизу". Например, Л можно было бы описать, выделяя элементы 八,一,/, \. Эта информация собиралась в векторе z, описывающем объект в терминах его признаков. Затем для классификации векторов z применялся простой алгоритм группирования.
Ур и Восслер использовали группирование также для то吗 чтобы указать момент, когда необходимы новые признаки. В каждый момент времени их программа работала только с фиксированным числом признаков. Алгоритм группирования приписывал вес каждой компоненте вектора z в зависимости от ее полезности для различения классов. Если вес компоненты был близок к 0, то соответствующий признак отбрасывался и для определения нового признака заново исследовалось входное изображение размером 25x25. Этот процесс генерации признаков, группирования и генерации новых признаков привел к построению очень эффективной системы распознавания образов. В самом деле, программа Ура и Восслера могла обучаться быстрее людей решать задачи на зрительное различение при условии, что классифицируемые объекты не были хорошо знакомы людям (Ур, Восслер и Улеман, 1962). Значение этого результата хорошо иллюстрируется тем, что программа превзошла ЛЮдей при распознавании классов абстрактных математических фигур, но оказалась менее эффективной при распознавании нарисованных лиц.
Формальный имитационный метод Блока,Нильсона и Дуды
Более формально к этой же задаче подошли Блок, Нильсон и Дуда (1964). Для объяснения их метода мы несколько изменим наши обозначения. Вместо того чтобы представлять примитивное описание в виде двоичного вектора, будем описывать Ай объект множеством целых чисел
P(i)={j}, (9)
Где ]《j《/n и / € Р(I)тогда и только тогда, когда в векторе описания /_г0 объекта х;у-1. На рис. 8.2 показана проекция креста на сетку размером 5x5, представленную в виде множества переменных.
Векторное представление креста на этой сетке имеет вид х=(0, 0, 1, 0, 0, 0, 0, 1, О, О, I, I, 1, 1, I, 0, 0, 1, О, О, О, О, 1, О, О),
а представление в виде множества —
尸(j) = {3, 8, 11, 12, 13, 14, 15, 18, 23}.
сетке: а — сетка; 6 — объект насетке: а — сетка; 6 — объект насетке.сетке.Определим маску о как подмножество целых чисел от 1 до /и. Если маска присутствует в объекте /, то о三尸 Q)】).
сетке: а — сетка; 6 — объект на
сетке: а — сетка; 6 — объект на
сетке.
сетке.
123I4I5
6I7I8I9I10
11I12II3II15
1-)1 —I
16I17I18j19丨20
1111
21I2.2I25I24I25
Рис. 82 Представление объекта наРис. 82 Представление объекта наt一」!I
Рис. 82 Представление объекта на
Рис. 82 Представление объекта на
Если задано множество описаний S={PQ)}, i=l,...,孔,то проблема состоит в нахождении такого наименьшего множества масок Ф={а}, что для каждого описания Р (/) существует множество масок М (i), обладающее свойствами
(Ю) (Н)(Ю) (Н)m(i)三①,P(i)= U % о € Л/ (/).
(Ю) (Н)
(Ю) (Н)
Заметим, что для заданного множества масок множества Ф и Р (/), М (i) могут быть неединственньши.
(12)(12)Для нахождения наименьшего множества масок Ф желательно найти те маски, которые содержатся в большом числе описаний. Блок и др. определяют процедуру, позволяющую это делать даже для случая, когда первоначально отдельные маски неизвестны. Пусть F (о)——множество описаний объектов, содержащих маску о. Блок и др. считают, что о будет определяться как пересечение таких описаний:
(12)
(12)
о= • А Р (г),р ")wf 9)
Блок с соавторами использует термин признак. Мы различаем маски и признаки из-за того, что определение признака Блоком и др. совпадает с определением маски в анализе персептронов.
Таким образом, если множество F (о) известно, то можно найти а. Однако в большинстве случаев F (о) неизвестно. Надо решить, когда два образа Р (/) и 尸 «*) содержат общую маску, поскольку в этом случае пересечение двух описаний будет также содержать указанную маску. Решение осуществляется введением порога 0 для общих ненулевых элементов в двух образах. Считается, что Р (/) и 尸(i*) содержат общую маску тогда и только тогда, когда 】)
(13)(13)т]^⑴ПРО > 仇
(13)
(13)
Займемся сначала задачей определения в точности одной маски. Пусть выборка S как-то упорядочена: S={尸(1),尸(2),...,尸(孔)}・ Маска о будет определяться в результате последовательного рассмотрения каждого описания из S. Пусть а (г) будет определением маски а, построенным после рассмотрения t-го описания из S, так что а=а (п). Алгоритм имеет вид
° (°) = {/}. /=1,.・.,т;
F(i)DP(i+l) тогда и только тогда,
о« + 1) =,когда ч(а(ОЛ^(1 + 1))>0,(14)
a (i) в противном случае;
а = а (п).
Продемонстрируем работу этого алгоритма на рис. 8.3. Анализ изображенных фигур сразу же приводит к предположению о существовании нескольких возможных масок: диагоналей, горизонталей и вертикалей в разных положениях. (В этом и состоит главное отличие метода Блока и др. от метода Ура и Восслера; в первом маски привязываются к определенным местам сеуки. То же справедливо для определения масок в персептронах.) На нашем рисунке выделяется диагональ слева направо.
0(0)= {1, 2, 3, . . ., 25}0(0)= {1, 2, 3, . . ., 25}Чтобы ограничить рассмотрение масок масками размера не меньше 3, положим 0=2. Последовательность шагов для определения первой маски такова:
0(0)= {1, 2, 3, . . ., 25}
0(0)= {1, 2, 3, . . ., 25}
Л (а (0)ПР(1)) = 9>2 г] (о ⑴ П Р ⑵)=5 > 2 Л (а (2)ПР(3)) = 1《2 Л (о (3) Г) Р (4)) = 5 > 2 Л (о (4)Г)Р(5))= 1《2Л (а (0)ПР(1)) = 9>2 г] (о ⑴ П Р ⑵)=5 > 2 Л (а (2)ПР(3)) = 1《2 Л (о (3) Г) Р (4)) = 5 > 2 Л (о (4)Г)Р(5))= 1《2о(1) = {1, 5, 7, 9, 13, 17, 19, 21, 25}
Л (а (0)ПР(1)) = 9>2 г] (о ⑴ П Р ⑵)=5 > 2 Л (а (2)ПР(3)) = 1《2 Л (о (3) Г) Р (4)) = 5 > 2 Л (о (4)Г)Р(5))= 1《2
Л (а (0)ПР(1)) = 9>2 г] (о ⑴ П Р ⑵)=5 > 2 Л (а (2)ПР(3)) = 1《2 Л (о (3) Г) Р (4)) = 5 > 2 Л (о (4)Г)Р(5))= 1《2
а(2) = {1, 7, 13, 19, 25}
о (3) = 0 ⑵(15)
0(4) = {1, 7, 13, 19, 25}
0(5) = 0(4)
о = о (5)
1) т) (Р) — число ненулевых элементов множества Р.— Прим. pedt
5
Рис. 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}P(4)=jl, 3, 7, 8, 13, 18, 19, 23, 25}Р(5)={5, 9, 11, 12, 13, 14, 15, 17, 21}
Окончательная маска представляет собой диагональ, идущую слева направо и сверху вниз:
X
—X
X
X -
8 Э. Хант
которая в действительности была одним из признаков, использованных при построении объектов рис. 8.3.
Этот алгоритм будет, вообще говоря, формировать различные маски о для каждого из п! возможных упорядочений S. К тому же множество полученных при этом масок не будет наименьшим. Более эффективный алгоритм проходит множество описаний k раз и формирует 论 масок. Пусть а>— маска, полученная после /-й итерации, и а; (г) — определение маски о『,которое будет построено после рассмотрения t-го описания в ходе /-й итерации.
Определим К订 как множество целых чисел {&}, для которых
^ < /. П (^ (0 n Oft) > 0, GQ0八i).(16)
Таким образом, в К” перечислены те из предварительно выработанных масок, которые образуют подмножества маски, вырабатываемой в настоящий момент, и содержатся в описании, рассматриваемом в настоящий момент.
Тогда обсуждаемый алгоритм можно записать в виде
dj (0) = {/}, / — 1 > 2, ..., ш;
(O/(i)nPa + l) тогда и только тогда, когда
[仃/⑴ в противном случае;
Из определения o;(f+l) вытекает, что решение о модификации Oj принимается в результате сравнения с переменным порогом, изменяемым так, чтобы учесть степень, в которой описание Р«+1) уже было обусловлено другими признаками. Любые два признака а; и а;* должны отличаться по крайней мере порогом 0.
Блок и др. показали, что если признаков действительно k и этого достаточно для восстановления всех описаний из множества S, характеризуемого 2Vmin компонентами в наименьшей маске и не более "max общими компонентами для любых двух масок, то, если 0 удовлетворяет соотношениям
昇依一l)Nmax《e《Nmm-^-l)"max,(⑹
алгоритм построит соответствующие маски.
Сравнение метода Ура и Восслерас методом Блока и др.
В статье Блока и др. (1964) утверждается, что, даже когда (18) не выполняется, изложенный алгоритм будет порождать полезные признаки, и даются примеры. Мы также провели несколько не-
формальных проверок и обнаружили, что это действительно так. Однако на практике процедура Ура и Восслера приводила к лучшим результатам. Одна из причин уже была отмечена; Ур и Восс лер ищут одинаковый локальный оператор в различных положениях на сетке, а Блок и др. привязаны к конкретным точкам.
Интересно проследить отношение этих идей к определению предикатов для персептронов, введенному Минским и Пейпертом. Блок и др. излагают процедуру для определения масок, а Ур и Восслер —— метод для определения множеств предикатов, ограниченных по диаметру и инвариантных относительно переноса. Какая из процедур предпочтительнее в каждом определенном случае, зависит от того, имеет ли смысл понятие „предикат, ограниченный по диаметру44. В приводимых здесь геометрических примерах это понятие имеет смысл. Блок и др. указывают (употребляя другую терминологию), что задача нахождения компонент фигур, построенных из линий, тривиальна для людей в большой степени из-за того, что идея предиката, ограниченного по диаметру, для зрительного мира целесообразна, а мы наделены зрением. Однако предположим, что образы на сетке искажены случайной перестановкой элементов сетки. Например, одна из перестановок переменных приводит диагональ, идущую слева направо и сверху вниз, к фигуре вида
Математически задача выделения признаков или масок не изменилась бы, если бы рассматривался алгоритм Блока и др. Но процедура, для которой имеет смысл понятие „локальной области сетки", не обладает таким свойством. Таким образом, алгоритм Блока и др. сильнее, но процедура Ура и Восслера, вероятно, эффективнее для ограниченного (но очень важного) множества ситуаций, в которых справедливо предположение о пространственной непрерывности.
Метод Ура и Восслера имеет еще одну очень важную особенность. Это понятие „пренебрежимыхи переменных. Если задан по- добраз размером 5x5, то программа Ура и Восслера описывает его элементы вектором из троичных компонент со значениями 1» 0 и
X. При поиске такого подобраза в большем образе на сетке программа ищет в большем образе подобласть размером 5x5, с которой можно сопоставить все нули и единицы рассматриваемого признака, а значение х любой из компонент подобраза не учитывается. Грубо говоря, решение пометить какую-либо компоненту знаком х принимается на основе границ. Напомним, что первоначальный признак целиком определялся как копия области описания размером 5x5. Точное совпадение (0 или 1) требуется лишь на „гра- ницахн, т. е. в местах, где один из соседей единицы есть нуль и обратно. В результате признак определяет граничную область в большей фигуре. Например, левая диагональ определялась бы
1
0
0
X
X
0
1
0
0
X
0
0
1
0
0
义
0
0
1
0
X
X
0
0
1
и могла бы хорошо соответствовать либо фигуре
10000
01000
0 0 10 0
00010
00001
которая содержит в точности
【левую диагональ, либо фигуре
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
которая содержит левую диагональ в качестве компоненты. Эффект такого добавления должен приводить к уточнению сопоставления на границах „белой** и „черной** областей изображения, но также должен допускать случайные светлые пятна на темных областях, и обратно. При работе с двумерными фигурами эта стратегия часто оказывается разумной.
Метод включения свойств
В только что описанных двух алгоритмах признаки вырабатываются путем сравнения описаний объектов. Абдали (1971) предложил другой подход: отмечать измерения, состояния ”есть" кото-
рых совпадают. Идея Абдали основана на том, что если какой-то признак рассматриваемого объекта, скажем, воздействует на инструменты 4, 5 и 6 из множества измеряющих инструментов, то тот факт, что заработал инструмент 4, означает, что 5 и 6 также начали работать. Предположим теперь, что второй признак воздействует на инструменты 2, 5 и 7. Эти два признака приводят к следующим соотношениям включения:
三 5, 4 三 6, 6 三 4, 2 s 5, 2 三 7, 7 三 2.
Каждое такое множество соотношений включения можно использовать для определения некоторого признака.
Рассмотрим алгебраические отношения, фигурирующие в предыдущих утверждениях. Если X есть nX/n-матрица, строки которой являются описаниями объектов в терминах т измерений, то ее столбцы — это векторы х), компоненты которых указывают на значение есть или нет результата измерения / в зависимости от того, выполняется ли Хд=1 или х% =0 для объекта 厶 Измерение х; имплицирует второе измерение х/ъ если (все.— Ред) ненулевые компоненты вектора xj содержатся в х;*. Исследуя затем 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)——появляется самостоятельно. Эту ситуацию легко обнаружить, проделав следующие шаги.
Подсчитать число появлений состояния есть для каждого измерения. Рассмотреть эти измерения в порядке возрастания, начиная с измерения, имеющего наименьшее число появлений состояния есть.
Определить в указанном порядке для каждого измерения х} измерения, имплицируемые этим измерением. Это множество определяется как маска.
Для всех еще не рассмотренных измерений х% проверить, можно ли объяснить найденными до этого масками все появления состояния есть. Если да, то исключить это измерение из дальнейшего рассмотрения. В противном случае вернуться к шагу (2) и Делать это до тех пор, пока не будут рассмотрены все измерения.
аа1-010011-01001ООО11О 11ООО1ООО11О 11ООО1о о ооооооо о оооооо
а
а
1-01001
1-01001
ООО11О 11ООО1
ООО11О 11ООО1
о о оооооо
о о оооооо
рис. 8.4. Иллюстрация метода включения свойств: а — описываемые образы;
6— матрица описания образа; в — сформированные маски. (По Абдали (1971).)
На практике в этой процедуре нужно предусмотреть экономное хранение промежуточных результатов. Детали приводятся в работе Абдали (1971). Он показал, что этот метод позволяет быстро обнаруживать маски и имеет то преимущество перед алгоритмом Блока и др., что не зависит от правильного выбора порога. Как любую процедуру нахождения масок, ее можно использовать и для работы с абстрактными двоичными векторами, поскольку, для нее не важна интерпретация входных данных как изображений на плоскости. Основной недостаток рассмотренного метода состоит в том, что он существенно опирается на точное понятие отношения включения. Возможно, это требование можно ослабить, допустив „им- пликации** по некоторому статистическому критерию совместного появления, если есть основания предполагать, что основные измерения подвержены ошибкам.
8・4・ Экспериментальное изучение порождения признаковв распознавании образов
Число различных комбинаций выделения признаков и распознавания образов слишком велико. Взаимодействуют ли этапы выделения признаков и распознавания образов, и если да, то как? Для того чтобы пролить некоторый свет на эти вопросы, я вместе с Марком Стикелем провел эксперимент. Его результаты дают интересный пример того, как выделение признаков может изменить логические характеристики задачи распознавания образов.
НАЧАЛО
Рис. 8.5. Различные этапы в процедуре распознавания
образов.
Основная схема эксперимента приведена на рис. 8.5. На вход программы предъявлялись двумерные плоские фигуры, спроектированные на сетку размером 25x25. Внутри программы предъявляемые образы представлялись в терминах положения двух подобразов (признаков) размером 5x5, подобных тем, что использовались У ром и Восслером. Сначала программа выбирала эти два признака случайным образом, затем эти признаки выбирались путем имитации признаков в классифицируемых данных. Вектор у обнаруженных признаков определял входную информацию для части программы, распознающей образы. Она указывала, сколько раз появлялся каждый признак и его среднее положение по горизон- тали и вертикали. Устройство распознавания образов затем приме-
ияло для классификации объекта свою текущую „наилучшую гипотезу" (т. е. свою наилучшую гипотезу по отношению к корректной процедуре классификации). Этот результат сравнивался с правильным ответом, и вектор z, описывающий объект в терминах признаков, заносился в память.
Как только программа неверно классифицировала объект, вырабатывалось новое правило классификации при помощи одной из трех процедур. Программа линейной классификацwи просто постоянно просматривала все объекты, хранящиеся в памяти, используя алгоритм с обучением персептрона, пока не вырабатывалась линейно разделяющая функция, которая могла верно классифицировать все объекты. Программа группирования применяла для объектов, хранящихся в памяти, метод формирования групп Се- бестиана (1962), основанный на среднем расстоянии между некоторой точкой и другими точками из заданного класса. Программа CLS 1) применяла процедуру просмотра на один шаг вперед для построения деревьев решения. Все эти алгоритмы изложены в предыдущих главах. Как только правило классификации вырабатывалось, еще до получения новых данных в программе исследовалось выработанное ею правило классификации и проверялось, были ли в нем учтены оба признака, активные в данный момент. Если один из них имел небольшой вес или не появлялся в дереве решения* то он отбрасывался, и происходило обращение к подпрограмме выделения признаков, которая при помощи варианта процедуры Ура и В осел ер а формировала новый признак, исследуя объекты, хранящиеся в памяти.
В экспериментах, изложенных ниже2), варьировалось число описаний, которые программа могла хранить в памяти в данный момент. Обучение заканчивалось, когда либо классифицировались 100 изображений, либо на работу центрального процессора машины ИБМ-7094 уходило 15 минут. После обучения применялось последнее из построенных правил для классификации 100 новых образов, которые выбирались независимо от выбранных при обучении.
Задачи были намеренно взяты для иллюстрации сильных сторон каждой программы распознавания образов. Были определены два класса образов. В пределах каждого класса данные порождались путем наложения подполей размером 5x5, содержащих зна-
丄)Т. е. Concept Learning System (система построения понятий).——Прим, перев.
Был также проведен ряд других экспериментов, о которых мы не будем говорить. Оии подтверждают сделанные здесь выводы. Эксперименты с подобной постановкой проводились Нильсоном (1965) и дали по существу те же результаты. После того как были закончены наши исследования, нам стали известны результаты аналогичных экспериментов, выполненных Паулой Дир (УКЛА, Центр обработки биомедицинской информации). Она получила по существу те же результаты.
ки + или х (рис. 8.6), на сетку размером 25x25 в соответствии со следующими правилами.
В случае линейной задачи для класса 1 вероятность помещения 4- на подполе была больше 0,5 для двух верхних строк подполей размером 5x5, вероятность помещения 乂 на подполе была больше 0,5 для двух нижних строк. Для класса 2 распределение вероятностей было обратным.
В случае задачи группирования вероятность помещения знаков + или X на подполе размером 5x5 менялась в зависимости от расстояния этого подполя до центрального подполя размером 5x5. Оба класса были „сгруппированы*4 около центральной точки, в ко-
Рнс. 8.6. Компоненты для построения образов, использовавшиеся в экспериментах.
торой вероятность помещения любой фигуры на подполе была наибольшей. По мере удаления от центральной точки вероятность помещения + на периферийном подполе для одного класса уменьшалась быстрее, чем вероятность X, а для другого класса вероятность X уменьшалась быстрее, чем вероятность +.
В случае последовательной задачи классы определялись отношением между положениями знаков + и х. Для класса 1 знаки + помещались с высокой вероятностью в верхний левый угол, а знаки х ——в нижний правый, или + помещались в верхний правый, а X ——в нижний левый. Для класса 2 примеров + вероятнее всего можно было найти над X как в правой, так и в левой части сетки. Таким образом, задача представляла собой классификацию, основанную на двух ”моделях" образов на каждый класс.
Для класса 1 было
+ + ++ + +
+ ++ + +
+ X X или х +
XXXXXX
XXX义 X X
и для класса 2и для класса 2
и для класса 2
и для класса 2
+ + + + + + + + + + + + + X или х + + XXX X X XXX X X
Меняя параметры этой основной ситуации (такие, как размер памяти и характер случайного распределения пустых полей, + и X),
loo50 xs^sx^soocs Х5НВXHBhod 匸loo50 xs^sx^soocs Х5НВXHBhod 匸loo50 иипемибизекх х-лх&ш工当 oduloo50 иипемибизекх х-лх&ш工当 odu2510025100Число обучающих примеров6Число обучающих примеров62525Число обучающих примеровЧисло обучающих примеровxx^2xfrxoo«5 Х2Х&Ш- J.工当oduxx^2xfrxoo«5 Х2Х&Ш- J.工当odu幽CL$幽CL$ГруппированиеГруппированиеЛинейная классификацияЛинейная классификация
loo50 xs^sx^soocs Х5НВXHBhod 匸
loo50 xs^sx^soocs Х5НВXHBhod 匸
loo50 иипемибизекх х-лх&ш工当 odu
loo50 иипемибизекх х-лх&ш工当 odu
25100
25100
Число обучающих примеров
6
Число обучающих примеров
6
25
25
Число обучающих примеров
Число обучающих примеров
xx^2xfrxoo«5 Х2Х&Ш- J.工当odu
xx^2xfrxoo«5 Х2Х&Ш- J.工当odu
幽CL$
幽CL$
Группирование
Группирование
Линейная классификация
Линейная классификация
Рис. 8.7. Средняя точность правил классификации для различных программ распознавания образов; а — линейные задачи; б —— задачи группирования;
8 — последовательные задачи.
мы могли бы провести много экспериментов. К счастью, мы скоро обнаружили, что наши основные результаты не зависят от изменения параметров и поэтому их можно свести к одному рисунку (рис. 8.7). На нем изображены результаты верных классификаций второй совокупности из 100 рисунков, сделанных после обучения на первом этапе. Данные ясно показывают, что, хотя типы задач различаются по сложности, эффективности различных программ распознавания образов для данной задачи значительно не отличаются. На этом рисунке не отражена, однако, изменяемость результатов при получении решений; она была довольно низкой, за исключением последовательной задачи, которую при помощи линейного устройства распознавания образов иногда не удавалось решить вовсе. В остальных случаях средние, представленные на рисунке, хорошо соответствуют результатам эксперимента.
Эти результаты удивили нас, поскольку мы думали, что различные устройства распознавания образов должны были бы работать особенно хорошо с задачами, построенными специально для них. В частности, сначала мы не понимали, как линейная программа могла бы решить последовательную задачу, ибо были уверены, что выделение признаков разрушит необходимую для решения информацию. Напротив! Оказалось, что обратная связь от устройства распознавания образов заставила выделяющую признаки часть
Рис. 8.8. Признаки, порожденные устройством линейного распознавания образов при решении последовательной задачи: а ——нижняя часть знака + над пустым полем; б — пустое поле над верхней частью знака X; еИ над X.
нашей программы определить признаки, которые преобразуют задачу классификации к виду, удобному для конкретного устройства распознавания образов. Самая яркая иллюстрация —— пример того, как линейное устройство решает последовательную задачу. Напомним, что для решения последовательной задачи надо выявить, имеют ли знаки + тенденцию появляться над X в любом месте сетки размером 25 х25. Рассматриваемое устройство линейного распознавания образов требовало, чтобы новые признаки порождались до тех пор, пока устройство выделения признаков не выделит их (рис. 8.8). Программа нашла характеристики границы между областями с высокой и низкой плотностями знаков + и X.
Возможно, нам следовало знать заранее, что наша программа способна сделать это. Люди, которым мы приводили данный пример, говорили нам это, но уже после того, как мы объясняли им, как наша программа решает задачу.
8・5・ Kate важно быть умным
и попытки заставитьи попытки заставитьВсегда разумно стремиться к тому, чтобы стать умнее, даже если такое пожелание, выраженное в виде совета, и расстраивает собеседника. В наших экспериментах мы оказались в дураках потому, что наша программа была в некотором смысле умнее нас, когда мы определяли признаки. На самом деле для того чтобы решать многие практические задачи устройством распознавания образов, еле” дует стремиться не к универсальным методам, а к методам, локально сильным, но и весьма специализированным, подходящим для решения имеющейся конкретной проблемы. Это утверждение прекрасно иллюстрируется процедурой Ледли (1964), в которой методы грам・ магической классификации образов применяются для анализа хро” мосом. Основные признаки были выбраны им на основе способов,
и попытки заставить
и попытки заставить
которыми хромосомы разделяются; не было
машину породить эти признаки. Человек, решающий реальную задачу, крайне заинтересован в том, чтобы при поиске решения использовать всю информацию, которой он располагает.
При обсуждении того, какие признаки должны быть использова* ны для решения конкретной задачи классификации, естественно считать целесообразными признаки, представляющие собой ком、 поненты описания объекта, например интерпретировать человека как совокупность рук, ног и других частей тела, а буквы как совокупности дуг и отрезков. В ряде случаев, как показал анализ, это не тот способ, который можно рекомендовать. Могут существовать признаки весьма полезные для классификации, но никак не связывающиеся к компонентами описания. Для нахождения таких признаков нельзя дать никаких общих правил. Но так как рассматриваемый метод оказался весьма эффективным, приведем три примера его применения.
В первом примере для классификации цифр применяется метод „пробного вектора* который нашел широкое применение при разработке оптических систем распознавания знаков. Задача состоит в распознавании заранее отцентрированной на зрительном поле цифры. Способ, которым она решается, заключается в построении множества “пробных векторов", т. е. отрезков на поле, где находится изображение (рис. 8.9, а). Каждый из векторов можно рассматривать как признак. Когда реальная фигура, например цифра ”2“, будет проектироваться на это множество (рис. 8.9, б), она пересечет различные пробные векторы. В наших предыдущих обозначениях пересечение фигурой определенных пробных векторов соответст-
вует наличию определенного признака. Различные цифры приводят к различным картинам пересечений, которые, таким образом, формируют основу для последующего распознавания.
Рис. 8.9. Метод пробных векторов для распознавания знаков: а — пробные векторы; 6 — цифра 2, наложенная на пробные векторы.Рис. 8.9. Метод пробных векторов для распознавания знаков: а — пробные векторы; 6 — цифра 2, наложенная на пробные векторы.
Рис. 8.9. Метод пробных векторов для распознавания знаков: а — пробные векторы; 6 — цифра 2, наложенная на пробные векторы.
Рис. 8.9. Метод пробных векторов для распознавания знаков: а — пробные векторы; 6 — цифра 2, наложенная на пробные векторы.
Бонгард (1970) предлагает еще более впечатляющий способ выделения признаков в необычной задаче распознавания образов. Рассмотрим две таблицы (рис. 8.10), строки которых получены по двум математическим формулам. Таблица I образована функцией g(A, B)=A+B=Ct а таблица II —функцией g(4, В)=А—В=С.
АВС3?645629813813АВС3?645629813813
А
В
С
3
?
6
4
5
6
2
9
8
13
8
13
А
В
С
3
?
6
4
5
6
2
9
8
13
8
13
Рнс 8.10. Таблицы функций, предназначенные для распознаваний: (I): д(Л, S) = =4+8=С (II): g(4, 8)=4—8=С.
Если заданы несколько таких таблиц, можно ли написать про- грамму, которая, изучив все таблицы, относящиеся к заданной функции, выделила бы характерное описание, с помощью которого можно было бы соотнести новые таблицы с определяющей их функ- нней? Предполагается, что на всех этапах работы программе не
сообщается в явной форме вид соответствующей функции. Бонгард дает описание программы, названной АРИФМЕТИКА, которая обладает требуемыми свойствами. На нас особое впечатление произвела процедура выделения признаков, поэтому обсудим ее подробнее.
Выделение признаков в программе АРИФМЕТИКА осуществляется в три этапа. На первом генерируется определенное число арифметических признаков. Каждый арифметический признак связывает два из трех табличных элементов (Л, В, С) арифметической операцией. Таким образом, на этом этапе можно было бы выработать признаки, имеющие вещественные значения, такие, как Л+В, Л+С, А£, ВхС Если известно, что возможны только три операнда и ограниченное число операторов, то число возможных арифметических признаков невелико. Каждый из них можно оценить для каждой строки таблицы. Затем арифметические операции преобразуются в логические переменные при помощи одного из шести возможных правил преобразования. Все эти правила основаны на результате арифметической операции. Возможным логическим правилом преобразования является, например, правило „утверждение 厶1(/(尤,у)) истинно тогда и только тогда, когда f>0“. Преобразования можно применить к таким функциям, как А*В или Z/C, и, когда описаны аргументы функции /, утверждение LJ принимает определенное значение. В частности, в нашем примере Ьг(А+В) принимает значение истина для первой строки таблицы I. Теперь мы получили признаки, которые дают возможность отобразить строку таблицы в вектор логических переменных.
На следующем этапе логические переменные объединяются в пары. Правило объединения выбирается из десяти возможных логических операций, применимых к двум переменным. Иначе говоря, правилом объединения может быть F (а,匕)=。или Ь, а и b и т, д., где а и 匕 一 логические переменные. Типичным признаком здесь могло бы быть
F(a, 6) =Lr (a+b) или 4(仪/匕). (19)
И снова полученный признак F имеет значение, определенное для конкретной строки таблицы. Для того чтобы определить F для всей таблицы, надо взять логическое произведение всех строк таблицы. Таким образом, эта процедура позволяет определить ряд признаков, относящихся к частным арифметическим таблицам, т. е. к функциям, а не строкам.
Программе АРИФМЕТИКА задаются таблицы, связанные с различными (но неизвестными) функциями. Соответствующие табличные признаки (F) порождаются до тех пор, пока программа не получит 33 функции, истинные для приблизительно половины таб- лиц (это число определялось характеристиками ЭВМ, на которой прогонялась программа, и не имеет особого значения). Затем про-
грамма исследует новое множество таблиц, порожденных теми же функциями, и пытается определить, с какой из таблиц, использованных на этапе обучения, должна быть сопоставлена каждая из новых таблиц. Решение осуществляется простым алгоритмом группирования, основанном на близости образов (尸)для каждой пары таблиц. Бонгард сообщает, что программа верно классифицировала простые арифметические функции почти во всех возможных тестовых случаях, ошибаясь лишь в 3% случаев. В определенном смысле это впечатляющий результат, хотя и неясно, что же делать дальше. С одной стороны, программа в некотором смысле „индуктивно определяла функцию*4, поскольку она может распознать новые примеры этой функции. С другой стороны, сама функция не была определена. Программу не удалось обучить давать значение С для конкретной пары аргументов Д, В, хотя ее можно было модифицировать так, чтобы она могла строить разумную гипотезу относительно того, какое из двух возможных значений С больше похоже на правильное.
Судя по всему, результаты Бонгарда означают, что тесты на выбор из многих альтернатив не подходят для измерения степени интеллектуальности машины. Безусловно, это лишь применение распознавания образов к необычной ситуации.
В качестве последней иллюстрации полезного и неочевидного анализа признаков рассмотрим метод обработки двумерных изображений, при котором изображения трактуются как математические объекты. Черно-белое изображение можно определить „функцией зачерненности** g (爲 у), значения которой представляют степень зачерненности в точке (х, у) на плоскости изображения. Эту функцию можно разбить на независимые компонента с помощью метода, называемого двумерным анализом Фурье. Мы не будем вда* ваться в математические подробности (интересующийся читатель отсылается к сжатому обсуждению в книге Дуды и Харта (1973), где можно найти и дальнейшие ссылки). Мы неформально изложим здесь этот подход.
Для начала рассмотрим функцию одного аргумента f (х) и предположим, что она периодическая с периодом 2 л. Теорема Фурье утверждает, что / (%) можно представить в виде сходящегося бесконечного ряда
f(x) = a°/2 + У cos их + bn sin их). (20)
Ясно, что этот ряд можно приблизить суммой конечного числа членов. На рис. 8.11 изображена сложная функция, равная сумме взвешенных гармоник.
Как можно было бы решить задачу распознавания образов, включающую классификацию таких сложных форм, как кривая А на
рис. 8.11? Один из путей ——описать каждое такое изображение вектором z, составленным коэффициентами ее первых 々 гармоник, и затем применить алгоритм распознавания образов для векторной классификации множества коэффициентов. Для определения этих коэффициентов пользуются хорошо известным в математике гармоническим анализом (т. е. нахождением коэффициентов Фурье данной функции), так что этот шаг не вызвал бы затруднений.
Рис. 8.11. Пример декомпозиции функции 4. Кривая Л получена как взвешенная сумма гармоник 1—4.
Чтобы применить этот метод в распознавании изображений, рассмотрим сначала простое изображение, состоящее из последовательности одинаково затененных вертикальных полос. Такое изображение можно было бы считать взвешенной суммой решеток с различными частотами смены белых и черных вертикальных полос (рис. 8.12). Аналогично изображение, состоящее из одинаковых го-
11й ^¥<t ^l^;.-й ^¥<t ^l^;.-
1
1
й ^¥<t ^l^;.-
й ^¥<t ^l^;.-
Рис 8.12. Применение пространственного гармонического анализа. Нижнееизображение получено суммированием двух верхних.
ризонтальных затенений, можно было бы считать суммой горизонтальных полос. В таком изображении степень зачерненности была бы функцией только горизонтальной или только вертикальной координаты g(尤)или g(y), а коэффициенты функции зачерненности, использовавшейся для получения этого изображения, можно было бы найти гармоническим анализом. Предположим теперь, что изображение, полученное суммированием горизонтальных полос, наложили на изображение, полученное суммированием вертикальных полос. Результатом было бы изображение, составленное из блоков раз-
Рис. 8.13. Решетка, определяемая вкладом ненулевой компоненты, соответствующей паре (f%, fy), в функцию зачерненности g(x,(/).
личной яркости. Ограничение на степень разрешения вылилось бы в ограничение на частоты решеток, использованных для этого построения. Высокие частоты и, таким образом, частые тонкие линии привели бы к очень мелкой мозаике. Однако для определения большинства изображений одних блоков недостаточно, поскольку край предмета может расположиться по диагонали. Выражаясь весьма приближенно, диагонали соответствуют отношениям между частотами по направлениям хну. Иными словами, если fx и fy——частоты, определяемые вертикальными и горизонтальными полосами, то пару (/х, fy) можно представить множеством прямых с наклоном —— (/Jf J. (Заметим, что /龙 и fy могут быть отрицательными.) Расстояние между прямыми определяется значениями fx и fy. Чем больше эти значения, тем ближе прямые друг к другу (рис. 8.13) i). Фундаментальный результат пространственного гармонического анали-
1) Точнее, изображение в данном случае описывается выражением G (f^, /у)Х Xexp[2ji«/y+f»)] +G(—%,— fy)exp[2ni(—fxx—fyy}], что на неограниченной плоскости дает „волнистую** поверхность, причем рис. 8.13 показывает расположение гребней этих волн.— Прим, ред,
Рис. 8.14. Изображения, полученные (а) квантованием изображения, имевшего высокое разрешение, и (6) последующей фильтрацией высоких частот, что приводит к сглаживанию краев, (Взято из статьи Хармона и Юлеша (1973),)
за состоит в том, что любое изображение (т. е. функцию зачернен- ности g (居 у)) можно приблизить конечной взвешенной суммой решеток, соответствующих парам (/х, fy). Тогда интуитивно ясно, что любое изображение можно интерпретировать как взвешенную сумму решеток различной ориентации, частоты и интенсивности. В терминах машинного распознавания образов любое изображение можно представить (с любой степенью точности) вектором, компонентами которого являются веса, приписываемые решеткам определенной ориентации и частоты. Резкие края соответствуют высокой интенсивности и высоким частотам решеток, имеющих определенную ориентацию.
На первый взгляд разбиение изображения на его компоненты Фурье может показаться операцией, которая, будучи математически оправданной, все же не слишком приспособлена для представления информации, содержащейся в изображении. Однако некоторые удивительные результаты, полученные при исследовании сенсорного восприятия, свидетельствуют, что это не так. Оказывается, что зрительная система млекопитающих осуществляет что-то вроде гармонического анализа образа на сетчатке глаза и применяет его для упорядочения воспринимаемого видимого мира. Можно привести несколько доводов в пользу подобного предположения. Хармон
и Юлеш (1973) выполнили необычайно интересный эксперимент, посвященный этому вопросу. Они разбили на блоки фотографию с высоким разрешением портрета Авраама Линкольна, приписали всем точкам каждого блока значения средней зачерненности блока. Получилось изображение, показанное на рис. 8.14,а. Следствием такого квантования изображения было введение высокочастотных „шумовых^ компонент, связанных с границами между блоками. Хармон и Юлеш затем получили второе изображение, отфильтровывая из блочного изображения почти все частоты, более высокие, чем те, которые могли бы поступить из оригинальной фотографии в блочную. (Размер блоков определяет верхний предел частоты, которая может быть передана из оригинала в блочное изображение.) Результат восстановления показан на рис. 8.14, 6; он представляет собой легко узнаваемый портрет Авраама Линкольна )
Проведенный экскурс в психологию сенсорного восприятия иллюстрирует важный момент машинного распознавания образов. От системы выделения признаков, используемой в устройстве распознавания образов, не требуется сохранять информацию, содержащуюся в изображении, в том виде, в каком она воспринимается человеком. На самом деле и человеческая зрительная система, очевидно, этого не делает. Хорошая система выделения признаков сохраняет информацию, достаточную для восстановления классифицируемых объектов на уровне деталей, необходимых для классификации. Более того, она предоставляет эту информацию алгоритму распознавания образов в виде, удобном для него.
Впрочем, как отметил У. Сароян, в лице этого человека что-то есть. Если вы начали его рисовать, как бы плохо вы ни рисовали, он все равно будет похож в точности на Линкольна,— Прим, ред.
Часть III
ДОКАЗАТЕЛЬСТВО ТЕОРЕМ И РЕШЕНИЕ ЗАДАЧ
Глава 9
МАШИННОЕ ПРЕДСТАВЛЕНИЕВ РЕШЕНИИ ЗАДАЧ
9・0・ Использование представлений
Термин „решение задачи употребляется в искусственном интеллекте в весьма ограниченном смысле. Мы говорим, что существует задача, если воспринимаемое состояние внешнего мира отличается от желаемого. Соответствующая задача решается изменением внешнего мира так, чтобы указанное различие исчезло. Подразумевается, что у решателя задачи есть возможность предпринять действия, которые могут привести к необходимым изменениям. Однако осуществление таких действий вслепую не считается решением задач, поскольку решение должно сопровождаться некоторым процессом выбора подходящих действий. Мы будем заниматься машинными программами, осуществляющими такой выбор.
Мыслители не решают непосредственно задач как они есть, а занимаются поиском представления задач. Этот факт настолько обыден, что мы не ощущаем его важность до тех пор, пока не попытаемся построить программу, предназначеиную для решения задач. Конечно, такая программа работает не с реальным физическим миром, а с его символьным представлением в предположении, что существует соответствие между символами и операциями над ними в машине, с одной стороны, и состояниями и действиями во внешнем мире ——с другой. Фактически всю прикладную математику можно рассматривать подобным образом.
Для представления физического мира и действий в нем используются числа и операции над ними. Сначала решается численная задача, и полученное решение переводится на физический язык. Иногда такой перевод очевиден. Например, если бы нас попросили определить средний вес игроков футбольной команды, то каждому отдельному игроку мы бы приписали число, соответствующее его весу, провели бы необходимые вычисления и получили результат. В ряде случаев перевод не столь очевиден. Рассмотрим задачу на-
хождения оптимального маршрута для школьного автобуса. Если задан конкретный маршрут, то можно вычислить для каждого школьника время его пребывания в автобусе и пройденное расстояние.
При попытке определить на основе этих переменных „наилучший маршрут" мы сталкиваемся с некоторыми трудностями. Ввести ли дополнительный автобус, если среднее время пути при курсировании только одного автобуса больше 15 мннут, или сделать это, когда оно станет больше получаса? Как влияет на решение стоимость автобуса? Как соотнести среднее время пути для всех учеников с максимальным временем пути одного ученика? В этом примере можно измерить отдельные переменные, но мы не уверены в том, что будет иметь смысл учитывать комбинации различных факторов. Во многих „реальных жизненных** ситуациях нет возможности измерить значения решающих переменных.
Первый важный вопрос относительно любого представления состоит в том, достаточно ли точно оно моделирует реальность. Второй вопрос касается полезности представления: оно должно быть таким, чтобы решателю задач было легко с ним работать. Понятие „легко работать** подразумевает вполне определенные факты о решателе задач и самой задаче. Например, вычислитель, пользующийся логарифмической линейкой, знает, что для умножения полезно аналоговое представление чисел, а при работе на счетах он предпочтет цифровое представление. В искусственном интеллекте мы часто отмечаем различия между представлениями, естественными для решения задач человеком, и представлениями, удобными для решения задач машиной.
Для того чтобы проиллюстрировать связь между представлениями и процессами решений, рассмотрим задачу из области общения в социальной группе. Хорошо известно, что информацию о новейших результатах ученые в основном получают из личных контактов. Известно также, что ученый обменивается информацией не с каждым другим ученым. Допустим, что ученый, являющийся чле- ном некоторых, но не всех „невидимых коллективов'*, делает открытие и извещает о нем через свои каналы этой неформальной сети. Насколько быстро распространяются новости об этом открытии?
В качестве первого приближения предположим, что ученые общаются только на научных встречах и на каждой встрече каждый ученый обменивается информацией, касающейся всех известных ему открытий, со всеми своими друзьями. Безусловно, это сильное упрощение реального процесса общения, поскольку мы сконструировали механизм с искусственным разделением на моменты обмена информацией и не допускаем возможности смены научных знакомств. Несмотря на это, обсуждаемую модель можно считать удовлетворительной.
Для получения списочного представления составим список ученых с указанием людей, с которыми каждый из них беседует:
247247ДжонсСмитТомас Грин Браун Бейкер Уайт Беннет Мейзон ДжеймсДжонсСмитТомас Грин Браун Бейкер Уайт Беннет Мейзон Джеймс4 56-7-&9-0-4 56-7-&9-0-Смит, Томас
247
247
Джонс
Смит
Томас Грин Браун Бейкер Уайт Беннет Мейзон Джеймс
Джонс
Смит
Томас Грин Браун Бейкер Уайт Беннет Мейзон Джеймс
4 56-7-&9-0-
4 56-7-&9-0-
Джонс, Браун, Грин Джонс, Бейкер, Браун Смит, Браун Смит, Грин, Томас Томас, Уайт
Бейкер
Мейзон, Джеймс Беннет
Беннет
Рис 9.1. Граф сети общения.Рис 9.1. Граф сети общения.Для определенности будем считать, что открытие сделал Джона. Чтобы решить нашу задачу, перечислим людей, с которыми Джонс беседует: Смит и Томас. Они услышат об открытии на первой ветре-
Рис 9.1. Граф сети общения.
Рис 9.1. Граф сети общения.
че. Добавим к этому списку тех, которым Смит и Томас расскажут об открытии на следующей встрече, так что теперь список состоит из Джонса, Смита, Томаса, Грина и Бейкера. На каждом этапе добавляем имена, упоминаемые впервые. В конце концов (в этом примере после трех встреч) новые имена перестанут добавляться. Описанный процесс определяет необходимое число шагов для распространения новости и путь ее распространения.
Представление в виде графа, называемое графовым представлением, точно так же соответствует реальности, как и списочная модель, но имеет некоторые преимущества благодаря своей наглядности. Сеть общения из приведенного выше примера изображена на рис. 9.1 в виде графа, в котором узлы соответствуют ученым, а дуги соединяют человека, передающего новость, с принимающим ее. Из рисунка сразу видно, что это общество распадается на две группы, не связанные между собой: нет возможности передать сообщение от Джонса к Беннету, Мейзону и Джеймсу. Несколько более подробное исследование показывает, что дальше всех из достижимых для Джонса находится Уайт (расстояние по графу равно 3 дугам). При решении этой задачи людьми графовое представление
лучше списочного. Почему? Вероятно, потому, что людей можно считать исключительными по эффективности системами обработки зрительной информации. Конечно, если бы имен было гораздо больше и, значит, граф был бы значительно сложнее, пришлось бы вернуться к списочному представлению. При этом люди смогли бы справиться с произвольно сложными задачами, но это было бы очень трудно из-за человеческой склонности к ошибкам при подсчетах.
И наконец, матричное представление (предложенное Харари, Норманом и Картрайтом, 1965). Оно годится для машинного решения задач, но людям нелегко пользоваться им. Определим путь
0 110 10 0 1 10 0 00 10 0 0 I I I 0 0 10 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 110 10 0 1 10 0 00 10 0 0 I I I 0 0 10 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0о о I о i【1 о о 6 о о 0 1 о о о о о оо о I о i【1 о о 6 о о 0 1 о о о о о о0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 010 0 00 0 0 00 0 110 10 10 1100 0 0 00 0 0 00 0 0 00 0 0 00 0 0 010 0 00 0 0 00 0 110 10 10 110
0 110 10 0 1 10 0 0
0 10 0 0 I I I 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0
0 110 10 0 1 10 0 0
0 10 0 0 I I I 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0
о о I о i【
1 о о 6 о о 0 1 о о о о о о
о о I о i【
1 о о 6 о о 0 1 о о о о о о
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
10 0 0
0 0 0 0
0 0 11
0 10 1
0 110
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
10 0 0
0 0 0 0
0 0 11
0 10 1
0 110
Рис. 9.2. Матрица связности, соответствующая се-ти, изображенной на рис. 9.1.
(О(Окак маршрут, по которому информация передается от одного к другому, и длину пути как число шагов в нем. Таким образом, последовательности Джонс, Томас, Браун и Джонс, Смит, Грин, Браун (рис. 9.1) являются путями от Джонса до Брауна с длинами 2 и 3 соответственно. Обозначим через С матрицу, элементы которой 3/ равны 1 тогда и только тогда, когда ученый i общается с ученым j, и 0 в противном случае. Считаем, что。衣=0. На рис. 9.2 показана матрица, соответствующая графу на рис. 9.1. Заметим,что матрицу С можно интерпретировать и так:。仃 определяет число путей (не больше одного) длины 1 от ученого i к ученому /. Этот способ выразить смысл, содержащийся в рассматриваемой матрице, кажется неуклюжим, пока не поставлен более общий вопрос. Сколько путей длины 2 ведет от / к /? Для того чтобы ответить на этот вопрос, подсчитаем число путей длины 1, ведущих от / к А, и число таких путей от к / для всех возможных G. Тогда число путей длины 2, ведущих от / к /, равно
(О
(О
不С必走/ =噌.
Запишем (1) в матричной форме:
С^^^^С^С.⑵
Для того чтобы найти число путей от i к / длины 3, определим для всех 々 число путей длины 2, ведущих от / к fe, и длины 1, ведущих от 々 к /. Число путей от / к / длины 3 равно
审噎%=喈,⑶
или в матричной форме
С⑶= С(2)с.(4)
Обобщим (4) на случай путей длины и:
% = С 吁 >С(5)
Процесс общения оканчивается в точке, в которой увеличение длины пути не увеличивает числа путей. Математически это означает, что
С…=с叫(6)
Пусть и*——наименьшее целое число, для которого справедливо (6). Ненулевое значение 嘴*〉указывает на то, что от z к / ведет по крайней мере один путь длины не более Если с^=0, то от / к / пути нет.
Различие между матричным и графовым представлениями обусловлено, разумеется, не переходом от реального мира к символьному, поскольку между этими представлениями существует взаимно однозначное соответствие. Выбор какого-то из них зависит от склонности решателя задач к численным или зрительным операциям.
В следующем разделе излагаются типы представлений для решения задач в соответствии с работами Ньюэлла и Саймона (1972) и Нильсона (1971). Разделение на типы не строгое. Похоже, что по крайней мере между некоторыми из представленных типов можно установить формальную эквивалентность. Бенерджи (1969) исследует это несколько подробнее. Однако предположение о том, что все представления можно считать прагматически эквивалентными, кажется сомнительным. Представления можно интерпретировать как эвристические подходы к решению задач. Хорошее представление дает хороший метод решения задач. И хотя формальная эквивалентность хорошего представления плохому интересна с точки зрения математики, для практического решения задач этот факт мало полезен.
Типы представлений
0. Перечисление
В перечисляющем представлении рассматривается множество U возможных решений и какое-то правило для их оценки. Если U конечно, то можно проверить решения в некотором порядке и выбрать правильное. Если U бесконечно, но счетно, то его элементы также можно порождать в некотором порядке и проверять их правильность. В искусственном интеллекте методы перечисления иногда подвергаются критике отчасти потому, что в первых работах в этой области 1) подразумевалось, что они основаны на „грубой силе и не- ведении", т. е. на методе слепого порождения пробных решений, пока не встретится правильное. Вместе с тем на практике был разработан ряд довольно изящных перечисляющих методов. Формальное описание перечисления само по себе наводит на мысль о том, в каких же случаях перечисление может быть полезным. Пусть функция / выбирает хотя бы одно решение s£S для любого множества S^U. Перечисляющий алгоритм выглядит так:
Положить 々=0 и начать с некоторого множества пробных решений So三U.
Если Sk содержит требуемое решение, то работа алгоритма оканчивается. В противном случае перейти к (iii).
Построить Sft+1=/(Sft), увеличить k на единицу и перейти к (ii).
Перечисляющий метод отличается от других методов тем, что на каждом шаге выбирается множество Sk+l, зависящее лишь от S^* Тогда следующий шаг является функцией рассматриваемого шага и не зависит от сравнения последнего с ответом. Интуитивно это выглядит как решение задач вслепую, и это действительно так, если только характеристики ответа не сохраняются одними и теми 宛е. Если это условие выполнено, то подразумеваемое сравнение элементов множества Sk с требуемым целевым состоянием можно предусмотреть в самом определении перечисляющей функции /. Важный пример такой задачи приведен в гл. 1, где отмечалось, что многие задачи можно описать конъюнкцией вида „Л и В и С“. Если цель решения задачи состоит в показе, что такая конъюнкция ложна (т. е. утверждения в ней противоречивы), то достаточно просто вывести из множества исходных утверждений пустое утверждение ложь. Таким образом, ложь становится постоянным целевым состоянием для целого ряда различных задач, и перечисляющий подход к решению задач становится целесообразным. В машинном доказательстве теорем этот метод действительно оказался полезным.
】)См., в частности, работу Ньюэлла, Шоу и Саймона (1956).
Решение задач в пространстве состояний
Подход, использующий пространство состояний, очень распространен в решении задач. В нем предполагается существование счетного множества S состояний и множества О операторов, которые отражают состояния множества S в себя. Решение задач рассматривается как передвижение в пространстве, определяемом множеством этих состояний, с целью достигнуть желаемое множество целевых состояний. Задача решена, когда найдена такая последовательность операторов
0 二0⑴,0叫.…0叫 (7) что
% = 0⑶ (0⑴(S/ …)), (8) где So—— некоторое состояние из множества начальных состояний, а Sg——из множества целевых состояний.
Существует полезный изоморфизм между задачей нахождения последовательности о и задачей нахождения пути на графе. Пусть S будет множеством узлов некоторого графа, у которого узлы i и / соединены дугами тогда и только тогда, когда в О есть оператор о, отображающий * в $六 Путь от одного состояния к другому эквивалентен соответствующей последовательности операторов. Графовое представление решения задач в пространстве состояний имеет следующие преимущества. В нем интуитивно легко понять далеко не тривиальные высказывания. Оно приводит к естественному обобщению анализа, при котором учитывается стоимость ck применения оператора oft, что соответствует пометке каждой дуги графа ее стоимостью. Наконец, во многих случаях каждый последующий поисковый шаг можно выбирать как функцию сравнения целевого и текущего состояний. Подробно это будет изложено в гл. 10.
Сведение задачи к подзадачам
В методе сведения задачи к подзадачам определяется совокупность подзадач, которые, если бы решились раздельно, привели бы к решению исходной задачи. Затем рассматривается каждая подзадача, и результаты объединяются для нахождения решения всей задачи. Этот процесс можно применять рекурсивно для порождения подзадач, подподзадач и т. д. до тех пор, пока, наконец, не получится множество тривиальных “задач", решения которых известны. Решения этих задач можно объединить в решение более сложной задачи. В качестве интересной иллюстрации рассматриваемого метода Нильсон (1971) предлагает задачу „Ханойская башня"• Даны три колышка и три различных диска. Сначала все диски находятся на левом колышке, требуется переместить их все на правый (рис. 9.3). При этом каждый раз должен перемещаться только один диск, и боль-
Рис. 9.3. Задача «Ханойская башня», начальное и целевое расположения.
Рис. 9.6. Задача, оставшаяся после ходов, изображенных на рис. 9.4 и 9.5.
Тривиальная подзадача, решаемая за один ход.
ший диск никогда не должен находиться над меньшим. Чтобы решить задачу, больший диск надо поместить на колышек 3. Разумеется, диск С должен быть на колышке 1, а колышек 3 должен быть пустым, т. е. имеется в виду ситуация, когда на колышке 2 находятся диски Л н В в нужном порядке. Таким образом, задача разбивается на две подзадачи (рис. 9.4 и 9.5). Заметим, что последняя тривиальна и решается единственным ходом. Однако после того, как они решены, остается дополнительная задача переместить на нужное место диски Л и Б (рис. 9.6). Читатель может легко применить предыдущее рассуждение для выделения дальнейших подзадач и, таким образом, получить решение.
Подзадачи, которые мы до сих пор обсуждали, называются И- подзадачами, так как для решения основной задачи они должны быть решены все. Часто возникают случаи ИЛИ-подзадач, т. е. таких задач, что если решена какая-нибудь одна из них, то решена и основная задача. Это происходит и в задаче „Ханойская башня**. На рис. 9.7 показаны такие две конфигурации дисков, что если достигнута любая из них, то основная задача решается тривиально.
Задачу сведения к подзадачам можно изобразить в виде специального графа, называемого деревом (рис. 9.8). Обращаем внимание читателя на дугу, связывающую подзадачи 1 и 2. Она указывает, что для решения основной задачи должны быть решены обе подзадачи, поэтому 1 и 2 являются И-подзадачами. Такой дуги на рисунке нет в случае ИЛИ-подзадач, какими являются подподзадачи 3, 4, 5 и 6.
Поиском решения при сведении задачи к подзадачам называется процесс, в котором каждый узел помечается как решенная задача и который продолжается до тех пор, пока не будет помечен корень. Процесс решения начинается с корня, который представляет исходную задачу. Затем порождаются ее подзадачи, и соответствующие узлы соединяются с корнем как его И- или ИЛИ-преемники. После этого порождаются подзадачи подзадач до тех пор, пока не получится подзадача, которую можно непосредственно решить (т. е. для нее программа решения „знает ответ"). Соответствующий узел помечается как решенный, и дерево просматривается вновь.
254
Все узлы, для которых какая-нибудь ИЛИ подзадача решена» и все узлы, для которых все И-подзадачи решены, помечаются как р^- шенные. Процесс оканчивается, когда корень можно пометить как решенный, и это указывает на решение исходной задачи.
Переписывание цепочек
В представлении, использующем переписывание цепочек, возможные „состояния мнра", включая начальные и целевые, рассматриваются как правильно построенные выражения некоторого язы-
Основш задачаОсновш задача
Основш задача
Основш задача
(9)(9)ка. Операторы, отображающие одно состояние мира в другое, рассматриваются как продукции, которые выводят одно правильно построенное выражение из другого. Прекрасные примеры такого подхода можно найти в алгебре. Предположим, что мы хотим с помощью законов коммутативности и ассоциативности доказать, что Х+ (В+С)=В+ (Х+С).
(9)
(9)
Доказательство таково:X +(В 十 С) — (Х + В) + СДоказательство таково:X +(В 十 С) — (Х + В) + С一(8 + Х)+С一(8 + Х)+С6十(X十С)6十(X十С)ассоциативность относительно сложения коммутативность относительно сложенияассоциативность относительно сложенияассоциативность относительно сложения коммутативность относительно сложенияассоциативность относительно сложения(Ю)(Ю)
Доказательство таково:
X +(В 十 С) — (Х + В) + С
Доказательство таково:
X +(В 十 С) — (Х + В) + С
一(8 + Х)+С
一(8 + Х)+С
6十(X十С)
6十(X十С)
ассоциативность относительно сложения коммутативность относительно сложения
ассоциативность относительно сложения
ассоциативность относительно сложения коммутативность относительно сложения
ассоциативность относительно сложения
(Ю)
(Ю)
Выбор, соответствующего оператора (продукции) на каждом шаге основан на сравнении структуры имеющегося правильно построенного выражения со структурой желаемого. Процедура переписывания цепочек явно похожа на представление, использующее пространство состояний. Кроме того, можно сказать, что все программируемые решатели задач должны быть системами переписывания цепочек, поскольку содержимое машинной памяти можно выразить в виде цепочки, а тогда любое изменение содержимого памяти есть не что иное, как вывод из нее другой цепочки. Однако эвристически только некоторые задачи можно легко представить в виде задачи переписывания цепочек.
92 Комбинирование представлений
Метод сведения задачи к подзадачам приводит к хорошим результатам потому, что часто решение задач имеет иерархическую структуру. Однако в самом сведении задачи к подзадачам скрывается важный момент. Не обязательно основная задача и все ее подзадачи решаются с помощью одинаковых представлений. Если на этом уровне допустимы какие-то обобщения, то можно сказать, что метод сведения задачи к подзадачам полезен для представления глобальных аспектов задачи, а при решении более специфических задач предпочтительнее методы, использующие пространство состояний, переписывание цепочек и перечисление. Лучше всего это можно понять, если рассмотреть проблемы, относящиеся к широкой области, пока еще не затронутой вычислительными машинами. Например, „проблема4*, упомянутая Джоном Кеннеди в его речи на торжестве по случаю избрания его на пост президента. Как восстановить международный престиж США? Он считал» что эта проблема состоит из ряда подпроблем, таких, как более активная программа гражданских свобод, повышение эффективности вооруженных сил, обширная программа исследования космоса. Последняя содержала в качестве подпрограммы посылку человека на Луну. Пока еще мы находимся в рамках сведения задачи к подзадачам. Далее исследование Луны требовало конструирования специальных космических кораблей. Наилучший способ представления и решения этой задачи ——построить соответствующий граф и найти на нем оптимальный путь. Конструирование космического корабля в свою очередь потребовало решения ряда инженерных и математических задач, для которых понадобилось либо перечисление, либо переписывание цепочек.
Смешанные представления встречаются не только при решении задач, с которыми сталкиваются политические деятели национального или международного масштаба. В настоящее время наиболее известный проект в области искусственного интеллекта ——это „робот Шейки", представляющий собой управляемый от ЭВМ переме-
щающийся объект, построенный в Станфордском исследовательском институте (США). Шейки наделен способностью определить путь, по которому он 1) достигает цели, и свои действия, необходимые для того, чтобы определенным образом изменить окружающий его мир. Программная система Шейки использует смешанное представление (Мансон, 1971). Когда Шейки получает задание изменить окружающий мир, основная задача разбивается на подзадачи. Последовательность просмотра подзадач определяется с помощью графового представления (или представления в пространстве состояний). К отдельным шагам этой последовательности применяют методы доказательства теорем, чтобы показать, что определенная операция даст желаемый результат. Этими методами служат методы перечисления, аналогичные излагаемым в гл. 12. Они фактически предназначены для нахождения эквивалентных алгебраических выражений. Вместе с тем серьезно обсуждалась возможность представления данной задачи в форме переписывания цепочек. Таким образом, этот проект служит хорошим примером того, как смешиваются представления, когда решается совсем сложная проблема (и также иллюстрирует тот факт, что сложное по машинным стандартам может оказаться очень простым для людей). Несмотря на сенсационные сообщения в прессе, наиболее ревностные почитатели Шейки легко соглашались, что сами действия робота не выглядят впечатляющими. Во время многочисленных публичных демонстраций (например, организованная Нильсоном и Фельдманом на одном из совещаний АВТ, 1972) указывалось, что основная причина увлечения роботами в 70-х годах состоит в желании узнать, как строить сложные системы решения задач, используя различные представления, а не как строить устройства, которые будут полезными сами по себе.
Когда для решения очень сложных задач применяются вычислительные методы, „типичная4* ошибка, которую совершает программа, заключается в том, что она порождает так много пробных решений, что, несмотря на значительное быстродействие ЭВМ, не хватает времени проверить каждое из них. Поэтому правильное решение можно и не найти, поскольку задача обработки данных становится слишком громоздкой. С другой стороны, для людей, очевидно, типична неспособность построить правильное решение вообще. Это предполагает наличие у людей некоторого способа, позволяющего ограничить (возможно, чересчур сильно) свое пространство поиска пространством допустимых решений. В частности, Пойа (1954, 1957) предположил, что этот способ состоит в использовании планов и аналогий. Чтобы перенести обсуждение из психологии в вычислительные науки, определим план как решение более
Следуя результатам дискуссии между автором и Наоми Вейсстейн, будем считать пол Шейки неопределенным.
ограниченной задачи, содержащей лишь некоторые основные характеристики исходной. При решении задачи в представлении на основе планов вырабатывается совокупность подзадач, которые, как ожидается, можно будет легко решить одну за другой. Можно было бы продемонстрировать эту идею на примере из вычислительной области, однако этот принцип так же хорошо, но проще иллюстрируется задачей о „путешествующем профессоре4*. Предположим, что профессор из Сиэтла, штат Вашингтон, желает посетить коллегу из Калифорнийского университета в Санта-Барбара, Южная Калифорния. В конечном счете эту задачу можно решить последовательностью де访ствн访,включающих поездки на такси, лимузине, воздушные перелеты и даже немного ходьбу. Такое путешествие сначала будет планироваться на уровне аэропортов, в предположении, что локальные транспортные проблемы будут как-то решаться по мере возникновения.
В то время, как планирование естественно соответствует машинно-ориентированному понятию об иерархических отношениях между задачами и подзадачами, формальное описание аналогий кажется намного труднее. В аналогиях легче всего разобраться, если обратиться к представлению, основанному на сведении задачи к подзадачам. Предположим, что на некотором этапе выделено множество ИЛИ-подзадач. Идеально решатель задач должен выбрать самую легкую и попробовать ее решить. Если какая-то задача из этого множества неразрешима, то ясно, что и не стоит ее решать,— это пустая трата времени. Но откуда решатель задач знает, пока не попробует решить, что задачу легко, трудно или невозможно решить? Чтобы выйти из этого логического круга, предположим, что решателю задач известен (возможно, не очень точный) способ представления подзадач, с которыми легко работать. Будем называть полученное представление аналогией представлению, в котором нужно решить р ассм атр и в аему ю задачу. В рамках такой аналогии решатель задач может решить все подзадачи или по крайней мере выделить те из них, которые можно решить, и воспользоваться этой информацией, чтобы попытаться решить их в первоначальном представлении. Отметим различие между иерархическими смешанными представлениями и представлениями, основанными на аналогии. В первом случае каждая подзадача имеет свое собственное представление, а во втором — подзадача имеет два представления.
Пожалуй, одно из самых ясных и утонченных применений пред- ставлени访,основанных на аналогии, появилось весьма давно в исследованиях по искусственному интеллекту в программе „Искусственный геометр" созданной Гелернтером (1963) для решения задач из планиметрии. Формально планиметрия представляет собой аксиоматическую систему, в которой определены правильно построенные выражения, выводимые из посылок с помощью точно сформулированных правил, в основном опирающихся на свойства
конгруэнтных треугольников. Для доказательства утверждения из планиметрии необходимо показать, что к имеющимся посылкам можно применить известное правило вывода, чтобы получить нужное следствие. Это означает, что машинные методы доказательства должны использовать переписывание цепочек. Проблема заключается в том, что в геометрии так много правил вывода, что число допустимых выводов из исходного множества посылок очень велико, и обнаружение пути от посылки к нужному следствию занимает много времени. Выручает то обстоятельство, что планиметрию можно интерпретировать как множество утверждений об отношениях между линиями рисунков, изображенных на плоскости ').
В программе „Искусственный геометр" рисунки играют роль представлений, основанных на аналогии, для геометрических задач. В программу вводились условие задачи в символьной форме и описание соответствующего рисунка. (Построить рисунок по условию задачи было бы достаточно легко, но на самом деле это сделано не было.) Для формирования подзадач, которые также выражались как выводимые утверждения, анализировались посылки и следствия в символьной форме. Затем изучался рисунок и выяснялось, какие из подзадач в соответствии с ним представляют собой истинные утверждения. Далее рассматривались только те подзадачи, которые прошли этот фильтр.
Обсуждаемый метод можно проиллюстрировать задачей:
Доказать, что диагонали параллелограмма в точке пересечения делятся пополам.
Приведем формальную постановку (рис. 9.9).
Дано:фигура ABCD; АВ|| DC, AD || ВС; AB = DC, (11)
AD = ВС; прямая АЕС, прямая DEB.
Доказать: АЕ = ЕС и BE — ED.
Для простоты ограничимся доказательством только одного утверждения: АЕ—ЕС 2). Поскольку правила вывода в геометрии опи-
Чтобы решить геометрическую задачу, вы «смотрите на рисунок и видите, как все устроено». Отношения между утверждениями геометрической задачи и физическими деталями соответствующего рисунка не точны в том смысле, что рисунок несовершенен, но это, вообще говоря, можно игнорировать. То же относится и к отношению между символьным утверждением в планиметрии и численным представлением рисунка, которое может воспринять ЭВМ. Любое утверждение в символьном представлении должно быть «приблизительно верным» для рисунка.
Читатель, без сомнения, заметит, что доказательство утверждения BE—ED отличается только обозначениями точек и прямых. Программа «Искусственный геометр», которая для своего времени была весьма утонченной, также могла заметить это. Формально, если бы она решила некоторую задачу и затем обнаружила, что существует другая задача, которую можно сформулировать в той же форме, за исключением различий в обозначениях, то она решила бы вторую задачу, ис-
Рис. 9.9. Задача о параллелограмме.
раются на конгруэнтность треугольников, можно показать, что отрезки АЕ и ЕС равны, если они являются соответствующими qa・ стямн конгруэнтных треугольников. Отрезок АЕ принадлежит тре- угольникам АЕВ и AED, а отрезок ЕС — треугольникам ЕСВ и
Рнс 9.10. Неточный рисунок для задачи о тупом угле.
пользуя синтаксическую симметрию задач. Эта программа могла также «провести прямую» в рисунке и добавить в условие задачи соответствуютие утверждения об этой прямой.
ECD. Возможные конгруэнтности получаются в результате чисто
символьного рассмотрения:
АЕВаЕСВ,(12а)
AEBaECD,(126)
AEDaECB,(12b)
AEDmECD.(12г)
Анализируя рисунок, видим, что только (126) и (12в) „графически равны4*. Таким образом, только эти подзадачи помещаются в список подзадач, которые программа будет пытаться решить.
Рассуждения по аналогии представляют собой очень мощную эвристику. В самом деле, Пойа (1954) целиком посвятил один том своей двухтомной работы обсуждению аналогии и индукции в математике. К сожалению, он приводит примеры, а не дает общих правил. В работе Гелернтера рассуждения по аналогии применялись к очень специальному исчислению. Бекер (1969) пытался выработать общие принципы использования аналогий в программах решения задач, но его результаты не были особо примечательными. Одна из трудностей, похоже, состоит в том, что аналогии очень чувствительны к контексту. Что же касается последних исследований в области искусственного интеллекта, то они посвящены в основном абстрактному решению задач. Вторая трудность заключается в том, что любая неточность в аналогии может привести к необоснованному выводу. Поэтому важно не путать эвристическое рассуждение, использующее аналогию, с формальным доказательством, основанным на первоначальном представлении х).
1)Многие из наиболее запутанных математических головоломок выглядят интригующе потому, что их словесные формулировки приводят либо к использованию неточной аналогии, либо к смешению рассуждений, относящихся к двум различным представлениям. Английский логик Ч. Л. Доджсон, живший в 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= КС, и угол К DC равен углу KCD. Кроме того, DA=CB=CG・ Следовательно, соответствующие стороны треугольников KDA и KCG равны. Поэтому и соответствующие углы треугольников KDA и KCG равны. Так как углы KDC и KCD равны, то угол GCD равен углу ADC. Но GCD — тупой угол, a ADC — прямой. Отсюда следует, что тупой угол иногда равен прямому.
Глава 10
ГРАФОВЫЕ ПРЕДСТАВЛЕНИЯВ РЕШЕНИИ ЗАДАЧ
7О・О・ Основные понятия и определения
На языке пространства состояний задачу можно представить в виде направленного графа, а решение ее — как путь между выделенными узлами графа; при этом естественно задать вопрос: „Как найти путь на графе?4*. В этой главе излагается ряд соответствующих алгоритмов. В основном они заимствованы из работы Нильсона (1971), который всесторонне исследовал теоретико-графовые методы в решении задач. К некоторым проблемам, не укладывающимся в рамки рассматриваемого здесь ограниченного понятия решения задач, можно также применить теоретико-графовые методы. Интересующемуся читателю рекомендуем учебник Харари, Нормана и Картрайта (1965).
Пусть 2={几^}——упорядоченное множество узлов и £ = = {©(吃,勺)} — множество помеченных дуг между ними. (В наиболее интересном случае е будет функцией, принимающей вещественные значения и интерпретирующейся как стоимость перехода по дуге.) Е н N, вместе взятые, определяют граф G. Пусть So и S「 подмножества в N, называемые начальным и целевым соответственно. Решение — это такая последовательность узлов %, %, п^ ...,耿, что и0 gS0 и nft g Sr Два узла иг и пм могут принадлежать этой последовательности, только если определена дуга е(пь иг+1). Стоимость решения — это просто сумма меток на дугах, т. е.
стоимость решения = £ e(nh nz+1). (1)
Решение минимально, если не существует другого решения с меньшей стоимостью. Длиной решения называется число узлов э нем.
Эти идеи можно проиллюстрировать графически. На рис. 10.1 показана гипотетическая карта дорог западного побережья США. Ясно, что из Сиэтла в Сан-Диего ведет несколько путей, каждому из которых соответствует стоимость, выраженная в милях. Это конечная задача. На рис. 10.2 представлена часть бесконечного графа, дающего правильно построенные выражения элементарной алгебры, которые можно вывести из х с помощью равенств
尤+р = д+%,
х = (х+у)—у,
% + ® + z) = (% + g) + z,(2)
(x + y)—z = (x—z) + y.
Вывод 0/—у)+% из х можно осуществить за три или пять шагов.
Хотя эти задачи очень просты, на них можно продемонстрировать ряд особенностей поиска на графе. Во-первых, почему они просты? Возможно, потому, что человек может видеть сразу весь граф. Рассмотрим, каким образом граф можно представить в ЭВМ, или, что эквивалентно, в устройстве с совершенной памятью. Все, что такое устройство знало бы о графе,——это информация о фактически пройденных дугах. Это то, с чем должен работать вычислительный алгоритм. Нам понадобятся следующие определения:
g(n) = стоимость кратчайшего пути из любого узла в So до узла и,(3)
А (и) = стоимость кратчайшего пути из п до ближайшего узла из S夕
Заметим, что не требуется, чтобы узел п принадлежал So-
(и) = стоимость кратчайшего пути из So в Sg при условии, что он проходит через п.
Из этих определений сразу следует, что f(n)^=g(n)+h(n).(4)
Не исключено, что для вычисления f, g и Л потребуется информация обо всем графе. В этом случае для решения можно использовать оценки R £ и %. Знак 人 показывает, что функция оценивается и при получении новой информации оценка может меняться.
Множество узлов, достижимых непосредственно из узла 几 (т. е. множество узлов {m}t для которых дуга е (и, т) определена), будем называть множеством преемников узла и и обозначать его S(n).
В заключение отметим, что если 〃》и и;——узлы на кратчайшем пути, то
/(««)=/(«;)•(5)
графе. (Расстояния выбраны географическим.)графе. (Расстояния выбраны географическим.)Рмс ЮЛ. Карта дорог для иллюстрации поиска на только с этой целью и ие соответствуют
графе. (Расстояния выбраны географическим.)
графе. (Расстояния выбраны географическим.)
*- H+z)~z ...
Рис. 10.2. Графовые представления в алгебраическом примере решения задач.
ЮЛ. Алгоритмы для нахождения минимального пути к единственной целевой точке
0. Общая часть
Мы изложим четыре основных алгоритма поиска на графе. В каждом из них прежде всего выделяется начальный узел n0 W So, находится множество его преемников S(%),а затем упорядочивается множество Y=S(%)U {S0—n0} в соответствии с оценкой /(и) стоимости решающего пути для каждого и С V. Нильсон использует следующий общий способ описания работы алгоритмов. Когда узлу впервые приписывается величина)(и), он помещается в упорядоченное множество, называемое ОТ КРЬ1Т. Узлы удаляются из списка ОТКРЫТ в порядке возрастания f(n). После удаления из списка ОТКРЫТ узел помещается в множество, называемое ЗАКРЫТ (будем называть это закрытием узла и). Когда некоторый узел закрыт, величины 力 связанные с каждым узлом в ОТКРЫТ, могут вычисляться заново. Поэтому несколько усложним наши обозначения, понимая /( (и;) как „величину fin^ вычисленную при условии, что узел п^ закрыт**. Аналогично определим gt (〃」)• Предполагается, что для каждого узла из списков OTKPbIT или ЗАКРЫТ указывается узел, который был закрыт в тот момент, когда определялось его текущее значение『・
L Алгоритм перебора в ширину
Поместить все узлы из S& в список ОТКРЫТ 6 произвольном порядке.
Если список ОТКРЫТ пуст, то неудача — решения нет.
Закрыть первый узел из ОТКРЫТ. Пусть это будет узел п.
Если n W Sg, то успех — решение дается последовательностью (б обратном порядке): узел и; узел, закрытый 6 тот момент, когда п был помещен 6 ОТКРЫТ; узел, закрытый в тот момент, когда предыдущий узел был поменян в ОТКРЫТ, “ т. д. до тех пор, пока не будет достигнут некоторый узел n^S^ Если n^Sg1 перейти к шагу 4.
Найти S(n). Поместить все узлы множества S (и) (ОТКРЫТ и U ЗАКРЫТ) 6 ОТКРЫТ 6 произвольном порядке, исключая те, которые следуют за любым узлом, уже находящимся 6 ОТКРЫТ. Зафиксировать, что узел п использовался для записи каждого из новых узлов в ОТКРЫТ.
Перейти к шагу 2.
Пример. Рассмотрим задачу нахождения маршрута из Сиэтла в Рено (рис. 10.1). Получаем последовательность записей в списках ОТКРЫТ и ЗАКРЫТ.
ОТКРЫТ
ЗАКРЫТ
1. Сиэтл (начало)
2. Портленд (Сиэтл)
Сиэтл (начало)
Спокан (Сиэтл)
3. Спокан (Сиэтл)
Портленд (Сиэтл)
Юджин (Портленд)
Сиэтл (начало)
Сан-Франциско (Портленд)
4. Юджин (Портленд)
Спокан (Сиэтл)
Сан-Францнско (Портленд)
Портленд (Сиэтл)
Рено (Спокан)
Спокан (Сиэтл) Портленд (Сиэтл) Сиэтл (начало)
5. Реио (Спокан)
Сан-Франциско (Портленд)
Санта-Барбара (Сан-Франциско)
Юджнн (Портленд)'
Сан-Бернардино (Сан-Франциско)
Спокан (Сиэтл) Портленд (Сиэтл) Сиэтл (начало)
Решение достигается на следующем шаге. Маршрут, в обратном порядке, таков: Рено — Спокан — Сиэтл.
Метод перебора в ширину всегда дает решение, соответствующее наименьшему числу шагов (в данном примере наименьшему числу промежуточных пунктов), так как все узлы, отстоящие от некоторого начального (из множества So) не более чем на ft — 1 шагов, будут рассмотрены раньше, чем любой узел, отстоящий от So на 也 шагов. По определению число шагов между любыми двумя узлами из So равно 0.
Алгоритм равных цен
Эта модификация предыдущего алгоритма призвана минимизировать стоимость окончательного решения.
Поместить все узлы n^S0 в список ОТКРЫТ 6 произвольном порядке. Пусть g(〃)=0.
Если список ОТКРЫТ пуст, на выход подается сигнал о невозможности решения.
Пусть 修一такой узел в списке ОТКРЫТ, что значение g (修)минимально. Если п( W S# то решение дается обратным путем к некоторому узлу % £ So, как и ранее. В противном случае поместить и; 6 список ЗАКРЫТ и перейти к шагу 4.
Для всех 〃* С S(n;) вычислить & (修)+е (修,孔*). Это оценка минимального пути из некоторого узла в SQ к п* через 几厶 вычисленная после записи 修 в список ЗАКРЫТ. Если узел п* не содержится в ОТКРН Т, поместить его туда 辽 положить ?(q*)=gi (〃*)• Если п* содержится в ОТКРЫТ “ gi (n*)<g(^*), то присвоить §(/?*) текущее значение,卩女…
ное gi (〃*),〃 зафиксировать, что узел /г* был помещен 6 ОТКРЫТ через Hi, В противном случае не менять значения g(〃*) и содержимое списка ОТКРЫТ. Заметим, что эта процедура может изменять оценку g(n*) по мере помещения новых узлов в список ЗАКРЫТ.
Перейти к шагу 2.
Пример. Этот алгоритм можно продемонстрировать, решая задачу нахождения пути от Сан-Франциско до Лос-Анджелеса и используя, как и раньше, карту на рис. 10.1 (опять напомним, что расстояния на карте выбраны произвольно, лишь для иллюстрации алгоритма). На этот раз списки ОТКРЫТ и ЗАКРЫТ снабжены также соответствующими оценками расстояний и связями с другими узлами.
ОТКРЫТ
ЗАКРЫТ
Сан-Франциско (0, начало)
Рено (200, Сан-Франциско) Санта-Барбара (300, Сан-Франциско) Сан-Бернардино (300, Сан-Франциско) Юджнн (450, Сан-Францнско)
Портленд (500, Сан-Франциско)
Санта-Барбара (300, Сан-Франциско)
Сан-Бернардино (300, Саи-Франциско)
Лас-Вегас (350, Рено)
Юджин (450, Сан-Франциско)
Портленд (500, Сан-Франциско)
Спокан (800, Рено)
Сан-Бернардино (300, Сан-Франциско)
Лас-Вегас (350, Рено)
Лос-Анджелес (400, Санта-Барбара)
Юджнн (450, Сан-Франциско)
Портленд (500, Сан-Франциско)
Спокан (800,. Рено)
Лас-Вегас (350, Рено)
Лос-Анджелес (360, Сан-Бернардино)
Юджин (400, Сан-Францнско)
Портленд (500, Сан-Францнско)
Спокан (800, Рено)
Лос-Анджелес (360, Сан-Бернардино)
Юджин (400, Сан-Франциско)
Портленд (500, Сан-Франциско)
Спокан (800, Рено)
Сан-Франциско (0, начало)
Рено (200, Сан-Франциско)
Сан-Франциско (0, начало)
Санта-Барбара (300, Сан-Франциско)
Реио (200, Сан-Франциско)
Сан-Франциско (0, начало)
Сан-Бернардино (300, Сан-Франциско)
Санта-Барбара (300, Сан-Францнско)
Рено (200, Сан-Франциско)
Сан-Франциско (0, начало)
Лас-Вегас (350, Рено)
Сан-Бернардино (300, Сан-Франциско)
Санта-Барбара (300, Сан-Франциско)
Рено (200, Сан-Франциско)
Сан-Франциско (0, начало)
Решение достигается на следующем шаге и представляет собой маршрут Сан-Франциско — Сан-Бернардино — Лос-Анджелес.
Этот алгоритм лучше предыдущего, поскольку узлы помещаются в список ЗАКРЫТ в порядке убывания их расстояний от начального узла. Вследствие этого любой узел в списке ОТКРЫТ дальше от начального, чем любой узел из списка ЗАКРЫТ. Если можно допустить, что при закрытии узла п становится известным истинное расстояние от него до ближайшего узла из So, то решение, которое дает метод равных цен, во всех случаях минимально. Это подтверждается следующей теоремой.
Теорема о равных ценах. Метод равных цен дает при закрытии узла п кратчайший путь от SQ к п и, таким образом, §г (и;)—g(nf) для всех i.
Доказательство. Докажем сначала две леммы.
Лемма 1. Если любой узел и; W S (修)поменян в список ОТКРЫТ, когда узел 〃》закрыт, или 几丁 уже находится в списке ОТКРЫТ, 〃 если gi (几»Vg (几力 для любого узла 几力 закрытого до 修,то
山g)=底(a)+6(々,丐)》由(々). (6)
Доказательство леммы. Правая часть равенства в (6) есть не что иное, как определение корректировки g». Так как е(иь 〃j)》0, то лемма доказана.
Следствие. Пусть nk ——преемник некоторого узла 因 и, когда узел nk закрыт, g^也G=gj86、Кроме того, пусть gj(几j)=g『(几_/)• Тогда
以(4)》山(九/)• (7)
Любой узел 几卜,для которого после его закрытия можно указать текущую оценку его расстояния от So, полученную прослеживанием обратно к оценке, основанной на расстоянии узла 〃》от So, когда тот закрыт, будем называть потомком узла п» Узел и( будет называться предком узла nk.
■ Неравенство (7) справедливо для всех потомков nk узла nj(
Лемма 2. Если узел 〃『закрыт после 々,то 幻(〃力》& (々),九 е. порядок, 6 котором закрываются узлы, соответствует возрастанию их оценок g 6 момент закрытия узла.
Доказательство леммы. Пусть N*— множество узлов в списке ОТКРЫТ в момент закрытия узла 孔订 и пусть 几目—— любой узел из ^*. Тогда должно быть
g, («ft) >§;(«/); (8)
в противном случае был бы закрыт узел nft, а не 修.Рассмотрим теперь любой узел 几力 который закрывается после того, как закрыт П/. Если п^— потомок узла иь то, согласно следствию из леммы 1, 山(几力》底(/)• Если и; не является потомком узла 修,то он должен быть потомком некоторого узла 几*€乂*, который был закрыт после nh но не был его потомком, причем при закрытии nk было g*(〃Q= =山(〃 J В этом случае
g,^ > gk (叫=gi (4) > 山(々);(9)
лемма доказана.
После закрытия узла иг можно было бы закрыть еще какой-то узел 因,для которого 修 WS(ztj). При этом мы получили бы новую оценку §(иг), а именно 幻(勾)丄《 (几力修).В силу двух доказанных выше лемм эта новая оценка должна удовлетворять неравенствам
М(阳)+ е(因,n^gj(n^ g({n^,(Ю)
и, следовательно, значение gi (修)не изменилось бы. Это значит, что при закрытии узла иг оценка его расстояния до какого-то узла из So была минимальной. Таким образом, обратный путь от а до его предка из So был кратчайшим, и потому
gi («/) = &(«<)•(и)
Теорема доказана.
У порядочен ный поиск
Хотя решение, полученное методом равных цен, оптимально, сам поиск решения не оптимален. Это было показано в примере, где на одном из шагов алгоритм рассматривал путь из Сан-Франциско в Лос-Анджелес через Портленд. Человек избежал бы этой лишней работы, пользуясь понятиями типа „север**, „юг<4 и „в общем направлении к ...и. Такие критерии для выбора очередного шага не всегда годятся, но часто бывают полезны. Следующий алгоритм упорядоченного поиска основан на подобных идеях. Узел, который нужно раскрыть, выбирается отчасти на основе оценки длины решающего пути (/), а не расстояния его от начальных узлов.
Поместить So в список ОТКРЫТ 6 порядке возрастания оценок /(и), 〃WSo.
Если список ОТКРЫТ пуст, решения нет.
Закрыть тот узел и в ОТ КРЫТ, для которого оценка /(и) минимальна,
Поместить S(〃) в ОТКРЫТ. Если какой-то узел 〃*WS(〃) уже содержится в ОТКРЫТ, то пересчитать f(n*) при ус・
ловии, что новая оценка, основанная на том, что узел и за・ крыт, меньше предыдущей. При вычислении новой величины Ди*) надо пересчитать также величины f для всех потомков узла и* в списке ОТКРЫТ.
Перейти к тагу 2.
Ясно, что алгоритм имеет смысл лишь в том случае, когда величины f(〃) определены. Для их определения обычно применяется способ, описанный ниже. Другие алгоритмы можно рассматривать как частные случаи алгоритма упорядоченного поиска, использующие подходящие определения /(и). Пусть
/(«<) = ° при 饱 WS。,
f/ («/) = // («/) + 1 при n,€S(ny).
Это соответствует алгоритму перебора в ширину. Метод равных цен можно получить, полагая 厶(几片)=区(几。для всех /,瓦
Алгоритм перебора в глубину
Для полноты изложения следует упомянуть и четвертый метод поиска на графе, известный как метод перебора в глубину. Это название объясняется тем, что метод применяется, когда граф является деревом. Вместо того чтобы прослеживать все варианты одновременно на одну и ту же глубину, в методе перебора в глубину исследуется сначала один путь до конца, затем другой и т. д. В нашем примере поездки по городам алгоритм перебора в глубину мог бы перейти от Сан-Франциско к Портленду, затем к Сиэтлу, Спокану, Рено и попасть снова в Сан-Франциско. Обнаружив этот цикл, алгоритм вернулся бы к Рено и исследовал другие пути, если они существуют. Затем точно так же были бы исследованы различные пути из Спокана.
Поместить все узлы множества So 6 список ОТКРЫТ в произвольном порядке.
Если список ОТКРЫТ пуст, решения нет.
Закрыть первый узел в ОТКРЫТ. Если это целевой узел, задача решена.
Поместить преемники только что закрытого узла в список ОТКРЫТ перед узлами, уже содержащимися в этом списке. Если какой-то узел из множества преемников уже есть в списке ОТКРЫТ,加。аннулировать все записи его в этом списке, кроме последней. Если какой-то узел из множества преемников находится в списке ЗАКРЫТ, тов список ОТКРЫТ его не помещать.
Перейти к шагу 2.
Алгоритм перебора в глубину может привести к бесконечному поиску, если граф не конечен. В качестве примера рассмотрим граф, изображенный на рис. 10.2. Пусть цель задачи — найти путь от х к у+ (х——у). Возможная последовательность состояний, которую дает метод перебора в глубину, такова:
(х+у)—у
(((х + у) — у) + у) — у(№ + у)—у) + у)—у) + у)—у
И т. д.
Этот путь никогда не заканчивается и не содержит пути, ведущего к цели. Обычно, чтобы избежать таких ситуаций, при реализации алгоритма в него включают дополнительный шаг (За), согласно которому преемники узла не следует помещать в список ОТКРЫТ, если узел закрывается на расстоянии не менее А от начального множества. Значение k определяется отдельно для каждой задачи. Хотя этот шаг, несомненно, необходим во всех случаях, связанных с бесконечными графами, он лишает нас возможности общего анализа получаемой программы.
В общем случае решение, которое дает метод перебора в глубину, не является ни минимальным, ни наиболее выгодным. Чтобы понять это, рассмотрим снова задачу переезда из Сан-Франциско в Лос-Анджелес (рис. 10.1) и применим алгоритм перебора в глубину, дополненный правилом, предписывающим помещать в список ОТКРЫТ преемники, начиная с самой северной ветви и двигаясь далее против часовой стрелки. Путь, найденный этим алгоритмом, идет из Сан-Франциско в Лос-Анджелес через Портленд, Сиэтл, Спокан, Рено и Лас-Вегас! Это вряд ли оптимальный путь.
Учитывая такие недостатки алгоритма, естественно спросить, зачем его вообще нужно обсуждать. Ответ, в частности, таков: „По историческим причинам". Метод перебора в глубину очень легко программируется, поскольку список ОТКРЫТ можно подходящим образом упорядочить, заталкивая и выталкивая магазин (Кнут, 1969). Поэтому методы перебора в глубину привлекали тех, кто хотел получить хоть какой-нибудь результат. По крайней мере один автор признался в этом совершенно недвусмысленно (Слейгл, 1965). Возможна и другая, более тонкая причина. Людям легче реализовать метод перебора в глубину. При методе перебора в ширину в список ОТКРЫТ часто помещается очень много узлов. Это всегда требует некоторой схемы для фиксации связей между узлами. А при методе перебора в глубину в ОТКРЫТ обычно содержится меньше узлов и они связаны тем порядком, в котором записывались в этот список, а не явными указателями. В современных тео-
риях человеческой памяти (Норман, 1969; Кинтш, 1970) обращается внимание на то, что люди располагают весьма ограниченным объемом памяти для оперативной информации и поэтому должны применять те стратегии решения задачи, которые не требуют одновременного запоминания многих фактов. Это, конечно, делает метод перебора в глубину более привлекательным.
Довод, что метод перебора в глубину выглядит психологически более естественным, не является чисто теоретическим. Ньюэлл и Саймон (1965) заметили, что при игре в шахматы, которую можно сформулировать как задачу поиска на графе, очень хороший игрок пользуется модифицированным методом перебора в глубину. Мы провели ряд экспериментов, в которых испытуемым задавались в явном виде задачи поиска на графе и предлагалось решить их либо методом перебора в глубину, либо методом перебора в ширину. Испытуемые практически всегда справлялись с методом перебора в глубину, но затруднялись при выполнении даже очень простых заданий по методу перебора в ширину.
10.2. Оптимальный алгоритм упорядоченного поиска
0. Определение эвристической функции
Нильсон предлагает при осуществлении упорядоченного поиска определять / формулой
f(n) = g(n) +h(n).(13)
Он называет h(n) эвристической оценкой, соответствующей наиболее точному при данной информации о некоторых особенностях узла 几 представлению о трудности достижения Sg из п. Такое определение / интуитивно оправдано, поскольку, если все наши оценки точны, мы получим g(n)=g(и), h(n)=h(n), и функция
hn) = g(n) + h(n) = f(n),(14)
очевидно, будет оптимальной. Заметим, что в определении (13) предполагается, что трудность решения задачи при данном частном решении (т. е. приходе в узел и) не зависит от способа достижения частного решения.
Нильсон показал также, что некоторые интуитивно обоснованные ограничения на h приводят к интересным результатам. Пусть Л(т, и)——стоимость кратчайшего пути из m в и, где ни т, ни п не должны принадлежать ни So, ни Sg. Потребуем, чтобы выполнялись неравенства
/1(几)》无(几)》0,(15)
h(m)—А (и) ^h{mt и).(16)
Поскольку h (и) — „истинная стоимость*1 перехода от и к Sg, первое ограничение означает, что оценка стоимости перехода от п к S& неотрицательна и не превышает истинной. Неравенство (16) означает, что подобное ограничение, препятствующее завышению оценки, применяется к стоимости любого участка решающего пути.
Алгоритм называется допустимым, если решение, которое он находит, имеет минимальную стоимость, В следующей теореме доказывается, что применение формулы (13) в процедуре упорядоченного поиска определяет допустимый алгоритм.
Теорема об упорядоченном поиске. Алгоритм упорядоченного поиска, использующий функцию /, определенную формулой (13), где Л подчиняется ограничениям (15) и (16), допустим.
Доказательство. Алгоритм не может закончить работу до тех пор, пока либо не будет достигнута цель, либо не будут закрыты все потомки узлов, принадлежащих So. Таким образом, если решение существует, оно будет найдено.
По определению h(ng)=0 для любого узла ng Е Sg. Тогда, согласно (14),石(%)=0・ Пусть узел ng помещен в список ОТКРЫТ после закрытия некоторого узла 〃》・ Тогда
fi(ng)^gi(ng) + O = gi(ng)^ (⑺ ^gi^ + e^i,%).
Впоследствии f(〃/ изменится, только если закроется такой узел % что
力(%)〉盲(⑵+ eg,%)• (18)
Здесь нам понадобится одна лемма.
Лемма 1. При выполнении условий теоремы 区(叫)=gt (修).
В лемме 1 утверждается, что при закрытии узла определяется его путь минимальной стоимости из So. Справедливость леммы для случая 頁(卅)=0 для всех " уже показывалась: это метод равных цен. Докажем ее для общего случая.
Доказательство. Пусть 修一узел, который должен быть закрыт, a N*— множество узлов в списке ОТКРЫТ в это время. После закрытия п» путь к нему с меньшей стоимостью можно было бы обнаружить, только если бы был закрыт такой узел п^ что 几iёS (а)и
山(勺)>以(4)十 6(4,々). (19)
Покажем, что это невозможно.
Кратчайший путь от So к nk не может содержать щ в качестве промежуточного узла. Допустим противное. Если при закрытии узла nk он является потомком узла 几厶 то
血(/)+е (/га, ni)=gi(ni) + h (勺,勺)+ е (4,々) > 山(々),(20) а это противоречит неравенству (19).
Если при закрытии узла nk он не является потомком узла nh то он должен быть потомком такого узла и; € ^*J который не может быть потомком узла 修.Более того, при, закрытии «у его новая оценка g не должна оказаться ниже той, что была после закрытия пь т. е. gj(〃j)Hgi (几/), так как обратное противоречило бы предположению о том, что Пу, а значит, и пк не являются потомками узла пр Поэтому
以㈣)+ е(4, ti^ + h^^gj^ + e^,勺)+ е(/,勺)+ ©",.) = =iz (n^ + h^, nf) + h(ni).(21)
В силу (16)
g;(勺)+ 拉(令 w,) + h(%•) > g, (%) + (而(m一R (闻)+ 而(勺)) >li^ + h(ti^(22)
》力(九)
Поскольку узел 修 был закрыт перед И), то 厶(几2)&厶("力・ Отсюда gi(nj) + h(nit n^ + hiti^^fiini).(23)
Заменяя левую часть в (23) на левую часть в (21) и вычитая 而(修)из обеих частей, получаем
広(4)+ е (勺,勺)> §,•(«,■) •(24)
Таким образом, величина g» (修)должна быть минимальной, т. е. должна равняться g(几》) при закрытом узле 几八 Лемма доказана. Непосредственное применение леммы показывает, что, когда некоторый узел 几&€5&закрыт,力(/x&)=g(〃g), т. е. установлена стоимость кратчайшего пути к этому целевому узлу.
Осталось показать, что будет выбираться целевой узел, ближайший к So. Применяя лемму 1, получаем, что ни один целевой узел не будет закрыт, пока не будут закрыты прямые предки на пути минимальной стоимости. Более того, по условию (15) при закрытии любого предка целевого узла стоимость пути между предком и ближайшим целевым узлом не завышена. Поскольку все узлы из So в некоторый момент содержатся в списке ОТКРЫТ, ясно, что туда занесен или целевой узел 〃?* на пути минимальной стоимости с оценкой f (ng*)=g (л1#), или некоторый его предок. В первом случае
% закроется раньше любого другого целевого узла из списка ОТКРЫТ, во втором раньше закроется его предок; при этом 九?* или один из его более близких предков помещается в список ОТКРЫТ, и ситуация повторяется. Поэтому никакой целевой узел ng£Sg не будет закрыт до закрытия ng*, и алгоритм должен найти путь минимальной стоимости.
10.2.1. Теорема оптимальности
Эта теорема устанавливает одно свойство алгоритмов, обеспечивающее эффективный поиск оптимального пути. Введем понятие информированного алгоритма. Пусть А и А*—алгоритмы упорядоченного поиска, совпадающие во всем, кроме их эвристических функций Лий* соответственно. Будем говорить, что алгоритм А не более информирован, чем 力*, если для всех узлов
应(/г)注启(〃)》0, (25)
е. если Д и Д* оба недооценивают Л (и), но оценки алгоритма А* более точны.
Теорема оптимальности. Пусть А*— множество алгоритмов упорядоченного поиска, использующих h* “ отличающихся друг от друга только способом выбора, который из двух узлов п» u nk1 находящихся 6 списке ОТКРЫТ с оценками 力仇丁)=力(4), должен быть закрыт. Тогда А* содержит такой алгоритм А*, что для любого /在 А* узел, закрытый алгоритмом 力*, закрывается также и алгоритмом А.
В частности, алгоритм Л *, поступающий в случае совпадения значений так же, как А, будет закрывать только те узлы, которые закрывает А. Множество А* оптимально в том смысле, что оно содержит по крайней мере один алгоритм, закрывающий не более узлов, чем любой алгоритм 力在 А*.
Хотя само по себе понятие оптимальности интуитивно, теорема менее интересна, чем могла бы быть, судя по названию. В ней утверждается лишь, что если ограничиться множеством допустимых алгоритмов, основанных на „непереоценивающих*1 истинную величинах стоимости достижения решения из данной точки, то лучший из них — тот, который приводит к наименьшей недооценке.
Короче, теорема оптимальности верна потому, что каждый алгоритм на любом шаге стремится закрыть очередной узел на пути минимальной стоимости. Поскольку Л оценивает стоимости путей ниже, чем 力*, он может исследовать те пути, которые А* отбрасывает, но не наоборот. Формальное доказательство мы приводим ниже, причем оно оказывается удивительно утомительным. Хорошее интуитивное представление об алгоритме можно получить, обратившись сразу к примеру.
Доказательство. Сначала нам понадобится лемма.
Лемма 1. Если алгоритм упорядоченного поиска закрывает узлы 6 порядке Ио, %, и2,...,旬,то из iVj следует, nmofi («O^f; (п;).
Доказательство. Лемма доказывается индукцией по узлам в том порядке, как они закрываются, т. е.及拆 〃i, 〃2, . • •.
Базис индукции. Первый закрытый узел п0 принадлежит So. Рассмотрим любой другой узел мг g So. По определению g()("i)=0, и так как это минимум, то 石(修)=应(々)для любого/г; W So. Поскольку узел ri。был выбран раньше, чем м” то
力(仆)《力(吟,«/eS0.(26)
Рассмотрим любой узел 几八 помещенный впоследствии в список ОТКРЫТ. По лемме 1, доказанной в ходе доказательства теоремы об упорядоченном поиске, после его закрытия
fj (пу)~ g/ (%/) + 而(〃/)•(27)
Так как к п; мы пришли от некоторого узла 〃》в So, то в силу (15) и (16)
Л(ну) = h (勺,切 + 6 (吟 > 百(勺)一巨(弓)+ h(nj) > h (凡•). (28)
Подставим определение 厶(修)для 勺 WSo н применим (26); получим
力(因)》储(%),(29)
что доказывает лемму для 九。.
Индукция. Предположим, что лемма верна для всех узлов до п— включительно. Пусть закрывается узел иг. Рассмотрим мно・ жество узлов, содержащихся в этот момент в списке ОТКРЫТ, для которых nt не лежит на кратчайшем пути из So, т. е. тех узлов из списка ОТКРЫТ, которые после закрытия не будут потомками узла ① Это множество либо пусто, либо содержит хотя бы один узел 几小 прямой предок “aVi, которого закрыт. Заметим, что любой узел в списке ОТКРЫТ при закрытом 修 должен либо удовлетворять условиям для 几々,либо иметь п» в качестве прямого предка, либо иметь в списке ОТКРЫТ предка, удовлетворяющего требованиям для nk. Для узла 门夾
£,(/) + 而(勺)=g (%) + е (%。,啕 + й (nJ, 外(4)=区(崂+不(勺)=(30)
=雇(4).
Поскольку для закрытия мы выбрали щ вместо пА, %(勺)总工(4)= “ (吩(31)
Рассмотрим теперь любой узел 几力 который либо отсутствовал в списке ОТКРЫТ, когда п* закрылся, либо не удовлетворял определению 几片 Когда п; закроется, одним из его предков окажется либо сам иъ либо некоторый узел 几尼,удовлетворяющий (30) и (31).
В первом случае
fj (n/) = g"因)+ 龙(因)~
=gf (叫 + % (々 Лх)+ 万(〃/)》(32)
>g/(«/) + ^(«z) = //(«/)•
Во втором случае заменяем в (27) / на А и, применяя (31), находим % (因)》厶(纵)》力(%•)•(33)
Лемма доказана.
Доказательство теоремы. Обозначим через 产 оценки, порожденные алгоритмом Л*, использующим h*t Поскольку Л и А*— алгоритмы упорядоченного поиска, то
fg (九g) = / (%) = g (〜)=/^ (%)(34)
для всех 〃g€Sg. Никакой узел nf не может закрыться алгоритмом, если
力(勺)>/(%),(35)
где ng——целевой узел на пути минимальной стоимости из So.
Докажем теорему индукцией по узлам в том порядке, в каком они закрываются алгоритмом Л*.
Базис индукции. Так как nJ€S0, то nJ помещается в список ОТКРЫТ алгоритмами Д и Д* на шаге 1. Поскольку
fA^^f'M^f^,(36)
и алгоритм Л должен закрыть %, то он должен закрыть 偽.
Индукция. Предположим, что все узлы до 〃; закрыты алгоритмом Аир (п*)</(и^), так что А закроет и Ир
Либо 若 € 50, либо 〃; 一 потомок узла, закрытого алгоритаами Л и А*. В первом случае он содержится в списке ОТКРЫТ с f (〃;)Vf (几且)и его следует закрыть. Во втором либо сам узел п* был помещен в список ОТКРЫТ алгоритмом Л, либо такой его предок па, что
%(%)&『/“)&/(%)•(37)
Следовательно, алгоритм А должен закрыть либо узел и*, либо одного из его предков, прежде чем закроет 仆 и закончит работу. Алгоритм А должен занести и, в список ОТКРЫТ, и, будучи там,
узел И/ должен закрыться раньше, чем 〃『Поэтому возможен только случай равенства
f丿⑷)=// (n/) - f (咽.
В этом случае А* либо выберет для закрытия % и закончит работу, либо сделает неверный выбор. Это будет зависеть от правила поведения в случае совпадения значений. Если 力* делает неверный выбор, то А* содержит другой алгоритм Д **, во всем совпадающий с Д*, но применяющий правила поведения из А.
Пример. Алгоритм упорядоченного поиска может улучшить поиск решения даже при использовании грубой эвристики. Чтобы убедиться в этом, рассмотрим снова задачу нахождения пути от Сан-Франциско к Лос-Анджелесу согласно следующей процедуре:
Если общее направление пути — на север, то h равняется половине пути, пройденного к северу.
Если общее направление пути —— на восток, то h равняется четверти пройденного пути.
Если общее направление пути — на юг, то /г=0.
Решение достигается так (оценка g заменена на 力:
открыт
Сан-Фраициско (0, начало)
Рено (250, Саи-Фраициско)
Санта-Барбара (300, Сан-Франциско)
Сан-Бернардино (300, Сан-Франциско)
Юджин (675, Сан-Франциско)
Портленд (750, Сан-Франциско)
Санта-Барбара (300, Сан-Франциско)
Сан-Бернардино (300, Сан-Францнско)
Лас-Вегас (400, Рено)
Юджнн (675, Сан-Франциско)
Портленд (750, Сан-Францнско)
Сан-Бернардино (300, Сан-Франциско)
Лас-Вегас (400, Рено)
Л ос Анджелес (400, Санта-Барбара)
Юджнн (675, Сан-Фраицнско)
Портленд (750, Сан-Францнско)
Лос-Анджелес (360, Сан-Бернардино)
Лас-Вегас (400, Рено)
Юджнн (675, Сан-Францнско)
закрытзакрытСан-Франциско (0, начало)Сан-Франциско (0, начало)Рено (250, Сан-Франциско)Сан-Фраицнско (0, начало)Рено (250, Сан-Франциско)Сан-Фраицнско (0, начало)Санта-Барбара (300, Сан-Францнско)Рено (250, Сан-Франциско)Сан-Франциско (0, начало)Сан-Бернарднно (300, Сан-Фран- цнско)Санта-Барбара (300, Сан-Францнско)Рено (250, Сан-Франциско)Сан-Франциско (0, начало)Санта-Барбара (300, Сан-Францнско)Рено (250, Сан-Франциско)Сан-Франциско (0, начало)Сан-Бернарднно (300, Сан-Фран- цнско)Санта-Барбара (300, Сан-Францнско)Рено (250, Сан-Франциско)Сан-Франциско (0, начало)Портленд (750, Сан-Франциско)
закрыт
закрыт
Сан-Франциско (0, начало)
Сан-Франциско (0, начало)
Рено (250, Сан-Франциско)
Сан-Фраицнско (0, начало)
Рено (250, Сан-Франциско)
Сан-Фраицнско (0, начало)
Санта-Барбара (300, Сан-Францнско)
Рено (250, Сан-Франциско)
Сан-Франциско (0, начало)
Сан-Бернарднно (300, Сан-Фран- цнско)
Санта-Барбара (300, Сан-Францнско)
Рено (250, Сан-Франциско)
Сан-Франциско (0, начало)
Санта-Барбара (300, Сан-Францнско)
Рено (250, Сан-Франциско)
Сан-Франциско (0, начало)
Сан-Бернарднно (300, Сан-Фран- цнско)
Санта-Барбара (300, Сан-Францнско)
Рено (250, Сан-Франциско)
Сан-Франциско (0, начало)
Решение находится на следующем шаге. Открыты только пять узлов вместо шести, открытых методом равных цен.
В сложных транспортных задачах использование лишь немного более сложных эвристических функций дает потрясающие результаты. Примером служит задача нахождения пути для вездехода. Пусть он находится в точке х и стремится прийти в точку у. Вездеход может двигаться с разными скоростями по проселочным дорогам, полям, бездорожью. Требуется как можно скорее попасть нз х в у. Поскольку h(n)——эвристическая функция, определим ее как время движения из точки 几 в % по наилучшей возможной дороге в предположении, что соответствующий прямой путь существует. Эта эвристика использовалась при исследовании 】) тактического планирования с помощью ЭВМ для движения военных подразделений, причем оказалось, что она сокращает время работы программы в 100 раз, а в некоторых случаях и больше.
Деревья и ах применение
0. Определения
Деревом называется направленный граф, содержащий единственный выделенный узел, называемый корнем, в который не входит ни одной дуги. В любой другой узел такого графа входит
в точности одна дуга. Циклы и петли (дуги, выходящие из какого- нибудь узла и входящие в него же) запрещены. Узлы, из которых не выходит ни одной дуги, называются листьями; узлы, имеющие и входящую и выходящую дуги, называются внутренними (пример такого графа приведен на рис. 10.3). Правда, вопреки „древесной4* терминологии такой граф представляет собой множество скорее родового, нежели растительного происхождения; это видно из того, что нижележащие узлы являются потомками, а вышележащие —— предками. Заметим, что любой узел дерева будет корнем
Эти исследоваяня составили диссертацию О. К. Фиппса в области вычислительных наук.
/0.3. Деревья и их применение 279 поддерева, состоящего из этого узла и его потомков. Учитывая это, мы иногда будем говорить о поддереве, начинающемся из узла и.
Деревья используются в искусственном интеллекте двумя способами: для представления задач, решаемых сведением к подзадачам, и для моделирования ходов в формальных играх. В первом случае концевые точки дерева (т. е. листья) должны достигаться до того, как задача решена... по крайней мере до решения ее в наиболее очевидном представлении. Во втором случае, т. е. в игровых графах, дерево раскрывается постепенно, без возвращений назад, поскольку сделанный ход избавляет игрока от необходимости исследования альтернативных ходов. В обоих случаях нельзя непосредственно применять только что изложенные алгоритмы поиска в пространстве состояний. Вместо этого обычно применяются специальные алгоритмы поиска на дереве. В дальнейшем, однако, мы увидим, что это не всегда обязательно.
Деревья сведения задачи к подзадачам
Основную идею построения дерева сведения задачи к подзадачам можно продемонстрировать на примере нахождения неопределенного интеграла
尸(X) =『三目尸或.(38)
Дерево решения изображено на рис. 10.4. Можно было бы представить числитель в (38) в виде (х—I)2 и сократить со знаменателем, что дало бы более простое эквивалентное выражение
尸(%)=,(尤一l)dx.(39)
С другой стороны, можно было бы воспользоваться равенством (a+b)/c=a/c+b/ct Тогда
F (%) = J [炉/(尤一1) + 2%/(%一1) + 1/(х一 l)]dx.(40)
и (40) являются ИЛИ-подцелями исходной задачи (см. рис. 10.4). Каждая из них в свою очередь имеет свои подцели. Интеграл (39) можно вычислить как сумму его частей, при условии что решения
&(%)=,尤厶(41)
и
можно найти. Интегрирование (40) дает дерево несколько более сложных подцелей. Заметим, что (41), (42) и дерево выражении, составляющих (40), следует определить раньше, чем будут решены те задачи, которые их породили. Следовательно, эти подзадачи являются И-подцелями порождающей цели. Наконец, рассмотрим интегралы (41) и (42). Они предстзвляют собой непосредственно решаемые задачи, т. е. задачи, решение которых можно получить, не порождая никаких подцелей. (В данном случае решения можно найти в таблицах интегралов.)
Идея решения задачи с помощью графа состоит в том, чтобы раскрывать его до тех пор, пока не будет найдена непосредственно решаемая задача. Она становится листом дерева, и, когда она достигается, записывается ее решение. Затем решающая программа вводит это решение в качестве составляющей во все возможные задачи высших уровней, отмечая, если надо, каждую решенную задачу более высокого уровня. В качестве иллюстрации рассмотрим программу, которая постепенно порождает подзадачи, отмечает их связь с задачей-предком и после того, как подзадача поставлена, проверяет ее по таблице интегралов. После того как образован интеграл,尤d%, программа запомнит его решение и, продвигаясь в обратном направлении, найдет, что это — одно из решений, необходимых для решения И-подзадачи задачи ,(%—l)dx. Затем
программа сформирует интегралпрограмма сформирует интегралкоторый также есть в таблицекоторый также есть в таблице
программа сформирует интеграл
программа сформирует интеграл
который также есть в таблице
который также есть в таблице
интегралов. Этим кончится решение множества И-подзадач. Следовательно, после соответствующего объединения их порождающая задача будет решена. Затем программа обнаружит, что она решила ИЛИ-подзадачу, т. е. главную задачу, которую отметит как решенную; на этом работа программы заканчивается.
Какими свойствами мы хотели бы наделить программу поиска графов сведения задачи к подзадачам? При каждом ветвлении типа ИЛИ программа должна выбирать наиболее легкую подзадачу. Для этого программа должна иметь какой-нибудь способ оценки сложности задачи. Эвристическая функция 而 обеспечивает этот механизм при решении задач в пространстве состояний; для поиска на дереве нужна аналогичная функция. В некоторых ситуациях одна подзадача может быть составляющей нескольких подзадач более высокого уровня. Программа должна обнаружить этот факт и решить повторяющуюся задачу только один раз. Для примера рассмотрим вычисление двойного интеграла
尸(%,9)=,§ (3«/ + 4) (x—2)dxdy =
;;Сг1(43)
=)I \ 3g(%—2)d% + 4 ) 2)dx dy.
у LxЛ-
Выражение ,(尤——2)d% встречается дважды. Если бы прямой метод раскрытия и решения подзадач, который применялся в предыдущем примере интегрирования, применялся и здесь, это выражение было бы проинтегрировано дважды, что, очевидно, излишне. С другой стороны, потребовались бы значительный объем памяти для хранения решенных подзадач и создание механизма извлечения информации, чтобы определить, не является ли ”новая" подзадача в действительности старой (для обсуждения некоторых технических публикаций по этой теме см. работу Гелернтера и Рочестера, 1958). Другая проблема, возникающая в связи с многократным вхождением подзадач, заключается в том, что надо учитывать как трудность, так и важность подзадачи. Часто решение трудной подзадачи, составляющей часть многих задач более высокого уровня, может оказаться рациональнее, чем постепенное решение легких задач. В случаях когда решение некоторой подзадачи ——неизбежный этап решения главной задачи, этот вопрос, очевидно, не возникает.
Предлагались различные алгоритмы для эффективного поиска на графах сведения задачи к подзадачам. Приведем решение, которое дали Ченг и Слейгл (1971); в нем поиск на дереве рассматривается как особый случай задачи нахождения эффективного пути от начального состояния к целевому в пространстве состояний. Элегантность этого алгоритма проявляется в том, что как только со-
вершен переход от деревьев к графам пространства состояний, доказательство допустимости и оптимальности алгоритма вытекает непосредственно из доказательства допустимости и оптимальности алгоритма эвристического поиска, описанного в предыдущем разделе. В основе алгоритма лежит тот факт, что если дерево решения задачи содержит ветвления только типа ИЛИ, то путь от корня к каждому листу есть решение исходной задачи (для ясности советуем проанализировать рис. 10.4). Далее, граф сведения задачи к подзадачам можно рассматривать как граф задачи в пространстве состояний, если возможно такое представление исходной задачи, при котором она содержит ветвления только типа ИЛИ. Тогда для нахождения пути от корня до ближайшего листа можно применить метод эвристического поиска, оптимальность которого для решения задач в пространстве состояний уже доказана. Как и прежде, надо определить эвристическую функцию 而(%) для всех таких подзадач %, что h (x)^h (х), где /i (х) —„истинная** трудность решения подзадачи.
Нам нужна процедура преобразования дерева сведения задачи к подзадачам в граф, в котором все узлы, кроме непосредственно соединенных с листьями, имеют ветвления типа ИЛИ. Листья будут конъюнкциями „основных'* подзадач, таких, что если решить все эти подзадачи, связанные с некоторым узлом дерева, то получится решение исходной задачи. Надо определить подходящие функции для прохождения графа. Пусть трудность решения задачи у из множества Y не зависит от трудностей решения остальных задач из этого множества; тогда трудность решения задач всего множества Y равна
h(Y)^ 2 h(y).(44)
Если Л удовлетворяет указанным выше требованиям эвристической функции, то
力(У)= 2 h(y)^h(Y).(45)
Под стоимостью е(%, у) перехода от задачи % к какой-то из ее подзадач у будем понимать стоимость выяснения того, что подзадача у действительно составляет часть задачи %. Тогда, если существует путь %о, %i, • •., %п=р от корня к подзадаче у, стоимость выявления подзадачи у равна
g(9)= ? е(%“ Z+J.(46)
Необходимые конъюнкции подзадач, соответствующие листьям, можно выразить алгебраически. Предположим, что задачу А можно решить, если решены либо подзадачи В и С, либо D и (С или В), т. е.
4 = (8©U(D・(CUB))・(47)
Равенство (47) можно переписать в виде
Л = (В.С)и(О*С)и(5*О).(48)
Если какая-нибудь из конъюнкций решена, то решена задача Л. Это преобразование изображено на рис. 10.5.
Рис. 10.5. Преобразование дерева сведения задачи к подзадачам в граф, в котором все внутренние узлы, не соединенные непосредственно с листьями, являются ИЛИ-узлами.Рис. 10.5. Преобразование дерева сведения задачи к подзадачам в граф, в котором все внутренние узлы, не соединенные непосредственно с листьями, являются ИЛИ-узлами.
Рис. 10.5. Преобразование дерева сведения задачи к подзадачам в граф, в котором все внутренние узлы, не соединенные непосредственно с листьями, являются ИЛИ-узлами.
Рис. 10.5. Преобразование дерева сведения задачи к подзадачам в граф, в котором все внутренние узлы, не соединенные непосредственно с листьями, являются ИЛИ-узлами.
Теперь займемся преобразованием дерева решения задачи. Пусть исходная задача будет корнем дерева. Следующие узлы выделяем, записывая корень или другой узел в терминах подзадач и приводя соответствующее соотношение к дизъюнктивной нормальной форме, как в (48). На каждом шаге для выбора следующего раскрываемого узла (подзадачи) используется функция
f=^g + h,(49)
где g и 也 определены выше. Если подзадачу можно решить сразу, она помечается словом верно. Исходная задача решена, если один из членов в дизъюнктивной нормальной форме этой задачи состоит только из верных подзадач.
На рис. 10.6 показан граф решения абстрактной задачи X с повторяющимися подзадачами. Каждой подзадаче (некорневому узлу) приписывается эвристическая оценка трудности решения. Будем считать, что стоимость выделения задачи как части задачи более высокого уровня равна 1. Работа алгоритма состоит в следующем:
Запишем задачу X через ее подзадачи, т. е.
X = (46)UC・(50)
Вначале поместим эти составляющие с их оценками стоимости решения в список ОТ КРЫТ:
ОТКРЫТ - {(Л.В, 6), (С, 6)}.(51)
Допустим, что мы выбрали подзадачу A-В. Представим ее в виде
/•8 = D・(EUF) = (D・E)U(D・F)・(52)
Тогда
ОТКРЫТ = {(О-£, 3), (D-Ft 4), (С, 6)}.(53)
D ——непосредственно решаемая задача, так что она помечается словом верно и удаляется. В результате
ОТКРЫТ = {(Е, 3), (£ 4), (С, 6)}.(54)
Далее находим, что задача £ эквивалентна D Поэтому, если решена задача D, то решена и Е. Так как задача D решена, то один из
Рис. 10.6. Решение абстрактной задачи. Число рядом с буквой указывает оценку трудности (Л) задачи. Стоимость каждой дуги равна 1. (Задача взята из работы Ченга и Слейгла, 1971, стр* 123.)
членов дизъюнктивной нормальной формы исходной задачи также решен, а отсюда следует, что и исходная задача решена. “
Этот алгоритм обеспечивает действенный и эффективный поиск на графах сведения сложных задач к подзадачам.
Деревья игр
В чисто конфликтной ситуаций два противника делают ходы и контр ходы, приближаясь к конечной ситуации, желательной только для одного из них. Если ставки невелики и правила точно определены, мы называем это игрой. Деловые отношения, конфликты между людьми, войны сходны с играми, хотя допустимые ходы, правила определения преимущества или ущерба и сами рамки таких серьезных конфликтов обычно нечетки. Тем не менее заманчиво считать задачи принятия решений в реальных жизненных ситуациях, содержащих конфликт, играми; это позволило бы анализировать их математически. Так как в некоторых важных типах конфликтов необходимо быстро принимать решения, требующие обработки огромного объема данных, и так как любой процесс принятия решения с помощью ЭВМ должен быть математически обоснован, то вопрос о том, как ЭВМ должна разыгрывать сложные игры, очень важен для практики 】).Кроме того, и игры, и работа с ЭВМ являются своего рода вызовом человеческому интеллекту. Довольно трудно научить ЭВМ хорошо играть в интересные игры, но именно эта трудность и может доставить удовольствие некоторым из нас.
Формально мы будем заниматься вычислимыми стратегиями для игр двух лиц с нулевой суммой и с полной информацией (Льюс и Райфа, 1957). Менее формально мы будем рассматривать задачу программирования стратегии поведения для условной игры на доске при следующих правилах: два игрока ходят по очереди, выбирая ходы из заданного множества возможных ходов; любой проигрыш материала, позиции в игре для одного партнера является прямым выигрышем для другого; каждый ход сразу же становится известен; результат каждого хода детерминирован. Последнее означает, что позиция игроков в результате предложенного хода полностью предсказуема в отличие от предсказуемости с точностью до случайного события. В качестве иллюстрации последнего ограничения можно привести разновидность игры в шашки, в которой ходы не детерминированы. Пусть, например, съеденная шашка снимается с доски только после того, как бросается игральная кость и выпадает 4 или больше; ясно, что результат хода можно предсказать только с некоторой вероятностью. Можно было бы расширить обсуждение и рассмотреть вероятностные исходы, но это уведет нас от искусственного интеллекта в область теории игр.
Игру двух лиц с нулевой суммой можно представить серией поочередных ходов партнеров, пока не будет достигнута одна из
Мы будем обсуждать технические проблемы, связанные с игровой моделью, считая, что эта модель нас удовлетворяет. Рапопорт (I960, 1964) рассматривает моральное и философское значение самой модели.
заключительных позиций. Каждой заключительной позиции приписывается число, которое можно назвать исходом игры. Игрок А стремится максимизировать исход, игрок В — минимизировать его. Во многих ситуациях можно просто приписать +1 всем заключительным позициям, выигрышным для Л, ——1 всем заключительным позициям, выигрышным для В, к 0 для ничьих. Стратегия минимакса считается разумной фактически для всех таких игр. Грубо говоря, всегда надо играть так, как будто противник ответит на ваш ход наилучшим для него способом. Другими словами, после вашего хода противник может заставить вас понести потери, и размер этих потерь зависит, естественно, от того, насколько искусно он выбрал свой ход. Безопаснее всего рассчитывать на то, что противник может ответить своим лучшим ходом. Поэтому при определении хода вы должны выбрать тот, который минимизирует максимальные потери от следующего хода противника. Отсюда и происходит название — стратегия минимакса.
В качестве примера рассмотрим игру, заданную в матричной форме в табл. 10.1. Ее можно интерпретировать так. Каждый из Таблица 10.1
Упрощенная игра в матричной форме
Ходы игрока В
Ходы игрока
в\
В2
41
10
4
42
5
6
игроков 4 и В выбирает один из двух ходов {41, 42} и {81, 82} соответственно. Цена игры определяется выбором обоих игроков. Так, при ходах Alt В2 цена игры равна 4. Пусть игрок А ходит первым. Как он должен пойти? Ответ: 42, так как если сделан ход Л1, то В, имея возможность выбрать цену 10 или 4, предпочтет, конечно, 4, а если сделан ход Д2, то минимально возможная цена игры равна 5.
Эту игру можно представить также и в виде дерева (рис. 10.7). Отметим квадратами узлы, представляющие ходы игрока Я, кружочками ——ходы игрока В. Листья отмечены числами, показывающими исходы игры.
Поставим теперь вопрос: Какова цена этой игры для 4? Мы уже знаем, что Л может гарантировать себе исход, равный 5. Вычислим эту величину заново по рис. 10.7, чтобы проиллюстрировать метод, пригодный и для более сложных игр. Метод работает в об-
ратном направлении, начиная от исходов игры. Исходам непосредственно предшествует ход игрока В. Какова цена каждого из этих ходов? Поскольку каждая позиция представляет выбор для В, а В пытается минимизировать результат этого выбора, то цена позиции, разумеется, равна наименьшему из исходов, которых 6 может достичь из этой позиции. Поэтому, если множество исходов для В ——{10,4}, то он выберет 4. Величина, определяемая таким способом, называется обращенной ценой позиции. Обращенные цены позиций показаны в скобках рядом с узлами на рис. 10.7. Для того чтобы установить обращенную цену позиции игрока Л, надо просто
повторить операцию, отправляясь от известных теперь обращенных цен позиций игрока В и находя максимумы вместо минимумов, поскольку А стремится максимизировать исходы. В рассматриваемой тривиальной игре первый (и единственный) ход игрока Л предоставит В позиции с ценами 4 и 5. Поскольку Л стремится максимизировать исход, цена выбранной им позиции (а значит, и всей игры) равна 5.
Идея метода применима ко всем играм на доске. Можно представить себе, что мы исследуем все допустимые дебютные последовательности ходов в шахматах, все возможные ответы на них и т. д. до тех пор, пока не находим гарантированную выигрышную последовательность ходов, если такая существует. Если ее нет, это тоже станет известно. Смысл игры в шахматы пропадет. К счастью для любителей шахмат, на практике такой метод совершенно непригоден. В наиболее интересном случае в шахматах достаточно рассмотреть 20 дебютных ходов и 20 ответов на них. По оценке Минского, соответствующее дерево состоит из 1Ф° узлов — гораздо больше, чем в состоянии просмотреть человек или ЭВМ. В практической программе для игры должна определяться стратегия, т. е. в высшей степени избирательный поиск содержательных последовательностей ходов, допускающий возможность того, что правильный ответ не будет найден.
Одна из таких простых стратегий —— просмотр на п шагов вперед. Предположим, что в некоторой незаключительной позиции очередь хода за игроком Л. Он рассматривает все возможные ситуации, достижимые за п шагов, где п выбрано достаточно малым, чтобы с получившимся деревом еще можно было работать. Незаключительные позиции в дереве для п шагов затем оцениваются с помощью эвристической функции, которая каждой позиции, достижимой за л шагов, приписывает „предсказуемый исход*. Если заключительная позиция достижима, производится прямое вычисление. Для незаключительных позиций, однако, требуется найти метод их оценивания без исследования оставшейся части игры. Такой метод, несомненно, должен учитывать специфику игры. Например, в шашках можно использовать функцию
цена = 6 (число своих дамок — число дамок противника)+ +4 (число своих простых шашек — число простых (55) шашек противника).
Возможности просмотра на п шагов вперед сильно зависят от того, насколько удачно выбрана оценочная функция. Проиллюстрируем этот метод и ловушки, которые ставит выбор плохой функции, показав, как можно, стремясь к выигрышу в игре „крестики и нолики**, запрограммировать тем не менее проигрыш.
Будем использовать просмотр на 1 шаг вперед. Для оценки позиции PJ) берем функцию
f(Р) = (число прямых, на которых возможен выигрыш для крестиков) — (число ана- (56) логичных прямых для ноликов).
Игрок А ставит X и стремится максимизировать /(Р). Игрок В ставит 0 и стремится минимизировать / (Р). Начальная позиция Р — чистая доска. Ръ ..., Р0 — позиции на доске с единственным крестиком в одной из клеток. Если сосчитать их по положениям х в принятом порядке перечисления, то получим для Ри Рь и 尸餡
X
Р*/(巳)=3
(так как прямые можно провести по диагонали, горизонтали и вертикали от крестика),
A - X -八九)=4,
P6 ——X〃尸J = 2.
Так как /(/\) — максимальная цена для множества Ръ .・” Р” то Л выбирает Р6. Игрок В может теперь выбирать из 8 ходов Р“, • • •> °54,^5в> • • ч Рв” Например,
0
尸訂 一 х 一八A])=3 — 2—1.
Все этн позиции имеют цену 1, поэтому можно считать, что выбор для 8 безразличен. После этого у Л есть 7 ходов, некоторые из них имеют максимальную цену 2. Пусть сделан выбор
0
a18- X -/(а]в) = 2;
—X —
у В теперь есть 6 ответов. То, что В должен сделать ход
О 0 —
РШ2 —义一 f(P“82)=l,
—X -
„ясно для всех", но не для функции! Для сравнения:
0—0
^5183~~ X —f(尸仃83)=。.
-X -
Ведь если В минимизирует f(P), он выберет Р5183, и А следующим ходом выигрывает!
Поскольку человек не должен проигрывать в „крестики и но- ликии (если ему больше 8 лет), такая функция f не годится для оценки позиции. Эти случаи несостоятельности правильных методов характерны для игры в „крестики и ноликии. Существует, однако, и другой метод для этой игры, демонстрирующий тип неверного суждения, которое может появиться в общем случае по-
1。Э. Хант
иска на дереве. При составлении оценки сначала А исследует девять позиций, затем В —— восемь, затем Л —— семь и т. д. до общего числа 9+8+7+6+5=35 позиций. Если применяется просмотр на 2 шага вперед, это число увеличится до 9-8+7-6+6-6= 144. Но ведь это очень простая игра!
Одна из наиболее сложных проблем, возникающих при написании игровых программ, состоит в том, чтобы избежать просмотра бесперспективных путей и связанной с этим потери времени. Среди методов поиска, рассчитанных на это, наиболее широко распространена альфа-бета-процедура 9- Она основана на идее о том, что не следует продолжать исследование некоторого множества путей, если можно показать, что все они хуже какого-либо другого, уже исследованного пути. Этот метод можно проиллюстрировать, не углубляясь в детали конкретной игры, так как альфа-бета-проце- дура позволяет осуществлять поиск на любом дереве игры. Рассмотрим абстрактную игру, схема которой приведена на рис. 10.8. Число 10 соответствует выигрышу игрока N, —10 соответствует выигрышу игрока В. Для того чтобы найти общую эвристическую функцию, сделаем интуитивно разумное допущение о том, что игрок может определять среднюю цену позиций Pir достижимых из Р, не анализируя каждую из следующих позиций. Таким образом, эвристическая оценка позиции Р с k следующими за ней позициями равна
f(P)=T^f(P^ (57)
если Р — не концевая точка. Если :же Р — концевая точка, то значение f (Р) положим равным этому исходу. На рис. 10.9 каждый внутренний узел Р дерева помечен его истинным значением /(Р), если дерево рассматривается полностью и все узлы оцениваются по формуле (57).
Применим альфа-бета-процедуру к такому дереву игры, используя при этом просмотр на два шага вперед. На каждом шаге игрок исследует свои возможные ходы, ответы противника и возникающую в результате конфигурацию игры. Он вычисляет /(Р) для каждой конфигурации, полученной таким образом, и по правилу минимакса вычисляет обращенную цену каждой позиции. Узел не рассматривается, если известно, что значение f(P) в нем ие будет в конечном счете участвовать при выборе хода. Сейчас станет ясно, как это можно предсказать. Возьмем первый ход игры, представленной на рис. 10.9. При просмотре вперед Л всегда про-
")По существу эта процедура была разработана советским математиком Г. М. Адельсоном-Вельским до того, как получила на Западе свое название.— Прйм. ред.
й й й
приведены значения
некоторой гипотетической игры;оценочных функций.
веряет ветви слева направо. Обозначим соответствующие ходы 41, Л2, ... и 81, 82, ... в этом же порядке. А замечает, что если он делает свой первый ход по левой ветви (/1), то В может выбирать из множества оценок позиций {——5, 5, 10}. А предполагает, что В будет минимизировать цену по этому множеству, и потому приписывает ходу А1 цену ——5. Поскольку это лучший ход для Л, известный к текущему моменту, число ——5 считается альфа-отсечением. Затем А обращается к ходу Д2. Обнаруживается, что если А делает ход Л2, то В отвечает ходом 81; цена этой последовательности будет равна ——7. Это меньше альфа-отсечения. Практически это означает, что безотносительно того, какие у В еще есть возможности ответить на ход /2, он всегда причинит Л больший ущерб, чем в ответ на ход 4L Поэтому другие ответы на ход А2 не следует рассматривать, так как известно, что А\ предпочтительнее, чем 42. Переходим к 43. Контрходы В1 н 82 на 43 превышают альфа-отсечение, однако последовательность 43, ВЗ приводит А к позиции (——10), худшей, чем та, которая могла бы получиться при ходе А\. Поэтому Л выбирает ход /1. Теперь А располагает неполным знанием о дереве игры; это изображено на рис. 10.8, где приведены позиции, фактически оцененные игроком Д, и их цены.
В теперь просматривает два хода вперед после позиции Рг. Напомним, что В стремится минимизировать исходы. Если 8 сделает ход 81, игра перейдет в позицию Рп. 5 исследует позиции, возникающие после Ри, и обнаруживает, что их максимальная цена равна 0. Разумеется, Д добьется этого, если сможет, поэтому цена позиции Рп для В равна 0. Это пока наименьшая цена, поэтому она считается бета-отсечением. В обращается теперь к позиции Р12, возникающей после хода 82. Если в ответ на 82 делается ход /1, то возникает позиция Р1П с ценой 10. Это превышает бета- отсечение и показывает, что у Д против хода 82 есть ответ, наносящий 5 больший ущерб, чем самый лучший ход против 51. Поэтому 82 можно исключить из рассмотрения. По этим же причинам не рассматривается и 83 (позиция Pi3). На рис. 10.10 суммированы знания об игре, которыми располагает к этому моменту В. Выбирается ход Bi и наступает очередь игрока 4 делать ход в позиции Р“. На этот раз Л может осуществить просмотр до концевых точек и увидеть, что независимо от того, как он сыграет, В может добиться выигрыша. Поэтому А сдается.
В связи с этим примером необходимо отметить следующее. Первое и самое важное: рассмотрены лишь немногие из всех возможных ходов. Второе: картина игры меняется по мере ее развития. Если бы мы вычислили f(P) для всего дерева (как на рис. 10.9), оказалось бы, что начальная позиция предпочтительнее для А. В ходе игры, однако, положение складывается в пользу B(f(P1)=——4), затем выравнивается (/ (Рц)=0) и в конце концов оказывается, что победа за В. Третье, очень существенное: эффективность и
обоснованность альфа-бета-процедуры, как и любой игровой процедуры, зависит и от того, как выбрана эвристическая оценочная функция f, и от глубины просмотра вперед. Если бы игрок А осуществлял более глубокий просмотр или, допустим, использовал лучшую эвристическую функцию, результат игры мог бы быть другим. Если для читателя это не совсем ясно, предлагаем ему воспроизвести игру, пользуясь другими эвристическими функциями и другой глубиной просмотра вперед.
Пример демонстрирует также основные отличия поиска на дереве игры от поиска на графе решения задачи. В играх нет возврата назад; сделанный ход исключает возможность возвращения к дру・
Рис. 10.10. Информация игрока В об игре (В делает свой первый ход).
гнм позициям, которые можно было бы выбрать. Это означает, что алгоритмы поиска в пространстве состояний здесь не подходят. По мере продвижения по дереву и приближения к концевой точке наши эвристические оценки цены позиции, вероятно, будут улучшаться. Но и при этом в какой-то момент мы должны полагаться на оценки, зависящие от усреднения по ряду неточно исследованных возможностей. Поэтому Слейгл и Диксон (1970) предложили в дополнение к использованию стратегий минимакса и усреднения увеличивать цену позиции, если она открывает "возможности для нескольких продолжений. Это оправдывалось тем, что, достигнув такой позиции и имея возможность лучше оценить эти продолжения, мы с большей вероятностью найдем среди ннх хорошее, если нх много. Известные правила такого рода основайЪ! на изменении оценок позиций, произведенном до получения обращенных цен (Слейгл, 1971).
Применяя альфа-бета-процедуру для того, чтобы не исследовать бесперспективные пути, можно повысить ее эффективность, упорядочивая поиск так, чтобы окончательное отсечение выясня-
лось на ранних этапах поиска. Чтобы убедиться в этом, читатель может сравнить число узлов, раскрытых в примере, со значительно большим числом узлов, которые мы раскрывали слева направо. Предложен ряд процедур динамического упорядочения, цель которых ——обеспечить наиболее раннее нахождение точки отсечения. Эту проблему подробно обсуждает Слейгл (1971). Он также предлагает методы динамического изменения глубины просмотра вперед для перспективных и неперспективных путей.
В заключение приведем некоторые комментарии по поводу игры ЭВМ в конкретные игры. Для большинства реальных игр альфа- бета-процедуры, даже включающей динамическое упорядочение, недостаточно для уменьшения до разумных пределов числа ходов, которые надо рассмотреть. Поэтому в программу обычно вводится специальный блок, „предлагающий ходы". Он выделяет ходы, направленные на достижение некоторой разумной цели в игре. Примеры из шахмат: безопасность короля, овладение центром, материальное превосходство. Ходы, которые надо рассмотреть, выбираются из множества ходов, порожденного таким блоком, а не из всего множества возможных ходов. Это значительно уменьшает число ходов, которые надо рассмотреть. В идее такого блока заложено также то, что хорошая программа конкретной игры будет приспособлена специально к ней, поскольку программа должна содержать много сведений о данной игре. Это в особенности относится к шахматам, наиболее подробно изученной игре'). Чаще всего упоминающаяся американская шахматная программа „Мэк- Хзк“, созданная в МТИ, как и большинство современных программ, хороша тем, что содержит большие массивы данных о возможных ходах для применения их в различных ситуациях (Гринб- латт и др., 1968). Другими словами, хороший шахматист знает много о шахматах. Спорным пока является вопрос о том, каким образом программа должна приобретать эти знания. Один путь,
) Теперь регулярно проводятся шахматные турниры между людьми и ЭВМ, а также между самими ЭВМ. Сообщения об интересных партиях появляются в новостях, издаваемых специальной группой по искусственному интеллекту при Ассоциации по вычислительной технике. Прогресс в области машинной шахматной игры в конце 60-х годов обусловлен в большей степени возможностью пользоваться более совершенными языками программирования, более тесным контактом со специалистами игры в шахматы и бблыиим быстродействием вычислительной техники, чем успехами в понимании того, как следует играть. Основные идеи известных иам шахматных программ изложены в статье Ньюэлла, Эриста и Шоу (1963), которая содержит также обзор работ, выполненных до 1960 г. Зобрист и Карлсон (1973) обсуждают более поздиие исследования и приводят интересные примеры и комментарии одного из шахматных специалистов. (Как показал Между^ народный чемпионат шахматных программ в Швеции в 1975 г., советская нрограм» ма «Каисса», иаписаииая В. Арлазаровым, М. Донским и др., оказалась сильнейшей. Одним из серьезных продвижений в «Каиссе» было включение в перебор по дереву возможности узнавать позиции, близкие к уже изучавшимся в процессе перебора.— Ред.)
несомненно, состоит в том, чтобы добавлять некоторые записи в исходную программу. Это до некоторой степени уже осуществлено. Большинство шахматных программ содержат последовательности ходов и контр ходов для стандартных защит. Ситуация в миттельшпиле сложнее из-за огромного числа возможных позиций. Один из подходов к решению этой проблемы — представить ее как задачу распознавания образов. Программа обычно играет много партий сама с собой или с человеком. Встречающиеся позиции записываются и предпринимается попытка найти правило классификации, чтобы определить, когда тот или иной ход целесообразен. Это оправдало себя при создании программ, играющих в шашки (Сэмюэль, 1967). Зобрист и Карлсон (1973) предложили, чтобы в более сложной шахматной игре противником был опытный игрок н чтобы у него была возможность „обращать внимание*4 обучаемой машины на ключевые особенности различных позиций на доске, в то время как программа накапливает опыт и оценивает его.
В реальных играх большую роль играет понятие статической позиции. Некоторые позиции существенно нестабильны и их не следует оценивать до разрешения этой нестабильности. Например, в шахматах не имеет смысла делать такие оценки в ходе размена ферзей, надо сначала завершить размен. Программы, играющие в шахматы, часто осуществляют предварительный просмотр до следующей статической позиции, а не в точности на л шагов вперед.
Ньюэлл и Саймон (1965, 1972) и Де Гроот (1966) противопоставляли человеческую и машинную игры. Де Гроот, в частности, исследовал игру многих шахматных мастеров. Он заметил, что их игра стереотипна, и предположил, что она по меньшей мере представляет особое умение, которое так же сильно зависит от знания шахматной литературы, как и от владения общими игровыми стратегиями. Ньюэлл и Саймон, однако, считают, что наблюдаемые ими игроки обнаруживают по крайней мере зачатки элементов игровых программ, в особенности правило минимакса и идею просмотра до статической позиции. Основное различие между игрой человека и алгоритмами, которые мы обсуждали, состоит в том, что людям, видимо, свойственна некоторая инертность: если уж они начали разрабатывать какую-то линию игры, они продвигаются по ней достаточно глубоко и лишь затем возвращаются назад, чтобы проверить, не помешает ли им противник. Таким образом, оказывается, что люди более, чем хорошо запрограммированная ЭВМ, расположены к методу перебора в глубину.
Большинство методов программирования игры в шахматы основано на предположении о том, что оценивание шахматной позиции требует так много времени, что о прямом переборе возможных позиций не стоит и говорить. Заставить нас снять этот аргумент могли бы два усовершенствования: развитие вычислительной техники, которое позволит проводить очень быстрый поиск,
и/или создание легко программируемого способа оценивания позиции. Есть основания считать, что оба эти события могут произойти 】)・ Гиллогли (1972) сообщил об удивительно эффективной шахматной программе, применяющей прямой перебор, а алгоритм оценивания был разработан Хансом Берлинером, чемпионом мира по игре в шахматы по переписке! Аналогичный подход избрал советский гроссмейстер Ботвинник (1970), возможно, самый лучший игрок, активно занимающийся шахматными программами. Программа, предложенная Ботвинником, основана на употреблении сложных оценок, а не на запоминании предыдущих позиций. Неизменным остается то обстоятельство, что хорошая шахматная программа должна располагать обширной информацией относительно шахмат. При этом она может использовать информацию совсем не так, как это делал бы человек.
丄)Э. Фредкин из МТИ (США) недавно предложил конструкцию специализированной машины для игры в шахматы, в которой удобная фюрма записи мгновенной информации о состоянии на доске позволяет, по мнению автора, на два порядка ускорить процесс перебора позиций.——Прим, ред.
Глава 11
ЭВРИСТИЧЕСКИЕ ПРОГРАММЫ РЕШЕНИЯ ЗАДАЧ
.0, Общие замечания
Поиск на графе, рассмотренный в гл. 10, приводит к удобному представлению задачи в том случае, когда имеются полезные эвристические функции и способы выделения подзадач. Формальный анализ поиска на графе дает возможность установить определенные требования, предъявляемые к „хорошей" функции h или хорошему способу определения подзадач, но знание некоторых ограничений, которые необходимо соблюсти, и готовая программа для решения задач ——это не одно и то же.
В идеальном случае нам хотелось бы получить универсально приемлемую эвристическую функцию, связанную непосредственно с h. Практически этого сейчас нет, и вряд ли когда-нибудь станет возможным. Эвристические функции и методы определения подзадач почти неизбежно зависят от характера задачи — метод, хороший в шахматах, может быть совсем непохож на хороший метод для алгебры. В этой главе обсуждаются три программы решения задач, претендующие на некоторую степень общности —— универсальный решатель задач (GPS) Ньюэлла, Саймона и их сотрудников, наша программа, названная „Фортранная дедуктивная система" (FDS), и система управления роботом под названием STRIPS, созданная в Станфордском исследовательском институте. GPS — это классическая программа искусственного интеллекта, в которой были введены многие основные понятия эвристического решения задач. FDS представляет собой развитие некоторых механизмов GPS, а в STRIPS делается попытка осуществить планирование при решении задач. И FDS и GPS были написаны до того, как появились известные теперь методы поиска на графе, поэтому ясно, что трудно установить между ними непосредственную связь. В системе STRIPS связь с поиском на графе гораздо яснее.
//./. Терминология
При обсуждении интересующих нас программ можно пользоваться очень общей терминологией. Практически все что угодно можно рассматривать как объект, различные характеристики которого имеют заданные значения. Баскетбольную команду можно описать при помощи ее стиля нападения и защиты, а государство можно охарактеризовать совокупностью пар вида: экономика — индустриальная, население — 200 миллионов, политическая организация —— демократическая республика. Соответствующая структура описания для ЭВМ одна и та же. Определенная задача возникает в том случае, если есть расхождение между описаниями существующего объекта и желаемого. Это расхождение можно ликвидировать, применяя операторы к имеющемуся объекту и к объектам, произошедшим от него, пока их описание не придет в соответствие с желаемым объектом. Каждый оператор должен иметь входную и выходную форму. Входная форма — это множество ограничений на значения характеристик, которые должны удовлетворяться перед применением оператора. Выходная форма — это определение значений, которые будут иметь некоторые характеристики (обычно не все) объекта после применения оператора,.
Рассмотрим снова задачу медицинской диагностики и лечения, применяя методы теории решения задач, а не теории распознавания образов. Представим себе, что врач имеет дело с пациентом, состояние которого частично описывается так:
ХарактеристикаЗначение
температуравысокая
неврологические симптомыголовная боль
симптомы со стороны пищеварительнойлегкие нарушенияфункций
системыжелудка
Врач определяет, что главные симптомы, изменения которых нужно добиться, это жар и головная боль. Оператор очевиден —— аспирин, его выходная форма:
ЗначениеЗначениеХарактеристика
Значение
Значение
температурапонизилась
неврологические симптомыболь уменьшилась
симптомы со стороны пищеварительнойсостояние несколько ухуд-
системышилось
Входная форма аспирина — определение тех людей, которым можно его принимать:
ХарактеристикаЗначение
предысторияуказаний на аллергию к аспирину нет
условиебольной не принимал аспирин в течение 4 часов
возраст6 лет и старше
Пациент может, в принципе, принять аспирин; однако выходная форма показывает, что после принятия одного аспирина нарушение функций желудка немного усугубится. Поэтому для полного решения задачи требуется дополнительное лечение. Заметим, что структуру описания состояний можно легко перевести в структуру поиска на графе, считая, что узлы представляют собой возможные состояния, а дуги — операторы, применимые к каждому из них. Весь аппарат процедур поиска можно непосредственно применять и здесь. Располагая некоторым множеством возможных преобразований, мы хотим воспользоваться тем из них, которое с наибольшей вероятностью приблизит нас к целевому состоянию. Имейно это неявным образом было сделано в примере из медицины. Выделение полезных преобразований, однако, приводит к вспомогательной задаче. Предположим, что преобразование оказалось бы полезным, если бы его можно было применить (т. е. его выходная форма похожа на целевое описание), но применить его нельзя, потому что текущее состояние не удовлетворяет ограничениям входной формы преобразования. Мы должны поставить подзадачу изменения этого состояния так, чтобы было применимо определенное преобразование (или, что то же самое, оператор)* Подзадача может сама порождать подзадачи. Программа решения задач должна решать подзадачи и объединять их, чтобы приспособить к контексту более широкой задачи, которая их породила.
Таким образом, программа решения задач должна обладать способностью описывать для себя объекты в некотором общем виде, выбирать преобразования для изменения этих объектов, ставить и решать подзадачи, возникшие в результате применения операторов к объектам, и, наконец, уметь расположить решения задач и подзадач в должном порядке. Рассмотрим теперь две имеющие много общего программы для ЭВМ, решающие как раз такую задачу,
112 Универсальный решатель задач
0. Историческая справка
GPS — возможно, наиболее знаменитая программа за всю историю искусственного интеллекта. О ней впервые сообщили Ньюэлл, Саймон и Шоу (1959) в довольно туманном докладе на кон-
ференции, который, к счастью, был перепечатан в книге под редакцией Льюса, Буша и Галантера (1965). Убедительное, легко читаемое описание системы можно также найти в статье Ньюэлла и Саймона (1961). Эрнст и Ньюэлл (1969) опубликовали подробное описание самой программы, характера ее работы и необходимых для ее реализации методов программирования.
Идейной основой GPS было интересное сочетание вычислительной науки и психологии. С точки зрения первой из них программа GPS была логическим обобщением программ, предназначенных для решения задач в рамках тех или иных конкретных областей, таких, как исчисление высказываний (Ньюэлл, Эрнст и Шоу, 1957), планиметрия (Гелернтер, 1963) и интегральное исчисление (Слейгл, 1963) 1). С точки зрения же психологии программа GPS предлагалась как модель переработки информации мозгом человека. Мысль о том, что некая программа для вычислительной машины могла бы служить моделью познавательной способности, возникла на самых ранних этапах развития вычислительной науки 3)・ Пойе (1954) подчеркивал, что способы, которые применяются математиками при получении доказательств, имеют мало общего со способами представления этих доказательств в окончательной форме. Чтобы объяснить, как работают математики, Пойа придумал слово „эвристика*4 для описания тех методов открытия доказательства, которые легко применить и которые часто, хотя и не всегда, приводят к нужному решению. Основываясь на своем личном опыте и опыте других математиков, Пойа привел много примеров, показывающих, что эвристики действительно используются, но он был очень неточен в определении того, что представляют собой сами эти эвристики. Одно из важнейших достижений Ньюэлла и др. в психологии — демонстрация того, что эвристические методы можно воплотить в программе для ЭВМ. Такая программа была бы точно определенным методом для „догадкии о решении. Если бы этот метод был применен и каким-нибудь человеком для решения той же задачи, то можно было бы считать такую программу моделью данного человека. Ньюэлл и Саймон настойчиво пытались показать, что эта модель ничуть не менее строга, чем любая традиционная математическая модель, поскольку в конечном счете любую программу можно свести к последовательности булевских операций. С другой стороны, в форме программы для ЭВМ можно выразить очень сложные последовательности шагов, так что программа может в принципе описать гораздо более богатое множество типов
Даты ссылок» скорее всего, неточно отражают истинное время возникновения этих идей. Работы Слейгла, Гелернтера и некоторых других ученых, интересовавшихся построением программ, решающих задач, были широко известны из технических отчетов и сообщений на конференциях в период с 1957 по 1960 г.
Она подразумевается в некоторых комментариях леди Лавлейс по поводу дифференциальног® анализатора Бэббиджа.
поведения, чем любая обозримая система уравнений. Это положение в современной психологии общепринято (Миллер, Галантер и Прибрам, 1960; Хант, 1968; Фрейда, 1971; Нейссер, 1967; Рейтман, 1965), хотя, конечно, существуют противоположные мнения о том, являются ли конкретные модели хорошими или плохими моделями поведения, которое они, как предполагается, описывают ).
Как упоминалось в гл. 1, программа GPS развилась из работы над программой для решения задач Логик-Теоретик (ЛТ) (Ньюэлл, Саймон и Шоу, 1956, 1957), которая решала задачи исчисления высказываний гл. 2 книги Уайтхеда и Рассела „Principia Mathematica412). Хотя теоремы из „Principia** являются основными при установлении соотношений между логикой и математикой, их доказательства не представляют слишком большой трудности. Гениальность Уайтхеда и Рассела состояла не в доказательстве теорем, а в осознании того, что они значили. С другой стороны» достижения ЛТ отнюдь не тривиальны. Эта программа построила доказательства, до которых не додумались бы большинство студентов-второкурсников, а, хотя человек считается разумным (по определению), большая часть людей менее разумна, чем второкурсники университета. Более того, для получения этих доказательств не использовался грубый метод проб и ошибок. В большинстве случаев программа находила практически прямой путь к решению.
Программу ЛТ можно представить состоящей из двух блоков, один из которых связан с анализом задачи и порождением подзадач, другой ——с применением правил исчисления высказываний. С точки зрения программирования, однако, эти два блока имеют много общего. В GPS они были разделены и принципиально, и в программной реализации. Идея состояла в том, что программа GPS должна была включать в себя блок анализа задачи и порождения подзадач как часть всей программы, а методы, характерные для данной содержательной области (т. е, правила исчисления высказываний или правила алгебры), поступали бы на вход. В следующем разделе мы подробнее рассмотрим это.
Программа GPS вызвала множество комментариев. В области психологии основным, по-видимому, заключением было то, что GPS сама по себе не есть модель решения задач человеком, но что она намечает путь к тому, какой должна быть такая модель. (Для лучшего понимания психологических аспектов GPS можно обра-
титься к книге Ньюэлла и Саймона, 1972.) В области вычислительных наук универсальный решатель задач обычно упоминается при изучении вопросов, связанных с написанием программ, ориентированных на очень широкий круг задач (Ньюэлл и Эрнст, 1965). Поскольку книга Эрнста и Ньюэлла (1969) содержит обширную документацию, программа GPS может служить иллюстрацией к обсуждению вопроса о решении задач на ЭВМ. В практическом плане она сейчас уже уступила более мощным программам, рассчитанным на решение тех же задач с помощью других принципов (Робинсон, 1965), и программам, написанным „в духе** GPS, но использующим методы программирования, еще не известные во времена создания GPS (Файке и Нильсон, 19 71; Куинлан и Хант, 1968, 1969).
Основные принципы GPS
Универсальный решатель задач объединяет в себе два основных принципа: анализ целей и средств и рекурсивное решение задач.
Анализ целей и средств представляет собой метод, гарантирующий целесообразность применения оператора. Предположим, что определены возможные свойства двух объектов. Различие между объектами есть по определению различие между значениями некоторого их свойства. Оператор изменяет значение свойств. Определим таблицу операторов 〃 различий, перечисляя операторы и различия, обусловленные их применением. Таблица в дальнейшем используется для управления выбором подзадач. Следующие примеры иллюстрируют этот метод.
Задача об обезьяне
В клетке сидит обезьяна. В центре клетки подвешена связка бананов, причем дотянуться до нее нельзя. В углу стоит ящик. Что должна сделать обезьяна, чтобы достать бананы?
Ситуацию можно описать, определив: высоту, на которой находится обезьяна, положение ее в клетке,"положение ящика, положение связки бананов и ее высоту. Это характеристики ситуации. Операторы здесь — это то, что может делать обезьяна: ходить, влезать на что-либо, протягивать руку за бананами и толкать ящик. Эти характеристики, соответствующие различия и операторы показаны в таблице операторов и различий (см. табл. 11.1). Наличие компоненты в таблице означает, что данный оператор влияет на данное различие. Фактически табл. 11.1 —только одна из возможных здесь таблиц операторов и различий. Задание такой таблицы производится вне рамок GPS, поскольку она дается программе как часть определения проблемной среды.
Таблица //./
Таблица операторов и различий для задачи об обезьяне
Оператор
Различие
влезть
идти
толкать
достать
Положение обезьяны Положение ящика Положение бананов Высота положения обезьяны Высота положения бананов
X
X
X
X
X
X
Упрощенная алгебра
Алгебру „плюса и минуса'* можно определить следующими правилами:
R1х + У=У+Х
R2Х = Х + 0
R3 (X + F) —У = Х
R4(X + Г)—Z = (X—Z) + Y
R5 (X + F)+Z = X + (Y + Z)
Считается, что здесь и вообще во всех задачах для GPS имеет силу универсальное правило подстановки: правильно построенное выражение можно подставить вместо свободной переменной. Одна из нескольких возможных матриц операторов и различий приведена в табл. 11.2. Заметим, что различия в этой таблице соответствуют различиям между двумя правильно построенными алгебраическими выражениями. Правильно построенное выражение может содержать другие правильно построенные выражения, поэтому
Таблица 〃.2
Оператор
R1
R2
R3
R4
R5
Тип арифмети чес к ого оператора
Число переменных
Положение переменных в выражении
Наличие или отсутствие 0
X
X
X
X
X
X
X
X
X
необходимо уметь как находить, так и описывать различия. Например, выражения
(A + B) + (C-D)(la)
(A + B) + (C + D)(16)
сходны на верхнем уровне в том, что оба являются выражениями Х+У, но различаются своими правыми компонентами. Чтобы обнаружить сходство такого рода, GPS представляет объекты в форме деревьев. Примером могут служить два выражения (1), представленные графами на рис. 11.1. Их изучение показывает, что первое различие из табл. 11.2, т. е. тип использованного арифметического оператора, содержится в выражении, предетавленном на рис, 11.1 справа.
Рис. 11.1. Деревья для (А-^-В^^С-^О) и (力十6卜十(<?—D).
Полезно соотнести свойства объекта с узлами дерева, т. е. свойства соединительного типа, правый и левый операторы применить к внутренним узлам деревьев на диаграмме. Заметим, что, как и в этом примере, значение свойства может само представлять некоторую структуру. Так, значение левого оператора корневого узла в каждом дереве есть дерево выражения А+В. Представление в форме дерева полезно в ряде ситуаций, которые внешне не имеют ничего общего с алгеброй. Одиночный узел есть дерево в вырожденном случае, поэтому задачи типа задачи об обезьяне можно представить, как на рис. 11.2.
Анализ целей и средств использует различие между объектами для управления процессом решения задачи. Этапы анализа абстрактной задачи „перевести объект Л в объект 8“ показаны на рис. 11.3. Первый шаг ——найти наиболее важное различие D между объектами А и В. (Если не найдено никакого различия, считается, что задача решена.) „Наибольшая важность'* определяется априорным упорядочением различий, задаваемым программистом. После того как они оценены, для уменьшения различия используется последовательность применяемых операторов. Это
Ситуация ,..Ситуация ,..Положение обезьяныПоложение обезьяны
Ситуация ,..
Ситуация ,..
Положение обезьяны
Положение обезьяны
У ХАРАКТЕРИСТИКАУ ХАРАКТЕРИСТИКАВысота положения обезьяны
У ХАРАКТЕРИСТИКА
У ХАРАКТЕРИСТИКА
Положение ящика
Положение бананов
Высота , положения бананов
Рнс 11.2. «Древовидная структура» для задачи об обезьяне.
УСПЕХУСПЕХНЕУДАЧАНЕУДАЧА4'Q⑷4'Q⑷66A = Q(a〃)A = Q(a〃)4=Q(A)4=Q(A)НЕУДАЧНАЯ ПОДЗАДАЧАНЕУДАЧНАЯ ПОДЗАДАЧАНЕУДАЧНАЯ ПОДЗАДАЧАНЕУДАЧНАЯ ПОДЗАДАЧА
УСПЕХ
УСПЕХ
НЕУДАЧА
НЕУДАЧА
4'Q⑷
4'Q⑷
6
6
A = Q(a〃)
A = Q(a〃)
4=Q(A)
4=Q(A)
НЕУДАЧНАЯ ПОДЗАДАЧА
НЕУДАЧНАЯ ПОДЗАДАЧА
НЕУДАЧНАЯ ПОДЗАДАЧА
НЕУДАЧНАЯ ПОДЗАДАЧА
в
средств:。一 этапы преобразования 8 — этапы применения оператора.средств:。一 этапы преобразования 8 — этапы применения оператора.P?f& 11.3. Блок-схема для анализа целей и总 в 8; 6 ——этапы уменьшения различия;
средств:。一 этапы преобразования 8 — этапы применения оператора.
средств:。一 этапы преобразования 8 — этапы применения оператора.
показано на рис. 11.3, б. При заданных D и Л производится анализ матрицы операторов и различий для того, чтобы определить список операторов Qi, ..., Q“, применение которых к А изменит значение D, Пусть Qt ——первый такой оператор. Производится предварительная проверка, в которой форма Л сравнивается с входной формой Qt. Если две эти формы приблизительно похожи, то устанавливается подцель применения оператора Q» к объекту А. Если это удается, то совершается преобразование A^Qi (Д), и результат передается в нужную точку управляющей программы.
Необходимо объяснить еще один шаг: как решается подзадача применения Q к Д? Эта задача преобразования аналогична исходной. Напомним, что преобразование по определению есть изменение объекта от формы С к форме С\ где С и С' — древовидные структуры весьма общего вида, содержащие свободные переменные, которым, следовательно, могут соответствовать многие конкретные деревья. Обратимся к рис. 11.3,6. Сначала Л сравнивается с С, чтобы определить, есть ли здесь какие-либо различия в форме. Если нет (т. е. если 4 — частный случай общей формы С), то Q» применяется непосредственно, образуя Ar—Qi (Л). Допустим, однако, что найдено различие О' между С и Л. Устанавливается подцель преобразования Л к частному случаю Ан формы С. Решение этой подзадачи может требовать еще одного этапа уменьшения различий и применения операторов. Если в конце концов выделен 4, применяется Q/ для образования Af=Qt (Л77). Для этих шагов требуется, чтобы GPS была рекурсивной программой, т. е. чтобы она могла обращаться к себе как к подпрограмме. Это соображение приводит нас к обсуждению рекурсивного решения задач и изменению контекста в решаемых подзадачах.
Рис. 11.4 показывает другой путь представления действий GPS, уделяющий большее внимание задаче изменения контекста. Необходимые шаги здесь:
Принять заданную извне цель Go преобразования Л->В. Получить различие D, сравнивая деревья для Л и В.
Цель Gi ——уменьшить D для объекта Л. После обращения к таблице операторов и различий в качестве подходящего оператора выбирается Q.
Цель G2 ——применить Q к Д. Пусть Q ——оператор с входной формой С. Находится различие Dr между А и С.
Цель G3 ——уменьшитьD' для Л. Находится соответствующий оператор Q'・
Пусть С* — входная форма оператора Q'. Допустим, что нет различия между А и С\ Применим Q', чтобы получить Af=Q^ (Л). Теперь нужно выйти из процесса порождения подзадач, решив одну из них.
Различие D' уменьшается для А путем подстановки Q' (Л) вместо 4
Поскольку различие D' теперь убрано, можно применить к /Г оператор Q, приходя к A,,=Q(A,).
Различие 力 уменьшается для Д в результате преобразования А^А^.
Поставлена новая подзадача преобразования 4" в 6. Различие между Д" и В либо не существует, либо равно D*=^D、 (10) Если D* существует, то уменьшить D* для Ап. Процесс продолжается до тех пор, пока не будет найдено решение.
⑴ g0:a-b
⑼ G4: А"+8⑼ G4: А"+8С。)Уменьшить D*С。)Уменьшить D*ушД ия/ДушД ия/Д⑵ G, : УменьшитьО Эля A
⑼ G4: А"+8
⑼ G4: А"+8
С。)Уменьшить D*
С。)Уменьшить D*
ушД ия/Д
ушД ия/Д
(3)备 * Применить(8) Результат
Q к А4 f А'
«) G3- Уменьшить D*(7}Результат
8/шАAff=tQ(Af)
《5) Применить (6) Результат
Рис. 11.4. Операция целей и подзадач в GPS.
В некоторых случаях эта стройная схема контекстов внутри контекстов не вполне адекватна. Трудности возникают при появлении “циклов* в которых задача становится подзадачей самой себя. Здесь можно применить хорошие, хотя и довольно скучные программистские приемы. Детали их обсуждаются в работах Куинлана и Ханта (1968), Эрнста и Ньюэлла (1969).
Пример работы GPS
Важно различать очень общие идеи решения задач ,,в стиле GPS" и реализации этих идей в конкретных GPS-программах. Фактически был создан целый ряд важных вариантов GPS, в работе
Рис- "5 Дерево, соответствующее t exp (f)dtРис- "5 Дерево, соответствующее t exp (f)dt(udu = w22-1(udu = w22-1
Рис- "5 Дерево, соответствующее t exp (f)dt
Рис- "5 Дерево, соответствующее t exp (f)dt
(udu = w22-1
(udu = w22-1
которых есть некоторые интересные различия. Мы сейчас детально познакомимся с работой программы на примере, рассмотренном Эрнстом и Ньюэллом (1969). Это наполнит некоторым конкретным содержанием наше абстрактное изложение.
Задача состоит в нахождении алгебраической формы для
/=(х) = \/е产力.(2)
На рис. 11.5 показано дерево, соответствующее выражению, которое нужно проинтегрировать 】).Целевым объектом является любое выражение, не содержащее знак ,. Определены два класса операторов: дифференцирование и интегрирование. Внутри каждого класса задан ряд возможных изменений входной ——выходной формы. Например, правило интегрирования
\ undu = un+l(n+ I)'(3)
можно изобразить с помощью изменений в дереве (рис. 11.6). Другие изменения формы при интегрировании и дифференцировании
Таблица 11.3
Правила интегрирования g undu = 〃" +1 (几十 1) ^ 1 ^u~ldu = In (u)
I sin (〃)du — ~ cos (u)cos (u) du = sin (u)
§ (/ +g)阪=§ 阻〃亠 \gdu
Правила дифференцированияsin (u) du = — d (cos (〃))cos (u) du~d (sin (〃))
〃如=2一%(〃2)
〃一切仪=d (In (〃))
показаны в табл. 11.3. В добавление к этим правилам в GPS неявным образом были включены определения коммутативности и ассоциативности сложения и умножения, механизм арифметических действий с целыми числами и следующие правила интегрирования:
^cf(u)du = с,f (〃)d〃(4а)
d(cf(u)) = cd(f(u))(46)
d(c + f(u))^d(f(u))(4в)
из u~v следует wu — wv, где и, v, w—правильно
построенные выражения.(4г)
Правила (4а)——(4г) применяются непосредственно программой везде, где можно, без проведения анализа целей и средств.
Определены два класса различий: символьные различия и множественные различия. Речь идет о символьных различиях, когда символы в сравниваемых позициях деревьев двух выражений не совпадают. Относительная важность различных возможных типов символьных различий (т. е. ,или +, + или ——)также была установлена вне программы. Множественное различие существует, когда в двух выражениях, которые нужно проинтегрировать, различны количества сомножителей. В матрице операторов и различий зафиксировано, что интегрированию соответствует уменьшение символьных различий, а дифференцированию — множественных различий. Ясно, что это ——ни единственные, ни обязательно наиболее подходящие различия, которые можно использовать для сравнения алгебраических выражений. Однако в данном случае их оказывается достаточно.
Исходная цель:
G1убрать знак,из,,出
Это порождает цель
G2уменьшить символьное различие,в,伍产df
Поскольку операция интегрирования соответствует этому виду различий, новой целью будет
G3 проинтегрировать,t^ dt
Эти три этапа необходимы для того, чтобы поставить для GPS задачу в рабочем виде, хотя сами они к решению практически не приближают. В программе рассматривались различные вхдднь^е
формы оператора проинтегрировать и была выбрана та, которая ближе всего к нашему выражению. Это дало
G4 применить еи du = еа к
Сравнение входной формы и этого выражения обусловило множественное различие, получаемое из сопоставления {eu, du} и {厶 е'\ dt}, Второе выражение содержит слишком много сомножителей, поэтому следующая цель:
G5уменьшить число членов в 仏 ej dt}
С этим связано дифференцирование, поэтому целью становится
G6продифференцировать 加尸必
Рассмотрены различные формы дифференцирования и выбрана операция
Q7 применить udu = 2^1d(u2) к tdt
Это правило применимо и дает 2Td (於)・ Подставляя и производя необходимые преобразования, получаем
tl dt = 1 tdt (коммутативность относительноумножения)
— ei22~1d(t^) (последовательное обращение
・ к целям G7, G6, G5)(5)
=2-1,е% (外)(коммутативность относительно умножения и применение (4а))
Поскольку цель G5 достигнута, переходим к G4, пользуясь при этом окончательным результатом из (5), который содержит выражение в форме,е%〃. Цель G4 можно достичь, получая
§ 伍产力=27 §*d «2)=2т*.(6)
Это обеспечивает достижение цели G3. Задача G2, таким образом, решена, и сравнение окончательного результата (6) с G1 показывает, что знак интегрирования удален и, следовательно, наша задача в целом решена.
77・3・ Фортранная дедуктивная система—.автоматическое порождение таблиц связей
0. Исторические сведения и общий подход
Эффективность программы GPS для конкретной задачи зависит во многом от выбранного определения различий в таблице операторов и различий. Некоторые исследователи занимались задачей автоматического порождения этой таблицы. В частности, Куинлан (Куинлан и Хант, 1968,1969; Куинлан, 1969) создал фортранную дедуктивную систему (FDS) — программу, сходную с GPS во всем, за исключением того, что таблица операторов и различий здесь выводится из описания операторов.
Хотя можно показать, что представление объектов в FDS соот- ветствует деревьям в GPS, все же при работе с этой программой легче пользоваться лингвистической терминологией. Состояния объектов представляются как цепочки из алфавита терминальных и нетерминальных символов. Нетерминальными являются перемен- ные символы, обозначаемые здесь буквами из конца алфавита, например X, У, Z. К терминальным символам относятся конечное множество констант, знаков унарных и бинарных операций; они определяются заново для каждой задачи. То что в терминах GPS было бы объектом, в терминах FDS есть правильно построенное выражение (п. п. в.). Оно определяется правилами:
Константа или переменная есть п. п. в.
Бинарная операция с двумя п. п. в. после нее есть п. п. в.
Унарная операция с одним п. п. в. после нее есть п. п. в.
Эти правила определяют префиксную, или „обратную бесско- бочную" запись. Они также устанавливают соотношение между деревьями в GPS и цепочками в FDS. Рассмотрим задачу интегрирования, представленную выше. Можно определить множество Т первичных символов следующим образом:
Т = 7\ U 7\ U 北алфавит(7а)
TQ = {a, b, с, ...; 1, 2,3,..., 9, 0} константы(76)
7i = {отрицание, d}унарные операции(7в)
丁2={,, •, +, —, /, exp}бинарные операции(7г)
Выражение
,(f*) dt
теперь принимает форму
,(加严)dt 一、dt exp exp 21n tet.(8)
Заметим, что мы соблюдали соглашение о том, что за бинарной операцией следует сначала ее правый операнд, а затем левый. Если читатель снова обратится к рис. 11.5, он обнаружит, что существует соответствие между этой цепочкой и выражением (8), представленным в виде дерева.
Правило подстановки содержится в FDS, как и в программе GPS. Оно позволяет работать с цепочками типа
(А+В)+С(9)
как с частным случаем цепочки
X+Y(10)
Эти операторы FDS именуются правилами переписывания цепо- 毋&, так как они указывают, что одну цепочку можно заменить другой. Например,
Х + УтУ+Х(11)
можно применить к (4+6)+С, чтобы получить или (B+A)+Ct илн С+ (Д+В). Как видно из примера (11), правила переписы- вання имеют форму S^fSz, где S^ и S2 — п. п. в. Правило переписывания цепочки
(X+Y)—Z=(K-Z)+X(12)
требует двух преобразований в FDS. Это
—Z + УХ—+—ZY X(13а)
4—Z/Xf—Z 十 УX(136)
поскольку отношение равенства не обязательно рефлексивно.
С помощью (13) можно также проиллюстрировать, как определяются различия при построении таблицы операторов и различий. Рассмотрим (13а). И правая, и левая части представляют собой п- п- в., а, следовательно, деревья, как показано на рис. 11.7.
Список различий между левой и правой частями этих деревьев таков:
Верхний узел: — слева и + справа.
Узел справа сразу после верхнего узла: + слева и — справа.
Термы У и Z поменялись местам;:
Различия (1) и (2) являются абсолютными различиями, поскольку эти изменения останутся в силе, где бы ни применялось данное правило. Характер же изменения, обусловленного различием (3), нельзя точно определить, пока мы не знаем, к каким структурам нужно применить правило переписывания. Например, если бы это правило нужно было применить к цепочке
*(А+В)-С(14)
то константы В и С поменялись бы местами, а если это же правило используется для получения
(А+В)- (C+8)f (А— (С+В))+В(15)
то константа В будет заменена бинарной операцией + и соответствующими ей операндами. Это примеры контекстно-зависимых изменений. Когда операторы определены, программа FDS исследует каждый из них, чтобы определить, какие абсолютные и контекстнозависимые изменения он может вызвать. Подробности того, как это делается, сейчас несущественны. (Детальное обсуждение содержится в статье Куинлана и Ханта, 1968.) Дело в том, Что такое задание операторов определяет матрицу операторов и различий, которую программа способна вывести.
Та же схема используется для выявления различий между состояниями и целями при решении задач. Вначале исходное и целевое состояния выражаются цепочками. Эти цепочки сравниваются покомпонентно1), и отмечаются различия между ними. Затем программа, опираясь на свою таблицу операторов и различий, работает практически так же, как GPS.
Напомним, что «покомпонентность» определяется по положениям узлов в дереве, а не по порядку вхождения элементов в цепочку. Следовательно, сравне- нение ++ВЛ—-£)С с -j-Х/ проводится так:
+с+, так как первые позиции всегда сравнимы,
X, и
-с 匕
поскольк у эти символы занимают одни и те же положения в дереве,
Пример решения задачи с помощью FDS
Проиллюстрируем метод FDS задачей из школьной алгебры. Допустимые операторы даны в табл. 11.4.
Таблица 〃.4
Правила переписывания для упрощенной алгебры
R1
Х + УТУ + Х
R2
X+(F + Z)i(X + y)+Z
R3
(Х + У) —У— X
R4
R5
(X-Y) + Z—> (X + Z)-y
R6
(X + Q —Z—>(X—Z) + F
R7
(X-Q + Z—>X+ (Z—У)
+ гх—> +ХГ
+ + ZFX—> +Z+ УХ
-У + УХ—
X—> —Г + ГХ
+ Z—УХ—> —F + ZX
—z + rx—> +F — ZX
+ Z—YX —> +—FZX
Для удобства чтения эти правила написаны и в обычной, и в бесскобочной записи. Программа же, конечно, работает только с бесскобочной записью.
Задача, которую нужно решить, состоит в доказательстве того, что
(Д—Q— (В—С)-> (4—В)(16)
— правильный вывод. Фактически, когда есть только семь правил из табл. 11.4, это очень трудная задача. Советуем читателю, прежде чем идти дальше, попытаться решить ее самостоятельно. Это будет весьма поучительным упражнением.
Для удобства иллюстрации применяемого здесь алгоритма исходное состояние и происходящие из него состояния будем записывать непосредственно над конечным целевым состоянием. Вначале было
СВ—СА
-Ва(⑺
Программа устанавливает, что второй знак минус следует заменить переменной. Это можно сделать, применив правило R4 ко всему выражению 1):
-Х + Х——СВ-СА
-bа(⑻
】)В этом шаге, видимо, и состоит трудность задачи. Применение правила R4 приводит к выражению, более сложному, чем входное, и не пр едставл яющем у собой шаг, явно приближающий нас к решению. Ньюэлл и Саймон (1972) собрали множество доказательств того, что людям трудно отдать предпочтение конструкциям такого рода.
Теперь X нужно перевести в 3 путем простой замены, так как X — свободная переменная:
—В + ВСВ — СА—ВА—В + ВСВ — СА—ВА(19)(19)
—В + ВСВ — СА
—ВА
—В + ВСВ — СА
—ВА
(19)
(19)
Знак + нужно перевести в переменную Л, но у нас нет правила, делающего это непосредствен но. Однако требуемая переменная А является последним символом. Это пример различия, возникающего „в контексте". Подзадача превращения цепочки, начинающейся с + в (19), в цепочку, к которой применимо правило R3, поставлена, (Заметим, что п. п. в. начинается с любого места в цепочке.) Это подзадача
— 3 + 3СВ—СА -6—Х+ХУ— 3 + 3СВ—СА -6—Х+ХУ(20)(20)
— 3 + 3СВ—СА -6—Х+ХУ
— 3 + 3СВ—СА -6—Х+ХУ
(20)
(20)
где X я Y — снова свободные переменные. Знак + в (20) можно преобразовать в —. Можно осуществить это с помощью правила R5, но применимо ли оно? Не ранее, чем (20) будет представлено в необходимом для этого виде. Возникает новая подзадача:
— 6 + 8СВ — СА
—B + X — yZ(21)
Поскольку X, У н Z — свободные переменные, можно пользоваться подстановкой. Если положить Х=В、Y=——СВ и Z=—CA. то задача сведется к
—6 + 6СВ — С Л
— в + вСВ — СА(22)
Правило R5 можно применить к (22) и затем осуществить подстановку в (20). Цепочка принимает вид
.—В——СВ + В — СА
—5—Х + ХУ
Это все еще не соответствует требуемой форме, но после подстановки Х=—СВ получаем
— ВСВ + В — СА
-ВCB + -CBY(24)
Третье В в верхней цепочке следует перевести в ——.Это можно сделать, непосредственно применив правило R7 к подцепочке, начинающейся с +. Поскольку
—6CB-i В — СА(25а)
ИИ
И
И
(256)(256)+ Z-XY
(256)
(256)
согласуются, целесообразны замены Z=B, Y=C и Х = А. Использование правой части R7 и подстановка дают цепочку вида
— В ——СВ+СВ А
— ВСВ + — СВУ(26)
Сделав подстановку Y=A, сравниваем всю цепочку. Следовательно, нижнюю цепочку в (26) можно заменить ее правой частью, т. е. просто У, и замена Y на его определение, т. е. Я, приводит к
—ВА
—ВА(27)
Задача решена.
Планирование
0. Общая часть
Во всех методах решения задач, которые мы здесь обсуждали, каждый следующий шаг выбирался исходя из локальных критериев независимо от того, будет ли он соответствовать всей последовательности шагов. Нам кажется, что люди при решении задач часто обращают больше внимания на глобальные представления о прогрессе в решении. Вернемся к часто используемому примеру: при планировании маршрута путешествия мы прежде всего решаем, какие города мы хотели бы посетить. Расписание движения самолетов, такси и автобусов также составляются в соответствии с глобальным планом. Можно ли каким-нибудь образом обеспечить глобальное планирование при решении задач на ЭВМ? Ответ будет у твердительным. В литературе предложены два весьма различных метода планирования. Ньюэлл и Саймон (1972) предложили расширение GPS, в котором задача сначала решается в упрощенной области планирования, а затем делается попытка уточнить решение в этой области применительно к исходной, более детальной проблемной области, Файке, Харт и Нильсон (1972) пользовались совершенно иным подходом, в котором они показали, как обобщенные планы можно абстрагировать из решений конкретных задач. После этого обобщенные планы пригодны для дальнейшего использования.
Планирование в GPS
Вначале опишем предложения 】)Ньюэлла и Саймона по расширению GPS, включающему планирование. Развитый этими авторами метод сводится к упрощению задачи путем рассмотрения только ”важных" различий между состояниями, решению задачи в упрощенной области и, наконец, использованию решения упрощенной задачи для постановки подцелей, достижение которых в исходной проблемной области позволит, вероятно, обнаружить состояние, из которого GPS легко достигнет решения. Это применение планирования согласуется с общей тенденцией Ньюэлла и Саймона к рекурсивному решению задач. Трудная задача для GPS упрощается (как мы надеемся) благодаря решению более простой родственной задачи.
Мы будем пользоваться примером, который приводят Ньюэлл и Саймон в связи с планированием в GPS. Проблемная область этого примера ——исчисление высказываний. Решение задачи исчисления высказываний эквивалентно доказательству того/ что одно п. п. в, можно вывести из другого. В исчислении высказываний п. и. в.— это цепочки, содержащие переменные, знак отрицания "I и три бинарных связки: п,・ н и • Большинство правил переписывания в исчислении высказываний имеют форму х->у, где х и у — п. п. в. Примером служит правило коммутативности относительно U:
А\]В~^В\) А(28)
Некоторые правила отображают пары полученных выражений в единые выражения. Одно из этих правил
А )
(29)
устанавливает, что если цепочки Л и В уже были получены, то цепочку А*В можно добавить к списку полученных цепочек. В табл. 11.5 перечисляются операторы GPS, которые Ньюэлл и Саймон использовали при работе с исчислением высказываний. Каждый оператор записывался в виде правила переписывания. Кроме этих операторов, Ньюэлл и Саймон определили шесть классов различий между выражениями. Они приведены в табл. 11.6. Эти различия вместе с операторами табл. 11.5 определяют матрицу операторов и различий (см. табл. 1 L7(a)). Эта матрица используется для управления решением задачи в исходной области поиска. Представим себе, что программе GPS предложили доказать, что переписывание
(Rn 1 P)・(1 RnQ)f -| (] Q.P)(30)
Этот метод планирования лишь частично реализован в GPS,
Таблица //.5
Исходные и абстрактные логические операторы планирования (Ньюэлл н Саймон, 1972)
Исходный оператор
Абстрактный оператор в пространстве планирования
R1
HUB—>BUH Л • 8 —► 8 • Л
Тождество
R2
4п8—> [Bn -|4
Тождество
R3
A\JA^ А
А-А^ А
АА ^ А
R4
4U(8UC)i(4U8)UC
4(8.С) g (А-В).С
А (ВС) з (ЛВ) С
R5
ЛиВ<-»(-|Л.~|В)
Тождество
R6
4nBe "|ЛиВ
Тождество
R7
ли(б.с)<-»(лив)(яис) 4・(8UC) g(4・8)U(4・C)
4 (ВС) g (ЯВ) (ЯС)
R8
Л • 8 —► Л
Л-5 •~► В
АВ-^А
АВ — В
R9
Л •—►力 U X
Л ―► 4Х
RI0
計一4.8
В4В
RH
ki
АВ 1;
R12
допустимо. Применяя методы разд. 11.2, программа GPS обнаружила бы, что левая и правая части (30) различаются рядом термов "—)и знаком (s). Учитывая табл, 11.7(a), можно выделить правила R2, R5, R6, R8 и R11 в качестве кандидатов для уменьшения этих различий. Хотя это и определяет исходную точку, задача представляет значительную трудность для GPS. Чтобы применить метод планирования к задаче (30), мы сначала строим абстрактную, упрощенную область поиска, в которой при сравнении двух выражений рассматриваются только различия в термах, числе вхождений переменных и группировании (厶 n, g). Задача (30) становится абстрактной задачей
(31)(31)(PR)(QR) — (PQ)
(31)
(31)
Операторы переписывания следует соответственно перестроить, чтобы исключить различия всех видов, кроме использующихся в
Таблица ".6Различия, использованные Ньюэллом и Саймономв исследованиях решения логических задач программойТаблица ".6Различия, использованные Ньюэллом и Саймономв исследованиях решения логических задач программойНазвание различияНазвание различияПоясненияПоясненияПочленное различие(0Почленное различие(0Различие во вхождении переменной(〃)Различие во вхождении переменной(〃)Различие отрицанияРазличие бинарной связки(С)Различие группирования (g)Различие положения ком-понент в выраженииРазличие отрицанияРазличие бинарной связки(С)Различие группирования (g)Различие положения ком-понент в выраженииМежду двумя выражениями существует почленное различие, если члены входят в одно выражение и не входят в другое. В задаче Л >■ 8 выражение Л может иметь отрицательное (/ —), положительное (/-|~) или неопределенное «X) различие по сравнению с 8 в зависимости от того, есть ли необходимость в вычеркивании, добавлении или изменении переменных в Л для компенсации различия. Например, P(JP имеет по сравнению с QUP различие £十Данная переменная может входить в различные выражения неодинаковое число раз. Как и для f, определяются различия л + » л— и лХ. Например, P・Q имеет по сравнению с (P・Q)nQ различие 〃 +Различие между двумя выражениями может состоять в знаке отрицания. Например, Q иВ двух выражениях могут быть различными основные бинарные связки. Например, Р nQ и P|JQВозможно различие в способе объединения переменных. Например, PU(QUR) и (PUQ)URКомпоненты двух выражений одинаковы, но их положения в соответствующих деревьях различны. Например, Pn(Q(JR) и (QUR)nPМежду двумя выражениями существует почленное различие, если члены входят в одно выражение и не входят в другое. В задаче Л >■ 8 выражение Л может иметь отрицательное (/ —), положительное (/-|~) или неопределенное «X) различие по сравнению с 8 в зависимости от того, есть ли необходимость в вычеркивании, добавлении или изменении переменных в Л для компенсации различия. Например, P(JP имеет по сравнению с QUP различие £十Данная переменная может входить в различные выражения неодинаковое число раз. Как и для f, определяются различия л + » л— и лХ. Например, P・Q имеет по сравнению с (P・Q)nQ различие 〃 +Различие между двумя выражениями может состоять в знаке отрицания. Например, Q иВ двух выражениях могут быть различными основные бинарные связки. Например, Р nQ и P|JQВозможно различие в способе объединения переменных. Например, PU(QUR) и (PUQ)URКомпоненты двух выражений одинаковы, но их положения в соответствующих деревьях различны. Например, Pn(Q(JR) и (QUR)nPданной упрощенной области. Например, правило A U (В • С) f A U В) • (A U С)данной упрощенной области. Например, правило A U (В • С) f A U В) • (A U С)(32)(32)переходит впереходит вА (ВС) ^ (АВ) (АС)А (ВС) ^ (АВ) (АС)(33)(33)
Таблица ".6
Различия, использованные Ньюэллом и Саймономв исследованиях решения логических задач программой
Таблица ".6
Различия, использованные Ньюэллом и Саймономв исследованиях решения логических задач программой
Название различия
Название различия
Пояснения
Пояснения
Почленное различие(0
Почленное различие(0
Различие во вхождении переменной
(〃)
Различие во вхождении переменной
(〃)
Различие отрицания
Различие бинарной связки
(С)
Различие группирования (g)
Различие положения ком-понент в выражении
Различие отрицания
Различие бинарной связки
(С)
Различие группирования (g)
Различие положения ком-понент в выражении
Между двумя выражениями существует почленное различие, если члены входят в одно выражение и не входят в другое. В задаче Л >■ 8 выражение Л может иметь отрицательное (/ —), положительное (/-|~) или неопределенное «X) различие по сравнению с 8 в зависимости от того, есть ли необходимость в вычеркивании, добавлении или изменении переменных в Л для компенсации различия. Например, P(JP имеет по сравнению с QUP различие £十
Данная переменная может входить в различные выражения неодинаковое число раз. Как и для f, определяются различия л + » л— и лХ. Например, P・Q имеет по сравнению с (P・Q)nQ различие 〃 +
Различие между двумя выражениями может состоять в знаке отрицания. Например, Q и
В двух выражениях могут быть различными основные бинарные связки. Например, Р nQ и P|JQ
Возможно различие в способе объединения переменных. Например, PU(QUR) и (PUQ)UR
Компоненты двух выражений одинаковы, но их положения в соответствующих деревьях различны. Например, Pn(Q(JR) и (QUR)nP
Между двумя выражениями существует почленное различие, если члены входят в одно выражение и не входят в другое. В задаче Л >■ 8 выражение Л может иметь отрицательное (/ —), положительное (/-|~) или неопределенное «X) различие по сравнению с 8 в зависимости от того, есть ли необходимость в вычеркивании, добавлении или изменении переменных в Л для компенсации различия. Например, P(JP имеет по сравнению с QUP различие £十
Данная переменная может входить в различные выражения неодинаковое число раз. Как и для f, определяются различия л + » л— и лХ. Например, P・Q имеет по сравнению с (P・Q)nQ различие 〃 +
Различие между двумя выражениями может состоять в знаке отрицания. Например, Q и
В двух выражениях могут быть различными основные бинарные связки. Например, Р nQ и P|JQ
Возможно различие в способе объединения переменных. Например, PU(QUR) и (PUQ)UR
Компоненты двух выражений одинаковы, но их положения в соответствующих деревьях различны. Например, Pn(Q(JR) и (QUR)nP
данной упрощенной области. Например, правило A U (В • С) f A U В) • (A U С)
данной упрощенной области. Например, правило A U (В • С) f A U В) • (A U С)
(32)
(32)
переходит в
переходит в
А (ВС) ^ (АВ) (АС)
А (ВС) ^ (АВ) (АС)
(33)
(33)
В результате необходимых преобразований такого рода некоторые операторы исходной области в абстрактной области пропадают. Правило
(34)(34)(Д UB) —(BU Л)
(34)
(34)
Таблица 11.7
Матрица операторов и различий для логических задач в GPS
RI R2 R3 R4 R5 R6 R7 R8 R9 RIO RU R12
Исходная проблемная область
++++X XXXXXXXXX XXZ л S с Лб пг++++X XXXXXXXXX XXZ л S с Лб пг
++
++
X XX
XX
XX
X
X
X X
X
Z л S с Лб пг
++
++
X XX
XX
XX
X
X
X X
X
Z л S с Лб пг
Пространство планирования: операторы RI, R2, R5, R6 никогда 8 планах не используются
лgлgXXXXXXXX+ ++ ++ ++ +XXXX
лg
лg
X
X
X
X
X
X
X
X
+ +
+ +
+ +
+ +
X
X
X
X
становится тождественным оператором, поскольку оно не влияет ни на какое различие в абстрактной области. В правой части табл. 11.5 приведен результат преобразования операторов исходной задачи в область упрощенной задачи, а в табл. 11.7(6)—— получающаяся в результате матрица операторов и различий.
Теперь снова рассмотрим задачу (30) и ее абстрактную интерпретацию (31). Сравнивая правую и левую части (31), GPS обнаруживает между ними различие tX, После ряда попыток GPS решает абстрактную задачу за несколько шагов: А1, ..., AL Отметим, что каждый шаг определяет правильное переписывание исходной цепочки,
Al (PR) (QR) Исходная задача
А2 (PR)R8 применено к первой компоненте А1
АЗ (QR)R8 применено для получения второй
компоненты А1
А4 (PQ) R12 применено к АЗ, А2
Затем GPS пытается применить R8, R8, R12 к исходной задаче. Обозначим соответствующие шаги L1, ..., U, чтобы отличить их от шагов в абстрактной задаче.
LI (R п ] Р)・(~] R n Q) Исходная задача
L2 (R n ] Р)R8 применено к первой компоненте L1
L3 (~] R n Q)R8 применено ко второй компоненте L1
В этом месте план требует применения R12 к L3, L2. Однако форма L3 и L2 не соответствует входной форме R12 в исходной области. Сравните ("|RnQ) и А об, а также (Rn"]P) и ВоС.
Терм R занимает неправильное положение в L3, поэтому ставится подзадача уменьшения позиционного (р) различия. После обращения к матрице операторов и различий осуществляется шаг
L4 ("| Q n R) R2 применено к L3.
Снова пытаемся применить R12, на этот раз к L4 и L2. Достигаем успеха, получая
L5 ("| Q о "I Р) R12 применено к L4, L2
Хотя выполнены все шаги плана, различия между L5 и целевым состоянием все еще остаются. При сравнении ("| Qo "| Р) и *| ("| Q-P) обнаруживаем знаковое различие (s) в главном выражении. Знаковые различия можно уменьшить с помощью правила R5 (см. табл. 11.7(a)), но оно здесь неприменимо, ибо существует различие в связке между (A U В) м L5. Правило R6 подходит для уменьшения различий в связке, и его можно применить:
L6 (Q U 1 Р) R6 применено к L5
R5 можно применить к L6, в результате получим
L7 】(1 Q・P) R5 применено к L6.
Это и есть требуемое целевое состояние.
В GPS для постановки подзадач используется план, который после выполнения может не дать решения для исходной задачи, но „обычно** приводит к состоянию g, достаточно близкому к искомому целевому состоянию. Нет никаких гарантий того, что планирование всегда оправдает надежды, но все же опыт дает основания считать его полезным методом.
Система STRIPS
Система STRIPS х) (Файке и Нильсон, 1971; Файке, Харт и Нильсон, 1972) порождает планы путем обобщения уже решенных задач. STRIPS представляет собой часть программной управляющей системы для работы Шейки — самоходного аппарата, совершающего передвижения в упрощенной среде по командам, данным на упрощенном английском языке. Для того чтобы понять STRIPS, необходимы некоторые пояснения, касающиеся Шейки. Робот содержит четыре основные физические системы: собственно аппарат (тележку) и двигательную систему; сенсорную систему, состоящую
STRIPS — Stanford Research Institute Problem Solver — решатель задач Станфордского исследовательского института.— Прим, перев.
из телекамеры и детектора касаний; вычислительную машину (не на тележке), осуществляющую работу программ с целью анализа информации, полученной сенсорами аппарата и входных команд, и передачу сигналов о необходимости включения двигательной системы аппарата; и систему радиосвязи для обмена информацией между указанной ЭВМ и аппаратом. Программа STRIPS определяет, какие команды необходимо отдать роботу.
Внешний мир этого робота состоит из комнат, дверей между ними, подвижных ящиков и, в более сложных ситуациях, источников света и окон. Этот физический мир в каждом частном случае описывается для STRIPS множеством утверждений, выраженных в форме предложений исчисления предикатов. Например, появление предложения
ВКОМНАТЕ(РОБОТ, К2)
в базе данных является утверждением о том, что этот роботв данный момент находится в комнате К2. STRIPS подразумевает, что все утверждения истинны, тогда как другая программа, PLANEX, проверяет их истинность. При изменении физической ситуации базу данных необходимо корректировать. В целом база данных, описывающая мир в любой момент, называется моделью мира.
Управляющие программы содержат также ряд подпрограмм, ответственных за прохождение робота в дверь, проталкивание ящика в дверь, выключение света и выполнение других физических де访ствнй. Эти программы сами по себе весьма сложны, но они не связаны непосредственно с решением задач. Они примерно так же соотносятся с решением задач роботом, как сложные действия хождения или собирания чего-либо с решением задач человеком.
Пусть модель мира содержит предложения
ЯЩИК (Я1)КОМНАТА (К1)КОМНАТА (К2)ДВЕРЬ (Д1)ВКОМНАТЕ (Я1, К1)ВКОМНАТЕ (РОБОТ, К2)СОЕДИНЯЕТ (Д1, KI, К2)ЯЩИК (Я1)КОМНАТА (К1)КОМНАТА (К2)ДВЕРЬ (Д1)ВКОМНАТЕ (Я1, К1)ВКОМНАТЕ (РОБОТ, К2)СОЕДИНЯЕТ (Д1, KI, К2)Я1 — ящикК1—комнатаК2—комнатаД1—дверь(35)Я1 находится в К1Робот находится в К2Д1 соединяет К1 и К2Я1 — ящикК1—комнатаК2—комнатаД1—дверь(35)Я1 находится в К1Робот находится в К2Д1 соединяет К1 и К2
ЯЩИК (Я1)
КОМНАТА (К1)
КОМНАТА (К2)
ДВЕРЬ (Д1)
ВКОМНАТЕ (Я1, К1)
ВКОМНАТЕ (РОБОТ, К2)
СОЕДИНЯЕТ (Д1, KI, К2)
ЯЩИК (Я1)
КОМНАТА (К1)
КОМНАТА (К2)
ДВЕРЬ (Д1)
ВКОМНАТЕ (Я1, К1)
ВКОМНАТЕ (РОБОТ, К2)
СОЕДИНЯЕТ (Д1, KI, К2)
Я1 — ящик
К1—комната
К2—комната
Д1—дверь(35)
Я1 находится в К1
Робот находится в К2
Д1 соединяет К1 и К2
Я1 — ящик
К1—комната
К2—комната
Д1—дверь(35)
Я1 находится в К1
Робот находится в К2
Д1 соединяет К1 и К2
и роботу дается задача поместить ящик Я1 в комнату К2. Рассмотрим более общую задачу помещения ящика я1 в комнату к2, где я1 и к2 — переменные. (Договоримся обозначать переменные строчными буквами, а константы — прописными.) Формально от STR IPS требуется получить модель, содержащую утверждение ВКОМНАТЕ (只1, К2). Эту задачу можно решить тремя способами.
Возможно, желаемые утверждения уже содержатся в модели. Это было бы эквивалентно тому, что GPS или FDS дана „задача** вывода цепочки из самой себя.
Возможно, удастся вывести желаемые утверждения из модели, не изменяя соответствующий ей физический мир. Предположим, что мы добавили к (35) предложения
ЯЩИК(Я2)
НАВЕРХУ (Я2, Я1) Я2 наверху Я1 (丿
и STRIPS может осуществить вывод
В (х, у)1
НАВЕРХУ (г, %)У)(37)
К утверждению В КОМНАТЕ (Я2, К1) можно прийти путем вывода, без каких-либо действий робота в физическом мире. STRIPS располагает мощными возможностями вывода, основанными на принципе резолюции, а не на методах, использующихся в GPS и FDS. В гл. 12 мы подробнее изучим принцип резолюции, а сейчас будем считать, что STRIPS действительно может осуществлять логический вывод.
Наконец, чтобы решить некоторые задачи, необходимо изменить физический мир и, следовательно, модель, описывающую его. Это наиболее интересная ситуация.
Рассмотрим типичный оператор PUSHTHRU (叱 х, у, г) — „толкнуть w через х из у в z“・ Этот оператор можно описать, задавая его предусловия (предварительные условия), список добавлений и список вычеркиваний. Предварительные условия ——это, как видно из названия, предложения, которые должны содержаться в модели перед применением оператора. PUSHTHRU (я1, д1, к1, к2) можно осуществить только тогда, когда модель содержит утверждения
ЯЩИК(я1); ДВЕРЬ(д1); KOMHATA(kI); КОМНАТА(к2);
СОЕДИНЯЕТ(д1, к1, к2); ВКОМНАТЕ(я1, к1);
ВКОМНАТЕ(РОБОТ, к1).(38)
Заметим, что (38) составлено на языке требований к переменным. В конкретной попытке активации PUSHTHRU переменные заменятся константами. Это называется выбором (основного) частного случая.
Возвратимся к примеру с PUSHTHRU; для завершения операции PUSHTHRU (я1, д1, к1, к2) необходимо изменить модель, включив в нее
ВКОМНАТЕ(РОБОТ, к2); ВКОМНАТЕ(я1, к2),(39)
и убрать
ВКОМНЛТЕ(РОБОТ,к1); ВКОМНАТЕ(я1,к1). (40)
Обратим внимание на сходство между предусловиями и списками добавлений и вычеркиваний, с одной стороны, и левыми и правыми частями операторов правил переписывания в GPS и FDS ——с другой. Они используются совершенно одинаково.
Получив задачу, STRIPS прежде всего пытается извлечь или вывести условия решения из существующей модели мира. Допустим, что это невозможно. Затем программа смотрит, какие условия следовало бы ввести в модель, чтобы вывод условий решения стал возможным. Это похоже на анализ в GPS различия между двумя состояниями 1). Затем проводится анализ целей и средств, чтобы определить, какие операторы имеют списки добавлений, включающие требуемые утверждения. Как и в GPS, этот анализ может привести к „задаче4* изменения модели так, чтобы оператор можно было применить. Задача считается решенной, если нашлась такая последовательность операций, что первый оператор можно применить к существующей модели, n-й оператор можно выполнить в модели мира, полученной после (п——1)-го оператора, и условия достижения решения выполняются после применения последнего оператора в этой последовательности 2).
После решения задачи STRIPS может обобщить его, представив в виде плана. Рассмотрим ситуацию после того, как робот решил задачу передвижения из К1 в К2 и затем проталкивания ящика обратно в KL Решение программы STRIPS таково:
GOTHRU(fll, Kl, К2) Иди из К2 в К1 через Дверь D1
PUSHTHRU(H1, Д1, KI, К2) Толкни Я1 из К1 в К2 (修丿 через дверь Д1
Наиболее очевидный способ обобщить это решение — заменить все константы переменными:
GOTHRU (д1, к1, к2)
PUSHTHRU (я1, д1, к2, к1) (丿
План (42) слишком специализирован. Он представляет собой предписание идти из одной комнаты в другую и затем толкать объект, находящийся во второй комнате, обратно в первую. Видимо, разумно, чтобы план STRIPS извлек из этой задачи план перехода из
Авторы STRIPS в своих работах неоднократно указывали, что эта система является лишь определенной конкретизацией идей программы GPS.— Прим, ред.
На практике задача будет решена, если эту последовательность можно успешно реализовать в физическом мире. Второй блок системы управления робота Шейки (PLANEX) осуществляет контроль за выполнением плана. PLANEX возвращает управление в STRIPS, если датчики робота обнаруживают, что произошло изменение мира, не предугаданное системой STRIPS, так что модель, которой она пользовалась для составления плана, теперь неточна.
одной произвольной комнаты в другую и толкания объекта из второй комнаты в третью. Излишняя специализация возникает в (42) от того, что каждая отдельная константа в решении была заменена везде в этом плане единственной переменной. Мы могли бы пользоваться более общим правилом замещения, в котором отдельная переменная использовалась бы для каждого аргумента оператора без учета исходных совпадений аргументов различных операторов в решении. Это, к сожалению, еще менее удовлетворительно. Действительно, пусть мы применили такое правило замещения к решению (41). В результате
GOTHRU(Д1,к1,к2)
PUSHTHRU (я1, д2, кЗ, к4) (丿
План (43) означает, что робот может войти в комнату к2 и затем выталкивать объект из комнаты кЗ, которая может оказаться со- всем другой комнатой. Очевидно, что это неверно. При замене констант переменными следует учитывать, какие переменные на различных шагах решения с необходимостью относятся к одному и тому хсе объекту. STRIPS осуществляет это, учитывая, какие переменные на шагах, предшествующих n-му шагу плана, должны упоминаться в предварительных условиях к n-му шагу. Технические подробности того, как это делать, зависят от механизма действия принципа резолюции при доказательстве теорем, который мы еще не обсуждали 】).Для наших текущих целей важно заметить, что существуют правильные способы обобщить решения так, чтобы они не были слишком общими, как в (43), и избежать чрезмерной специализации, пример которой приведен в (42). С другой стороны, хотя Файке и др. (1972) предлагают ряд полезных методов обобщения, они первыми признают, что используют эвристические процедуры, не всегда приводящие к требуемой степени общности.
Цель формирования плана из решения ——получить последовательность операторов (называемых макрооператорами), которую STRIPS может применять как одиночный оператор при решении сложных задач. Однако работа с макрооператорами затруднена тем, что действие первых п шагов будет, вообще говоря, влиять на условия, при которых должна применяться (〃+ 1)-я операция. Макрооператоры нуждаются в более совершенном механизме определения условий применимости, чем простой список предварительных условий для одиночных операторов. В STRIPS используется остроумная схема, называемая треугольной таблицей. Чтобы проиллюстрировать этот метод, построим треугольную
Для людей, знакомых с этой областью, и тех, кто может вернуться к этому разделу после чтения гл. 12, заметим, что унификация, требуемая для вывода предварительных условий на каждом шаге, доставляет информацию о том, какие переменные в плане должны относиться к одному н тому же объекту.
таблицу для простого, PUSHTHRU】):таблицу для простого, PUSHTHRU】):правильно обобщенного плана GOTHRU —
таблицу для простого, PUSHTHRU】):
таблицу для простого, PUSHTHRU】):
GOTHRU (д1, к1( к2)(44)
PUSHTHRU (я1,立,к2, кЗ)(45)
GOTHRU(a1, к1, к2) требует в качестве предварительного условия, чтобы робот был в к1 и чтобы д1 соединяла к1 и к2. Оператор PUSHTHRU требует, чтобы робот и ящик были в к2 и чтобы д2 о
22
2
2
*ВКОМНАТЕ(РОБОТ, Г)жСОЕДИНЯЕТ(д1.к1,К2)
、1
G0THRU(aMk2)
*ВКОМНАТЕ(РОБОТ;к2)
ВКОМНАТЕ(РОБОХКЗ)
ВКОМНАТЕ(я),кЗ)
Рис. 11.8. Треугольная таблица.
соединяла к2 и кЗ. Наконец, заметьте, что список дополнений для GOTHRU содержит ВКОМНАТЕ(РОБОТ, к2), что является одним из предварительных условий PUSHTHRU, a PUSHTHRU вычеркивает это предварительное условие из своей модели, добавляя в этот момент ВКОМНАТЕ(РОБОТ, кЗ) и ВКОМНАТЕ(я1, кЗ). Это означает, что ВКОМНАТЕ(я1, к2) должен содержаться в модели перед выполнением GOTHRU, а ВКОМНАТЕ(РОБОТ, к2) нет. Предварительные условия плана должны учитывать это.
Треугольная таблица для плана (44) показана на рис. 11.8. В более общей форме: если план состоит из 也 шагов, таблица будет состоять из 々1 строк и столбцов, образующих треугольник. Строки нумеруются от 1 до 々+1, а столбцы от 0 до k. При построении таблицы можно выделить следующие шаги:
В столбце i строке i+1 поместить список дополнений оператора /.
В столбце i строке i+j+l (j=0,…,尼一(i+l)) поместить те предложения столбца / строки i+j, которые останутся в модели после применения оператора i+j, т. е. предложения столбца /
1) В действительности обобщения и постровине треугольной таблицы ——связанные процессы, ибо информация, полученная из треугольной таблицы, полезна прн проведении обобщений.
строки i+j, не содержащиеся в списке вычеркиваний оператора i+j. На рис. 11.8 в столбце 1 перечисляются результаты оператора GOTHRU на разных стадиях. Вначале GOTHRU (д1, к1, к2) помещает робот в комнату к2, поэтому предложение В КОМНАТЕ (РОБОТ, к2) добавлено к модели и помещено в столбец 1 строку 2. Следующий оператор PUSHTHRU(h1, д2, к2, кЗ) выводит робота из к2, поэтому в столбце 1 строке 3 пусто. Подобным образом предложения ВКОМНАТЕ (РОБОТ, кЗ) и ВКОМНАТЕ (只1, кЗ), добавленные к модели мира оператором PUSHTHRU, следует поместить в столбец 2 строку 3. Ясно, что эту процедуру можно применить к плану с произвольным числом шагов.
Осталось построить столбец 0. Это получается после рассмотрения предусловий оператора, который нужно применить на шаге i. В столбце 0 строке i помещаются утверждения предварительного условия, которые должны быть в модели до применения оператора 厶 но которые еще не появились в строке i в результате предыдущих операций. Так, в столбце 0 строке 2 перечисляются предварительные условия PUSHTHRU(h1, д2, к2, кЗ), за исключением ВКОМНАТЕ(РОБОТ, к2), которое появилось в результате предыдущего действия GOTHRU.
При данных правилах построения треугольной таблицы должно быть, вообще говоря, несколько входов в строку i, которые не являются предусловиями для оператора i. Для того чтобы отличить предложения предусловия в строке от других предложений, они помечаются звездочкой.
План в целом применим, если все предложения в столбце 0 треугольной таблицы плана содержатся в модели или их можно вывести из нее. На самом деле треугольную таблицу можно применять к отдельным частям плана, рассматривая их как планы. Определим i-e ядро плана как область треугольной таблицы, содержащую строку i и нижний левый угол таблицы. Эта область включает ряд помеченных предложений. Подплан, состоящий из шагов i, i丄 1, •…,財 можно применить в любой модели, содержащей все помеченные предложения в ядре. Любые другие предусловия (i+/)-ro оператора можно породить предыдущими шагами плана.
Было показано, что использование треугольных таблиц в планировании ——полезная особенность STRIPS. Файке и др. приводят примеры, в которых использование планов и треугольных таблиц в три раза снижает время, необходимое для решения задачи о движении робота. С друг。访 стороны, как замечают сами авторы, порождение многих планов создаст существенную проблему извлечения информации, поскольку становится уже непросто решить, сколько треугольных таблиц можно применить в данной модели мира.
Хотя широкое применение планов — очень новое достижение, мы считаем, что существуют по крайней мере три более ранние
программы, порождавшие планы подобного рода. Сэмюэль (1967) предложил программу игры в шахматы, которая накапливает статистику в ситуациях, когда определенная последовательность оказывается хорошей, и пользуется этой статистикой для построения сложного нелинейного распознавателя, показывающего, насколько текущая игра похожа на предыдущие. Куинлан (1969) построил аналогичное расширение FDS и показал, что „обучение41 в одной области ——логике ——можно обобщить на сходные области элементарной математики. Оба приложения имели успех, но казались более примером на тему распознавания образов при доказательстве теорем, чем планированием в том смысле, как мы употребляли здесь это.слово. Гелернтер (1959) использовал метод планирования, названный синтаксической симметрией, который сходен со „сверхспециализированными планированием в STR IPS, проиллюстрированным в (42); он применил этот метод при доказательстве геометрических теорем для того, чтобы избежать повторных решений одной и той же подзадачи. Клинг (1971) предложил систему, в чем-то похожую на систему Гелернтера, для использования при доказательстве теорем, основанном на принципе резолюции. О методе Клинга нельзя говорить, не объяснив сначала, как на основе принципа резолюции доказываются теоремы, поэтому мы отложим его до конца следующей главы.
11.4.3. Языки планирования
До сих пор в книге программистским подробностям уделялось мало внимания, поскольку языки меняются быстро, а логические основания, видимо, более постоянны. Однако необходимость планирования при решении задач ставит ряд проблем перед создателем языка программирования. Любой язык, способный описать автомат с магазинной памятью (и, следовательно, любой контекстно-свободный язык), можно использовать для выражения плана решения задачи, но оно может оказаться неизящным, ибо в языке, созданном для планирования, могли бы с успехом участвовать лингвистические конструкции, которых, скорее всего, нет в языках, созданных для обычных вычислений. Поэтому неоднократно предпринимались попытки сконструировать специальный язык программирования для искусственного интеллекта. Хороший обзор истории этого вопроса дала Самметт (1971), поэтому мы упомянем лишь самое интересное. Язык обработки информации IPL V, самый ранний из этих языков, был, по существу, машинным упорядоченным кодом для ЭВМ, рассчитанной на выполнение символьных, а не числовых операций (Ньюэлл и др., 1964). Мак-Карти (1961) объединил конструкции IPL V с формализмом ламбда-исчисления Чёрча для получения языка Лисп ——языка программирования, допускающего формальный анализ (Вегнер, 1968). Многие
идеи Лиспа внедрились в языки, созданные специально для выражения планов решения задач и доказательства теорем, в особенности PLANNER (Хьюитт, 1972) и QA4 (Дирксен и др., 1972). Полезные понятия, необходимые для языков, будут продемонстрированы при обсуждении некоторых особенностей системы PLANNER. Мы не будем пытаться добросовестно передавать весь формализм записи этого языка, поскольку мы не ставим целью обучить ему программистов. Обсуждение направлено лишь на то, чтобы дать читателю некоторое представление。характере языка.
Программа решения задач должна уметь работать с тремя первичными сущностями: объектами, свойствами объектов и отношениями между объектами. В бесскобочной записи (КРАСНЫЙ, В1) означает, что объект В1 имеет свойство „красный*4, а (НА, Bl, В2)—— что объект В2 находится на объекте В1. Такое представление согласуется с нашей интуицией. Однако свойства можно считать функциями объекта, а отношения — функциями нескольких аргументов. Поэтому нам нет нужды различать их. Более того, связан ли символ с отношением или с данным объектом, зависит во многом от контекста. КРАСНЫЙ — это иногда свойство цветного объекта, а иногда сам объект, красный цвет. Для того чтобм различать, какой смысл вкладывается в употребление терма X, мы будем писать #Х, когда речь идет об отношении, и :X, когда он обозначает объект.
Можно использовать отношения для конструирования сложных объектов, поскольку тот факт, что два объекта находятся в каком-то отношении, сам по себе есть нечто, что можно считать объектом. Это отчасти показано в разобранных примерах, но становится более ясным при изучении сложных действий. Предложение Робот положил блок Bl s ящик может относиться к именному событию, которое является заданной величиной:
:ОТНОШЕНИЕ1 =(#ПОЛОЖИТЬ :В1 :ЯЩИК: РОБОТ) (46)
Второй пример: Робот берет В2 —
:ОТНОШЕНИЕ2 = (#ВЗЯТЬ :В2 :РОБОТ) (47) С помощью отношения ПЕРЕД можно создать новый объект, чтобы выразить событие, состоящее в том, что :ОТНОШЕНИЕ1 и :ОТНОШЕНИЕ2 появляются в данной последовательности:
:ОТНОШЕНИЕЗ = (#ПЕРЕД :ОТНОШЕНИЕ2
:ОТНОШЕНИЕ1) (48)
Эти примеры взяты из простого мира роботов. Применение подобных концепций к описанию естественного языка в естественных условиях представляет определенный интерес. Предложение
Джон видел Мэри у ЛуиджиДжон видел Мэри у Луиджи(49)(49)
Джон видел Мэри у Луиджи
Джон видел Мэри у Луиджи
(49)
(49)
можно описать как событие с объектами и отношениями между ними:
СОБЫТИЕ! =(#МЕСТО :ЛУИДЖИ :(#ВИДЕЛ
:ДЖОН :МЭРИ))(50)
Румельхарт, Линдсей и Норман (1972), Линдсей и Норман (1972) дали ряд более разработанных иллюстраций к тому, как естественный язык можно преобразовать в структуры, подобные структурам в базах данных языка PLANNER. В их записи важное значение имеют графы, но, как мы указывали, графовые структуры и сети отношений изоморфны.
Для того чтобы рассуждать, нам необходимы как представление об объектах в мире, так и правила вывода, дающие возможность получать новое представление из старого. Это значит, что мы различаем явные события, с которыми имели дело до определенного момента, и знание об отношениях, которые сохраняются в общем случае. Мы снова можем обратиться к психологии, в частности к рассуждениям Тулвинга (1972) о разнице между эпизодической и семантической памятями. Примеры типа (50) входят в эпизодическую память. Семантическое предложение
Е1-ДЛЯВСЕХ(Х) (#ОЗНАЧАЕТ (#СМЕРТЕН :Х) (#ЧЕЛОВЕК :Х))(51)
просто означает, что свойство быть человеком подразумевает свойство быть смертным. Такое предложение можно интерпретировать как план доказательства истинности чего-либо. Следовательно, по (51), чтобы доказать, что X смертен, надо доказать, что X — человек. Некоторые планы гораздо сложнее, чем этот, и требуют более гибкой записи. Рассмотрим одно из наставлений, которое Виноград (1972) предлагал аспирантам. Статью можно принять как диссертацию, либо если она большая, либо если s ней содержатся убедительные доводы. На языке PLANNER это выглядит так:
Е2 = ДЛЯВСЕХ(Х) (#ОЗНАЧАЕТ
(#ИЛИ (# БОЛЬШАЯ : X) (СУЩЕСТВУЕТ (: Y) (#И (#УБЕДИТЕЛЬНЫЙ :У)
(#ДОВОД : У)(52)
(#СОДЕРЖИТ :У :Х)))
(#ДИССЕРТАЦИЯ :Х))
(#МОЖНОПРИНЯТЬ :Х))
Предложение (52) полезно считать определением приемлемости, которое можно структурировать как процедуру последовательного решения подобно тем, что обсуждались в гл. 6. Соответствующая (52) диаграмма показана на рис. 11.9. Ее с тем же успехом можно считать графом сведения задачи к подзадачам. Каждый узел соот-
382 Гм //. Эвристические программы решения, задач ветствует условию, истинность которого требуется доказать, а И- и ИЛИ-узлы показывают, как нужно объединять решения подзадач, чтобы решить основную задачу. Использование представления сведения задачи к подзадачам напоминает тот факт, что порядок, в котором мы пытаемся решать подзадачи, может сильно влиять на трудность решения задачи. В языке PLANNER программист может определить, как осуществлять поиск: и заданием последовательности выбора подзадач для решения, и с учетом подсказок относительно решения каждой подзадачи. Это делается
х
путем определения теорем следования, которые указывают, как доказать, что отдельный факт есть следствие известных фактов. Пример такой теоремы:
(ОПРЕДЕЛИТЬ ТЕОРЕМУ ОЦЕНИТЬ(53)
(СЛЕД(Х, Y) (#МОЖНОПРИНЯТЬ $?Х)
(ТЕОРЦЕЛЬ (#ДИССЕРТАЦИЯ $?%)),
(ТЕОРИЛИ (ТЕОРЦЕЛЬ (#БОЛЬШАЯ $?Х)
(ТЕОРИСПОЛЬЗСОДЕРЖАНИЕ 一 ПРОВЕРИТЬ
—ПРОСЧИТАТЬ))
(ТЕОРИ
(ТЕОРЦЕЛЬ (#СОДЕРЖИТ $?/ $?Х))
(ТЕОРЦЕЛЬ (# АРГУМЕНТ $?У))
(ТЕОРЦЕЛЬ (# УБЕДИТЕЛЬНЫЙ $?У))))))
Она определяет процедуру, устанавливающую, можно ли удовлетворить графу сведения задачи к подзадачам (рис. 11.9). Схема
поиска в базе данных показана на рис. 11.10. Первая строка — просто инструкция системе PLANNER рассматривать утверждение как теорему, т. е. как семантическую, а не эпизодическую информацию. Вторая строка определяет теорему как „последую-
Рис. 11.10. Блок-схема процедуры поиска, определенной утверждением (53).
щую" теорему для доказательства того, что что-то, называемое X, имеет свойство быть приемлемым. В этой строке отмечается присутствие второй переменной У. Обозначения $?Х н $?Р утверждают, что X н У — свободные переменные. Следующие строки — это условия; если они выполняются, то этого достаточно, чтобы утверждать, что X имеет свойство быть приемлемым. Каждое условие называется целью. Первое (ТЕОРЦЕЛЬ (#ДИССЕРТАЦИЯ
$?Х)) утверждает, что если X уже имеет свойство быть диссертацией, то он имеет свойство быть приемлемым по самому смыслу. Следующая цель теперь ——множество ИЛИ-подцелей, как указано с помощью ТЕОРИЛИ, которая указывает, что цель поставлена, если поставлена хотя бы одна из ее подцелей. Первая подцель это — (ТЕОРЦЕЛЬ (#БОЛЬШАЯ $?Х) (ТЕОРИСПОЛЬЗ СОДЕРЖАНИЕ —ПРОВЕРИТЬ — ПРОСЧИТАТЬ)). Сама по себе цель ——доказать, что X имеет свойство „большая**. Вторая конструкция указывает языку PLANNER использовать метод доказательства, называемый (СОДЕРЖАНИЕ — ПРОВЕРИТЬ — ПРСХЗЧИТАТЬ) (здесь не определяется) для обнаружения свойства X „большая". Вторая ИЛИ-подцель представляет конъюнкцию подцелей
(ТЕОРИ
(ТЕОРЦЕЛЬ (#СОДЕРЖИТ $?У $?Х)) (ТЕОРЦЕЛЬ (# ДОВОД $?У)) (ТЕОРЦЕЛЬ (#УББДИТЕЛЬНЫЙ $?У)))
причем все они должны быть удовлетворены перед тем, как будет удовлетворена сама подцель. Их интерпретация должна быть ясна. Таким образом, предложение СЛЕД устанавливает конкретный тип поиска на графе сведения задачи к подзадачам. Следова- тельно^ активация предложения СЛЕД очень схожа с активацией программы решения задач — как в GPS или FDS. Различие здесь в том, что общие программы должны использовать одни и те же методы поиска на графе для каждой задачи, в то время как PLANNER позволяет программисту дать, как надеются, полезные подсказки о методах решения. При этом, однако, программист может сосредоточиться на выделении полезных целей и подцелей, и ему не нужно думать о том, как достичь целей, до тех пор, пока он сам этого не захочет.
PLANNER имеет и другие интересные особенности. Мы уже видели, как программист может предлагать тот или иной метод с помощью конструкции ТЕОРИСПОЛЬЗ. Ее же можно использовать, чтобы вызвать уже определенную процедуру доказательства, как в
(ТЕОРЦЕЛЬ (#МОЖНОПРИНЯТЬ :Х) (ТЕОРИСПОЛЬЗ ОЦЕНИТЬ))(54)
что заставляет PLANNER доказывать приемлемость конкретного документа Л, используя процедуру СЛЕД, названную ОЦЕНИТЬ. В некоторых случаях можно указать несколько планов для достижения цели путем объединения предложений ТЕОРИСПОЛЬЗ. Подходящие процедуры будут проверяться по порядку. В конце концов существует „всеохватывающее** предложение ТЕОРИС-
ПОЛЬЗ (TEOPTBF ТЕОРИСТИН), которое указывает системе PLANNER попытаться реализовать цель с помощью любой доказывающей процедуры, известной системе. Это особенно удобно, если память системы содержит универсальную доказывающую процедуру, которую может рассматривать как дорогой метод доказательства, применяемый лишь в крайнем случае.
Очень старый силлогизм демонстрирует мощность языка PLANNER. Допустим, что
(ОПРТЕОРЕМ ТЕОР1
(ПОСЛЕД(Х) (#МОЖЕТОШИБАТЬСЯ $?Х)(55)
(ТЕОРЦЕЛЬ(#ЧЕЛОВЕК $?Х))))
включено в базу данных. Пусть также база данных содержит предложения:
(#ЧЕЛОВЕК: ТЬЮРИНГ)
(#ЧЕЛОВЕК:ПЛАТОН)
(#ГРЕК: ПЛАТОН)(3b)
(#МОЖЕТ ОШИБАТЬСЯ ФУТБОЛЬНЫЕ ТРЕНЕРЫ)
Вопрос „Кто-нибудь может ошибаться?** оценивается с помощью ТЕОРПРОГР(У) (ТЕОРЦЕЛЬ(#МОЖЕТ ОШИБАТЬСЯ $?У)
(TEOPTBF ТЕОРИСТИН))(57)
что заставляет PLANNER сначала исследовать базу данных, чтобы определить, есть ли там хоть одна константа, для которой способность ошибаться записана как ее свойство, и затем, если поиск не приводит к успеху, применить любой имеющийся метод доказательства, чтобы вывести способность ошибаться. Поскольку (55) устанавливает теорему, следствием которой являются способность ошибаться, PLANNER просмотрит базу данных в поисках подходящих условий для предыдущего члена отношения. Если (57) оценена на базе данных (56), то вернется ответ ФУТБОЛЬНЫЕ ТРЕНЕРЫ. Если предложение (#МОЖЕТОШИБАТЬСЯ ФУТБОЛЬНЫЕ ТРЕНЕРЫ) было удалено из базы данных, а вопрос задан снова, то ответом будет ПЛАТОН, поскольку (#ЧЕЛОВЕК :ПЛАТОН) содержится в базе данных и по (55) (#МОЖЕТ ОШИ- БАТЬСЯ:ПЛАТОН) — имплицированный факт. Усложнили вопрос: „Любой ли грек может ошибаться?** Программа в этом случае спросит так:
ТЕОРПРОГР(У) (ТЕОРЦЕЛЬ(# И (#МОЖЕТОШИБАТЬСЯ $?Р) (#ГРЕК $?У)))(58)
Вначале программа обнаружит, что ФУТБОЛЬНЫЕ ТРЕНЕРЫ могут ошибаться, но она не может доказать, что все они ГРЕКИ.
В игру вступает свойство „возвращаться назап" языка PLANNER, поскольку система автоматически возвращается назад, чтобы найти второй объект, который МОЖЕТ ОШИБАТЬСЯ. На этот раз обнаружилось, что по выводу ТЬЮРИНГ МОЖЕТ ОШИБАТЬСЯ, но ТЬЮРИНГ не ГРЕК. PLANNER возвращается снова, доказывает, что по выводу ПЛАТОН МОЖЕТ ОШИБАТЬСЯ, и затем находит, что ПЛАТОН ГРЕК. В дополнение к иллюстрации возвращения назад этот пример полезен тем, что показывает, насколько важно упорядочение целей. Очевидно, потребовалась бы гораздо меньшая обработка данных, если бы (58) было переписано в виде
ТЕОРПРОГР(У) (ТЕОРЦЕЛЬ(#И(#ГРЕК $?У) (#МОЖЕТОШИБАТЬСЯ $?『))) (59)
что заставило бы PLANNER сначала найти греков, а затем доказать, что они могли ошибаться, вместо того, чтобы использовать любо访 другой окольный путь.
Глава 12
ДОКАЗАТЕЛЬСТВО ТЕОРЕМ1)
12.0. Доказательство теорем,основанное на эрбрановской процедуре
12.0.1. Общие понятия
Для машинного решения задач нужен формальный прием, позволяющий представить в машине элементы решаемой задачи; кроме того, должно быть задано множество механизируемых операций для работы с таким формальным представлением. Изложенный в гл. 11 подход, основанный на пространстве состояний, дает формализм, который часто можно считать „естественными; во всяком случае, он легко понимается людьми. К сожалению, из-за сложности выбора нужного правила из большого числа возможных правил вывода машинное решение задачи может стать неосуществимым. Другой подход состоит в применении некоторого способа представления, возможно, менее понятного для людей, однако приводящего к более непосредственному машинному представлению и к более простым операциям над символами. Оказалось, что необычно мощный эффект дает представление всех „задай" в широком смысле слова в виде теорем, доказываемых в рамках исчисления предикатов первого порядка. Дж. Робинсон (1965, 1967) предложил просто访 метод для работы с соответствующими выражениями, легко реализуемый на ЭВМ. Для объяснения работы этого метода обсудим сначала сущность доказательства теорем.
В доказательстве теорем стараются показать, что определенное правильно построенное выражение (п. п. в.) S есть логическое следствие множества п. п. в. S={4i, . . . , Ak}t называемых аксиомами рассматриваемой задачи. Правило вывода есть правило, при помощи которого из ранее полученных выражений можно получить
х) При подготовке этой главы я существенно использовал результаты бесед с моей коллегой д-ром Шарон Сикел. Всякая ответственность за ошибки, безусловно, ложится только на меня.
новые. Например, если At и А『——ранее полученные 2) п. п. в., то запись
(1)
указывает, что Ak можно получить из Л( и Л; с помощью правила вывода %. Рассмотрим теперь последовательность множеств &,..・, Sj, образованную из некоторого множества аксиом S по правилу
So = S,
S/+1 = Sy U F (Sy),()
где F (S) — множество выражений, которое можно получить из множества S, применяя к каждому его элементу все возможные правила вывода fq из конечного множества правил F~{fq}. Говорят, что высказывание В следует из аксиом, принадлежащих S, если В £ S」 для некоторого /. Продукции из гл. 11 можно интерпретировать как правила вывода. Трудность там возникала из-за того, что множество F было относительно большим и приводило к быстро растущему числу членов последовательности (2). Этой трудности не было бы, если бы множество F было мало. Например, пусть F состоит из единственного правила вывода
(AVB)・(1AVC)—(BVC)・(3)
Этого достаточно для доказательства любой теоремы в исчислении предикатов первого порядка. Правило (3) составляет основу для доказательства теорем с использованием принципа резолюции.
12.0.2. Обозначения
Для формального описания метода нам понадобятся обозначения, употребляемые в исчислении предикатов первого порядка. В этом предварительном изложении мы обойдемся без кванторов, т. е. без высказываний вида „все х суть у“ или „по крайней мере один х есть уи. Областью рассмотрения (универсумом) будет множество элементарных символов: константы, обозначаемые буквами а, Ь, с, . . ., переменные, обозначаемые „последними4* буквами латинского алфавита . . ., х, у, г, и функции. Функции представляют собой отображения, например, функция от п переменных отображает множество D" (всех возможных упорядоченных наборов из п элементов) в множество D. Например, сложение — это бинарная функция, отображающая пару вещественных чисел в одно вещественное число. Функции будут обозначаться буквами /, g, h. Наконец, прописные буквы (обычно Р, Q) будут обозначать отношения, или предикаты. Предикат от п аргументов отображает Dn в мно-
То есть высказывания Л/ и Л; истинны.— Прим. ред.
жество {И, Л), состоящее из двух элементов: И — истина, Л — ложь. Другими словами, любое «-местное отношение либо истинно, либо ложно.
Исследуем структуру правильно построенного выражения. Терм —— это константа, переменная или функция. В качестве своих аргументов «-местная функция должна иметь п термов. Таким образом, термами будут
а, Ь, с, f(a), g(f(x,) у), h(g(a, w), f(x)).
Атомной формулой, или атомом, называется предикат со своими аргументами:
R (/(%), а), Р(а, у), Q(g(a,匕),/(%)).
Литерал — это атомная формула или ее отрицание. Когда структура атомных формул не существенна, будем обозначать их Д, б, . . ., а их отрицания — "|А, [в, • • . . Когда структура литерала не существенна, будем обозначать i-литерал через L*
Таблица 12,1
Простые высказывания о неравенствах в обозначениях предикатов
Выражение
Обозначение
Возможнвя интерпретация, замечания
Константы и переменные а, Ьх, у
Функции и термы
/ (爲 y) g W
х+У 炉
а, Ь — любая пара вещественных чисел
х, д—переменные, принимающие вещественные значения
Функции вещественных чисел
Атомы, & у) & (Х, У)
R3 (爲
х < уУ л2
х:= д, /4з
Атом Аа принимает значение истина или ложь в зависимости от значений хну
Аналогично для атомов Л2 и Л3
Литералы 1大 (尤,У) & (爲 y)
尤Ад, "l^i х < у. 4
Атом и его «знак»
Предложения
(Ri (爲办%(招办&(居川)
3Ri (/ / 個("))
(/?2(X, a), Ri(g(6, %))
С1
5 Сз
Для всех 尤 или х > д, или 尤 < д, или х — у
Или х^у, или 尤Ад
Или х < а, или ха > х
Истина при а— 1 н х•卢 1
Предложением 】)С называется дизъюнкция литералов. Множество предложений S интерпретируется как единое высказывание, представляющее собой конъюнкцию всех его предложений. Поскольку атомные формулы, будучи предикатами, принимают значения из множества {И, Л}, то значения истинности атомов из соответствующего множества определяют значения истинности предложений, которые можно построить из этих атомов.
В табл. 12.1 приведены некоторые простые высказывания относительно неравенств, выраженные в описанных обозначениях 2). Здесь константы {а, Ь} должны интерпретироваться как любые два вещественных числа, а функции следует рассматривать как однозначные функции вещественных чисел. Предикатами здесь являются три возможных отношения порядка для любой пары вещественных чисел (больше, меньше, равно). Очевидно, что любое высказывание о конкретном упорядочении данной пары либо истинно, либо ложно, в том числе и высказывание „Предложения & &,仆 принадлежат S, которое означает, что эти предложения одновременно принимают значение истина.
12.0.3. Метод доказательства от противного
Как уже отмечалось, высказывание Т следует из множества предложений S, если Т есть логическое следствие высказываний (предложений) из S. Предположим для простоты, что Т состоит из единственного предложения Т. Рассмотрим множество предложений
SljT = {Cj, Сп, Т\. ⑷
Для того чтобы высказывание S (J Т было истинным, все предложения Ci п Т должны быть истинными. В свою очередь значения истинности этих предложений будут определяться значениями истинности содержащихся в них атомов, причем значения истинности должны присваиваться атомам так, чтобы по крайней мере один литерал в каждом предложении был истинным. Отдельное присваивание атомам значений истинности называется моделью. Еели S влечет за собой Т, то не существует модели, в которой высказывание S истинное, а Т нет. Вместе с тем, если высказывание Т истинное, его отрицание "] Т должно быть ложным. Поэтому если S влечет за собой Т, высказывание
SU 1Т = {Сз Сп^Т} (5) должно быть ложным для любой модели.
В оригинале clause; употребляется также термин дизъюнкт.—Прим. ред.
В качестве иллюстраций к доказательству теорем обычно приводят более интересные примеры из теории групп. Мы намеренно избегаем этого, поскольку не хотим дополнительными трудностями отвлекать внимание от принципов рассматриваемого подхода. Более сложные иллюстрации применения метода резолюции можно найти в работе Хэйеса и Ковальского (1969).
Предположим на некоторое время, что число атомов конечно. Тогда существует конечное число моделей, так как й атомам можно присвоить логические значения только 2少 различными способами. Ясно, что можно было бы сделать это каким-то систематическим образом и каждый раз определять значения истинности и для С» и Т. Если для всех моделей высказывание (5) окажется ложным, то, безусловно, S влечет за собой Т. Такое рассуждение, называемое до- казательством от противного^ составляет основу всех излагаемых в этой главе методов доказательства теорем.
12.0.4. Модели и опровержение
Из предыдущего рассуждения следует, что доказать противоречивость высказывания вида (5) в принципе тривиально, если число атомов конечно. Тривиальна ли эта задача на практике, зависит, разумеется, от количества атомов и от наших возможностей порождать и проверять модели. Вместе с тем интересно выяснить условия, гарантирующие конечность числа атомов. S — это множество высказываний, истинных для тех атомов, которые непосредственно входят в S, и тех, которые можно из первых вывести. Последнее множество может быть бесконечным; в этом легко убедиться на следующем тривиальном примере. Пусть S — высказывание, содержащее единственный атом:
S= {&&%)}・⑹
Предположим, что определена функция g(%)・ Из (6) можно построить бесконечную последовательность
Ri(q, %), &(а, g(%)), Ri(a, g(g (%))), ....⑺
Эта последовательность перечислима, т. е. можно придумать схему перечисления, по которой упорядочены любые два высказывания из этой последовательности. (В этом примере можно было бы просто подсчитывать уровень вложения второго аргумента.) И вообще всегда можно построить схему перечисления бесконечного множества атомов, полученного из конечного множества при помощи некоторой подстановки.
Предположим на время, что в S нет переменных. Такая ситуация называется основным случаем, а соответствующий универсум (область определения) называется эрбрановской базой. В основном случае можно провести перечисление. Для иллюстрации такой процедуры воспользуемся упрощенной версией примера (табл. 12.1) и докажем для конкретной пары чисел (а, Ь) (а не для нары чисел вообще, которую мы записали бы в виде (х, у)) истинность высказывания
а = Ьта》Ь・(8)
Атомами здесь будут
&: а> b
(9)(9)Л2: а<Ь4: а = Ь
(9)
(9)
Соответствующие предложения из А и их интерпретации таковы:
Ci
(4。л
г> О
Выполняется одно из отношений.
&
(口儿,
14)]
Не выполняются одновременно (1。) 'никакие два отношения.
Q
(口4,
14)
(14,
14) J
В этих обозначениях высказывание (8) имеет вид 4п"]4, а его отрицание ——вид А3*АЪ Для большей наглядности запишем это в виде двух отдельных предложений:
(И)(И)优 Из)
(И)
(И)
优 (4)
Объединяя (10) и (il), получаем
S = AU "]Т = {(Л1( Л2, Л3), ( "] Л1? "] Л2), ("] Лп "] Д3), (14, 14), (4), (4)}・(12)
Поскольку в S может быть только 23=8 атомных высказываний, легко построить все возможные модели (см. табл. 12.2). Если для каждой из них хотя бы одно предложение в S принимает значение ложь, то высказывание вида (5) будет ложным, и потому высказывание (8) будет истинным.
Габлица 12.2
Модель
Предложения, которым присваивается значение ложь
41,a2,а3 4,42,-148
41, 142,人才
-]{1,4, а3
*"141,a2, "14
"]41, "1 A2,а3 л2» *14?
С» С3, С《
С# ”1
Сз
ПЛ, ПЛ
Доказательство проводится (рис. 12.1) исключительно механическим способом (и не самым эффективным). На этом рисунке показано дерево порождения моделей. В каждом внутреннем узле дерева выбирается атом, а две выходящие из этого узла дуги определяются как значения истина и ложь упомянутого атома. В качестве первого узла здесь выбран узел Л1( так что все дуги, расположенные „слева4* от корня, указывают на модели, в которых %工 принимает значение истина, а все дуги „справа4* от корня указывают на модели, в которых 力I принимает значение ложь. Если высказывание (8), в самом
|M器—紀4—丸М—%「A我|M器—紀4—丸М—%「A我
|M器
—紀4
—丸М
—%「A我
|M器
—紀4
—丸М
—%「A我
Рис. 12.1. Дерево моделей для простои задачи без переменных.
деле, имплицируется (10), то каждая из этих моделей, представленная концевым узлом рассматриваемого дерева, припишет значение ложь по крайней мере одному из предложений в S U Т. В этом можно убедиться, проверив полученные модели.
Поскольку в табл. 12.2 нет таких комбинаций атомов, которые могут присвоить высказыванию (12) значение истина, то гипотеза (8) логически следует из соответствующих аксиом.
К сожалению, этот метод для более сложных случаев может не работать. Легко придумать высказывание с таким большим числом атомов, что этот метод перечисления окажется практически непригодным. Более того, возможен случай, когда наш универсум Эрб- рана 1) будет содержать бесконечно много атомов. Наконец, хотя этот метод и приводит к результату, он избыточен. Можно показать, что высказывание (12) противоречиво, исследуя и меньшее число моделей. Рассмотрим поддерево, изображенное на рис. 12.2, которое
丄)Определение универсума Эрбрана см. в книге Нильсона (1971).— Прим, перез.
получается из дерева рис. 12.1, если оставить ветви, содержащие только атомы Л1 и Л3. Концевые узлы дерева (рис. 12.2) соответствуют случаям, когда определены значения истинности только для атомов 力 1 и Л3. Если все комбинации значений {】н 4з присваивают некоторому высказыванию значение ложь, то ясно, что оно противоречиво. В рассмотренном примере это можно показать, про-
Рис. 12.2. Дерево более общих моделей.Рис. 12.2. Дерево более общих моделей.
Рис. 12.2. Дерево более общих моделей.
Рис. 12.2. Дерево более общих моделей.
сто проверив все частичные присваивания значений истинности атомам Ах и А? (см. табл. 12.3).
Таблица 12,3
тгПредложения, которым при-
Частичное присваиваниесваивается значение ложь
41, 4力 1,П-^а"Mi, 4[4, ПЛ41, 4力 1,П-^а"Mi, 4[4, ПЛ1r1r
41, 4
力 1,П-^а
"Mi, 4
[4, ПЛ
41, 4
力 1,П-^а
"Mi, 4
[4, ПЛ
1r
1r
12.0.5. Теорема Сколема — Эрбрана — Геделя
Способ прийти к противоречию, проверяя частичные присваивания, позволяет избежать перечисления всех моделей. Приведенный выше пример показывает, что с помощью частичного присваивания можно доказать противоречивость. Теорема Сколема — Эрбрана — Гёделя дает логическое обоснование излагаемых в этой главе методов. В ней утверждается, что можно найти частичное присваивание, приписывающее значение ложь любому противоречивому множеству предложений (Робинсон, 1967). Покажем, как можно использовать этот факт в доказательстве теорем.
Пусть S(%i, %g, • . •, %q)— высказывание (множество предложений), содержащее q переменных. При помощи подстановки можно заменить каждую переменную на терм, который может быть либо функцией вида /(а, Ь, хь х;), либо константой. Множество таких замен счетно, причем некоторые из них могут содержать q‘>q переменных. Далее, заданное высказывание имплицирует свои частные случаи и счетное число других высказываний, а любое отдельное высказывание содержит конечное число атомов. Тогда с исходным высказыванием S связан некоторый универсум ——универсум Эрбрана, содержащий счетное число атомов. Из этих атомов можно построить бесконечное двоичное дерево (рис. 12.3). Каждый его узел соответ-
Рис. 12.3. Бесконечное двоичное дерево атомов. Каждый узел дерева соответствует частичному присваиванию атомам значений истинности.
ствует частичному присваиванию значений истинности атомам универсума Зрбрана. Рассмотрим последовательность высказываний So, Si, . . . , Sh полученную с помощью подстановок в общее высказывание S. Поскольку каждое высказывание S» является частным случаем общего высказывания S, то SnS/ для всех L Предположим, что в результате частичных присваиваний в некотором дереве типа изображенного на рис. 12.3 высказывание S; принимает значение ложь. Тогда будем говорить, что на этом частном случае дерево оканчивается. Это означает, что высказывание S» ложное (точнее, невыполнимое как логическая функция).
Поскольку S『получается из S некоторой подстановкой, то при ложном S» высказывание S также должно быть ложным: если бы оно было истинным, то и любое имплицируемое им высказывание также было бы истинным.
В теореме Сколем а — Эрбрана ——Гёделя утверждается, что если S ложное (невыполнимое), то для некоторого i высказывание Sj будет невыполнимым. Это наводит на мысль об одном методе механического доказательства теорем. „Все*4, что надо сделать, это образовать последовательность высказываний S^ S2, . . . , S±, каждое из которых получается некоторой подстановкой в S, построить дерево частичных присваиваний, содержащее все атомы
высказывания S〃 и проверить его выполнимость. Если S имеет вид (5), т. е. содержит несколько аксиом и отрицание требуемого заключения, то при невыполнимости S» высказывание, содержащее указанные аксиомы и требуемое заключение (как в (4)), выполнимо, при условии что множество аксиом непротиворечиво.
Однако в том виде, в каком эта процедура описана, ее трудно применять на практике. Как показал пример с неравенствами, для заданного высказывания (даже без подстановки) уже при одном перечислении всех возможных моделей может потребоваться исследовать больше моделей, чем это необходимо для доказательства того, что высказывание невыполнимо. Более того, слепое применение подстановок в S даст очень много высказываний S;, которые на самом деле будут выполнимы. Это сложная задача. Если высказывания порождаются и проверяются без всякого плана, то для решения даже весьма простых задач число необходимых высказываний часто превосходит возможности самых больших вычислительных машин (в смысле требуемых быстродействия и памяти). Нужен метод ограничения числа получаемых для последующего рассмотрения высказываний, а для заданного высказывания, которое на самом деле невыполнимо, нужен метод ограничения числа необходимых частичных присваиваний.
/2・/・ Принцип резолюции
0. Введение
В этом разделе рассматриваются принцип резолюции и основанные на нем методы доказательства теорем. Прежде всего покажем,что метод вывода, называемый резолюцией^ непротиворечив и полон. Это означает, что этим методом доказываются лишь справедливые теоремы, причем, если теорема справедлива, она доказывается за конечное число шагов. Как упоминалось в предыдущем разделе, это осуществляется косвенным образом, поскольку основная стратегия доказательства заключается в том, чтобы показать несправедливость противоположной теоремы, а не пытаться непосредственно вывести исходную. Точнее, резолюция — это метод доказательства того, что ложное высказывание ложно, а не того, что истинное высказывание истинно.
Сначала мы докажем, что этот метод непротиворечив и полон для основного случая, когда опровергаемые высказывания S не содержат переменных. Это будет сделано, чтобы показать, как доказываются определенные свойства применяемых специальных методов, и чтобы продемонстрирбвать собственно резолюцию. Затем покажем, что метод годится также и для общего случая, когда опровергаемые высказывания содержат переменные.
Рассмотрим высказывание S, содержащее предложения Сь С2,... • • Сп, ]Т, не имеющие переменных. Пусть в S есть такие два предложения, что если в одно из них входит некоторый литерал, то в другое входит его отрицание:
C1 = (L1, L2, L4),
& Л)(13)
Их конъюнкция имплицирует третье предложение 】)С3= =(L1, A 2,L3):
(L1,L2,厶)•(厶 3, ID ~^(bp L2, L3),(14)
Будем говорить, что С3 выводится из&м С2. Предложение С3 будет называться резольвентой предложений Ct и С2, a G и С2 будут называться родительскими предложениями для С3. Если бы предложение Сз использовалось в последующей резолюции, скажем, при получении предложения С4, то С1( С2 и С3 были бы предками для &, а С — потомком предложений &, С2 и С3. Для более общего определения будем считать предложения С: и Q такими множествами литералов, что если С» содержит литерал L, то J содержит ли- терал 口 L, Предложение Ckt являющееся резольвентой для & и Q, имеет вид
С产{& — {"} U {С/ — {1厶}}・(15)
Множество предложений S выполнимо, если существует модель, для которой конъюнкция предложений из S истинна. Далее, если S выполнимо, то любое множество S', состоящее из S и предложений, выведенных из S резолюцией, должно также быть выполнимым. Поэтому если S' невыполнимо, то S должно было быть также невыполнимым. Конечно, это просто переформулировка применительно к резолюции того, о чем уже говорилось. Резолюция предоставляет легкий способ показать, что определенные множества S, невыполнимы для любой модели. Поскольку значение истинности предложения является дизъюнкцией значений истинности его литералов, оно не должно измениться, если добавить к предложению „всегда ложное" высказывание 尸.Поэтому любое предложение 0=(厶卜 L2> ...,厶论)можно заменить на С*= (Lb L2, . . ., £々,F). Множество высказываний S*, построенное так из S, всегда имеет те же значения истинности, что и S. Предположим теперь, что после одного или нескольких “раундов" расширения множества S при помощи резолюции получаются два предложения, которые (если
Это легко показать, рассмотрев соответствующую таблицу истинности.— Прим, перев.
не считать F) являются одиночными литералами, дополнительными относительно друг друга. Резольвента этих двух предложений имеет вид
&尸).(7丄,尸)=(尸).(16)
Это всего ложное высказывание, которое не может быть выполнимым ни для какой модели. Поэтому любое расширение S' высказывания S, содержащее предложение (尸),будучи конъюнкцией своих предложений, должно быть невыполнимо. Тогда S также будет невыполнимо. Другими словами, порождения из S при помощи резолюции всегда ложного высказывания (F) достаточно для того, чтобы утверждать, что S невыполнимо. На практике можно не добавлять 尸,а говорить, что при помощи резолюции порождается пустое предложение ( )• Предыдущее рассуждение показывает, что если можно получить ( ) из S при помощи резолюции, то S должно быть невыполнимым.
Для завершения доказательства непротиворечивости принципа резолюции нужно показать, что если S невыполнимо, то ( ) всегда можно получить при помощи резолюции. Для этого применим синтаксическую процедуру, разработанную Андерсоном и Бледсоу (1970). Доказательство проводится индукцией по числу 々(S) „лишни хи литералов:
(S) — (число вхождений литералов в S)——
——(число предложений в S).(17)
Например, высказывание
S = {(LJ,(L1,4), (1L1,厶,4, L4)}(18)
содержит три предложения и
々(S)=(l+2+4)—3=4.(19)
Интересно отметить, что й (S) описывает структуру рассматриваемого высказывания S и не зависит от присваивания его элементам значений истинности. Таким образом, доказательство Андерсона и Бледсоу служит примером синтаксического доказательства, при помощи которого показывается, что некоторое утверждение верно для всех возможных структур множества S. Его можно противопоставить семантическому доказательству, в котором показывается, что некоторое утверждение относительно S верно для всех его возможных моделей. Наши предыдущие рассуждения носили, конечно, семантический характер.
Теорема. Если S — невыполнимое множество основных предло- жений^ то при помощи резолюции из S можно вывести ().
Доказательство. Сначала предположим, что 也(S)=0. Тогда либо каждое предложение является одночленом (так что число
литералов равно числу предложений), либо одно предложение содержит два литерала, а другое пусто (так что „лишний** литерал компенсируется). Если S содержит ( ), то теорема очевидна, поскольку ()„выводится*4, будучи одной из аксиом. Если все предложения в S одночлены, то S имеет вид
S={(4) (14),(儿),(А) (4), ...}.(20)
Другими словами, каждое предложение содержит точно один атом и каждое отдельное предложение истинно при любом присваивании, при котором его единственный литерал принимает значение истина. Поскольку по предположению множество S невыполнимо, каждое полное присваивание должно приводить к значению ложь для S. Это означает, что в S должна быть по крайней мере одна пара предложений, литералы которых дополняют друг друга так, что любое присваивание приводит к значению истина для одного и ложь для другого, гарантируя, таким образом, что для любой модели множество S всегда содержит по крайней мере одно невыполнимое предложение. (В высказывании (20) эту роль играют второе и третье предложения). Если разрешить друг с другом такие два предложения, то получится ( ), например
((4)・(14))f ( )•(21)
Итак, теорема верна для 也(S)=0. Базис индукции доказан.
Для проведения индукции предположим, что теорема справедлива для 々(S)V/i, множество предложений S невыполнимо и ^(S)=n. Если S уже содержит ( ), то теорема тривиальна. Предположим, что это не так. Так как й (S)>0, то в S по крайней мере одно предложение С содержит более одного литерала. Пусть таким предложением будет С—(Л, Л), где L — литерал и Л =С—{Л}. Запишем множество S в виде
S = SU{(4 £)};(22)
тогда S' определится как
S』S—{С}.
Из S' можно получить два множества, расщепив С на компоненты: S】hS,U{(4)},(23а)
& = $и{а)}・(236)
Поскольку в Si и S2 то же число предложений, что и в S, a Si содержит на один литерал меньше и S2 содержит по крайней мере на один литерал меньше, то
fe(S2Kfe(S1)<fe(S)^n,(24)
так что по предположению при невыполнимости S】и S2 из них можно получить ( ). Можно показать, что они должны быть невыполни-
мыми. Пусть М*— множество таких моделей, что для любого присваивания m*WM* предложение С истинно. (Такое множество всегда существует.) Поскольку множество S=S‘ U {(Л, £)} по предположению невыполнимо, то оно должно быть невыполнимо и для любой модели из М*. Поэтому любая модель m* € М* должна присваивать значение ложь некоторому предложению С* W S'• В частности, все присваивания, для которых А или L истинны, принадлежат М*, и каждое из них должно придавать значение ложь некоторому предложению С* € S\ С другой стороны, любая модель, не принадлежащая М*, должна присваивать значение ложь как (Л), так и (L), поскольку в противном случае С не было бы ложным. Это означает, что любое присваивание, принадлежит оно М* или нет, должно присваивать значение ложь Si и S2, поскольку любое присваивание из М* приводит к значению ложь для S', а любое присваивание не из М* приводит к значению ложь как для (4), так и для (L). Таким образом ( ) можно вывести резолюцией или из Si, или из S2.
Обозначим через H(S) множество, полученное в результате применения к S й шагов резолюции. Мы доказали, что существуют такие i и /, что
()WRf(Sj (25а) ()€^(S2). (256)
Предположим теперь, что i шагов, приведших к (25а), применены не к Si, а к S=S' U {(Л, L)}・ В результате получится или ( ), или (L). (В этом легко убедиться, заметив, что предложение (L) играет здесь роль 尸.)Если получится пустое предложение ( ), то оно и было бы выведено из S при помощи резолюции. Если получится (厶), то, поскольку S'三S,
£U{(L)}} = SqR(S). (26)
Теперь для вывода ( ) можно к S2 как к подмножеству множества R.S) применить / шагов резолюции, приведших к (256). Теорема доказана.
Пример. Проиллюстрируем резолюцию простым, уже упоминавшимся, примером с неравенствами. Напомним аксиомы. (Их интерпретация, несущественная здесь, дана в предыдущем разделе.)
л И1Д 4/(\ /(\ (- л /к (-л И1Д 4/(\ /(\ (- л /к (-а
л И1Д 4/(\ /(\ (- л /к (-
л И1Д 4/(\ /(\ (- л /к (-
Разрешим сначала С3 и ]7\:
Ri (14, 14)・(4)т(14)・(27)
Затем разрешим Rr и ]丁2
(4).(14)一();(28)
пришли к противоречию.
Решение этого примера настолько очевидно, что мы ничего не сказали о том, как выбиралась резолюция. Правильный выбор на самом деле составляет наиболее трудный шаг в доказательстве теорем при помощи принципа резолюции. Алгоритмы полного перебора приведут к большому числу резолюций, несущественных для вывода пустого предложения ( ). Например, рассмотрим следующий итеративный алгоритм.
Упорядочить предложения от 1 до п.
Положить i=l.
Провести все возможные резолюции предложения i с предложениями i+1,(+2, . . ., п, добавляя выведенные предложения 8 качестве предложений п+1, п+2, . . ., п*.
Увеличить i на /, положить п=п* и перейти к шагу (iii). Этот процесс продолжают до тех пор, пока не выводят пустое предложение.- Ясно, что этот алгоритм даст все резолюции, которые можно получить, включая многие совсем лишние. Для приведенного выше очень простого примера первые три резолюции таковы:
("1,4,^з) * ( "1 ^1» "1 4) ~^(4,4,"14)
л2, 4з)・(]4】,1力2)— (4】,4,】4J(29)
Ни одно из полученных предложений не должно фигурировать в доказательстве, поскольку это тавтологии, т. е. предложения, содержащие литерал и его дополнение, и потому они не могут быть ложными ни для какой модели. В других случаях этот итеративный алгоритм построит предложения, которые, хотя и не будут тавтологиями, все равно не ускорят ход доказательства.
12.1.2. Применение резолюции в общем случае
Для формирования резольвенты надо найти два предложения с дополняющими друг друга литералами. Это легко сделать для основного случая, поскольку дополнения нетрудно обнаружить. В общем случае дополняющие друг друга литералы можно найти подстановкой. Проиллюстрируем это другим примером из области неравенств. Пусть х, у — переменные, принимающие целые положительные значения. Обозначим для ясности отношение ”равно" через Е, а отношение „больше чем" через G. Наконец, пусть произведение
Xi-Xj обозначается р(х6 х;). Множество таких предложений и их интерпретации приведены в табл. 12.4.
Таблица 12.4
Предложение
Интерпретация
Ci(Е (х, х))
С2(Е(0 (х, 1), х))
С3(~|G (х, у), -]Е(х, у))
С4 (G S (X, у), х))
X —X х. 1 =х (尤 а g) V (尤 W у) (尤・у) > X
Это множество невыполнимо, так как С4 ложно для у=1・ Резолюцию в том виде, как она описана, нельзя применить для доказательства этого факта, поскольку вообще нет дополняющих друг друга литералов и потому нет основы для проведения резолюции. Однако можно выбрать два предложения в качестве кандидатов для резолюции и, даже если их нельзя непосредственно разрешить, попытаться найти последовательность подстановок, приводящую к разрешению двух предложений, полученных из исходных. Рассмотрим возможную резолюцию предложений С3 и С4:
(7G(x, g), ~\Е(х, g))・(G(p(%, у), %)).(30)
Эти предложения подходят на роль кандидатов для резолюции, поскольку один и тот же предикат G появляется в своей обычной форме в одном предложении и как дополнение в другом. Эго условие необходимо для резолюции.
Сначала надо найти подходящую подстановку. При этом надо быть осторожным и не перепутать имена переменных из разных предложений. Поэтому переменные в левом предложении (С3) мы обозначим хъ 尤2, . . ., а в правом (С4)——ylt ^2, • • • • Тогда (30) примет вид
(1G(xlt х2), IE"” /))・9(Р®1,弘)协))•(31)
Правило подстановки заключается в том, что терм можно подставить вместо переменной, не содержащейся в нем, при условии, что эта подстановка непротиворечива. Новое высказывание есть специальный частный случай исходного предложения, называемый подстановочным частным случаем. Подставляя p(yi, ‘纟)вместо Xj в (31), получаем
(】G(p®i,%)%), 1Е(р 仇,%), %))・(G(p 回,弘),协))・(32)
Подстановка 仍 вместо х2 дает
(IG (р (%, %), %), ~|Е(р(%, %),%))*(G(Р(%,%),"J)*(33)
Для (33) можно провести резолюцию:
Ri (IE (р(%, %), %)).
Затем можно разрешить С2 и R» Для этого опять во избежание путаницы переименуем переменные:
(Е("(Х], 1), %))・(1Е(р (协,%), %)). (34) Подставляя %】вместо ух и 1 вместо ^2, проводим резолюцию и получаем
(Е(р(%,О. %))・(1E(p(%i,1), х1))->( ). (35) Итак, мы вывели ( ) и тем самым доказали, что исходное множество предложений невыполнимо.
Для возможности механического применения такого рассуждения надо иметь алгоритм нахождения соответствующей последовательности подстановок, дающий предложения в разрешаемой форме. Более того, такой алгоритм должен всегда находить указанную последовательность, если она существует. Разработанный Дж. Робинсоном (1965) алгоритм унификации обладает обоими этими свойствами. Для его описания понадобятся дополнительные определения.
Пусть А ——множество атомов. Подстановкой 9 называют операцию
8 =传 1加1,方2加2,...,"/%), (36) где ti и Vi— соответственно терм и переменная из А. Когда применяется 9, каждый терм 友 заменяет соответствующую переменную S во всем множестве А. Новое множество атомов обозначается А9. Будем также обозначать С9 и S9 соответственно предложение и высказывание, получающиеся в результате замены 0 всюду в С или в S. Пустая подстановка будет обозначаться через е.
Для любого множества атомов А можно построить множество рассогласования: сначала выделяется первая позиция, в которой не все атомы имеют одинаковые символы, а затем из всех атомов выписываются термы, начинающиеся с этой позиции. Например, если
А = {尸& 片协 z)), Р (居 а), Р^ g(h (й (х))))}, (37) то множеством рассогласования D (А) будет
D(A) = {f®, z), & g(/i仇(х)))}. (38) Множество рассогласования О (А) пусто тогда и только тогда, когда все элементы А одинаковые.
Лексическое упорядочение ——это такое упорядочение термов в множестве рассогласования, когда все переменные символы (если 12 Э. Хант
они есть) располагаются перед постоянными символами, а все постоянные термы упорядочены некоторым непротиворечивым образом.
Алгоритм унификации для множества атомов А=={Л1,斗?,-. ..Ап} состоит из следующих шагов:
Положить 々=0 и сделать подстановку 冗々=е.
Положить А=Алй. Если все элементы множества А одинаковы. то алгоритм заканчивает работу и сообщает об удаче, при этом 0=^0^!,. ,nft. (Отметим, что из определения подстановки следует, что последовательность подстановок есть также подстановка.) В противном случае продолжать работу,
Построить множество рассогласования О (А) и лексически упорядочить его.
Пусть Vr и Uг—— первый и второй элементы лексически упорядоченного множества D(A). Если Vr не является переменной или, будучи переменной, содержится в Urt то алгоритм заканчивает работу и сообщает о неудаче. В противном случае положить k—k+lt nk~{Ur/Vr} и перейти к шагу 2.
Алгоритм унификации или сообщит о неудаче, если ни одна последовательность подстановок не сможет преобразовать все атомы множества А в одинаковые, или найдет нужную подстановку 0 такую, что все элементы множества А0 одинаковы. В этом случае будем говорить, что 0 унифицирует А. Более того, 9 ——наиболее общий унификатор для А в следующем смысле. Предположим, что существует другая подстановка 0*, которая также унифицирует А, но не порождается алгоритмом унификации. Унификатор 9* всегда будет иметь вид
3 = 6%(39)
где л — некоторая подстановка термов вместо переменных в А9. Тогда подстановка 0 унифицирует А и требует при этом наименьшего числа замен переменных константами и функциями. Однако 0 не обязательно единственна.
Проиллюстрируем работу описанного алгоритма на примере. Пусть
A = {Q (%, g) Q(q, С)}
D (А) = {х, а}
% = {а/%}
An1={Q(a, у), Q(a, с)}
D(\ni) = {y,(45
Л2= {"/
А%л:2 = Ае= {Q(a, с), Q(a, с)}
6 — %% = {а/х, c/处 требуемая унификация
Для того чтобы показать, как используется унификация вместе с резолюцией, допустим, что в роли кандидатов для участия в резолюции выступают два предложения & и С2, поскольку они содержат противоположные по значению литералы с одинаковым предикатом. Множество А определяется как множество атомов, содержащихся в этих литералах. Применяется алгоритм унификации, и, если он успешен, найденная подстановка проводится в обоих предложениях; в результате получаем С19 и С29. Предположим, например, что надо разрешить
仍(厶,b), Q (%, a)) •(「(%,* IQ0, %)).(41)
(Необходимые переименования здесь уже выполнены.) Очевидные кандидаты для резолюции — литералы, содержащие Q, так что
А= {Q(%1, a), Q (Ь, %)}.(42)
Применяя алгоритм унификации, получаем подстановку
9={^/хь а/у?}.(43)
Следовательно, резольвента для (41) имеет вид
(Р(Ь, Ь), Р@,с»(44)
Резолюция с унификацией представляет собой полный метод вывода (Робинсон, 1965). Сформулируем точное утверждение.
Пусть S ——множество предложений произвольного вида. Пу- стое предложение ( ) можно вывести из S при помощи резолюции и унификации тогда и только тогда, когда S невыполнимо.
Этот важный результат гарантирует, что пустое предложение ()можно вывести из S за конечное число шагов, если S не является выполнимым. С другой стороны, неудача при выводе ( ) за какое-то конечное число шагов еще не означает, что S выполнимо, поскольку пустое предложение ( ), быть может, удалось бы вывести за большее число шагов. Единственный способ доказать выполнимость множества —это достичь ситуации, когда нельзя сделать новых резолюций, при условии, что резолюции выбираются так, что свойство полноты сохраняется. Бывают случаи, когда это не происходит.
72・2 Простые стратегии очищения
0. Очищение
Применение принципа резолюции без ограничений приводит к слишком большому множеству предложений, чтобы с ним можно было работать на практике. Рассмотрим вывод пустого ( ) или какого-нибудь другого предложения лри помощи резолюции и соот- 12*
ветствующее графовое представление в виде дерева (рис. 12.4). В отличие от деревьев, которые мы изучали при решении задач, это дерево “растет” вниз от листьев, представляющих исходные предложения, к корню. Каждый узел, не являющийся листом (в том
числе и корень), представляет предложение, полученное в результате резолюции двух предложений, расположенных непосредственно над ним.
На рис. 12.4 показан только один из выводов. Можно было бы построить и другие выводы, распространяющиеся от исходных пред-
Частные выводыЧастные выводыИсходные предложенияИсходные предложенияЧастные выводыЧастные выводыРис. 12.5. Распространение вывода от исходных предложений.Рис. 12.5. Распространение вывода от исходных предложений.
Частные выводы
Частные выводы
Исходные предложения
Исходные предложения
Частные выводы
Частные выводы
Рис. 12.5. Распространение вывода от исходных предложений.
Рис. 12.5. Распространение вывода от исходных предложений.
ложений в иных направлениях (рис. 12.5). Некоторые из них приведут к пустому предложению ( ) и потому будут непротиворечивыми доказательствами невыполнимости. В других случаях пустое предложение не будет получено, и, быть может, процесс никогда не закончится. Чтобы применять резолюцию на практике, надо уметь заранее определять, какие выполнять резолюции и какие производить выводы.
Алгоритм, осуществляющий отбор резолюций, называется стратегией очищения. Правило, изменяющее порядок, в котором пробуются резолюции, но не изменяющее их числа, будет называться стратегией упорядочения. Стратегии очищения разбиваются на три класса: синтаксические, семантические и стратегии, учитывающие ход вывода. Применение синтаксической стратегии предполагает отбор предложений, участвующих в резолюции, по критерию, основанному на их структурных свойствах, таких, как число содержащихся в них литералов безотносительно интерпретации атомов рассматриваемого предложения как истинных или ложных для определенной модели. Применение семантической стратегии предполагает совсем обратное, поскольку отбираются предложения, про которые известно, что они истинны только для определенных моделей. Применение стратегии, учитывающей ход вывода, предполагает отбор предложений для последующей резолюции на основе хода уже осуществленного вывода этих предложений. Например, в случае стратегии исходных данных в каждой резолюции должно участвовать по крайней мере одно предложение из исходного множества предложений S.
Стратегии очищения составляют основу для написания программ доказательства теорем, работающих только с ограниченным подмножеством всех возможных резолюций. Для того чтобы доказать, что такая программа дает непротиворечивое доказательство теорем, необходимо показать, что для рассматриваемого ограниченного множества резолюций, определяемого данной стратегией очищения, выполняется теорема полноты 】).Трудность доказательства полноты сильно зависит от выбранной стратегии. Как правило, здесь мы не приводим доказательств, а отсылаем интересующегоЬя читателя к соответствующим работам.
Некоторые стратегии очищения довольно сложны, и они будут обсуждаться каждая отдельно. Другие, кратко обсуждаемые в настоящем разделе, просты и легко реализуемы. Что же касается стратегий упорядочения, то практически все полезные стратегии просты, так что мы их тоже обсудим здесь.
1) Можно возразить, что полнота не является действительно интереоным свойством стратегии очищения. Аллен Ньюэлл (в частной беседе) указал, что независимо от выбранной стратегии для доказательства невыполнимости множества S всегда достаточно логически корректного вывода пустого предложения (). Неудача в получении ( ), как уже отмечалось, еще ничего не доказывает. Какова польза тогда в знании того, что если бы программа проработала еще некоторое время, то (при невыполнимости S, а это пока не установлено) пустое предложение ()было бы выведено? Хотя такой довод и хорош с прагматической точки зрения, он не годится по двум причинам. Во-первых (как уже отмечалось), если стратегия полна и в некоторый момент нельзя провести новых резолюций, то S выполнимо. Чем стратегия ограничительнее, тем вероятнее, что это так и будет. Во-вторых, похоже, что полнота — важное свойство, которое целесообразно исследовать при более глубоком изучении основ механического доказательства теорем.
Если предложения G и С2 , содержащие соответственно тип литералов, можно разрешить друг с другом, то их резольвента содержит не более (/и—1)+(п—1) литералов. Если в одном из этих предложений, скажем Ci, содержится только один литерал, то этот литерал должен участвовать в резолюции, и резольвента будет содержать п——1 литералов. Поскольку цель рассматриваемой программы —— получить предложение, не содержащее литералов, то это — шаг в нужном направлении. В стратегии предпочтения одночленов требуется, чтобы на каждом шаге вывода все резолюции, использующие предложения только с одним литералом (одночлены}, вычислялись прежде других резолюций. В более общем случае резолюции, использующие короткие предложения, выполняются перед резолюциями с более длинными предложениями.
Предпочтение одночленов служит примером синтаксической стратегии, поскольку выбор этой стратегии зависит только от структурных свойств предложений, участвующих в резолюции. Стратегия предпочтения одночленов относится к упорядочению, а не к очищению, так как она меняет лишь порядок выполнения резолюций, но ни одну из возможных резолюций не исключает из рассмотрения.
Исключение тавтологий и уникальных литералов
Задача стратегий очищения состоит в том, чтобы удалить неподходящие предложения из S до проведения резолюции. Пусть S*, S*sS, б/дет невыполнимым множеством предложений, таким, что любое его собственное подмножество выполнимо 】),т. е. для доказательства невыполнимости S* необходимо использовать каждое предложение из S* по крайней мере один раз. Вообще говоря, будет более эффективным работать с S*, а не с S. В самом деле, можно доказать, что существует по крайней мере один вывод пустого предложения ( ), который начинается с любого предложения С* W S* (Андерсон и Бледсоу, 1970). Поэтому было бы желательно обнаружить и удалить предложения, принадлежащие S——S*, если такие существуют, прежде чем проводить резолюцию. В тех случаях, когда это оказывается возможным, к удалению некоторых из таких предложений приводит исключение тавтологий и уникальных литералов. Обе стратегии легко применяются.
Предложение С называют тавтологией, если оно содержит два дополняющих друг друга литерала, например Л и ~| Л, где 4 — произвольное атомное высказывание. Поскольку значение истинности
Иными словами, S* — наименьшее невыполнимое множество.— Прим, перев.
этого предложения определяется дизъюнкцией значений истинности его литералов, то тавтология, очевидно, не может принимать значения ложь ни для одной модели, ибо высказывание (Л V 7』) истинно независимо от значения истинности А. Поэтому невыполнимость множества S, состоящего из предложений, содержащих тавтологию С, должна вытекать из невыполнимости множества S-{C}.
Предложение С можно удалить из S не только в тех случаях, когда оно является тавтологией. Его можно удалить также, если оно содержит уникальный литерал L, предикат которого 尸 не имеет отрицания ни в одном из литералов любого другого предложения C*gS. Это объясняется тем, что никакая резолюция, использующая предложение С или любое выведенное из него предложение, не приведет к ( ). Чтобы показать это, предположим, что S состоит из предложений
% (Р(х), "|尸(吼 Q&))
c2 (10(e),Р®)
С (7尸传),”(尤))
Любая последовательность резолюций, использующих Си должна дать предложение, содержащее литерал Q&) или некоторый его подстановочный частный случай. Поскольку в S нет предложений, содержащих так или иначе ] Q (х), то нет способа удалить Q 匂)или любого из его подстановочных частных случаев. Поэтому никогда не следует начинать вывод с таких предложений. Основной принцип заключается в том, что если С содержит уникальный литерал, то при невыполнимости S можно вывести ( ) из S—{С}.
Факторизация
Размер предложений по длине можно уменьшить, используя подстановочные частные случаи, при которых некоторые литералы в предложении становятся одинаковыми. Эта операция называется факторизацией. Например, предложение
С=и (%, f (々)),а (Ь, 9), Л (а, /(%)), 4 (%, z))(45)
можно факторизовать подстановкой
9= (Ж f(k)/yt f(b)/z).(46)
Тогда получим
С6= (Л 0"(舟),Л (а"®), Л (ft,/О.(47)
С0 называется фактором предложения С. Фактор предложения не обязательно единствен. Если (46) заменить на
л = (а/х, f(k)/y, /(a)/z),(48)
получим другой факторполучим другой факторСл=(А @ /3)), Л (A f 伏)),Л (а, /(а))).Сл=(А @ /3)), Л (A f 伏)),Л (а, /(а))).(49)(49)
получим другой фактор
получим другой фактор
Сл=(А @ /3)), Л (A f 伏)),Л (а, /(а))).
Сл=(А @ /3)), Л (A f 伏)),Л (а, /(а))).
(49)
(49)
Поскольку любое предложение имплицирует свои факторы, то множество S можно дополнить, включив в него факторы его предложений. Это увеличивает число предложений в S, но добавляемые предложения короче тех, из которых они выведены, и могут привести к более коротким выводам пустого предложения ().
Использование подслучаев
Для любой пары предложений С, D W S предложение С называется подслучаем предложения D, если существует такой подстановочный частный случай Сп предложения С, что Сп三D. Напри-
мер, если
с = (4(%)),(60)
D^(A(b), Р(х)),
то подстановка
л= (Ь/х)(51)
приводит к
Qi=(/(b)).(52)
Целесообразность использования подслучаев можно проиллюстрировать примером из пропозиционального исчисления высказываний, в котором значение истинности множества определяется как конъюнкция значений истинности содержащихся в нем предложений. Пусть Сл= (L) и D= (L, X), где X —— последовательность, состоящая из нескольких (быть может, ни одного) литералов L*, L?,Поскольку значение истинности D определяется конъюнкцией его литералов, то
0 = (£ VX). (53)
Очевидно, чтоS(L\/X)Очевидно, чтоS(L\/X)(54)(54)
Очевидно, что
S(L\/X)
Очевидно, что
S(L\/X)
(54)
(54)
(55)(55)независимо от значения истинности X, т. е. CnnD. Положим S* = =S——{/)}・ Из интерпретации множества в пропозициональном исчислении высказываний следует, что
(55)
(55)
S*-Cnz)S.
Если S ложное при всех приписываниях значений истинности, то Sn ( ). Это означает, что S*• Сл =)( ), т. е. при невыполнимости
S множество S* U {Сл} также невыполнимо. Однако проще выводить пустое предложение ( ) из множества S* U {Сл}, чем из S, потому что оба множества содержат одинаковое число предложений, но в Сл меньше литералов, чем в D.
Гиперрезолюция
Можно сделать так, чтобы в резолюции участвовали сразу по несколько предложений. Это называется гиперрезолюцией. Предположим, что для конечного множества предложений {С1( С2,...
Сп} и единственного предложения В удовлетворяются следующие условия:
3 содержит п литералов Лъ ..., Ln.
Для каждого i, l&i&n, предложение С( содержит литерал но не содержит дополнений никакого другого литерала из В и никакого литерала из любого предложения С;, /#:/.
Множество Sa={C\}U {8} будем называть конфликтом, а предложение
凡=(а-{74, 6—{]厶}С"—{](}, в-{^}) (56)
—— его гиперрезольвентой\ R& можно вывести из Sa.
В большинстве случаев к конфликту приходят только после подходящих подстановок. Иными словами, для заданного множества предложений Sa, не удовлетворяющего определению конфликта, может найтись такая подстановка л, что San будет конфликтом. В этом случае Sa называется скрытым конфликтом. Поскольку обычно в резолюции одновременно участвуют только два предложения, то она —— частный случай гиперрезолюции, и, таким образом, если пустое предложение ( ) выводится из S при помощи резолюции, то оно также может выводиться из S (возможно, даже быстрее) при помощи гиперрезолюции.
В качестве примера гиперрезолюции рассмотрим множество
f C^^Aix), P(a))
J & =仍(外)
Сз = (]Р®, Q(a, b))(5®
【В = (Л (a), 1P (I/), ~]Q(”), 4(c))
Подстановка 乳=(a/x, b/y) дает множество
(C/ = ( 】4(a), P(a))
C卢= (P(b))
= j c扒=(]p®, Q(q, 6))(576)
〔Вл = (A (a), ]P(6), 】Q(a, b), 4(c))
San ——конфликт с резольвентой
R“ = (P(a), IP®, 4(c)),(58)
и потому Sa — скрытый конфликт.
Гиперрезолюция является примером семантической стратегии. Это объясняется тем, что конфликт Sa может быть выполнимым для модели, содержащей только некоторые литералы, а именно хотя бы по одному литералу из каждого предложения конфликта, присутствующему в резольвенте конфликта. Таким образом, ре~ зольвента конфликта указывает путь, по которому можно исключить все модели.
72・3・ Стратегии, учитывающие ход вывода
0. Введение
Обсудим теперь более сложные стратегии, в которых допустимые резолюции определяются требованиями, налагаемыми на допустимые операции вывода для разрешаемых предложений. Стратегии, учитывающие ход вывода, довольно эффективны, так как позволяют выигрывать как в числе рассматриваемых резолюций, так и в объеме машинной памяти, необходимой для записи выведенных предложений. Если известно, что для некоторого предложения есть вывод, не удовлетворяющий требованиям, налагаемым на резолюции, допускаемые выбранной стратегией, то незачем хранить это предложение, поскольку оно никогда не понадобится в последующих резолюциях. На самом деле такая ситуация встречается часто. При использовании стратегий, учитывающих ход вывода, возникают трудности, связанные с эффективностью. Для того чтобы установить, пригодится ли конкретное предложение в резолюции, надо хранить в памяти информацию о том, как оно было получено. Это, безусловно, приводит к дополнительным затратам машинной памяти и машинного времени. При некоторых стратегиях предложение, годное для резолюции на этапе t процесса вывода, может не годиться для резолюции на этапе /+1. (Обратное неверно.) Это означает, что должна быть предусмотрена процедура „сборки мусора" для удаления из памяти предложений, которые стали не нужны. Даст ли это выигрыш, зависит от величины сэкономленной памяти и сложности вычислений, связанных со сборкой мусора.
Несущее множество
В большинстве задач доказательства теорем множество S можно разбить на два подмножества, одно из которых состоит из аксиом {С“ рассматриваемой системы, а другое——из отрицаний ] Т=
={ 7 Т»} тех предложений, которые надо доказать. Обычно бывает разумно предположить, что аксиомы внутренне непротиворечивы, т. е. что множество {С j выполнимо. Вос, Карсон и Робинсон (1965) доказали, что в этом случае при невыполнимости S можно вывести ()последовательностью резолюций, в каждой из которых участвует по крайней мере одно предложение из несущего множества^ т. е. такого множества, которому принадлежат
все предложения из {"] Г;} и
резольвента, если хотя бы одно из ее родительских предложений принадлежит несущему множеству.
Практическая польза применения стратегии несущего множества в том, что не нужно рассматривать резолюции, в которых участвуют только предложения из {&}・ Это полезно, потому что множество {&} часто бывает большим сравнительно с {^ Tj},
С понятием несущего множества тесно связано понятие наименьшего невыполнимого множества. Пусть S — невыполнимое множество предложений и S* 三S ——такое наименьшее подмножество в S, что S* невыполнимо, а любое его собственное подмножество S+uS* выполнимо. Тогда S* называется наименьшим невыполнимым подмножеством множества S. В общем случае S* не единственно, о чем свидетельствует следующий пример. Пусть Е, G и L — атомные высказывания без переменных. Положим S={(E, G, L), (1Е,・ ;G), (;£, 7厶),(Ю,~И),
(Е), (G), «)}. (59) Возможны следующие наименьшие невыполнимые множества:
S; = {(~]E, 1G), (£), (G)}
S: = {(1E, 1厶),(e),(厶)}(60)
S: = {(")G,1厶),(G),(厶)}
Заметим, что пустое предложение ( ) легко вывести из любого множества S:. К тому же, если задано S*, то любое предложение С 6 S; можно определить как несущее множество, поскольку все собственные подмножества наименьшего невыполнимого множества выполнимы.、
Линейный вывод
Стратегия линейного вывода сильно сужает число рассматриваемых возможностей. Ее еще одно преимущество состоит в том, что она приводит к довольно обозримым доказательствам. Пусть С° — любое предложение из наименьшего невыполнимого множества S*, а О, »>0,—зт。i-e предложение, выведенное последова-
тельностью резолюций, начавшейся с предложения С° и некоторого другого предложения из S*. Если 沁 предложение (i>0) вывода всегда имеет в качестве одного из своих родительских предложений (называемого левым) (г—1)-е предложение вывода, то вывод называется линейным. Проиллюстрируем метод выводом пустого предложения ()из множества основных предложений. Пусть
S = {(Q), (Р, R), (]Р, S), (I/?, S), (]Р, IQ, 1S), (]Q, 1R, 1S)}. (61)
Вот один из линейных выводов пустого предложения ( ) из S:
(IP 7Q,】s)・(Q)—(]Р, V)
(IP 】s)仍 R) — (R, is)
(R, IS).(ПР, S)—(仍 R)
(IP R)・(P, R) — (R)(R)・(]R, S)fS)3)
(S)・(7Q, 7R 7S)—(7Q, 7R)(7Q, 7R)・(Q)t(]R)
(】R)・(R) —()
Вывод (62) изображен в виде графа на рис. 12.6. Каждое предложение Cz имеет С— в качестве левого родительского предложения и В; в качестве правого родительского предложения. Каждое предложение Bz либо задано, либо В』。для некоторого /С/.
Стратегия линейного вывода, относящаяся к стратегии очищения, полна (Андерсон и Бледсоу, 1970) i) и потому может быть полезна при написании программ доказательства теорем. Интересно проследить, как программа, использующая такую стратегию очищения, приходит к выводу пустого предложения ( )• Предположим, что S — наименьшее невыполнимое множество. Тогда найдется по крайней мере один линейный вывод пустого предложения (),в котором участвуют все предложения из S, но нельзя узнать заранее, какой из них (если их несколько) приводит к () быстрее. К тому же не все линейные выводы, начинающиеся с заданного предложения, окончатся ( ), и заранее нельзя указать те, которые не приводят к ( ). В результате программе доказательства теорем приходится решать задачу поиска на дереве, аналогичную обсуждавшимся в гл. 10. Это отражено на рис. 12.7, где показаны связи между различными предложениями, выведенными такой программой. Корень дерева соответствует началу программы. Узлы, расположенные непосредственно под корнем, представляют
В этой статье описывается общепринятый и весьма полезный метод доказательства полноты стратегий.
Рис 12.6. Иллюстрация линейного вывода пустого предложения ( ) С^1 иВ^-1—соответственно левое и правое родительские предложения для CL Каждое пред-ложение В? либо задано, либо равно C^t /<Л
Рис. 12.7. Древовидная структура при использовании стратегии линейного вывода.Рис. 12.7. Древовидная структура при использовании стратегии линейного вывода.%р…"ё%р…"ё
Рис. 12.7. Древовидная структура при использовании стратегии линейного вывода.
Рис. 12.7. Древовидная структура при использовании стратегии линейного вывода.
%р…"ё
%р…"ё
различные предложения, которые могут играть роль С°, т. е, все предложения из наименьшего невыполнимого множества. Всюду в остальных местах дерева узлы непосредственно под узлом п представляют предложения, выводимые из предложения, представляемого узлом п, при помощи резолюции, в которой левое родительское предложение представлено узлом п, а правое либо задано, либо совпадает с некоторым предложением, соответствующий узел которого лежит между п и корнем. В любой момент программе достаточно рассматривать резолюции предложений, представленных (текущими) листьями, заданных предложений и предложений, лежащих между каждым листом и корнем. (На самом деле, как будет объяснено ниже, условия, налагаемые на допустимые резолюции, можно сделать еще более жесткими.) С другой стороны, в программе должно быть предусмотрено ведение соответствующих записей, позволяющих решать, какие резолюции надо проводить.
Доказательство с леммами
Метод, который мы изложим здесь, не удовлетворяет условиям линейного вывода. В нескольких словах, в методе доказательства с леммами объединяются две или несколько самостоятельных линий доказательства. Примером такого доказательства может служить вывод из (61) пустого предложения ():
Лемма / (口匕 口 Q, 口 S)・(P, R) 一(口 Q, R 口 S);
(7Q, R, 7S)・(iq, ir, ;s)—(iq, is);
(IQ, 】s).(q)tis);
Лемма 2(7 P, S)・(P, R) —(R, S);("
(R, S)・([R, S) —(S);
(S).(】S) —().
Соответствующий граф изображен на рис. 12.8. Заметим, что частные выводы независимо начинаются от нескольких исходных предложений, относящихся к S, а затем сливаются. Это напоминает абстрактное изображение работы резолюции на рис. 12.5. Обычно правила доказательства с леммами не столь ясны, как правила линейного вывода. Понятие об этом методе доказательства мы ввели в основном как альтернативу линейному выводу. С другой стороны, вывод (63) короче линейного вывода (62) и, значит, его можно считать „более изящным**. Но хотя часто линейный вывод оказывается более длинным, его легче реализовать на вычислительной машине. Например, для вывода (63) все же надо было прежде догадаться о том, с каких предложений начать, а это, как известно, плохо формализуется. Что же касается вывода (62), его легко осуществить весьма понятной машинной процедурой.
Совместное применение стратегий использованияподслучаев и слияния
Для дальнейшего уменьшения числа рассматриваемых в выводе резолюций и числа предложений, которые должны храниться в памяти, можно вместе с линейным выводом применять две стратегии очищения, называемые использованием подслучаев и слиянием. Объединение этих трех стратегий будем обозначать сокращенно с. т. л. (Для стратегии использования подслучаев не требуется линейность.)
Стратегия использования подслучаев уменьшает число резолюций, проводимых на каждом этапе вывода. Пусть О — только что выведенное предложение, a R — множество ранее полученных
(叫 1Q,1S)・(RR)(IRS),P,R)
I
(1O,R,1S)•(K?,1R,1$)(R,$) • (1R,S)
(1Q,U)・(Q)(S)
(U)
<)
Рис. 12.8. Структура доказательства с леммами для примера (63).
предложений, которые хранятся в памяти и участвуют в линейном выводе в качестве возможных правых родительских предложений. Таким образом, R三{О} для jvi. Левым родительским предложением для О* будет, конечно, О; а его правым родительским предложением В『должно быть предложение, выбранное из множества S U R* В стратегии использования подслучаев при невыполнимости S реализуется такой линейный вывод пустого предложения (), что всегда, когда В» выбирается из R, а не из S, получается предложение С'+1, представляющее собой подслучай предложения С7. Поэтому поиск кандидатов в правые родительские предложения можно ограничить множеством S и некоторыми предложениями из R, удовлетворяющими этому требованию. В частности, предложение В1 должно содержать только литералы, унифицируемые с литералами из О; за исключением точно одного литерала, который как раз и разрешается в резолюции и унифицируется с дополнительным к нему литералом из Cz. Предложения из R, не удовлетворяющие указанному выше требованию, не должны рассматриваться в качестве кандидатов на участие в резолюции. Таким об-
разом, для заданного предложения С『можно ограничиться соответствующим подмножеством в R.
Стратегия слияния дает способ уменьшения числа относящихся к R выведенных предложений, которые будут рассматриваться на следующих шагах. Предложение 9 будет результатом слияния предложений С』и Bf если существует литерал 厶,не разрешаемый в проводимой резолюции, который содержится в Cz и является подстановочным частным случаем двух литералов & и Л2» принадлежащих соответственно предложениям С『т и В~ Такой литерал L называется литералом слияния, а предложение слияния — это либо Cz, либо некоторый его фактор. Примером резольвенты, использующей слияния, может служить
Ci = (Q(/?, b), ~]Q (а, с), Q (/?, с))
B'^ = (Q(k, b), Q(a, с), Q(b, с)) (64)
O = (Q 他,历,Q(/?, с), Q® с))
Здесь Q(/?, b)—— литерал слияния. Хотя обозначения в этом примере относятся к линейному выводу, идея слияния столь же успешно может применяться и в доказательствах с леммами.
Андерсон и Бледсоу (1970), доказав следующую теорему, показали, что слияние, использование подслучаев и линейный вывод можно объединить.
Теорема. Пусть S — наименьшее невыполнимое множество предложений. Тогда существует линейный вывод пустого предложения (),начинающийся с любого предложения С=С° WS и такой, что на каждом его шаге (i+l)-e правое родительское предложение В' либо задано (8, € S), либо совпадает с некоторым выведенным на предыдущих шагах предложением слияния. В последнем случае разрешаемый литерал является каким-то литералом слияния, а резольвента C『+i —— подслучаем для левого родительского предложения
В теореме утверждается, что в качестве первого предложения линейного вывода программа может выбирать любое предложение CgS при условии, что S—наименьшее невыполнимое множество. Этому требованию нетрудно удовлетворить, поскольку если несущее множество ~] Т известно, то обычно можно гарантировать, что
丄)В формулировке теоремы автором допущена неточность. Правильнее было бы закончить теорему так: «В последнем случае результатом проводимой резолюции является резольвента Ci + 1t представляющая собой подслучай своего левого предшественника С‘ и состоящая тем самым, в частности, из литералов слияниям. —Прим, перев.
1Т входит в любое наименьшее невыполнимое подмножество. Поэтому вывод и начинается с некоторого предложения из ] Т. Выведенное предложение С» записывается в память, только если оно — предложение слияния. Наконец, при поиске выведенного предложения для проведения резолюции с предложением С7 можно ограничиться предложениями C^jd), которые содержат (а) литерал слияния, унифицируемый с атомом соответствующего дополнительного к нему литерала из О, и (б) только другие литералы, унифицируемые с литералами из С'. Таким образом, условие осуществимости стратегии использования подслучаев будет выполнено.
.3.8. Пример из теории групп
Рассмотрим работу стратегии очищения с. п. л. на примере доказательства следующего факта из теории групп:
Теорема. В любой ассоциативной системе, 6 которой все уравнения вида s・%=p u x・t=y имеют левое и правое решения s и t, существует правый единичный элемент 】).
Доказательство. Применим стратегию с. п. л. и воспользуемся понятием несущего множества. Как и в стратегии упорядочения, здесь будут предпочитаться предложения с меньшим числом предикатов. Это включает в себя и предпочтение одночленов. Указанные стратегии определяют выбор предложения С°, с которого начинается вывод, и последовательно на каждом шаге они ограничивают множество резолюций. Наш способ доказательства наглядный, но есть другие, более короткие и более изящные (см., например, Слейгл (1971)).
Первый шаг доказательства состоит в формализации рассматриваемой задачи. Пувть Р(х, у, z) — предикат ”尤・y:=z“. Множе-
Кратко поясним эту теорему тем, кто не знаком с теорией групп. Рассмотрим множество N и такую операцию •, что для любых %, //CN элемента-//-/также принадлежит N. Потребуем, чтобы существовали элементы s, f£N, для которых 8*х=у (левое решение) и %・/=у (правое решение). Условие ассоциативности означает, что х*0/*г)=(х-у) *г для всех х, у, z£N. В доказываемой теореме утверждается, что существует такой элементe^N, что %・е=% для всех x^N. Этот элемент и называется правым единичным элементом. Пусть, например, N будет множеством вещественных чисел, а • обозначает умножение. Ясно, что левое н правое решения существуют, поскольку для любой пары вещественных чисел (爲 у} числа У'Х~Г и Х'у~х также вещественны. В этом случае правым (н левым) единичным элементом является 1, поскольку х*1=(1 *х)=х. Если • обозначает сложение, то единичным элементом является 0.
ство S определим так:
,Cl = (P(g (х, у), х, у)) g(xf у) —левое решение для пары (х, у). Если s-x = yt то s = g (居У)・
С2 = (Р (х, h (х, у), I/)) h(xt I/) —правое решение.
Сз = (】Р(х, 9, W). ~]P(y, Z, и) 1 Р(Х, V, W), Р (〃,2, ш))С& = (~] Р (%, у, х))Сз = (】Р(х, 9, W). ~]P(y, Z, и) 1 Р(Х, V, W), Р (〃,2, ш))С& = (~] Р (%, у, х))Условие ассоциативности.
Сз = (】Р(х, 9, W). ~]P(y, Z, и) 1 Р(Х, V, W), Р (〃,2, ш))
С& = (~] Р (%, у, х))
Сз = (】Р(х, 9, W). ~]P(y, Z, и) 1 Р(Х, V, W), Р (〃,2, ш))
С& = (~] Р (%, у, х))
(65)
В более понятной форме это предложение выглядит как ^х • у = и} /\ {у • г = v) /\ (х • V = =5))n(〃・Z = 5).
Не существует элемента д & N、 для которого х・р = х. Отрицание утверждения теоремы.
Анализируя этот пример 】),мы должны будем так делать подстановки в предложениях хну, чтобы не возникало неоднозначности в обозначениях. Будем обозначать переменные х, g, z во всех левых родительских предложениях С через хп %2» х3 и т. д. Эти же переменные во всех правых родительских предложениях В будут обозначаться уъ Уз и т. д.
Поскольку С4 ——отрицание утверждения доказываемой теоремы, то {&} — несущее множество. Пусть с. п. л.-вывод начинается с предложения С°=С4. Вывод будет линейным, так что можно применить стратегию несущего множества. Переименуем переменные:
с』(7Р(/,力,/))•(66)
Сначала попытаемся унифицировать С° с одночленами & и С2; это не удается. Затем в качестве 8° возьмем С3, переименовав переменные:
BQ^QP(y4t %, %), 】Р(у» 玖,%),1Р(%,%,Уз),
Р(У1‘ 勿,%))• (67)
Единственным кандидатом на участие в резолюции является в 8° самый правый литерал; Подстановка
n=仇/x2, Уе/хu %/勿)(68)
и разрешение приводят к
0 = ( 7 Р®,弘,%), IP (弘,勿,%), 】Р®4, %,%))• (69)
Целый ряд выражений и утверждений данного раздела записан не совсем точно, и к приведенным ниже выкладкам следует относиться как к иллюстрации доказательства на интуитивном уровне.— Прим. ред.
Поскольку С — резольвента предложения С° и исходного, она не должна удовлетворять условиям стратегий использования подслучаев и слияния. Так как С1 ——левое родительское предложение, записываем его в виде
С1 = (7Р(/,芻,%), 1Р(%4, 4, %), "1Р(&, %, %))• (70) Теперь для упорядочения возможных резолюций с С1 применяем стратегию предпочтения одночленов. После переименования переменных предложений С\ принимает вид
&= (Р (g@, Уз), pi,勿)),(71)
что и определяет В1. Унифицируя С1 и 8】при помощи подстановки 值=(%/弘,/ %2, g(%,%2)/%3),(72)
получаем резольвенту
02 = (;Р(%4,招,xj, 7 p (g (尤4,尤2),尤1,%)),(73)
Меняя в ней индексы у переменных, окончательно находим
О = (]Р(%з,芻,巧),7P(g(&,心),%, %))•(74)
Но это не единственно возможная резольвента О, так как можно было бы получить другую резольвенту, разрешая С1 с В1—С3 и гем самым формируя другую ветвь линейного вывода, начинающуюся с С°=С4. Помня об этом, продолжаем прежний линейный вывод с (74). Последнюю альтернативу мы выбрали потому, что правило отбора предложений для участия в резолюции таково, что сначала пробуются предложения с меньшим числом литералов, а затем идет вывод с более длинными предложениями 】).Предложение С можно разрешить с Ci, беря его 2-й литерал в качестве литерала резолюции. В результате подстановки
п=(Хз/9и, х,Уз, Хз/厶)(75)
получаем
("]Р(”3,”4,%),"]P(g(%3,%2),/,^2)) ' (^ (^(У1» %),У it %))=
=(р(х3,%))=(76)
Заметим, что альтернативно 1-й литерал предложения С2 можно было разрешить, используя Вг—С^ Мы не будем рассматривать эту альтернативу, а просто на рис. 12.9 укажем возможность другого хода доказательства. Продолжая с (76), находим, что Сд можно
разрешить с В3===С2. После смены индексов у переменных предложения 爲 и подстановки
值=(%1g用仪1,/)/尤2,匕回2)(77)
получаем резольвенту
(С派)・(B3ji) = (IP(%,用(修,xj, %))x
х(Р(/,用(修,巧),/)) = ()• (78) Теорема доказана. Последний шаг вывода соответствует нижней части левой ветви дерева, изображенного на рис. 12.9.
Рис. 12.9. Дерево с. п.л.-вывода пустого предложения иля задачи (65).
12.3.6. Стратегии исходных данных
Чтобы завершить обсуждение стратегий, учитывающих ход вывода, исследуем более подробно стратегию исходных данных, которая уже упоминалась ранее. Стратегия исходных данных дает доказательство, в котором по крайней мере одно из родительских предложений в каждой резолюции задано. Стратегия исходных данных не полна, но обладает интересными теоретическими свойствами. Ченг (1970) доказал, что стратегия исходных данных проходит тогда и только тогда, когда проходит стратегия предпочтения одночленов. Это позволяет „построить мост" между подходом к решению задач в пространстве состояний (гл. 11) и подходом формального доказательства теорем. Мы покажем, что стратегия ис-
ходных данных всегда проходит для задач, допускающих интерпретацию в пространстве состояний. Сформулируем это более четко: любую задачу, которую может решить программа типа GPS или FDS, можно рассматривать как вывод пустого предложения ()из множества S с помощью стратегии предпочтения одночленов или стратегии исходных данных.
Любой оператор программы GPS или FDS можно записать в виде
%f S/,(79)
где Sj н Sj ——правильно построенные выражения, возможно, содержащие функции или переменные. Пусть S(x) означает „х — состояние (цепочка), выводимое из условия решаемой задачи**. Задачу в пространстве состояний можно интерпретировать так: „Задан предикат S (s0); с помощью имеющихся продукций (аксиом) доказать выводимость S (sJ. Если мы хотим сохранить ограничение, что на каждом шаге решения задачи продукции должны применяться только к цепочке, полностью описывающей состояние, то продукцию s»f S/ можно интерпретировать так: „Если 加一выводимая цепочка, то ㈠——также выводимая цепочка*4, т. е.
S(”nS(s/ (80)
или в дизъюнктивной форме
("]S(”),S(s」))・(81)
Однако оператор s0->s^ надо трактовать по-иному. В соответствии с принципом резолюции это утверждение следует доказывать, показывая, что ( ) можно вывести из множества S, содержащего предложения вида (80), полученные согласно продукциям, и отрицания предложений, выведенных из s0->s^. Отрицанием является (S (s0))* ("1S (s/), так что несущее множество — это {(S&)), (”(%))}・
Для иллюстрации разберем простую задачу из элементарной алгебры. Даны правила переписывания (продукции)
R1:х + у-^у + х(82)
R2:% + (f/ + z)-^(无 + 幻+2(83)
Требуется доказать, что правило R2 симметрично, т. е. справедливо правило
R3:(% + y) + z—► х + (^ + ^)'(84.)
Если подойти к этому как к задаче переписывания цепочек, решением будет
(x + y) + z
—> z + (x + y)
T(i/ + z) + x TX + ® + %)
начальное состояние
no RI
n0 R2(85)
no RI
по R2
по R1 целевое состояние
Запишем (82) и (83) в виде предложений, полагая /(х, у)~х+у:
& =( 7 s(〃“)),s(〃“)))
C2 = (-]S(/(%, f(y, г))), S(f(/(x, у), г)))()
Отрицание правила (84) имеет вид (С3*С4), где
Сз = ($(/(〃%, 9), z)))
& = ([S(f(x, f&, z))))(丿
и несущим множеством является {С3, С《}・ Выполняя соответствующие переименования, приходим к такому доказательству:
(S(〃〃%I,%), /)))•( IS (/(%, %)), S(/(%, %))) — — S(/(%3, /(%, %)))(88)
(S(f(%, f(%, &))))•(IS(f(f匂》{/J, у()
Этот вывод удивительно короток по сравнению с (85). Альтернативное доказательство с помощью резолюции можно было бы провести, реализуя шаги вывода (85) на простом устройстве. Пусть “s^f §i+i по правилу 々“ означает z-шаг доказательства с продукциями. Каждый такой шаг принимает вид
(L用> (7 L/h,厶打h)-(厶/+1 冗),(89)
где Ль Lt+i —— литералы, выведенные из Sj, s»+i без подстановки, так что 丄m=S(s) а второе предложение слева есть правилок в форме предложения. На первом шаге LQ=S (s0), т. е. Lo ——в точности начальное состояние. Последний шаг ——
(厶声),(7L产)一* (),(厶声),(7L产)一* (),(90)(90)
(厶声),(7L产)一* (),
(厶声),(7L产)一* (),
(90)
(90)
где
(口中)=([S%)),(口中)=([S%)),(91)(91)
(口中)=([S%)),
(口中)=([S%)),
(91)
(91)
т. е. "] L;n — отрицание целевого состояния. Поскольку в резолюциях вида (89) и (90) участвуют одночлены и исходные данные, существование доказательств при помощи стратегии исходных данных и стратегии предпочтения одночленов гарантируется. Но построение такого доказательства требует предварительного знания доказательства с продукциями. К тому же, как показывает пример (88), доказательство с резолюциями, построенное по доказательству с продукциями, вероятно, не самое изящное из возможных доказательств, основанных на принципе резолюции.
Что случится, если убрать ограничение, требующее, чтобы на каждом шаге доказательства с продукциями оператор применялся ко всей цепочке? Ясно, что это нужно сделать, поскольку в наиболее интересных задачах бывает нужно изменять и компоненты цепочки. Можно по-прежнему переходить от продукций к исчислению предикатов, но это оказывается слишком утомительным. В самом деле, это приведет к рассмотрению бесконечного множества аксиом! Удаление же указанного ограничения нарушает соответствие между §г>> и S(Si)nS(>). Чтобы проиллюстркровать это, попробуем с помощью правила
R1:尤 + у—*р + х(92)
доказать, что
(a+b)+ (叶什("а)+ (d+c)・(93)
Очевидно, что это тривиально, если R1 можно применить к подцепочкам (о+Ь) и (c+d). Если воспользоваться упомянутым выше переходом к исчислению предикатов, получаем задачу, относящуюся к доказательству теорем:
,Ci = (~]S(/(x, у)), S(f(y, х)))
S = , Сг = (S (/ (/ (а, Ь), / (с, d))))
〔G = (1S(f(f(b, а), f(d, с))))
Попытки решить эту задачу должны убедить читателя, что для вывода пустого предложения ( ) (94) не годится, поскольку С\ нельзя разрешить с атомами терма j(/(a, b), / (с, d)).
В принципе рассматриваемая задача не представляет особой трудности, поскольку, если известно доказательство с продукциями, можно изменить аксиоматику решаемой задачи, добавив специальное предложение, описывающее все случаи применения продукции к подцепочке. Предположим, что мы сделали это для (94), добавив правило
& = (1 s (/ (〃х, у), г)), S (/(/ ®, х), г)),(95)
(96)(96)соответствующее продукции
(96)
(96)
R2:(x+y)+z-^ (y+x)+zt
которая есть не что иное, как частный случай продукции R1. После добавления (95) к аксиомам (94) находим решение (тривиальные подстановки опущены):
(S(f(f(。,b), 〃。,d)))) (S(〃f(b,吟 /(% d)))) (S(f(〃% d), f(bt а)))) (S(f(f(4 以〃瓦 а)))) (S (/ (/(b,。),〃4 c)))) ()(S(f(f(。,b), 〃。,d)))) (S(〃f(b,吟 /(% d)))) (S(f(〃% d), f(bt а)))) (S(f(f(4 以〃瓦 а)))) (S (/ (/(b,。),〃4 c)))) ()C5 = резольвента (C2, CJ Сб = резольвента (C5, CJ C7 = резольвента (C6, CJ C8™ резольвента (C7, CJ резольвента (C8, C3)C5 = резольвента (C2, CJ Сб = резольвента (C5, CJ C7 = резольвента (C6, CJ C8™ резольвента (C7, CJ резольвента (C8, C3)(97)(97)
(S(f(f(。,b), 〃。,d)))) (S(〃f(b,吟 /(% d)))) (S(f(〃% d), f(bt а)))) (S(f(f(4 以〃瓦 а)))) (S (/ (/(b,。),〃4 c)))) ()
(S(f(f(。,b), 〃。,d)))) (S(〃f(b,吟 /(% d)))) (S(f(〃% d), f(bt а)))) (S(f(f(4 以〃瓦 а)))) (S (/ (/(b,。),〃4 c)))) ()
C5 = резольвента (C2, CJ Сб = резольвента (C5, CJ C7 = резольвента (C6, CJ C8™ резольвента (C7, CJ резольвента (C8, C3)
C5 = резольвента (C2, CJ Сб = резольвента (C5, CJ C7 = резольвента (C6, CJ C8™ резольвента (C7, CJ резольвента (C8, C3)
(97)
(97)
Видимо, следует считать эту обобщенную формулировку подхода, использующего исчисление предикатов, иным способом представления усиленной системы продукций, основанной на исходной, ограниченной лишь продукциями, работающими с „целыми** состояниями. Логически мы сохранили соответствие между задачами в пространстве состояний и задачами в исчислении предикатов, решаемыми с помощью стратегий исходных данных и предпочтения одночленов 】).Однако расплата за это была велика как в практическом, так и в теоретическом отношениях. При обобщенной формулировке требуется либо знание контекста, в котором можно применять каждую продукцию, что и позволяет записать соответствующие предложения, либо наличие процедуры, порождающей при необходимости контекстно-зависимые предложения, имеющие вид (95). Не очень понятно, как удовлетворить первому условию без знания решения рассматриваемой задачи, найденного согласно заданным продукциям. Программа решения задач, которая получает на вход уже известное решение, на наш взгляд, не слишком интересна. Вместе с тем введение механизма порождения аксиом повлекло бы формирование счетного (а не конечного) множества S. К счастью, система вывода на основе резолюции обладает для счетных множеств аксиом (Слейгл, 1971) свойством полноты, так что наш главный метод остается непротиворечивым. Однако порождение большого множества предложений приводит к серьезным практическим трудностям. В общем случае переход от одной формулировки решения задачи к другой оказывается весьма сложным.
Именно это сделал Ченг (1970, стр. 706, упр. 10), формулируя некоторые из задач Куинлана и Ханта (1968) в виде задач исчисления предикатов первого порядка.
124 Синтаксические стратегии
0. Введение
Синтаксические стратегии — это процедуры выбора проводимых резолюций, основанные только на структурных свойствах участвующих в них предложений и не зависящие ни от значения истинности рассматриваемого предложения для конкретной модели, ни от его хода вывода. Примерами простых синтаксических стратегий служат предпочтение одночленов и исключение тавтологий. Поскольку синтаксические стратегии учитывают только те предложения, которые могут участвовать в резолюции, и, значит, нет необходимости хранения в памяти значительного объема информации, эти стратегии легко применимы. Кроме того, синтаксические стратегии часто хорошо сочетаются со стратегиями, учитывающими ход вывода, или семантическими стратегиями, и это дает дополнительное ограничение возможных резолюций с сохранением свойства полноты. Мы уже демонстрировали это на примере стратегий предпочтения одночленов и исключения тавтологий, которые по отдельности не дают полного очищения.
Различают две основные синтаксические стратегии очищения: A-упорядочение и С-упорядочение (Рейтер, 1971). В случае Л-упорядочения атомы в множестве S как-то упорядочиваются, а в качестве литерала резолюции выбирается атом левого родительского предложения с наибольшим номером. Л-упорядочение можно комбинировать со слиянием и линейным выводом; получающаяся в результате стратегия очищения, использующая слияние. А-упорядочение и линейный вывод (с. а. л.), обладает свойством полноты. Эта стратегия упрощает выбор предложений в линейном выводе, диктуя выбор литерала резолюции в случае, когда возможны два литерала. Дерево на рис. 12.9 иллюстрирует как раз такую ситуацию. Однако при Л-упорядочении приходится рассматривать довольно много резолюций. Вторая стратегия, предложенная Рейтером, С-упорядочение, кажется более ограничительной.
С-упорядочение
С-упорядочение также можно комбинировать со слиянием и линейным выводом; получающаяся в результате стратегия очищения, использующая слияние, С-упорядочение и линейный вывод (с. с. л.), обладает свойством полноты. В самом деле, С-упорядоче- ние предполагает линейность, так как при его определении различаются левое и правое родительские предложения. Пусть С — предложение из S. Обозначим через [С] предложение С с заданным на нем произвольным порядком литералов, а через [S] — множество таких упорядоченных предложений. Если предложение [С] порождается в линейном выводе ([С]=[СЧ, i>0), то пусть [С”“
и 仍1] будут его упорядоченными левым и правым родительскими предложениями с литералами предложения。-* расположенными в порядке £ъ ...,厶冗,Lr (где Lr=Lk+1, т. е. самый правый литерал левого родительского предложения является литералом резолюции), и с литералами предложения В『т в порядке Мъ ..., М^。 Ясно, что для Mi= "] Lr некоторого i (1&£久加).Тогда упорядоченное предложение Cz таково:
C'=(LLk, Mlt Mt_x, Mi + 1, AU, (98) т. e. литералы правого родительского предложения добавляются к литералам левого, при этом литералы резолюции, естественно, опускаются, а в случае повторения литералов сохраняются те, что расположены слева. Резолюция допускается только с самым правым литералом предложения С.
Проиллюстрируем С-упорядочение на примере
[S] = {(Y), (Z, X), (IX, Г), (Г, ]Z), (]Х, 1步,Ш, (]Z, 1 吃 7 У)}, (99)
где W, X, У, Z — произвольные константные атомы. На рис. 12.10 показан ход опровержения при помощи С-упорядочения. Заметим, что на каждом шаге предопределен литерал резолюции, так что уменьшается число возможных правых родительских предложений. С другой стороны, выводы, использующие С-упорядочение, как правило, длиннее доказательств, не удовлетворяющих С-упорядо- чению, поскольку в процессе вывода может понадобиться временно расширить предложение, чтобы удалить его самый правый литерал.
Вывод, изображенный на рис. 12.10, не удовлетворяет условию слияния. На рис. 12.11 изображен линейный вывод пустого предложения ()из того же множества предложений S, удовлетворяющий С-упорядочению и слиянию. Характерно, что такой вывод оказался длиннее, зато на каждом его шаге возможных правых родительских предложений было меньше.
Сикел и Хант (1973) расширили применение С-упорядочения, объединив его со слиянием, предпочтением одночленов, использованием подслучаев и линейным выводом. Для этого они переопределили стратегию использования подслучаев, потребовав, чтобы в предложении, являющемся подслучаем другого предложения, литералы этого другого предложения были расположены в том же порядке. Это было необходимо, чтобы в течение всего вывода сохранить С-упорядочение. Кроме того, они ввели стратегию абсолютного предпочтения одночленов, которая означает, что резолюцию с одночленами можно пытаться провести в любом месте вывода независимо от происхождения соответствующего одночлена. В частности, стратегия предпочтения одночленов получила приоритет перед линейной стратегией. Объединение слияния, переопределенной стратегии использования подслучаев, абсолютного
предпочтения одночленов и С-упорядочения привело к стратегии, обладающей свойством полноты. Интересно, что эта стратегия очищения теряет указанное свойство, если из нее выбросить абсолютное предпочтение одночленов. Стратегия, предложенная Сикелем и Хантом, наиболее полезна в ситуациях, когда объем памяти
№,iw<iy)№,iw<iy)WWT1Y)WWT1Y)口咤m口咤m(iz,-iu<irj(iz,-iu<irj0马1吗1У)0马1吗1У)(1 叱 1У)(1 叱 1У)(WHZ)(WHZ)Рнс. 12.10* Линейное опроверже- Рис. 12.11. Линейное опровержение нне при помощи С-упорядочения со слиянием при помощи С-упоря- для задачи (98).дочения.
№,iw<iy)
№,iw<iy)
WWT1Y)
WWT1Y)
口咤m
口咤m
(iz,-iu<irj
(iz,-iu<irj
0马1吗1У)
0马1吗1У)
(1 叱 1У)
(1 叱 1У)
(WHZ)
(WHZ)
лимитирован, так как она позволяет удалять из памяти предложение после того, как выведено предложение, для которого первое является подслучаем.
Семантические стратегии
0. Общие понятия
Если множество предложений S выполнимо, то при некотором присваивании значений истинности атомам в S все предложения в S также выполнимы. Любое конкретное присваивание значений истинности атомам называется моделью. Задача семантических стра-
тегий состоит в том, чтобы доказать невыполнимость S, показав, что не существует модели, при которой S выполнимо. Можно было бы указать взаимосвязь между исключением моделей и линейными стратегиями, учитывающими ход вывода (Лавленд, 1972), но объяснение было бы слишком техничным. Идею семантического доказательства мы проиллюстрируем эвристическим описанием процедуры доказательства теорем, впервые предложенной Хэйесом и Ковальским (1969). Прежде всего расширим понятие модели.
Пусть А={4} — множество элементарных высказываний в S и предложений, выводимых из S. В общем случае А будет бесконечным счетным множеством. Пусть L — множество литералов, выводимых из А, т. е. элементов множества А и их дополнений. Частичной моделью Mg множества S назовем подмножество множества L, не содержащее одновременно литерала и его дополнения. Потребуем, чтобы в случае, когда L g Mit модель Mt не содержала [Ln ни для какой подстановки л. Тогда частичная модель будет непротиворечивым присваиванием значений истинности некоторым литералам из L. Можно считать, что 心 определяет множество моделей М», элементами которого служат другие модели, включающие в качестве подмножества своих литералов все литералы из М» или литералы, полученные из них подстановкой. Для иллюстрации предположим, что
S = {(P(x), Q(a, g), ~]R(x)), (:Р(х), 1Q(x, f(x)), R (у))}.
(ЮО)
Атомы множества А являются подстановочными частными случаями множества {Р(х), QQ у), Q(%, f(x)), R ({/)}* Здесь А — бесконечное счетное множество, так как оно состоит из атомов вида QG,/(%)), Q(/(x), /(/(х))), Множество L состоит из элементов множества А и их дополнений, так что оно тоже бесконечно и счетно. Рассмотрим две неполные модели
М】 = {Р(а)}, М2 = {"]Р(а)}・ (101)
Пусть Mi — множество всех полных моделей, включающих 此 как подмножество, а М2 ——множество полных моделей, включающих тИ2 как подмножество. Поскольку атом Р(а) выводим из А, каждая полная модель должна принадлежать либо Мх, либо М2, но не обоим сразу. Ясно, что если некоторому предложению &, которое принадлежит S или выводится из него, Mi присваивает значение ложь, то оно будет ложным для любого элемента из Мх, и, значит, в Mi нет модели, для которой множество S выполнимо. Если найдется подобное предложение С2, которому М2 присваивает значение ложь, то это будет означать, что S невыполнимо.
Это и служит целью семантической стратегии очищения. Путем ”разумного" выбора резолюций разыскиваются модели для S, которые исчерпывают весь набор моделей (в смысле Mi и М2 для
рассмотренного только что примера) и для которых по крайней мере одно предложение принимает значение ложь. Для того чтобы продемонстрировать, как это можно сделать, определим специальные графы и приспособим их к доказательству теорем.
Определения
Дерево Т ——это множество узлов {п} с заданным на нем частичным порядком (>). Говорят, что узел 几» расположен непосредственно над узлом tij, если п;>и;. Обратно, узел и; расположен
непосредственно под узлом п^ Упорядочение определяется следующими правилами:
Существует выделенный узел пг, называемый корнем рассматриваемого дерева, для которого нет узла, расположенного непосредственно над ним.
Каждый узел, отличный от корня, имеет точно один узел, расположенный непосредственно над ним.
Если узел и; не расположен непосредственно ни над каким другим узлом, он называется концевым узлом дерева Т,
Рассмотрим любой узел nhi отличный от корня. Последовательность nr>Hi>n2>.. ->Hi>n;>.. .>nh называется ветвью к узлу nh.
Говорят, что узел nf расположен над (под) узлом nkt если он расположен непосредственно над (под) иА или непосредственно над (под) узлом %, расположенным непосредственно над (под) nh.
На рис. 12.12 изображено дерево
Т={А, В, С, D, Е, F, G}, Л>в, Л>С, 8>О, D>E, C>F, C>G. (102)
Семантическое дерево Т для множества предложений S получается в результате приписывания литералов узлам дерева Т по следующим правилам:
Пустое предложение ( ) приписывается корню дерева Т.
Пусть N—{«I,...,ftft} — множество узлов дерева Г, расположенных непосредственно под узлом 他 а В» — множество литералов, приписанных узлу и;. Значение истинности для В» интерпретируется как значение истинности конъюнкции содержащихся в нем литералов. Если Т — семантическое дерево, то дизъюнкция множества {BJ должна быть тавтологией.
Множество литералов, приписанных узлам любой полной ветви дерева, т. е. последовательности узлов от корня до любого концевого узла дерева 7\ должно содержать литералы из L или их дополнения. Таким образом, это множество представляет полное присваивание, или полную модель для S.
Л(х)мн)
5mWIBZy)B^ty)Wy)
a
①同启仇川伍国户麻川{34(*)户5(*,川(14{x);b^И
Рис. 12*13. Два семантических дерева для А= {/(%), 8(%(/)}.
Например, пусть S={(X (х)), (~| А (х)), (8(%, у)), (*|В(%, у))}. Тогда А={Л (х), 8(%, у)}. На рис. 12.13 показаны два семантических дерева для А. Дерево а получено упорядочением атомов в S и последующим приписыванием пустого предложения ( ) корню, 4 и ;4 — двум узлам, расположенным непосредственно под корнем, А2 и ]%2 — узлам, расположенным непосредственно под
узлами первого уровня, и т. д. Это дерево удовлетворяет определению семантического дерева, поскольку на любом уровне дизъюнкция присваиваний, относящихся к узлам, расположенным непосредственно под каким-то узлом, имеет вид (%V]4), а это тавтология. Более „кустистое'* дерево 6 также удовлетворяет определению семантического дерева, так как дизъюнкция присваиваний узлам, расположенным непосредственно под корнем, является тавтологией (ЛгЛ2V^r 1 ^2V ]力「42V ]力「]力2,・
Семантическое дерево Т называется конечным деревом конфликта для множества S, если для каждого узла п^Т и множества узлов {их, ..., nhi nh+1}, расположенных непосредственно под п, выполняются следующие условия:
Каждое множество В; литералов, приписанных узлу 〃刀 広运生 есть на самом деле единственный литерал L;.
Множество Bft+i литералов, приписанных узлу nft+b есть
B为+1 = {"}厶), i = i, *• •» 瓦(103)
Ни один из литералов, приписанных узлу, расположенному под и, не принадлежит множеству литералов, приписанных п.
()
{дк)}{^у}}{та ⑴,⑭便川}
Рис. 12.14. Конечное дерево конфликта А= {Л(х), В(х, д)}・
Конечное дерево конфликта для множества А={Л (х), В(х, у)} изображено на рис. 12.14. Заметим, что оно удовлетворяет требованию тавтологии для узлов, расположенных непосредственно под некоторым узлом.
Исключение моделейпри помощи конечных деревьев конфликта
С помощью понятия конечного дерева конфликта можно продемонстрировать тот факт, что для данного невыполнимого множества нет модели. Иными словами, любое множество S должно быть невыполнимым, если все модели, представленные последовательностями литералов от корня до всех концевых узлов семантического дерева, приписывают ему значение ложь. Последовательность литералов на пути от корня до любого другого (неконцевого) узла можно рассматривать как частичное присваивание,
или частичную модель. Например, возьмем самый левый концевой узел дерева, изображенного на рис. 12.14. Соответствующие литералы определяют модель
〃[ = {( )> Л(х)} = {Д(х)}.(Ю4)
Аналогично для модели
М尸{8(居 У)},(Ю5)
соответствующей центральному концевому узлу. Наконец, для самого правого узла получаем полное присваивание
Мз = {"|4(%),18(% У)}・(106)
Таким образом, все возможные модели для {Д (х), В (х, у)} принадлежат множеству
M=MjU 嶋U他.(107)
Если каждая из этих моделей приписывает множеству S значение ложь, то оно должно быть невыполнимым. Обобщим этот пример.
{1С(у)}(С^)}
< |4И){з%)} |14k), W.y)}
рис. 12,15. Включение рассмотренного конечного дерева конфликта в большее дерево.
Расширим множество атомов, включив в него С (у), т. е. переопределим множество
А={Д (х), В(х, g), CQ/)}.(108)
Дерево, изображенное на рис. 12.14, можно включить в большее конечное дерево конфликта (рис. 12.15). Отметим, что С (у) оказалось на месте пустого предложения ( ). Аналогично переопределяются модели 乂力 М* и Мз, чтобы включить литерал С 匂),поскольку соответствующий ему узел лежит на путях от всех концевых узлов к корню. Значение ложь для S, приписанное ему моделями Mi, M2 и M8, свидетельствовало бы, что множество S не может быть выполнимым ни при одной модели, содержащей С (у), но ничего не говорило бы о выполнимости S при моделях, содержащих ]С e).
Введем понятие „S терпит неудачу на узле /г“. Множество S невыполнимо, если по крайней мере одно предложение С W S принимает значение ложь при всех возможных моделях. Обозначим через Мп модель, содержащую дополнения ко всем литералам, соответствующим узлам, расположенным на пути от корня к узлу и, а через Ln —— множество этих литералов. Будем говорить, что предложение С терпит неудачу на узле и, если Ln содержит все литералы этого предложения. Ясно, что если С терпит неудачу на узле и, то С € S имеет значение ложь, и S невыполнимо для Мп, Это иллюстрируется самым правым концевым узлом дерева (рис. 12.15), для которого Ln = {C(y), ~| А (х), "| В(х, у)}. На этом узле потерпели бы неудачу предложения С (у) и ( j Л (х), ]6(居 у)). Заметим также, что L" должно включать в себя множество Lm литералов, соответствующих любому из /и узлов, расположенных над п. Поэтому любое предложение, терпящее неудачу на /и, также будет терпеть неудачу на п. Например, предложение С (у) потерпело бы неудачу на любом из правых концевых узлов (рис. 12.15).
Нас интересует самый высокий узел дерева, в котором S может потерпеть неудачу. Узел и назовем неблагоприятным для S, если найдется предложение С € S, которое терпит неудачу на и, но не терпит неудачу ни на одном из т узлов, расположенных над п. В противном случае узел п будет называться благоприятным для S. Предположим теперь, что S терпит неудачу на кор咤 ^то означает» что S невыполнимо при всех моделях, поскольку каждая модель соответствует некоторому узлу под корнем. Поэтому цель семантической процедуры — сделать так, чтобы S терпело неудачу на- корне. *о осуществляется в резолюции. Назовем и- узлом вывода, если п ——благоприятный для S узел, но все узлы и\ расположенные под ним, неблагоприятны. Если и —— узел вывода, то найдется предложение С, литералы которого содержатся в Ln и которое, возможно, не принадлежит S, но может быть выведено из S при помощи резолюции. Для того чтобы убедиться в этом, рассмотрим множество предложений
J С] = (/(х), 8(х, у)) 1 С2 = (С (х), 】8(х, у))
и соответствующее конечное дерево конфликта (рис. 12.16). Узлы 几1 и и2 соответствуют множествам
L1 = {*(尤),c (%), 5 (%, у)}
伍(%), С(х), 1В(х,力
и неблагоприятны для S, поскольку L】присваивает значение ложь предложению &, a L2 — предложению Са. Резольвентой & и & будет
С(х)).(111)
Литералы предложения С входят в модель, соответствующую узлу и; более того, предложение С совпадает с ней. Если в результате резолюции получается пустое предложение ( ), то, поскольку ()содержится во всех Ln, множество S должно быть невыполнимым.
Таким образом, семантическая стратегия вывода ( ) из S состоит просто в построении подходящего дерева. При этом исследуют имеющиеся предложения, чтобы провести резолюцию скрытого конфликта. Такая резолюция является выводом, в котором участ-
()
{4*)}{W*)}
Л——a{№)}口С⑺}
II内 A 仍仇川}{TB(r,y)( Y
Рис. 12.16. Часть дерева с неблагоприятными узлами пх, п2 и узлом вывода пдля множества S— {(Л(х), 8(%, y)}t (С(х), [8(%, д))}・
вуют предложение Со, играющее роль ядра, и множество сопутствующих предложений С={&}, где
&=(&, А,4)(Н2)
и каждое предложение &WC имеет вид
& = (%, Е^(ИЗ)
В (112) и (113) Со; и Ао — непересекающиеся множества литералов. Далее, существует такая унификация, что
D/П = ~|Е/П.(114)
Из множества скрытого конфликта можно вывести предложение С ==(Аол, С”叫…,СоЛл).(115)
Как и в гиперрезолюции, Ее не может появиться в предложении С;л, /=0=/, и ни один из литералов множества {0河} не может оказаться в множестве Со^л.
Приведем пример. Пусть
/ Св = (Р(х^, ~]Q(a, /), ~|Q(6, с))
S = ] Cj=(Rg,(?(弘,с))("б)
V С, = (R (a), Q (b, zj)
Подстановка
п=(а/л\, a/y2t 〃公,c/Zi)(117)
дает предложения
&冗=(尸(a), 1Q (а, с), ]Q(b, с))
&n = (RW,Q(q, с))(118)
C2n = (R (а), Q(b, с))
При помощи гиперрезолюции выводим предложение
e=(p (叫 /?(弘),R(a))(119)
и факторизуемегоподстановкой 8=(〃/弘):
C8=(P(q), R®)).(120)
Нарис.12.17показано соответствующеесемантическое дерево.
Сначала каждое предложение &п, 1 = 1,...,也,из (118) приписы-
Приписанное
вается концевому узлу и;. Литерал D»n также приписывается узлу 几ь Наконец, узлу nh+1 приписываются предложение Сол и литерал {~)£)»п=Е河}. Узел и определяется как узел, расположенный непосредственно над пи ..., nh+1. Построенное таким способом дерево удовлетворяет определению конечного дерева конфликта. Предложения Св, •… Ch терпят неудачу на соответствующих
13*
концевых узлах при условии, что множества Lf содержат необходимые литералы. Допустим, что это условие выполняется. Если & не терпит неудачу на узле и и ни на каком узле над ним, то узел п должен быть концом ветви, литералы Ln которой содержат литералы гиперрезольвентьг С. Более того, С — это или ядро, или сопутствующее предложение для последующей резолюции скрытого
[iGm,b)}[iGm,b)}(7〃q,b))(7〃q,b)){сть)}{сть)}
[iGm,b)}
[iGm,b)}
(7〃q,b))
(7〃q,b))
{сть)}
{сть)}
(G(ab))(G(ab))"奴切户g(3))"奴切户g(3))
(G(ab))
(G(ab))
"奴切户g(3))
"奴切户g(3))
aa
a
a
рис 12.18. Построение семантического дерева резолюцией скрытого конфликта: a — первый этап; б — второй этап.
конфликта. Цепочка таких резолюций оканчивается, когда выводится пустое предложение ( ), или, что то же самое, когда достигается корень.
Несмотря на сложность описания, эту процедуру легко осуществить, как, например, в следующем доказательстве простой теоремы о неравенствах (разд. 12.0). Здесь применяются также стратегии предпочтения одночленов и несущего множества. Пусть L(x, у), б(х, у), Е(х, у) обозначают соответственно xVy, Оу, %=у. Докажем, что ни для каких двух чисел а и & не может быть одновременно а>匕 и avb・ Исходное множество предложений та-
KOBO:
С\=(厶(х, у), G(x, у), Е (齡 у))
e2 =(1厶(%, у). 1G (居 y))
Сз =( 1 厶(丫,,)‘ "|£(x,У))⑵)
C尸(]E(x, у), 】G(% у))
C5 = (G (a, b))
& = (L (a, b))
Отрицанием утверждения теоремы является множество {С5, Св}. Это несущее множество и оно дает ядра. Сопутствующие предложения для этих ядер должны содержать дополнительные литералы, так что Ci можно не рассматривать. Возможными сопутствующими предложениями для С5 будут С% и С4. Поскольку они одинаковой длины, выбираем любое, скажем, С2. Резолюция скрытого конфликта предложения СБ с его единственным сопутствующим предложением приводит к
С产("I 厶(а, Ь))・ (122)
Теперь можно начать построение семантического дерева. Два сопутствующих узла и узел вывода изображены на рис. 12.18, а. Теперь уже С7 можно использовать для проведения резолюции скрытого конфликта. Действительно, знак и вид предиката определяет С7 как сопутствующее предложение для ядра С5, а, согласно стратегии предпочтения одночленов, С7 будет первым выбранным сопутствующим предложением. Затем можно построить простую резолюцию для константного случая (тривиальный случай резолюции скрытого конфликта):
(1厶(а, Ь)) •(厶(а, 6)) — ().
Таким образом, выведено пустое предложение ( ), что и опровер- гает S.
72・6・ Эвристика
0. Простые эвристики
Существует ряд практически полезных эвристических методов, в которых намеренно жертвуют полнотой, надеясь в большинстве случаев быстро получить решение. Как правило, эти методы просты и их достаточно будет перечислить. Однако метод, использующий аналогии, требует более подробного обсуждения.
В эвристике ограничения глубины временно ограничивают длину рассматриваемых выводов. Пусть fe>0 будет такой границей глу-
бины. Все выводы длины не более k проводятся до вывода длины й+1. В ходе поиска решения можно постепенно увеличивать 々. Тогда ограничение глубины вывода становится лишь незначительным обобщением известной эвристики полного перебора, специально приспособленной к доказательству теорем.
Методы, которыми пытаются минимизировать сложность выводимых предложений, можно считать эвристиками поиска, поскольку пустое предложение ( ) можно трактовать как наиболее простое возможное предложение, а методы, минимизирующие сложность, работают прежде всего с предложениями, в некотором смысле более близкими к ( ), чем другие предложения. Пусть 比 тип —— положительные целые числа. В эвристке ограничения сложности не рассматривают выводы из предложения, в котором вложенных скобок больше 例 число символов больше т и число литералов больше п. Если необходимо, значения этих параметров в ходе решения задачи могут меняться.
Аналогии
При решении задач путем аналогии замечается соответствие между задачей 4 и ранее решенной задачей В, и с помощью этого соответствия определяется путь решения задачи А. Однако каждому школьнику известно, что существование аналогии еще не означает, что решение задачи В „похоже** на решение задачи Л, но если можно показать, что предложенное решение верно, то не важно, как оно возникло. Практическое применение математиками аналогии довольно полно исследовал Пойа (1954). Есть ли возможность приспособить этот мощный метод к механическому решению задач? Об одном из подходов применения аналогии мы уже говорили. Это программа Гелернтера, в которой машина при построении доказательств существенно использовала рисунки. Клинг (1971) предложил совсем иной способ учета аналогий в доказательстве теорем с помощью резолюции. Этот подход выражает программа ZORBA, уже успешно доказавшая ряд задач из современной алгебры, комбинируя аналогию и резолюцию. В программе ZOR ВА для обнаружения аналогии приходится просматривать много частных случаев. Мы не будем здесь пытаться объяснить работу программы. Вместо этого продемонстрируем принятый в ней подход на простом примере } где участвует большинство процедур программы ZORBA (возможно, не совсем так, как их использовала бы сама программа).
В каком смысле рассуждения по аналогии применимы к доказательству с резолюциями? Вообразим некоторую программу,
Это модификация иллюстративного примера, который придумал Майкл Делей для одного из учебных семинаров.
работающую на принципе резолюции, цель которой — показать, что определенные утверждения следуют из очень большой базы данных D. Прямой способ доказательства состоит в том, чтобы определить Т как отрицание доказываемого утверждения и затем, получив пустое предложение ( ), убедиться, что множество D U Т невыполнимо. Во многих интересных случаях (например, в диалоговых дедуктивных системах) база данных D будет очень большой и в ней будет такое неизвестное подмножество SuD, что SUT окажется невыполнимым. Может случиться так, что хотя задача опровержения S U Т осуществима, попытки опровергнуть непосредственно D U Т приведут к необходимости рассматривать много „непродуктивных4' выводов, которые не окончатся пустыми предложениями (),но отнимут время. Поэтому желательно было бы знать какой-нибудь способ обнаружения нужного подмножества S, прежде чем начинать резолюцию. Предположим, что у нас есть решенная ранее задача Т*. Иными словами, устройство доказательства теорем „знаетн, что существует такое подмножество S* множества D, что S* U Т* невыполнимо и известен вывод из S* U Т* пустого предложения ( ). Можно ли установить отображение л предложений, участвовавших в опровержении Т*, в предложения из D, при котором л (S*)^D и л (S*) U Т невыполнимо? Если ответ на этот вопрос утвердительный, значит/ существует способ обнаружить S прежде, чем проводить резолюции для опровержения Т по аналогии с опровержением Т*. В этом смысле программу ZORВА можно считать устройством рассуждений по аналогии. Для изложения принципов работы программы ZOR ВА понадобятся два новых понятия.
Первое ——понятие семантического шаблона. Прежде чем программа ZOR ВА сможет начать работу, пользователь должен выбрать „аналогичную задачу" Т*. Помимо этого, он описывает семантический тип, или класс, каждого предиката и место его в применяемом языке. Например, в иллюстрации работы этой программы, к изложению которой мы приступаем, будут употребляться предикаты IN 的,也),AT (x8, %), DOING (хб> xe) и SICK(x7)x)- Они относятся к семантическим типам
положение^ {IN, АТ} состояние == {DOING, SICK} человек х8> %, %}(“3)
место ={修,尤4, хб}
Семантический шаблон атомного высказывания — это просто высказывание, в котором имена предиката и его аргументов заме-
Означающие соответственно «находиться внутри», «быть в определенном месте», «выполнять», «быть больным».— Прим, перев.
йены именами их типов. Таким образом, семантический шаблон предиката DOING (х5» %б) есть состояние Человек、место), а предиката SICK(%J — состояние (человек).
Второе понятие — описание предложения. Это множество признаков, которыми обладает предложение и которые относятся к виду вхождения предиката в предложение. Для произвольных предложения С и предиката Р предложение С обладает признаком pos (Р), если Р входит в С только в положительной форме, neg (Р), если Р входит в С только с отрицанием, и impcond (Р), если Р входит в С как в положительной форме, так и с отрицанием. Описание предложения (АТ (стол, х), j IN (контора, х)) имеет вид: pos (АТ), neg (IN). Говорят, что одно описание удовлетворяет другое, если второе является подмножеством первого. Два описания частично удовлетворяют друг друга, если они имеют непустое пересечение.
Теперь мы готовы приступить к обсуждению нашего примерах). В табл. 12.5 приведены предложения Ci—Св базы данных и отрицания доказываемых утверждений. Задача состоит в том, чтобы доказать, что „Джон не болен", предварительно ответив на вопрос: „Где Смит?". Для ответа на последний вопрос было взято отрицание „Смита нет ннгде" (Т; в табл. 12.5), и оно было опровергнуто:
Т; ( ] АТ (Смит, у))Не существует места у, где
бы мог находиться Смит (несущее множество)
&(]IN (Смит, контора))РезолюцияТ; сС3(124)
К?([DOING (Смит, работа))Резолюция氏工 сС2
&( )Резолюция& сС】
Этот вывод будет основой для аналогии. Построениеаналогии будет
происходить в три этапа. Сначала найдем отображение предикатов и термов задачи Т в предикаты и термы задачи Т. Затем с помощью этого отображения получим образы предложений, т. е. гипотетические предложения, похожие на предложения, участвующие в выводе (124). Наконец, в D ищем предложения, описания которых похожи на описания образов предложений. Если такое предложение отыскивается, его называют аналогом предложения в исходном отрицании, по которому построен этот образ. Для заданного исходного предложения может оказаться более одного аналога. Процесс продолжается до тех пор, пока для каждого предложения из Т* не найдется хотя бы один его аналог. После этого делается попытка опровергнуть Т»
Первый шаг —— найти отображение л0 задачи Т* в Т. Используя определенные выше семантические шаблоны, образуем множества
Таблица 12.5
Данные и утверждения задачи,для решения которой используются рассуждения по аналогии
ПредложенияCi (DOING(C^w/n, работа))С2 (~]DOING(x, работ% IN(x, ком- тора))С3 (~] IN(х, контора}, АТ(х, стол))&(1Ы(Джо«, контора))& (IINfx, ^ort/nop^г), DOING(x, ра- бота)Сб (1 DOING(x, работа), [SICK(x))ПредложенияCi (DOING(C^w/n, работа))С2 (~]DOING(x, работ% IN(x, ком- тора))С3 (~] IN(х, контора}, АТ(х, стол))&(1Ы(Джо«, контора))& (IINfx, ^ort/nop^г), DOING(x, ра- бота)Сб (1 DOING(x, работа), [SICK(x))базы данныхСмит работаетНекто работает в контореНаходясь в конторе, некто сидит за столомДжон в контореНаходясь в конторе, некто работаетНекто не работает, когда болейбазы данныхСмит работаетНекто работает в контореНаходясь в конторе, некто сидит за столомДжон в контореНаходясь в конторе, некто работаетНекто не работает, когда болей
Предложения
Ci (DOING(C^w/n, работа))
С2 (~]DOING(x, работ% IN(x, ком- тора))
С3 (~] IN(х, контора}, АТ(х, стол))
&(1Ы(Джо«, контора))
& (IINfx, ^ort/nop^г), DOING(x, ра- бота)
Сб (1 DOING(x, работа), [SICK(x))
Предложения
Ci (DOING(C^w/n, работа))
С2 (~]DOING(x, работ% IN(x, ком- тора))
С3 (~] IN(х, контора}, АТ(х, стол))
&(1Ы(Джо«, контора))
& (IINfx, ^ort/nop^г), DOING(x, ра- бота)
Сб (1 DOING(x, работа), [SICK(x))
базы данных
Смит работает
Некто работает в конторе
Находясь в конторе, некто сидит за столом
Джон в конторе
Находясь в конторе, некто работает
Некто не работает, когда болей
базы данных
Смит работает
Некто работает в конторе
Находясь в конторе, некто сидит за столом
Джон в конторе
Находясь в конторе, некто работает
Некто не работает, когда болей
Отрицания доказываемых утверждений
Г* (~|АТ(Си〃т, у))Смита нет нигде
(SICK (Джоя))Джон болен
атомных высказываний из Т* и Т. В нашем примере этот шаг тривиален, поскольку каждое из исходных утверждений содержит только по одному атомному высказыванию. Таким образом, этими множествами будут
S] = {АТ(С九〃/и, у)} шаблон положение (человек, место)
S2 = {S【CK(Джон)} шаблон состояние (человек)°?5)
Безусловно, могли встретиться и более сложные ситуации. Но мы не будем их обсуждать 】).
Как только такие множества определены, устанавливается отображение сначала шаблона в шаблон, а затем атомов данного шаблона в атомы другого шаблона. В общем случае пришлось бы находить и исследовать несколько отображений, но у нас есть только одно отображение. Оно включает в себя отображения предикатов и термов, но поскольку АТ (Смит, у)—>SICK (Джон), то покомпонентное отображение очевидно:
% = {АТ т SICK, Смит ^Джон}.(126)
Теперь найдем образы предложений. В опровержении (124) участвуют предложения
{Л, Ci, С2, Сз, Ri, RJ.(127)
Если для Т* и Т есть несколько различных шаблонов и для каждого из них несколько атомов, то процесс отображения атомов в атомы усложняется. См. Клинг (1971), где подробно излагается одна из таких ситуаций.
Отображение л0 можно применить к атомам только одного из них, а именно С& Это дает образ
力鼠 % (&) = (] IN (居 контора), SICK (%))(128)
с описанием neg (IN), pos (SICK). Из табл. 12.5 видно, что „ближе*4 всех к описанию предложения А3 описание предложения С5, которое также обладает признаком neg (IN). Поэтому в качестве аналога предложения С3 выбирается С5.
Далее расширим отображение л0 на большую область. Для этого рассмотрим два соответствующих друг другу предложения С5 и С3. Они содержат два новых атомных высказывания
IN (х, контора) и DOING (х, работа). (129)
Заметим, что одно из высказываний получено ранее при опровержении (124), а другое появилось из С5, т. е. из аналога предложения С8. Как и ранее, новые атомные высказывания группируются на основе сходства их шаблонов (что опять тривиально, поскольку к каждому из множеств относится по одному элементу), и отображение расширяется:
% = %U {INiDOING; контора<-► работа}. (130)
Отображение % можно применить ко всем остальным предложениям, участвовавшим в опровержении (124), и это позволяет получить новые образы:
4: ni(Cj) = (IN(4^0H, контора)) pos (IN)
4:%£) = (] IN(芻 контора), DOING(x, работа))
neg (IN), pos (DOING)(131)
ARp nf (/?!)= ( ~| DOING (Джон, работа)) neg(DOING) AR$:石(&) = ( 4 IN(〃%。% контора)) neg(IN)
Таблица 12.6
Предложение
Аналог(и)
G
& Q
叁
Ri
C?, C5
Затем в базе данных разыскивают предложения, описания которых пересекаются с описаниями их образов, и отбирают подходящие аналоги (табл. 12.6).
Аналоги составляют пробное множество S={C?, С3, С4, С5, Св}. Отметим, что множество л (S*)=S содержится в D, поскольку предложение G не входит в S. Множество n(S*)UT невыполнимо, как показывает опровержение
1 3 4 Бт R R R1 3 4 Бт R R R(SICK (Джон))Несущее множество, 7\
1 3 4 Бт R R R
1 3 4 Бт R R R
(~| DOING (Джон, работа)) РезольвентаТхсСв
(~| IN (Джон, контора))РезольвентаR3сСБ ( ^?)
()Резольвента凡сС4
Ясно, что S U Т не является наименьшим невыполнимым множеством, так что, хотя применение аналогии сделало опровержение более эффективным, все же максимум эффекта не достигнут. Так обычно и бывает.
Клинг (1971) использовал программу ZORBA для предварительного выбора предложений из большой базы данных, предназначенной для доказательства некоторых теорем современной алгебры. Он сообщает о весьма эффективном выборе данных, так как в большинстве случаев множество S содержало только одно или два ненужных предложения. Нет возможности оценить, насколько хороша “вообще" такая конкретная реализация рассуждений по аналогии, поскольку не ясно, как определить множество задач, которое хотелось бы считать достаточно общим. В самом деле, мы не можем сказать, насколько полезны аналогии в наших рассуждениях, даже как- то введя количественную меру их „полезностии. Ясно, что иногда метод аналогий работает хорошо; вместе с тем можно было бы построить бесспорные примеры неэффективного применения аналогий. Похоже, здесь есть два слабых места. Во-первых, пара задач, образующих аналогию, должна быть представлена программе пользователем (человеком). Точности ради отметим, что Клинг дал метод уточнения аналогии после того, как она предложена. Способности, возможно, как раз и заключаются в умении обнаруживать аналогии при решении задач. Вторую слабость можно считать более технической. В разобранном выше примере было только одно отображение и потому только одна аналогия. В общем случае может быть очень много отображений и аналогий. Методы работы с аналогиями разработаны и изучены недостаточно, чтобы можно было сказать что- нибудь существенное о правилах, ограничивающих поиск лишь полезными аналогиями. Не похоже, что такие вопросы будут поддаваться логическому анализу. Как и при сравнении различных эвристических методов и методов очищения, по-видимому, нужна информация, извлеченная из тщательно построенных экспериментов в области решения задач.
Кванторы
До сих пор неявно предполагалось, что каждая переменная связана квантором всеобщности, т. е. что она может принимать любое значение из своего множества значений. Часто приходится исследовать высказывания, относящиеся к квантору суи^ствования, т. е. утверждения, что при некотором х предикат Р (х) принимает значение истина.
Утверждения, содержащие кванторы существования, можно свести к утверждениям, содержащим только кванторы всеобщности, использовав для замены переменных, относящихся к квантору существования, сколемовские функции. Для этого сначала запишем в явной форме все кванторы, обозначая кванторы всеобщности и существования соответственно через (Vx)(P (х)) и (Зх)(Р (х)). Расширение на комбинации кванторов очевидно. Для доказательства утверждения, что для каждого значения 尢 существует некоторое значение у, при котором предикат Q (看 у) принимает значение истина. пишем
(V%)(刊)(Q (后 у))(133)
и выполняем следующий алгоритм:
Составить список L переменных, связанных квантором всеобщности. Сначала список L пуст.
Пусть Ci — рассматриваемое предложение и / — индекс использующейся сколемовской функции 戈力 Сначала положить /=1.
Удалить кванторы, начиная с самого левого и применяя в зависимости от необходимости правила (а) или (б).
Если рассматривается квантор (Ух), то удалить его и добавить % к списку L.
Если рассматривается квантор (Эх), то удалить его и заменить 汇 во всем предложении С; термом s“(尤> ..., %为),где %i, ... , xk — переменные, находящиеся в этот момент в списке L. Затем увеличить / на 1.
Для иллюстрации возьмем предложение
С7 = (Vx) (Уу) (Эг) (Уш) (Q (х,力 1Q ⑵ ш)).(134)
Кванторы (Yr), (Yy) удаляются без изменения предложения С7. Тогда L=(x,办 Квантор (Зг) заменяем во всем предложении на %1(Х,力
С, = (Уш) (Q(x, у), ~|Q(s”(x, у), ш)).(135)
Затем удаляется (V®), и С, принимает вид
Словами это можно выразить так:
Для всех значений %, у или Q (х, у) истинно, или существует функция %i(%, у) от %, у, значение которой таково, что Q (§71(%,У), 5)ложно при всех значениях ш.
Отрицание предложения с кванторами требует специального изучения. Рассмотрим высказывание с квантором всеобпщости:
Q (%) для всех х истинно.
Отрицанием его является высказывание с квантором существования:
Существует некоторое значение %, для которого ] Q (х) истинно.
Для того чтобы осуществить отрицание высказывания, относящегося к квантору всеобщности, квантор существования заменяют на квантор всеобщности, а отрицание применяют к самому высказыванию:
】("%) (Q (%))) — ((Эх) (1Q (х))).(137)
Обратная операция также справедлива. Высказывание
существует некоторое значение х, для которого Q (х) истинно имеет отрицание
Q (х) для всех 汇 ложно.
Символически это записывается так:
1((3%) (Q(x))) —((Vr)(-|Q(x))).(138)
Читатель, возможно, заметил, что это правило дает логическую основу для примера из разд. 12.6.1. Там мы задавали вопрос: „Где Смит?*4. Другая форма этого вопроса: „Существует ли некоторое место х, такое, что утверждение (АТ (Смит, х)) нстннно?". Формально мы стремимся получить ((Эх) (АТ (Смит, х))), или, что эквивалентно, опровергнуть ((Vr) (ВАТ (Смит, х)))ч Можно продемонстрировать такое рассуждение на примере (впервые предложенном Грином (1969)), очень похожем на пример из разд. 12.6.1. Пусть предикаты Р и W интерпретируются так:
Р (х) = человек^⑦
W (х, у) = / работает в 夕( 丿
Переменные % н у принимают значения из соответствующих пространств людей и мест их работы. Утверждается, что для каждого че- ловека существует место, в котором он работает (&), и что Джон —
человек (С2). Докажем (7\), т. е. что существует место, где работает Джон. Соответствующие предложения таковы:
С】=(Ух) (Эу) (1Р (х), W (х, у)) Каждый где-то работает
С2 = (Р (Джен))Джон —человек (140)
]7\= ] (%)(步(Джон, г)) Не существует места,
где работает Джон
Применяя правило отрицания, получаем для последнего предложения:
ПЛ-(Ух) (1 Г (Джон, %))(141)
Применяя правила исключения кванторов к предложениям Съ С2 и ]7\, получаем
'С] = (1Р(х),呼(х, su(x)))
S = { С2 = (Р (Джон))(142)
.~| Tj = ( ~| IV7 (Джон, z))
Применяя подстановку Л!=(Джон/х) к G н разрешая С^! с С2, получаем
C3=(W (Джон,员1(〃尤。浦))(143)
Пусть 冗含=(511(〃冗0切/2); разрешая С3 с 1Т1Я2, выводим пустое предложение ( ). Наше утверждение доказано.
Задачи, использующие равенства
Новые предложения получались до сих пор двумя способами: подстановкой и резолюцией. При резолюции пары предложений отображаются в новые предложения, а подстановка заменяет терм в предложении другим термом той же синтаксической формы. Иногда возникает необходимость заменить терм равным ему термом, который не является подстановочным частным случаем первого терма. Рассмотрим простой пример из элементарной алгебры. Положим /+(%, у)=х+у. При сравнении предложений
&=(Q (/+(&, b)))(144)
G=(1Q0+(b,a)))
у нас нет способа обнаружить противоречие, поскольку резолюция не допускает замены термов разных синтаксических форм. В гл. 11 отмечалось, что программы типа GPS и FDC могут легко решать такие задачи, применяя переписывание цепочек. Возможно, этот подход к решению рассматриваемой задачи естественнее, чем исчисление предикатов. Для других задач может оказаться верным обрат-
ное. В идеале хотелось бы иметь метод доказательства теорем, объединяющий преимущества обоих подходов. Можно было бы осуществить это двумя путями. Наиболее очевидный путь ——дополнить множество исходных аксиом решаемой задачи аксиомами, определяющими равенство. Практически это мало приемлемо, так как при этом увеличиваются длина и число предложений в утверждениях. Тем самым значительно увеличивается число резолюций, которые можно провести, но они на самом деле не ведут к доказательству. Второй путь ——включить в схему программы, использующей принцип резолюции, специальное правило вывода, которое должно применяться, когда возникает необходимость в операциях над равенствами. Чтобы это правило было совместимо с остальной частью устройства доказательства теорем, оно должно удовлетворять двум условиям: должно 1) работать с предложениями, в которых равенства выражены в виде атомов, и 2) быть операцией, превращающей два предложения в третье. Первое условие утверждает, что для выражения отношения равенства не нужны специальные типы данных, а второе гарантирует, что в ту же программу можно легко ввести механизмы применения как нового правила вывода, так и резолюции. Это специальное правило вывода, называемое парамодуляцией. было предложено с незначительными различиями несколькими авторами (Моррис, 1969; Робинсон и Вос, 1969; Сиберт, 1969). В основ* ном наше изложение следует формулировке Робинсона и Воса.
Пусть А, В и т. д. будут множествами литералов, а а,艮 丫 一 термами (т. е. константами, переменными или функциональными выражениями). В дополнение к обычному определению атомов и литералов (т. е. атомов и их дополнений) будем записывать атомы равенства в виде <х=§ (терм а равен терму §). Разумеется, к термам можно применять подстановку.
Правило парамодуляции
Если для заданных предложений G и С2=(а'—р\ В) (или С;= =(§'==а', В)), не имеющих общих переменных в общей части В выполняются условия
Ci содержит терм 6,
у 6 〃 а' есть наиболее общий подстановочный частный случай
(145)(145)J 6%, П尸(勿叫),1 a'%, %=(力似)
(145)
(145)
где Ut и ш; — переменные соответственно из а' а 6, то надо построить предложение CJ=Cinb а затем С\#, заменяя а на 0%2 для какого-то одного вхождения а в С;, которое произошло от Ь в Ci. Наконецt вывести
(146)(146)Сз = (С]#, Вл2).
(146)
(146)
Сама идея гораздо проще, чем ее формулировка. В простейшем случае множество В пусто, так что предложения, содержащие высказывания о равенствах, состоят из единственного атома, выражающего равенство. Таким образом, из заданных
а=(Q (а)),
С? = (а = Ь)
(147)
можно вывести
Cs-(Q (^))-
(148)
Несколько сложнее случай
С〔 ==Q( х),
& = (а= Ь)・
(149)
Подстановка л=(а/%) дает
C; = (Q (研),
& = (Q (匕))•
(150)
При одном применении парамодуляции подстановка а=Рля применяется к С; только один раз. Таким образом, если заданы предложения
& = (Q(x), Р(х)), eи,(⑸)
то одно применение парамодуляции с подстановкой nt==(a/x) дает
сначала
C^(Q(a), Р(а)),(152)
а затем или
& = (Q ⑷,Р(3),(153)
или
& = (Q(b),p(a))■(154)
Для получения же
& = (Q(b), P®)(155)
требуется повторное В более сложных
применение парамодуляции.
случаях парамодуляция проводится с непу-
стым множеством В. Рассмотрим пример, отражающий логику народных сказок. Докажем, что можно установить происхождение де-
вочки, назвавшейся принцессой. Пример математического характера можно найти в работе Робинсона и Воса (1969, стр. 140). Хотя наш пример можно считать необычным, он, в самом деле, нуждается в использовании отношений равенства для усиления исходных предложений из S. В табл. 12.7 приведены соответствующие определения и исходные предложения.
Таблица 12.7
Определения и предложения для иллюстрации вывода при помощи пара модуляции
Определения
齡у, 2
переменные, принимающие значения из
множества людей
А1 (х)х—человек
С (*)простолюдин
D (х)х—может почувствовать горошину под
двадцатью перннамн
х — k力一король
x = qх — королева
d (x, у)дочь х и у
¥=рх— принцесса
Исходные предложения и их интерпретации
& (Зх) (〃 (х))Существует мужчина
5 (北)E⑶)
Существует женщина
Сз (”)(% = &,力М (х), С (%))
Если х—мужчина и не простолюдин, то
& (W/) (f/ = % М (у), С®))
он король
Если у—женщина н не простолюдинка, то
& (d 他 g) = p)
она королева
Дочь короля н королевы—принцесса
& (。(р))
Принцесса может почувствовать горошину
С помощью метода, изложенного в предыдущем разделе, можно удалить квантор существования из предложений & и С2. Обозначим через h сколемовские функции; тогда
(156}(156}Ср (М (/J)厶一мужчина
(156}
(156}
&: (~]М (/2))/2 —женщина
&:亿=瓦 с (А))&:亿=瓦 с (А))&: (3 = 9, С (%))&: (3 = 9, С (%))Кванторы всеобщности в предложениях & и & можно опустить. Проводя резолюцию G с С8, а затем & с &, получаем
&:亿=瓦 с (А))
&:亿=瓦 с (А))
&: (3 = 9, С (%))
&: (3 = 9, С (%))
Л — король или простолюдин*
/2 — королева или про- ('
столюдинка
Затем осуществим парамодуляцию С7 и С〃 выполнив тем самым подстановку в равенство. Это даст
&:(d(“,q) = p, С (/J) Дочь королевы и "
есть принцесса или “一 простолюди н(158)
В результате парамодуляции С8 в С9 получаем
&о: (d (3/) = р, C(/J, С(/2)) Дочь Л и /2 есть прин- цесса или либо либо /2 относится к просто людинам(159)
Наконец, парамодуляция С10 в Сб приводит к предложению Си: (О ①(/】/)), С (%), С (厶))Дочь Л и /2 может почувствовать горошину или либо /\, либо % относится к простолюдинам(160)
Оно может служить тестом королевского происхождения.
/2・9・ Проблемы и будущие разработки
В области автоматического доказательства теорем отмечается значительный прогресс. Однако, несмотря на это, программы доказательства теорем, основанные на резолюциях, склонны порождать слишком много предложений и исследовать слишком много бесполезных путей. Легко указать задачи, для решения которых не хватает памяти и быстродействия существующих в настоящее время машин. Это натолкнуло на мысль применить для определенной области задач специфические методы (Хоуде, 1970) или использовать более ограничительные, хотя и не обладающие полнотой, правила вывода (Бледсоу, Бойер и Хеннеман, 1972). Последний подход напоминает известные методы (также не обладающие полнотой), применявшиеся в FDS, GPS и других аналогичных программах. Третья альтернатива, предложенная Робинсоном (1969, 1970, 1971), заключается в использовании исчисления предикатов высоких порядков, что позволяет обращаться со сложными отношениями более прямым путем, чем это допускают часто неуклюжие представления, ограниченные конъюнкциями дизъюнкций. С точки зрения программирования это меняет задачу, и вместо простых операций с большим числом высказываний выполняются сложные операции с небольшим их числом. В близком подходе Петржиковского (1973) принцип резолюции распространен на Х-исчисление; это позволяет использовать переменные функции и имена предикатов.
Был предложен и совершенно отличный от упомянутых, нематематический метод. В принципе не плохо бы приспособить человека
для утонченных подсказок машине, доказывающей теоремы. Это вызвано тем, что обычно устройства доказательства теорем оказы- ваются^не в состоянии решить задачу из-за того, что слишком много „усилий*4 тратится на проведение определенной линии доказательства уже после того, как человеку „стало бы очевидна** невозможность найти решение на этом пути. Время от времени утверждается, что люди способны чувствовать обещающий подход к решению задачи, но пасуют при необходимости механически применять на каждом шаге правила вывода. Если это так, то комбинация человека и машины должна привести к системе с известным свойством: целое больше, чем сумма его частей. В ряде проектов делались попытки использовать эту идею, однако без большого успеха (Аллен и Лак- хэм, 1970; Гард, Оглсби, Беннетт и Сеттл, 1969; Грин, 1970). Такие проекты уводят нас от области искусственного интеллекта в еще более неопред еленную область человеко-машинного интеллекта. Защитники человеко-машинных систем должны ответить на следующие вопросы. Совершенно неясно, действительно ли (или при каких обстоятельствах) человек способен предчувствовать, что определенная линия рассуждения приведет к успеху 】).Гард и др. (1969), выполнившие, вероятно, наиболее обширные исследования в этой области, отмечают, что наблюдать за работой автоматического устройства доказательства теорем — это почти то же, что проникнуть в мысли сильного математика с нечеловеческим мышлением. Это можно увидеть, следя за ходом доказательств (безусловно, верных), полученных программой доказательства теорем. Тогда для построения человеко-машинной системы нужен язык, на котором могут общаться друг с другом эти две компоненты. Сомнительно, чтобы для этого был достаточен какой-нибудь общепринятый язык программирования, известный в настоящее время, хотя PLANNER и QA4 открывают интересные возможности. Наконец, наш собственный ограниченный опыт указывает на то, что инженерно-человеческий аспект такого взаимодействия становится весьма важным. В конце концов даже шум, производимый телетайпом, при решении вместе с машиной сложной задачи доказательства теорем может создавать серьезные трудности. Кроме того, необходимая психомоторная концентрация при наборе сообщений, которые приходится посылать вычислительной машине, мешает человеку следить за смыслом этих сообщений. Вовсе отсутствуют исследования, позволяющие оценить „человеческие факторы" в доказательстве теорем или вообще в математике.
Рассуждения о том, что человек, в самом деле, испытывает озарение, обычно «подтверждаются» различными историями о математических открытиях, сделанных очень одаренными индивидуумами. Мы, безусловно, признаем, что Гаусс, Лейбниц, фон Нейман и ЭЙ нштейн оф1адали способностью пробраться к сердце- вине задачи, но сохраняем скептицизм по поводу того, что средний математик сможет достичь похожих озарений, даже если он имеет доступ к достаточно мощной вычислительной машине.
Часть IV
ПОНИМАНИЕ
Глава 13
МАШИННОЕ ВОСПРИЯТИЕ
73“ Проблема восприятия
В качестве слуг человека ЭВМ имеют бесспорные недостатки, из которых наиболее неприятен тот, что хозяевам приходится разговаривать на языке своих слуг. Люди должны переводить свое понимание хаотического и неоднозначного окружающего их физического мира в строго организованные последовательности входных данных. Более того, человек вынужден писать указания машинам на неестественных языках, вроде Фортрана или Алгола, вместо легко понимаемых, хотя и неоднозначных, английском или русском. Древние римляне требовали, чтобы их греческие рабы разговаривали по латыни. Мы по сравнению с ними, по-видимому, сдали позиции.
Необходима машина с большими возможностями, которая могла бы понимать окружающий ее физический мир так же свободно, как и люди. Имеются два аспекта этой проблемы: машинное восприятие и машинное понимание. Не совсем еще ясно, где проходит граница между ними. В общих чертах при восприятии чувствующее существо организует свои ощущения физического мира в образы и формирует свое внутреннее представление внешнего мира, которое описывает „важные*4 отношения между этими образами. При понимании имеющееся внутреннее представление используется для получения некоторого выходного сообщения. Необходимые для этого действия могут включать сравнение своего внутреннего представления окружающего мира с реальными или воображаемыми мирами.
Человек узнает об окружающем физическом мире посредством своих пяти чувств: зрения, слуха, осязания, обоняния и вкуса. Зрение и слух являются наиболее важными каналами, и только они и рассматривались серьезно как возможные средства получения машинами информации. Создание ЭВМ, способной видеть и слышать, оказалось очень сложной задачей. И ни водной из попыток машинное
восприятие даже отдаленно не приближается к человеческому. Машинный анализ изображений ограничивался либо классификацией фотографий, что фактически больше представляет собой специализированную задачу распознавания образов (Розенфельд, 1969а, б) и не будет здесь рассматриваться, либо анализом очень простых сцен, вроде тех, что можно построить на столе из детских кубиков. Проблемы, связанные со зрительным восприятием, в самом деле,
б
Рис. 13.1. Неоднозначность, возникающая при рассмотрении прямоугольного объекта под углом Рисунок также иллюстрирует, как трехмерная сиена проектируется на двумерную плоскость изображения: а — плоскость изображения; 6 — получаемое на этой плоскости изображение.
трудно разрешимы. Машинное восприятие речи почти так же малоуспешно. Наши успехи в этой области сегодня лишь незначительно напоминают то, что обычно показывают в научно-фантастических фильмах, рассказывающих об ЭВМ, исследующих джунгли или ремонтирующих космические корабли.
Причина, по которой машинное восприятие столь ограничено, совсем проста. Изображение на сетчатке неоднозначно представляет внешний физический мир. Вообразим наблюдателя, разглядывающего из окна прямоугольную печную трубу, расположенную под углом к линии зрения (рис. 13.1, а). Ретинальный образ на задней стороне глазного яблока имеет форму трапеции, „лежащей на боку" (рис. 13.1, б). Наблюдатель обрабатывает и правильно интерпретирует зрительный сигнал как прямоугольник, на который смотрят под углом к его плоскости, поскольку наблюдатель “знает", что в За-
падной Европе печные трубы обычно имеют характерную прямоугольную форму. Суть в том, что входная визуальная информация должна интерпретироваться в терминах того, что мы знаем о мире.
Похожие явления можно наблюдать при восприятии звуковых сигналов. Каждый водитель может узнать звук сирены автомобиля скорой помощи, движущегося навстречу (при этом высота и амплитуда звукового сигнала увеличиваются) или движущегося от него (при этом высота и амплитуда звукового сигнала уменьшаются). Воспринимаемый звуковой сигнал интерпретируется на основе предположения, что движущийся автомобиль издает постоянный сигнал. Такой же меняющийся звук мог бы производиться стационарным источником, но мы “знаем", что в данном случае этого не может быть. И снова наше знание окружающего физического мира используется для построения разумной интерпретации человеческих ощущений. Многие психологи считают главной чертой всего восприятия нашу способность находить определенные внутренние модели, позволяющие реконструировать полученный сигнал. Но как запрограммировать такой процесс в вычислительной машине? Это удастся сделать, только если будет найден способ хорошего представления внешнего мира в машине.
/3./. Зрение
0. О невозможности видеть
Представим себе робота (в некотором роде циклопа) с телевизионной камерой вместо глаза. Робот наблюдает сцены, совокупности трехмерных объектов, рассматриваемые с некоторой точки. Однако камера передает роботу лишь двумерный образ, получающийся в результате прохождения лучей от объектов рассматриваемой сцены к линзам камеры. Построение образа, а также его неоднозначность показаны на рис. 13.1. Некоторый объект рассматриваемой сцены представляется в соответствующем образе совокупностью точек, в которых отрезки прямых от линз к этому объекту пересекаются с плоскостью, перпендикулярной оптической оси камеры. Задача зрительного восприятия состоит в восстановлении сцены по заданному образу. В этом разделе мы приведем некоторые доводы, свидетельствующие о неразрешимости этой задачи. Безусловно, читатель сразу же возразит, сказав, что такого рода аргументы не могут быть правильными. Ведь задача анализа сцен стоит как перед людьми, так и перед роботами, и люди решают ее. Это верно, а также верно и то, что неявная цель любого проекта по машинному зрению —— достичь способности воспринимать окружающий мир, по крайней мере близкой к человеческой. Однако ни одна из существующих сей-
час вычислительных систем не подходит даже близко к человеческим характеристикам восприятия. Почему?
В качестве начального подхода можно было бы рассматривать анализ сцен как специальную задачу распознавания образов, в которой зрительные образы классифицируются как эквивалентные, даже если они являются различными изображениями одной и той же сцены. Такой подход не приводит к хорошим результатам по причинам, частично объясненным выше при обсуждении проблем распознавания образов. Сцена, рассматриваемая с различных точек, определяет класс эквивалентности относительно вращения в трехмерном пространстве, и поэтому соответствующая задача распознавания относится к теоретико-групповой классификации. Как показал Ватанабе (1971), решение такой задачи с использованием имеющихся в настоящее время методов распознавания образов весьма затруднительно (см. также обсуждение этого вопроса в гл. 7). Более того, анализ сцен требует от нас способности выделять составляющие их компоненты. На языке распознавания образов это означает, что мы должны быть способны распознавать различные двумерные предметы, которые могут получаться в результате проектирования трехмерных объектов на плоскость изображения. Обычно сцены содержат более одного объекта. Поэтому робот должен быть в состоянии распознать некоторый объект среди совокупности других объектов. Минский и Пейперт(1969) доказали, что линейное устройство параллельной классификации этого сделать не может. На основе этих двух замечаний мы должны согласиться, что анализ сцен, по-види- мому, должен быть весьма сложным.
Необходимость в более сложном алгоритме противоречит другому требованию, предъя вл я емому к процедуре анализа сцен — скорости. Непосредственное количество информации, с которым приходится иметь дело в машинном зрении, огромно. Высококачественная телевизионная камера передает изображения, описываемые значениями яркости в 1024Х1024 различных точках. Каждая точка в изображении обычно определяется в трехбитовой шкале яркости. Цветное зрение было бы, конечно, еще более сложным. Предположим теперь, что камера передает 30 изображений в секунду. (Это чуть больше скорости, ниже которой большинство людей воспринимали бы мигание. Обычная скорость ——пятьдесят кадров в секунду.) В этом случае входные данные необходимо было бы передавать со скоростью 3x30x10243 или около 108 бит в секунду. Подробная обработка входной информации в реальном времени, поступающей с такой скоростью, едва ли осуществима любой вообразимой ЭВМ.
Существует еще и другая сложность. Несмотря на количество переданной информации, для описания наблюдаемой сцены она все же не достаточна! Этот факт известен уже давно и отмечался психологами, занимавшимися изучением зрительных иллюзий и константности восприятия (Дэй, 1972; Хохберг, 1971). Иллюстрацией к этой
проблеме может служить явление константности размера】). Размер изображения некоторого объекта на сетчатке изменяется обратно пропорционально с расстоянием от глаза до этого объекта. Однако для нас не трудно определить, что игрушечные автомобили, расположенные рядом с нами, все же меньше, чем настоящие автомобили, находящиеся на стоянке вдалеке от нас. Еще более потрясающий факт связан с тем( что мы можем делать удивительно хорошие оценки размера объекта при изменении расстояния до него. Люди осуществляют это, основывая свою оценку размера объекта как на размере ретинального изображения, так и на воспринимаемой величине расстояния. Если информация, необходимая для оценки расстояния, убирается, то эффект константности размера ослабевает и может даже исчезнуть. Вместе с тем, поскольку изображение объекта известного размера на сетчатке может служить определенной подсказкой для оценки расстояния до него. Эти факты весьма обыденны. Обсудим, однако, что они значат для восприятия робота. Восприятие сложных сцен по необходимости является процессом вероятностного вывода, основанного на имеющейся в зрительном образе информации и на предварительном знании определенных возможных свойств данной сцены. Это означает, что восприятие связано не только со сложной задачей обработки данных, но также с задачей информационного поиска. Как же можно проводить необходимые вычисления, если скорость получения входной информации очень высока?
Однако, конечно же, зрение возможно. Одна из причин этого состоит в том, что зрительный образ в значительной степени избыточен как в пространстве, так и во времени. Если известна яркость в некоторой точке зрительного образа, то значения яркости в соседних точках можно предсказать, если только рассматриваемая точка не находится на границе объекта или рядом с ней. Края изображения представляют собой совокупности точек, окрестности которых требуют тщательной обработки. Далее, когда число возможных объектов, предназначенных для идентификации, ограничено, требуется только очень грубая информация о границах. Для иллюстрации рассмотрим рис. 13.2. Чье это изображение — собаки, кошки или лошади? Скорее всего мы увидим в нем кошку. Фигура была получена линейной аппроксимацией границ изображения кошки на фотоснимке (Эттнив, 1954). Следует обратить внимание на два момента в этом примере. Во-первых, изображение не „очевидно** является кошкой, до тех пор пока вы не познакомились с перечнем возможных альтернатив. Во-вторых, если заданы эти варианты, то для идентификации требуется лишь самая грубая информация о краях фигуры.
1) См. Грегори Р.» Разумный глаз, изд-во «Мир», М., 1972.— Прим, перев.
Рис. 13.2 иллюстрирует пространственную избыточность. Временная избыточность еще значительнее по той простой причине, что мн живем в непрерывном мире. До тех пор, пока скорость поступления информации от камеры к ЭВМ велика по сравнению с движени-
Рис. 13.2. Кошка по Эттниву.
ем объектов в окружающей среде, имеется возможность предсказывать большинство зрительных образов в момент / по тому, что мы знали о нем в момент t—1. Поэтому второй путь экономии затрат по обработке информации заключается в том, чтобы проводить подробный анализ зрительного образа только тогда, когда этот образ существенно изменился по сравнению с предыдущим шагом.
Рнс 13.3. Схема машины зрительного восприятия.Рнс 13.3. Схема машины зрительного восприятия.Проверка синтезомПроверка синтезомизображениеизображение
Рнс 13.3. Схема машины зрительного восприятия.
Рнс 13.3. Схема машины зрительного восприятия.
Проверка синтезом
Проверка синтезом
изображение
изображение
Фактически наше обсуждение является наброском воспринимающей машины, схематически показанной на рис. 13.3. Машина состоит из четырех основных частей:
Входной препроцессор получает изображение. Этот препроцессор состоит из набора локальных операторов, сглаживающих входные данные, обнаруживающих края предметов в изображении и аппроксимирующих эти края прямыми. Такие локальные операто- рн играют роль детекторов признаков, упоминавшихся нами ранее
при обсуждении распознавания образов (гл. 8). Локальные операторы могут функционировать параллельно, независимо друг от друга, так что полное время, требуемое для этого шага, ограничено только временем работы самого медленного оператора. Поскольку препроцессор относительно независим, он может обрабатывать предъявленный образ, в то время как остальные части машины работают с предварительно принятыми образами.
Компаратор сопоставляет выходную информацию детектора признаков с его предыдущими выходными данными для того, чтобы определить, были ли какие-нибудь значительные изменения, и если да, то где. Определение „значительности** может меняться, что зависит от предыдущих идентификаций в сценах. Если не произошло значительных изменений, то компаратор просто записывает на месте старых данных, полученных от детектора признаков, новые.
Когда происходит значительное изменение, компаратор прерывает работу анализатора. Анализатор представляет собой весьма сложное устройство, характеризуемое значительным временем обработки данных, поступающих от детекторов признаков. Анализатор также имеет доступ к памяти, в которой содержится информация, описывающая типы предметов и объектов, которые чаще встречаются. Полезно интерпретировать анализатор как разновидность устройства, реализующего бейесовское решение. Учет каждого из признаков изображения можно рассматривать как эксперимент, результат которого меняет правдоподобие выбора определенной сцены в качестве объяснения этого изображения. Имеющаяся база данных обеспечивает необходимые вероятностные меры как априорного правдоподобия сцены, так и правдоподобия того, что некоторое наблюдаемое изображение порождается данным объектом. Отметим, что это не означает, что память должна содержать исчерпывающую информацию, определяющую этот предмет и полученную от рассмотрения каждого возможного объекта со всех возможных направлений. Все, что в памяти должно быть — это программа для вычисления изображения, которое было бы получено в результате наблюдения определенного объекта с некоторой точки.
После того как анализатор выбирает некоторую сцену в качестве интерпретации имеющегося у машины изображения, синтезатор вычисляет изображение, которое бы получилось от этой сцены. Это изображение сопоставляется с реальным изображением, получившимся после обработки его препроцессором. Интерпретация анализатора принимается, если сопоставление достаточно точное.
Эта модель представляет собой только набросок очень сложного процесса. Для построения полной модели зрения пришлось бы включить в нее обратные связи между анализатором и препроцессором и значительно углубиться в детали того, что компаратор должен считать важным изменением в образе. Также необходимо было бы учесть, насколько хорошо полученная модель соответствует извест-
ным фактам о человеческом зрении 】).Для наших целей это не потребуется. Представленная модель (рис. 13.3) достаточна для обсуждения особенностей машинного зрения.
13J.L Основные понятия машинного анализа сцен
Общие принципы машинного анализа сцен легко понять, и мы их здесь приведем. При этом опущено много технических деталей; для более подробного рассмотрения следует обратиться к книге Дуды и Харта (1973).
Наиболее примитивно сцену можно представить в виде матрицы, каждый элемент которой описывает значение яркости в некоторой точке изображения. Края в этом изображении можно обнаружить, отмечая множества связанных точек (т. е. линий), для которых имеет место разкий скачок в значении яркости. Поскольку используемые данные могут содержать шум, часто бывает полезным заменить полученные указанным способом „приблизительно прямые* линии прямыми. Такие операции осуществляются в отдельных областях изображения. Такого рода предварительная обработка осуществляется фактически в каждом проекте по зрению. Этот шаг будет называться выделением краев.
После выделения краев изображение представляется в машине списком прямых вместе с соответствующими узлами. В свою очередь узлы определяются проходящими через них прямыми и своими координатами. Для простых штриховых рисунков (например, для треков элементарных частиц в пузырьковых камерах) не требуется дальнейшего усовершенствования представления. В более сложных ситуациях необходимы понятия более высокого порядка, поскольку представляемые фигуры могут не определяться при помощи прямых. Чтобы показать это, рассмотрим две Т-фигуры на рис. 13.4. Для каждой из них в табл. 13.1 перечислены соответствующие прямые и узлы. Хотя человек сразу же распознает, что обе эти фигуры являются одной и той же буквой, ясно, что, если пользоваться только приведенной таблицей, потребуется сложный алгоритм для установления соответствия между двумя списками прямых. Есть подозрение, что люди осуществляют правильное распознавание в этом случае, продолжая до соединения прямые 7 и 3 области I „блочного Т“ (рис. 13.4, 6) и затем замечая, что отношение между прямыми в
„линейном Т“ соответствует отношению фрагментов I и II в „блочном Т“.
Рис. 13.4. Две Т-фигуры, линейная и блочная. Прямым, для удобства пользо- ваться табл. 13.1, приписаны числа и буквы. Пунктирная прямая не представлена в табл. 13.1. Ее объяснение содержится в тексте.Рис. 13.4. Две Т-фигуры, линейная и блочная. Прямым, для удобства пользо- ваться табл. 13.1, приписаны числа и буквы. Пунктирная прямая не представлена в табл. 13.1. Ее объяснение содержится в тексте.
Рис. 13.4. Две Т-фигуры, линейная и блочная. Прямым, для удобства пользо- ваться табл. 13.1, приписаны числа и буквы. Пунктирная прямая не представлена в табл. 13.1. Ее объяснение содержится в тексте.
Рис. 13.4. Две Т-фигуры, линейная и блочная. Прямым, для удобства пользо- ваться табл. 13.1, приписаны числа и буквы. Пунктирная прямая не представлена в табл. 13.1. Ее объяснение содержится в тексте.
Опустим вопрос о том, как принималось решение о продолжении прямых, и заметим, что в этом примере введено новое понятие области. Формально область образуется замкнутой циклически упорядо-
Таблица 13.1
Список прямых и узлов для рис. 13.4
ПрямаяУзлы, связанные с соответствующими прямыми
2 3 4 5 6 7 82 3 4 5 6 7 8S,D6T8 毋切6)7/V /tv (. /tv /tv /tv (.(S,D6T8 毋切6)7/V /tv (. /tv /tv /tv (.(^ ^- 45>^/7)盼|/I /\ (- /\ /\ /\ ( /\^ ^- 45>^/7)盼|/I /\ (- /\ /\ /\ ( /\
2 3 4 5 6 7 8
2 3 4 5 6 7 8
S,D6T8 毋切6)7/V /tv (. /tv /tv /tv (.(
S,D6T8 毋切6)7/V /tv (. /tv /tv /tv (.(
^ ^- 45>^/7)盼|/I /\ (- /\ /\ /\ ( /\
^ ^- 45>^/7)盼|/I /\ (- /\ /\ /\ ( /\
1
(』)
Фигура а
(В, 2, 3)
2
(В, 1
1, 3)
(С)
3
(8, !
1, 2)
(»)
ченной совокупностью линий. Неформально области соответствуют видимым частям поверхностей объектов в наблюдаемой сцене. Чтобы убедиться в этом, представим наблюдателя, рассматривающего два расположенных на столе детских кубика (рис. 13.5). Для осуществления вывода о сцене наблюдатель должен приписать каждую область соответствующей поверхности объекта и затем определить положение объектов сцены в трехмерном пространстве.
Прямые, узлы и области являются свойствами двумерных изображений; объединяясь, они образуют наблюдаемые предметы. Сцены состоят из объектов, основные элементы которых представляют собой поверхности, края и углы. Для простоты ограничимся объектами с плоскими поверхностями, если только не указано противное. В анализе сцен для восстановления трехмерной сцены из двумерного изображения используются определенные отношения между элементами изображения и сцены. Основным моментом в процессе восстановления является определение влияния формы объектов и их ориентации по отношению к наблюдателю на воспринимаемое изображение. Гузман (1968) первым предложил систематические методы использования этой информации. Его методы затем были обобщены другими, включая Клюса (1971) и Хаффмена (1971), построивших каталоги типов фрагментов изображений, которые можно получить из различных конфигураций узлов и отношений „впереди — по- зади**.
Край можно классифицировать как вогнутый или выпуклый в зависимости от того, связывает он две поверхности, выступающие в направлении наблюдателя или в обратном направлении. Это иллюстрируется рис. 13.6, на котором схематически показаны два наблюдателя, разглядывающие сцену, представляющую собой кубик, поставленный на другой кубик. Наблюдатель I видит выпуклый край в точке 1 и вогнутый в точке 2.
Рассмотрим теперь изображение этой же сцены, воспринимаемое наблюдателем II (рис. 13.7). Предполагая, что она состоит из параллелепипедов, можно считать, что узел Л образован углом, связывающим три грани, одна из которых не видна. Далее, наличие такого узла означает, что две видимые грани имеют общий выпуклый край по отношению к наблюдателю II, а два края между невидимой поверхностью и каждой из видимых могут быть как выпуклые, так и вогнутые (рис. 13.8, а). Далее, если такая интерпретация узла 4 верна, то должен существовать угол, который образует другой узел (рис. 13.8, б), расположенный справа и лежащий на прямой 3. (На самом деле эта точка не обязательно должна быть на прямой 3, поскольку последняя может быть прервана изображением объекта, лежащего на линии зрения (рис. 13.5).)
Рассмотрим теперь узел В (рис. 13.7). Такая точка, вероятно, не может соответствовать углу в сцене, состоящей из параллелепипедов. Поэтому ее можно интерпретировать как свидетельство того,
в
Рис. 13.5. Различные изображения одной и той же сцены, состоящей из двухдетских кубиков:。一 вид сверху; б — вид сбоку; 8 — изображение, восприни-маемое наблюдателем. Области А и В ——видимые поверхности кубика I. Области€, D и Е, F — части поверхностей кубика II.
Рис. 13.6. Два наблюдателя, разглядывающие сцену, в которой один кубик находится на другом. Край 1 выпуклый, край 2 вогнутый для наблюдателя I. а — вид сверху; б — вид сбоку.
Рис 13.8. Точка образована углом объекта (а). Это означает, что должнабыть еще одна точка (б).
Рис 13.9. Точка, образованная пересечением одной видимой и двух невидимыхграней объекта (все три края выпуклые).
что в этой сцене существует вертикальная грань, закрывающая далекий край грани Л (рис. 13.8, а). Эта интерпретация допускает узел (типа показанного на рис. 13.9) где-то на продолжении прямой 2 (рис. 13.8, а). Предполагаемый узел может быть невидимым, если имеется закрывающая его вертикальная грань, как это и случилось в рассматриваемом примере.
Следующий момент, который необходимо учесть, заключается в том, что определенные группировки рассматриваемой сцены предопределяют наличие определенных узлов в изображении. Несколько интерпретаций могут включать тот же самый узел, однако будет только одна интерпретация сцены, которая удовлетворяет всем узлам, если только изображение действительно однозначно. Программа может идентифицировать небольшое число узлов, строить гипотезу о рассматриваемой сцене и проверять эту гипотезу путем поиска в изображении узлов, содержащихся в интерпретации. Такой метод называется анализом %р〃 помощи синтеза, и он не только осуществим в машинном зрении, но также тесно связан с принципами, которые были предложены для описания человеческого зрительного восприятия (Нейссер, 1967). Основная слабость анализа при помощи синтеза заключается в том, что он предполагает наличие знания о виде объектов, которые могут встретиться в сцене. Прежде чем обсуждать, насколько ограничительно это допущение, рассмотрим подробный пример работы программы, использующей метод анализа при помощи синтеза.
13.1.2. Программа INTERPRET
INTERPRET (Фальк, 1972) представляет собой программу машинного зрения, предназначенную для использования ее в изучении машиноуправляемой системы глаз —— рука. Назначение этой программы ограничивается анализом зрительных сцен, состоящих из кубиков известного размера и формы с плоскими гранями. Такое ограничение делает программу недостаточно общей, однако позволяет ей осуществлять разбиение весьма сложных сцен. Программа к тому же представляет специальный интерес, так как может работать в ситуациях, когда имеются дефекты в линиях изображения.
На первом этапе работы программы INTERPRET дискретная входная информация от телевизионной камеры преобразуется процедурой выделения краев в контурное изображение. Точность полученного изображения будет зависеть от контрастности между светлыми и темными областями в наблюдаемой сцене. Слабая контрастность может стать причиной ошибочного добавления или удаления линий. На рис. 13.10, 〃,б показан пример реальной сцены, на которой один блок расположен перед другим, большим блоком, однако вследствие недостаточной контрастности две линии в изображении первого блока потеряны.
После того как получено контурное изображение, программа INTERPRET изучает узлы при помощи способа, аналогичного описанному в предыдущем разделе, для того чтобы отнести края и грани к определенным телам. Это осуществляется нахождением всех узлов, которые можно интерпретировать в качестве углов некоторого тела, и последующим отнесением соответствующих краев и граней к этому телу. По завершении этого этапа программа INTERPRET
в2
Рис. 13.10. Последовательные стадии анализа:。一 изображение Сцены со всеми видимыми краями в форме линий; б ——неполное изображение сцены, полученное по входным данным; 8 — два разных предмета, получившиеся в результате отнесения к соответствующим объектам сцены разных граней (областей); г —— полные изображения объектов, получившиеся в результате применения специальной процедуры завершения линий.
будет способна разбить исходное изображение на объекты, каждый из которых соответствует одному из объектов в сцене. Однако получившиеся изображения объектов не обязательно будут завершенными (рис. 13.10, 6). На этом же этапе система INTER PR ЕТ определит положение некоторых углов объектов в трехмерном пространстве и идентифицирует некоторые объекты как находящиеся на других объектах, используя простые предположения, что (а) объекты не могут висеть в пространстве и (б) если какой-то объект имеет горизонтальную границу не выше любой другой горизонтальной границы, то соответствующий край расположен на столе. Определение положения углов особенно полезно для INTERPRET, поскольку программа „знает" размер кубиков в сцене и, таким образом, может
418 Гл. 13. Машинное восприятие вычислить ожидаемое положение остальных углов, как только идентифицированы тип кубика и положение одного из углов.
Следующий шаг программы состоит в идентификации присутствующих в сцене тел. Сначала при помощи достаточно очевидных методов делается попытка достроить линии, а именно соединяются разорванные прямые и добавляются углы в местах пересечений продолженных прямых (рис. 13.11). Наконец, изображения отдельных предметов сравниваются с хранящимися изображениями известных объектов, наблюдаемых с разных точек х). Принимается наиболее полно соответствующее изображение. Теперь программе INTERPRET известно, какие в рассматриваемой сцене находятся тела и где они расположены. В качестве проверки программа вычисляет контурное изображение, которое было бы получено в предиоложе-
Рис. 13J1. Примеры простых случаев завершения линий.
нии, что соответствующая сцена и точка, с которой она рассматривается, идентифицированы правильно. Это изображение сравнивается с входным изображением,, и если между ними отсутствуют серьезные различия, то соответствующая интерпретация принимается.
Система INTERPRET и другие подобные ей программы способны правильно анализировать весьма сложные сочетания кубиков. Работа программы INTERPRET сама по себе к тому же выглядит вполне разумной в том смысле, что эта программа может дополнять отсутствующие во входной информации линии и края. На практике это очень важно, поскольку слабая контрастность значительно уменьшает точность телевизионного изображения сцены. Поэтому основная информация, поступающая на вход программы, может быть с ошибками. Недостатки подхода, использующегося в программе INTERPRET, сводятся к тому, что эта программа может работать только со специализированным внешним миром. Фальк сообщает, что для работы со сценами, состоящими из кубиков, необходи-
Следует опять отметить, что это не требует, чтобы программа INTERPRET предварительно хранила все возможные такие изображения. Все, что нужно иметь, это каноническое представление (например, трехмерные описания) тел и алгоритм для вычисления соответствующего изображения этих тел с любой точки. Имеются интересные данные, что это именно благодаря этому способу люди в состоянии распознавать трехмерные формы (Шепард и Мецлер, 1970).
ма большая и сложная программа. Если это так, то как можно ожидать работы с мирами, для предсказания в которых требуется на несколько порядков большие объемы знаний? Проблема не просто в том, что больше различных видов тел, но в том, что основные формы в реальном мире намного сложнее, чем использовавшиеся до сих пор. Например, включение в рассмотрение предметов с искривленными поверхностями намного бы усложнило соответствующий анализ, вместе с тем люди живут в мире, полном такого рода объектами.
В системе INTERPRET и других известных в настоящее время проектах машинного зрения предприняты попытки разными способами скопировать человеческий механизм зрения. Несмотря на то что это похвальная цель, она все же, возможно, слишком претенциозная. Проблема не в том, что человеческую зрительную систему нельзя скопировать при существующем уровне техники, а в том, что для этого, по-видимому, необходимо иметь человеческую память. Некоторые исследователи предположили, что человеческая память состоит из большого числа элементов, которые становятся активными, когда обнаруживают „свои сигналы* в наблюдаемом входном сигнале (Хант, 1973; Джон, 1972). С точки зрения такой памяти человеческое зрение может позволить себе „пассивное наблюдение44, при котором поступающая в мозг предварительно обработанная информация от глаза может вызвать хранящуюся в нем информацию. Учитывая имеющуюся технологию построения памяти вычис^ лительных машин, по-видимому, более подходящим для конструк- торов роботов было бы приспособить специальную вычислительную машину к активному сканирующему устройству, которое бы излучало физический сигнал и затем анализировало полученный ответ. Вероятно, аналогией такого устройства должен быть в биологических системах сонар летучей мыши, а не человеческий глаз 】). Этот подход выглядит особенно привлекательным для ситуаций, в которых машина должна просматривать „видимый мир", содержащий только ограниченную совокупность важных доя нее целевых объектов.
Восприятие машиной речи
0. Задачи понимания речи
В самой общей форме машинное восприятие звуков должно относиться к системе, осуществляющей перевод акустических сигналов в цифровой код. Очевидно, построение устройства, реагирующе-
го на определенные акустические сигналы, может быть сложной или простой задачей в зависимости от природы этих сигналов и наличия шума. Во всяком случае, непохоже, чтобы такие исследования касались какой-либо общей проблемы, однако за одним исключением. Речь идет о восприятии речи. Безусловно, можно выделить достаточное количество информации из акустического речевого сигнала, закодировать ее в виде последовательности импульсов или непрерывного электрического сигнала и передать эту информацию человеку, чтобы он мог распознать семантическое содержание первоначального высказывания. В конце концов это как раз то, что происходит в телефонном разговоре, при этом никто и не пытается каким-то образом автоматизировать процесс распознавания. Под машинным восприятием речи понимается более глубокая задача. Целью является разработка машины, способной в данном акустическом сигнале идентифицировать лексические компоненты сообщения. Лексическая идентификация рассматривается как предварительный этап семантического анализа, представляющего собой самостоятельную и значительную проблему.
Зачем непременно нужна машина, воспринимающая речь? Во- первых, потому, что ее построение явилось бы интересным научным результатом. Во-вторых, потому, что люди не должны будут тогда общаться с машиной на ее языке. Это серьезная проблема. Как и многие другие, Кемени (1972) отметил, что главное препятствие к широкому использованию вычислительных машин заключается в требовании, чтобы пользователь усвоил весьма ограниченную, машинно-ориентированную форму общения. В докладе, подготовленном для Агентства оборонных исследовательских проектов 丄)Министерства обороны США, приведен целый ряд более специфических ситуаций, в которых была бы полезна машина, воспринимающая речь (Ньюэлл и др., 1972). Среди этих проектов были построение систем хранения и обработки данных, к которым можно было бы обращаться через машину, осуществление возможности непосредственно задавать вопросы о состоянии большой вычислительной системы, ввод новой информации и контролируемое ЭВМ обучение при использовании вычислительной или другой сложной техники. Впечатляет то, что список представлен как список вполне реальных, а не конечных целей. Для неслишком отдаленного будущего можно вообразить и еще более эффектные задачи. Например, исследователь, находящийся на Земле, возможно, захотел бы управлять на расстоянии устройством, передвигающимся по лунной поверхности, не прибегая к телетайпу в качестве устройства общения. Естественно, что современная научная фантастика предполагает еще более удивительные примеры восприятия информации с голоса 2).
Defence Research Project Agency,— Прим, ped
Например, в фильме «Колосс: Проект Форбина», повествующем о конце двадцатого века, показывается машинное восприятие речи, причем один из героев
В у пом и н аемом докладе Министерству обороны тщательно различаются те возможности, которые требуются от систем в различных приложениях. Многие интересные применения можно реализовать с помощью системы, способной распознавать небольшое число ключевых слов, используемых в ограниченных контекстах. Например, для сообщения о ценах на акции словарь, состоящий из пятисот слов (открытие, закрытие, Стандард Ойл, объем и т. д.), был бы, по-видимому, вполне достаточным. В других ситуациях, используя ограниченные словари, можно получать простые предложения, построенные при помощи грамматики некоторого формального языка. Системы, способные это делать, существуют и позволяют при помощи голоса управлять рукой робота, передвигающей на столе кубики (Висенс, 1969), и диктовать непосредственно вычислительной машине простые программы (Страсбургер, 19726). Для наиболее интересного класса задач требуется, чтобы пользователь был способен описать команды при помощи некоторого нетривиального приближения естественного языка. Ньюэлл и др. считали, что эта задача практически разрешима только в весьма ограниченном семантическом контексте, таком, как описание ходов в шахматной игре с помощью голоса. В этой ситуации семантику можно использовать в помощь анализу на других уровнях, например, если имеется некоторая позиция на доске, то будет иметь смысл только относительно небольшое число произносимых команд.
Речевой сигнал
Прежде чем начать подробное обсуждение машинного восприятия речи, следует рассмотреть сам по себе речевой сигнал. Звуки речи образуются в результате прохождения воздуха через голосовую систему, представляющую собой сложное устройство, включающее гортань, рот и носовую полость. Не будем вдаваться в подробности 1); нам необходимо лишь знать, что эту систему можно считать трубкой, способной менять свое поперечное сечение при помощи целого ряда независимо двигающихся в ней препятствий, таких, как язык, губы и голосовые связки. Звук возникает, когда воздух под давлением проходит через эту трубку. При этом давление воздуха само по себе удается достаточно точно менять, а указанные препятствия можно очень быстро перемещать. В результате возникают хорошо известные нам звуки: щелчки, свист, охи, ахи и другие, на которые способен человек. В любом языке можно выделить около высказывает опасение, что машинное понимание склонно быть слишком буквальным. В фильме «2001: Космическая Одиссея» описываются значительно более сложные устройстйа ввода информации, использующиеся в деловых машинах, а также в сложных научных системах.
В работе Дэйла (1972) можно найти достаточно полное обсуждение, проведенное не на техническом уровне.
40 или 50 типов звуков, относящихся к речи, так называемых 物- нем. Элементы, передающие определенный смысл, или морфемы, строятся из фонем, но, как мы покажем, это делается непросто.
Заданный звук речи формируется характерной последовательностью мускульных движений в голосовом канале. Вообще говоря, можно выделить два широких класса речевых звуков, а именно гласные и согласные. Гласные звуки производятся относительно продолжительными перемещениями воздуха (длящимися более чем 35 мсек) через голосовой канал, который при этом сохраняет свою конфигурацию неизменной. Гласные друг от друга отличаются при этом положением языка и степенью сужения голосового канала. Например, отметим разницу между ударными гласными в словах „нива*1 и ”это", которые характеризуются передним положением языка с сильным и слабым сужением, и ударными гласными в словах “обут" и ”фаза", которые характеризуются задним положением языка с сильным и слабым сужением голосового канала. Согласные являются более короткими звуками, получаемыми последовательностью движений, при которых форма голосового канала меняется в процессе извлечения звука. Для каждой согласной существует точная последовательность событий, таких, как высвобождение воздуха на первых буквах в словах “Петя" и „топоти. Очень важно сохранение этой последовательности для правильного произнесения согласных. В некоторых случаях части голосового канала полностью закрываются, например при произнесении буквы ”з“ в слове „зебра*4. Хомский и Халле (1968) выделили 12 признаков, которые могут отсутствовать или присутствовать и которые можно было бы использовать для классификации звуков американского диалекта английского языка. Каждый из них имеет определенное отношение к распределению энергии акустического сигнала. Халле и Стивенс (1972) пересмотрели этот список, однако в целом он дает хорошее описание мускульных движений при воспроизведении артикуляторных элементов речи.
Очевидно, что слушающий анализирует приходящий к нему сигнал, а не мускульные движения, которые воспроизвели его. Акустический сигнал представляет собой волну, т. е. распространяющееся во времени периодическое изменение звукового давления. Волну можно проанализировать, определяя интенсивность звука на каждой частоте. Исследования по восприятию речевых сигналов показали, что существует область от 300 до 4000 Гц, содержащаяся в которой информация достаточна для восстановления речевого сигнала (Внзнгннс, 1972). В области низких частот также сосредоточена значительная доля энергии, но это связано с постоянными характеристиками голосовых связок и служит для идентификации физических характеристик говорящего, таких, как возраст и пол. Распределение энергии по различным частотам в течение некоторого периода времени называется спектром сигнала в течение этого пе-
риода. Время, в течение которого вычисляется спектр, будет называться окном. В анализе речевых сигналов распределение „всплеска** энергии в определенной полосе частот и определенном интервале времени называется формантой. Принято помечать форманты некоторого фрагмента речи, начиная с FO, соответствующей самой низкой частоте (Турлау, 1971). Поскольку голосовые связки принимают различные формы во время воспроизведения фонемы, то характерного вида „почерка" форманты будет достаточно для идентификации отдельно произнесенной фонемы. На рис. 13.12 приведено упрощенное изображение распределения энергии по времени произнесения слогов „баи и ”ма".
Имея такую информацию, уже можно рассмотреть простую (и неверную) модель восприятия речи. В этой модели машина исполь-
Рис. 13.12. Упрощенные звуковые спектрограммы: а — «ба»; б —《ма》. Темные области соответствуют большой интенсивности сигнала.
зуется для вычисления спектра речевого сигнала в течение некоторого периода времени, для идентификации формант и затем, используя их, фонем известного языка. Далее фонемы используются для идентификации морфем. Мы будем ссылаться на эту машину как на кодовую модель, поскольку все, что она делает, это переводит акустический код в фонетический, предполагая, что имеется взаимно однозначное соответствие между этими двумя кодами. Допускается возможность присутствия в речевом сигнале шума, но тогда потребуется решить дополнительно лишь несложную задачу распознавания образов.
К сожалению, такая кодовая модель должна быть отвергнута. Хотя фонемы, очевидно, представимы акустически, кодирование сложнее замены специфических звуковых колебаний специфическими мускульными движениями. Это ясно показано в работах Либермана и его коллег по Xпекинской лаборатории (Либерман, 1970; Либерман, Купер, Шенквейлер и Стаддерт-Кеннеди, 1967). Рассмотрим акустический сигнал, соответствующий фонеме /加,которая есть фактически в каждом языке. На рис. 13.13 показаны две упрощенные спектрограммы речи, содержащие /д/, одна для слога „даи, другая для слога ”区н“. Можно сразу заметить, что эти случаи суще-
ственно отличаются вторыми формантами. Поскольку первые 50 мсек длительности звукового образа имеют прямое отношение к распознаванию того, что первая буква /д/, а не, скажем, /б/, то указанное различие во вторых формантах крайне важно. Интерпретация второй форманты зависит от контекста, в котором она появляется. Эта ситуация не исключение. Вообще справедливо, что спектр фонемы сильно зависит от контекста, в котором эта фонема находится. Существуют две непосредственные причины, почему это должно быть так. Давайте предположим, как это делает и Либерман со своими коллегами, что имеется четкое соответствие между фонемой, которую говорящий собирается произнести, и сигналами к мотоней-
Время (мсек)
Рис. 13.13. Звуковые спектрограммы: 。一 «ди»; 6—«да».
ронам мускулатуры голосового канала, получаемыми от мозга. Реальные физические движения в голосовом канале, которые и определяют произнесенный звук, будут зависеть от конфигурации голосового канала, которая была перед тем, как нейронами получены новые сигналы. Также важно и то, что не все группы мускулов одинаково быстро начинают участвовать в формировании определенного звукового сигнала. Поэтому действия этих групп мускулов, участвующих в формировании последовательно произносимых фонем, могут на самом деле осуществляться отчасти параллельно. Поскольку произнесенный звук является результатом прохождения воздуха по всему голосовому каналу, то акустический сигнал, соответствующий определенной фонеме, зависит также от фонем, сформированных как до, так и после этой фонемы. Используя машинные термины, можно сказать, что мы имеем дело с высоко асинхронным механизмом без четко выраженного временного цикла. Если это принять во внимание, то очевидная аномалия на рис. 13.13 больше не кажется удивительной.
Удивительно то, как вообще возможно восприятие речи. Ряд авторов привели доводы в пользу того, что к анализу речи, так же
как и зрения, применима модель, использующая анализ при помощи синтеза (Халле и Стивенс, 1972; Либерман, 1970). Под этим они подразумевают то, что исследуются акустические сигналы, и при помощи очень сложного процесса декодирования слушающий определяет последовательность мускульных движений, которые могли привести к формированию рассматриваемого акустического сигнала. Это выглядит на первый взгляд очень сложной задачей, но более подробное изучение показывает, что это не так. Предположим, что слушающий знаком с языком, на котором произносятся фразы. Такой человек знает, что необходимо рассматривать только те фонетические образования, которые допустимы синтаксическими, семантическими и фонетическими условиями этого языка. Как и в случае зрения, слушающим является человек, который может декодировать неоднозначные сообщения, зная, что только на некоторые сообщения из всех возможных, похоже, следует обратить внимание.
К сожалению, у нас нет возможности сделать обзор фактов, говорящих за или против применения модели, использующей анализ при помощи синтеза, для объяснения человеческого восприятия речи. Однако как предложение реализации машинного восприятия речи такая модель имеет некоторые существенные дефекты. Если бы эту модель нужно было принять буквально, то было бы необходимо иметь машину, воспроизводящую речь, или по крайней мере ее математическую модель в качестве составной части машины, воспринимающей речь. Это можно, но непросто осуществить. С другой стороны, при любой схеме машинного восприятия придется учитывать те сложные аспекты кодирования, которые, собственно, и заставили психоакустиков и психолингвистов отдать предпочтение модели, использующей анализ при помощи синтеза.
Распознавание отдельных слов
Мы не хотим усложнять проблему больше, чем это необходимо. Разочаровывающие замечания о трудностях выделения фонетической информации из акустической относились к ситуациям, в которых различные говорящие использовали различные контексты. Предположим, что вместо этого проблема состоит в распознавании слов, выбираемых из некоторого ограниченного множества слов, произносимых говорящим, характеристики голоса которого извест- ны системе. Если допустимы 0 слов и эта величина весьма мала, то вполне осуществимо хранение прототипов акустических образов каждого слова для каждого говорящего. В самом деле, для одного слова может храниться несколько образов, таких, что никакие два слова не имеют близких образов. Тогда задача распознавания сводится к простой задаче классификации образов. Как прототипы, так и идентифицируемые слова описываются характерными признаками, содержащимися в акустическом сигнале, которые (обычно) до-
статочны для определения произнесенного слова. Задача распознавания речи в этом ограниченном случае сводится к задаче выделения признаков. Можно ли найти признаки, которые легко вычисляются из акустического сигнала и информационно достаточны для определения отличающихся прототипов различных слов? Возможно, что необходимо иметь несколько уровней анализа, например, использовать фонемы прототипов для идентификации поступивших акустических сигналов и затем уже сами прототипы для идентификации цепочек фонем. Однако нет необходимости копировать иерархию человеческого восприятия. Будем называть этот метод кодовым, поскольку он основан на прямом отображении акустических признаков в фонемы, а затем в слова. Теоретически этап фонем можно было бы обойти, если бы можно было найти способ непосредственно отображать акустические сигналы в слова из некоторого словаря, но практически это не выглядит возможным. Существует два использовавшихся широких класса методов, основанных на частотной фильтрации и гармоническом анализе.
В случае частотной фильтрации акустический сигнал разбивается на полосы различной ширины, а распределение энергии в каждой полосе подсчитывается для т временных интервалов (окон) длительностью / мсек каждый. В большинстве случаев длительность интервального окна составляет от 10 до 20 мсек, т. е. значительно меньше времени, необходимого для произнесения фонемы. Таким образом, параметры, описывающие данное окно, должны считаться подфонемными, а не фонемными признаками. До некоторой степени удивительно, что для этого метода безразлична точность разбиения на окна и обработки каждого окна, а также не ,имеет значения выбор параметров для описания спектра в пределах окна. Висенс (1969) получил хорошее распознавание, подсчитывая число пересечений нуля и пиковых амплитуд в 10 мсек окнах в каждой из шести частотных полос. Редди (1970) отмечает, что нельзя добиться существенно лучшего распознавания, даже если использовать 40 частотных полос, и считает, что практически подойдет любой надежный метод анализа сигнала.
В результате этапа параметризации речевой сигнал будет представлен массивом nXmXp, где п — число частотных полос, т —— число допускаемых окон и р — число параметров, выделенных в полосе. В этом массиве ищутся характерные для определенных фонем типы изменений параметров во времени. Прототипы фонем, использующиеся на этом этапе, обычно должны быть заранее получены от человека, речь которого распознается, так как произносимые фонемы имеют индивидуальные особенности 】)• По крайней мере человек, речь которого используется для формирования прототипов,
Индивидуумы отличаются по фонетическому строению слов. Региональные диалекты могут служить наиболее ярким примером, например, слово саг произносится как kar на северо-западе и kah в Новой Англии.
должен быть того же пола и говорить на том же диалекте, что и qe・ ловек, голос которого будет звучать на этапе распознавания. При осуществлении сравнения, прежде чем начинать сопоставление этих сигналов с прототипами, речевой сигнал надо разбить на „вероятные фонемы”. Наиболее простые и грубые методы заключаются в использовании фиксированных временных интервалов (Висенс, 1969) или в поиске акустической информации, соответствующей паузам в рейн, а затем в разделении данных между паузами на равные временные интервалы (Эршер и Кокс, 1972). Вновь не приводит к особенно отличающемуся результату выбор какой-либо особой процедуры, а в некоторых системах этот этап совершенно не используется. На заключительном этапе осуществляется сопоставление записанных и проанализированных- речевых сигналов с известными системе прототипами слов. В результате в качестве произнесенного выбирается наиболее близкое слово.
Несмотря на его ограниченность, кодовый метод работает очень хорошо для распознавания отдельных слов. Ряд авторов сообщали о правильном распознавании с результатом от 80 до 90% для отдельно произносимых слов при использовании словарей объемом приблизительно в 50 слов и в некоторых случаях при нескольких говорящих. Имеются данные о том, что применение более ограниченных словарей (10——20 слов) повышает точность до 98%, даже если говорящими могут быть мужчины и женщины (Эршер и Кокс, 1972). Для системы, построенной Висенсом и Редди, имеются данные о 90% правильного распознавания для одного говорящего и словаря объемом в 500 слов (Ньюэлл и др., 1972).
Альтернативой к выделению простых параметров для нескольких частотных полос является проведение математического анализа полного звукового сигнала. Существует ряд способов осуществить это, большинство из которых существенно опираются на гармонический анализ. Математические обоснования здесь довольно сложны, и мы приведем лишь неформальное описание. Речевой сигнал представляет собой периодическое изменение значения давления во времени, т. е. звуковую волну. Применение преобразования Фурье к сигналу переводит эту информацию (первоначально имевшую временное представление) в эквивалентное представление, показывающее зависимость амплитуды функции от частоты и фазы чисто синусоидальных компонент, необходимых для восстановления первоначального сигнала {частотное представление). В некоторых работах такое представление использовалось непосредственно для сравнения распознаваемой речи с прототипами. Более сильный метод использует дополнительное преобразование, называемое раздельным спек- тральным анализом 】)(Накано, Итикава и Накато, 1972; Страсбур-
丄)Или кепстральный анализ, в оригинале cepstrum (если поменять местами буквы, легко получить spectrum}. В этом анализе Фурье преобразование применяется не к исходному сигналу, а к его логарифму.— Прим, перев,
гер, 1972а, б). В этом подходе результат преобразования Фурье речевого сигнала разделяется на высокочастотные и низкочастотные компоненты. Высокочастотные компоненты обычно соответствуют движениям голосового тракта, в то время как более низкие частоты (меньше 400 Гц) определяются постоянными характеристиками тракта. Таким образом, компоненты ниже 400 Гц могут рассматриваться как характеристики возраста говорящего, его пола и других физических параметров, в то время как высокочастотные компоненты речевого сигнала указывают на мускульные движения, ответственные за произносимые слова. Результатом раздельного спектрального анализа является изменяющийся во времени сигнал, форма которого отражает особенности произнесенных формант. Этот сигнал можно сравнить с соответствующими прототипами различных фонем, если необходимо, произнесенных разными говорящими, для того, чтобы идентифицировать определенные звуки во фразе. Вопрос индивидуальных особенностей обходится не полностью, поскольку различные говорящие будут использовать различные мускульные движения длй> произнесения одного и того же слова.
Тот факт, что акустические особенности некоторой фонемы зависят от контекста, мог бы привести к мнению, что только что описанные методы не имеют особого значения для распознавания слитной речи. Это не совсем верно. Хотя акустические сигналы, вообще говоря, неоднозначны по отношению к фонеме, которая в них содержится, существует много ситуаций, в которых акустический сигнал единственным образом определяет фонему. Это аналогично анализу сцен, где одни точки имеют единственную трехмерную интерпретацию, в то время как другие допускают несколько объяснений. Далее предположим, что все фразы, получаемые системой распознавания речи, должны произноситься на строго определенном языке с небольшим запасом слов и простой грамматикой. Тогда часто информации, содержащейся в воспринимаемом акустическом сигнале, будет достаточно, чтобы отбросить все допустимые фразы, кроме одной.
Идея комбинировать для определения наиболее вероятного сообщения акустическую информацию и синтаксическое знание использовалась во многих исследованиях вслед за работой Висенса и Редди (Висенс, 1969; см. также обсуждение, проведенное Ньюэллом и др., 1973, гл. 4), которые построили ”ухо“ для проекта глаз——рука — ухо Станфордского университета (Мак-Карти, Эрнест, Редди и Ви- сенс, 1968). В этом проекте управляемая машиной рука получала от человека команды передвинуть кубики, лежащие на столе. Как уже отмечалось, система Висенса и Редди использовала иерархическую кодовую схему, однако получаемые системой фразы должны были быть правильными цепочками языка, предназначенного для манипулирования с кубиками, т. е. языка программирования движений руки робота. Используемый язык можно определить, описав
допустимые подстановки, порождающие предложения языка, содержащего только конечное множество предложений. Эти правила подстановки изображены на рис, 13.14. Исследуя их, легко увидеть, что распознавание лишь небольшого числа неоднозначных акустических сигналов в стратегических важных местах позволяет вывести требуемую фразу. Этот процесс вывода может быть (и был) значительно упрощен разумным выбором словаря так, чтобы никакие два слова, являющиеся синтаксическими альтернативами, не были акустически подобными. Хотя это есть не что иное, как обман, если цель состоит в моделировании естественного языка, но практически это вполне обоснованное решение, если цель — построить систему, способную воспринимать ограниченное множество нетривиальных
ПоднятьПоднятьLLКаждыйКаждыйНачать повторный ОстановитьНачать повторный ОстановитьРис. 13.14. Структура языка системы Висенса и Редди,— обозначает слово или пробел, на которые не нужно обращать внимания. В квадратных скобках содержатся альтернативы. Возможны семьдесят четыре предложения.Рис. 13.14. Структура языка системы Висенса и Редди,— обозначает слово или пробел, на которые не нужно обращать внимания. В квадратных скобках содержатся альтернативы. Возможны семьдесят четыре предложения.
Поднять
Поднять
L
L
Каждый
Каждый
Начать повторный Остановить
Начать повторный Остановить
Рис. 13.14. Структура языка системы Висенса и Редди,— обозначает слово или пробел, на которые не нужно обращать внимания. В квадратных скобках содержатся альтернативы. Возможны семьдесят четыре предложения.
Рис. 13.14. Структура языка системы Висенса и Редди,— обозначает слово или пробел, на которые не нужно обращать внимания. В квадратных скобках содержатся альтернативы. Возможны семьдесят четыре предложения.
фраз. В оправдание такого решения можно привести тот факт, что и в естественном языке во избежание возможной путаницы слова выбираются по такому же принципу.
Какой же эффективности можно ожидать от системы, использующей иерархическое декодирование совместно с синтаксическим анализом? Результат зависит от того, является ли человек, речь которого распознается, также человеком, речь которого использовалась для формирования прототипов. Назовем первого испытуемым, а второго — учителем. Если испытуемый и учитель совпадают, то система Висенса и Редди проводит семантически правильную интерпретацию около 85% фраз, произнесенных испытуемым. Если испытуемый и учитель — различные индивидуумы одного пола, то результат правильного распознавания понизится приблизительно до 60%. Интересное противопоставление этим результатам получено в работе Страсбургера (19726), который объединил метод раз дель-
ного спектрального анализа акустических сигналов с методом синтаксической коррекции. Однако язык SPOCOL, использовавшийся Страсбургером, был значительно богаче языка Висенса и Редди, предназначенного для манипуляции 'с кубиками. Язык SPOCOL представляет собой разговорный язык для программирования и имеет приблизительно ту же мощность, что и элементарный язык BASIC. Страсбургер обнаружил, что его системой можно правильно распознать 18 из 24 выражений, если один и тот же человек выступает в роли учителя и испытуемого. Если же учитель и испытуемый различны, то распознавались от 12 до 14 из 24 выражений. Поскольку метод преобразования Фурье, применявшийся Страсбур- гером, эффективно убирает различия в рассматриваемом акустическом сигнале, обусловленные физическими характеристиками говорящего, то ухудшение результата распознавания для различных говорящих, возможно, вызывается отличиями в моторных движениях мускулов гортани индивидуумов при произнесении фонем. Интересно заметить, что хотя Страсбургер, Висенс и Редди использовали совсем различные аналитические методы для исследования акустических сигналов и сильно отличающиеся языки, точности их систем примерно совпадают.
Система HEARSAYх)
Ограниченные возможности систем распознавания отдельных слов широко известны, поэтому был предложен ряд новых решений, основанных на совместном фонетическом, синтаксическом и семантическом анализе произнесенных фраз. Они хорошо иллюстрируются системой HEARSAY ?) (Редди, Эрман и Нили, 1973), работа над которой продолжается в университете Карнеги — Меллон. В отличие от других программ HEARSAY не имеет иерархической организации кодов. И в ней существует не только постоянный обмен информацией между уровнями, но эта система также допускает ошибки на одном уровне, если их можно исправить на другом.
Структуру программы HEARSAY лучше всего рассматривать как совокупность параллельных процессоров, снабжающих информацией центральное устройство. Схема работы системы изображена на рис. 13.15. Первый шаг состоит в непосредственной параметризации полученного акустического сигнала. В каждом последовательном интервале длительностью 10 мсек в пяти частотных полосах записывается число прохождений соответствующих компонент звукового сигнала через нуль и его максимальное значение, а кроме того нефильтрованная полоса от 200 до 6400 Гц. Затем эти данные,
区)夕 $ы хотел выразить признательность д-ру Рэю Редди за предоставление прекрасного описания системы HEARSAY.
弓 Буквально «слышу — говорю».— Прим. ред.
соответствующие окнам длительностью в 10 мсек, идентифицируются как „подфонемные единицы*4 с помощью прототипов, сформированных на основе анализа предварительных записей определенных фонем, произнесенных учителем. Результатом этого этапа является преобразование 10 мсек интервалов: последовательности значений выделенных параметров в последовательность названных акустических признаков. Затем интервалы в 10 мсек объединяют в более крупные фрагменты с длительностью, приблизительно равной про-
Рис. 13.15. Схема ракеты системы HEARSAY.
должительности фонемы, объединяя последовательности похожих подфонемных единиц и разбивая цепочки указанных интервалов в местах перехода от звонких к глухим илн от фрикативных к нефрикативным звукам. Таким образом, исследуемый акустический сигнал превращается в приблизительно правильную цепочку, состоящую из фрагментов, имеющих вид фонем. При этом абсолютную правильность полученной цепочки нельзя гарантировать из-за ненадежности обрабатываемого речевого сигнала, даже когда говорящий пытается копировать самого себя, а также из-за изменения акустических характеристик фонемы, вызванного контекстом. Вместе с тем важно, что этот анализ все же разбивает с высокой надежностью исследуемый акустический сигнал на сегменты, соответствующие словам. До этого места система HEARSAY очень близка работе Ви- сенса и Редди.
Теперь можно проводить параллельный анализ (рис. 13.15), осуществляемый при помощи трех устройств распознавания, использующих одинаковый принцип. Гипотезы относительно анализи-
руемой фразы порождаются с учетом частично проанализированного сигнала и специального значения, имеющегося у соответствующего устройства распознавания, что приводит к формированию „предположительной интерпретации**. Затем эта интерпретация поступает к другим устройствам распознавания, где она оценивается с учетом их специальных знаний, которые доступны этим другим устройствам. Рассмотрим каждое из этих устройств.
Устройство акустического распознавания работает со словами. Ему доступны следующие специфические сведения: акустическое, фонологическое и словарное. Акустическая информация имеет вид записанных ожидаемых подфонемных признаков фонемы, произнесенной раздельно. Фонологическая информация устанавливает способы, при помощи которых определенный контекст может изменить характерный акустический вид фонемы, например различие в „ди<( и „да**, рассмотренное выше. Информация, содержащаяся в словаре, описывает последовательности признаков, представляющих варианты допустимых слов.
Устройство синтаксического распознавания работает на уровне фраз. Синтаксические сведения хранятся во фреймах, называемых Редди и др. ъантипродукциямии, в которых могут появляться определенные слова или предложения. Когда распознается одно или два слова, устройство синтаксического распознавания может предложить синтаксическую гипотезу об окружающих словах. Это устройство также может определить, приводит ли какое-либо предложенное слово к синтаксической ошибке в некоторой части анализируемой фразы. Указанный метод распознавания будет хорошо работать с бесконтекстными языками, и поэтому, хотя он не дает возможности работать с естественным языком в полном объеме, мы, безусловно, можем пользоваться нужным нам подмножеством языка.
Устройство семантического распознавания представляет собой дополнение к рассмотренным до этого механизмам. Оно работает на уровне целой фразы. Задача этого устройства заключается (а) в порождении фраз, которые бы имели смысл в заданной ситуации, и (б) в оценке разумности предложенной фразы. Для этого устройство семантического распознавания должно управлять программой, осуществляющей анализ специфической (неречевой) задачи определения ситуации и способной решить, что имеет смысл, а что нет для заданного внешнего мира. Редди и др. рассмотрели в качестве такой задачи игру в шахматы. Для всей системы проблема состоит в восприятии машиной произнесенных человеком команд в ходе шахматной партии. Использующаяся программа анализа задачи, предназначенная именно для игры в шахматы (Гиллогли, 1972), предлагает и оценивает ходы для любой ситуации на доске. Во время распознавания воспринятой фразы описываемая шахматная программа, используя устройство семантического распознавания, опреде- ляег, какие слова следует считать наиболее вероятными для опре-
деленных мест фразы. Кроме того, программу анализа задачи можно использовать для определения того, приводит ли предложенное устройством акустического анализа или устройством синтаксического анализа слово или фраза к разумному ходу.
Как только завершился процесс параметризации, все три устройства распознавания системы HEARSAY начинают параллельную работу по оценке произнесенной фразы, опираясь на характерные особенности фразы для порождения или проверки гипотез, пока наконец входная фраза не будет принята как разумная. Потребуются еще дополнительные исследования, прежде чем рассматриваемую модель восприятия речи можно будет оценить каким-нибудь определенным образом. Однако важность программы HEARSAY не столько в определенном техническом успехе, сколько в ее роли в развитии наших представлений об обработке речи. Система HEARSAY свидетельствует об очевидном отказе от использования иерархической акустико-фонетико-синтаксико-семантической модели анализа речи. Сейчас это всеми признается необходимым. Кроме того, система HEARSAY не использует также и анализ при помощи синтеза. Поэтому эта система рассматривается как привлекательная модель машинного восприятия речи, хотя она может и не быть адекватным моделированием человеческого восприятия речи. Это замечание не содержит осуждения, поскольку такое моделирование не является целью исследований в области искусственного интеллекта. Более того, отсутствует полная уверенность в справедливости подхода, основанного на анализе при помощи синтеза, и он никоим: образом не принят повсеместно в качестве правильной модели человеческого восприятия речи х). Поэтому психологи и лингвисты должны обратить серьезное внимание хотя бы на подход, основанный на анализе при помощи гипотез.
1) Леннеберг (1969) указал, что дети, воспитывающиеся в дефективной языковой среде и вследствие этого не имеющие стимула нормально говорить, легко учатся понимать речь. Этот факт трудно согласовать с теорией, предполагающей, что способность произносить крайне важна для понимания.
Глава 14
ВОПРОСНО-ОТВЕТНЫЕ СИСТЕМЫ
74。Постановка задачи
В предыдущей главе обсуждалась проблема создания звена общения с вычислительной машиной. Допустим, что эта связь установлена. Как ею пользоваться? Несколько наивно было бы сказать, что ЭВМ, должно быть, очень поможет нам при ответе на вопросы. Несомненно, физические возможности хранения и извлечения данных в вычислительных системах огромны. Тем не менее практические попытки задавать вопросы ЭВМ могут принести большое разочарование. Почему?
И вычислительные машины, и люди могут запоминать факты. Люди, однако, запоминают также достаточно тонкие интерпретации фактов. Если вы говорите, что собираетесь путешествовать, но бензин почти кончился, то разумный человек запомнит также утверждение, выведенное из этих двух, а именно, что вы поедете на заправочную станцию. Лишь очень немногие программы, моделирующие мышление, делают это. Еще тоньше вопрос о том, как формируются общие впечатления. Если вам сказали, что данный американский сенатор голосовал против семи законопроектов об иностранной помощи и трех мероприятий, касающихся гражданских прав, и резко возражал против назначения бывшего профсоюзного юриста в Верховный суд, то у вас, наверное, составится представление об этом сенаторе. Оно может учитываться при последующих заключениях относительно его позиции в новых спорных вопросах. Эти наблюдения никого не удивят, „так делают все". Но какие правила здесь применяются и как их запрограммировать?
Для сравнения рассмотрим типичную информационную вычислительную систему. Ее можно представить в виде большой картотеки. Она отвечает на любой вопрос, если нужный ответ содержится в банке данных и помечен как ответ на этот конкретный вопрос. Ответ на
родственные вопросы могут найти немногие системы. Кроме того, информация в вычислительных системах очень четко расклассифицирована. Если сотрудники кредитного бюро проверяют, работает ли интересующий их человек или он безработный, они получают только эти сведения; они не получат сведений о кредитоспособности, допустим, его жены. Возможно, сосед этого человека, если потребуется, представит им такую информацию. Еще интереснее случай, когда речь идет о фактах, требующих дальнейших справок. Если бы юриста спросили: „За какую сумму Вы взялись бы защищать человека, обвиненного в убийстве?* и „Не знаете ли, где я могу раздобыть стрихнин?** — он мог бы в ответ также задать некоторые вопросы. Вычислительные машины этого не делают.
Проблема разумного поведения в ответ на те или иные события связана с пониманием языка. ЭВМ в точности выполнит данные ей указания, если они выражены на очень формальном языке и в них нет неопределенности, Машина, которая действительно понимает, что мы пытаемся сказать ей, должна выполнять то, что мы от нее хотим, даже если мы не соблюли все формальности языка, на котором полагается обращаться к машине. Создание такой машины, вероятно, представляет самую трудную из всех задач искусственного интеллекта.
В этой и следующей главах мы рассмотрим, как сделать действия ЭВМ более разумными. Несмотря на то что эта тема стала весьма популярной, прогресс здесь наименьший из всей области искусственного интеллекта. Читателя следует предостеречь: некоторые ученые с отличной репутацией в области искусственного интеллекта могут не согласиться не только с ответами, которые мы даем, но и с нашими вопросами! Однако те же ученые могут не согласиться и друг с другом, поэтому наш подход, видимо, не хуже других.
Понимание сообщений —— первая проблема, с которой придется столкнуться разумной машине. Традиционно при работе с ЭВМ человек, умеющий говорить, учится писать (программу) на строго определенном формальном языке. Эту задачу не так просто решить. Программирование — весьма трудоемкий процесс. На нашем естественном языке выражается много мыслей, не переводимых на язык ЭВМ. Как выразился один из наших студентов, „попробуйте определить слово „свобода*' на Фортране!4*. Чтобы читателю не показалось, что этот пример слишком экзотичен, укажем, что попытки применения ЭВМ в юриспруденции для поиска информации периодически предпринимаются. „Очевидный4* подход здесь состоит в использовании вычислительных машин для просмотра документов, содержащих ключевые слова в заглавии или тексте. Букханан и Хедрик (1970) отмечают, однако, что юристы пользуются литературой не так. Юрист в основу своих аргументов берет аналогии с другими делами и определенную трактовку абстрактных принципов. Букханан и Хедрик утверждают, что вычислительная техника до
тех пор не будет по-настоящему использоваться в юриспруденции, пока ЭВМ не смогут делать то же самое.
Нам нет необходимости ограничиваться примерами из будущего, чтобы продемонстрировать проблемы в области понимания сообщений. Рассмотрим следующие прямые запросы на поиск информации:
Какова численность населения Нью-Йорка, Чикаго, Сент- Луиса, Филадельфии?
Какова численность населения Нью-Йорка, Иллинойса, Миссури, Пенсильвании?
Для человека ясно, что в первом вопросе подразумевается город Нью-Йорк, а во втором ——штат Нью-Йорк. Установление правильного соответствия по аналогии с другими, одновременно заданными вопросами,——пример тонкого рассуждения, вполне доступного людям, но выходящего за пределы возможностей большинства информационно-поисковых систем.
Процесс понимания в машине имеет глубинные связи с машинным анализом естественного языка. Поскольку это самостоятельная важная тема, мы отложим детальное обсуждение лингвистических проблем до следующей главы. Во многих частных случаях можно избежать необходимости понимания, вводя формальный язык, содержащий некоторые конструкции естественного языка и в то же время пригодный для машинного анализа (Томпсон, 1966; Достерт и Томпсон, 1971). Мы не будем уделять этому подходу слишком много внимания, ибо решения, получаемые с его помощью, относятся к конкретным задачам. По крайней мере до следующей главы будем считать, что задача понимания сообщений уже решена. Надо решить две другие задачи.
Структуры данных для понимания исследовались очень интенсивно. Как организовать данные, чтобы их можно было извлечь, когда они нужны, и чтобы они не извлекались, когда не нужны? Возможно, именно в этой области человек имеет наибольшее преимущество перед машиной. Мы можем каким-то способом очень быстро извлекать необходимую информацию из долгосрочной памяти, даже на основании неясных указаний. Сложность построения правильной структуры данных для информационного поиска тесно связана со способностью конструктора системы управлять вопросами, касающимися этой базы данных. Библиотека дает пользователю возможность задавать только те вопросы, ответ на которые содержится в картотеке алфавитного указателя, а требование найти книгу по имени ее издателя создает для системы большие трудности. Она оказалась бы совсем беспомощной, если бы в требованиях на книги пользователи указывали место рождения автора. Задача индексации структур данных в ситуациях, когда форму задаваемого вопроса можно предвидеть, обычно обсуждается, если речь идет об информационном поиске ——самостоятельной области исследований
(ср. Лефковиц, 1969). Мы займемся более „экзотическими*4 структурами данных, нашедшими применение в области искусственного интеллекта, где все направлено на то, чтобы не ограничивать пользователя, задающего вопросы.
„Понимающая** система должна включать в себя правила вывода. Правило вывода — это метод вывода фактов, которые подразумеваются, но не содержатся в явном виде в базе данных. Мы обсуждали уже правила вывода при описании систем доказательства теорем и решения задач. Многие из процедур вывода, созданные для решения задач, можно применить непосредственно к задачам понимания. Кроме того, существуют другие, более специализированные процедуры вывода, которые годятся для поиска данных, хотя в общем случае рассуждения, производимые ими, могут быть некорректными. Распознать, какие данные и процедуры вывода относятся к делу,— первый важный шаг при ответах на вопросы. Задавшись вопросом
Влияет ли ДДТ на уровень численности скоп)?
разумный биолог применит правила вывода, в которых участвует включение множеств, и использует информацию только о распределении ДДТ, воздействии хлорированных углеводородов на откладку яиц, обычаях гнездования и добычи пищи у птиц, питающихся рыбой, и хищников. Он не будет пытаться делать выводы, основанные на информации о страусах, поскольку эти сведения, „очевидно*4, к делу не относятся. Проблема вывода при понимании во многом состоит в решении, какие факты „очевидно несуществен- ныи. Установление же существенных фактов позволяет в общем случае сразу проводить требуемый вывод.
14J. Структуры данных
0. Общая часть
До сих пор не достигнуто единство взглядов по поводу того, какой способ организации данных для „понимающих*4 программ самый лучший, и вряд ли это когда-нибудь произойдет. Причины здесь чисто прагматические. Для чего людям требуется прежде всего „ра- зумная" вычислительная система? Мы видим две причины: для решения сложной задачи информационного поиска и для демонстрации какого-то алгоритма вывода. Если пользователь собирается решать задачу, то с ней, несомненно, связана большая база данных, а ина-
че вряд ли стоит прибегать к помощи ЭВМ. Хотя пользователь, вероятно, хочет иметь систему, достаточно гибкую, чтобы оправдать название „понимающая**, он, как правило, может указать какие-то ограничения на тип вопросов, которые ей будут задаваться ) В конце концов система, проектируемая им, должна будет работать на имеющемся у него оборудовании. Пользователь, естественно, выберет ту структуру данных, которая отражает логику его базы данных и особенности его оборудования. Неудивительно, что полученная таким образом система, скорее всего, обладает лишь ограниченной общностью. Фактически степень полезности системы для своего прямого назначения может быть связана обратной зависимостью со степенью, в которой ее решение интересно для других. Здесь кроется опасность предпочтения подхода, ориентированного исключительно на то или иное приложение.
Чисто исследовательский подход страдает недостатком как раз противоположного рода. Здесь основное внимание уделяется общности: демонстрируется, что некоторые алгоритмы правильно ответят на широкий круг вопросов. Но, когда это уже показано, не слишком интересно проводить такую демонстрацию вновь, поэтому в большой базе данных обычно нет нужды. (В большинстве наших примеров в этой главе базы данных будут очень небольшими.) А поскольку база данных мала и, кроме того, эффективность работы не является решающим критерием, на структурирование базы данных можно практически не обращать внимания. В некоторых экспериментальных системах просто принято, что в программном языке выбора уже предусмотрен метод, не зависящий от содержания памяти. Полученная в результате программа часто является лишь элегантной демонстрацией логики, но не практическим инструментом обработки данных, и, что еще хуже, ее трудно перестроить в такую практическую программу.
Эти две проблемы связаны друг с другом. Очевидно, методы организации данных для „понимающих44 программ все-таки существуют. В оставшейся части главы мы обсудим некоторые методы, применявшиеся для решения характерных задач. Они выбирались для иллюстрации методов, а не как наиболее современные программы из тех, что можно себе представить. Обзоры „состояния дел44 периодически публикуются профессиональными журналами по вычислительной технике.
Например, часто прикладная система может игнорировать лексические неопределеииости английского языка. Слово strike ——недвусмысленный термин для системы, обрабатывающей бейсбольную статистику, а также для системы, предназначенной для работы с трудовым закоиодательством. В том случае, когда программа связана с обеими этими областями, неопределенность необходимо разрешить, (Английское слово strike имеет два русских эквивалента: удар и забастов- т— Перее.).
Вскоре после появления в вычислительных науках метода обработки списков была написана (для иллюстрации того, как можно применить новые методы в вопросно-ответных системах) программа BASEBALL (Грин, Вулф, Хомский, Лафри, 1961; Грин, 1963). Эта программа предназначалась для ответа на вопросы об играх 1959 г. в американской бейсбольной лиге ——отсюда и ее название. Хотя социальная ценность такого применения программы сомнительна, она дает хороший аппарат для проверки принципов программирования, которые нашли с тех пор широкое применение х). Сообщения программе составлялись на простом подмножестве английского языка, на котором мы практически не будем останавливаться. Гораздо нн・ тереснее использованная здесь структура данных.
Данные программы BASEBALL были упорядочены в иерархическую систему. Эту структуру данных можно было бы эквивалентным образом представить в виде дерева. Самым высоким уровнем был ГОД (использовались данные только за 1959 г., но в программе предусматривались возможности и для нескольких лет), за ним, в порядке очередности, МЕСЯЦ и МЕСТО. После того как определялись ГОД, МЕСЯЦ и МЕСТО, последовательно указывались номер игры, день и счет (очков, выигранных командой).
В общих чертах формат структуры данных имел вид
ГОД
МЕСЯЦ
МЕСТО
(номер игры, день (команда, счет) (команда, счет)) (номер игры, день, (команда, счет) (команда, счет))
(номер игры, день, (команда, счет) (команда, счет))
Ясно, что эта форма структуры данных пригодна не только для бейсбола, и при написании подпрограмм обработки данных в программе BASEBALL имелась в виду работа с любыми иерархическими структурами данных независимо от интерпретации различных уровней и ветвлений ).
Работу программы BASEBALL можно понять, рассмотрев два понятия: путь данных и список спецификаций.
Путь данных — это последовательность ветвей, которую надо пройти, чтобы получить информацию о конкретной игре. Напри-
мер, ГОД=1959, МЕСЯЦ - АПРЕЛЬ, МЕСТО = БОСТОН, ИГРА = 55 определяет ИГРУ 55 и по ходу дела устанавливает некоторые сведения об этой игре, С каждой игрой связан единственный путь данных, причем вхождения в него определяют, как показано в примере, признаки игры. Для порождения всех возможных путей данных можно воспользоваться любым простым алгоритмом поиска на дереве, поскольку дерево данных, очевидно, конечно.
Список спецификаций —— это список признаков, которыми должен обладать путь данных, чтобы быть допустимым ответом на вопрос. Например, списком спецификаций вопроса
Где (в каких местах) играла s июле команда „Редсокс^? (1) будет
МЕСТО=?
КОМАНДА = РЕДСОКС
МЕСЯЦ = ИЮЛЬ
Допустим, что языковый процессор сформировал список спецификаций для вопроса. Иерархический процессор данных воспринимает список спецификаций и систематически порождает все пути данных, согласующиеся с ним. Путь согласуется со списком спецификаций, если
пара признак — значение (например, КОМАНДА = БОСТОН) содержится и в списке спецификаций, и на пути, или
пара признак — значение в списке спецификаций имеет значение ”?“ (например, МЕСТО = ?), в этом случае соответствующее значение на пути данных регистрируется как возможное (в примере (1) список значений будет ответом).
Если пара признак — значение в списке спецификаций имеет значение КАЖДЫЙ, она согласуется со значением любого признака на пути данных. Тип согласования не регистрируется.
Как уже говорилось, процесс порождения путей данных и согласования их со списком спецификаций не содержит ничего характерного для бейсбольной тематики. Производные пары признак —— значение могут также быть согласованными, но в этом случае они зависят от приложения. Например, рассмотрим вопрос:
Сколько игр в июле выиграно командами на своих полях? (2)
Для ответа на него программа должна найти все пути данных, определяющие игры, для которых значение КОМАНДЫ совпадает со значением МЕСТА, и КОМАНДА, имя которой совпадает со значением МЕСТА, имеет лучший счет. Ясно, что подпрограмма, составляющая соответствующий список спецификаций, опирается на знание игры в бейсбол.
Когда пути данных, удовлетворяющие спискам спецификаций, найдены, они объединяются в основной список. Он также представляется в виде дерева. Например, пути, отвечающие на вопрос (1), можно суммировать так:
МЕСЯЦ = ИЮЛЬ
КОМАНДА «БОСТОН
МЕСТО-БОСТОН, НЬЮ-ЙОРК, ЧИКАГО...
Ответ на вопрос составляется в результате просмотра основного списка. В случае (1) ответ получен простым перечислением значений
МЕСТА в основном списке. Ответ на несколько более сложный вопрос
В скольких местах играла команда „Редсокс^ 8 июле? (3) можно получить, пересчитав значения МЕСТА в основном списке. Схема этой процедуры ответа на вопросы изображена на рис. J4.1. Анализатор подмножества естественного языка воспри-
нимает вопрос на естественном языке, распознает тип заданного вопроса и составляет список спецификаций. Эта часть программы BASEBALL по необходимости связана с областью применения в двух отношениях. Очевидно, она должна иметь доступ к лексикону этой игры. Менее очевидно, что она должна содержать подпрограммы, преобразующие такие выражения естественного языка, как “сколько" или „в каком", в подходящие списки спецификаций. Таким образом, хотя Грин и др. не ограничивали пользователя в задании „индексированных4* вопросов, как делается в библиотеках, они заранее определяли типы вопросов, которые система могла получить.
На шаге (Б) программа порождает основной список данных из списка спецификаций. Как уже отмечалось, большие участки в Б не зависят от приложений, хотя отдельные подпрограммы могут нуж・ даться в производных проверочных признаках. На последнем шаге ответ выводится из основного списка (блоки В1 и В2). Здесь программист снова должен предвидеть тип задаваемых вопросов и ввести в систему подходящую подпрограмму порождения основного списка для каждого типа вопросов.
Как видно из блоков В1 и В2 на рис. 14.1, программа BASEBALL не ограничена вопросами, на которые можно ответить, проходя через данные только один раз. Рассмотрим вопрос 】):
Сколько команд играли в 8 местах в июле? (4)
Исходный список спецификаций таков:
КОМАНДА (ИХ ЧИСЛО) = ?
МЕСТО (ИХ ЧИСЛО) = 8 МЕСЯЦ = ИЮЛЬ
На вопрос, определенный этим списком спецификаций, нельзя ответить сразу. Вместо этого процессор должен исследовать (S1), чтобы сформировать новый список спецификаций:
КОМАНДА = ?
МЕСТО (ИХ ЧИСЛО) = 8
МЕСЯЦ = ИЮЛЬ
и на (S2) нельзя ответить сразу, поэтому нужен вспомогательный вопрос:
КОМАНДА = КАЖДАЯ
МЕСТО (ИХ ЧИСЛО) = 8
МЕСЯЦ = ИЮЛЬ
】)Этот вопрос «в духе» программы BASEBALL, но он не детализирует процесс согласования.
На (S3) также нельзя сразу ответить, поэтому он запоминается и порождается вопрос
КОМАНДА = КАЖДАЯ МЕСТО = ?
МЕСЯЦ = ИЮЛЬ
На (S4) можно ответить с помощью вопросного процессора, дающего основной список
КОМАНДА = БОСТОН
МЕСТО = НЬЮ-ЙОРК, БОСТОН, ВАШИНГТОН МЕСЯЦ = ИЮЛЬ
ИГРА = НОМЕР ИГРЫ и т. д. и т. д. КОМАНДА н НЬЮ-ЙОРК МЕСТО = НЬЮ-ЙОРК, БОСТОН и т. д.
Спецификация (S4) означает просмотр всех списков вида (S5). Со считав названия мест, можно получить ответ на (S3); его можно преобразовать в список и получить ответ на (S2). Отсюда сразу следует ответ на (S1).
Развитие программы BASEBALL не пошло дальше рамок первоначального проекта — обычная судьба систем искусственного интеллекта. В самом деле, идея иерархической структуры данных, кажется, исчезла из программирования для машинного понимания. Это несколько удивляет, ибо иерархические структуры позволяют осуществить эффективное управление данными, особенно если большой объем информации необходимо держать частично в первичной памяти и частично в относительно медленно работающих, недорогих устройствах памяти (подробности см. в статье Сассенгута, 1963). Кроме того, иерархические структуры можно реализовать методами управления данными, совместимыми с более традиционными системами обработки информации (Хант и Килдалл, 1971; Лефковиц, 1969). Без сомнения, когда собираешься пользоваться „понимаю- щимии программами, надо на каком-то этапе поставить неизбежные практические вопросы стоимости и системной совместимости. Возможно, в будущем стоило бы вернуться к принципам, реализованным в этой довольно старой программе.
DEACON: кольцевые структурыи приближения английского языка
Следующий пример, который мы обсудим, DEACON (Direct English Access and Control — прямой доступ и управление на английском языке; Крейг, Березнер, Карни и Лавьёр, 1966), представляет собой экспериментальную систему для управления некоторой фиктивной военной базой данных. Как и в случае BASEBALL, струк-
тура данных в DEACON носит более общий характер, чем ее конкретное приложение. В самом деле, база данных в DEACON состоит, строго говоря, из неупорядоченных множеств, и в силу этой общности может иметь любую желаемую структуру. Структура данных, однако, не самая достопримечательная особенность системы DEACON. В ней структура языка пользователя связана со структурой базы данных гораздо теснее, чем в большинстве программ информационного поиска. На первый взгляд установление связи между анализом языка и управлением структурой данных может показаться нарушением заповеди программиста об использовании модульных команд. В действительности стремление объединить структуру данных и анализ языка основано на модели Томпсона (1966) того, как работает язык программирования и как мог бы английский язык служить языком программирования для информационного поиска. Основная мысль Томпсона состоит в том, что языки программирования представляют собой аппарат для определения действий в окружающей среде 】).Например, программисты, пользующиеся Фортраном, оперируют с вещественными и целыми числами. Возьмем оператор
A = I + J^f(5)
Синтаксический анализ показывает, что это оператор на Фортране вида
Вещественная переменная = целая переменная (1) +целая
переменная (2)弊 целая переменная (1)(6)
Как только это установлено, можно определить необходимую для вычислений последовательность умножений, сложений, извлечений и запоминаний. С тем же правом можно сказать, что мы определили необходимые последовательности изменений в среде. Этот подход применим и при составлении программ управления данными. Если у нас есть подходящая структура данных для описания среды и множество правил перевода высказываний на языке типа английского в последовательности действий в среде, то не обязательно чтобы процессы перевода и исполнения разделялись. Действительно, если используется язык типа английского, то разделение процессов может оказаться нежелательным, ибо один из действенных способов отделения различных значений неоднозначных выражений состоит в выяснении того, какое из них соответствует разумным действиям в среде а).
Основной структурой данных в DEACON является кольцо. Кольцо — это неупорядоченный список (множество) элементов,
х) С этих позиций можно рассматривать все программирование для ЭВМ. В книге Вегнера (1968) это обсуждается подробно.
2) Интересно, что Томпсон в своей последующей работе (Достерт и Томпсон, 1971), кажется, отошел от этих взглядов.
Морская пехота **
Рис* 14.2. Кольца в примере работы программы DEACON
физически реализованный последовательным соединением слов вы- числительной машины друг с другом, причем последнее слово из списка соединяется с первым (обсуждение методов соединения содержится в книге Кнута, 1969). Каждое кольцо содержит множество имен, некоторые из них могут быть названиями других колец. На рис. 14.2 показано множество колец для гипотетической военной ситуации. Каждый референтный термин {артиллерия, бронетанковые войска, батальон, 638-й а /2-й) в языке пользователя служит наз-
ванием кольца в структуре данных, так же, как имена переменных в Фортране относятся к ячейкам памяти ЭВМ. Связи между кольцами соответствуют отношениям между основными терминами. Таким образом, на рис. 14.2 мы найдем, что „12-й1* означает „полк морской артиллерии**, так как “12“ одновременно входит в каждое из соответствующих колец.
DEACON распознает команду, обнаруживая во входном языке характерную структуру, которую он воспринимает как приказ выполнить операцию на базе данных. Слова в этом лексиконе разбиваются на два класса: функциональные слова и референтные. Функциональные слова участвуют в идентификации структур, в то время как референтные определяют конкретные кольцевые структуры. Когда на входе появляется английское предложение, для него сначала разыскиваются референтные и функциональные слова, а затем последовательность референтных и функциональных слов, чтобы установить, согласуется ли она с одной или несколькими из предварительно определенных структур. Если структура найдена, то можно либо продолжить определение входной цепочки, либо выполнить операцию в базе данных. Когда две структуры одновременно соответствуют одной и той же цепочке, выполняются операции, определенные каждой структурой, пока одна из операций не станет невозможной. В этом случае соответствующая структура удаляется. Как будет показано в нашем примере, анализ системы DEACON очень похож на метод систем продукций, рекомендуемый Ньюэллом и Саймоном (1972).
Эти идеи можно продемонстрировать на примере, предложенном Крейгом и др. (1966). Рассмотрим структуру данных, показанную на рис. 14.3, и допустим, что задается вопрос:
WHO IS COMMANDER OF THE 638TH BATTALION? <KTO (ЕСТЬ) КОМАНДИР 638-ГО БАТАЛЬОНА?) 丿
Эта цепочка содержит функциональные слова who. of, thet ? и референтные слова командир, 638 и батальон. Предложение (7а) сначала упрощается до
WHOCOMMANDER (RI)OF THE 638 (R2) BATTALION (R3)?,7.. <KTO КОМАНДИР (R1) 638-ГО (R2) БАТАЛЬОНА(R3)?>('°丿 Теперь начинается поиск структур. Структура в DEACON, согласующаяся с (76), описывается так:
Синтаксис Входная цепочка содержит последовательность R1, а за ней сразу R2 (записывается R1+R2)
Семантика База данных содержит два различных кольца с именами R1 и R2, содержащие имена друг друга в качестве входов (это называется пересечением)
Действие Заменить R1+R2 во входной цепочке на R1
Предложение (76) содержит 638+BATTALION, так что синтаксическое условие удовлетворяется. Исследуем данные, чтобы проверить, удовлетворяется ли семантическое условие. Как видно из
рис. 14.3, оно удовлетворяется, поскольку 638 появляется в кольце BATTALION и обратно. Предложение принимает вид
WHO COMMANDER (RI) OF THE 638 (R2)?
<KTO КОМАНДИР (RI) 638-ГО(R2)?>(%)
Теперь применим правило the+Rf R, позволяющее выбрасывать артикль. Заметим, что иногда это правило неприменимо, поскольку артикль может нести определенную смысловую нагрузку. Получаем
WHO COMMANDER (RI) OF 638 (R2)?
<KTO КОМАНДИР (R1) 638-ГО (R2)?>(“)
Далее DEACON применяет такое правило:
Синтаксис СемантикаДействиеСинтаксис СемантикаДействиеВходная цепочка содержит подцепочку RI of R2 Существует множество связанных попарно пересекающихся колец RI, R2, R3
Синтаксис Семантика
Действие
Синтаксис Семантика
Действие
Заменить RI of R2 на R3
Кольца 638, КОМАНДИР и ПАРКЕР (рис. 14.3) попарно пересекаются, так что предложение принимает вид
WHO PARKER (R3)?⑻
<КТО ПАРКЕР (R3)?>《'
Это согласуется с правилом
С и нтаксис Кто+R
Семантика Отсутствует
Действие Вывести внешнее референтное имя R
Ответом на наш вопрос оказалось имя ПАРКЕР.
Данные поступают на вход DEACON точно так же, как и вопросы. Единственное различие заключается в том, что при получении предложения вида
DATA:THE 638ТН IS A BATTALION
ДАННЫЕ:638-Й ЯВЛЯЕТСЯ БАТАЛЬОНОМ (丿
программа не печатает ответ, а меняет свою базу данных. В общем случае распознавание глагола побуждает подпрограмму изменить связи между кольцами.
DEACON может разрешать синтаксические неопределенности в естественном языке, замечая, что контекст допускает лишь одну осмысленную семантическую интерпретацию. Без сомнения, это как раз то, что делают люди. Ясно, что для высказывания
Джон видел Большой Какьон в полете в Калифорнию возможна единственная интерпретация. Если на одном из этапов в DEACON приходится проводить два возможных анализа, с ними обращаются как с двумя различными вопросами, и на оба даются ответы, если один из них не отпадет из-за того, что для него будет нужна запрещенная семантическая конструкция.
Заявление, что DEACON „использует естественный язык", ошибочно. Язык команд лучше представлять себе как язык программирования, по внешним признакам настолько похожий на английскую речь в областях, связанных с информационным поиском, что его очень легко выучить. В то время, когда работа над DEACON была приостановлена, в „английском** языке управления данными не было возможности ни использовать, ни обрабатывать последовательность предложений или ветвящиеся высказывания. Без сомнения, при желании это все можно добавить к программе. Такая система могла бы работать с легко определенными правилами вывода, и в этом смысле была бы действительно очень мощной. С другой стороны, корректное введение таких правил могло бы оказаться столь же трудным, как и программирование на обычном языке ЭВМ. В какой степени транслятор может считаться моделью понимания?
Структуры баз данных,основанные на значимых отношениях;PROTOSYNTHEX III и связанные с ним системы
Основные составляющие базы данных можно связать друг с другом многими способами. Способность отразить это программами BASEBALL и DEACON ограничена, поскольку в каждой из них единственный способ установить соотношение ——это определить относительные положения двух единиц в базе данных. Другой метод структурирования данных ——связать их с помощью помеченных соотношений. При таком подходе структуру данных можно рассматри-
СпортМужчиныЖенщины
t I t
НадмножествоНадмно^кествоНадмножество
II Любит I
Тенниса^жон _:_ Мзрн
Рис. 14.4. Структура данных, представленная помеченным графом.
вать как граф, в котором узлами служат объекты базы данных, а помеченные дуги определяют соотношения. Куиллиан (1968, 1969) говорил о таких структурах как о семантических сетях, и хотя этот термин не очень точно соответствует нашему представлению о семантике, он довольно краток и его можно эффективно использовать. На рис. 14.4 приведена семантическая сеть, определяющая некоторые элементарные факты о человеке и его окружении. На каком- то этапе нам придется несколько усложнить это представление, но основная идея не изменится.
Семантические сети возникали в ряде программ при попытках реализовать процесс понимания. Одно из основных понятий в области семантических сетей ——типовое-символьное различие (Куиллиан, 1968). Любая рассматриваемая область содержит набор объектов. Сами по себе эти объекты определяются их взаимоотношениями с другими объектами, образуя семантическую сеть. Внутри нее должен находиться узел, связанный с определением каждого объекта. Он называется типовым узлом. Кроме того, сеть должна содержать другие узлы, относящиеся к частным случаям объекта в связи с его соотнесением с другими объектами. Это символьные узлы. Для иллюстрации представьте себе структуру данных, определяющую вхождения в словарь. Символьный узел слова мужчина определился бы как отношение подмножества к понятиям мужской и Homo sapiens. Рассмотрим теперь определение слова адвокат. Адвокат можно определить как мужчина при условии, что мужчина удовлетворяет отношениям, выражающим мысль „тот, кто дает со-
веты в соответствии с законом". Узел для мужчина в определении слова адвокат, очевидно, должен был бы участвовать в отношениях совсем другого рода, чем узел для мужчина в определении слова врач.
Представление в виде семантической сети приводит непосредственно к установлению правил вывода. В сущности, можно взять правило вывода, говорящее о том, что если в базе данных точно указано, что между узлами Л и В существует отношение R, а между узлами В и С — отношение R?, то можно вывести отношение Rb между узлами Л и С. Простой пример: если входные данные указывают, что „Джон выше Мэри, а Мэри выше Сью“,то „понимающая** программа может вывести, что „Джон выше Сью". Эта идея не нова. Представление в форме графа — один из классических способов представления дедукции. При программировании понимания, однако, мь> не ограничены традиционными правилами вывода. Например, можно применить „психологическое*4 правило, утверждающее, что если X — подмножество в мужчина и находится в отношении любит к подмножеству У в женщина, aZ — также подмножество вмужчцна и находится в отношении любит к У, то можно вывести, что „X не любит Z“・
PROTOSYNTHEX III (Шварц, Бюргер и Симмонс, 1970) представляет амбициозную попытку применить представление с помощью семантической сети в информационном поиске 】)• Кроме семантической сети, в PROTOSYNTHEX содержатся очень сложные правила вывода. Принятая здесь структура данных описывается ниже.
Основной элемент структуры данных в PROTOSYNTНЕX — это „тройка событий*4 XRYy в которой Xt R и Y — либо примитивные объекты лексикона (т. е. термы с типовыми узлами), а именно символы типовых узлов, либо в свою очередь тройки событий. Интерпретация тройки событий такова: „X находится в отношении R к Уи. Поскольку отношение R может быть вполне определенным, а тройка XRY сама может быть термом в тройке событий, мы представляем ее не дугой с меткой R, соединяющей X н У, а узлом, соединенным с узлами X, R и Y с помощью дуг X, R и Y, Это показано на рис. 14.5. PROTOSYNTHEX III содержит свои данные в сети троек событий. Кроме того, программа использует сеть семантической информации о событиях и отношениях, которые могут возникнуть. Семантическую информацию можно разбить на два класса.
х) Мы должны сделать одну оговорку. Наше понимание системы PROTOSYNTHEX основано на опубликованных отчетах. Нам было трудно разобраться в них отчасти потому, что в них есть противоречия между содержанием текста и иллюстративными примерами. Поэтому мы излагаем здесь, как могла бы, по нашему мнению, работать программа PROTOSYNTHEX. Более простая реализация подхода, связанного с семантическими сетями, принадлежит Мак-Калле и Сэмпсону (1972).
Отношения между термами отражает сеть иерархий и эквивалентностей. Эта сеть указывает программе такие факты, как мужчина есть Ното sapiens мужского рода, Сократ есть мужчина, человек — то же самое, что Homo sapiens, и т. д. Далее, PROTOSYNTHEX располагает классами интерпретируемых событий, называемых семантическими формами событий (СФС); они составляют общие классы событий XRY. Следовательно, в качестве частного случая такой тройки С①С, как (ЖИВОТНЫЕ ЕДЯТ ПИЩУ), можно взять ВОЛКИ ПИТАЮТСЯ МЯСОМ. СФС особенно важны на этапе вывода, поскольку в общем виде можно установить правила вывода как соотношения между СФС и применить к конкретным тройкам событий.
Рис. 14.5. Представление тройкой событий соотношения Джин любит Мэри.
PROTOSYNTHEX содержит также языковый препроцессор, отображающий предложения на английском языке в тройки событий. Очевидно, эта программа похожа на предпроцессорную программу в BASEBALL тем, что она определяет внутреннюю форму сообщения без обратной связи с его частичным анализом. Этим она отличается от программы DEACON, в которой анализ языка объединяется с анализом структуры данных. Мы не будем обсуждать программу анализа языка, а ограничимся лишь замечанием, что невозможность использования семантической обратной связи может оказаться весьма ограничительной.
Следующий пример иллюстрирует структуру данных в PROTOSYNTHEX и показывает, как можно ответить на вопрос, не прибегая к правилам вывода. На вход подается предложение
The stones and iron that fall to earth from outer space are called meteorites.(10)
〈Те камни и куски железа, которые упали на землю из космического пространства, называются метеоритами .у
Основные понятия здесь — это камни, земля, на, куски железа, пространство, космическое, падают, называются, метеориты. Кроме того, здесь есть ряд уточняющих термов „первого порядка". Они обозначаются помеченными дугами, определяющими тип уточнения. Например, „упали на землю" указывает на конкретный тип падения, падение в конкретную область. Это выражается так: УПАЛИ 匕 ЗЕМЛЮ. Следующие модифицированные термы помечаются:
(Т1.1) УПАЛИ НА ЗЕМЛЮ
(TL2) ПРОСТРАНСТВО МОД. КОСМИЧЕСКОЕ
(т. е. КОСМИЧЕСКОЕ ПРОСТРАНСТВО)
Из одних модифицированных термов могут создаваться другие:
(Т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а)
Метеорит быть „метеориты6*.(126)
Кусок железа, который упал на землю 〃з космического пространства, быть “метеорат".(12в)
Камень, который упал на землю из космического пространств 电 быть „метеорит^1.(12г)
Ответы (12а) и (126) получены, когда обнаружилось, что в семан' тической информации существует отношение эквивалентности между
ТЛе<артикль>Q
RRЛЛ4nd<n>У X4nd<n>У XллТ2.4Т2.4<на總唸ся><%將總a 72.5 <на鑑翦旣匐寵<на總唸ся><%將總a 72.5 <на鑑翦旣匐寵ТОР^ВЕРХ>ТОР^ВЕРХ>Объект-VmoCalled < Называется»Объект-VmoCalled < Называется»8 方 0ке$<Камнц>1IronМеЗ也 Leie㈱А*е»еза>< Метеориты -метеори т〉8 方 0ке$<Камнц>1IronМеЗ也 Leie㈱А*е»еза>< Метеориты -метеори т〉Egaii/aJe就=右<Н8 м ется)Egaii/aJe就=右<Н8 м ется)X
R
R
Л
Л
4nd<n>
У X
4nd<n>
У X
л
л
Т2.4
Т2.4
<на總唸ся><%將總a 72.5 <на鑑翦旣匐寵
<на總唸ся><%將總a 72.5 <на鑑翦旣匐寵
ТОР^ВЕРХ>
ТОР^ВЕРХ>
Объект-VmoCalled < Называется»
Объект-VmoCalled < Называется»
8 方 0ке$<Камнц>1Iron
МеЗ也 Leie㈱А*е»еза>
< Метеориты -метеори т〉
8 方 0ке$<Камнц>1Iron
МеЗ也 Leie㈱А*е»еза>
< Метеориты -метеори т〉
Egaii/aJe就=右<Н8 м ется)
Egaii/aJe就=右<Н8 м ется)
[PROTOSYNTHEX: а - трой- формы событий.[PROTOSYNTHEX: а - трой- формы событий.Рнс. 14.6. Данные к примеру работы программы кн событий; б — семантические (
[PROTOSYNTHEX: а - трой- формы событий.
[PROTOSYNTHEX: а - трой- формы событий.
двумя термами. Ответы (12в) и (12г) получены, когда обнаружилось, что вопрос (11) эквивалентен тройке
объект эквивалентен метеорит(13)
и тройки событий
Т2.4 называются метеоритами(14)
Т2.5 называются метеоритами(15)
имеют такую же форму, как (13),
Интуитивно ясно, что семантические сети дают естественный способ выражения сложных утверждений, но их практическая реализация довольно трудна. Это представление обходится дорого и в смысле машинного времени, и в смысле занимаемой памяти. Шварц и др. (1970) сообщают, что для ответа на самые простые вопросы с
использованием очень малой базы данных потребовалось время до 20 мин. Поскольку эти результаты получены на устаревшей теперь вычислительной машине (военная ЭВМ AN/FSO-32) и их, несомненно, можно улучшить, возникает вопрос, будет ли это улучшение достаточным. Для практических задач понимания мы должны увеличить скорость и емкость памяти по крайней мере на два порядка. Сомнительно, что развитие вычислительной техники позволит достичь этого в ближайшем будущем. Подобные проблемы свойственны и другим системам, в которых применяются семантические сети. Возможно, еще большая трудность связана с числом отношений, которые надо задать, чтобы получить систему, способную к серьезным рассуждениям. Абельсон (1966) указал, что моделирование человеческих рассуждений на ЭВМ часто бывает неудачным, так как мы забываем включить в базу данных такие прозаические факты, как Люди, остающиеся под дождем, оказываются мокрыми. Поскольку мы не можем предвидеть все факты, которые могут понадобиться „понимающей'1 программе, мн должны учесть все отношения, которые, возможно, здесь существенны. Даже если мы располагаем машинными возможностями, позволяющими работать с нужным нам графом, то как нам подготовить данные? С другой стороны, каков иной выход? Чтобы достичь максимального машинного понимания, нам, быть может, придется перенести в память ЭВМ все определения словаря Уэбстера. Сейчас это неосуществимо, хотя, возможно, скоро станет реальным применять семантические сети для представления нетривиальных баз данных при ограниченных требованиях к пониманию в специальных приложениях, таких, как токсикология или законодательство о недвижимом имуществе. До этого, однако, необходимо разработать практический пример такого метода.
14.14 Замечание о структурах данных и понимании
Сейчас мы просто не знаем, практично ли строить крупномасштабную вопросно-ответную систему. Кое-кто хочет попытаться. Одна из наиболее честолюбивых попыток — программа CONVERSE, создающаяся в Корпорации системных разработок (SDC) (Келлог, 1968; Келлог, Бюргер, Диллер и Фогт, 1971) Это очень большая система, предназначенная для машин третьего поколения с разделением времени (IBM 360/67). По данным 1971 г. эта система могла работать с массивами, содержащими более 10 000 фактов о 120 американских городах (Келлог и др. 1971). О временах ответов на запросы не сообщалось. В системе CONVERSE новых идей нет, но в ней воплощены две важные идеи. Ее структуры данных состоят из элементов (как кольца в DEACON) с помеченными дугами, определяющими отношения между множествами, а не между отдельными элементами. Система CONVERSE оказалась удачной программистской попыткой объединить многие решения мелких задач,
возникавших ранее в различных программах. В некоторых отношениях она воплощает максимум из того, что известно о том, какими должны быть структуры данных в „понимающих*" программах. CONVERSE и подобные системы, несомненно, будут применяться, когда ЭВМ смогут работать быстрее, а устройства памяти станут дешевле. Вполне возможно, что исследование этих систем покажет, нуждаемся мы в новой технологии или же в новых плодотворных идеях информационного поиска.
14.2. Дедуктивный вывод в информационном поиске
0. Существующие методы
Программы, обладающие способностью понимания, должны уметь отвечать на запросы, определяя, какой смысл заключен в той или иной базе данных и что она содержит. Для этого программа должна осуществлять вывод одних фактов из других. Как подразумевается в слове „выводить**, соответствующие необходимые процедуры имеют самое непосредственное отношение к доказательству теоремы. Существуют, однако, важные различия между доказательством теорем и выводом при информационном поиске.
Алгоритм вывода фактов должен быть корректным. Кажется, нет реальной ситуации, где были бы приемлемы ложные ответы. С другой стороны, полнота, т. е. способность ответить на любой вопрос, допускающий ответ, не является непременным условием. Как мы видели при обсуждении доказательства теорем, полнота часто достигается очень дорогой ценой. В наиболее реальных вопросно-ответных ситуациях большинство вопросов относится к одному и тому же типу, и лишь немногие — к другим. Цель конструктора такой системы ——максимизировать полезность системы для пользователя ", так что иногда было бы целесообразно пожертвовать способностью вообще отвечать на одни вопросы, чтобы на другие вопросы можно было отвечать очень быстро. Как и следовало ожидать, при создании экспериментальных вопросно-ответных систем вывода такими сугубо практическими соображениями пренебрегали. Возможно, это было оправдано.
Мы будем различать несколько типов сложности в процедурах вывода. На самом нижнем уровне программа может быть способной только к перераспределению имеющихся фактов для ответа иа запрос. Это демонстрировалось при ответе системы DEACON на вопрос „Кто командир 638-?о батальона?''у где ответ был получен подбором нужного сочетания вхождений в базу данных. В качестве побочного продукта процесса ответа на вопросы никакие новые
丄)Заметим, что такой критерий не должен сделать для нас все отдельные вопросы одинаково важными.
данные не были получены. Более мощный способ — ввести специальные операции для вывода новых фактов. Здесь очень важны вопросы полноты, практичности и определения стратегии решения задач. Программа может содержать ограниченное множество операторов, таких, как импликация и включение множеств, выполнение которых не представляет труда, но которые обеспечивают лишь ограниченные возможности вывода. Другим крайним случаем была бы программа, содержащая полную систему вывода, как, например, резолюции, и рискующая тем, что на некоторые выводы будет тратиться очень много времени.
Третий подход состоит в том, чтобы позволить пользователю определять свои собственные процедуры вывода. По существу, пользователь задает вопрос и затем сообщает системе, как найти ответ. Этот подход разделяют Слей гл (1965) в системе DEDUCOM, а также Достерт и Томпсон (1971). Он в принципе отдает все возможности машины в руки пользователя, но может также возложить на него бремя программистской работы. Наоборот, система информационного поиска может содержать заранее составленные подпрограммы дедуктивного вывода, но в то же время позволять пользователю выбирать при желании стратегию.
2.1. Системы, использующие неполный вывод
ЛЛ. РЕАГИРУЮЩАЯ БИБЛИОТЕКА
Нашим первым примером будет очень ограниченная система неполного вывода, которая предназначалась для эксперимента е возможностями некоторых грубых правил вывода (Хант и Куинлан, 1967). В литературе термин „машинное понимание** фактически считается синонимом ответов на вопросы, но эта программа не была классической системой такого *рода. Зато она запоминала факты и комментировала связи старых фактов с новыми. Поэтому мы назвали программу РЕАГИРУЮЩАЯ БИБЛИОТЕКА по аналогии с библиотекарем, который публикует комментарии к поступающим книгам. Работа системы проверялась на вполне реальной задаче — анализе литературы по физиологии памяти. Мы будем брать примеры из этой же области.
РЕАГИРУЮЩАЯ БИБЛИОТЕКА накапливала и сортировала короткие утверждения (факты), например, такие, с помощью которых можно было бы резюмировать результаты эксперимента. При поступлении нового факта принимались во внимание его импликации, если они были как-то связаны с уже имеющимися фактами. Программа порождала два типа импликаций: либо два факта могли сочетаться друг с другом и обобщаться, образуя новое утверждение, называемое метафактом, либо новый факт мог противоречить старому (непосредственно или тем, что приводил к про-
тиворечащему ему обобщению). В табл. 14.1 приведены результаты трех последовательных добавлений к базе данных, взятых из утверждений гл. 3 книги Дойча и Дойча (1966) 1}. Чтобы продемонстрировать, как система осуществляет вывод, рассмотрим ее реакции на некоторые последующие вводы данных, когда табл. 14.1 уже
Таблица 14.1
Выборки входов и выход РЕАГИРУЮЩЕЙ БИБЛИОТЕКИ
ВХОД:ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТВУЕТ
ОБУЧЕНИЮ РАСПОЗНАВАНИЮ ДЛЯ WISTAR
В ПАМЯТИ: ДО ОПЫТА ВВЕДЕНИЕ ПИКРОТОКСИН СПОСОБСТВОВАТЬ ОБУЧЕНИЕ РАСПОЗНАВАНИЕ WISTAR
ВХОД:ВНУТРИБРЮШНОЕ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВУЕТ
ОБУЧЕНИЮ ИЗБЕГАНИЮ ДЛЯ TRYON-S1
В ПАМЯТИ: ВБ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВОВАТЬ ОБУЧЕНИЕ ИЗБЕГАНИЕ TRYON-S1
НЕ СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ
ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТ
ВУЕТ ОБУЧЕНИЮ РАСПОЗНАВАНИЮ ДЛЯ WISTAR
НЕ СОГЛАСУЕТСЯ С МЕТАФАКТОМ
ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ
УЛУЧШАТЬ ОБУЧЕНИЕ КРЫСА
ВХОД: ВВЕДЕНИЕ СТРИХНИНА ПОСЛЕ ОПЫТА УЛУЧШАЕТ
ОБУЧЕНИЕ РАСПОЗНАВАНИЮ ДЛЯ TRYON-S3
В ПАМЯТИ: ПОСЛЕ ОПЫТА ВВЕДЕНИЕ СТРИХНИН УЛУЧШАТЬ ОБУЧЕНИЕ РАСПОЗНАВАНИЕ TRYON-S3
СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ
ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТВУЕТ
ОБУЧЕНИЮ РАСПОЗНАВАНИЮ ДЛЯ WISTAR
СОГЛАСУЕТСЯ С МЕТАФАКТОМ
СВОЕВРЕМЕННОЕ ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮ
ЩИЙ СУДОРОГИ УЛУЧШАТЬ РАСПОЗНАВАНИЕ КРЫСА НЕ СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ
ВНУТРИБРЮШНОЕ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВУЕТ
ОБУЧЕНИЮ ИЗБЕГАНИЮ ДЛЯ TRYON-S1
НЕ СОГЛАСУЕТСЯ С МЕТАФАКТОМ
ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ ПРЕПЯТСТВОВАТЬ ОБУЧЕНИЕ КРЫСА
X) При изучении этого примера полезно знать, что WISTAR, TRYON-S3 и TRYON-S1 — это разновидности крыс, используемых в психологических лабораториях, и что стрихнин, пикротоксин и 1757-1— препараты, вызывающие судороги.
содержится в памяти. Четвертым входным утверждением было
ВВЕДЕНИЕ СТРИХНИНА ПОСЛЕ ОПЫТА УЛУЧШАЕТ ОБУЧЕНИЕ РАСПОЗНАВАНИЮ У TRYON-S3. (16)
Система ответила:
СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ
ВВЕДЕНИЕ ПИКРОТОКСИНА ДО ОПЫТА СПОСОБСТВУЕТ РАСПОЗНАВАНИЮ ДЛЯ WISTAR (17) СОГЛАСУЕТСЯ С МЕТАФАКТОМ
ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ
УЛУЧШАТЬ РАСПОЗНАВАНИЕ КРЫСА
и
НЕ СОГЛАСУЕТСЯ С ИМЕЮЩИМСЯ ФАКТОМ
ВБ ВВЕДЕНИЕ 1757-1 ПРЕПЯТСТВОВАТЬ(18)
ОБУЧЕНИЕ ИЗБЕГАНИЕ TRYON-S1
НЕ СОГЛАСУЕТСЯ С МЕТАФАКТОМ
ВВЕДЕНИЕ ПРЕПАРАТ ВЫЗЫВАЮЩИЙ СУДОРОГИ ПРЕПЯТСТВОВАТЬ ОБУЧЕНИЕ КРЫСА
Заметим, что все извлеченные факты содержат глагол, являющийся приблизительно либо синонимом, либо антонимом глагола во входном предложении. Если это синоним, фиксируется соответствие (согласие), если это антоним — несоответствие. Кстати, если глагол имеет форму ”НЕ …“,он воспринимается как антоним. Кроме того, видно, что в поиске также участвуют неглагольные формы. Согласие или несогласие определяется метафактами. Все термы типа существительного (операнды) в метафакте представляют собой либо операнды входа, либо обобщения этих операндов (обратите внимание на замену в нашем примере ”стрихнина" на „препарат, вызывающий судороги*4). Каждый извлеченный факт содержит в своем операнде конкретизации обобщения, высказанного в метафакте. Для пользователя это совершенно очевидно.
Посмотрим теперь, что происходило на уровне программных операций. РЕАГИРУЮЩАЯ БИБЛИОТЕКА состояла из двух частей: программы и словаря. В словарь входили два класса слов: операнды и глаголы. Как и DEACON, РЕАГИРУЮЩАЯ БИБЛИОТЕКА обрабатывала предложение как упорядоченное множество элементов словаря, содержащего их. Предложение
ПРИМЕНЕНИЕ ЭЛЕКТРОСУДОРОЖНЫЙ ШОК
ПОСЛЕ ОПЫТА
ЧАСТО НАРУШАЕТ ПАМЯТЬ
будет запомнено как
ЭЛЕКТРОСУДОРОЖНЫЙ ШОК ПОСЛЕ ОПЫТА
НАРУШАЕТ ПАМЯТЬ) (2°)
При этом предполагается, что другие слова предложения (ПРИМЕНЕНИЕ, ЧАСТО) в словаре не содержатся. Каждый глагол относится к некоторому классу глаголов, который в дальнейшем разбивается на множества положительных и отрицательных термов. Например, класс глаголов создать — разрушить содержит положительные термы
СОЗДАТЬ, СПОСОБСТВОВАТЬ, УЛУЧШАТЬ и отрицательные термы
МЕШАТЬ, НАРУШАТЬ, РАЗРУШАТЬ
Мы будем считать, что глагол, помимо принадлежности классу, обладает знаком. Если во входном предложении глаголу предшествует НЕ, то знак глагола меняется. Хотя это не соответствует в точности нормам естественного языка, для большинства целей это оказалось достаточным приближением к языку.
Операнды связаны друг с другом включением множеств. Так, СТРИХНИН включен в множество ПРЕПАРАТЫ ВЫ3ЫВАЮЩИЕ СУДОРОГИ. Возможно также включение операнда в два множества, ни одно из которых не содержит целиком другого. В физиологическом словаре ЭЛ Е КТ РОС УДОРОЖИ Ы Й ШОК (ЭСШ) включен в множества ТРАВМА и ЭЛЕ КТРОШОК.
Каждый операнд имел внутреннее представление в виде кода, допускающего непосредственное сопоставление операндов для определения их наименьшего пересечения. Пусть имя операнда закодировано цепочкой символов, где первый символ —— имя самого общего класса, которому принадлежат операнды, второй символ ——имя второго по степени общности класса и т. д. Следовательно, если бы Ж было кодом животного, ЖМ могло быть кодом млекопитающего, ЖМК —— кодом крысы, а ЖМК6 —— кодами, скажем, для крыс TRYON-S1 и TRYON-S3. С помощью простой операции на масках можно определить „общий знаменатель** так, что для кодовых слов ЖМК6 и ЖМК7 наименьшим „общим знаменателем" будет ЖМК, т. е. код для крысы. Точно так же можно сразу найти имена всех млекопитающих, выделив в качестве первых двух символов все коды с ЖМ. Для случая, когда данный терм входит в два множества, ни одно из которых не содержит целиком другого, как в примере с ЭСШ, имя операнда можно приписать одному или более кодам.
Было бы неудобно, если бы очень много операндов должны были иметь много разных кодов, но для приложений (физиологической психологии и лесничества), в которых использовалась эта программа, это не вызвало трудности.
Для внутренних целей предложения кодировались классом их глагола и знаком, а также множеством их левых и правых операндов. Перечислим компоненты в примере (19):
глагол - НАРУШАТЬ (ПОЛОЖИТЕЛЬНЫЙ)
левый — ЭСШ, ПОСЛЕ ОПЫТА(21)
правый = ПАМЯТЬ
При появлении каждого нового факта в массиве уже имеющихся фактов осуществлялся поиск с целью найти факт, глагол которого принадлежал тому же классу, что и глагол входного факта. Новый и извлеченный факты затем сравнивались обобщением. Процесс обобщения состоял из следующих этапов:
Удаление одного или более операндов или из субъекта, или из объекта.
Замена операнда более общим.
Процесс специализации заключался в замене операнда одним из его субъектов. Так, например, если
КОШКА 三 СЕМЕЙСТВО КОШАЧЬИХ 三 ЖИВОТНЫЕ
КРЫСА 三 СЕМЕЙСТВО ГРЫЗУНОВ 三 ЖИВОТНЫЕ (22)
то некоторыми из полученных фактов, с которыми факт
КОШКИ ЕДЯТ ГРЫЗУНОВ(23)
можно связать описанными выше процессами, были
кошки ЕДЯТ ГРЫЗУНОВ
ЖИВОТНЫЕ ИЗ СЕМЕЙСТВА КОШАЧЬИХ ЕДЯТ КРЫС
КОШКИ ЕДЯТ ЖИВОТНЫХ(24)
ЖИВОТНЫЕ ЕДЯТ животных
Если можно найти метафакт, в который можно преобразовать входной и имеющийся факты, то система фиксирует соответствие или несоответствие в зависимости от того, согласуются или нет знаки сравниваемых фактов.
Иногда пользователи хотели пресечь все или некоторые направления поиска, которые могла породить РЕАГИРУЮЩАЯ БИБЛИОТЕКА. Такая возможность обеспечивалась множеством селективных команд, позволявших пользователю определять новые операнды или ограничивать сравнение несколькими операндами.
Эти удобства не относятся к программе искусственного интеллекта, и мы их обсуждать не будем.
После исследования этой области оказалось, что РЕАГИРУЮЩАЯ БИБЛИОТЕКА интересна, но сама по себе не является адекватной системой информационного поиска. Пользователи сообщали, что она была бы очень полезна в паре с обыкновенной системой поиска документов. Это указывает на возможность применения ее для автоматизации библиотечного дела. Для искусственного интеллекта РЕАГИРУЮЩАЯ БИБЛИОТЕКА интересна в основном тем, что она показывает, что понимание не ограничивается ответами на отдельные вопросы и даже очень ограниченная программа может дать интересные обобщения. Легко привести пример, в котором РЕАГИРУЮЩАЯ БИБЛИОТЕКА выдает на выходе какую-нибудь глупость, но это не меняет существа дела. Неразумный ответ люди легко обнаружат. В чем они действительно нуждаются —— это в напоминании о том, что сведения, которые они когда-то знали, но забыли, могут быть связаны с информацией, которую они только что получили. Ценность же сообщения им чего-то малосодержательного мала.
14.2 J.2. Дедуктивные подпрограммы системы PROTOSYNTHEX
PROTOSYNTHEX III (Шварц и др., 1970) содержит несколько сложных приемов для работы с импликациями троек XRY, формирующих основную базу данных. PROTOSYNTHEX ——„истинный1* ответчик на вопросы, ибо может отвечать на специальные вопросы о своей базе данных. Как мы видели в примерах для систем BASEBALL и PROTOSYNTHEX, при ответе на вопросы может потребоваться просто изощренный поиск правильных комбинаций введенных ранее фактов. PROTOSYNTHEX может также отвечать на вопрос выводом новой тройки XRY из уже имеющихся троек. Применявшиеся методы дедуктивного вывода очень похожи на методы доказательства теорем в таких системах с продукциями, как FDS (Куинлан и Хант, 1968) и GPS (Эрнст и Ньюэлл, 1969). Продукции в PROTOSYNTНЕХ основаны на пяти свойствах отношений, которые могут возникнуть в тройке XRY и пяти правилах для объединения отношений в более сложные. Подробности этих правил и их приложения громоздки, поэтому за точным описанием читателя отсылаем к статье Шварца и др. (1970). Процесс дедуктивного ответа на вопросы в PROTOSYNTHEX мы проиллюстрируем на примере, привлекая правила вывода по мере необходимости.
Основная стратегия в PROTOSYNTHEX — представить вопрос в виде начального узла в И/ИЛИ-графе решения задачи. Если на вопрос нельзя ответить сразу, порождаются подзадачи; для них либо находится ответ, либо строятся подподзадачи. Таким образом.
здесь непосредственно применимы алгоритмы раскрытия графов решения задач. Фактически PROTOSYNTHEX выбирает, какую очередную подзадачу раскрыть, и применяет для этого алгоритм, подобный алгоритму Multiple Слейгла и Бурского (1966). Вопросы и подвопросы можно считать условиями, которым должна удовлетворять тройка событий, если ее рассматривать как ответ на вопрос. На вопрос дан ответ, если в базе данных найдена подходящая тройка событий или ее можно вывести из имеющихся троек с помощью правил вывода.
Y-Y-Т100Т100ТЮ1XТЮ1XТ105Т105/ 、Наполеон Командир Армия МОД французскаяБитва при Ватерлоо/ 、Наполеон Командир Армия МОД французскаяБитва при ВатерлооТЮЗТЮЗRR
Y-
Y-
Т100
Т100
ТЮ1X
ТЮ1X
Т105
Т105
/ 、
Наполеон Командир Армия МОД французскаяБитва при Ватерлоо
/ 、
Наполеон Командир Армия МОД французскаяБитва при Ватерлоо
ТЮЗ
ТЮЗ
R
R
Проиграла в 1815
Рис. 14.7. Тройка событий для Наполеон командовал французской армией, кото-рая проиграла битву при Ватерлоо s 1815 (модифицированный граф, представ-ленный Шварцем и др., 1970).
Шварц и др. предлагают следующий пример. База данных выведена из предложения
НАПОЛЕОН КОМАНДОВАЛ ФРАНЦУЗСКОЙ АРМИЕЙ КОТОРАЯ ПРОИГРАЛА БИТВУ ПРИ ВАТЕРЛОО (25)
В 1815.
Кроме того, системе сообщили ряд семантических фактов: НАПОЛЕОН это ГЕНЕРАЛ, ГЕНЕРАЛ это ЧЕЛОВЕК, КТО и ЧЕЛОВЕК эквивалентны и т. д. На рис. 14.7 изображен граф внутреннего представления этой базы данных и. Был задан вопрос:
КТО ПРОИГРАЛ БИТВУ ПРИ ВАТЕРЛОО? (26)
PROTOSYNTHEX распознает, что структура вопроса такова:
КТО ПРОИГРАЛ (БИТВА ПРИ ВАТЕРЛОО)(27)
Она содержит две вопросные тройки
БИТВА ПРИ ВАТЕРЛОО"(28)
и
ЧЕЛОВЕК ПРОИГРАЛ (БИТВА ПРИ ВАТЕРЛОО) (29)
J) Мы полагаем, что рис. 14.7 не противоречит определению тройки событий, данной Шварцем и др. (1970), хотя отличается от их рис. 1, который явно нарушает нх собственные требования.
Тройку (28) можно сразу поместить в базу данных таким же способом, как в примере разд. 14」・3. Для ответа на (29) PROTOSYN- ТНЕХ применяет правило вывода „сложное произведение** (СП):
Если тройки 4R1C и С R2 В истинны для некоторого С, то “ соотношение A {RI СП R2) В истинно.
Можно определить специальный терм отношения как сложное произведение двух других отношений. Следовательно, в нашем примере база данных содержит
ПРОИГРАЛ ^ (ВОЗГЛАВЛЯЛ СП ПРОИГРАЛ) (30) как часть своей семантической информации. Это означает, что один из способов установить, что ”X проиграл У" состоит в том, чтобы сказать: ”X возглавлял Z и Z проиграл У“・
С помощью правил вывода (30) и СП PROTOSYNTHEX обнаруживает, что
НАПОЛЕОН КОМАНДОВАЛ Т101 (31) содержится в базе данных как пример класса СФС троек ЧЕЛОВЕК ВОЗГЛАВЛЯЛ ГРУППУ. Из рис. 14.7 видно, что
Т101 ТЮЗ Т105 (32)
специфирует ГРУППУ ПРОИГРА ВШУЮ БИТВУ. Программа далее сможет получить, что
НАПОЛЕОН ПРОИГРАЛ Т105 (33)
Поскольку (33)——частный случай вопросной тройки (29), то на обе подцели исходного вопроса даны ответы, так что ответ на этот вопрос найден.
PROTOSYNTHEX демонстрирует два главных преимущества подхода семантических сетей: интуитивная разумность и использование в вопросно-ответной системе продукций и поиска на графе. Кроме того, демонстрируются некоторые возникающие здесь трудности. Мы уже обсуждали практичность управления данными в семантической сети. В системе вывода PROTOSYNTHEX не предусмотрен способ выражения отрицания и введения кванторов, так что она не полна. Шварц и др. указывают, что отрицание можно легко включить, но, сделай они это, система могла бы положительно ответить на противоречивые вопросы, если бы это позволяла база данных. Причина состоит в том, что PROTOSYNTHEX не содержит никакой проверки для предотвращения допуска противоречащих троек событий, таких, как
СОКРАТ ЧЕЛОВЕК
СОКРАТ НЕ ЧЕЛОВЕК
Конечно, никто не потребует от системы доказательства теорем, чтобы она допускала такие утверждения, но в этом ли задача системы дедуктивного ответа на вопросы? Иначе говоря, должна ли программа отвергать противоречивые базы данных? Возможно нет, поскольку много интересных баз данных противоречивы. Литература об экспериментах практически в любой науке полна противоречий, связанных с самыми важными темами исследования. В юриспруденции наиболее сложные юридические проблемы возникают, когда принципы отдельных законов вступают в конфликт. Работающая система PROTOSYNTHEX должна следовать примеру РЕАГИРУЮЩЕЙ БИБЛИОТЕКИ: замечай несоответствия, но не отказывайся их разбирать.
Неудача системы PROTOSYNTHEX в работе с кванторами гораздо серьезнее. В действительности работа с кванторами не была адекватным образом учтена ни одним из решателей задач, применяющих методы продукций. Кроме того, PROTOSYNTHEX не может оперировать с вопросами типа ,,как?“,т. е. с вопросами, для которых нужный ответ будет образом действий, дающим нужный выход. Как мы увидим в следующем разделе, существует естественный метод работы с такими вопросами, основанный на принципе резолюции.
Подводя итог, можно сказать, что подход семантических сетей одновременно и обещает, и разочаровывает. Обещает потому, что кажется таким разумным. На практике системы семантических сетей порождают много умных примеров, которые при ближайшем рассмотрении зависят от частных решений. Поскольку нет законченной формальной теории, как для программ, основанных на принципе резолюции, трудно предвидеть, что еще можно ожидать. Область искусственного интеллекта очень нуждается в теории семантических сетей. Такая теория должна была бы объединить вывод с помощью продукций, теорию графов и методы поиска на графе —одним словом, работу нужно проделать немалую!
DEDUCOM:
объединение вопросно-ответной системы с базой данных
Слейгл (1965) в своей программе DEDUCOM предложил интересную альтернативу применению заранее запрограммированных правил вывода. Она обобщает транслятор с языка Лисп (Мак-Карти и др., 1963), и для объяснения ее сначала вкратце опишем некоторые конструкции Лиспа.
Лисп ——это интерпретирующий язык, выражения и входные данные которого имеют внутреннее представление в виде списочных структур. Поэтому отличить программу от массива данных здесь можно только условно. Фактически программы можно составлять и выполнять в ходе работы, потому что в Лиспе интерпре-
тирующий цикл читает и затем производит вычисления со списочной структурой. Основной тип данных в Лиспе ——атомные символы (атомы) и списки, т. е. упорядоченные множества, элементами которых могут быть атомы или другие списки. Для списков определены три функции, и они содержатся в интерпретаторе. Пусть L — произвольный список. Значением функции car[L] служит первый элемент списка L, а значением cdr [L] — остальные его элементы. (Заметим, что список может быть пустым.) Значением функции cons [L, Ml, где L и Л4 — либо списки, либо атомные символы, служит список (L, М). Кроме того, интерпретатор Лиспа содержит ряд обычных арифметических функций и логических предикатов. Так, times (X, У)—— это функция арифметических выражений, значение которой равно произведению значений % и у. Конечно, этим не исчерпывается описание Лиспа, но такого краткого введения должно быть достаточно, чтобы читатель разобрался в работе DEDUCOM.
Слейгл сначала добавил три новые функции к основному интерпретатору Лиспа: valueans [匕 Q], ans M Q] и предикат ansupset [Qlt Q2L Аргументы первых двух функций — переменная V и вопрос Q. Вопрос ——это функция от 也 аргументов, и поэтому его также можно представить в виде С(ХЪ Х2, . . ., Х^). Рассмотрим вопрос сколько [пальцы, человек] = (сколько пальцев у человека) (35)
Формально это функция сколько с аргументами палец и человек. Точно так же
times [2,4](36}
—это произведение 2X4. Различие между (35) и (36) состоит в том, что интерпретатор Лиспа способен воспринять times сразу, а для функции сколько пользователь должен указать способ ее вычисления через valueans, ans, ansupset и основные функции Лиспа. Чтобы определить valueans и ans, допустим, что при V=B значение Q(V) равно А. Тогда valueans [У, Q] — это упорядоченная пара (У, А) и ans IV, Q]=4. Из определения функций саг и cdr следует, что для упорядоченной пары (X, У)
саг [(X, Р)]=Х,(37)
cdr {(X, У)]=У,(38)
так что
ans [V, Q] = cdr [valueans [V, Q]].(39)
Рассмотрим пример. Пусть человек — это переменная, принимающая значения Джон, Джеймс, Роберт, Том, и пусть дети — вопрос. Предположим далее, что известен факт
дети (Роберт) = {Том, Дик, 6ет}・(40)
Если мы спросим ans [Роберт, дети], то порядок вычислений будет таков:
ans [Роберт, дети]^= cdr [valueans [Роберт дети]\ =
=cdr [Роберт \Том, Дик. Бет}] =(41)
={Том, Дик, Бет}.
Предикат ansupset Q, Q21 — это утверждение на Лиспе о том, что ответ на вопрос Q? содержится в множестве ответов на вопрос Q» Следовательно, если можно ответить на Q2, то можно ответить и на Qi, хотя, быть может, ответ на Qi можно получить и не отвечая на Q2. Далее, пусть Том, Дик и Бет — правильные ответы на вопрос дети (Роберт). Лишь Бет будет ответом на вопрос дочь. Поэтому утверждение ansupset [ребенок, дочь] истинно.
Для полноты база данных в DEDUCOM должна содержать следующий факт: если переменная V не встречается в вопросе Q и есть какой-то факт вида Q(X)=a, то
valueans [У, Q] = [что-то, а].(42)
Кроме того, по определению значение любого вопроса, являющегося константой, равно этой константе. Таким образом, если Q—5, то ответом на Q будет 5.
Предположим, что программа DEDUCOM должна вычислить Q=g(%,^2» • • •» %),(43)
где g — функция и q»——вопросы. Это в сущности ответ на вопрос Q через вычисление ответов на другие вопросы. Этапы вычислений таковы:
Может ли интерпретатор Лиспа вычислить Q сразу? Если да, сделать это. Такой случай возможен, если Q —— константа или атомный символ.
Известна ли функция g интерпретатору Лиспа? Если да, вычислить 71, . . ., ^п (возможно, с помощью DEDUCOM) и затем, зная аргументы функции g, вычислить ее.
Если не выполняются ни (1), ни (2), заменить Q на Q' н спро、 сить, известен ли какой-нибудь факт в форме ansupset IQ;, Q2], где Q; совпадает с Q' с точностью до замены переменных. Если такой факт известен, перейти к (5), в противном случае к (4).
Если Q имеет форму Q,= valueansiV, Q“] (Q' — ответ на Q" для некоторого значения V), заменить Q" на Q' и перейти к (3) (пытаясь ответить на Q) В противном случае сообщить о неудаче.
Рекурсивным образом применить процедуру DEDUCOM для вычисления Q2. Если получен ответ на Q2, он же будет ответом и на Q. В противном случае перейти к (3) и попы-
таться найти новый вопрос Q〔. (Заметим, что этот шаг делает DEDUCOM процедурой поиска в глубину (полного перебора) со всеми его недостатками).
Чтобы проиллюстрировать эту процедуру, допустим, что в DEDUCOM, помимо сформулированных фактов, включены еще следующие:
Если в V есть т элементов X, а в У есть п элементов V, то в Y есть тхп элементов X.
На кисти пять пальцев.
На руке одна кисть.
У человека две руки.
Для того чтобы в DEDUCOM интерпретировались эти факты* их надо сначала преобразовать в утверждение на Лиспе. Это не совсем просто. Факт (а) типовой. Он записывается так: ansupset [сколько [X, У], ans[V, times
[сколько [X, !/], сколько [V, У]]](44)
Пользователи системы DEDUCOM должны выполнить этот перевод. Недостаток очевиден. Вопрос в примере выше
сколько [палец, человек}(45〉
также является выражением на Лиспе. Для нахождения ответа на него DEDUCOM осуществляет следующие шаги:
Функцию сколько нельзя вычислить сразу, но (44) допускает для (45) замену
ans [V, times [сколько [палец, V]; сколько [V, человек^ (46)
Функцию ans также нельзя вычислить сразу, но в соответствии с (39)
с dr [valueans[V, times [сколько [палец, V];
сколько [V, человек^(47)
заменяет (46).
cdr — это примитивное выражение Лиспа, которое можно вычислить, если известны аргументы* Для этого нужно вычислить функцию
valueans [V, times [сколько[палецt V]; сколько\\, человек^ (48)
Процедура ответа повторяется, при этом используется факт (он здесь не приведен) о valueans. Наконец, приходим к вопросу
сколько[палец, V](49)
Для ответа на него используется факт ansupset [сколько [палец рука]; 5](50)
который представляет собой запись на Лиспе факта (б). Это сразу приводит к вопросу ”5“, являющемуся своим собственным ответом.
Переменная V получает значение рука. Следующий вопрос сколько [рука, человек](51)
Ответ на него в соответствии с фактом, подобным (50), есть 2.
Подставляя значения, найденные для (49) и (51), видим, что ответ на (48) есть (рука, 10). Ответом на (47), а также на (46) и (45) (исходный вопрос) будет 10.
DEDUCOM может отвечать на довольно тонкие вопросы, в том числе и на вопрос, ключевой к сюжету Микадо Гилберта и Салли- вэна (Слейгл, 1965). Программа имеет незначительный дефект: она осуществляет перебор в глубину (полный перебор) на И/ИЛИ- графе; однако это можно легко поправить. Гораздо более серьезная трудность связана с тем, что подход DEDUCOM требует, чтобы пользователи и устанавливали факты в форме выражений Лиспа, и предвидели, как должен происходить поиск ответа. Другими словами, DEDUCOM — скорее язык программирования для ответов на вопросы, чем программа искусственного интеллекта со свойственными ей способностями к рассуждению. Тем не менее подход DEDUCOM заслуживает серьезного внимания в тех приложениях, где пользователь хочет выделить тот или иной тип вывода.
14.2.3. Дедуктивный процесс ответов на вопросыс использованием резолюций
Поскольку для ответов на вопросы может потребоваться вывод, неудивительно, что принцип резолюции можно использовать при создании вопросно-ответной системы. Такая возможность впервые была убедительно продемонстрирована Грином и его сотрудниками в программах QA2 (Грин и Рафаэль, 1968) и QA3 (Грин, 1969, а, б, в), которые решали проблему ответов на вопросы после перевода их на язык исчисления предикатов.
Как можно было бы ожидать, наибольшая трудность применения принципа резолюции к информационному поиску состоит в том, что число предложений, необходимое для ответа на вопрос, вероятно, намного больше числа предложений, необходимого для постановки математической задачи доказательства теоремы. В результате число предложений, порожденных дедукцией, быстро выходит за рамки любых практических возможностей. Первоначальным решением Грина (Грин, 19696) было разбить базу данных на два множества
предложений: множество активных предложений, доступных дедуктивной части программы, и существенно большее множество неактивных предложений, представляюш,их утверждения в базе данных, которые временно были недоступны при доказательстве теорем. В 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(xn . . ., xft)——запрос об этих фактах. Запрос тоже имеет форму предложения и содержит k переменных. Ответом на Q служит такое множество А={%,..., aj значений переменных, что 寸 U {QSi • • •/)} выполнимо. Если А существует, то множество Su {:Q(ai, • • •, 4)} будет невыполнимо. А можно определить, найдя подстановочный частный случай, необходимый для опровержения S U{] Q(/, • • •, %0}・ Можно резюмировать эту достаточно формальную ситуацию, сказав, что правильный ответ является контрпримером к предположению о
Возможно, читатель, который не достаточно хорошо усвоил идею доказательства теорем на основе принципа резолюции, захочет перечитать гл. 12.
том, что правильного ответа не существует. Остается задача построить контрпример. Грин предложил с помощью введенного им прямого механизма — литерала ANSWER — запоминать необходимые подстановочные частные случаи. С тех пор были разработаны более эффективные методы запоминания решающих подстановок (Лак- хэм, Нильсон, 1971), но здесь трудно всех их описать.
Первый шаг метода литерала ANSWER — добавить специальный литерал ANSWER (石,...,/) к литералу ]<?(%, •• •, “):
(7 Q (尤1,…,%) ANSWER (无i,/)) = 5*.(55)
К множеству SIJ {5} применяется резолюция, при этом используется стратегия несущего множества с {В} в качестве несущего множества. Если ответ существует, то резолюция множества S и { ] Q(%i,.. •» 尤论)} когда-нибудь выведет предло?кение (Q(〃i,..., 4)), которое затем разрешится с другим предложением либо из S, либо из множества, выведенного из исходного, и это даст пустое предложение ( ). Если мы проводим ту же дедукцию, но начинаем с SU {В*}, то вместо ( ) получаем (ANSWER (的,•・.,4)), что
определяет нужную подстановку.
Рассмотрим пример:
S={(MAN (SMITH)),
SMITH IS A MAN<Смит человек>ALL MEN ARE ANIMALS<Bce люди животные>SMITH IS A MAN<Смит человек>ALL MEN ARE ANIMALS<Bce люди животные>(56)(56)Вопрос: Is there an animal? (3x) (ANIMAL (x))Вопрос: Is there an animal? (3x) (ANIMAL (x))Найдем отрицание для (57)Найдем отрицание для (57)ииIS THERE AN ANIMAL?〈Существует ли животное?> добавим литерал ANSWER:IS THERE AN ANIMAL?〈Существует ли животное?> добавим литерал ANSWER:(57)(57)(-]ANIMAL (х), ANSWER (х))(-]ANIMAL (х), ANSWER (х))(58)(58)(7 MAN (%), ANIMAL (x))}
SMITH IS A MAN
<Смит человек>
ALL MEN ARE ANIMALS
<Bce люди животные>
SMITH IS A MAN
<Смит человек>
ALL MEN ARE ANIMALS
<Bce люди животные>
(56)
(56)
Вопрос: Is there an animal? (3x) (ANIMAL (x))
Вопрос: Is there an animal? (3x) (ANIMAL (x))
Найдем отрицание для (57)
Найдем отрицание для (57)
и
и
IS THERE AN ANIMAL?
〈Существует ли животное?> добавим литерал ANSWER:
IS THERE AN ANIMAL?
〈Существует ли животное?> добавим литерал ANSWER:
(57)
(57)
(-]ANIMAL (х), ANSWER (х))
(-]ANIMAL (х), ANSWER (х))
(58)
(58)
животного, либо есть ответ".животного, либо есть ответ".Из (58)Из (56)Резольвента (1) с (2) (59)Из (56)Резольвента (3) с (4) после унификацииИз (58)Из (56)Резольвента (1) с (2) (59)Из (56)Резольвента (3) с (4) после унификации
животного, либо есть ответ".
животного, либо есть ответ".
Из (58)
Из (56)
Резольвента (1) с (2) (59)
Из (56)
Резольвента (3) с (4) после унификации
Из (58)
Из (56)
Резольвента (1) с (2) (59)
Из (56)
Резольвента (3) с (4) после унификации
Это следует понимать как „Либо нет Ответ дает последовательность
(lANIMAL(x), ANSWER(x))
(7 MAN (吟 ANIMAL (x))
(7 MAN (%), ANSWER"))
(MAN (SMITH))
(ANSWER (SMITH))
Ответ на вопрос (57) получен. Формально значениями переменных в литерале ANSWER являются значения, которые могут принимать связанные с квантором существования переменные исходного множества предложений, чтобы составить контрпример.
Один из ключевых моментов при ответах на вопросы с использованием принципа резолюций — правильное удаление переменных, связанных с квантором существования. Напомним, что при обсуждении кванторов в гл. 12 было показано, что это осуществляется с помощью сколемовских функций. Грин (19696) отмечает, что здесь могут возникнуть трудности. Пусть множество аксиом (фактов на входе) состоит из единственного утверждения
(Vz) (Эи/) (Р (z, ®))(60)
и вопрос имеет вид
М/) Ох) (Р (弘 х))(61)
Отрицание вопроса, переход к сколемовским функциям и добавление литерала ANSWER порождают предложения
Ci: (P(z, S1 (г))
当:(口 Р (s21 х), ANSWER (х))(")
где Si (?) и s2— сколемовские функции. Заметим, что s2— функция без переменных, т. е. константа. Разрешая два предложения (62), получаем
(ANSWER 回回)))(63)
Буквально (63) означает, что существует такая константа $2, что ее функции Si ($2)есть ответ. Для пользователя это имеет смысл только в случае, если известно происхождение сколемовских функций. QA3 обеспечивает это» позволяя пользователю запрашивать дисплей о предложении, участвовавшем в построении конкретной ско- лемовской функции. Таким образом, видя (63), пользователь может спросить о происхождении функции Sj или s2t приведшей к & или к Bi в (62). Чтобы показать, как это сказывается на процессе ответа на вопросы, Грин приводит следующий пример. Определим P(utv)
Человек и находится на работе .〃 v—его стол
Задача такова:
(Yz)@u)(P(z, и))
У каждого человека на работе (64) есть стол.
(1) P(z, S] (г))
То же самое, но со сколемовскими функциями. Для каждого человека у
⑵(%/) (") (P(g, х))
Si(9)—его стол.
Существует ли место, где каждый работает?
(3)(]尸($2, х))Отрицание для (2), кванторы удалены.
Существует некий человек %, не имеющий места для работы.
(4) ANSWER (sf (s2)) Место, где работает %,— это его стол.
Умея соображать, можно поставить много вопросов в формате принципа резолюции. Вопросы „сколько** можно также сформулировать с использованием кванторов и обрабатывать механизмами, подобными тем, что были в примере на DEDUCOM. Например,
Если в % есть т элементов у, а в у есть и элементов zt то в х есть тхп элементов
выражается в виде
(1 HP (х, g, m), "I HP (//, г, n), HP (x, г, TIMES (m,几)))(65) где HP (a, b, с) понимается как
a has c b's as parts
〈〃 содержит с частей типа e>
и TIMES (加,n) обозначает произведение mXn. Вопрос
How many hands has a man?
〈Сколько рук, у человека?^ записывается как
(Эп) (HP (MAN, HANDS, n))(66)
что означает: „существует ли такое м, что можно вывести HP (MAN, HANDS,孔)? “
Чтобы продемонстрировать возможность ответа на этот нетривиальный вопрос, Грин (1969а) применил QA3 к примерам, взятым из более специализированной системы Купера (1963) для ответа на вопросы о химических соединениях. Ее база данных состояла из 38 фактов либо из химии (например, магний — металл), либо относящихся к равенству и подстановке (например, симметрия равенства записывается в виде (]EQ(%, g), EQ(g, х)). Примером проверки простого вопроса служит ответ на вопрос
Is there a white oxide?
Существует ли окись белого цвета?У
Ответ таков:
⑴ ©OXIDE⑴,1 WHITER),
ANSWER (x))Отрицание вопроса (67)
(OX IDE (МО))Факт: окись магния
(МО) является окисью
( "I WHITE (МО), ANSWER (МО)) Резольвента (1) с (2)
(WHITE (МО))Факт: МО белая
(ANSWER (МО))
Программа QA3 ответила на все 23 вопроса, которые задал Купер с целью продемонстрировать свою специализированную систему, в том числе и на более трудные, чем в нашем примере.
Грин (1969в) и Нильсон (1971) распространили метод резолюции из вопросно-ответной области на решение задач в пространстве состояний. Заметим, что это отличается от применения STRIPS (гл. 11), где резолюция используется для доказательства факта о конкретном состоянии. Основная идея такого применения ——ввести аксиомы, устанавливающие, что одно состояние можно достичь из другого с помощью оператора. Рассмотрим предложение
ПР (s)t Q(/(s))),(68)
где Р к Q ——свойства состояний. (68) можно прочесть так:
Если состояние s обладает свойством Р, то состояние, 8 которое перейдет система в результате применения оператора f к s, будет обладать свойством Q.
В другой формулировке участвуют аксиомы вида (】P(s),Q(f(%,s)))・(69)
Это интерпретируется так:
Если состояние s обладает свойством Р, то результат применения оператора 〃〔 к состоянию s обладает свойст- бом Q.
Благодаря этим механизмам система QA3 решила ряд задач в пространстве состояний, в том числе поиск на графе, задачу о „Ханойской башне" и даже порождение простых программ на Лиспе. Тем не менее большинство работающих в этой области придерживаются того мнения, что решение задач, основанное только на исчислении предикатов, очень ограничено вследствие грубой постановки задачи и тенденции систем доказательства теорем, применяющих принцип резолюции, порождать при оперировании с большой базой данных необозримое множество предложений. Аксиоматизация задачи сама по себе является искусством. В качестве примера Грин приводит задачу о „Ханойской башне". Существует много логически корректных аксиоматизаций этой задачи, но лишь немногие из них дают быстрое решение. Грин (1969а) сообщает, что для аксиоматизации фактов Купера, касающихся элементарной химии, требуется около двух часов, хотя, как показывают примеры (67), понять большинство этих фактов легко. Это еще один случай, когда искусственный интеллект отступает из-за нашей неспособности находить представ-
ления. Для понимания от нас требуется и выбор правильной модели ситуации, и умение управлять этой моделью. Резолюция, как большинство методов решения задач, направлена на достижение лишь второй цели.
Контекстно-ориентированное доказательствотеорем
Мы неоднократно обращали внимание на то, что главный недостаток резолюции — быстро возрастающее, до астрономических чисел, количество порождаемых предложений. В ответах на вопросы это становится очень серьезной трудностью, потому что число предложений в исходной базе данных велико. Фактически примеры Грина были возможны только благодаря тому, что требуемые выводы оказались очень короткими. Один из способов не дать дедуктивным программам тратить время на ненужные для доказательства предложения ——это ограничить резолюцию предложениями» „имеющими отношение** к доказательству или похожими на них. Рассмотрим классическую дедукцию:
Все люди могут ошибаться. Сократ человек. Поэтому Сократ может ошибаться^
Условия выражаются предложениями
(1 ЧЕЛОВЕК(х), МОЖЕТ ОШИБАТЬСЯ(х))什孙
(ЧЕЛОВЕК (СОКРАТ))(丿
и вопрос
Может ли Сократ ошибаться^(71)
принимает форму
(1 МОЖЕТ ОШИБАТЬСЯ (СОКРАТ))(72)
Необходимые выводы таковы:
ЧЕЛОВЕК (СОКРАТ))Аксиома
(ЧЕЛОВЕК(х), МОЖЕТАксиома
ОШИБАТЬСЯ(х))(73)
(МОЖЕТ ОШИБАТЬСЯ (СОКРАТ)) Резолюция (1)с(2) (4) (1 МОЖЕТ ОШИБАТЬСЯ (СОКРАТ)) Отрицание вопроса (5) ( )Резолюция (3) с (4)
Допустим, что мы загрузили память другими, несущественными фактами: Сократ грек, он женат на Ксантиппе, он республиканец, ему не нравится болиголов и т. д. Как нам не дать программе, применяющей принцип резолюции, тратить время на эти посторонние утверждения?
Решение Грина состояло в том, чтобы позволить человеку, контролирующему процесс, выделить кандидатов на участие в резолюции. Хотя это, быть может, очень практично, здесь нет никакого достижения в смысле искусственного интеллекта. Другой подход, который мы называем контекстно-ориентированным доказательством теорем, принадлежит Винограду (1972). Он развивает более ранние работы Хьюитта (1969, 1970). Этот метод мы уже исследовали как механизм планирования (гл, 11); теперь обсудим его приложения в вопросно-ответной системе.
Для того чтобы понять, что такое контекстно-ориентированное доказательство теорем и решение задач, полезно рассмотреть не зависящую от контекста (содержания) стратегию несущего множества для резолюции. Стратегия несущего множества исходит из того, что если S —— невыполнимое множество предложений и в нем содержится такое подмножество С, что S — С выполнимо, то существует вывод пустого предложения ( ) из S, причем каждый шаг вывода содержит резолюцию, в которой одно из родительских предложений либо принадлежит С, либо выводится резолюцией из предложения, принадлежащего С (подробности см. в гл. 12). Доказательство работоспособности этой стратегии не зависит ни от какой ”реально負“ интерпретации предложений множества S. Ее обоснованность определяется только фактами из логики, а не интерпретацией базы данных.
В любом реальном приложении дедуктивного ответа на вопросы будут участвовать очень много стратегий, работающих для конкретной базы данных. Рассмотрим довольно причудливый пример. Допустим, что нас попросили написать процедуру дедуктивного ответа на вопросы для юристов, занимающихся налогами. Им часто приходится отвечать на вопрос
Обладает ли клиент привилегированным налоговым статусом?
В качестве догадки можно попытаться ответить на вопрос
Этот клиент—фермер?
и воспользоваться ответом на второй вопрос для ответа на первый. Точно так же, чтобы доказать, что некто является фермером, мы могли бы задать вопросы о его экономической деятельности, а не о происхождении. Такие стратегии контекстно-ориентированы. В реальных приложениях можно было бы ожидать, что в процессе вывода они играют важную роль. Нам нужно дать пользователю возможность вводить контекстно-ориентированные стратегии в программу, осуществляющую вывод. Именно так поступил Виноград, используя язык PLANNER Хьюитта (1972), вкратце описанный в гл. 11 при обсуждении планирования в процессе решения задач. Дело в том, что планирование точно так же можно применить и при ответах на вопросы. Таким образом, в нашем примере с на-
логами мы можем использовать PLANNER, чтобы получить указания провести поиск в базе данных с целью установить, является ли клиент фермером, ветераном, вдовой и т. д. Другая особенность языка PLANNER, очень полезная для работы с задачами в пространстве состояний, состоит в том, что доказательство теоремы можно рассматривать как команду, которую нужно выполнить, а успешное доказательство можно интерпретировать как приказание сделать определенные утверждения. Например, если можно доказать, что Сократ — мужчина и что он женат на Ксантиппе, то „разумный* человек включит в свою базу данных информацию о том, что Ксантиппа женщина. Программа PLANNER может таким же образом расширять свою базу данных.
DEDUCOM также дает пример программы, позволяющей пользователю выбирать стратегию поиска. Принципиальные различия между проектами Винограда и Слейгла (более ранним) в том, что PLANNER как язык гораздо удобнее для заданий, чем Лисп. Возможно, главный результат работы Винограда в том, что он смог продемонстрировать метод перевода с английского языка в программы PLANNER. Об этом пойдет речь в гл. 15. К тому же Лисп оказался с этой точки зрения плохим языком. Это важно потому, что если мы собираемся опираться на контекстно-ориентированные стратегии, пользователь должен иметь возможность формулировать их на языке, естественном для него. Программы „понимания** будут не слишком перспективными, если их пользователям надо будет сначала стать специалистами в языках PLANNER, Лисп, MATCHLESS, IPL-V или в любом из множества других языков программирования для искусственного интеллекта.
14.3. Понимание без использования логики
0. Психологическое моделирование〔)
Если „понимающей4* программе с полной эффективной системой вывода предъявить противоречивое множество фактов, то ее выводы будут вызывать сомнения. Допустим, что, имея вопрос и противоречивую базу данных (фактов), программа QA3 вывела пустое предложение ();в этом случае нельзя установить, вызвано это противоречием внутри базы данных или же противоречием между базой данных и отрицанием вопроса. Поверхностные наблюдения показывают, что людей как будто не беспокоят очевидные противоречия, пока они не становятся в каком-то смысле слишком явными. Много людей, кажущихся вполне разумными, избегают есть яйца и пирожные, потому, что они „вредны для здоровья**, но курят и употребляют спиртные напитки, хотя это наносит здоровью го-
раз до больший ущерб. В более тонких случаях, в частности в политике, иногда встречаются примеры противоречивого поведения, хотя участники событий считаются вполне разумными. Ричардсон заметил, что в хартии Объединенных Наций фраза „миролюбивые нациии употребляется и по отношению к тем национальным группам, которые участвовали в подавляющем большинстве войн на земном шаре!
Как это происходит? Видимо, объясняется это тем, что человеческие рассуждения локально последовательны, хотя глобально могут оказаться несостоятельными. Под этим мы понимаем, что некоторые факты связаны в конкретном контексте и действие совершается до тех пор, пока оно согласуется с фактами, относящимися к этому контексту.
Легко представить себе человека, имеющего следующие убеждения:
Алкоголь вредно влияет на работу печени.
Не следует употреблять пищу, которую нельзя переварить.
На грузинских пирах принято пить вино.
Если вы гостите в чужом краю, вы должны следовать местным обычаям.
Эти убеждения противоречивы, поскольку утверждения (1) и (2) приводят к запрещению пить вино при любых обстоятельствах (т. е. они универсально истинны), в то время как (3) и (4) подразумевают, что при определенных условиях употребление вина оказывается не только допустимым, но и желательным. Несмотря на эту противоречивость, немногие из нас станут утверждать, что человек, принимающий все четыре высказывания, неразумен.
Система продукций может оперировать рассуждениями такого типа, ибо продукция не есть правило вывода. Можно представить себе программу, похожую на PROTOSYNTHEX, GPS или FDS, которая могла бы с помощью фактов (1) — (4) вывести 兄 должен пить вино сегодня вечером или ^ не должен пить вино сегодня вечером в зависимости от того, начинает она с фактов (1) — (2) или (3) — (4). Предпринимались попытки промоделировать „психологические44 рассуждения подобного типа. Для примера приведем программу Абельсона и Рича (1969), моделирующую „нормальное рассуждение44. Известны аналогичные программы моделирования рассуждений психических больных (Колби и Смит, 1969). Обзор более ранних работ по психологическому моделированию личности сделал Лоэ- лин (1969).
Основная структура программы — „молекула импликаций41, множество связанных в контекст утверждений. Рассмотрим молекулу Л делает X чтобы получить У, состоящую из утверждений
Л ДЕЛАЕТ X X ВЫЗЫВАЕТ У А ХОЧЕТ У (74)
Сами эти утверждения очень похожи на семантические формы со- бытий в PROTOSYNTHEX. (74) можно считать молекулярной формой, которая должна быть конкретизирована определением значений ее переменных. Одним из подстановочных частных случаев (74) могло бы быть
ДЖОН ЗАНИМАЕТСЯ СПОРТОМ
СПОРТ ВЫЗЫВАЕТ ВОСХИЩЕНИЕ ЖЕНЩИН (75) ДЖОН ХОЧЕТ ВОСХИЩЕНИЯ ЖЕНЩИН
Программа Абельсона и Рича показала, что раскрытие молекулы импликаций может привести к довольно сложному мышлению, „ра- зумному" в том же смысле, что и наш пример с употреблением вина. Чтобы убедиться в этом, проиллюстрируем, как их программа могла бы проводить рассуждение в одном из эпизодов знаменитого романа Льва Толстого „Война и мир** 】).Эпизод, который мы выбрали, взят из главы ”1805". Герой, Пьер, только что получил огромное наследство своего отца, графа Безухова. Это привлекло внимание нуждавшегося в деньгах князя Василия, аристократа, принадлежащего царскому двору. Мы продемонстрируем, как программа Абельсона и Рича могла бы моделировать рассуждения князя Василия.
Программа начинает с множества форм молекул импликаций и множества исходных представлений (посылок). Для нее также требуется словарь, указывающий допустимые подстановки. В этом случае ей понадобились бы такие термы, как
ПЬЕР БЕЗУХОВ — ПОДМНОЖЕСТВО ЛЮДЕЙ
Я — ПОДМНОЖЕСТВО ЛЮДЕЙ
предложение руки дочери — ПОДМНОЖЕСТВО СВОЙСТВА ОТНОСИТЬСЯ ДРУЖЕСКИ
НАСЛЕДОВАТЬ ЭКВИВАЛЕНТНО ОБЛАДАТЬ
Снова обратим внимание на сходство с утверждениями в PROTOSYNTHEX, несущими семантическую информацию. Программа воспринимает утверждения и старается согласовать их с утверждениями, принятыми ранее в качестве посылок. Утверждение принимается, если с его помощью можно построить конкретную молекулу импликаций, присоединяя его к другим, принятым ранее утверждениям. Чтобы показать, как все это работает, подумаем о том, как программа объяснила бы решение князя Василия отдать свою красивую и умную дочь Элен замуж за неуклюжего Пьера. Допустим сначала, что в князе Василии (или, точнее, в модели князя Василия) содержится молекула „способности приобретать*4
В Эти примеры составлены автором, а не Абельсоном и Ричем.
ЧЕЛОВЕК(Л) ВЛАДЕЕТ БОГАТСТВОМ
ЧЕЛОВЕК(В) ОТНОСИТСЯ ДРУЖЕСКИ К ЧЕЛОВЕКУ(Л)(76) ЧЕЛОВЕК(В) ПОЛУЧАЕТ БОГАТСТВО
Программа исследует приемлемость утверждения
КНЯЗЬ ВАСИЛИЙ ПРЕДЛАГАЕТ ПЬЕРУ РУКУ ДОЧЕРИ (77} Справившись по словарю, найдем, что (77)—— подстановочный частный случай средней строки в (76): князь Василий и Пьер — это ЧЕЛОВЕК(В) и ЧЕЛОВЕК(Л) соответственно, и предложенне руки дочери ——несомненный пример дружеского отношения (хотя Толстой и показывает позже, что Элен не была хорошей женой). Задача программы теперь —— найти другие посылки, чтобы завершить (76) такой же подстановкой переменных. В частности, для первой строки теперь требуется посылка, эквивалентная
ПЬЕР ВЛАДЕЕТ БОГАТСТВОМ(78)
Очевидно, алгоритм, похожий на унификацию 】),позволит программе сделать это, если есть факт
ПЬЕР ПОЛУЧИЛ НАСЛЕДСТВО БЕЗУХОВА (79) В этом процессе, однако, общий терм БОГАТСТВО в качестве частного случая принял значение НАСЛЕДСТВО БЕЗУХОВА, конкретный тип богатства. Поэтому третья строка в (76) теперь изменилась:
КНЯЗЬ ВАСИЛИЙ ПОЛУЧАЕТ НАСЛЕДСТВО
БЕЗУХОВА(80)
Проанализируем эти преобразования. КНЯЗЬ ВАСИЛИЙ заменил собой ЧЕЛОВЕКА(В) в результате первоначального сопоставления с (77), а НАСЛЕДСТВО БЕЗУХОВА заменилось на БОГАТСТВО при сопоставлении с (79). Если допустить, что утверждение (80) по роману приемлемо, то молекулу можно считать завершенной. Это
ПЬЕР ОБЛАДАЕТ НАСЛЕДСТВОМ БЕЗУХОВА
КНЯЗЬ ВАСИЛИЙ ПРЕДЛАГАЕТ РУКУ ДОЧЕРИ ПЬЕРУ (81) КНЯЗЬ ВАСИЛИЙ ПОЛУЧАЕТ НАСЛЕДСТВО БЕЗУХОВА
Поскольку молекула завершена, утверждение действия (77) полагается приемлемым. Оно было единственно приемлемым, ибо два другие утверждения в (81) уже считались приемлемыми и не требовали доказательства. Предположим, что программа не может найти посылку, необходимую для расширения молекулы, которую она стремится завершить. В таких случаях программа порождает
Абельсон н Рич не приводят подробностей.
нужное предложение и пытается поставить его в соответствие другой молекуле. Если это возможно, предложение считается „предположительно правильным** и принимается. Допустим, что модель князя Василия „не знала", что Пьер обладает наследством Безухова, т. е. утверждения (79) не было в базе данных. Для завершения рассуждения все еще будет нужен какой-нибудь подстановочный частный случай для (78). Мы все-таки предположим, что система посылок на самом деле содержала факты
ГРАФ БЕЗУХОВ ОБЛАДАЕТ НАСЛЕДСТВОМ БЕЗУХОВА ГРАФ БЕЗУХОВ УМИРАЕТ(82)
ПЬЕР—СЫН ГРАФА БЕЗУХОВА
и в программе есть „молекула наследования*1
ЧЕЛОВЕКИ) ОБЛАДАЕТ БОГАТСТВОМ ЧЕЛОВЕКИ) УМИРАЕТ
ЧЕЛОВЕК(В)—СЫН ЧЕЛОВЕКА(Л)(83)
ЧЕЛОВЕК(В) НАСЛЕДУЕТ БОГАТСТВО
Программа может использовать факты (82) и молекулу (83) для вывода истинного заключения (79), а затем использовать (79), как и ранее, для определения приемлемости утверждения (77), снова позволяя князю Василию предложить женитьбу! В общих чертах этот тип рассуждения таков:
兄 не могу поверить г, если не поверю %, но учитывая у, поверю х, поэтому z должно быть правдой.
Такое рассуждение может не понравиться логику, хотя оно не является строго нелогичным; однако о нем нельзя сказать, что оно не свойственно человеку.
Иллюзия понимания при разговоре с ЭВМ
В заключение этой главы хотелось бы прокомментировать одну группу программ, которые, преимущественно благодаря своему шуточному характеру, обеспечили большую популярность тому, как вычислительные машины понимают людей. Мы имеем в виду программы ELIZA и DOCTOR, созданные Вейценбаумом (1966, 1967). Все такие программы предназначены для работы в интерактивном режиме. Вот пример беседы с ELIZA (предложено Вейценбаумом, 1967):
Человек: Вы не очень настойчивы, но я думаю, что Вы не х。- тите, чтобы я это заметил.
ЭВМ: ЧТО ЗАСТАВЛЯЕТ ВАС ДУМАТЬ, ЧТО Я НЕ ОЧЕНЬ НАСТОЙЧИВА.
Человек: Вы не спорите со мной.(84)
ЭВМ: ПОЧЕМУ ВЫ ДУМАЕТЕ, ЧТО Я НЕ СПОРЮ С
ВАМИ.
Человек: Вы боитесь меня,
ЭВМ: ДОСТАВЛЯЕТ ЛИ ВАМ УДОВОЛЬСТВИЕ СЧИТАТЬ, ЧТО Я ВАС БОЮСЬ.
Такой разговор можно поддерживать в течение некоторого времени. Работа программы заключается в том, что она просматривает данные на ее входе в поисках стандартного набора ключевых слов вместе с вводимым текстом и затем производит какое-то действие, связанное с найденным ею набором. В большинстве случаев программа просто переставляет слова входного текста и печатает их. Например, правило
Я ДУМАЮ, ЧТО * X * — ПОЧЕМУ ВЫ ХОТИТЕ
СЧИТАТЬ, ЧТО * X *(85)
интерпретируется так: „Ищите во входном тексте слова Я ДУМАЮ, за которыми следует любая цепочка букв. Пусть найдена цепочка *Х*・ Выведите слова ПОЧЕМУ ВЫ ХОТИТЕ СЧИТАТЬ и затем *Х*・“ Программа, которая может сделать это, способна проявить тот же тип понимания, что и политик или администратор, в ответ на просьбу говорящий: „Да, я слышу, Вы говорите, что../1. Такие люди могут приобрести репутацию мудрецов.
Прежде чем разоблачать программу ELIZA как ловкую шутку, нам следует обсудить вопросы, которые она поднимает. Процесс сопоставления схем может оказаться очень сложным. В самом деле» ведь это основа анализа языка. Вейценбаум (1966) приводит ряд примеров, показывающих, что даже если ELIZA не может взяться за сопоставление всех схем, возможных в английском языке, она может работать с нетривиальным подмножеством. Кроме того, нет причин ограничивать нашу операцию с набором ключевых слов лишь печатанием его вариации. В частности, от ЭВМ можно потребовать произвести вычисления. В следующем примере (также взятом из статьи Вейценбаума, 1967) демонстрируется применение программы ELIZA с простыми процедурами арифметических действий и запоминания:
Вход: Площадь круга равна пи умноженному на радиус круга возведенный в квадрат.
Площадь сферы равна пи умноженному на диаметр шара возведенный в квадрат.
Площадь квадрата равна стороне квадрата возведенной в квадрат.
Диаметр объекта равен двум радиусам объекта. (86) Радиус мяча равен 10.
Какова площадь поверхности мяча?
Программа: ДОПУЩЕНИЕ ЧТО МЯЧ ЭТО КРУГ НЕПРОТИВОРЕЧИВО ПРОДОЛЖИТЬ ЛИ РАБОТУ
Вход: Нет.
Программа: ДОПУЩЕНИЕ ЧТО МЯЧ ЭТО ШАР НЕПРОТИВОРЕЧИВО ПРОДОЛЖИТЬ ЛИ РАБОТУ.
Вход: Да.
Программа: ЭТО 1256,6359.
Разумно ли это вычисление? Является ли процесс построения разумного ответа чем-то большим, чем сопоставление схем, за которым производится вычисление? Что касается нас, то мы не решаемся назвать работу программы ELIZA примером понимания, но нас смущает то, что мы не можем объяснить наши колебания. Возможно, суть этого высказал Вейценбаум в собственном анализе своей работы: „Когда х говорит, что у понял его, х делает некоторое предположение о внутренних процессах у. Это предположение часто строится на очень слабых основаниях".
Глава 15
ПОНИМАНИЕ ЕСТЕСТВЕННОГО ЯЗЫКА
/5.0. Постановка задачи
15.0.1. Введение
Возможности большей части существующей вычислительной техники используются не полностью из-за того, что очень трудно написать адекватные программы для задач, которые ЭВМ вполне под силу. Если наши программы существенно используют систему команд какой-нибудь машины, то возможности этой машины реализуются полнее, но программы становятся настолько сложными, что в них трудно разобраться. Если мы пишем программы на языках, удобных для высказываний, связанных с определенными типами задач („проблемно-ориентированный41 подход языков Фортран, Кобол и Бейзик), мы, вообще говоря, теряем возможность произвести все вычисления, на которые способна машина. На создание языков для абстрактных машин, которые можно было бы реализовать на существующих ЭВМ, было потрачено много усилий. Этот подход позволил бы программисту сохранить детальный контроль над вычислениями, но не требовал бы от него изучения техники. Алгол и Алгол 68——наиболее яркие примеры. По не вполне понятным причинам эти языки трудно освоить, и действительно они предоставляют программисту возможности, которыми он будет в состоянии воспользоваться в полной мере, только если достаточно много знает об ЭВМ. В этой главе мы рассмотрим совсем другой подход. Возможно, главным препятствием, мешающим распространить вычисления на ЭВМ за пределы традиционной прикладной математики и расчетов, является не наша неспособность создать язык, предоставляющий в распоряжение человека все ресурсы машины, а неспособность перейти от человеческого естественного языка к внутренним машинным операциям. В гл. 2 мы говорили о взаимосвязи между конструкцией машины и моделью формального языка и показали, как они помогают нам понимать работу вычислительных машин. В настоящей главе мы снова обра-
тимся к формальным языкам, но теперь особое внимание уделим присущей им ограниченности. Затем опишем новые подходы, в принципе более перспективные. К сожалению, эти новые концепции языка не свободны от своих собственных ограничений. То, что можно осуществить в принципе, может не сразу стать практикой.
15.0.2. Что такое язык?
В гл. 2 и 7 языки определялись как множества цепочек, которые удовлетворяют некоторому критерию, определяющему правильность их построения. Вначале предметом нашего рассмотрения была конструкция машины, способной установить, удовлетворяет ли конкретная цепочка символов этому критерию, хотя и отмечалось, что на абстрактном уровне такое распознавание эквивалентно распознаванию последовательности выполнимых (вычислительной машиной) команд. Рассмотрим теперь использование языка при общении. Язык в этом случае считается системой символов для описания событий во внешнем мире. Против такого определения существует ряд философских возражений. Ясно, что так мы пользуемся языком, описывая бейсбольную игру или яблочный пирог, но не ясно, насколько это определение удовлетворительно для более абстрактных понятий, таких, как любовь, ревность, свобода. Пока мы не будем на это обращать внимание. Чтобы вести любую предвидимую беседу с ЭВМ, понятия языка как модели физического мира, несомненно, достаточно.
Символы языка относятся либо к объектам внешнего мира, их свойствам, либо отношениям между двумя или более объектами. Сами эти отношения также можно описать. Фразы
большой, красный яищк\ Джон любит Мэри (1) описывают объекты и отношения. Во многих ситуациях языковые высказывания можно интерпретировать как утверждения о состоянии мира. Следовательно, второй пример в (1) можно рассматривать как атомное утверждение
ЛЮБИТ (ДЖОН, МЭРИ) (2)
Далее, интуитивно ясно, что нужно уметь осуществлять связь между лингвистическими высказываниями и множеством приемлемых для ЭВМ выражений, которое образует внутреннее машинное описание внешнего мира. Аналогично мы можем рассматривать вопросы как утверждения о том, что определенное предложение совместимо или нет с предложениями, описывающими текущее состояние мира. Императивы можно в свою очередь интерпретировать как команды скорректировать внутреннюю модель мира. В гл. 14 предлагались различные способы построения внутренних машинных моделей ситуаций в реальном мире. Если известен также способ связать утвер-
ждения о некоторых ситуациях на естественном языке с представлением их в ЭВМ, то можно претендовать на то, что для некоторой темы разговора мы добились понимания машиной языка. Вопрос о понимании имеет два аспекта. Существуют ли ситуации^ которые можем обсуждать и мы, и модель в ЭВМ, но для которых мы не можем установить связь между содержанием разговора и моделью? Существуют ли ситуации, которые мы можем разумным образом обсуждать на естественном языке, но для которых мы не можем построить внутреннюю модель?
Проблема состоит в том, что с помощью языка можно выражать очень сложные отношения, в том числе отношения между отношениями. Язык также позволяет трактовать отношение как то, что либо определяется, либо обсуждается в связи с другими вещами. Чтобы достичь такой сложности выражения, язык дает правила порождения цепочек символов; в них порядок символов в цепочке указывает на отношение между объектами, соответствующими этим символам. Попросту говоря, мы должны уметь разобраться в структуре языковой цепочки; одного знания о том, какие символы в нее входят, недостаточно. Только поняв эту структуру, мы можем определить, что
Джон любит Мэри(3)
и
Мзри любит Джона
—цепочки с бесспорно различными значениями.
Теперь рассмотрим понимание с точки зрения ЭВМ. В префиксной записи каждое высказывание имеет форму
/〃1, 〃纟,..йц»(4)
в которой первый член является функцией п переменных, принимающей в качестве значений термы, а а】,・・・,ап—— ее аргументы. Так,
—ху(5)
означает, что надо вычесть терм в позиции у (который после присвоения значения должен быть числом) из терма в позиции х (также число после присвоения значения); в конечном счете получится число, которое может в качестве терма входить в список аргументов какой-нибудь другой функции. Естественно, что „понимание** утверждения типа (5) достигается в три этапа. На синтаксическом этапе мы узнаем, что первый символ в (5)——это функция двух переменных, и находим термы, являющиеся ее аргументами. На семантическом этапе мы замечаем, что эта операция представляет собой вычитание, и определяем все конкретные шаги (например, оценку подвыражения), нужные для нахождения значений термов х н у. На этапе реализации, или вывода, мы в точности выполняем
команды машины (запоминания, вызовы, сложения, отрицания), необходимые для выполнения физических операций, соответствующих этой арифметике. Третий этап связан с ЭВМ, в то время как первые два существуют абстрактно. Идеальный язык программирования на ЭВМ должен быть достаточно мощным, чтобы на нем можно было говорить о тех ситуациях в реальном мире, для которых желательна вычислительная модель, и это позволяет осуществить эффективный трехэтапный перевод для работы машины. Значительные усилия исследователей в области вычислительных наук направлены на создание для каждого из этих этапов более сложных управляющих программ, так что машины смогут работать с еще более мощными языками программирования.
Эти усилия приносят несомненную пользу. Они вели и сейчас ведут к „более совершенным** языкам для вычислений, особенно если „более совершенные4* относится к языкам, в которых пользователь может осуществлять более полный контроль работы машины. С другой стороны, для проблемы выражения очень сложных вычислений на ЭВМ этот подход может оказаться очень ограниченным). Нельзя подготовить вычислительную модель для обработки ее на ЭВМ до тех пор, пока человек не установил ее для самого себя, ибо это в любом случае должно быть первым шагом программирования. Очень возможно, что некоторые задачи можно сформулировать только на естественном языке. Однако вычислительная машина вообще нужна для того, чтобы люди ставили задачи перед ней. Если все-таки существуют задачи, которые можно сформулировать лишь на естественном языке, то надо найти способ, позволяющий ЭВМ „понимать** естественный язык. Вряд ли это можно сделать с помощью трех раздельных этапов синтаксис ——семантика — понимание, хотя бы потому, что естественный язык так анализировать нельзя.
Конечно, это предположение, а не факт. Удовлетворительной теории человеческого языка пока нет, и мы еще не готовы предложить ее. Наш довод основан на почти анекдотичных наблюдениях. Наиболее очевидное из них то, что целый ряд очень талантливых людей пытался применить к естественному языку синтаксический и семантический анализ, но большого успеха они не достигли. Это озна~* чает, что либо синтаксическая и семантическая программы невероятно сложны (не очень-то правдоподобно, так как слишком уж много людей успешно учатся хорошо владеть языком), либо этот подход несостоятелен. Но почему синтаксическо-семантический подход должен быть плохим методом анализа естественного языка, если он так хорошо зарекомендовал себя при анализе вычислитель-
ных языков? Наш ответ на это таков: при создании вычислительных языков учитывались вопросы как выражения задачи, так и выполнения ее машиной. Развитие естественного языка проходило в устройствах, совершенно не похожих ни на одну сегодняшнюю вычислительную машину. Природа этого устройства определила характер языка. Мы можем воспринимать только некоторый (до сих пор точно не определенный) класс языков (Леннеберг, 1967). Доказательства, касающиеся способностей машин Тьюринга воспринимать различные абстрактные языки при различных ограничениях, не могут помочь нам в задаче понимания языка. Если мы хотим разобраться в структурах естественного языка, нам, возможно, следует прежде всего изучить типы программ, легко выполнимых на вычислительной машине, организация которой схожа с человеческой 1).
Изложенные выше соображения приводят нас к сопоставлению двух взглядов на язык, которые мы назовем „математическим*4 и „психологическим*4. Математический взгляд, возникновение которого связано с именем Хомского (1963), преобладает в вычислительной науке по причинам, о которых подробно говорилось в гл. 2. Вкратце напомним аргументацию. Согласно математическому взгляду, язык описывается системой правил, способных порождать правильно построенное множество цепочек, или предложения. Эту систему правил можно считать проектом машины, которая не производит никаких других цепочек, кроме предложений данного языка. С другой стороны, эти правила можно считать спецификациями для программы, порождающей этот язык. Существует формальное тождество между машиной, способной производить предложения на языке, и машиной, способной распознавать, является или нет данная цепочка предложением. В случае когда машина распознает предложение, мы говорим, что машина воспринимает (допускает) цепочку. При математическом анализе восприятие цепочки эквивалентно тому, что машина (или интерпретирующая программа) определила способ, которым эта цепочка могла быть порождена. В идеальном языке для анализа вычислений будет только один путь порождения данного предложения, поэтому восприятие цепочки будет эквивалентно определению „с гарантией*4 того, как она была порождена. Кажется разумным (хотя соответствующая математическая теория не связана непосредственно с этой темой), что, если бы были известны этапы, через которые „проходит4* говорящий при построении предложения, можно было бы с легкостью определить смысл его утверждения. Например, определив структуру цепочки
А = (В + 2)^С. (6)
1) Эта точка зрения развита в работах Ханта (1971, 1973).
Транслятор Фортрана может узнать, какие вычисления имел в виду программист. Для подавляющего большинства практических ситуаций это все, что требуется 】).
В противоположность математическому „психологический взгляд" хаотичен. Если считать, что в нем есть центральное место, так это то, что мы сможем понимать языки только благодаря пониманию возможностей человека и общих законов, управляющих его поведением. Язык рассматривается как специфическая деятельность человека, которая выводится из более широкого понимания психологии. На практике это означало, что в основном психологические исследования языка концентрировались на переменных, определяющих обучение человека языку; примером служит подход Скиннера (1957) к языку как частному проявлению нормального функционирования человека. Другое направление исследований —— определение психологической основы языка (Леннеберг, 1967; Геш- винд, 1970). Эти специальные подходы можно понять в свете интересов психолога, но они больше связаны с вопросом, как возник человеческий язык, чем, что в точности возникло, т. е. какой должна быть конструкция машины, пользующейся языком. В результате воздействие психологической точки зрения на вычислительные науки было незначительным. Это, несомненно, должно вызвать сожаление, особенно если мы действительно не сможем строить машины, понимающие естественные языки, пока не придем к лучшему знанию того, как их надо понимать. Последний довод основан на двух предположениях: 1) математическая модель не обеспечивает адекватного описания естественного языка и 2) для создания приемлемых (для ЭВМ) алгоритмов анализа языка можно применить психологическую модель. В следующих разделах приводятся некоторые свидетельства в пользу этих предположений.
15J. Естественный язык: математическая модель
15,1,0. Замечания
о контекстно-свободных грамматиках составляющих
Идея формальных грамматик в книге уже рассматривалась. В гл. 2 были введены структура составляющих и контекстно-свободные языки и было указано, что обычно стараются строить языки
Есть несколько затруднительных ситуаций, в которых либо возникают неопределенности, либо ликвидация неопределенности языка разрушает также его способность обращаться к вычислениям, которые могла бы сделать ЭВМ. Значительные усилия исследователей направлены на расширение математической модели, чтобы такие случаи были относительно редкими. Именно этим вызвана разработка языка Алгол 68. Из соображений, излагаемых в этом разделе, в частности, вытекает, что целесообразность такой попытки сомнительна, поскольку ряд больших и весьма распространенных задач расширения языков программирования требуют от нас полного отказа от данной математической модели.
программирования для ЭВМ так, чтобы они носили структуру составляющих и, если возможно, имели контекстно-свободные грамматики. Это соответствует истине даже в том случае, когда предлагается определить язык на основе демонстрации примера. Во всех алгоритмах грамматического вывода, обсуждавшихся в гл. 7, предполагалось, что язык контекстно-свободен. Покажем на примере,
ЕОА
Рис. 15.1. Пример грамматического анализа в НС-грамматике.
почему такие языки удобны для специалиста по вычислительным машинам. Пусть язык определен словарем
N = {S, О.А.Е]
Т = {„любая буква а, ・・・,z“,„любое целое от 0 до 1000“, (7)
и грамматикой G, состоящей из продукций
S — E
Е — ЕОА(8)
Л—► „любая буква или целое**
О—или —".
Такой язык будет порождать цепочки вида а, а+Ь, а+17, а—17 ит. д. Это язык непосредственно составляющих (НС-язык), поскольку можно построить дерево разбора для любой цепочки в языке, начиная с нее и заменяя в ней любую подцепочку, соответствующую правой части одной из продукций в G, на левую часть этой продукции, пока не получится символ S. На рис. 15.1 изображено дерево разбора простой цепочки из языка, определенного с помощью (7) и (8). Говорят, что проведен грамматический анализ цепочки, если для нее построено дерево разбора. Успешный грамматический анализ эквивалентен обнаружению того, что существует способ, кото-
рым язык мог бы породить эту цепочку. Кроме того, существует прямой путь перевода дерева разбора в семантику операций ЭВМ. Зто также видно из рис. 15.1. Этот рисунок дает схему анализа в виде дерева, которое очень легко перевести в префиксную бесскобочную запись. Заключим в скобки цепочку, соответствующую каждому вхождению Е в цепочку, подлежащую разбору. Это можно сделать без труда. В нашем примере скобочной структурой будет
(3+Ь)+с)(9)
Эта информация позволяет применить хорошо известные механические процедуры для замены ее на бесскобочную запись
+с+Ьа(10).
которую можно вычислить последовательностью вызовов и сложений в порядке справа налево, т. е.
Вызвать а
Вызвать b
Сложить два последних вызванных символа, сумму запомнить Вызвать с
Сложить с суммой
Точный механизм выполнения этих операций зависит, конечно, от используемой ЭВМ. Реальные языки программирования, разумеется, гораздо сложнее. Тем не менее основные принципы остаются теми же. Дополнительная сложность этих языков обусловлена практически полностью тем, что их грамматики гораздо шире.
Итак, языки программирования, основанные на контекстно- свободной модели непосредственно составляющих, действительно дают разумный язык для разговора об арифметических и алгебраических операциях. Люди могут освоить эти языки, и они легко переводятся в машинные команды. Поэтому для некоторых целей они чрезвычайно полезны. С другой стороны, легко показать, что эти языки не позволяют работать с определенными конструкциями естественного языка. Мы не будем пытаться подробно охарактеризовать эту задачу. Лучше проиллюстрируем ее, заметив, что в рамках грамматик непосредственно составляющих нельзя обнаружить, что два предложения
Джон поднял книгу
Книга была поднята Джоном(11)
эквивалентны, и это объясняется тем, что они, несомненно, породили бы два разных грамматических анализа. Ясно, однако, что распознавание таких случаев тождества —— важный аспект понимания.
Трансформационные грамматики х)
Многие лингвисты понимают, что для формализации языков, по сложности приближающихся к естественным, необходимо расширить класс грамматик. Об одном таком расширенном классе — классе трансформационных грамматик — уже говорилось вкратце в гл. 2, где указывалось, что для распознавания цепочек из трансформационного языка могут понадобиться все возможности машины Тью- рига. Даже с точки зрения теории это означает, что анализ языка может оказаться очень сложным. Дело действительно обстоит именно так. Чтобы понять почему, рассмотрим некоторые из требований к обработке информации для понимания речи человека.
Что происходит на этапе построения предложения? Во-первых, необходимо решить, что ты хочешь сказать. Мысль говорящего называют синтаксически представленной цепочкой из языка глубинной структуры^ который понимается как разновидность внутреннего языка мышления. Математические лингвисты мало интересуются тем, как порождаемое представление глубинной структуры утверждения связано с воплощаемой им идеей. Мы в конечном счете поставим под вопрос это отсутствие интереса, поскольку мы утверждаем, что именно этим следует заниматься при использовании естественного языка вычислительной машиной. Однако в настоящее время мы просто предположим, что внутренний язык, на котором выражается глубинная структура, является языком непосредственно составляющих. Высказывание порождается глубинной структурой путем применения серии правил преобразования, в результате которых возникает предложение разговорного языка, и его структура называется поверхностной. Предложение на внешнем языке следует анализировать, отображая цепочку назад из поверхностной структуры в глубинную, а затем раскрывая связи между элементами глубинной структуры.
Приведем два примера и проиллюстрируем на них возможные сложности этого подхода. Первый связан с вопросами. Предположим, что некто хочет задать вопрос
Did Sherlock Holmes expose the evildoer?口?)
^Разоблачил ли Шерлок Холмс преступника?^ '' С помощью вполне очевидных обозначений 2) представим глубинную структуру этого вопроса на рис. 15.2. Из рисунка видно,
Основным источником в этой области послужила для нас книга Хомского (1965). Работа Томаса (1965) содержит легко читаемое, без технических деталей, обсуждение применения трансформационных грамматик в анализе английского языка.
Всюду в этом разделе будут употребляться следующие обозначения: Q — вопрос, NP — группа существительного, N — существительное, VP — группа глагола, V — глагол, AUX — вспомогательный глагол, DET — определение, ADJ — прилагательное, ADV — наречие, LOC — размещение, PREP — предлог, Т — время, RC — придаточное предложение.
что предложение (S) состоит из знака вопроса (Q), группы существительного (NP) и группы глагола (VP). Группа существительного состоит из единственного элемента (существительного N) Sherlock Holmes, а группа глагола — из глагола (V) expose, вспомогательного глагола (AUX) did и группы существительного (NP) the evildoer. В английском языке есть правило преобразования, устанавливающее, что в предложениях со знаками вопроса вспомогательный глагол может переставляться перед группой существительного, соответствующей подлежащему, которая порождает окончательное пред
AUXAUXNNevildoer ?evildoer ?did expose (прошедшее)did expose (прошедшее)SherlockHolmesSherlockHolmes
AUX
AUX
N
N
evildoer ?
evildoer ?
did expose (прошедшее)
did expose (прошедшее)
SherlockHolmes
SherlockHolmes
для примера (12),для примера (12),Рис. 15.2. Глубинная НС-структура
для примера (12),
для примера (12),
ложение. Если бы нам было нужно построить диаграмму НС-структуры прямо из (12), она оказалась бы уже не деревом, поскольку соседние символы в терминальной цепочке в (12) не всегда выводятся из соседних нетерминальных символов дерева разбора. Для порождения предложения это не составляет проблему, но может вызвать существенные трудности в понимании предложения, когда глубинная структура разыскивается, а не задается с самого начала.
Более сложный пример:
Lady Agatha is believed to have been abducted “3) ^Думают, что леди Агата похищена^< 丿
Корректная интерпретация предложения (13) состоит в том, что некоторый неизвестный человек убежден, что кто-то, также неизвестный, похитил леди Агату. Соответствующая глубинная струк-
тура приведена на рис. 15.3. Первая группа существительного в поверхностной структуре Lady Agatha фактически служит дополнением в группе глагола придаточного предложения. Само придаточное предложение служит дополнением в группе глагола главного предложения. Подлежащие и в главном, и в придаточном предложениях не определены (НЕКТО), но ясно, что это разные некто. Заметим, что наше предложение, несмотря на все эти проблемы, понимается моментально. Но почему? Не трудно построить трансфор-
Рис. 15.3. Глубинная структура для примера (13).
мационную грамматику, содержащую правила порождения поверхностных структур из глубинных. Трудно совершить обратное: восстановить глубинную структуру из поверхностной. В случае НС-грамматики можно определить нетерминалы, которые могли бы породить каждую терминальную составляющую в поверхностной цепочке. Это дает цепочку, содержащую некоторые нетерминалы. Затем соседние символы объединяются в другие возможные нетерминальные символы. На каждом этапе объединение символов в одной части цепочки не зависит от анализа других частей. Это позволяет постепенно анализировать цепочку слева направо, не возвращаясь назад для пробных разборов. Эта простая схема чтения цепочки слева направо для языка, порожденного трансформационной грамматикой, не годится. Чтобы убедиться в этом, проведем грамматический анализ и найдем место Lady Agatha в связи с нужным
глаголом в (13). Сравним это с соответствующим анализом для
Lady Agatha is Sir Roger's fiancee H4) <Jledu Агата невеста сэра Роджера^ (丿
Для анализа подцепочки Lady Agatha is в (14) надо указать, что группа существительного (NP) Lady Agatha должна быть подлежащим при is. В (13) та же самая группа NP была дополнением при глаголе в придаточном предложении. И в том, и в другом примере надлежащую роль первой группы существительного в поверхностной цепочке нельзя определить, пока не выяснены свойства слов, следующих за is. Поскольку анализ исходной группы существительного зависит от анализа составляющей поверхностной цепочки, не соседней с ней, то в алгоритме анализа должны быть возможности либо временно задерживать анализ до получения дополнительной информации, либо осуществлять пробный анализ, который при поступлении новой информации можно скорректировать.
Невозможность анализировать естественные языки алгоритмом просмотра слева направо создает трудности для программиста, однако можно разработать более сложные алгоритмы просмотра. Существуют и другие проблемы, затрагивающие более глубокие принципиальные трудности. Оказывается, что естественные языки порождаются по очень сложным трансформационным правилам. Во многих случаях выбор нужного правила зависит от информации о природе обсуждаемых объектов, а не от синтаксической информации о частях речи, которым принадлежат конкретные нетерминальные символы. Проблема не в том, что некоторые предложения естественного языка неоднозначны, а скорее в том, что для человека, для которого этот язык родной, нет этой неопределенности, хотя грамматический анализ утверждает, что она должна быть. Возьмем предложение
Lady Agatha ts believed to have been kidnapped by the spy “5) 〈Думают, что леди Агата похищена шпионом^ ' ' Ясно, что шпион является похитителем. С другой стороны, в предложении
Lady Agatha is believed to have been kidnapped by the detective (]$) <^Сыщик думает, что леди Агата похищена^ ' слово „сыщики обычно понимается как подлежащее, относящееся к основному глаголу. Наш выбор между двумя глубинными структурами основан на наших представлениях о сыщиках и шпионах, а не об английской грамматике.
Специалист в математической лингвистике считает грамматику моделью языка, если она определяет машину, способную породить все цепочки данного языка и никакие другие. По этому критерию НС-грамматики не могут объяснить естественные языки, а транс-
формационные грамматики могут. Для специалиста в вычислительных науках, однако, главное не порождение языка, а его анализ. Какие алгоритмы грамматического анализа можно создать для восстановления глубинной структуры трансформационной грамматики по ее поверхностной структуре? Сейчас мы перейдем к этому вопросу.
Анализ трансформационных грамматик
После начального периода, когда был предложен ряд способов решения задачи, стал развиваться метод анализа трансформационных грамматик. Один и тот же основной метод описывался по крайней мере в нескольких статьях (Бобров и Фрезер, 1969; Каплан, 1972; Торн, Бретли и Дьюар, 1969; Вудс, 1970). Однако следует помнить, что алгоритмы анализа для трансформационных грамматик были исследованы еще не так глубоко, как для НС-грамматик, и не будет неожиданным, если вскоре появится совершенно новый метод анализа трансформационных языков.
Рис. 15.4. Сеть переходов с конечным числом состояний.
Следуя Вудсу, будем называть метод, который мы собираемся описать, методом расширенных сетей переходов для анализа естественного языка. Он основан на расширении неправдоподобно простой модели анализа языка, называемой анализом сети переходов с конечным числом состояний. Чтобы разобраться в этом сложном методе, уместно сначала рассмотреть упомянутую простую модель.
Сеть переходов с конечным числом состояний задается множеством узлов и направленных дуг, соединяющих их. Грубо говоря, эти узлы соответствуют нетерминальным символам, а дуги — терминальным. Выделенное состояние S ставится в соответствие начальному узлу, состояние S*—— заключительному. Пример такой сети приведен на рис. 15.4. Чтобы воспользоваться этим графом для порождения цепочки, начнем с S и продолжим так:
Выбрать одну из направленных дуг, выходящих из рассматриваемого узла, и пройти по ней.
Каждая дуга помечается либо символом # окончания цепочки, либо именем подмножества терминальных символов. Когда дуга пройдена, должен быть взят один из терминальных символов этого подмножества, соответствующий этой дуге.
Продолжать процесс до тех пор, пока не будет достигнут узел S*. Здесь цепочка кончается.
Допустим, например, что с помощью рис. 15.4 нужно получить The big brown dog chased the little black cat #川7)
^Большая коричневая собака преследовала маленькую черную '丿 кошку #〉
Порядок рассматриваемых узлов будет таким: S, DET, ADJ, ADJ, N, V, DET, ADJ, ADJ, N, S*.
Теперь рассмотрим вопрос о восприятии цепочки. Для данной цепочки мы должны сказать, могла ли породить ее грамматика, определенная этой сетью. Чтобы ответить на вопрос, начнем с состояния S и, беря по порядку каждое из слов на входе, найдем дугу, которую можно пройти, чтобы породить данный символ. Если после # мы оказались в S*, это предложение считается воспринятым.
Модели с конечным числом состояний несовершенны, ибо они не способны работать с правилами рекурсивного порождения. Это правила, в которых одиночный символ слева воспроизводится справа. Например,
А.~>Sj/ls2.(18)
В наших примерах для естественных языков была эта форма. Все глубинные структуры для (13), (15) и (16) имели вид
It is believed that (s)(⑼
^Думают, что (s)>''
где (s) можно заменить любой законной структурой, которую можно породить из начального символа, т. е. любой правильно построенной цепочкой из языка. В частности, (s) в (19) можно заменить вторым предложением, содержащим в себе (s), которое в свою очередь может содержать (s), и т. д. Поскольку нет способа реализовать рекурсию как часть графа, сети переходов с конечным числом состояний не могут распознать такую цепочку )
Возникает естественный вопрос, появляются ли на самом деле в беседе на естественном языке произвольно глубоко вложенные цепочки. Очевидно, любая цепочка имеет конечный уровень такого вложения. Можно было бы составить сеть с конечным числом состояний для порождения любого языка, в котором уровень вложения ограничен. Лингвисты отказываются от таких моделей, поскольку потенциальная возможность грамматики порождать цепочки может превзойти этот произвольный предел. Психологи, с другой стороны, больше внимания уделяют анализу цепочек, появляющихся на практике. Мы полагаем, что специалист в области вычислительных машин, интересующийся созданием машины, способной разговаривать с человеком, здесь фактически ближе к психологу, чем к лингвисту.
Рекурсию можно осуществить, расширив модель конечной сети, чтобы дать возможность сети с конечным числом состояний вызывать другую такую сеть, причем эта процедура должна выполняться в любом узле. В таком случае грамматика представляется множеством сетей с конечным числом состояний, каждая из которых соответствует грамматическому анализу некоторой нетерминальной компоненты языка. Анализ (порождение) цепочки проводится так:
Начать с S в исходной сети. Завершение пути по этой сети к S* эквивалентно успешному анализу.
На каждом шаге пройти дугу и породить (или воспринять) нетерминальные символы, как ранее, с одним лишь исключением:
В некоторых узлах, вместо прохода по выходящей дуге, управление можно передать другой сети с конечным числом состояний, относящейся к грамматике.
Назовем сеть, из которой передается управление, вызывающей. а вторую сеть — вызванной. Вызванная сеть начинает анализ со своего собственного начального символа, используя следующий символ в цепочке как свой первый входной символ. При достижении своего выходного узла вызванная сеть передает управление обратно определенному узлу в вызывающей сети. Теперь „следующим символом, подлежащим прочтению** (порождению), будет первый символ после тех, которые были распознаны только что закончившей работу вызванной сетью.
Вызванная сеть может вызывать другие сети. Разрешены рекурсивные вызовы (в этом случае сеть переходит к собственному начальному состоянию либо непосредственно, либо через промежуточную сеть).
При исследовании того, как сеть переходов анализирует предложение, полезно представлять себе две различные составляющие алгоритма анализа: собственно сеть и управляющую программу. Управляющая программа ответственна за запоминание слова, считываемого из входной цепочки, последовательности вызовов и места в сети, активного в данный момент. В сети с конечным числом состояний без возможностей рекурсии управляющая программа просто проверяет, является ли только что считанное слово возможной меткой для одной из дуг, выходящих из активного в данный момент узла. Если система располагает к тому же возможностью вызова, управляющая программа должна уметь выполнять еще две операции: PUSH и POP (заталкивание и выталкивание). Предположим, что программа читает /-е слово во входной цепочке и находится в узле и нашей сети. Этот узел будет связываться с дугами, выходящими из него и, кроме того, со списком сетей, которые можно вызвать из него. Если /-е входное слово не является допустимой меткой
для одной из этих дуг, то управляющая программа вызывает PUSH к одной из сетей, которые можно вызвать. Операция PUSH помещает указатель к узлу и в „магазинном списке** и затем приступает к анализу вызванных сетей. Магазинный список — это список узлов, имена которых считываются в порядке, обратном порядку записи их в этот список. (В терминах исследования операций это называется очередью типа „последним вошел, первым вышел”.) Таким образом, если элементы помещаются в магазинный список в порядке /г, г, s, они будут считываться в порядке s, г, п 】).Операция POP обратна операции PUSH, она берет имя первого узла из магазинного списка и передает ему управление. POP применяется для передачи управления назад к вызывающей сети после того, как достигнут концевой узел вызванной сети. POP применяется также при указании на неудачу, если нельзя найти никакого пути через вызванную сеть.
На рис. 15.5 показано множество сетей для сети переходов с конечным числом состояний, обладающих возможностью вызывать другие сети как процедуры. Допустим, что с помощью этой сети анализируется предложение
The detective saw the man whom the woman heard 优0) <^Сыщик видел человека, которого слушала эта женщина^ '
Анализ начинается с состояния 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)
Теоретические аспекты магазинных списков рассматривались в гл. 2. Много вариантов магазинных списков используется в системном программировании и операциях над символами с помощью ЭВМ. Подробное изложение этого материала содержится в книге Кнута (1968).
Символ 4(i) означает узел А в i-й подсети. Например, NP (В)——это узел NP в сети (В).
Магазинный список представляет собой (NP (С), VP (А)). Сеть (В) можно использовать для непосредственного распознавания the man, но слово man требует для распознавания связанной с ним фразы вызова сети (D). Когда управление передается к RC(D), мага-
(А)(А)0000(С)(С)ГлаголГлаголОО00^0^0Рис. 15,5. Пример сети с конечным числом состояний и с процедурой вызова.Рис. 15,5. Пример сети с конечным числом состояний и с процедурой вызова.
(А)
(А)
0
0
0
0
(С)
(С)
Глагол
Глагол
О
О
0
0
^0
^0
Рис. 15,5. Пример сети с конечным числом состояний и с процедурой вызова.
Рис. 15,5. Пример сети с конечным числом состояний и с процедурой вызова.
зинным списком будет (RC(B), NP(C), 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*
Heard, последнее слово предложения, считывается в V (D), и выполняются операции POP в порядке RC(D), NP (В) и VP (А). Это опустошает магазинный список и управление передается к состоянию S* (А), которое является заключительной точкой сети самого высокого уровня. Грамматический анализ теперь завершен: (The detective) (saw (the man (whom (the woman) heard))) (25)
Хотя здесь не было никаких формальных доказательств, этот пример, как мы надеемся, убедит читателя в том, что система сети переходов с конечным числом состояний и с процедурой вызова может анализировать предложения, порожденные контекстно-свободной грамматикой составляющих структуры. Таким образом, этот метод представляет возможный, хотя и несколько неизящный, способ обработки традиционных языков программирования.
Мы пока не затрагивали вопроса о переходах от глубинной структуры к поверхностной и обратно, ибо пока не было никакого механизма изменения порядка компонент цепочки. Чтобы решить эту задачу, Вудс предложил добавить к сети с конечным числом состояний множество регистров и память для структуры предложения. Эти регистры управляют грамматическим анализом, запоминая сведения о результатах предыдущих этапов анализа. Эта информация используется для изменения порядка, в котором управляющая программа рассматривает различные участки сети по мере того, как пытается анализировать еще неразобранные части предложения. Информацию, содержащуюся в регистрах, можно также использовать для переопределения структуры входного предложения. Поскольку программе разрешено менять структуру предложения или информацию в регистрах, управляющая программа может осуществлять пробные присваивания частей входной цепочки различным структурам предложений. Их можно менять, если последующий анализ показывает, что первоначальное присваивание было неверным. В результате управляющая программа может перейти от поверхностной структуры предложения к глубинной, получив дополнительную информацию о предложении.
Чтобы продемонстрировать, как это происходит, разберем еще одно предложение. Сеть, которой мы будем пользоваться, показана на рис. 15.6. На этом рисунке отмечены также точки, которые не входят в сеть, но в которых управляющая программа будет работать, когда в нашем примере совершаются важные действия. Будем разбирать предложение
Lady Agatha was taken for a ride ”6)
<Jledu Агату пригласили на прогулку верхому ( '
Анализ осуществляется следующими этапами:
Войти в узел S. Перейти к NP и передать управление сети (В). В магазинный список записать NP (А).
А
Рис. 15.6. Сеть с конечным числом состояний, с процедурой вызова и регистрами (SUBJECT, VERB, OBJECT, AGENT).
С помощью сети (С) опознать (Lady Agatha) как группу существительного. POP возвращает управление к NP (А). В точке Л поместить (Lady Agatha) в регистр SUBJECT.
Войти в VP (А) и передать управление сети (В), Опознать was как глагол. (Заметим, что это предпочтительная конструкция. Управляющая программа пытается читать от
VP(B) к V (В). Только в случае неудачи она вернется к попытке чтения от VP* к AUX.) В точке В поместить (was) в регистр VERB.
Управление переходит к узлу NP (В), а из него к сети (С). Сеть (С), однако, неудачна, поскольку следующее слово в цепочке, а именно taken, не является ни существительным, ни определением. Затем управляющая программа возвращается к последней точке, где принималось решение, т. е. к выходу из VP (В), и выбирает ветвь к AUX.
Was распознается как вспомогательный глагол, taken — как глагол в страдательном залоге. Тогда (was taken) помещается в регистр VERB с отметкой (past, passive) <(про- шедшее время, страдательный залог)).
Управление переходит к узлу LOC (В), а из него к сети (D). Цепочка for a ride опознается как предложная группа места и помечается. Операции POP проходят от LOC *(D) через VP* (В) к точке С.
К этому моменту анализ предложения дошел до (Lady Agatha) ((take (past, passive) (for a ride))). В точке С используются возможности трансформации. Завершив идентификацию группы глагола, управляющая программа находит, что регистр VERB содержит указатель страдательного залога. Трансформационное правило, содержащееся в данной задаче, гласит: „Для глаголов в страдательном залоге переместить содержимое регистра AGENT в SUBJECT и регистра SUBJЕСТ в OBJECT". Поскольку регистр AGENT пуст, его содержимым считается someone (некто). Перестройка регистров дает
(Someone) (take (past, passive) (Lady Agatha) (for a (ride))) (27)
Получили правильную глубинную структуру.
Расширенные сети обладают той же мощностью, что и машины Тьюринга. Это значит, что любой язык, распознаваемый программой для ЭВМ, можно распознать программой, применяющей метод расширенных сетей переходов. Такое значительное увеличение мощности достигнуто для идейно достаточно простого механизма графового представления грамматики. Это, однако, далось не даром. Управляющая программа должна стать гораздо более сложной. Фактически увеличение сложности управляющей программы, обусловленное использованием регистров и структурным переупорядочением, качественно отличается от увеличения сложности, обусловленного операциями PUSH и POP. Чтобы перейти от анализа одного языка к анализу другого с помощью сети с конечным числом состояний без регистров, достаточно изменить лишь эти сети. Управляющие программы инвариантны относительно языков. Как только на управляющую программу будет возложена ответственность за
проверку и перераспределение информации в регистрах, логика управляющей программы станет частью грамматики. Это влечет за собой два важных результата. С точки зрения анализа выяснение того, какой язык воспринимается путем анализа конкретной расширенной сети переходов, меняется от задачи доказательства существования классов путей через графы до существенно более трудной задачи доказательства теорем о возможных результатах работы программ. С точки зрения исследований интеллекта мы вынуждены позволить программе, предложенной в качестве описания языка, самой быть слишком сложной для понимания.
15.1.3. Критика математического подхода
Существуют два уровня, на которых можно критиковать тот или иной подход к языку, равно как любую другую научную модель. Один состоит в том, что данный подход в целом правилен, а его реализация — нет. Это по существу довод в пользу перехода от анализа структуры составляющих к анализу транформационной грамматики естественного языка. В обоих случаях сохраняется идея о том, что теория языка предоставляет машине основу порождения предложений на этом языке. Этот довод не зависит от свойств имеющейся ЭВМ.
Такую позицию занимает математическая лингвистика. Хомский на самых первых страницах своего основного труда по трансформационным грамматикам совершенно ясно говорит о том, что в формальной лингвистике исследуются компетенция, т. е. приписывание структуры предложениям языка, а не исполнение, которое определяется им как реальное использование языка для передачи мыслей. Он указывает (Хомский, 1965, стр. 11), что при реальном использовании языка мы различаем „приемлемые** и „неприемле- мыеи предложения, а это не то же самое, что различие между „гра- мотным" и „безграмотным4* предложениями. Так, предложение
The man the boy the woman knew hit ran (28)
грамотно, поскольку соответствует правилам английского языка, хотя находим мы такое предложение неприемлемым. С другой стороны, целый ряд жаргонных выражений приемлем, хотя и безграмотен. Лучший известный нам пример ——выражение, которое мы слышали (хотя и нечасто) от англоязычных австралийцев:
Give 〃s те tea (29)
Эти люди могут с некоторым смущением признать, что они плохо построили фразу. В то же время они совершенно резонно возразят, что другие люди, говорящие на том же языке, поняли их. Согласно Хомскому, представления о приемлемости и связанные с ним представления о понимании относятся к исследованиям лингвистиче-
ского исполнения и потому лежат вне формальной лингвистики х). Однако далее Хомский заявляет, что он не видит, как развивать теорию лингвистического исполнения без теории компетенции, позволяющей структурировать все предложения.
Это вызывает разногласия. Мы считаем, что для понимания нет разницы между последовательными этапами структурного анализа —анализом глубинной структуры и отображением в значение. Скорее похоже, что при понимании применяется то один, то другой принцип. Шенк (1971) занимает еще более крайнюю позицию; он сравнивает исследование абстрактной структуры с попыткой понять мышление, сделав срез человеческого мозга! Может быть, это и не так, однако по-прежнему нельзя осуществить анализ грамматической структуры в отрыве от понимания предложения. Психологи признают, что в естественном языке синтаксис служит, чтобы направлять процесс понимания, но функция управления ему не свойственна. Иногда понять предложение можно, не анализируя полностью его структуру Бывает, что не удается структурировать предложение, не рассмотрев все его возможные значения.
Самый веский довод в пользу этой точки зрения таков: в живой речи нет отдельной лингвистической единицы, такой, как предложение, или, на языке операций вычислительной машины, программа или процедура, которую можно понять изолированно. Анализ лингвистического сообщения зависит от внутренней базы данных слушателя, причем эта база возникла в результате понимания предыдущих сообщений. Рассмотрим отрывки:
Алиса выбралась из реки. Подняв глаза, она в испуге увидела, что Белый Кролик сидит на камне и смотрит (30) на нее. Она побежала к нему, сжав в руке полотенце.
Алиса выбралась из реки. Подняв глазаt она в испуге увидела, что Дон Жуан сидит на камне и смотрит на (31) нее. Она побежала к нему, сжав в руке полотенце
Зрительный образ, вызванный словом „Алиса4*, наверное, существенно изменился. Почему? Потому что для получения разумной базы данных, описывающих сцену, нужен новый образ. Можно возразить, что здесь задача состоит в установлении правильного соответствия для существительного, а это не относится к грамматическому анализу. В нашем примере это действительно так, но в дру-
В некоторых своих работах Хомский отступает от этой точки зрения. В об* щем введении к данной теме Хомский (1967) определил грамматику как процесс отображения фонетического представления сигнала в значение этого сигнала. Мы могли бы принять это определение, сделав лишь оговорку о современном значении систем продукций как способа описания этого отображения.
гих примерах легко провести грамматический анализ, зависящий от понимания. Рассмотрим отрывки:
Теперь (32)Теперь (32)Джон и Мэри починили “5и此крафпг" и Qcc晡.
Теперь (32)
Теперь (32)
они летают на самолетах.
Джону и Мэри наскучили планеры. Теперь они летают на самолетах^
Здесь грамматическая неопределенность разрешена, поскольку ясен смысл предложений, окружающих ее. В отличие от примера с Алисой соответствие слову „самолет" одинаково для (32) и (33). Дело в том, что если неоднозначное предложение должно стать осмысленной частью базы данных, связанной с рассматриваемым отрывком, то оно может иметь только одну интерпретацию. Понимание служит ключом к грамматическому анализу, а не обратно. Конечно, грамматика дает нам некоторые подсказки, и они используются для определения смысла предложения. В то же время раскрытие смысла предложения влияет на его грамматику.
Если наши соображения верны, почему теперь придается такое значение анализу формальных языков? Это самая подходящая область деятельности для математика-лингвиста, поскольку его цель — создать модель способности обнаружения цепочек языка, а не перевода этих цепочек в „правильную** внутреннюю базу данных. На более практическом уровне языки программирования, полезные, но очень ограниченные, удобно анализировать по отдельности синтаксически и семантически. Те психологи и психолингвисты, которые хотят исследовать процесс исполнения, а не компетентность, должны, вероятно, обратиться к другим представлениям о языке. Сомнительно, чтобы размышления об абстрактных автоматах помогли психологу объяснить языковое поведение.
Проблема понимания языка в искусственном интеллекте — это компромисс между двумя точками зрения. Мы собираемся пользоваться вычислительными машинами, а они относятся к типу машин, которые могут анализировать языки лишь на основе строгого разделения между компетентностью и исполнением. В обозримом будущем ЭВМ будут разговаривать с человеком только на специальные темы, поэтому нет необходимости заново открывать безграничные и очень загадочные возможности долгосрочной памяти человека. С другой стороны, нас интересует понимание вообще, поскольку разговоры с ЭВМ нужны для того, чтобы заставить ее что-то сделать, а все, что она может делать, это изменять свою внутренюю базу данных. Возможно, мы не должны так поспешно пренебрегать стилем работы единственного существующего устройства, способного на адекватное понимание, — Homo sapiens.
15.2. Психологическая модель
0. Общая часть
Что понимается под возможностью написания программ, основанных на психологической модели? Несомненно, не то, что программы будут основаны на туманной идее о природе языка, поскольку такие программы написать просто невозможно. Нельзя написать программы, основанные на моделях (или являющиеся ими) лингвистического поведения человека, поскольку о том, как человек понимает, известно очень мало. Правильнее было бы сказать, что программа ЭВМ, реализующая понимание, имеет психологическую направленность, если (а) в ней не предпринимается попыток разделить синтаксический и семантический этапы и (б) применяемые алгоритмы основаны на интуитивных представлениях о том, как человек мог бы понимать речь, а не на выводах из абстрактной математической системы. Такая психология связана более с работами Вильяма Джеймса и немецких самоаналитиков, чем с современной экспериментальной психологией. Здесь не требуется никакого обоснования, поскольку это вполне согласуется с целью создания программ для ЭВМ, способных участвовать в беседе на естественном языке. Идеи лежат там, где вы их находите. Если полезную программу можно создать, нарушив несколько математических правил или воплотив в нее психологическую модель, неверно отражающую поведение, то это вполне устроит работающего с вычислительной машиной. Математик-лингвист и психолог не имели бы такой свободы.
Приняв такой прагматический подход, мы, наверное, не удивимся тому, что „психологическая" теория машинного понимания языка не так четко разработана, как математическая. Путаница и противоречия в этом подходе почти неизбежны. На большинство современных исследований в данной области повлияли идеи о том, что знание можно представлять в виде семантической сети (Куилли- ан, 1968; Мак-Калла и Сэмпсон, 1972; Румельхарт, Линдсей и Норман, 1971) и что грамматический анализ должен управляться как семантикой, так и синтаксическими особенностями (Шенк, 1972, Виноград, 1972). Слишком рано говорить о том, по какому пути пойдут исследования, и мы не очень удивимся, если станет известно о какой-то новой идее, которая поглотит все старые. С другой стороны, в нашем обсуждении содержатся некоторые догадки о том, как развивается эта область. В частности, мы не упомянули о многих ранних работах и о некоторых современных проектах просто потому, что чувствуем, что они ведут в тупик. Может быть, мы не правы. Читателю, интересующемуся продолжением этой темы, рекомендуем более подробный обзор Симмонса (1970).
Концептуальный грамматический анализ
Основная идея психологического подхода к грамматическому анализу заключается в том, что структурный анализ предложения на естественном языке должен управляться прежде всего предположительным значением предложения. Синтаксические ”намеки" мо гут помочь в установлении значения, но не управляют этим процессом. Отчасти, это аналогично проблеме „что было вначале: курица или яйцо?1*, ибо почти невозможно найти значение до тех пор, пока не станет что-нибудь известно о структуре. Решение, следовательно, состоит в формировании программы, которая приписывает части цепочки пробное структурное описание, определяет, возможна ли содержательная интерпретация, и, если да, использует этот результат для управления поиском синтаксической структуры остальной части предложения.
Поскольку очень важно понять основную идею этого процесса и гораздо менее важно разобраться в его деталях для какой-то частной программы, попытаемся в качестве иллюстрации привести пример, не связанный с программированием. Предположим, что вы пытаетесь построить модель самолета при следующих несколько необычных условиях. У вас есть маленький стол, а на нем место для частично собранной модели и свободное пространство, куда можно класть части, с которыми вы пока не работаете. Помощник, или „подносчик**, выбирает части и передает их вам с той скоростью и в том порядке, которыми вы не управляете. Чтобы усложнить этот процесс, допустим, что свободная площадь на столе не настолько велика, чтобы на ней поместились две части из ящика. Поэтому ваша сборка модели должна быть достаточно быстрой, чтобы при получении каждой следующей детали вы могли либо поместить ее на свое место в модели, либо найти для нее пространство на столе. Здесь есть прямая аналогия с языком. При понимании речи говорящий посылает слово слушающему со скоростью, определяемой говорящим. Слушающий не должен отставать от говорящего в сборке модели, о которой говорящий старается рассказать.
Как и понимание речи, такой путь построения модели ни в коем случае не является невозможным. Рассмотрим несколько возможных способов выполнения этого задания. Одна стратегия для конструктора модели ——ждать, пока говорящий даст ему „ключевую часть* (т. е. фюзеляж), пригодную для использования ее в качестве каркаса, вокруг которого располагались бы другие части. Вероятно, большинство людей пошли бы по этому пути. Трудность задачи зависит от числа ее характеристик, которые мы еще не определили. Очень помогла бы нам информация о контексте: тот простой факт, что вы знаете, что получили части самолета,, а не лодки, был бы очень полезен при распознавании того, как расположить детали. Когда модель начнет принимать какую-то форму, в нашем распоряжении
окажется еще больше контекстной информации. Порядок, в котором подносчик дает вам эти части, очень важен. Было бы идеально, если бы вы получали деталь, зная, где будет ее место в окончательной модели. В менее выгодных условиях вам давали бы детали, которые в момент получения могли бы занимать одно из нескольких положений, и вам бы приходилось догадываться. Если догадка была неверна, вы должны были бы (частично) разобрать модель, когда новая информация обнаружила бы это. Остается надеяться, что масштабы разборки удалось бы свести к минимуму.
Теперь рассмотрим, как влияют на ситуацию некоторые ограничения. Без сомнения, главная проблема — это догадаться, как должна выглядеть завершенная модель. При данном контексте („самолеты вообще**, „самолеты 1-й мировой войны** и т. д.) у вас должен быть общий план допустимых структур. Например, вы были бы весьма озадачены, если бы не имели понятия о вертолетах. По мере познавания все большего числа деталей ваши идеи о допустимых структурах становились бы все точнее и точнее. В действительности в какой-то момент вы могли бы идентифицировать все основные детали модели, хотя еще не видели всех деталей. Вернемся к аналогии с речью: в большинстве случаев нам не нужно слышать все сказанное, чтобы понять, о чем идет речь. Помогли бы некоторые ограничения на скорость и очередность, в которой говорящий может передавать вам части этой модели. Предположим, например, что от помощника требовалось начать с носа самолета и спускаться по фюзеляжу к хвосту, но ему разрешено выбирать, спуститься к хвосту вначале, а затем вернуться к крыльям или же спускаться по одной стороне» выйти на крыло, затем спуститься внутрь и вниз и, наконец, подняться по другой стороне. Сборщик модели мог бы очень быстро собрать части между выбранными точками, но должен был бы останавливаться, чтобы определить, по какому пути пойдет подносчик из каждой такой точки. Наконец, чем больше ваше рабочее пространство, тем легче исправлять ошибки.
При понимании речи слушатель во многом похож на сборщика моделей. Понимание аналогично определению того, как должна выглядеть завершенная модель, и не похоже на восстановление выборов говорящего относительно того, что передать в данное время. Попытаемся выразить это в лингвистических терминах: при понимании речи мы стараемся распознать мысли, вызвавшие произнесенное предложение. Структурный анализ предложения не имеет отношения к этой цели. Синтаксис аналогичен правилам, которых должен придерживаться говорящий, решая, какую часть передать сборщику модели. Знание синтаксиса в одних случаях помогает узнавать взаимосвязь между элементами, а в других это ненужно и иногда может не быть надежным ключом.
Шенк (1971, 1973), развив эти интуитивные идеи, создал концептуальную систему грамматического анализа. Его работа была
ориентирована на реализацию в ЭВМ „понимающей** системы (программа SPINOZA), основанной на концептуальном анализе, хотя, как он указывал, иметь программу ——это вторичное по отношению к идеям, на которых она основана. В его программах фразы определяются как основные факторы и действия в дискуссии („концеп-
—к Фактор
/пап^""^^ перехоЭ-^—• book
the bigthe
—От-"Неопределенно"
текущее
положение1*
Рис. 15,7. Этапы процесса понимания примера (34).
ты"). Словарь используется для определения отношений, которые могут возникать между концептами. Понимание предложения
The big man took the book(34)
^Высокий мужчина взял книгуУ' '
будет происходить следующим образом:
Идентифицируется артикль the, и он запоминается для дальнейшего анализа. Словарь указывает, что появится существительное (возможно, с определением).
Прилагательное big также помещается во временную область памяти, пока нет существительного, которое можно определить. Можно изобразить эту неполную структуру предложения в виде графа (рис. 15.7, а), на котором показаны два определения, ожидающие идентифицируемый объект.
Мап распознается как возможный объект. Как видно из рис. 15.7, а, он здесь ожидается и может сюда подойти. В результате сборки одной из подкомпонент начинает вырисовываться неполная структура. Это показано на рис. 15.7, б ) на котором отражен мо-
】)Заметим, что один из подходов состоит в том, чтобы считать, что мы строим зрительный образ того, что может означать данное предложение. С точки зрения психологии это означает, что конструкция зрительных образов фактически очень тесно связана с пониманием (Пайвио, 1969, 1971).
мент, когда определился один из возможных активных элементов. Шенк рассматривает понимание как построение описания активного элемента, завершающего действие; в некотором смысле это основной элемент мышления.
По словарю took — это действие take, модифицированное прошедшим временем (past). Идентификация глагола также дает много информации о допустимых формах образа, который мы пытаемся создать. В этом случае с take ассоциируется граф, указывающий, что фактор Z переводит объект из позиции X в У (рис. 15.8). Задача построения образа теперь сводится к попытке идентифицировать компоненты рис. 15.8 в конструкции рис. 15.7.
Остальные слова используются для заполнения рис. 15.8. Заметим, что при этом программа (или словарь) должна иметь до-
г-
7 V1 >Переход <・g 询.объект
Рис. 15.8. Схема образа, ассоциированного с take.
ступ к специальному правилу, гласящему, что если компонента У (для глагола take) в предложении не определена, то она является активным элементом, и что если компонента X не идентифицирована, то фразу „текущее положение объекта** следует заменить. Существование специальных правил, подобных этому, будет производить беспорядок в изящном математическом описании языка. Тем не менее они необходимы для понимания. Кроме того, предложение нельзя понимать изолированно. Так, (34) содержит ряд членов общего вида. Для построения конкретного образа надо знать, о каком высоком мужчине идет речь、о какой книге, где она. На эти вопросы можно ответить, только справившись в оперативной памяти о членах, появлявшихся в предыдущих предложениях.
Некоторую сложность представляет предложение
/ like books(35)
〈財凡е нравятсякниеи〉' '
которое синтаксически похоже на
/ like Магу(зб)
<Мне нравится Мэриу
поскольку в (35) слово like должно интерпретироваться как удовольствие от определенной деятельности (чтения), связанной с ря- Дом объектов, а Мэри нравится за множество неопределенных вещей, относящихся только к ней. Правильная структура для (35) показана на рис. 15.9, о, а для (36) — на рис. 15.9, 6. Из этого приора видно, что, как и синтаксический анализ, концептуальный анализ также зависит от контекста. Можно представить себе ситуацию, когда предложение (36) имело или не имело бы структуру, подобную (35), если бы мы больше знали о Мэри. Вопрос о том; которую структуру принять, нельзя решить, пока программа пони-
Рис. 15.9. Две концептуальные структуры для пред-ложений, синтаксически похожих: а —— для (35) и б —для (36).
мания не сможет провести тонкий анализ предполагаемого значения слова like в контексте, где оно встретилось.
Правила концептуального анализа связаны с отношениями между объектами и действиями, а не с порядком появления в цепочке ссылок на объект. Для построения концептуальной схемы беседы о самолетах на английском и японском языках следует применять одинаковые правила, хотя правила установления соответствий для лингвистических объектов могут быть разными. В этом отличие от построения глубинной структуры в трансформационной грамматике, так как там не требуется, чтобы во всех языках применялась одна и та же грамматика. Если бы мы располагали полной системой концептуального грамматического анализа, то имели бы грамматику для универсального „внутреннего языка мышления41. Заметим, что эта грамматика определяла бы, что считать правильно построенным выражением „в уме", а не устанавливала бы правила вывода новых структур. Задача написания программ для понимания определенного языка свелась бы к задаче нахождения процедуры, способной описать структуру на внутреннем языке, если известна
внешняя цепочка 】).Как и в примере с самолетом, может оказаться, что для этого не обязательно проводить полный анализ структуры внешнего языка.
Системная грамматика
Группа Шенка проделала некоторую программистскую работу, но в основном она занималась теоретическим анализом. Несколько более конкретный подход принадлежит Винограду (1972). В предыдущей главе мы упоминали программу, которую он написал для управления рукой робота в упрощенном мире игрушечных кубиков. Фактически основной целью исследований Винограда была проверка определенного подхода к машинному пониманию, основанному на представлении о системной грамматике, развитом английским лингвистом Холлидеем (1967, 1970). Системная грамматика определяется рядом эвристик для анализа лингвистической цепочки. Виноград пользуется этими эвристиками вместе с концептуальным представлением, которое строится, чтобы произвести то, что Шенк назвал бы концептуальным анализом значения входа на естественном языке. Этот анализ затем объединяется с базой данных дедуктивной системы. Чтобы продемонстрировать, как это делается, мы, следуя Винограду, рассмотрим примеры, полагая, что читатель знает английский язык. Наша цель здесь — иллюстрация принципов. Читатель должен помнить об этом и не заключать отсюда, что существует программа, эффективно работающая во всех обсуждаемых случаях. Действия программы Винограда, а именно манипуляция воображаемыми блоками на поверхности стола, тривиальны в отличие от принципов, лежащих в ее основе.
Ключом к работе программы служит грамматика, способная порождать все возможные графы, соответствующие концептуальным анализам предложений, которые она может получить. Это избавляет ее от проблемы хранения в своем словаре схем, как для take в примере на рис. 15.8. Это осуществляется представлением грамматики не как структуры данных (например, сети переходов), а как множества рекурсивно вызываемых процедур внутри основной
Смысл такой позиции состоит, в частности, в том, что структура внешнего языка будет определяться отчасти тем, насколько легко отображается внешний язык во внутренний и обратно. Мысли людей ограничивают форму языка, на котором они говорят, а не наоборот. Сам по себе внутренний язык не может быть наделен никакой логической структурой, поскольку должен использовать структуры данных, обрабатывать которые человеку в некотором смысле легко. «Обрабатывать» здесь имеет механический смысл физического представления данных, которые мозг должен осуществлять. Следовательно, биология налагает ограничения на структуру нашего мышления и через это определяет структуру нашего языка. Более подробно с этой философской точкой зрения можно ознакомиться в работах Леннеберга (1967, 1969).
программы PARSE 】).Грамматически использование программы для представления грамматики сходно с использованием рекурсивно вызываемых сетей в анализе Вудса расширенной сети переходов. Кроме того, здесь важно, что процедуры, ответственные за анализ данной лингвистической структуры, могут решать и синтаксические вопросы, вызывая программы, которые просматривают базу данных, чтобы определить наиболее разумную семантическую интерпретацию предложения. Таким образом, программа могла бы отвергать синтаксическую структуру из-за того, что она ведет к семантическому утверждению, которое противоречит предыдущим утверждениям или не связано с ними. Можно представить себе, как такая программа выбирает подходящую интерпретацию для Алисы в примере с Дон Жуаном и Белым Кроликом (предложения (30) и (31)). В общем случае можно пойти по пути анализа, ведущему к разумной интерпретации, а не производить сначала все возможные грамматические разборы цепочки естественного языка и затем выделять ту, которая по смыслу лучше всего согласуется с контекстом. Это осуществимо, ибо смысл устанавливается поэтапно, путем направления потока управления в программе PARSE на основе результатов работы как синтаксических, так и семантических процедур, вызываемых как подпрограммы в PARSE.
Чтобы продемонстрировать общие идеи этой программы, рассмотрим предложение
The elk stand in the stream,3力
〈Лоси стоят в рекеу'
Ясно, что для установления значения слова elk нам не нужно знать, какую роль оно играет в предложении. Мы, однако, не можем установить все его возможные значения, так как не знаем, соответствует оно единственному или множественному числу, пока не проанализируем слово stand. Таким образом, мы сначала узнаем, что это предложение содержит одушевленное существительное (пробное выделение подлежащего), а потом, что оно содержит одушевленное существительное во множественном числе (выделение подлежащего) и непереходный глагол (множественное число, настоящее время). Итак, на втором шаге мы узнаем, что первая группа существительного в действительности связана с подлежащим, что подлежащее стоит во множественном числе и что следующая часть предложения, по-видимому, имеет конструкцию наречия. Другими словами, мы приближаемся к концептуальному анализу. Однако, вместо того чтобы удовлетвориться графом, выражающим концептуальные отношения в предложении, мы должны найти какой-нибудь способ представить информацию, заключенную в предложении, в форме, пригодной для системы, осуществляющей вывод. Виноград поста-
】)Разбор, анализ.— Прим, перев.
вил целью процесса PARSE получить утверждения, со структурами которых может работать программа решения задач PLANNER (гл. 12). Таким образом, (37) превращается в
(местоположение (подмножество (стадо лосей), река)) (38) Это предложение осмысленно и само по себе, и, что еще важнее, во взаимодействии с другими предложениями, которые могут оказаться в базе данных. (38) противоречит утверждениям, которые можно вывести из предложения
Лоси не войдут в воду(39)
и в то же время это ответ на вопрос
Почему собаки не могут выследить лосей? (40)
В обоих случаях для выяснения смысла (38) требуется дедукция.
В основе процесса раскрытия смысла с помощью переходов от семантического к синтаксическому анализу, и обратно, лежит идея о различных уровнях анализа. Отправляясь от идей Холлидея, Виноград выделяет три уровня синтаксической структуры: предложение, единица и слово. Предложение (clause) в отличие от сложного предложения (sentence) является независимой единицей мышления, Это означает, что оно в конечном счете преобразуется в выражение из базы данных, хотя может содержаться внутри другого выражения. Очень важно, чтобы каждому предложению приписывался правильный логический уровень в базе данных. Логическая структура предложения
/ believe John loves Mary(4П
думаю, что Джон любит Мэри>'
такова:
Believe (I, (Love (Mary, John)))(42)
Она не противоречит утверждению
"I Love (Mary, John)(43)
если только (43) соответствует тому же логическому уровню, что и (42).
В предложении группы слов, определяющие либо термы для логической беседы, либо отношения между ними, образуют единицы. Различаются четыре типа единиц: группы существительного, которые определяют основные элементы, и группы прилагательного, предлога и глагола, которые устанавливают отношения между элементами, Такое предложение само является элементом; его структурой можно пользоваться рекурсивно, как показано в (41). Эта синтаксическая структура хорошо согласуется с идеей грамматики как процедуры. Программа PARSE пытается определить структуру,
вызывая процедуру CLAUSE, которая представляет собой последовательность вызовов процедур для распознавания различных единиц. Эти процедуры в свою очередь могут, когда нужно, вызывать CLAUSE.
Единица нижнего уровня есть слово. Слова узнаются путем просмотра словаря, поскольку в словаре может быть несколько разных значений слова. Программа просмотра должна уметь исследовать текущую структуру предложения, чтобы решить, какое значение наиболее приемлемо. Здесь снова проявляется полезность представления грамматики как программы.
Грамматический анализ обычно идет сверху вниз, хотя и не следует никакой строгой иерархии. На каждом уровне программа „знает*, что структура, с которой она работает, должна принадлежать одному из нескольких типов, причем каждый из них обладает своими отличительными особенностями. Первоначально задача состоит в нахождении главного предложения, которое может быть утвердительным, повелительным или вопросительным. Какое именно, устанавливается исследованием нескольких слов. Эта информация в свою очередь определяет возможные типы групп слов. Например, если выяснено, что предложение утвердительное, то самая левая группа слов должна быть группой существительного. Обратите внимание, как это переводит поток управления с одного уровня на другой. Итак, интерпретацию входной цепочки определяют, разумеется, словарные значения слов, выбор же одного из нескольких словарных значений диктуется свойствами слов, найденных в словаре, свойствами лингвистической структуры и ее возможными семантическими интерпретациями. Чтобы проиллюстрировать это, допустим, что входным предложением было
Who was that lady / saw you with last night?
〈Кто эта дама, с которой я видел тебя вчера вечером?〉(44) Сначала программа PARSE вызвала бы процедуру CLAUSE (главную), где список (главный) аргументов диктует особенности предложения, для которого строится анализ. Исследование слова who показывает (после просмотра словаря), что встретился терм wh-. Поэтому CLAUSE может далее ограничить свой поиск главных предложений предложениями в вопросительной форме. После этого CLAUSE разрешает в качестве следующего элемента найти группу глагола. Если терм wh- не встретился, CLAUSE переходит к поиску группы существительного. Работа других подпрограмм, включая перераспределение свойств, аналогична.
Сходство такого анализа с методом расширенной сети переходов поразительно. Фактически, как указывает Виноград, они формально эквивалентны, поскольку оба имеют мощность машины Тьюринга с магазинной лентой. Винограду (и нам тоже) кажется» однако, что взгляд на грамматику как на процедуру дает более естественный
способ введения процедур, которые управляют грамматическим анализом, обращаясь к ранее сформированной базе данных.
Приведем несколько отредактированный пример подхода Винограда. На вход поступает предложение
Pick up the red block (45) ^Подними красный кирпичу < '
которое производит следующие действия:
PARSE вызывает CLAUSE (MAJOR). Эта процедура, разыскивающая главное предложение, устанавливает, что первое слово — глагол, и заключает, что предложение повелительное: (MAJOR, IMPERATIVE).
Затем CLAUSE вызывает VERB-GROUP (IMPERATIVE), т. е. подпрограмму для разбора группы глагола в повелительном наклонении, поскольку эта группа неизбежно будет началом повелительного предложения. Процедура VERB-GROUP просматривает свой список аргументов и передает управление той части, которая ищет глаголы в повелительном наклонении. Возможны только инфинитивы и формы глагола do. Поскольку pick — не форма глагола do, вызывается программа VERB (INFINITIVE, MAIN VERB).
VERB относится к программам слов, т. е. она проверяет вхождение в словарь. В нашем случае VERB определяет, что pick—, в самом деле, инфинитив возможного основного глагола. Она отмечает также, что рассматриваемый глагол переходный и может требовать после себя предлога или наречия. Поэтому, когда VERB возвращается к VERB-GROUP, в структуре предложения включается pick со списком свойств (VERB MAIN VERB INFINITIVE TRANSITIVE VPRT). (Последний терм — сокращенная запись свойства „Глагол может требовать после себя предлога или на* речияи.)
Снова получив управление, VERB-GROUP определяет, что при анализе группы глагола в повелительном наклонении нужен только основной глагол, и поэтому обращается к CLAUSE. Процедура CLAUSE теперь знает, что анализируется цепочка вида CLAUSE(MAJOR IMPERATIVE...) и только что опознана группа глагола. Тогда разыскивается предлог (или наречие), если основной глагол его требует. Проверяя свойства обрабатываемой структуры, CLAUSE обнаруживает, что да, требует, так что вызывается процедура PRT.
PRT — снова процедура для работы со словами. В еловаре она находит, что up — наречие, а из структуры и затем из словаря, что pick up ——переходный глагол с наречием. Когда управление возвращается от PRT, эти свойства добавляются к списку свойств в CLAUSE, так что CLAUSE теперь анализирует CLAUSE(MAJOR IMPERATIVE PRT TRANSITIVE), и нужное наречие только что найдено.
В этом месте процедура CLAUSE должна найти группу дополнения. Она может сделать это двумя способами, вызывая процедуру NOUN-GROUP, разыскивающую группу существительного или CLAUSE (SECONDARY) для нахождения придаточного предложения. Первая из них будет успешной. Цепочке, которую она отыщет, можно приписать функцию „дополнения4*. При завершении этой процедуры все слова нашей цепочки найдены, и окончательно
цепочка имеет следующую структуру: (CLAUSE MAJOR IMPERATIVE
PRT TRANSITIVE) (VERB-GROUP IMPERATIVE) (VERB MAIN VERB INFINITIVE
TRANSITIVE PRT)
(PRT)
(NOUN-GROUP OBJECT OBJ1 DET
INDEF NOUN-SINGULAR) (DET INDEF NOUN-SINGULAR) (ADJECTIVE) (ADJECTIVE)
(NOUN NOUN-SINGULAR)
(Pick up a red brick)
(pick) pick
up
(a big red brick)
a big red brick
В этом примере не обязательно расширять базу данных, чтобы разрешить неопределенности анализа. В некоторых случаях это бывает необходимо. Дело в том, что это легко сделать в рамках грамматических процедур, поскольку грамматическая процедура вызывает семантическую с помощью того же механизма, что и при вызове любой замкнутой подпрограммы. Другие примеры Винограда показывают, что это свойство можно нетривиально использовать так, чтобы программа могла вычислить, что должен иметь в виду человек, давший ей указания, даже если само предложение далеко не однозначно.
Замечание относительно психологического подхода
Какие языки можно анализировать с помощью психологически ориентированного метода? Оказывается, на этот вопрос легко ответить, ибо любая программа здесь будет допустимой. Программу „психологического*4 анализа можно написать для любого языка, который можно анализировать на ЭВМ. Для специалиста по математической лингвистике это слишком общий ответ, потому что он лишает его возможности развивать классификацию языков. С другой стороны, тому, кого интересует просто создание для конкретной задачи программы, понимающей язык, это удобно. Он знает, что если это вообще можно сделать, то такой метод сделает это.
Но в чем состоит этот метод? Это как раз то, чего мы не знаем. Концепту альный анализ и системные грамматики не дают рецептов для написания программ в том же смысле, что и в случае структуры составляющих и контекстно-свободных грамматик. Они представляют лишь способы размышлять о формировании большого множества специальных правил, таких, как различные приемы, которые надо применить для анализа различных форм английского глагола to be. Достаточно взяться за написание программы, понимающей язык, чтобы стало ясно, что таких правил очень и очень много. Словарные единицы становятся удивительно сложными, так что требования к памяти выходят за пределы возможностей нашей техники. Куиллиан (1968) загрузил память машин в 32 000 слов программой, которая находила „в контексте" значения 60 слов. Программа Винограда на машине с 80 000 слов могла запомнить определения 200 слов и информацию, относящуюся к не слишком сложному размещению блоков в таблице. Кажется, нам еще далеко до возможностей ЭВМ, описанных в научной фантастике. Программы, вроде тех, что предложены Виноградом, Шенком и Куил- лианом, демонстрируют, что для разрешения трудностей анализа естественного языка можно применить определенные принципы. Видимо, создание полезных программ для понимания языка требует количественного скачка в разработке памяти и систем адресации ЭВМ.
Если понимание языка машиной выходит за пределы физических возможностей наших ЭВМ, то как же тогда понимает человек? Разумеется, этого мы не знаем. Хотя одним соображением может быть, что человеческая память работает совсем на иных принципах, чем память ЭВМ. Возможно, мозг содержит записи, которые активизируют сами себя, когда сенсорное устройство посылает „относящееся к делу" сообщение в сенсорные участки коры. Это устраняет необходимость в „центральном процессоре", который следил бы за пассивной памятью. Но это уже детали —— доказательства в пользу такого соображения в лучшем случае поверхностны. Обсуждение функциональной модели приведено в статье Ханта (1973), а возможные физические механизмы — в работах Арбиба (1972) и Джона (1972).
Если проблему составляют размеры наших машин, то она будет решена. Как показывает история создания ЭВМ, машины скоро станут больше и дешевле, а работать будут быстрее. Допустим на минуту, что нам удалось построить ЭВМ, которая может хранить все словари и все базы данных, требуемые, например, для беседы об уголовном кодексе США. Сможем ли мы тогда создать автоматического окружного прокурора? По нашему мнению, нет. Кто-нибудь все же должен будет написать программу, содержащую процедуры для всех затруднительных частных случаев, а программирование в нашем мире ЭВМ, кажется, противится автоматизации. Как ве-
лика была бы работа по созданию процедуры-грамматики типа грамматики Винограда, обладающей знаниями, профессионально используемыми заурядным провинциальным адвокатом? Имейте в виду, что человек, пишущий такую программу, должен быть более чем компетентным программистом и знатоком английского языка; он также должен быть весьма искушенным лингвистом, чтобы знать формальное определение различных вариаций неправильных английских глаголов. Сразу можно сказать, что реализация этого проекта потребовала бы, самое меньшее, работы на полной ставке 20 или более докторов наук в лингвистике и программировании в течение 20 или более лет. Не забывайте также, что программы, которые они, может быть, составили бы, надо было бы еще совместить. Управлять всем этим не так просто!
Такая попытка вряд ли осуществится в недалеком будущем. Вероятно, нужно другое —— не большой, неуправляемый проект непосредственного создания грамматики английского языка, а скорее зародышевая программа понимания, которая содержит возможность добавлять новые правила в ее синтаксические и семантические подпрограммы по мере того, как возникает такая потребность. В конце концов не так ли учатся языку люди? Возможно, это более разумный путь. Он сводит задачу от интеллектуально беспорядочной ——попытки решать одновременно множество мелких задач — к проблеме ответа на единственный очень трудный научный вопрос: „Как построить обучающееся устройство?44. Все признают, что не знают, как это сделать сейчас. Кроме того, признают, что скорее оправдают попытку решения единственного сложного научного вопроса, чем обширный технологический проект, посвященный „состоянию дел". Другие люди, с другими предрассудками, могут с этим не согласиться.
В любом случае до программ, понимающих естественный язык в любом общем смысле этого слова, еще далеко. Мы ожидаем очень скоро увидеть иллюзию таких программ. Это будет обусловлено двумя достижениями. Во-первых, станет возможным вести разговор с ЭВМ по очень ограниченному набору тем, если можно будет увеличить число запоминаемых определений слов, например, до 500. Это достаточно разумная цель для ближайшего будущего. Во-вторых, по-видимому, вскоре появятся разумные (хотя и ограниченные) решения задач распознавания образов, в том числе распознавание речи на ЭВМ. К 1980 г. вы, вероятно, сможете побеседовать с одной программой о ценах на бирже и спросить другую о ценах на мясном рынке. Эти две программы не будут взаимозаменяемыми, и им часто придется просить вас заново сформулировать свой запрос. Пока пользователь просто хочет получать информацию, такие программы, вероятно, будут его устраивать. Если же он захочет произнести речь, слишком тонкую, чтобы его поняла вычислительная машина, он легко сможет это сделать.
Глава 16
ОБЗОР И ПЕРСПЕКТИВЫ
76・0・ Что сделано и что нет
Я попытался дать обзор фундаментальных математических и вычислительных методов, лежащих в основе исследований по искусственному интеллекту. Я выделил два четко определенных класса научных проблем — распознавание образов и решение задач —и для каждого из них представил много формулировок и методов решения. Здесь я уверенно чувствовал под собой почву. Эти задачи тщательно разбирались, и для работы с ними был развит ряд способов. Таинственность исследований по искусственному интеллекту в этих областях в основном объясняется тем, что решение соответствующих задач требует сочетания математических методов, первоначально развитых в целом ряде областей знания. Хорошим примером служит распознавание образов. Чтобы объяснить распознавание образов, применяется анализ, созданный для статистических, психологических и экономических приложений, и, наконец, при обсуждении персептронов присовокупляются аргументы, основанные на теории чисел и формальной логике. Точно так же решение задач на ЭВМ заставляет нас думать одновременно в терминах теории графов и формальной логики, применяя иногда статистические рассуждения. Если бывает трудно понять различные достижения искусственного интеллекта, то не потому, что требуются специальные знания в какой-нибудь одной из областей исследований, а потому, что необходимы некоторые познания во многих областях. Я надеюсь, что, собрав в одной книге основные результаты, я помогу новому в этой области человеку начать либо специализироваться в ней, либо работать с каким-то конкретным приложением искусственного интеллекта.
Обсуждение машинного понимания базировалось по необходимости на гораздо более интуитивной основе. Термин „понимание** сам по себе интуитивный. Мы можем прийти к согласию относи-
тельно того, решила ли конкретная программа задачу распознавания образов, доказала ли теорему, но расходиться во мнениях о том, поняла ли программа утверждение, даже если факты о том, что она делала с этим утверждением, совершенно ясны. Другая причина туманности разговоров о машинном понимании в том, что понимание тесно связано с анализом языка, а наше понимание языка само по себе еще примитивно. Мы никогда не будем основывать метод машинного понимания на чем-нибудь другом, кроме формальной теории языка, поскольку при тщательном анализе оказывается, что программа управления вычислительной машиной неявно содержит в себе такую теорию. В основе современного подхода к формальному анализу языка лежит работа, начавшаяся в 50-х годах нашего века. В действительности эти основания не так глубоки, если считать, что распознавание образов восходит непосредственно к работам Бейеса в XVII столетии и что машинное доказательство теорем ——прямое развитие рассуждений, знакомых еще Аристотелю.
Ввиду такого положения дел все же стоило бы обсудить машинное понимание. Методы, которые мы излагали, могут быть или не быть фундаментальными. Это покажет только время. Проблема же фундаментальна. Язык ——это уникальная сигнальная система для общения между подобными нам существами. Он лишь очень незначительно похож на сигнальные системы других млекопитающих или птиц. У нас есть не только специализированные выходные устройства в горле и гортани, но специальные анализирующие области в мозге — структуры, не найденные даже в рудиментарной форме у любых других видов, включая высших обезьян (Гешвинд, 1970). При такой степени специализации сомнительно, чтобы мы могли научиться общаться каким-то другим способом, кроме нашего естественного. Если машины должны служить нам, они обязаны уметь воспринимать ту единственную передачу, которую мы способны им хорошо послать )
Возможно, наша неспособность общаться с машинами будет решающим ограничением революции в обработке информации. Если бы мы были близки к этому пределу, мы, быть может, были бы лучше
】)Можно возразить, что в конце концов люди учатся программированию. Здесь можно привести некоторые контраргументы. Языки программирования обеспечивают очень убогую систему сообщения. Сейчас ими пользуется лишь незначительная часть человечества, и, вероятно, большинство людей способны лишь к элементарному программированию. Энтузиастам применения ЭВМ в образовании, оспаривающим это утверждение, предлагается рассмотреть проблему, выдвинутую психолингвистом Либерманом. Разговорный язык для 99% человечества развивается без формальных инструкций. Чтение требует широкого формального обучения. Наше общество, которое тратит буквально годы на обучение языку и распределяет награды и премии в значительной степени на основании умения читать, тем не менее бедствует от того, что число функционально безграмотных людей очень велико, В таком случае, чем вызван этот энтузиазм относительно управления машинами с помощью универсального программирования?
осведомлены о том, как избежать спекулятивных дискуссий о машинном понимании. Но дело, вероятно, не в этом. На основе недавних исследований, проведенных Министерством обороны США, был сделан вывод, что к 1984 г. возникнет разумная возможность создания вычислительной системы, которая будет отвечать на команды, отданные на естественном языке, обсуждением нетривиальных тем (Ньюэлл и др., 1972). Возникают следующие вопросы: является ли десятилетие правильной мерой времени и что такое „нетривиальный**. Мы считаем, что много ответственных и хорошо информированных исследователей воспринимают машинное пони- манне вполне серьезно. Чтобы хорошо разбираться в искусственном интеллекте (и, возможно, вообще в вычислительных науках), необходимо представлять себе перспективу и методы работы в области машинного понимания.
Может быть, эта книга разочаровала многих энтузиастов искусственного интеллекта, поскольку в ней основное внимание уделено алгоритмам и абстрактным математическим методам. От этого область перестает быть интересной. Где же примеры? Почему мы не предусмотрели машинную игру в шахматы, пространный диалог с машиной-психотерапевтом или примеры трудных теорем, доказанных машиной?
Действительно, программ в книге было очень немного. Это объясняется просто желанием не наскучить читателю, хотя, возможно, именно так в результате и получилось. Подробное обсуждение частных примеров могло бы внести путаницу в центральный вопрос: „Какие же алгоритмы фундаментальны?*4 Возьмем, например, игры. Наш подход состоял в том, чтобы указать принципы, лежащие в основе поиска на дереве игры. Предположим, что мы описали „самую лучшую*4 программу, играющую в шахматы. Конечно, тогда наши иллюстрации были бы более впечатляющими! Для их объяснения нужно было бы углубиться в детали о том, как решались задачи, связанные с шахматами; при этом я твердо знал, что, как только книга пойдет в печать, появится более удачная шахматная программа. Или, наоборот, можно было бы привести примеры игры и оставить читателя в неведении о том, как программа выбирала ходы. Вместо примеров была дана основа ——мы убеждены, что это хотя и скучнее, но дольше сохранит свою ценность.
Есть еще одна причина избегать слишком большого количества ярких примеров. Почти по определению искусственный интеллект включает распространение приложения вычислительной техники на те области, где это оказывается достаточно неожиданным. Неспециалисту в области приложений любой успех, наверное, покажется более эффектным, чем он есть на самом деле, поскольку он не ожидал здесь прогресса и, возможно, не знал, что представляют собой задачи. Шахматы, распознавание речи и роботика дают прекрасные примеры. Современные шахматные программы достаточно надежны,
поэтому они могут служить рекламными демонстрациями на конференциях по ЭВМ. Они выигрывают у большинства умных шахматистов, случайно оказавшихся на таких встречах. Это до некоторой степени эффектно, так как еще в 1964 г. одна из наиболее известных программ проиграла смышленому 10-летнему мальчику (Дрейфус, 1971). Но для мастеров игры сегодняшние программы все еще остаются примитивными противниками. Завтрашние — может быть, нет. Точно так же машинная музыка еще не создала ничего подобного сонатам Бетховена, но и человечество только однажды этого достигло. Чем же определяется прогресс?
Роботехника, которой мы вообще едва коснулись, полна задачами, допускающими разнообразные интерпретации. Сейчас существуют машины, которые передвигаются, управляясь радиосигналами от ЭВМ. Они смотрят на свой зрительный мир через циклопический глаз телекамеры, анализируют сцену, которую^ видят, и рассуждают о пути, по которому должны пройти от одной точки до другой (Нильсон, 1969, 1971). Это восхитительно! Но... зрительная способность робота основана на анализе дискретных выборок из зрительной сцены (Фальк, 1972; Гузман, 1969). Не делается никаких попыток развить представление метрики трехмерного пространства, хотя метрические представления исключительно важны, если машинное восприятие пространства и рассуждения о нем должны хоть в какой-то степени приближать возможности человека (Эттнив, 1972). К моменту написания этой книги мир робота все еще ограничен до пространства меньшего, чем средняя комната, наполненная большими предметами. Способности машины к рассуждениям даны ей программами с возможностями и задачами, которые мы видели в системах доказательства теорем. Многие специалисты в области искусственного интеллекта игнорируют такую критику. Они чувствуют, что широко разрекламированные робот- ные проекты дают тему, объединяющую все аспекты искусственного интеллекта. По крайней мере для небольшого числа широко известных (и солидно финансируемых) проектов построения робота это было разумно. С другой стороны, один из обозревателей искусственного интеллекта в 70-х годах английский физик Лайт- хилл в отчете научному исследовательскому совету Великобритании высказал мысль о том, что привлекательность построения робота, возможно, переключила на себя внимание от более скучных, но на большом отрезке времени более основательных научных задач (Хаммонд, 1973). Я склоняюсь к этой точке зрения.
Моя цель не в том, чтобы критиковать частные примеры. Я ожидаю появления все лучших распознавателей речи, игроков в шахматы и даже роботов. Было бы ошибкой концентрировать внимание на особенностях технологии в данный момент. Следует попытаться понять возможности и ограничения аналитических методов, на которых эта технология основана.
76・7・ Некоторые философские проблемы
Любые обсуждения искусственного интеллекта должны проходить на очень техническом уровне, иначе они окажутся „в тисках** вопроса о том, как изучение думающих машин должно или может влиять на наши философские и психологические представления. Как было обещано во введении, наше обсуждение шло на техническом уровне. Остались более общие вопросы, и ими следует заняться.
Философия ставит два типа вопросов для искусственного интел- лекта. Один из них: „Как должно быть представлено мышление механическим устройством?4. Этот вопрос ведет к подходящему внутреннему символическому представлению внешнего мира и его задач. Конкретные возникающие вопросы кажутся нефилософу техническими. Например, можно было бы спросить, достаточно ли ламбда-исчисление Чёрча для выражения ключевых отношений между элементарными объектами в данной ситуации решения за- дачи. Точно так же мы можем захотеть узнать, как представить в ЭВМ тот факт, что конкретное действие может иметь множественные побочные эффекты. Такие вопросы являются аспектами более общей задачи представления: как мы отделяем модель, программируемую на ЭВМ, от проблемы, которая нас „действительно4* интересует? Всюду в нашей книге возникали различные аспекты этого вопроса. В каждом случае мы говорили: „Известно мало". Интересующийся читатель может обратиться за дальнейшим обсуждением к работе Мак-Карти и Хэйеса (1969). Нам практически нечего добавить.
Вопрос Как должна машина думать? требует сначала ответа на предыдущий вопрос Может ли машина думать? Неспециалиста этот вопрос волнует гораздо больше. К сожалению, он слишком плохо определен, чтобы на него можно было дать прямой ответ. Как ответить на вопрос Как вы решаете, что нечто думает? Это совсем не тривиально. Некоторые философы и многие психологи, попавшие под их влияние, утверждают, что понятие „думающий"* бесполезно. Вместо этого они предпочитают говорить об особых типах поведения, которые, если понаблюдать, можно характеризовать как „думайиеи ——просто для краткости, без всяких обязательств верить в какой-то общий процесс, лежащий в основе всего этого. Фактически большинство таких писателей, несомненно, предпочли бы совсем не пользоваться этим словом 】).Если принять данный критерий, то вопрос о машинном мышлении сведется к серии эмпирических тестов. Может ли система доказательства теорем
Эта философская точка зрения ярко проявляется Скиннером (1971), который полагает, что обсуждение существенно ненаблюдаемых действий мозга, вероятно, не может лежать в основе ни науки, ни техники.
решать задачи так же хорошо, как профессиональные математики? Конечно, нет. Можно ли написать программу для ЭВМ, чтобы решать задачи распознавания образов, содержащиеся в интеллектуальных тестах? Да. Можем ли мы сегодня написать программы, соответствующие человеческому пониманию естественного языка? Нет. Сможем ли когда-нибудь? Может быть. В таком случае кажется, что поверхностный ответ на вопрос Может ли машина ду- мать? не может не быть произвольным. Это было бы неверно, если бы у нас было какое-то основание для выделения определенных задач как необходимых или достаточных для разумной машины. Без теории мышления мы не можем сказать, что представляют собой такие задачи.
Несколько другой вопрос: Думает ли машина так же, как это делает человек? Здесь есть искушение утверждать, что необходим наблюдаемый тест: если программа ЭВМ подражает человеческому мышлению, то она служит моделью его поведения. Именно этот довод вызвал многие из современных исследований по моделированию на ЭВМ (Хант, 1968, Ньюэлл и Саймон, 1961; Саймон, 1971). Странно, но оказывается, мы не согласны с этой точкой зрения. Человеческое мышление основано на физиологической системе, о которой известно немногим более чем ничего. Мы не считаем, что психологическая теория должна полностью сводиться к физиологической, но она, кажется, не настолько всеобъемлюща, чтобы полностью игнорировать физиологию. Особенно я отверг бы программу как модель психологической активности в данной задаче (даже если она в совершенстве подражает поведению), если известно» что применяемые программой принципы обработки информации несовместимы с человеческой деятельностью в областях, не моделируемых программой 1). Таким образом, снова ответить на вопрос о машинном мышлении можно лишь от случая к случаю. Я хотел бы в некоторых ситуациях принять программу в качестве модели, и было бы очень интересно обнаружить общие черты разумного моделирования поведения в различных ситуациях. Общий вопрос Говорит ли нам исследование машинного поведения что-нибудь о психологии^ не имеет смысла.
762 Общая теория мышления
Существует ли общая теория мышления? На вопрос Существует ли она сейчас^ ответом, конечно, будет Нет. А видна ли она на горизонте? Я в этом сомневаюсь, но мой ответ требует некоторого обоснования и даже оговорки.
В случае совершенного моделирования мне пришлось бы тщательно пересмотреть свои предыдущие познания психологии перед тем, как отклонять программу! Все, что я утверждаю, это право поступать так.
Все согласны с тем, что разумное поведение свойственно только системе из элементов, обрабатывающих информацию, т. е. обнаруживающих признаки, доказывающих теоремы и принимающих решения. Ряд ученых и философов, известных примерно как „специалисты по общей теории систем**, утверждают, что организация таких систем подчиняется нетривиальным законам (Миллер, 1970). Если это справедливо, то теория систем должна применяться к организации разумных машин, а также разумных биологических, социальных и физических систем. В самом деле, Бенерджи (1969) предложил применить теорию систем и теорию управления фактически ко всему искусственному интеллекту. Он рассматривает задачу как шестерку
P =〈S, С, D, Му Sl, Suz>, (1)
где S — множество возможных ситуаций, С — множество управлений, применимых в этих ситуациях, D — множество помех, М — отображение из множества SxCxD троек (ситуация, помеха, управление) в S и S^, S厶一соответственно желательные и нежелательные ситуации, Sw三W, Sy;三S. Затем он развивает формализм для исследования множества игр и ситуаций, когда требуется решить задачу. При этом он обнаруживает во внешне непохожих задачах интересные общие моменты. Возможно, в результате дальнейшего развития этих направлений мы получим полезную классификацию для решения задач. Однако, как признает сам Бенерджи, пока эти формализмы не привели к существенным теоремам о построении систем, решающих задачи, В настоящее время предложенное Бенерджи описание, возможно, и дает полезный способ охарактеризовать то, что делается после составления программы для задачи искусственного интеллекта, но не говорит нам, с чего начинать, когда у нас есть только постановка задачи.
Интуитивно более ясное и, возможно, более полезное применение общей теории систем предложил Саймон (1969). Он указывает, что все работоспособные сложные системы обладают определенными особенностями. Наиболее заметны из них иерархическая организация компонент, разложимость общей системы на отдельные подсистемы и повторное использование похожих компонент. Саймон просто рекомендует при решении задачи помнить об этом. Бесспорно, это имеет смысл.
Исследования по искусственному интеллекту включают в себя много выдающихся работ. В области машинного понимания почти нет прогресса после работ Вудса (1970) и Винограда (1972), несомненно связанных с идеями Саймона.
Тем не менее это скорее рекомендации, чем точные указания для построения интеллекта. Именно здесь наша область знаний. Мы располагаем несколькими общими принципами, которым „обычно*4
нужно следовать. У нас есть методы, различающиеся по полезности и применимости. Мы не в состоянии сказать, как должно быть организовано мышление. Ни Декарт, ни Локк не смогли дать нам безошибочных правил; прогресс с того времени был небольшим. Наши машины сложнее, быстрее и полезнее того, что можно было представить себе 50 лет назад. Я надеюсь, моя книга помогла показать, что эти машины довольно разумны сегодня и их можно сделать еще разумнее завтра. Гениальность пока не определена.
СПИСОК ЛИТЕРАТУРЫ
Абдали (Abdali S. К.)
Feature extraction algorithms, Pattern Recognition, 3, 3—21.
Абельсон (Abelson R. P.)
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. Р.» Reich C.)
Implication modules. A method for extracting meaning from input sentences, 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.)
An Interactive theorem proving program, в сб. «Machine Intelligence», Vol. 5 под ред. Meltzer В.» Michie D., Edinburgh.
Амарель (Amarel S.)
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.)
A linear format for resolution with merging and a new technique for establishing completeness, Journ. ACM, 17, 525—534.
Андерсон (Anderson T.)
Introduction to multivariate statistical analysis, New York, (Русский перевод: Андерсон T., Введение в многомерный статистический анализ, Физматгиз, М., 1963.)
Арбиб (Arbib М.)
Brains, machines, and mathematics, New York, (Русский перевод: Арбиб M., Мозг, машина и математика, изд-во《Наука», М., 1968).
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.)
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.
Бен ерджи (Banerji R.)
Theory of problem solving: An approach to artificial intelligence, New York. (Русский перевод: Бенерджи Р., Теория решения задач. Подход к созданию искусственного интеллекта, изд-во «Мир», М., 1972.)
Беркли, Бобров (Berkeley Е・,Bobrow D.)
The programming language《Lisp», Cambridge, Massachusetts.
Бизигнис (Busignies H.)
Communication channels, Set. Amer,t 227, 98—113.
Бирман, Фельдман (Biermann A. W., Feldman J. A.)
A survey of results in grammatical inference, в сб. «Frontiers of Pattern Recognition» под ред. Watanabe S., New York.
Бисс, Чен, Стал (Biss К., Chien R., Stahl F.)
R2 — A natural language question answering system, Proceedings of Spring Joint Computer Conference AFIPS, 38, 303—308.
Бледсоу (Bledsoe W.)
Splitting and reduction heuristics in automatic theorem proving, Artiflcia\ Intelligence, 2, 55—78.
Бледсоу, Бойер, Хеннеман (Bledsoe W., Boyer R,, Henneman W.)
Computer proofs of limit theorems, Proceedings of the 2nd International Joint Conference on Artificial Intelligence, London, pp. 586―600
Блок, Нильсон, Дуда (Block Н., Nilsson N., Duda H.)
Determination and detection of features in patterns, в сб. «Computers and Information Sciences» под ред. Tou J., Wilcox R,、Baltimore.
Бобров, Фрэзер (Bobrow D., Fraser J.)
An augmented state transition network program, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts, pp. 557—568.
Бонгард M.. M.
Проблема узнавания, изд-во «Наука», М.
Ботвинник М. М.
Алгоритм игры в шахматы, изд-во《Наука», М.
Боурн (Bourne LJ
Human conceptual behavior, Boston.
Брунер, Гуднау, Остин (Bruner J., Goodnow J., Austin G.)
A study of thinking. New York.
Букханан, Хедрик (Buchanan В,, Headrick T.)
Some speculations about artificial intelligence and legal reasoning, Stanford Univ. Computer Science Department, Artificial Intelligence. Mezno- randum, 123.
Ватанабе (Watanabe S.)
Information theoretic aspects of inductive and deductive reasoning IBM Journal。/ Research and Development, 4, 208—231.
Ungrammatical grammar in pattern recognition, Pattern Recognition, 3, 385—408.
Вегнер (Wegner P.)
Programming languages, information structures and machine organization. New York.
Вейсстейн (Weisstein N.)
What the frog's eye tells the human brain. Single cell analysis in the visual system, Psychological Bulletin, 72, 157—176.
Вейценбаум (Weizenbaum J.)
ELIZA. A computer program for the study of natural language communication between men and machines, Comm. ACM, 9, 36—45.
Contextual understanding by computers, Comm. ACM, 10, 474—480.
Вииер (Wiener N.)
Cybernetics, New York. (Русский перевод: Винер H., Кибернетика, изд-во «Сов. радио», М., 1968,)
The human use of human beings, Boston. (Русский перевод: Винер H., Кибернетика и общество, ИЛ, М., 1958.)
Виноград (Winograd Т.)
A program for understanding natural language, Cognitive Psychology, 3, 1—192.
Висенс (Vicens P.)
Aspects of speech recognition by computer, Stanford U., Computer Science Department, AL85 (диссертация).
Вос, Карсон, Робинсон (Wos L., Carson D*, Robinson G.)
The unit preference strategy in theorem proving, Proceedings of the Fall Joint Computer Conference, 26, 615—621.
Efficiency and completeness of the set of support strategy in theorem proving, Joum. ACM, 12, 536—541.
Вудс (Woods W. A.)
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.)
Mathematical games, Sci. Amer., 225 (4), 114.
Гарнац, Хант (Garnatz D., Hunt E.)
Eyebal) parameter estimation with a computer, IEEE Trans. on Systems, Mm and Cybernetics, II, SMC-3, No. 1.
Гелернтер (Gelernter H.)
A note on syntactic symmetry and the manipulation of formal systems by machine, Inform, and Control, 9, 80—89.
Realization of a geometry theorem proving machine, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York, (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мкр》,М., 1967.)
Гелернтер, Рочестер (Gelernter Н., Rochester N.)
Intelligent behaviour in problem solving machines, /ВМ Journal о/ Research and Development, 2, 336—345. (Русский перевод в сб. «Психология мышления», изд-во «Прогресс», М., 1965.)
Гелернтер, Хансен, Лавленд (Gelernter Н., Hansen J., Loveland D.)
Empirical explorations of a geometry theorem proving machine, в сб. «Computers and Thought»под ред. Feigenbaum Е.» Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгенбаума 3・ и Фельдмана Дж.» изд-во《Мир》,М., 1967.)
Гешвинд (Geschwind N.)
The organization of language in the brain, Science, 170, 940—944.
Гибсон (Gibson J.)
The perception of the visual world, Boston.
Гиллогли (Gillogly J.)
The technology chess program, Artificial Intelligence, 3, 145—164.
Гилмор (Gilmore P. C.)
An examination of the geometry theorem machine, Artijlcial Intelligence^ 1, 171—188.
Гилфорд (Guilford J.)
The nature of human intelligence, New York.
Глушков В. M.,
Введение в кибернетику, Киев.
Голд (Gold М.)
Language identification in the limit, Inform, and Control, 10, 447—474. Грин (Green В.)
(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. ScL, 19, 219—224. (Русский перевод в сб. «Вычислительные машины и мышление», под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.)
Грин (Green С.)
(1969а) The application of theorem proving to question answering systems, Stanford 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 В.)
The use of theorem proving techniques in question answering systems, Proceedings of the 23rd Conference of the Association for Computing Machinery, Baltimore.
Гринблатт, Истлейк, Крокер (Greenblatt R., Eastlake D., Crocker S.)
The Greenblatt chess program, Proceedings of the Fall Joint Computer Conference, Amer, of Inform. Process. Set., 31, 801—810.
Грис (Gries D.)
Compiler construction for digital computers, New York. (Русский перевод: Грис Д.» Конструирование компиляторов для цифровых вычислительных машин, изд-во «Мир», М., 1975.)
Гузман (Guzman А.)
Decomposition of a visual scene into bodies, Proceedings of the Fall Joint Computer Conference, Amer. Federation of Inform. Process. Sci.f 33, 291—304, (Русский вариант в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.)
Де Гроот (DeGroot А.)
Perception, memory, and thought: Some old ideas and some recent findings, в сб. «Problem Solving: Research, Method and Theory» под ред. Klein- muntz В.» New York.
Дейл (Dale P.)
Language development: structure and learning, Hinsdale, Illinois.
Джон (John E.)
Switchboard vs. statistical theories of learning and memory, Science, 177, 850—863.
Джонсон (Johnson S.)
Hierarchical clustering schemes, Psychotnetrika, 32, 241—254.
Дир (Diehr G:)
An investigation of computational algorithms for aggregation problems, Univ. California, Los Angeles, Western Management Science Institute working paper, 155.
Дир, Хант (Diehr G., Hunt E.)
A comparison of memory allocation algorithms in a logical pattern recognizer, University of Washington, Department of Psychology tech. rep.
Дойч, Дойч, (Deutsch J. A., Deutsch D.)
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.)
What computers can't do: A critique of artificial reason, New York.
Дуда, Харт (Duda R., Hart P.)
Pattern recognition and scene analysis, New York. (Русский перевод: Дуда P,, Харт П., Распознавание образов и анализ сцен, изд-во «Мир», М.» 1976).
Дэй (Day R.)
Visual spatial illusions: A general explanation, Science, 175, 1335—1340. Зобрист, Карлсон (Zobrist A., Carlson F.)
An advice taking chess computer, Sci. Amer.t 228, No. 6, 92一105.
Кавер (Cover T.)
Learning in pattern recognition, в сб. «Methodologies of Pattern Recognition» под ред. Watanabe S., New York.
Кавер, Харт (Cover T., Hart P.)
Nearest neighbour pattern classification» IEEE Trans. Inform. Theory^ IT-13, 21—27.
Канал, Чандресакаран (Kanai L., Chandresakaran B.)
Recognition, machine «recognition», and statistical approaches, в сб. «Methodologies of Pattern Recognition» под ред. Watanabe S., New York.
Каплан (Kaplan R.)
Augmented transition networks as psychological models of sentence comprehension, Artificial Intelligence, 3, 77—100.
Келли (Kelly К.)
Early syntactic acquisition, Santa Monica, California: A RAND Corporation Report P-3719.
Келлог (Kellog С.)
A natural language compiler for on line data management, Proceedings of the Fall Joint Computer Conference.
Келлог, Бюргер, Диллер, Фогт (Kellog С.» Burger J., Diller T., Fogt KJ (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.)
Man and the computer, New York.
Кинтш (Kintsch W.)
Learning, memory, and conceptual processes, New York.
Клейнмунц (Kleinmuntz B.)
The processing of clinical information by man and machine, в сб. «Formal Representation of Human Judgement», под ред. Kleinmuntz В., New York. Клинг (Kling R.)
A paradigm for reasoning by analogy, Artificial Intelligence. 2, 147—178.
Клюс (Clowes M. B.)
Pictorial relationships—a syntactic approach, в сб. «Machine Intelligence», Vol. 4, под ред. Meltzer В., Michie D., Edinburgh.
On seeing things, Artificial Intelligence, 2, 79—114. (Русский перевод в сб. «Интегральные роботы», вып. 2, изд-во «Мир», М., 1975.)
Кнут (Knuth D.)
The art of computer programming, Vol. 1. Fundamental algorithms, Reading, Massachusetts. (Русский перевод: Кнут Д.» Искусство программирования для ЭВМ, т. 1, изд-во «Мир», 1976.)
Колби (Colby К.)
Computer simulation of change in personal belief systems, Behov Set.. 12, 248—253.
Колби, Вебер, Хилф (Colby К., Weber S., Hilf E.)
Artificial paranoia, Artificial Intelligence, 2, 1—26.
Колби, Смит (Colby К., Smith D.)
Dialogues between humans and an artificial belief system, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts.
Кори, Випке (Corey E., Wipke W.)
Computer assisted design of complex organic synthesis, Sciencet 166, 178— 192.
Корнсвит (Cornsweet T.)
Visual perception, New York.
Коэн (Cohen J.)
Statistical power analysis for the behavioral sciences, New York.
Кранц, Льюс, Суппес, Тверский (Krantz D., Luce R., Suppes P., Tversky A.) (1971) Foundations of measurement, New York.
Крейг, Березнер, Карни, Лавьер (Craig J., Berezner S., Carney H.t Loveyear C.) (1966) DEACON Directo English Access and Control, Proceedings of the Fall Joint Computer Conference, 1966, Amer. Federation of Inform. Process. Set., 29.
Крейг, Крейг (Craig Н., Craig V.)
Greek marbles: Determination of provenance by isotopic analysis, Science, 176, 401—403.
Креспи-Регицци (Crespi-Reghizzi S.)
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.)
Semantic memory, в сб. «Semantic Information Processing» под ред. Minsky М.» Cambridge, Massachusetts.
The teachable language comprehended A simulation program and a theory of language, Comm. ACM, 12, 459—476.
Куинлан (Quinlan J. R.)
A task independent experience gathering scheme for a problem solver, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts, pp. 193—198.
Куинлан, Хант (Quinlan J. R., Hunt E.)
A formal deductive system. Journ. ACM, 15, 625—646.
The FORTRAN deductive system, Behav. Sci., 14, 74—79.
Кумбс, Дойес, Тверский (Coombs D., Dawes R., Tversky A.)
Mathematical psychology, Englewood Cliffs, New Jersey.
Купер (Cooper P. W.)
Non-supervised learning in statistical pattern recognition, в сб. «Methodologies in Pattern Recognition» под ред. Watanabe S., New York.
Купер (Cooper W. S.)'
Fact retrieval and deductive question answering information retrieval systems, Journ. ACMt 11, 117—137.
Лавленд (Loveland D.)
A unifying view of some linear Herebrand procedures, Journ. 4CM, 19, 366—384.
Лакхэм, Нильсон (Luckham D., Nilsson N.) (1971)Extracting information from resolution proof trees, Artificial Intelligence, 2, 27—54.
Ледерберг, Фейгенбаум (Lederberg J., Feigenbaum E.)
Mechanization of inductive inference in organic chemistry. Stanford Univ. Department of Computer Science, Artificial Intelligence Memorandum 54. Ледди (Ledley R.)
Programming and utilization of digital computers, New York. (Русский перевод: Ледли P., Программирование и использование цифровых вычислительных машин, изд-во «Мир», М., 1966.)
High speed automatic analysis of biomedical picture. Science, 146, 216—223.
Леннеберг (Lenneberg E.)
Biological foundations of language, New York.
On explaining language, Science, 164, 635—643.
Лефковиц (Lefkovitz D.)
File structures for on-line systems, New York.
Ли (Lee W.)
(1971) Decision theory and human behavior, New York.
Либерман (Liberman A.)
The grammars of speech and language, Cognitive Psychology, 1, 301—323.
Либерман, Купер, Шенквейлер, Стаддерт-Кеннеди (Liberman A., Cooper F., Shankweiler D., Studdert-Kennedy M.)
Perception of the speech code, Psychol. Res, 74, 431—461.
Линдсей, Норман (Lindsay P., Norman D.)
Human information processing, New York.
Лофтус (Loftus G.)
Eye fixations and recognition memory for pictures, Cognitive Psychology,
3, 525—551.
Лоэлин (Loehlin J.)
Computer models of personality, New York.
Льюс, Буш, Галантер (Luce R. D., Bush R.)Galanter E.) (Eds.)
Readings in mathematical psychology, New York.
Льюс, Райфа (Luce R. D., Raiffa H.)
Games and decisions: A critical survey, New York. (Русский перевод: Льюс P・,Райфа Г., Игры и решения, ИЛ, М., 1961.)
Мак-Калла, Сэмпсон (McCalla G., Sampson J.)
MUSE: A model to understand simple English, Comm. 4c財,15, 29—40.
Мак-Каллок, Питтс (McCulloch W., Pitts W.)
A logical calculus of the ideas imminent in nervous activity, Bull. Math. Вiophys.у 5, 115——137. (Русский перевод в сб. «Автоматы» под ред. Маккарти Дж. и Шеннона К., ИЛ. М., 1956.)
Мак-Карти (McCarthy J.)
Programs with common sense, в сб. «Proceedings of the Symposium on the Mechanization of through Processes» под ред. Blake D., Uttely A., London.
A basis for a mathematical theory of computation, Proceedings of the Western Joint Computer Conference, 225—238.
Мак-Карти, Хэйес (McCarthy J., Hayes P.)
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 Computer Conference, Amer. Federation of Inform. Process. ScL, 33, 329—338. (Русский перевод в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.)
Мак-Карти и др. (McCarthy J. et al.)
LISP 1.5 Programmer's manual, Cambridge, Massachusetts.
Мак-Куин (MacQueen J.)
Some methods for classification and analysis on multivariate observations, Proceedings of the 5th Berkeley Symposium on Statistics and Probability. Berkeley, California.
Мансон (Munson J.)
Robot planning, execution and monitoring in an uncertain environment,
Proceedings of the 2nd International Joint Conference on Artificial Intelligence, London, pp. 338—349. (Русский перевод в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.)
Мейзел (Meisel W.)
Computer oriented approaches to pattern recognition. New York.
Миллер, Хомский (Miller G., Chomsky N.)
Finitary models of language users, в сб. «Handbook of Mathematical Psychology», Vol. 2, под ред. Luce R., Bush R., Galanter E., New York.
Миллер, Галантер, Прибрам (Miller G., Galanter E., Pribram K.)
Plans and the structure of behavior, New York. (Русский перевод: Миллер Дж.( Галантер Ю., Прибрам К-, Планы и структура поведения, М., 1965.)
Миллер (Miller J.)
(1965а) Living systems: Basic concepts, Behov. Sci., 10, 192—237.
Living systems: structure and process, Behau. Sci.t 10, 337—339.
Миллер, Шоу (Miller W. F., Shaw J. C.)
Linguistic methods in picture processing—a survey, Proceedings of the Fall Joint Computer Conference, Amer. Federation of /nfortn. ScL, 33, 279— 290.
Минский (Minsky M.)
Steps toward artificial intelligence, Proceedings of the Institute of Radio Engineers, 49, 8—30.
Steps toward artificial intelligence, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М., 1967.)
фед.) Semantic information processing, Cambridge, Massachusetts.
(1970) Form and computer science, Journ. ACM, 17, 216—230.
Минский, Пейперт (Minsky M., Papert S.)
Perceptrons, Cambridge, Massachusetts. (Русский перевод: Минский M., Пейперт С., Персептроны,, изд-во《Мир», М., 1971).
Морган, Сонквист (Morgan J., Sohnquist J.)
Problems in the analysis of survey data and a proposal, Journal Amer. Statist. Assoc., 58, 415—435.
Моррис (Morris J. E.)
Resolution: extension of resolution to include the equality relation, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts.
Мучник (Muchnik I.)
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.)
Evaluation of various parameters in spoken digits, Proceedings of the 1972 Conference on Speech Communication and Speech Processing, IEEE, 101— 104.
Нарасимхан (Narasimhan R.)
Syntax directed interpretation of cl asses of pictures, Comtn. ACM, 9 166—173.(Русский перевод в сб. «Автоматический анализ сложных
изображений», изд-во «Мир», М., 1969).
Фон Неймаи (Von Neumann J.)
The general and logical theory of automata, в сб. «The World of Mathematics», Vol. 4, под ред. Newman J. R., New York. (Русский перевод в книге Тьюринга А., Может ли машина мыслить? Физматгиз, М., I960).
Нейссер (Neisser U.)
The imitation of man by machine, Science, 139, 193—197.
Cognitive psychology, New York.
Нейссер, Уин (Neisser U., Weene P.)
Hierarchies in concept attainment, Journal of Experimental Psychology, 64 640—645.
Ньюэлл (Newell A.)
(ed.) Information processing language V manual (2nd ed.), Englewood Cliffs, New Jersey.
(ed.) Speech understanding systems, New York.
Ньюэлл, Саймон (Newell A., Simon H.)
Computer simulation of human thinking, Science, 134, 2011—2017.
An example of chess play in the light of chess playing programs, в сб. «Progress in Biocybernetics» под ред. Wiener N., Schade P., Amsterdam.
Human problem solving, Englewood Cliffs, New Jersey.
Ньюэлл, Шоу (Newell A., Shaw J. C.)
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.
Chess playing programs and the problem of complexity IBM J. Res. De- velop.t 2, 320—335.
Ньюэлл, Эрнст (Newell A.t Ernst G.)
The search for generality, Proceedings of the International Federation of Information Processing Societies, 17—24.
Ньюэлл, Эрнст, Саймон (Newell A., Ernst G., Simon H.)
Empirical explorations with the logic theory machine, Proceedings of the Western Joint Computer Conference, 218—230.
Ньюэлл, Эрнст, Шоу (Newell A., Ernst G., Shaw J. C.)
Elements of a theory of human problem solving, Psychol. R勿.,65, 151—166.
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.)
Theoretical and experimental investigations in trainable pattern classifying systems. Technical report RADC-TR-5-257, Rome Air Development Center, Rome, N. Y.
A mobile automaton. An application of artificial intelligence techniques, Proceedings of the 1st International Joint Conference on Artificial Intelligence. Bedford, Massachusetts, 509—520.
Problem solving methods in artificial intelligence, New York. (Русский перевод: Нильсон H., Искусственный интеллект. Методы поиска решений, изд-во «Мир», М.» 1973.)
Нияк (Nyak В.)
On acquisition of formal grammars, M. Sc. thesis, University of Washington Computer Science Group.
Норман (Norman D.)
Memory and attention, New York.
Пайвио (Paivio A.)
Mental imagery in associative learning and memory, Psychol. Rev., 76. 241—263.
Imagery and verbal processes, New York.
Петржиковский (Pietrzykowski T.)
A complete mechanization of second order type theory, Journ. ACM, 20, 333—364.
Пойа (Polya G.)
Mathematics and plausible reasoning (2 vols.), Princeton. (Русский перевод: Пойа Д., Математика и правдоподобные рассуждения, изд-во «Наука», М., 1975.)
How to solve it, New York. (Русский перевод: Пойа Д., Как решать задачу, Учпедгиз, М., 1959.)
Ралифсон, Уолдингер, Дерксен (Rulifson J. F., Waldinger R. J., Derksen J. A.)
QA4 Working Paper. Stanford Research Institute Artificial Intelligence Group, Technical Note 42.
Рапопорт (Rapoport A.)
Fights, games and debates, Ann Arbor.
Strategy and Conscience, New York.
Рафаэль (Raphael B.)
A computer program which «understands», Proceedings of the Fall Joint Computer Conference, Amer. Federation of /nfortn. Process- Sci., 26, 577— 590.
Редди (Reddy D. R.)
Speech recognition: Prospects for the seventies, Proceedings of the International Federation of Information Processing Sciences, 15-113.
Редди, Эрман, Нили (Reddy D. R., Erman L., Neely R.)
A mechanistic model of speech perception, Proceedings of the 1972 Conference on Speech Communication and Speech Processing, IEEE, 334—337.
Рейтер (Reiter R.)
Two results on ordering for resolution with merging and linear format, Journ. ACM, 18, 630—646.
Рейтман (Reitman W.)
Cognition and thought, New York. (Русский перевод: Рейтман У., Познание и мышление, изд-во《Мнр》,М., 1968.)
Робинсон, Вос (Robinson G., Wos L.)
Paramodulation and theorem proving in first order theories with equality, в сб. «Machine Intelligence», Vol. 4, под ред. Meltzer В., Michie D., Edinburgh.
Робинсон (Robinson J.)
A machine oriented logic based on the resolution principle, Journ. ACM, 12, 23—41. (Русский перевод в Кибернетическом сборнике, № 7, нов. серия, изд-во «Мир», М., 1970.)
A review of automatic theorem proving, Proceedings of the Symposium tm Applied Mathematics, 19, 1—18.
Mechanizing higher order logic, в сб. «Machine Intelligence», Vol. 4. пол ред. Meltzer В., Michie D., Edinburgh.
A note on the mechanization of higher order logic, в сб. «Machine Intelligence», Vol. 5, под ред. Meltzer В., Michie D., Edinburgh.
Computational logic: The unification algorithm, в сб. «Machine Intelligence», Vol. 6, под ред. Meltzer В., Michie D., Edinburgh.
Розенблатт (Rosenblatt F.)
The perceptron: A probalistic model for information storage and organization in the brain, Psychol. Rev., 65, 386—408.
Principles of neurodynamics, Baltimore. (Русский перевод: Розенблатт Ф., Принципы нейродинамики, изд-во «Мир», М., 1966.)
Розенфельд (Rosenfeld А.)
(1969а) Picture processing by computer, Computer Surveys, 1, 147—176.
Picture processing by computer, New York. (Русский перевод: Розенфельд А., Распознавание и обработка изображений с помощью вычислительных машин, изд-во «Мир», 1972.)
Румельхарт, Линдсей, Норман (Rumelhart D., Lindsay Р., Norman D.)
A process model of long term memory, в сб. «Organization of Memory» под ред. Tulving Е.» Donaldson W.( New York.
Саймон (Simon H.)
Models of man, New York.
The science of the artificial, Cambridge. (Русский перевод: Саймон Г., Наука об искусственном, изд-во «Мир», М., 1972.)
The theory of problem solving. Information processing 1971, Amsterdam, pp. 267—277.
Саметт (Samett J.)
Programming languages: History and future, Comm. ACM, 15, 601—610.
Сассенгут (Sussenguth E.)
Use of tree structures for processing files, Comm. ACM, 6, 272—279.
Свейн, Фу (Swain P., Fu K.)
Stochastic programmed grammars for syntactic pattern recognition, Pattern Recognition, 4, 83—100.
Себестиан (Sebesteyen G.)
Decision making procedures in pattern recognition, New York. (Русский перевод: Себестиан Г.» Процессы принятия решений при распознавании. образов, изд-во «Техника», Киев, 1965.)
Себестиан, Эди (Sebesteyen G., Edie J.)
An algorithm for поп-parametric pattern recognition, IEEE Transactions on Electronic Computers, EC-15, 908—915.
Селфридж (Selfridge О.)
Pandemonium. A paradigm for learning, в сб. «Proceedings of the Symposium on the Mechanization of Thought Processes» под ред. Blake D., Utteley A., London.
Сиберт (Sibert E.)
A machine oriented logic incorporating the equality relation, в сб. «Machine 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, University of Washington,
Симмонс (Simmons R.)
Natural language question answering systems, 1969, Comm. ACM, 13, 15-30.
Синайко (Sinaiko H.)
Translation by computer, Science, 174, 1182—1184.
Скиннер (Skinner В. F.)
Verbal behavior. New York.
Beyond Freedom and Dignity, New York.
Слейгл (Slagle J.)
A heuristic program that solves symbolic integration problems in freshman calculus, Journ. ACM, 10, 507—520.
Experiments with a deductive question answering program, Comm. ACMt 9, 792——798. (Русский перевод в сб. «Мультипрограммирование и разделение времени, изд-во «Мир», М., 1970.)
Interpolation theorems for resolution in lower predicate calculus, Journ. ACM, 17, 535—543.
Artificial intelligence: The heuristic programming approach, New York. (Русский перевод: Слейгл Дж., Искусственный интеллект. Подход на основе эвристического программирования, изд-во «Мир», М., 1973.)
Слейгл, Бурский (Slagle J., Bursky Р.)
Experiments with a multipurpose theorem proving heuristic program that learns, Univ, of California Lawrence Radiation Laboratory Tech. Report UCRL-70051.
Слейгл, Диксон (Slagle J., Dixon J.)
Experiments with the m and n tree searching program, Journ. ACM, 17, 147—154.
Сокал, Снит (Sokal R., Sneath P.)
Principles of numerical taxonomy, San Francisco.
Соломонов (Solomonoff R.)
(1964a) A formal theory of inductive inference I, Inform and Control. 7, 1—22.
A formal theory of inductive inference II, Inform, and Control, 7, 224—254.
Стефферуд (Stefferud E.)
The logic theory machine. A model heuristic program. Santa Monica, Calif. RAND Corp. Tech. Rep. RM-3731-CC.
Стикел, Хант (Stickel M., Hunt E.)
An interactive theorem proving program for the first order predicate calculus, University of Washington Computer Science Group Tech. Rep.
Стоун, Данфи, Смит, Огливи (Stone Р., Dunphy D., Smith M., Ogiivie D.) (1965) The general inquirer, Cambridge, Massachusetts.
Страсбургер (Strasbourger E.)
(1972a) Recognizing a continuous spoken language using analytic cepstrum encoding, Ph. D. thesis. University of Washington Computer Science Group.
The role of the cepstrum in speech recognition, Proceedings of the 1972 Conference on Speech Communication and Processing, IEEE, pp. 299—302.
Стэнфел (Stanfel L.)
Tree structures for optimal searching, Journ. ACM, 17, 508—517.
Суппес, Зиннес (Suppes P,, Zinnes J.)
Basic measurement theory, в сб. «Handbook of Mathematical Psychology» под ред. Luce R. D., Bush R., Galanter E., New York. (Русский перевод
в сб. «Психологические измерения», под ред. Мешалкина Л. Д изл-во «Мир», М., 1967.)
Сэмюэль (Samuel А.)
Some studies in machine learning using the game of checkers, IBM Journal of Research and Development, 3, 210—229.
Some studies in machine learning using the game of checkers, в сб. «Computers and Thought» под ред. Feigenbaum E., Feldman J., New York. (Русский перевод в сб. «Вычислительные машины и мышление» под ред. Фейгенбаума Э. и Фельдмана Дж., изд-во «Мир», М., 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.)
Multivariate analysis, New York.
Томас (Thomas O.)
Transformational grammars and the teacher of English, New York.
Томпсон (Thompson F. B.)
English for the computer, Proceedings of the Fall Joint Computer Conference, Amer. Federation of Inform. Process. ScL, 29, pp. 349—356.
Торн, Бретли, Дьюар (Thorne J., Bratley P,, Dewar H.)
The syntactic analysis of English by machine, в сб. «Machine Intelligence», Vol. 3, под ред. Michie D., Edinburgh.
Тулвинг (Tulving E.)
Episodic and semantic memory, в сб. «Organization of Memory» под ред. Tulving E., Donaldson W., New York.
Турлау (Thurlow W.)
Audition, в сб. «Experimental Psychology» (3d ed.) под ред. Kling J., Riggs L., New York*
Уилльямс (Williams G.)
A model of memory in concept learning. Cognitive Psychology, 2, 158—184.
Уинстон (Winston P.)
The M. I. T. Robot, в сб. «Machine Intelligence», Vol. 6, под ред. Meltzer В., Michie D., Edinburgh. (Русский перевод в сб. «Интегральные роботы», вып. 2, изд-во «Мир», М., 1975.)
Ур (Uhr L.) (ред.)
Pattern recognition, New York.
Ур, Восслер (Uhr L., Vossler C.)
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.)
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.)
Towards mechanical mathematics, IBM Journal of Research and Development, 4, 2—22.
Файке, Нильсон (Fikes R., Nilsson N.)
STRIPS: A new approach to the application of theorem proving in problem
solving, Artificial Intelligence, 2, 189—208. (Русский перевод в сб. «Интегральные роботы», вып. 1, изд-во «Мир», М., 1973.)
Файке, Харт, Нильсон (Fikes R., Hart Р., Nilsson N.)
Learning and executing generalized robot plans. Artificial Intelligence, 3, 251—288.
Фальк (Falk G.)
Interpretation of imperfect line data as a three dimensional scene, Artificial Intelligence^ 3, 104—144.
Фейгенбаум (Feigenbaum E.)
Artificial intelligence: Themes in the second decade, Proceedings of the International Federation of Information Processing Societies, Baltimore. (Русский перевод в Кибернетическом сборнике, № 10, нов. серия, изд-во «Мир», М., 1973.)
Фельдман (Feldman J. А.)
First thoughts on grammatical inference. Stanford Univ. Computer Science Department, Artificial Intelligence Memorandum, 55.
Some decideability results on grammatical inference and complexity, Inform, and Control, 20, 244—263.
Фельдман, Хорнинг, Редер, Джипе (Feldman J. A., Horning J., Reder S.t Gips G.) (1969) Grammatical complexity and inference. Stanford Univ. Computer Science Department, CS 125.
Фрейда (Frijida N.)
Simulation of human long term memory, Psychol. Bull., 77, 1—31.
Фу (Fu S.)
) Sequential methods in pattern recognition and machine learning, New York,
On sequential pattern recognition systems, в сб. «Methodologies of Pattern Recognition», под ред. Watanabe S.( New York.
Фу, Свейн (Fu S., Swain P.)
On syntactic pattern recognition. 3rd International Symposium on Computer and Information Sciences, 1969. в сб. «Software engineering», Vol. II, под ред. Tou J., New York.'
Фуканага (Fukanaga K.)
Introduction to statistical pattern recognition, New York.
Халле, Стивенс (Halle M., Stevens K. N.)
On phonetic features, Proceedings of the 1972 Conference on Speech Communication and Processing, IEEE, 194—197.
Хаммонд (Hammond A.)
Artificial intelligence: A fascination with robots or a serious intellectual endeavor? Science, 180, 1352—1353.
Хант (Hunt E.)
Concept learning: An information processing problem, New York.
The evaluation of somewhat parallel models, в сб. «Mathematical Explorations in the Behavioral Sciences» под ред. Massarik F・,Ratoosh P., Homewood, Illinois.
Utilization of memory in concept learning systems, в сб. «Concepts and the Structure of Memory» под ред. Kleinmuntz В., New York.
Computer simulation: Artificial intelligence studies and their relation to psychology, Лпп. Rev. Psychol., 19, 135—168.
What kind of computer is man? Cognitive Psychology, 2, 57—98.
The memory we must have, в сб. «Computer Models Thought and Language», под ред. Shank R., Colby K・,San Francisco.
Хант, Килдалл (Hunt E., Kildall G.)
A Heathkit method for building data management programs, Proceedings of the Symposium on Information Storage and Retrieval, ACM, 117—132. Хант, Куинлан (Hunt E., Quinlan J.)
The reactive library, Univ. Washington Psychology Dept. Tech. Rep. 67-1-03
Хант, Макоус (Hunt E.( Makous W.)
Some characteristics of human information processing, в сб. «Advances in Information Science» под ред. Tou J., New York.
Хант, Марин, Стоун (Hunt E., Marin J., Stone P.)
Experiments in induction, New York. (Русский перевод: Хант Э., Марин Дж., Стоун Ф.( Моделирование процесса формирования понятий на вычислительной машине, изд-во «Мир», М., 19/0.)
Харари, Норман, Картрайт (Harary F., Norman R., Cartwright D.)
(1965) Structural models. New York.
Харман (Harman H.)
Modern factor analysis (2nd ed.), Chicago.
Хармон, Юлеш (Harmon L., Julesz B.)
Masking in visual recognition: Effects of two dimensional filtered noise, Science, 180, 1194—1197.
Хаффмен (Huffman D.)-
Impossible objects in nonsense sentences, в сб. «Machine Intelligence», Vol. 6, под ред. Michie E., Edinburgh.
Хебб (Hebb D.)
The organization of behavior, New York.
Ховленд (Hovland C.)
A «communication analysis» of concept learning, Psychol. Rev., 59, 461— 472.
Хоел (Hoel P.)
Introduction to mathematical statistics (4th ed.), New York.
Холлидей (Halliday M.)
Notes on transitivity and theme in English, Journal of Linguistics, 3.
Functional diversity in language as seen from a consideration of modality and mood in English, Foundations of Language, 6, 322—361.
Хомский (Chomsky N.)
Syntactic structures, The Hague. (Русский перевод в сб. «Новое в лингвистике», вып. 2, М.( 1962).
Formal properties of grammars, в сб. «Handbook of Mathematical Psychology», Vol. II, под ред. Luce R., Bush R., Galanter E., New York. (Русский перевод в Кибернетическом сборнике, № 2, нов. серия, изд-во «Мир», М., 1966.)
Aspects of the theory of syntax, Cambridge. (Русский перевод: Хомский H., Аспекты синтаксиса, Изд-во МГУ, М., 1972.)
Хомский, Миллер (Chomsky N., Miller G.)
Introduction to the formal analysis of natural language, в сб. «Handbcwk of Mathematical Psychology», Vol. II, под ред. Luce R., Bush R*, Galanter E., New York. (Русский перевод в Кибернетическом сборнике, № 1, нов. серия, изд-во «Мир», М., 1965.)
Хомский, Халле (Chomsky N., Halle М.)
The sound pattern of English, New York.
Хопкрофт, Ульман (Hopcroft J., Ullman J.)
Formal languages and their relation to automata, Reading, Massachusetts.
Хорнинг (Horning J.)
A study of grammatical inference. Stanford Univ. Computer Science Department. 庁 139 (диссертация).
Хоудз (Hodes L.)
The logical complexity of geometrical properties in the plane, Journ. ACMt 17, 339—347.
Хохберг (Hochberg J.)
Perception, в сб. «Experimental Psychology» (3rd ed.) под ред. Kling J., Riggs L., New York.
Хьюитт (Hewitt C.)
PLANNER: A language for manipulating models and proving theorems in a robot, Proceedings of the 1st International Joint Conference on Artificial Intelligence, Bedford, Massachusetts.
Procedural embedding of knowledge in PLANNER. Proceedings of the 2nd International Joint Conference on Artificial Intelligence, London, pp, 167—184.
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.)
Semantic trees in automatic theorem proving, в сб. «Machine Intelligence», Vol. 4, под ред. Meltzer В., Michie D., Edinburgh. (Русский перевод в Кибернетическом сборнике, №9, нов. серия, изд-во «Мир», М., 1972.) Ченг (Chang С.)
The unit proof and the input proof in theorem proving, Joum. ACM, 17, 698—707.
Чеиг, Слейгл (Chang C., Slagle J.)
An admissable and optimal algorithm for searching and/or graphs, / rtificial Intelligence, 2, 117—128.
Шварц, Бюргер, Симмонс (Schwarz R., Burger J., Simmons R.)
A deductive question answerer for natural language inference. Comm. ACM, 13, 167—183.
Шенк (Schank R.)
Finding the conceptual content and intention of an utterance in natural language conversation, Proceedings of the 2nd International Joint Conference on Artificial Intelligence, London, 444—454.
Conceptual dependency: A theory of natural language understanding, Cognitive Psychology, 3, 552—631.
Identification of conceptualizations underlying natural language, в сб. «Computer Models of Thought and Languages» под ред. Schank R.( Colby C., San Francisco.
Шепард, Мецлер (Shepard R., Metzler J.)
Mental rotation of three dimensional objects, Science, 171, 701—703.
Шоу (Shaw A. C.)
A formal picture description scene as a basis for picture processing systems. Inform, and Control, 14.
Эванс (Evans Т. G.)
Grammatical inference techniques in pattern analysis, в сб. «Software Engineering», Vol. II, под ред. Tou J., New York.
Эдвардс, Линдеман, Сэвидж (Edwards W., Lindeman T., Savage R.)
Bayesian statistical inference for psychological research, Psychol Rev 70, 193—242.'
Эллиот (Elliot R.)
Master's level computer science curriculum. Comm. ACM, 11, 507—508.
Эрнст, Ньюэлл (Ernst G., Newell A.)
GPS: A case study in generality and problem solving, New York.
Эршер, Кокс (Herscher M., Cox R.)*
An adaptive isolated-word speech recognition system, Proceedings of the
1972 Conference on Speech Communication and Processing, IEEE.
Эттнив (Attneave F.)
Some informational aspects of visual perception, Psychol. R勿.,61 (3).
Multistability in perception, Sci. Amer., 225, 62—71.
Юлеш (Julesz B.)
Foundations of cyclopean perception, Chicago.
ИМЕННОЙ УКАЗАТЕЛЬ
Дойес (Dawes R.) 78
Дойч (Deutsch D.) 457
Дойч (Deutsch I. A.) 457
Достерт (Dostert B.) 436, 444, 456
Дрейфус (Dreyfus H.) 523
Дуда (Duda R.) 76, 86, 118, 222, 239, 411
Дьюар (Dewar H.) 495
Дэй (Day R.) 407
Зиннес (Zinnes I.) 78
Зобрист (Zobrist A.) 294, 295
Абдали (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 MJ 518
Виноград (Winograd T.) 331, 469, 475, 476, 509, 512—519, 526
Випке (Wipke W.) 12
Висенс (Vicens P.) 421, 426—431
Вос (Wos L.) 363, 399, 401
Восслер (Vossler C.) 23, 221—227, 231
Вудс (Woods W. A.) 495, 500, 513, 526
Вульф (Wolf A.) 439
Истлейк (Eastlake D.) 18, 294
Итикава (Ichikawa A.) 427
Лайтхилл (Lighthill) 523
Лакхэм (Luckham D.) 403, 470
Лафри (Laughrey K.) 439
Ледерберг (Lederberg I.) 12
Ледли (Ledley R.) 201, 236
Леннеберг (Lenneberg E.) 184, 433, 487.
488, 512
Лефковиц (Lefkovitz D.) 170, 437, 443
Ли (Lee W.) 78
Либерман (Liberman A.) 423—425, 521
Линдеман (Lindeman T.) 155
Линдсей (Lindsay P.) 331, 506
Лихтен (Lichten L.) 196
Лофтус (Loftus G.) 411
Лоэлин (Loehlin I.) 12, 477
Льюс (Luce R. D.) 25, 285, 300
Бекер (Beker I.) 260
Безигнис (Busignies Н.) 422
Бенерджи (Benerji R.) 18, 249, 526
Беннетт (Bennett I,) 403
Березнер (Berezner S.) 443
Беркли (Berkeley E.) 18
Берлинер (Berliner H.) 296
Бирман (Bierman A. W.) 175, 194, 199
Бисс (Biss K.) 51
Бледсоу (Bledsoe W.) 348, 358, 364, 368, 402
Блок (Block H.) 222—224, 226, 227, 229
Бобров (Bobrow D.) 18, 495
Бойер (Boyer R.) 402
Бонгард M. M. 23, 237
Ботвинник M. M. 296
Боурн (Bourne L.) 20, 139, 170
Бретли (Bratley P.) 495
Брунер (Bruner I.) 20, 301
Букханан (Buchanan B.) 435
Бурский (Bursky P.) 462
Буш (Bush R.) 300
Бюргер (Burger I.) 450, 453, 454
Галантер (Galanter E.) 12, 300, 301
Гард (Guard I.) 403
Гарднер (Gardner M.) 260
Гарнац (Garnatz D.) 103, 119,221, 222
Гедель (Godel) 344, 345
Гелернтер (Gelernter H.) 257, 260, 281,
300, 329, 390
Гешвинд (Geschwind NJ 488, 521
Гибсон (Gibson I.) 214
Гиллогли (Gillogly I.) 296, 432
Гилфорд (Guilford I.) 20
Глушков В. M. 15
Голд (Gold М.) 176—180
Грегори (Gregory R.) 408
Грин (Green В.) 439, 442
Грин (Green С.) 18, 468—475, 403
Гринблатт (Greenblatt R.) 18, 294
Грис (Gries D.) 56
Де Гроот (De Groot A.) 295
Гуднау (Goodnow I.) 20, 301
Гузман (Guzman A.) 146, 413, 523
Ватанабе (Watanabe S.) 184, 189, 213, 215, 407
Вегнер (Wegner P.) 34, 329, 444
Вейсстейя (Weisstein N.) 12, 25, 256
Вейценбаум (Weizenbaum I.) 480, 481
Винер (Wiener N.) 29
Дейл (Dale P.) 184, 421
Делен (Delay M.) 390
Джипе (Gips G.) 176
Джон (John E.) 419, 518
Джонсон (Johnson I.) 122, 123
Диксон (Dixon I.) 293
Диллер (Diller T.) 454
Дир (Diehr G.) 122, 168—171 , 232
Дирксен (Dirksen I.) 330
Кавер (Cover T.) 106
Канал (Kanai L.) 155
Каплан (Kaplan R.) 495
Карлсон (Carlson F.) 294, 295
Карни (Carney H.) 443, 446
Карсон (Carson D.) 363
Картрайт (Cartwright D.) 248, 261
Келли (Kelly K.) 184
Келлог (Kellog C.) 454
Кемени (Kemeny I.) 420
Килдалл (Kildall G.) 443
Кинтш (Kintsch W.) 271
Клинг (Kling R.) 329, 390, 393, 395
Клюс (Clowes M. B.) 204, 413
Кнут (Knuth D.) 16, 270, 445, 498
Ковальский (Kowalski R.) 340, 380
Кокс (Cox R.) 427
Колби (Colby K.) 477
Кори (Corey E.) 12
Корнсвит (Cornsweet T.) 411
Коэн (Cohen I.) 107
Кранц (Krantz D.) 72, 78
Крейг {Creig H.) 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 M. R.) 449, 506, 518
Куинлан (Quinlan I. R.) 302, 307, 312,
314, 329, 376, 456, 461
Кумбс (Coombs D.) 78
Купер (Cooper F.) 423
Купер (Cooper P. W.) "9, 472, 473
Кэррол (Carroll L.) 260
Лавленд (Loveland D.) 380
Лавьер (Loveyear C.) 443, 446
МММ
0629,18.21
¥119—
ип^JJ^-Tе
w L 2, J nnJL?" :二CC42QUS r-GIW^Anl £(MCkou11nsms鴇llerllerMins125osorris p3‘H(Maff(MeiOB((Me(Mi(Mi(Mifi(M款so 禮30K3i瀛z(sss鍔47.K аз_^^яаеееииии11эз
-ш а е е е ммммммм
МММ
о о
-&
30
3027
17,卜 640'2972132,32
>%,,24力
203046
1714017
Наката (Nakata K.) 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
Харари (Нагагу 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 T.) 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Харари (Нагагу 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 T.) 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Чандресакаран (Chandresakaran В.) 155Чен (Chien R.) 51Ченг (Chang С.) 117, 281, 284, 373, 376Черч (Church А.) 329, 354Чандресакаран (Chandresakaran В.) 155Чен (Chien R.) 51Ченг (Chang С.) 117, 281, 284, 373, 376Черч (Church А.) 329, 354
Харари (Нагагу 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 T.) 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
Харари (Нагагу 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 T.) 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
Чандресакаран (Chandresakaran В.) 155
Чен (Chien R.) 51
Ченг (Chang С.) 117, 281, 284, 373, 376
Черч (Church А.) 329, 354
Чандресакаран (Chandresakaran В.) 155
Чен (Chien R.) 51
Ченг (Chang С.) 117, 281, 284, 373, 376
Черч (Church А.) 329, 354
Оглсби (Ogbesby F.) 403
Оккам (Occam W.) 183
Остин (Austin G.) 20, 301
Пайвио (Paivio A.) 509
Пейперт (Papert S.) 23, 108, 117, 125,
126, 132, 140, 144, 147, 201, 227, 407
Петржиковский (Pietrzykowski T.) 402
Питтс (Pitts W.) 22, 29, 30
Пойа (Polya G.) 15, 256, 260, 300, 390
Прибрам (Pribram K.) 12, 301
Райфа (Raiffa H.) 25, 285
Рапопорт (Rapoport A.) 285
Рассел (Russel B.) 14, 17, 301
Рафаэль (Raphael B.) 18, 468
Редди (Reddy D. R.) 426—432
Редер (Reder S.) 176
Рейтер (Reiter R.) 377
Рейтман (Keitman W.) 301
Рич (Reich C.) 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 A.) 204, 205, 216, 405
Рочестер (Rochester N.) 281
Румельхарт (Rumelhart D.) 331, 503
Саймон (Simon H.) 14—19, 25. 26, 30, 171, 249, 250, 271, 295, 299—302, 315—319, 446, 525, 526
Саметт (Sammett I.) 329
Сассенгут (Sussenguth E.) 439, 443
Свейн (Swain P.) 190, 201, 216
Себестиан (Sebesteyen G.) 21, 91, 102, 103, 121
Селфридж (Selfridge O.) 21, 69, 125
Сеттл (Settle L.) 403
Сиберт (Sibert E.) 399
Сикел (Sickel S.) 337, 378
Симмонс (Simmons R) 450, 453, 506
Синайко (Sinaiko H.) 27
Скиннер (Skinner B. F.) 488, 524
Слейгл (Slagle I.) 18, 270, 281, 284 293, 294, 300, 369, 376, 456, 462, 465, 468, 476
Снит (Sneath P.) 118
Сокал (SokaJ R.) 118
Соломонов (Solomonoff R.) 191, 194
Сонквист (Sohnquist I.) 24
Стаддерт-Кеннеди (Studdert-Kennedy M.) 423
Стал (StaW F.) 51
Стефферуд (Stefferud E.) 14, 301
Стивенс (Stevens K. N.) 422, 425
Стикел (Stickel M.) 231
Стоун (Stoune P.) 21, 24, 158, 166, 167, 169
Страсбургер (Strasbourger E.) 421, 427, 429, 430
Стэнфел (Stanfel L.) 439
Cynnec (Suppes P.) 78
Сэвидж (Savage R.) 155
Сэмпсон (Sampson I.) 450, 506
Сэмюэль (SamueJ A.) 26 , 295, 329
Тацуока (Tatsuoka M.)21, 66, 77, 86, 218
Тверский (Tversky A.) 78
Толстой Л. H. 478
Томас (Thomas O.) 52, 491
Томпсон (Thompson F.) 436. 444, 456
Торн (Thorne I.) 495
Тулвинг (Tulving E.) 331
Турлау (Thurlow). 423
Тьюринг (Turing A.) 49
Уайтхед (Whitehead A.) 14, 17, 301
Уильямс (Williams G.) 170
Улеман (Uleman I.) 222
Ульман (Ullman I.) 37, 191
Ур (Uhr L.) 23, 66, 221, 222, 224, 226,
Уэнг (Wang H.) 16
Файке (Fikes R) 302, 317, 322, 326 , 328
Фальк (Falk G.) 416, 523
Фейгенбаум (Feigenbaum E.) 12, 14, 17
Фельдман (Feldman I. A.) 175, 176, 180, 183, 194, 199, 256
Фикс (Fix) 106
Фиппс (Phipps О. K.) 278
Фогт (Fogt K) 454
Фрейда (Frijida NJ 12, 301
Фрэзер (Fraser I.) 495
Фу (Fu K・ S.) 24, 156, 158, 172, 190, 201, 216
Фукунага (Fukunaga K.) 218
Халле (Halle M.) 422, 425
Хаммонд (Hammond A.) 523
Хант (Hunt E.) 12, 20, 21, 24, 73, 103, 119, 158, 163, 166—171 , 173, 184, 188, 189, 301, 302, 307, 312, 314, 376 , 3 78, 419, 443, 456, 461, 487, 518, 525
Шварц (Schwarz R.) 450, 453, 461—463 Шенк (Shank R.) 504, 406, 508, 510, 512, 518
Шенквейлер (Shankweiler D.) 423
Шепард (Shepard R.) 418
Шоу (Shaw A.) 173, 174, 201, 204
Шоу (Shaw I. C.) 14—16, 25, 72, 250, 294, 299, 301
Эванс (Evans T. 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 M.) 427
Эттнив (Attneave P.) 408, 409, 523
Юлеш (Julesz B.) 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
—с использованием семантики 196
Выделение краев 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
Группирование 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
линейно 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
Метафакт 4贪
Метод включения свойств 228
—вывода полный 553
—главных компонент 219
—детальный 67
Метод Джонсона иерархического группирования 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
Предикат в резолюции 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
Функция разделяющая 110—сколемовская 396—сложности вывода 182, 186—чтения 41Функция разделяющая 110—сколемовская 396—сложности вывода 182, 186—чтения 41Цель 333Цена—игры 286— позиции обращаемая 287Цепочка символов 37головная 191хвостовая 191Цепь 123Цель 333Цена—игры 286— позиции обращаемая 287Цепочка символов 37головная 191хвостовая 191Цепь 123Шахматы 14, 287Шашки 26Шкала абсолютная 78—интервалов 77—порядка 78Шум 216Эволюция 29Эвристика 15—ограничения глубины 389сложности 389Эвристическая оценка 271—функция 271Эвристическое программирование 15Эдинбургский университет 30Шахматы 14, 287Шашки 26Шкала абсолютная 78—интервалов 77—порядка 78Шум 216Эволюция 29Эвристика 15—ограничения глубины 389сложности 389Эвристическая оценка 271—функция 271Эвристическое программирование 15Эдинбургский университет 30Химия 12, 472Химия 12, 472Четность 137Число Эйлера 140Четность 137Число Эйлера 140
Функция разделяющая 110
—сколемовская 396
—сложности вывода 182, 186
—чтения 41
Функция разделяющая 110
—сколемовская 396
—сложности вывода 182, 186
—чтения 41
Цель 333
Цена
—игры 286
— позиции обращаемая 287
Цепочка символов 37
головная 191
хвостовая 191
Цепь 123
Цель 333
Цена
—игры 286
— позиции обращаемая 287
Цепочка символов 37
головная 191
хвостовая 191
Цепь 123
Шахматы 14, 287
Шашки 26
Шкала абсолютная 78
—интервалов 77
—порядка 78
Шум 216
Эволюция 29
Эвристика 15
—ограничения глубины 389
сложности 389
Эвристическая оценка 271
—функция 271
Эвристическое программирование 15
Эдинбургский университет 30
Шахматы 14, 287
Шашки 26
Шкала абсолютная 78
—интервалов 77
—порядка 78
Шум 216
Эволюция 29
Эвристика 15
—ограничения глубины 389
сложности 389
Эвристическая оценка 271
—функция 271
Эвристическое программирование 15
Эдинбургский университет 30
Химия 12, 472
Химия 12, 472
Четность 137
Число Эйлера 140
Четность 137
Число Эйлера 140
Сечение терминальное 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
Ядро 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
Часть /. Введение
Глава /. Область искусственного интеллекта 11
.0. Существует ли она? 11
Решение задач 13
Распознавание образов 20
Игры и принятие решений 25
Естественный язык и машинное понимание его 27
Самоорганизующиеся системы 28
Роботика 30
Глава 2・ Программироваиие, структура программ и вычислимость . . . .32
.0. Важность понятия вычислимости . 32
Вычисления на цепочках 36
Формальные грамматики 43
Машины Тьюринга 49
Линейно ограниченные автоматы и языки типа1 53
Автомат с магазинной памятью и языки типа 2 55
Конечные автоматы и регулярные языки (типа3) 57
Резюме и комментарии к практическому использованию 60
Часть //. Распознавание образов
Глава 3・ Общие соображения при распознавании образов 63
.0. Классификация 63
Характеризация задач распознавания образов 64
Историческая ретроспектива и текущие проблемы 75
Глава 4. Методы классификации и распознавания образов, использующие евклидовы пространства описаний 76
.0. Общая часть 78
Бейесовские процедуры в распознаванииобразов 78
Классический статистический подход к распознаванию образов и классификации 85
Классификация, основанная на близостиописаний 90
Алгоритмы с обучением 108
Группирование 117
4 4 6 0 7 4 42 2 2 3 3 4 44 4 6 0 7 4 42 2 2 3 3 4 4Глава 5・ Неевклидовы параллельные процедуры; персептрон
4 4 6 0 7 4 4
2 2 2 3 3 4 4
4 4 6 0 7 4 4
2 2 2 3 3 4 4
.0. Введение и исторические замечания
Терминология
Основные теоремы для персептронов ограниченного порядка ...
Другие теоремы для персептронов ограниченного порядка
Возможности персептронов, ограниченных по диаметру
Важность анализа персептронов
8825 6 84 22504^5556 7770и 11 11 11 и 11 и 11 11 11 СМ8825 6 84 22504^5556 7770и 11 11 11 и 11 и 11 11 11 СМГлава 6・ Последовательное распознавание образов
8825 6 84 22504^5556 7770
и 11 11 11 и 11 и 11 11 11 СМ
8825 6 84 22504^5556 7770
и 11 11 11 и 11 и 11 11 11 СМ
.0. Последовательная классификация
Определения и обозначения
Бейесовские процедуры решения
Бейесовские оптимальные процедуры классификации, основанные на динамическом программировании
Приближения, основанные на алгоритмах ограниченного просмотра вперед
Сходимость в последовательном распознавании образов
Глава 7. Грамматическая классификация образов
.0. Лингвистический подход к анализу образов
Задача грамматического вывода
Грамматический анализ двумерных образов
7 7 9 о 11112 32 2 2 2 27 7 9 о 11112 32 2 2 2 2Глава 8. Выделение признаков
7 7 9 о 1
1112 3
2 2 2 2 2
7 7 9 о 1
1112 3
2 2 2 2 2
.0. Общие понятия
Формализация подхода, использующего факторный анализ ....
Формализация случая двоичных измерений
Конструктивные эвристические методы для выделения признаков
4 6332 24 6332 2Экс пер и мент альное изучение порождения признаков в распознавании образов
4 6
33
2 2
4 6
33
2 2
Как важно быть умным
Часть III.
Доказательство теорем и решение задач
454550552 2 2 2454550552 2 2 2Глава 9. Машинное представление в решении задач
45455055
2 2 2 2
45455055
2 2 2 2
.0. Использование представлений
Типы представлений
Комбинирование представлений
Глава J0. Графовые представления в решении задач
14 18 76 & 7 7 92 2 2 2 214 18 76 & 7 7 92 2 2 2 2.0. Основные понятия и определения
14 18 7
6 & 7 7 9
2 2 2 2 2
14 18 7
6 & 7 7 9
2 2 2 2 2
Алгоритмы для нахождения минимального пути к единственной целевой точке
Оптимальный алгоритм упорядоченного поиска
Деревья и их применение
Глава 11. Эвристические программы решения задач
7 8 冷 2 79 9 9 112 2 2 3 37 8 冷 2 79 9 9 112 2 2 3 3.0. Общие замечания
7 8 冷 2 7
9 9 9 11
2 2 2 3 3
7 8 冷 2 7
9 9 9 11
2 2 2 3 3
Терминология
Универсальный решатель задач
Фортранная дедуктивная система ——автоматическое порождение таблиц связей
Планирование
7 7652799682 4 4 6 93 3456778990 о о о13 3333333334 4 4 4 47 7652799682 4 4 6 93 3456778990 о о о13 3333333334 4 4 4 434343755764 4 4 4 434343755764 4 4 4 4838388064 4 4 5838388064 4 4 50 0 4 52 2 2 25 5 5 50 0 4 52 2 2 25 5 5 58 6 02 4В5 5 58 6 02 4В5 5 5
7 7652799682 4 4 6 9
3 3456778990 о о о1
3 3333333334 4 4 4 4
7 7652799682 4 4 6 9
3 3456778990 о о о1
3 3333333334 4 4 4 4
3434375576
4 4 4 4 4
3434375576
4 4 4 4 4
83838806
4 4 4 5
83838806
4 4 4 5
0 0 4 5
2 2 2 2
5 5 5 5
0 0 4 5
2 2 2 2
5 5 5 5
8 6 0
2 4В
5 5 5
8 6 0
2 4В
5 5 5
Г лава 12. Доказательство теорем
.0. Доказательство теорем, основанное на эрбрановскон процедуре
Принцип резолюции
Простые стратегии очищения
Стратегии, учитывающие ход вывода
Синтаксические стратегии
Семантические стратегии
Эвристики
Кванторы
Задачи, использующие равенства
Проблемы и будущие разработки
Г лава /3・ Машинное восприятие
.0. Проблема восприятия
Зрение
Восприятие машиной речи
Г лава /4. Вопросно-ответные системы
.0 Постановка задачи
Структуры данных
Дедуктивный вывод в информационном поиске
Понимание без использования логики
Г лава 15. Понимание естественного языка
.0. Постановка задачи
Естественный язык: математическая модель
Психологическая модель
Глава /6. Обзор и перспективы
.0. Что сделано и что нет
Некоторые философские проблемы
Общая теория мышления
Список литературы
Именной указатель
Предметный указатель
УВАЖАЕМЫЙ ЧИТАТЕЛЬ!
Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, Ьй Рижский пер., 2, издательство «Мир».
Э. Хант
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
Научные редакторы А. А. Бряндинская, Л. Б. ШтейнпрессМладший научный редактор А. Н. СандероваХудожник В. И. Шаповалов
Художественный редактор В. И. ШаповаловТехнический редактор Н. Б. ПанфиловаКорректор Л. Д. Панова
ИБ № 1026
Сдано в набор 25.01.78. Подписано к печати 12.06.78.
Формат 60Х90%б. Бумага типографская № 1.Латинская гарнитура. Высокая печать.
Объем: 17,50 бум. л. Усл. печ. л. 35,00.
Уч.-изд. л. 35,41.
Изд. № 1/9541. Тираж 17 700 экз.
Заказ № 2349. Цена 2 р. 80 к.
ИЗДАТЕЛЬСТВО <МИР»Москва, 1-й Рижский пер.. 2
Ордена Октябрьской Революциии ордена Трудового Красного ЗнамениПервая Образцовая типография имени А. А. ЖдановаСоюзполиграфпрома при Государственном комитетеСовета Министров СССР по делам издательств, полиграфиии книжной торговли.
Москва, М-54, Валовая, 28
1) Процедура может не завершиться, если «теорема», подлежащая доказательству, не выводится нз заданных аксиом. Этот случай подробнее обсуждается в
2) Нн Пойа, ни Ньюэлл с сотрудниками не дали формального определения
1) Например, константность цветного восприятия — это надежное восприятие человеком цвета объекта, не зависящее от внешнего освещения при более или менее нормальных условиях.—Прим. ред.
1) На самом деле существует ряд шкал, промежуточных между шкалами, определяющими евклидово расстояние, и чисто номинальными шкалами. Большинство психологических шкал, таких, как интеллект или мужественность — жеиствениость, является шкалами порядка. В этих шкалах объекты ранжируются относительно друг друга, однако разница между соседними рангами не определяется. Для более подробного изучения вопросов, связанных со шкалами, см. Кранц и др. (1971).
1) Строго говоря, задача решена для TT(D=O нс= 1. В общем случае опять доказательство легко провести, опираясь на соответствующую обобщенную задачу для двух классов.
1) Книга Розенблатта (1962) первоначально была опубликована в 1961 г. в виде технического отчета, получившего широкое распространение.
1) Это утверждение совершенно верно для линейно разделяющих процедур типа приведенных на рис. 6.1, в которых окончательная классификация основана на сложении. Можно было бы построить «абсолютно» параллельную машину, в которой весовые векторы заменяются интервальными детекторами, преобразующими компоненты вектора описания в цифровую форму. Каждому возможному вектору описания можно было бы приписать единственное целое число, которое затем можно рассматривать как «адрес» объекта, описываемого этим вектором. Далее можно было бы такой механизм адресации использовать в «ииформациоино-поисковой машине», в памяти которой каждому возможному вектору описания соответствуй в точности один адрес. По этому адресу будет храниться соответствующий класс. Классификация осуществлялась бы при помощи табличного поиска для нахождения имени класса по заданному адресу. Проблема состоит в том, что такая информационно- поисковая машина должна быть очень большой. Возможно, удалось 6ьГ достигнуть экономии, выделив блоки адресов, соответствующих объектам одного л того же класса, и придав всем векторам описания блока единственный адрес. В этом случае функция отображения адресов в блоки сама представляла бы собой устройство классификации образов.
1) На самом деле эта модель совсем не плохо описывает зрительное восприятие (Корневит 1970). Это особенно верно, если допускается возможность препро
цессору последовательно просматривать образ, т. е. в каждый момент времени только небольшое число детекторов признаков активно, и они перемещаются по
всему полю изображения. Это соответствует некоторым данным и предположени
1) Конечно, сканирующее устройство не обязательно должно использовать
звуковой сигнал. Лазерный луч мог бы быть более полезным и более подходящим
для памяти, функционирующей с быстротой, сравнимой со скоростями счета вы
1) Планировалось приспособить BASEBALL для ответа на вопросы о результатах голосовании, ио, по всей очевидности, это ие было реализовано.
Э. ХАНТЭ. ХАНТ
Э. ХАНТ
Э. ХАНТ
Artificial Intelligence
BYEARL B. HUNTDepartment of PsychologyUniversity of WashingtonSeattle, WashingtonBYEARL B. HUNTDepartment of PsychologyUniversity of WashingtonSeattle, WashingtonACADEMIC PRESSNew York San Francisco London1975ACADEMIC PRESSNew York San Francisco London1975
BY
EARL B. HUNT
Department of PsychologyUniversity of WashingtonSeattle, Washington
BY
EARL B. HUNT
Department of PsychologyUniversity of WashingtonSeattle, Washington
ACADEMIC PRESSNew York San Francisco London1975
ACADEMIC PRESSNew York San Francisco London1975
ИСКУССТВЕННЫЙ
ИНТЕЛЛЕКТ
Перевод с английского4 Л. БЕЛОВА« Ю. Я. КРЮКОВА
под редакциейв. л. СТЕФАНЮКА
ИЗДАТЕЛЬСТВО «МИР»
МОСКВА 1978
УДК 62.506.222.001.57
Книга посвящена фундаментальным проблемам создания искусственного интеллекта и существующим подходам к их решению. В ней рассматриваются задачи распознавания образов, машинного доказательства теорем, восприятие машиной окружающего физического мира и, наконец, понимание машиной естественного языка. Особое внимание уделяется основным идеям и принципам искусственного интеллекта.
, От читателя требуется умеренная математическая подготовка —достаточно знакомства с элементарными понятиями из теории множеств, комбинаторики и математической логики.
Книга полезна широкому кругу исследователей как введение в область искусственного интеллекта и приложений вычислительной техники к различным областям наукн (в частности, психологии, биологии, лингвистики). Она может служить учебным пособием для студентов университетов н институтов, изучающих искусственный интеллект.
Редакция литературы по математическим наукам
в 20204-030X 041 (01)-78 30-78в 20204-030X 041 (01)-78 30-78© Academic Press, Inc., 1975
в 20204-030
X 041 (01)-78 30-78
в 20204-030
X 041 (01)-78 30-78
© Перевод на русский язык, 《Мир», 1978