Текст
                    1
ARTIFICIAL INTELLIGENCE
A. M. Andrew
Viable Systems
Chillaton, Devon (U. K.)
Abacus Press


В мире науки и техники А. Эндрю Искусственный интеллект Перевод с английского канд. техн. наук В. Л. Стефанюка под редакцией д-ра техн. наук., проф. Д. А. Поспелова МОСКВА «МИР» 1985
ББК 32.81 Э64 УДК 007 Эндрю А. Э 64 Искусственный интеллект: Пер. с англ./Под ред. и с предисл. Д. А. Поспелова.— М.: Мир, 1985,—* 264 с, ил.— (В мире науки и техники); Книга известного английского ученого, специалиста в области ки« бернетики Алекса Эндрю, в популярной форме рассказывающая о поисках и достижениях исследователей, работающих на одном из передовых рубежей современной науки =■=■ в области искусственного интеллекта. Предназначена для широкого круга читателей, интересующихся достижениями современной науки и техники, 1501000000-300 ББК 32.81 041(01)—85 ' Ч' l 6C0.1 Редакция научно-популярной и научно-фантастической литературы © Abacus Press, 1983 © Перевод на русский язык, «Мир», 1985
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА В наши дни книги с названием «Искусственный интеллект» стали привычными для читателя. Под таким названием в русском переводе вышли работы Дж. Слейгла, Н. Нильсона, П. Уинстона, Э. Ханта (см. приведенный в конце книги список литературы). Теперь вниманию читателя предлагается книга под тем же названием английского ученого А. Эндрю. Что же заставляет авторов писать, а издательства издавать книги с одним и тем же названием? Только ли то, что само это название звучит для широкой пуб- лики столь загадочно и притягательно? Разумеется, нет. Искусственный интеллект является сейчас «го« рячей точкой» научных исследований. В этой точке, как в фокусе, сконцентрированы наибольшие усилия кибернетиков, лингвистов, психологов, математиков и инженеров. Именно здесь решаются многие коренные вопросы, связанные с путями развития научной мысли, с воздействием достижений в области вычис* лительной техники и роботики на жизнь будущих поколений людей. Здесь возникают и получают права' гражданства новые методы научных междисциплинарных исследований. Здесь формируется новый взгляд на роль тех или иных научных результатов и возникает то, что можно было бы назвать философ-: ским осмыслением этих результатов. Именно поэтому книги с одинаковым названием «Искусственный интеллект» столь различны по свое* му содержанию. Если авторы первоначальных изда< ний такого типа (например, Дж. Слейгл) просто собирали под одной обложкой описания разнородных и разнообразных программных систем, обладаю* щих элементами искусственного интеллекта, не делая никакой попытки взглянуть на них с единой течки зрения, то сейчас на первый план выступает задача 5
формирования единого взгляда на проблему искусственного интеллекта, а конкретные достижения в рассматриваемой области используются лишь как иллюстрации для подтверждения общей точки зрения. Такова и книга А. Эндрю, которую предваряет настоящее предисловие. Автор книги в достаточно популярной форме излагает свой взгляд на проблему искусственного интеллекта, на пути и методы повышения уровня «интеллектуальности» разрабатываемых ныне программных систем, на перспективы исследований в этой области. С самого начала работ по созданию интеллектуальных систем возникло два вопроса: какова глобальная цель подобных исследований и какова их глобальная стратегия? Является ли их целью познание феномена естественного интеллекта и нужно ли копировать тот путь, но которому шла природа, создавая этот феномен? От ответа на эти два вопроса зависело, как развивать исследования в области искусственного интеллекта и куда направлять основные средства и усилия. На первый из поставленных вопросов ответ был более или менее однозначным. Несмотря на то что призыв «Познай самого себя» актуален для человечества с тех давних времен, когда только зародилось его самосознание, на современном этапе развития работ в области искусственного интеллекта его нельзя рассматривать как основную — и тем более единственно возможную цель. С практической точки зрения более важной представляется другая цель: создание искусственных систем, способных выполнять не хуже (а возможно, и лучше) человека ту работу, которую люди традиционно относят к сфере интеллектуального труда. Однако по вопросу о путях достижения этой цели мнения специалистов на первом этапе развития исследования по созданию искусственных интеллектуальных систем резко разделились. Большая часть их склонялась к тому, что ни о каком повторении пути природы, ни о каких аналогиях с принципами, заложенными в естественном интеллекте, не может быть речи. В конце концов, вычислительные машины, успешно имитирующие способности человека к счету, весьма мало напоминают что-либо присущее живому организму, а реализованные на ЭВМ программы для 6
создания музыкальных произведений или поэтических опусов никоим образом не имитируют особенности творческого процесса человека. Для сторонников этой точки зрения «совпадение по результату» казалось достаточным для утверждения о том, что те или иные стороны естественного интеллекта успешно смоделированы. Но часть специалистов, оставшихся в меньшинстве, считали подобный путь ошибочным. По их мнению, путь к достижению системами искусственного интеллекта идеала — полноценной имитации возможностей естественного интеллекта — проходит лишь через имитацию структуры и реализованных на ней функций, характерных для живых систем. Отсюда интерес этих специалистов к результатам, полученным в биологии, физиологии, психологии. Развитие моделей искусственных нейронных сетей, появление устройств типа персептрона или пандемониума, резко отличающихся по способу своего действия от традиционных вычислительных машин,— результаты исследований в этом направлении. На современном этапе развития исследований в области искусственного интеллекта эти две крайние точки зрения сближаются. Противники копирования опыта природы при конструировании интеллектуальных систем начинают понимать, что многие важные задачи могут быть успешно решены только при обращении к этому источнику, а сторонники второго направления вынуждены согласиться с тем, что ряд функций интеллекта, связанных с символьными преобразованиями, эффективнее и легче реализовать «нечеловеческими» способами. Именно такую компромиссную позицию и излагает в своей книге А. Эндрю, в прошлом твердо придерживавшийся взглядов второго направления. Этим . его книга отличается от работ Н. Нильсона или Э. Ханта, в которых доминирующую роль играет идея символьных преобразований. Область искусственного интеллекта развивается столь бурно, что за время, которое проходит от за-: мысла написать книгу на эту тему (книга А. Эндрю писалась в 1981 г.) до ее выхода в свет (в данном; случае— 1983 г.), а тем бол^едо ее появления в переводе на другой язык, происходит существенное 7
изменение во взглядах на многие аспекты этой науки и в оценках многих ее прежних достижений. Поэтому мы считаем целесообразным хотя бы вкратце познакомить читателя с «последним» взглядом на проблему, бытующим среди специалистов в настоящее время (в середине 1984 г.). В последние годы исследования в области искусственного интеллекта вступили в новую фазу. Неожиданно для многих эта область науки, считавшаяся прежде чисто теоретической, дала толчок к созданию практически полезных и интересных систем. И такими системами оказались не роботы, внедрение которых в нашу жизнь происходит не столь уж быстро, а системы совсем другого типа, получившие название экспертных систем. Термин этот, как увидят читателя, встречается и у А. Эндрю. Но в период написания данной книги еще трудно было предвидеть, сколь аначительным окажется влияние этих систем на все развитие данного направления исследований. Чтобы пояснить суть экспертных систем, рассмотрим следующую жизненную ситуацию. Молодой специалист, только что окончивший медицинский институт, приезжает на выбранное им место работы. И буквально с первого дня оказывается перед необходимостью принятия решений в самых разнообразных, порой альтернативных, ситуациях. Он должен поставить больному правильный диагноз и правильно выбрать метод его лечения. Для этого необходимо многое знать и уметь. В простых случаях, в типовых ситуациях, молодой специалист может быстро и правильно сориентироваться сам. Но зачастую ему просто необходимы помощь и знания более опытных коллег. Хорошо, если эта помощь может быть оказана оперативно, если молодой врач работает в коллективе опытных специалистов. Ну, а что делать, если ему приходится рассчитывать только на самого себя? Звонить по телефону, искать знания в книгах? Однако чаще всего на это у него просто нет времени. И тогда....Тогда на помощь молодому врачу должна прийти экспертная система. Представим себе, что такая система, смонтированная в компактном ящике, у него имеется. И врач обращается к ней за советом. Между ними происходит следующий диалог: 3
Мне необходима помощь. Нужно поставить диагноз пациенту по следующим наблюдаемым симптомам... — Для уточнения ситуации мне необходимо знать следующие данные... Эти данные таковы: ... Не наблюдается ли у больного.., И так далее. В заключение диалога экспертная система «высказывает» врачу свое мнение о возможном диагнозе или наборе диагнозов — в случае, если наличной информации недостаточно для однозначного принятия решения. В памяти экспертной системы хранится большой запас знаний о той или иной области медицины. Эти знания могут включать в себя информацию, взятую из учебников и монографий, сведения, полученные от опытных в данной области специалистов, а также информацию, накопленную ' в процессе эксплуатации экспертной системы данным пользователем. Но экспертная система не только хранит большой запас знаний и выдает ах потребителю. Она производит логическую обработку поступающей от потребителя информации, выбирает в своей памяти те или иные знания, связанные с этой информацией, и может по требованию пользователя объяснить ему, почему именно она пришла к тем или иным решениям. В настоящее время создано уже около сотни разнообразных экспертных систем, используемых в различных областях медицины, в экспериментальной химии, фармакологии, геологии, археологии. Экспертные системы начинают внедряться в системах автоматизации проектирования и в экономике, в системах автоматизации научных исследований и в истории —• везде, где специалистам приходится иметь дело с большими объемами знаний, носящими, как правило, неформальный характер. Возникает индустрия экспертных систем, а как следствие этого — индустрия знаний, для которой в английском языке появился специальный термин Knowledge Engineering. Этот термин использует и А. Эндрю, придавая ему, однако, весьма узкое значение. Это опять-таки обусловлено тем, что в момент написания книги еще не начался «бум», вызванный появлением экспертных систем. 9
В книге А. Эндрю затрагиваются различные проблемы, традиционно относимые к искусственному интеллекту. Но то внимание, которое автор уделяет отдельным из них, отражает скорее его личные пристрастия, чем истинную значимость этих проблем в настоящее время. Если судить по количеству исследований, проводимых сейчас специалистами разных стран в области искусственного интеллекта, то, конечно, на первом месте по важности окажутся не работы по программированию игр типа шашек, шахмат и т. д., не работы, связанные с нейронными сетями и построенными на их основе устройствами, и не работы в области эвристического программирования, которым в книге А. Эндрю уделено много внимания. Нет, лидируют сейчас совсем другие исследования, которые можно свести к четырем важнейшим для современного состояния этой науки глобальным направлениям. Во-первых, это уже несколько раз упоминавшееся направление, которое в самом широком смысле можно определить как проблему представления знаний и работы с ними. Сюда относятся задачи создания специальных языков для представления знаний в вычислительных машинах. Примерами их могут служить язык FRL (версии которого реализованы в СССР на отечественных машинах) и язык KRL. Это направление включает также проблемы, связанные с созданием программных и аппаратных средств для манипулирования знаниями, с пополнением баз знаний, устранением в них противоречий и т. д. Сюда же, наконец, относятся исследования в области создания специальных логик, позволяющих пополнять и обобщать сведения, хранимые в базе знаний. Активизация этих исследований привела уже к построению пригодных для работы с базами знаний временной и пространственной логик, индуктивных логик для поиска закономерностей по набору конкретных примеров и ряда других логик. Второе глобальное направление, связанное с созданием и внедрением интеллектуальных систем, обычно определяется как планирование целесообразного поведения. В рамках этого направления решается задача создания так называемого «интеллектуального интерфейса», необходимость которого в послед- 10
нее время возникла в связи с разработкой вычислительных машин пятого поколения. Речь идет о создании комплекса средств, которые позволили бы в будущем ставить для машин задачи, не выходя за р"амки профессионального языка, которым обычно пользуются специалисты в той или иной проблемной области. А система интеллектуального интерфейса g помощью данных, которые хранятся в базе знаний по конкретной проблемной области, должна осуществить перевод этой текстовой информации в программу для машины. Другими словами, интеллектуальный интерфейс призван осуществлять планирование деятельности ЭВМ по решению поставленной пользователем задачи. В такой постановке задача планирования включает в себя проблемы, связанные как с формированием целей и их перестройкой, так и с созданием стратегий для достижения этих целей на основе имеющейся в базе знаний информации. В книге А. Эндрю этому направлению уделяется недостаточно внимания. Автор подробно рассматривает лишь наиболее старую систему такого типа — GPS — и ту стратегию планирования, которая была в нее заложена. В последние годы появились- специальные системы-планировщики, обладающие куда большими возможностями построения программ достижения целей. Укажем лишь на отечественный планировщик, входящий в систему ПРИЗ, созданную в Институте кибернетики АН ЭССР, и планировщик, действующий в составе системы МАВР в ВЦ АН СССР. Их возможности намного превосходят все сказанное о системе планирования, имеющейся в GPS. Отметим также, что задача планирования целесообразного поведения тесно связана с задачей автоматизации синтеза программ для вычислительных машин. Поэтому ряд систем, предназначенных для синтеза программ, в той или иной мере решает и задачи, связанные с созданием планировщиков. Примером может служить разработанная в Институте теоретической астрономии АН СССР система СПОРА. В состав интеллектуального интерфейса должны входить специальные средства, обеспечивающие связь вычислительной машины и пользователя на том языке, который привычен пользователю в его 11
повседневной профессиональной деятельности. В бо* •лее широком плане средства коммуникации должны обеспечивать общение человека и интеллектуальной системы на языке, максимально приближенном к обычному естественному языку. Цикл исследований по созданию подобных систем составляет содержание третьего глобального направления, развивающегося в рамках искусственного интеллекта. Здесь исследуются различные модели синтаксиса и семантики естественных языков, способы хранения знаний о языке в памяти искусственных интеллектуальных систем, проблемы анализа и синтеза текстов и способы построения специализированных лингвистических процессоров, осуществляющих перевод информации, содержащейся в поступающих в систему текстах, в те внутренние представления, на которых строится ра« бота других подсистем. Наконец, четвертое глобальное направление исследований в области искусственного интеллекта связано с изучением поведения интеллектуальных систем. Здесь исследуются проблемы восприятия зрительной, акустической информации и информации других видов, поступающей из внешней среды, изучаются методы ее обработки, формирования ответных реакций на воздействия среды и способов адаптации искусственных систем к среде путем обучения. И в этой области искусственного интеллекта сделано уже немало нового, что не смогло найти отражения в книге А. Эндрю. В частности, достигнуты значительные успехи в области анализа трехмерных зрительных сцен, построения систем типа «глаз — рука» или в области формализации таких элементов поведения, как эмоционально окрашенные поступки. Таковы основные направления работ в области искусственного интеллекта на современном этапе* В заключение хотелось бы порекомендовать читателю книги по проблеме искусственного интеллекта (см. дополнительную литературу), которые вышли в нашей стране и в которых можно найти многие сведения, отсутствующие в книге А. Эндрю, а также познакомиться с несколько иными взглядами на проблему искусственного интеллекта. [Авторский список литературы, во-первых, содержит лишь англо- 12
язычные источники (нами даны ссылки на имеющиеся русские переводы некоторых книг) и, во-вторых, не включает (по понятным причинам) последних публикаций по рассматриваемой проблеме.] Так, в книгах [1, 2, 6, 7] изложены принципы построения шахматных и других игровых программ, которые были положены в основу программ, созданных или создаваемых в настоящее время в нашей стране. В книге [9] описываются процедуры поиска решений в пространстве задач, которые во многом отличаются от программы GPS Ньюэлла и Саймона, описанной в настоящей книге. В работах [3, 4] излагаются общие подходы к построению интеллектуальных систем, которые объединяют идеи чисто символического имитирования с идеями нейронных сетей« В классической для советской науки монографии [5] изложены принципы узнавания, отличные от. систем распознавания, которые рассматривает А. Эн* дрю. Оригинальный взгляд на проблему взаимосвязи человека и искусственной системы предлагают авторы книги [13]. Наконец, в книгах [8, 10—12, 14 и 15] читатели найдут немало интересных примеров систем интеллектуального типа и познакомятся о различными точками зрения на существо проблемы искусственного интеллекта и ее значение для разви* тия современной науки* Д. Поспелов, доктор технических наук, заместитель председателя Научного совета Комитета системного анализа при Президиуме АН СССР по проблеме «Искусственный интеллект».
ОТ РЕДАКТОРА СЕРИИ Последние два десятилетия ознаменовались большими успехами в области кибернетики и теории систем, а также во взаимосвязанном развитии этих двух дисциплин. Опубликованы сотни книг, посвященных различным проблемам этих наук, периодически выходят многочисленные специальные журналы и многотомные сборники трудов различных конференций, где освещается текущее состояние работ в данных областях. Созданы соответствующие научные общества — как на национальном, так и на международном уровне. Все это — свидетельства наступления второй промышленной (кибернетической) революции. Желая познакомить читателей с успехами этих наук, роль которых в современной жизни все более йЪзрастает, мы решили выпустить популярную серию из небольших книг, каждая из которых посвящена определенному аспекту проблемы. В этих книгах рассматриваются следующие вопросы: искусственный интеллект, автоматика и кибернетика, вычислительные машины и кибернетика, кибернетика и общество, экономическая кибернетика, нечеткие системы, общая теория систем, кибернетика управления, медицинская кибернетика, модели и моделирование систем, ней- рокибернетика, .философские основы кибернетики. Авторами книг являются известные специалисты, обладающие высокой научной репутацией; однако они стремились излагать материал на доступном уровне, не перегружая его математическими выкладками и сложными абстрактными рассуждениями. Мы надеемся, что эти книги в равной мере будут интересны и полезны как студентам, так и опытным специалистам. В наш век грандиозных научных свершений и вместе с тем тревоги за само будущее человечества глубокое понимание рассматриваемых здесь вопросов поможет нам лучше понять настоящее и более оптимистично смотреть в будущее. Дж. Роуз Блэкберн
ВСТУПЛЕНИЕ В этой книге я предпринял попытку рассказать об основных успехах в области знаний, получившей на* звание «искусственный интеллект», и об ее взаимен связи с другими направлениями научных исследова* ний. К ним, в частности, относятся вычислительная техника и программирование, многие существенные достижения в которых были стимулированы необходимостью решения проблем искусственного интел- лекта. Здесь же можно назвать психологию и нейрофизиологию, причем последняя особенно тесно связана с так называемым «кибернетическим» подходом (т. е. подходом с позиции «самоорганизующихся систем») к искусственному интеллекту. Обсуждается также связь этих исследований с так называемым «основным направлением» (эвристическим программированием — см. далее) работ в области искусственного интеллекта. Я позволил себе строить довольно смелые прогнозы относительно развития проблемы искусственного интеллекта в далеком будущем, но вместе с тем коснулся и существующих здесь принципиальных ограничений. Следует также отметить, что ценность веду* щихся ныне работ преходящая. Сегодня — с появлением микропроцессоров — вычислительные машины все более основательно входят в нашу повседневную жизнь: либо как собственно вычислительные машины, которыми мы пользуемся дома и на работе, либо как неотъемлемая часть современного автомобиля, стиральной машины и т. д. По-видимому, недалек тот час, когда появятся дешевые портативные системы, достаточно мощные, чтобы допускать реализацию принципов искусственного интеллекта. У них будут «глаза» и «уши», они будут управлять работой механических рук. Вычислительные машины не просто станут обычными в нашей повседневной жизни — 15
они будут участвовать в ней все более «человеческим» образом. Уже имеются мини-машины, способ* ные мастерски играть в шахматы. Сегодня мы можем даже говорить об экспертных системах «карманного размера». Настоящая книга построена в основном на мате* риале, подготовленном мною для лекций, которые я читал в университете г. Ридинга. Благодаря тому что моя жена работала на психологическом факультете того же университета, я имел возможность воспользоваться техническими средствами, имеющимися на этом факультете и, в частности, получил ценные советы от И. Робинсон при подготовке иллюстраций. Неоценимую помощь оказала мне моя жена Джойс: она работала над рисунками, сделала немало ценных замечаний относительно содержания и формы книги, исправляла мои грамматические ошибки — и все это несмотря на занятость своей основной работой. Каково бы ни было качество моего труда, оно, безусловно, значительно возросло благо* даря ее участию. Л. М. Эндрю университет г. Ридинга, Великобритания
1 ЧТО ТАКОЕ ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ? В области исследований, называемой искусствен* ним интеллектом, изучаются способы создания вычислительных машин, обладающих «интеллектуальным» поведением. Чтобы лучше понять сущность таких исследований, необходимо прежде всего разобраться в смысле самого понятия интеллект и вытекающего отсюда понятия интеллектуального поведения. Необходимо сказать и о том, что может подразумеваться под словом машина в современном понимании, хотя этот вопрос несравненно более простой, чем попытка определить интеллект. По существу, последний так и не получил достаточно удовлетворительного объективного определения. Поэтому, хотя мы еще коснемся в дальнейшем данного вопроса, в конечном счете нам придется вернуться к нашему интуитивному представлению об интеллекте, но дополненному и расширенному на основании результатов тех исследований, которые по сложившейся традиции принято относить к области искусственного интеллекта. В данном контексте слово машина обычно означает некоторую программу, реализуемую на универсальной вычислительной машине. В некоторых случаях строились электронные устройства специального назначения, но. по своей сущности они аналогичны вычислительным машинам. Такие «машины» по своим свойствам и виду совершенно не похожи на гру* бые и мощные машины, характерные для первой промышленной революции. Однако в последние годы наблюдается определенная тенденция, направленная на создание все более сильных («мускулистых») машин искусственного интеллекта. В одном из разделов искусственного интеллекта^ называемом 17
роботикой, рассматриваются вопросы использования интеллектуальных машин для манипулирования предметами в реальном мире. Что такое интеллект? Психологи обычно с большой осторожностью подходят к вопросу об определении понятия интеллекта. Как заметил один из них, единственное непротиворечивое определение состоит в следующем: «Интеллект— это то, что оценивается в интеллектуальных тестах». Некоторые исследователи, работающие в области искусственного интеллекта, пошли именно по этому пути, составив программы для решения задач типа тех, которые предлагаются в тестах по проверке уровня интеллектуальности. Однако предпочтительнее было бы иметь более общее определение. Интеллект иногда определяют как способность правильно реагировать на новую ситуацию. С таким определением хорошо согласуются и результаты некоторых экспериментов по оценке «уровня интеллектуальности» животных. Предположим, что обезьяна находится в комнате, где с потолка свисает гроздь бананов; однако они расположены слишком высоко, чтобы обезьяна могла их достать с пола. Но в комнате имеется коробка, подставив которую под бананы и взобравшись на нее, обезьяна могла бы дотянуться до лакомства. Если обезьяна действительно проделывает эту операцию и срывает гроздь бананов, то тем самым она проявляет способность думать, т. е. интеллект. Перед обезьяной ставили и более сложную задачу: используя палку или соединяя две палки вместе, она должна была «выудить» фрукты с большого расстояния. Тип «интеллекта», проявляющийся в подобных опытах, близок к нашему интуитивному определению этого понятия, однако такое определение не вполне объективно. Чтобы установить, что данная ситуация является «новой» в точном смысле слова, необходимо субъективное суждение. Например, перед карманным калькулятором поставлена задача перемножить два числа; если эти числа велики и не относятся к хорошо известным числам типа приближенного значения числа «пи» или числа дюймов в миле, то вполне воз- 18
можно, что такая задача будет совершенно новой для калькулятора, ибо он никогда прежде не сталкивался с перемножением таких чисел. Тем не менее нам обычно не приходит в голову считать его «разумным» на том основании, что он правильно реагирует в новой ситуации. «Новизна» этой ситуации совсем иная, чем в случае обезьяны и бананов, но это отличие трудно сформулировать точно. Попытка определить понятие «интеллект» равносильна попытке дать определение мышлению при ответе на вопрос «могут ли машины мыслить?». Можно сказать, что сама проблема искусственного интеллекта и есть не что иное, как попытка ответить на этот вопрос. То обстоятельство, что сегодня мы вряд ли могли бы рассматривать микрокалькулятор как «интеллектуальное» или «мыслящее» устройство, свидетельствует именно о том, что любая попытка создать интеллектуальную или думающую машину автоматически подразумевает самоотрицание. Сам факт, что машина обладает некоторым типом поведения, заставляет людей говорить: «Это не то, что мы подразумеваем под мышлением, ибо мы понимаем, как машина может это делать». Пока разработка искусственного интеллекта не достигнет своей высшей цели — дублирования каждого аспекта человеческого интеллекта (что, по-видимому, неосуществимо в обозримом будущем), ему обязательно будет присуще такое самоотрицание. Как обречена, на провал попытка человека дойти до места, где «начинается» радуга, так и маловероятно достижение этой цели при создании искусственного интеллекта. Впрочем, поиски будут небесплодны — они обогатят нас новыми знаниями. Несколько поколений назад люди, несомненно, сочли бы карманный калькулятор «интеллектуальным», а сегодня для такой оценки от машины требуется гораздо большее. Поэтому искусственный интеллект — это область исследований, направленных на то, чтобы заставить машины выполнять функции, которые в настоящее время для них слишком трудны, и особенно такие функции, которые способны выполнять люди. Слова «в настоящее время... трудны» говорят о том, что подобное определение должно быть «скользящим», т. е. меняться со временем, точно так же как изме- 19
няется наше представление о «думающей машине» по мере развития техники. Поскольку эта проблема искусственного интеллекта, по существу, беспредельна и она привлекла к себе многих способных людей, ее по праву считают «передним краем» разработок в области вычислительной техники. Более подробно мы будем говорить об этом в гл. 13. Представляет интерес тест, позволяющий сказать, является ли машина «думающей», который предложил известный математик и специалист в области вычислительной техники Алан Тьюринг [1]. Этот тест основан на «иг{>е в переговоры». Тьюринг, должно быть, не раз бывал на довольно скучных вечеринках, где гостей развлекают играми такого рода: кто-то из компании незаметно- уходит в другую комнату, а дру- гим гостям предлагают задавать вопросы отсутствующему с тем, чтобы из ответов выяснить, мужчина это или женщина. Разумеется, отсутствующий отвечает не непосредственно, а либо в письменной форме, либо через посредника. Идея Тьюринга состояла в том, чтобы посредством подобных переговоров испытывать машину на «интеллект». Если лицо, задающее вопросы, не в состоянии установить, общается он с человеком или с машиной, и если на самом деле это была машина, то следует считать, что машина обладает «интеллектом». Можно сказать, что существующие ныне программы для вычислительных машин вполне удовлетворяют тесту Тьюринга в его простом варианте. Отдельные игровые программы (гл. 5 и 6) достаточно хорошо имитируют поведение человека, так что некоторые люди уверены, что они играют с человеком. Хорошо известна программа ЭЛИЗА, играющая роль психиатра. Пациенты, с которыми «беседовала» эта программа, в большинстве случаев не сомневались в том, что они общаются с врачом. Такие программы, однако, не имитируют полностью интеллект человека, способного вести разговор на самые различные темы,— а именно это, по-видимому, имел в виду Тьюринг. Очевидно, что игровые программы соответствуют поведению людей лишь в весьма ограниченной области. Программа ЭЛИЗА моделирует поведение осторожного психиатра, который сообщает больному самую ничтожную информа* 20
цию (как нередко поступают и настоящие психиатры). « . Вычислительные машины могут весьма эффективно имитировать поведение человека в какой-нибудь узкой области деятельности. Тот факт, что иногда сами люди стараются определенным образом ограничить свои действия, делает тест Тьюринга неточным. Этот тест может показаться неудовлетворительным и потому, что Тьюринг рассматривает вопрос лишь о моделировании интеллекта, а не задачу достижения какого-то полезного (или потенциально полезного) результата (см., однако, заключительные замечания к гл. 15). Возможен ли искусственный интеллект? Теперь читатель, видимо, убежден, что за словами искусственный интеллект стоит важное научное направление,—и это действительно так. Проблема искусственного интеллекта выделяется среди всех других работ в области вычислительной техники и программирования. Тем не менее остаются открытыми два важных вопроса: а. Действительно ли методы, которые объединены в понятии искусственный интеллект, имитируют в значительной мере то, что мы интуитивно понимаем под интеллектом?4Другими словами, оправдан ли сам термин искусственный интеллект? б. Существуют ли такие аспекты интеллекта человека, которые в принципе нельзя смоделировать на вычислительной машине? Первый из этих вопросов весьма близок к ранее поставленному вопросу: могут ли машины мыслить? Оба эти вопроса весьма неточны и во многом зависят от нашего интуитивного представления об интеллекте, а также от целого ряда других, столь же нечетких понятий. Вследствие нечеткости самого вопроса при его рассмотрении нам необходимо сразу же отказаться от тенденции не считать тот или иной вид деятельности проявлением интеллекта только на том основании, что он осуществляется машиной. В конкретных задачах, таких, как игра в шахма^ ты, деятельность человека и машины поддается сравнению. Многие, и прежде всего Г, Дрейфус, высказы- 21
вали соображения, что существуют целые области деятельности человека, в которых машина не может даже и близко подойти к имитации человека. Нам же, пожалуй, лучше всего вообще отказаться от сопоставлений такого рода до тех пор, пока мы не подведем итог результатам, достигнутым в исследованиях по искусственному интеллекту (гл. 13 и 14). Имеется, однако, один вопрос, который небесполезно будет рассмотреть сейчас, а именно: способны ли машины к «новаторству»? Хотя некоторые черты «искусственного интеллекта» мы можем обнаружить в системах, созданных во времена, предшествующие эре ЭВМ (например, в автоматах, играющих в шахматы), сегодняшние исследования в области искусственного интеллекта почти полностью опираются на ЭВМ. И это неудивительно, поскольку ЭВМ по сравнению с другими искусственными системами во многих важных аспектах наиболее близки мозгу по своему действию. Из всех искусственно созданных устройств они самые сложные. С мозгом их роднит также и степень универсальности, вследствие чего весьма трудно сколько-нибудь определенно судить об их возможностях. Высказывается, однако, мысль, что вычислительные машины обречены быть «глупыми». Все, что они в состоянии делать, так это следовать шагам, указанным в программе, подготовленной для них программистом-человеком. Безусловно, программист имеет возможность заложить в программу «точки выбора», когда последующие операции машина должна избирать из двух или более возможных вариантов в зависимости от результатов предыдущих вычислений. Тем не менее общее соображение остается тем же: вычислительная машина слепо выполняет последовательность операций, заранее намеченных программистом. Кажется невозможным, чтобы столь «глупое» устройство когда-либо удалось наделить «интеллектом». Обычно предполагается, что с последним связана способность «создания нового» (а это свойство также весьма трудно сформулировать точно). Предположение же, что программируемое устройство способно привносить что-то новое, иротиворечиво по самой своей сути. Компьютеры всегда рассматривались как бы с 22
двух различных сторон, что отражено в весьма эксцентричном определении «умно-глупые», предло* женном для них Хофштадтером [2]. Когда появились первые цифровые вычислительные машины, в популярной литературе их называли «гигантским мозгом». Достаточно ответственные ученые сочли тогда необходимым выдвинуть более трезвую точку зрения, подчеркивая роль машины как послушного исполнителя воли человека. Однако несколько лет спустя, когда вычислительные машины и методы программирования достигли значительного совершенства, многие из этих ученых изменили свою точку зрения. Нельзя уйти от того факта, что вычислительная машина действительно является послушным исполнителем программы. Но когда ЭВМ и программа становятся достаточно сложными, поведение машины может оказаться практически непредсказуемым (хотя оно и предсказуемо в принципе). Поэтому не лишено смысла рассматривать машину как устройство, потенциально способное к «новаторству». Если нет более простого способа предсказывать поведение машины, чем только наблюдать за ее работой (или другого способа, сравнимого по сложности), то предсказуемость ее поведения в некотором отношении теряет смысл. В действительности работу человеческого мозга можно было бы считать «предсказуемой» (если пренебречь эффектами случайных шумов, см. далее). Возможно, если бы мы знали характеристики каждого нейрона (нервной клетки) мозга, схему их взаимосвязи и степень их возбуждения в какой-то момент времени, то поведение мозга можно было бы предсказывать. Поэтому предсказуемость поведения вычислительных устройств сама по себе не исключает наличия у них «интеллекта» и способности к созданию нового. Слово «предсказуемый» мы использовали здесь несколько вольно: при этом неявно предполагалось, что входные сигналы, поступающие в машину или мозг, могут быть предсказаны (возможно, на основе предшествующих выходных сигналов). Для описания систем, предсказуемых в этом смысле, разработаны формальные приемы. Если машина имеет конечный объем памяти, то ее можно описать как конечный автомат; если же объем памяти неограничен, то это 23
должно быть устройство, эквивалентное машине Тьюринга. Программа для вычислительной машины — почти по определению — является конечным автоматом (см. Приложение 1 к настоящей главе). Конечные автоматы и машины Тьюринга являются детерминированными системами — в них отсутствуют непредсказуемые воздействия типа случайных помех. Согласно некоторым данным, случайные помехи оказывают влияние на работу мозга. Порог возбуждения нейрона, очевидно, подвержен случайным флуктуациям; предполагается также, что нейроны мозга, по-видимому, совершенно случайным образом умирают, не получая никакой замены. (По оценкам Д. Бернса, в мозге взрослого человека ежедневно умирает около ста тысяч нервных клеток.) Искусственные системы также могут испытывать воздействие случайных шумов, так что нельзя считать, что это свойство само по себе отличает мозг от машины. Однако в действительности мозг в этом отношении отличается от большинства программ для ЭВМ, по-* скольку их составляют так, чтобы они были детер* минированными, т. е. не подверженными случайным воздействиям. В старых моделях вычислительных машин детерминированность их работы пытались обходить, используя естественные источники случайных чисел, которыми служили такие непредсказуемые процессы, как шум резистора или радиоактивный распад. При этом действия машины носили детерминированный характер, за исключением тех случаев, когда в программу включалась инструкция специального типа для выработки случайного числа. В современных вычислительных машинах такие источники случайных чисел не применяются. Для вычислительных задач, в которых требуется создание последовательностей чисел, подобных случайным, они обычно генерируются с помощью специальных процедур. Поэтому такие числа называют «псевдослучайными», ибо они формируются из одной и той же циклической последовательности. Процесс генерирования псевдослучайных чисел, по существу, является чрезвычайно компактным способом хранения очень длин* ной (циклической) таблицы случайных чисел. Поскольку этот цикл весьма длинный, последователь-* 24
ность чисел, используемых программой, представляет собой малую долю всего цикла; а так как последовательность можно начинать с различных точек цикла, это позволяет получать огромное разнообразие последовательностей. Иногда делают так, что начальная точка последовательности определяется показаниями часов «действительного времени», указывающих время дня (и, возможно, дату) в тот момент, когда требуется построить первое число в последовательности. Это удобный способ, дающий возможность с каждым запуском программы получать различные последовательности, как это было бы и в случае использования естественного источника случайных чисел. В приложении 2 к настоящей главе мы рассказываем о способах получения псевдослучайных чисел. На самом деле случайные (или псевдослучайные) числа не являются неотъемлемой частью программ, характерных для основного направления исследований по искусственному интеллекту, но они весьма важны в программах (гл. 14), способных создавать свои собственные эвристики. К генератору случайных или псевдослучайных чисел часто прибегают при разработке программ, воплощающих «кибернетический» подход к искусственному интеллекту. Такой подход необходим, например, при реализации как «слияния», так и «деления с мутацией», постулируемых Селфриджем в его пандемониуме (гл. 7); он требуется также для персептронов, особенно в варианте Робертса (гл. 8). Этот подход используется во всех методиках создания машинных «произведений искусства» (гл. 11) и служит надежным инструментом для программистов. Как видим, существуют разнообразные подходы к искусственному интеллекту, и нам следует обсудить взаимосвязь между ними и отношение каждого из этих подходов к кибернетике. Кибернетика и искусственный интеллект Некоторые специалисты, по существу, отождествляют кибернетику с работами в области искусственного интеллекта. Такая точка зрения согласуется с 25
определением кибернетики, которое приводится как подзаголовок к книге Винера [3}, а именно: «Управление и связь в животном и машине». Нет сомнений, что упоминание живого организма существенно, ибо главная цель исследований в области кибернетики — более глубокое понимание процессов, происходящих з живых организмах и сообществах живых организмов. Из всех этих процессов наибольший интерес представляет работа мозга (что, разумеется, не означает отсутствия нерешенных задач, относящихся к системам более низкого уровня). При изучении сущности и, следовательно, истоков кибернетики целесообразно обратиться к другому из пионеров в этой области исследований — Уоррену Маккалоку. Хотя именно Винер предложил название «кибернетика» и определил в своей книге ее формальный статус, многие из активно работавших в то время ученых считали, что Маккалок, пр крайней мере в равной степени, заслуживает титул «отца кибернетики»'. (Во времена формального зарождения кибернетики эти два крупных мыслителя были друзьями, и поэтому довольно сложно определить по отдельности вклад каждого из них. Причины же раскола, происшедшего между ними несколькими годами позже, до сих пор остаются совершенно неясными.) Маккалок [4] связывал развитие кибернетики с собственными попытками ответить на вопрос, который он сформулировал так: «Что же такое число, которое человек способен понять, и что же такое человек, способный понять число?» Рассмотрение этого вопроса, очевидно, приводит к проблеме искусственного интеллекта и поднимает проблемы эпистемологии (теории познания), т. е. отражения окружающего мира в нервной системе или машине. Маккалок считал, что такая эпистемология должна быть «экспериментальной»; он искал решения проблемы, исследуя различные экспериментально наблюдаемые свойства нервной системы вплоть до отдельных нервных клеток. Итак, казалось бы, позиция тех, кто отождествляет кибернетику с проблемой искусственного интеллекта, по существу, верна; однако многие исследователи, работающие в этих двух областях, не считают их тождественными. Безусловно, большинство исследователей, связанных с основным направлением ра- 26
бот в области искусственного интеллекта, будут отрицать чт0 они занимаются кибернетикой. Специалисты 'по кибернетике более широко рассматривают свою дисциплину, и поэтому они склонны считать искусственный интеллект лишь разделом кибернетики. Тот факт, что эти две области исследований не воспринимаются как эквивалентные, с очевидностью подчеркивается и выбором тем для книг, которые публикуются в нашей серии: если бы искусственный интеллект и кибернетика были, в сущности, синонимичными понятиями, то вряд ли было бы целесообразно одну из книг серии целиком посвятить проблеме искусственного интеллекта. Как отмечалось ранее, существует некоторое разнообразие в подходах к проблеме искусственного интеллекта, но, вероятно, правильнее говорить о некой дихотомии, поскольку эти подходы можно разделить на два главных направления. То, что сейчас обычно понимают под исследованием в области искусственного интеллекта (и что мы назвали здесь «основным направлением» в этой области),— это работа, абсолютно, свободная от каких-либо попыток моделирования процессов активности нервной системы. Больший* ство программ, созданных, для вычислительных машин (эта работа ведется исключительно с применением ЭВМ), не предусматривают возможности обучения «на опыте». Про эти программы можно лишь сказать, что если они вообще моделируют мыслительную деятельность человека, то на достаточно высоком уровне. Но это, конечно, не исключает их потенциальной ценности для познания механизма действия мозга: систему, такой сложности, какую представляет собой мозг, необходимо .исследовать самыми различными методами, включая — возможно, в первую очередь — моделирование высоких уровней. В первые годы развития кибернетики — примерно до 1958 г.— подобная дихотомия в подходах к исследованиям не была очевидной. Специалисты по искусственному интеллекту (в смысле современного «основного направления») считают, что начало их деятельности было положено публикациями примерно этого периода (котбрые, естественно, касались работ, осуществленных несколько ранее). Марвин Минский и Джон Маккарти были пионерами, подготовившими 27
почву для будущих исследований, причем Маккарти явился создателем языка программирования ЛИСП (гл. 13). Минский был связан с Массачусетским технологическим институтом (США) и, основываясь на идеях Маккалока, развивал отмеченную дихотомию в подходах к проблеме. Важными исследованиями занимались в то время Ньюэлл, Шоу и Саймон (гл. 3), работавшие над созданием «универсального решателя задач», Сэмюэль (гл. 6), Селфридж (гл. 7) и некоторые другие. Дихотомия подходов к проблеме создания искус* ственного интеллекта отражена и в заголовке учебника Слейгла [7]: «Искусственный интеллект — подход на основе эвристического программирования». Этот автор в действительности занимается тем, что мы определили здесь как «основное направление», на которое (за неимением подходящего термина) он указывает в развернутой форме данным подзаголовком. И этот подзаголовок вполне уместен, поскольку эвристики широко используются в работах, ведущихся в рамках названного подхода. Дихотомия подходов также отмечается и анализируется в предисловии к хорошо известной книге Фейгенбаума и Фельдмана [8], которая в период ее публикации (1963) была признана лучшим сборни-» ком наиболее значительных статей по проблеме искусственного интеллекта. Для обозначения «основного направления», или «эвристического программирования», авторы используют не вполне ясный термин «модели понимания», противопоставляя этот подход другому подходу к созданию искусственного интеллекта, а именно «нейронной кибернетике», или «самоорганизующимся системам». По этому поводу они дают следующий комментарий: Специалисты по нейронной кибернетике подхо* дят к проблеме разработки интеллектуальных машин, постулируя существование большого числа очень простых элементов обработки информации, собранных в случайную или организованную сеть, и наличие некоторых процессов стимулирования или подавления их активности. Создатели моделей понимания отличаются более «макроскопическим» подходом и основываются в своих работах 28
высшей степени сложных механизмах пере* оаботки информации. Они полагают, что создание интеалектуальной машины — задача настолько тоудная, что ее невозможно решить, не начав все с самого начала, и поэтому включают в свои системы процессы обработки информации той максимальной степени сложности, которую только они способны сами понять и передать вычислительной машине (путем программирования), Затем Фейгенбаум и Фельдман переходят к сравнению результатов, достигнутых в рамках каждого из подходов, и делают вывод, что в области «моделей понимания» успехи несравненно значительнее. Они заявляют фактически, что прогресс (на 1963 г.) в «нейронной кибернетике» едва заметен. Анализируя сети простейших элементов обработки информации, они говорят о многочисленных попытках создания «самоорганизующихся систем», которые должны были бы научиться интеллектуальному поведению в процессе взаимодействия с окружающим миром. Целью этих исследований является моделирование способностей нервной системы к самоорганизации и самообучению, и поэтому обычно компоненты систем конструируются так, чтобы их параметры имели некоторое сходство с известными свойствами нервных клеток. Нет необходимости говорить, что споры между сторонниками двух отмеченных подходов к проблеме искусственного интеллекта продолжаются и поныне. Большая часть настоящей книги посвящена описанию работ, ведущихся в рамках «эвристического программирования», или «моделей понимания»; это объясняется тем, что, как и в 1963 г., в данной области имеется гораздо больше успехов, о которых можно было бы говорить. Однако мы будем настаивать на необходимости иного подхода. Подход с позиций эвристического программирования открыт для критики, поскольку это метод ad hoc (на данный случай), когда в контексте различных задач предлагаются и различные типы решений. Обсуждение этих общих аспектов проблемы мы отложим до заключительных глав, а прежде рассмотрим уже достигнутые результаты. 29
Теперь же следует остановиться — быть может, с некоторым опозданием — на целях, которые преследует работа в области искусственного интеллекта. Цели создания искусственного интеллекта Попытка заставить машины действовать как можно более «разумно» (что бы под этим ни подразумевалось) привлекательна сама по себе, и создается впечатление, что многие исследователи, работающие в этой области, не делали серьезных попыток мотивировать свою деятельность. Как и во многих других областях научных исследований, мотивации деятельности можно разделить на две группы: объяснение и использование. Некоторые работы по искусственному интеллекту были начаты с заявления, что цель этих работ заключается в выяснении процессов, связанных с мышлением человека, путем их моделирования в программах для вычислительной машины. Некоторые энтузиасты даже утверждали, что ни один истинный психолог не приступит к работе без создания такого рода моделей. Исследования Ньюэлла, Шоу и Саймона по созданию универсального решателя задач были направлены на моделирование поведения испытуемых, решающих те или иные задачи. Испытуемые должны были рассказывать возможно более подробно о том, как они ищут решение, и весь ход их рассуждений записывался на магнитофон. В дальнейшем была создана программа GPS *, моделирующая содержание «протоколов», которые вели испытуемые. Разумеется, точность такого моделирования зависит от того, в какой степени процесс решения проблемы поддается анализу и в какой степени его можно описать слова- ми. Однако об этом мы расскажем позже. Даже в том случае, когда создание программы не является откровенной попыткой смоделировать экспериментально наблюдаемое поведение человека, сама поставленная цель — построить «интеллект» — предполагает моделирование действий человека на неко- 1 GPS (General Problem Solver) — универсальный решатель задач. — Прим. перев. 30
тпоом уровне, а следовательно, и возможность более глубокого понимания естественного интеллекта. В некоторых программах искусственного интеллекта используются принципы, явно не соответствующие способам, к которым прибегает человек для достижения подобного результата. Например, все существующие хорошие программы для игры в шахматы, по общему мнению, не копируют методов анализа партии, которым пользуются шахматисты (гл. 5). Но даже в этом случае изучение методов решения проблем, необходимое для создания программы, может косвенным образом углубить наше понимание методов, к которым прибегает человек. Такое изучение в какой-то мере развивает интуицию, касающуюся природы рассматриваемой задачи, и дает возможность выдвигать кое-какие гипотезы относительно методов, которые могли бы использоваться шахматистами- людьми. (Подобные соображения следует высказывать, однако, с большой осторожностью: любое утверждение о масштабах или характере проблемы неизбежно связано с имеющимися в нашем распоряжении методами, однако в ходе естественной эволюции, без сомнения, возникли какие-то «хитрости», которые еще не пришли в голову программистам.) Разделы проблемы искусственного интеллекта В этой главе (и в оглавлении к настоящей книге) мы упоминали различные разделы, которые выделяются в проблеме искусственного интеллекта. Работы в области искусственного интеллекта ведутся в следующих основных направлениях: Доказательство теорем. Оно перекрывается с определенными областями математики и решением проблем в ряде других областей (например, в роботике). Модели игр. Особое внимание уделяется шахматам. Распознавание образов. Эта проблема касается распознавания зрительных или слуховых образов, а также образов других (смешанных) модальностей. Медицинская диагностика и предсказание погоды являются примерами задач распознавания образов, не связанных с какой-то конкретной модальностью. 31
В последнее время большая часть работ в этой обла сти ориентирована на анализ сцен, а не на распознав вание отдельных объектов (например, печатных зна* ков), что важно для роботики. Использование естественного языка. Большое вни- мание уделялось системам вопрос-ответ и системам $1 автоматического перевода. Последняя работа Виногч Щ рада связала естественный язык с роботикой. Роботика. Эта область имеет непосредственную практическую ценность. Экспертные системы. В них воплощаются большие объемы знаний и навыков, присущих эксперту-человеку. Эти системы представляют большую ценности в медицинской диагностике и в некоторых других об« ластях. Инженерия знаний. Эта область не является само* стоятельной, но сам термин отражает определенное отношение к тому, каким образом следует осуществлять взаимодействие различных видов знаний в рас* познавании образов, роботике и в экспертных системах *, - Приложение 1 Конечные автоматы Автомат считается конечным, если он может находиться в любом из некоторого конечного множества состояний. Если, кроме того, имеется конечное множество входных сигналов, а также конечное множество выходных сигналов и автомат является детерминированным, то он может быть задан перечислением для каждого из состояний результирующих эффектов, создаваемых каждым из входных сигналов. Эти эффекты могут носить двоякий характер: во-первых, они приводят к появлению некоторого выходного сигнала и, во-вторых, обычно вызывают изме« нения состояния автомата. Таким образом, автомат г[9] определяется пятью компонентами- Первые три — это списки множеств 1 Здесь автор не совсем прав. Английский термин Knowledge Engineering включает и ту область, в рамках которой ведутся исследования по представлению знаний, манипулированию ими и слежению за пополнением и корректировкой знаний. =^ Прищ ред< 32
состояний, входных й выходных сигналов. Остальные два компонента — это отображения декартова произведения состояний и входов на множество состояний и на множество выходов. Предположим, что на вход автомата поступают одиночные двоичные сигналы (0 или 1) и что на выходе он выдает единичный сигнал каждый раз, когда получает подряд три единичных сигнала, не перемежающихся с нулевыми сигналами. После того как на выходе выдается единица, счетчик входных сигналов возвращается к нулю, и для того чтобы на выходе вновь появился единичный сигнал, на вход должно поступать три единичных сигнала подряд. Для подобного поведения автомат должен иметь четыре состояния, соответствующие 0, 1, 2 или 3 входным единичным сигналам, поступающим подряд. Отображение декартова произведения в некоторое множество можно представить таблицей. Ее элементы соответствуют каждой паре состояние — вход. Отображение, показывающее следующее состояние автомата, который мы описали, имеет следующий вид: 1 Текущее 2 состояние ~ В качестве начального состояния автомата служит ] состояние 1. Отображение, определяющее выход, имеет вид Тонущее -состояние где черточка означает отсутствие выходного сигнала* Хотя вычислительная программа, по существу, представляет собой конечный автомат, обычно ее Вход 0 1 1 1 1 1 2 3 4 1 1 2 3 4 Вход ' 0 1 — — — _ 1 2 А. Эндрю зз
редко описывают подобным образом. Число состоя* 1 ний у такого автомата, как правило, чрезвычайно 1 велико, так как новое состояние возникает всякий 1 раз, когда изменяется один двоичный разряд в одном I из «слов» вычислительной машины, в которых хра- щ нятся данные. (В гл. 2, рассматривая вопрос о коли 1 бинаторном взрыве, мы кратко остановимся на пред-» 1 ставлении о больших числах.) 1 При исследовании некоторых вопросов, касающих- 1 ся того, что можно и что нельзя вычислить, оказалось I полезным рассмотреть специальный тип вычислитель- I ной машины, называемой машиной Тьюринга. На ] практике вычислительные машины не строятся по *| принципу машины Тьюринга, однако, ро-види*мому, все, что можно вычислить на машине Тьюринга, мож-. , но вычислить и на любой другой вычислительной машине с достаточными размерами памяти, и наоборот. Поскольку представление о машине Тьюринга не- \ разрывно связано с теоретическим анализом, удобно j отождествлять «вычислимость» вообще с «вычисли- I мостью» на машине Тьюринга. ] Машина Тьюринга содержит конечный автомат, : но число состояний, которое он должен иметь, существенно уменьшается вследствие того, что информация хранится вне автомата. Предполагается, что этот автомат соединен с читающей и пишущей головкой, которая может записывать символы на ленте и считывать их- Символы, считываемые с ленты, становятся входными сигналами для конечного . автомата. Каждый выходной сигнал автомата представляет собой комбинацию из символа, который предстоит поместить на ленту в текущем положении читающе-пи- шущей головки, и инструкции о продвижении ленты вперед или назад на определенное число позиций. Обеспечиваемое лентой хранение информации вне автомата позволяет значительно упростить конструкцию автомата по сравнению с той, которая потребовалась бы для выполнения тех же самых операций в отсутствие ленты. Это также означает, что машина Тьюринга не ограничена никаким фиксированным объемом памяти, поскольку предполагается, что лента, бесконечна. Отделение данных (хранимых на ленте) от программы и средств ее выполнения (предоставляемых конечным автоматом) хорошо соответст-* 34
вует обычному представлению о процессе вычисления. На практике же вычислительные машины не располагают неограниченной памятью, но память современных вычислительных машин очень велика. Поскольку машина Тьюринга— это теоретическая конструкция, помогающая выяснить, что вычислимо в принципе, целесообразно считать, что она располагает бесконечной памятью. Чтобы понять, как работает машина Тьюринга, предположим, что на ленте в каждой позиции может находиться один двоичный разряд (например, О или 1). Предположим далее, что число п (положительное целое) представляется на ленте в виде последовательности из п единичных разрядов, ограниченной в начале и в конце нулевыми разрядами. Тогда машину Тьюринга, предназначенную для вычитания единицы, можно построить следующим образом. Допустим, что читающе-пишущая головка первоначально находится над самым левым единичным разрядом последовательности (хотя в нашей задаче это может быть любой единичный разряд). Автомат может заставить головку двигаться вправо (удобнее говорить о движении головки, а не ленты), пока она не встретит нулевой разряд. Тогда она должна отступить на один шаг назад и записать нулевой разряд, стерев тем самым один из единичных разрядов. Автомат должен иметь два состояния. Состояние 1 —это то состояние, с которого автомат начинает и в котором он остается, когда головка перемещается вправо и встречается со следующим единичным разрядом. Состояние 2 возникает тогда, когда, перемещаясь вправо, головка попадает в позицию, соответствующую нулевому разряду. После того как сделан шаг назад и записан нулевой разряд там, где раньше был записан единичный, новое состояние не указывается, а вместо него появляется команда О, означающая «остановка». Переходы состояний конечного автомата определяются отображением , Вход О 1 Текущее 1 состоите 2 1 О 2* 35
-■' Выходами автомата являются комбинации из двух символов. Первый из них — это символ, который должен быть записан на ленте (он соответствует тому символу, который уже записан на ленте в случае первой строки таблицы), а второй указывает на движение головки влево или вправо. Нижний левый элемент никогда не достигается, а у нижнего правого элемента нет указания относительно движения, поскольку автомат останавливается; Вход О 1 Текущее 1 состояние * ол ш — о Разумеется, это очень простой пример вычисления, выполняемого машиной Тьюринга- Теоретическое исследование вопроса вычислимости, ставшее возможным благодаря представлению о машине Тьюринга в случае вычислительного процесса (или в других аналогичных случаях), очень важно для проблемы искусственного интеллекта, так как оно показывает, что некоторые проблемы, анализируемые в области искусственного интеллекта с помощью эвристических методов (см. следующую главу), не имеют алгоритмического решения. В любом случае интуитивно большинство людей и не ожидают алгоритмического решения, тем не менее весьма ценно, когда этот вопрос решен окончательно. Представление программ как конечных автоматов яли как машин Тьюринга, конечно, является абсолютно формальным. В нем не упоминаются такие вещи, как «цель», «обучение» или «стратегия». Далее в этой книге мы будем в основном обсуждать программы в неформальных представлениях, связанных с целенаправленностью работы системы. Однако при этом важ-> но помнить, что возможно совершенно иное представление системы и что исход любой попытки понять, как работает естественный интеллект, зависит от способов представления связанных с ним процессов; причем каждый исследователь выбирает тот способ, который кажется ему наиболее подходящим^ но ни один Из них нельзя считать универсальным, S6
Приложение 2 Генераторы псевдослучайных чисел Генератор псевдослучайных чисел (г. п. с. ч.у предназначен для создания последовательности чисел, имеющей вид случайной и действительно обладаю* * щей некоторыми характеристиками случайного про-: цесса. Во всех основных методах генерации слу« чайных чисел сначала формируется последовательность из целых чисел, которые затем можно легко нормализовать так, чтобы на выходе получалась по* следовательность дробных величин, скажем в интер* вале от нуля до единицы. При работе г. п. с. ч. каждое целое число вычисляется исходя из предшествующего ему числа (в некоторых схемах исходя из двух или более чисел, непосредственно ему предшествующих) . Пожалуй, наиболее известен метод генерации случайных чисел, первоначально предложенный фон Нейманом. Предположим, что каждое целое число в последовательности содержит до 4 г разрядов, где г — целое число. Обычно это двоичные разряды, однако основание исчисления здесь несущественно. В на- званном методе каждое целое число получается из предшествующего отбрасыванием г последних наименее значащих цифр, а также г наиболее значащих разрядов и возведением в квадрат 2г-разрядного оставшегося числа, что дает новое 4 r-разрядное результирующее число. Такой метод возведения середины числа в квадрат сегодня не используется, поскольку длина цикла генерируемой последовательности зависит от ее начального числа и может оказаться весьма короткой, И действительно, существуют числа, которые при та< кой процедуре возведения середины числа в квадрат повторяют самих себя. Например, в случае 4-разрядного десятичного числа 2500 при отбрасывании левой и правой цифр получаем 50, что при возведении в квадрат снова дает 2500. Однако при других начальных значениях могут получаться достаточно длинные последовательности и сам метод дает некоторое представление о том, как следует «выдергивать» 37
Числа из последовательности, чтобы добиться вп„в мои непредсказуемости. вВДи- Наиболее распространены г. п. с. ч., в которых Ис ;исл7пРГдст7вГеИтПЛс^аЗивные процедуры. &.*£. число представляет собой предыдущее число, умНо женное на некоторую константу. Это должно бЫЛп бы привести к последовательности все возрастающих чисел, если бы умножение не производилось с ис* пользованием операции ВЗЯТия модуля. Иными словами, новое число является не полным результатом умножения, а лишь остаткам, который образуется после деления полного результата на некое фиксированное число, называемое модулем. Если щ,и2, ...-после! яователыше числа в цепочке, то данный метод можно записать следующим образом: "я+i = kun (mod M), где k — множитель, а М — модуль .л»ш!Т°Му' Наиболее широко применяется та- кои мультипликативный г. п. с. ч., в котором [10] k = 455 470 314 = 13м (mod M)> M = 23i _ h 0<ип<М. При этом в генерируемом цикле возникают все числа, удовлетворяющие указанному ограничению на Цп, так что любое число в этом интервале может слу* жить начальной точкой n™Uo „„„„%. „ у пявня 931_ 9 т а » Длина Цикла, следовательно, дов чисел. ' Несколько больше двух миллиар- Если генерируемые числа хранятся в двоичной fJTn'J0 B указ?нн«м методе" их длина должна быть равна по крайней мере 31 разряду. Это не всегда удобно в вычислительных машинах с такой короткой длиной слова, как 24 разряда. Тогда 31 раз- рядное число можно записать в виде двух машинных пТпТЯ0ДНаК° "Решительнее метод, позволяющие It? 2 ° 0ДШМ СЛОВОМ- В распространенном варианте описанного мультипликативного метода [1111 М представляет собой степень двух, скажем 2\ а Л-любая нечетная степень пяти, такая, что k <М. Начальное число должно быть нечетным, и генери: руются только нечетные числа. Длина цикла равна 2" 2. Число нечетных чисел> меНьших М, равно 2"-\ 38
„чем они распадаются на два отдельных цикла, "^ЛнПри 2Длине машинного слова 24 разряда 061I h оавно 23 или 24, что дает длину цикла в значение ЯР Поясним этот метод, .положив несколько ™ ад = 16 и /г=5 (единственная степень с ^птсГояа единственная нечетная степень 5, мень- чем 16) Если начальное значение равно 3, то последовательность имеет вид 3 15 И 7 3..., „ничем предполагаемая длина цикла равна 2й"2 = 4. Р Иногда г п. с. ч. работает в соответствии с так иячываемыми т-последовательностями. Последние моГут создаваться. регистром сдвига с обратными * ' — < рИг 1 Пятиразрядный двоичный регистр сдвига с обратными связями от разрядов 3 и 5. Блок со знаком «плюс» представляет свиои v к собо„ сложение п0 модулю 2. связями [12] (но для удобства вычислений в цифровой вычислительной машине они представляются несколько иначе). На рис. 1 показан регистр сдвига с обратной связью. В каждой ячейке регистра содержится двоичный разряд и в ответ на сдвиговый импульс,- поступающий на все разряды, они перемещаются со своего места вправо. Входной сигнал поступает на самую левую ячейку, а его значение в случае регистра сдвига с обратной связью вычисляется исходя из информации, содержащейся в ячейках перед сдвигом. На рис 1 на вход поступает сумма по модулю 2 содержимого третьей и пятой ячеек. При соответствующем выборе обратных связей регистр, прежде чем вернуться к начальной точке, проходит по циклу из 2я—1 чисел, где п — число ячеек. Совершая такой максимальный' цикл, регистр проходит по всем возможным числам, за исключением числа из всех нулей, 39
которое является для этого устройства «ловущ* кой». При обратных связях, показанных на рис. 1, i i i ! л отправляясь от состояния, характеризуе- 'oiii J мого одними единицами, цикл принимает о о 1 1,1 такой вид, как показано слева. 0 ° о 1 1 Все описанные методы порождают i ? о о о числа> равномерно распределенные в не- oiioo котором фиксированном интервале; они loiio представляют собой выборки, соответ- lioii ствующие прямоугольному, или равно- 1 * ! ° 1 мерному, распределению. Часто требует- j[ £ { { J ся получить выборку из распределения oioii какого-то другого типа, например гаус- loioi сова, или нормального (колоколообраз- oioio ная «кривая ошибок»), либо из отрица- о о о ? о тельного экспоненциального распределен ooooi ния- Числа, являющиеся выборками из loooo таких распределений, с помощью ряда о 1 ооо приемов могут быть выведены из выбо- о о 1 о о р0К для прямоугольного распределения. 0 ? о о ? ^ак> если х ~~ ВЬ1борка для равномер- loioo ного распределения в интервале 0—1, то Х.1 ° 1 о —log л: есть выборка для отрицательного 01,01 экспоненциального распределения. Если ? о о 1 ? выборки для равномерного распределе- 1 ! о о 1 ния формируются в пачки, причем число [ifi 1 о о выборок в каждой пачке достаточно Belli i 1 ° лико, скажем равно 12, то числа, со- 11111 здаваемые при суммировании каждой пачки, оказываются выборками из распределения, которое приближенно можно считать Гауссовым,
г 2 I ЭВРИСТИКИ w В литературе по искусственному интеллекту часто встречается слово эвристика. Поясним его смысл. Краткий оксфордский словарь английского языка толкует это слово следующим образом: «Эвристика — искусство нахождения истины. В частности, применяется для характеристики системы образования, при которой ученика обучают самостоятельно находить объяснение явлений». Когда-то эвристиками пренебрежительно называли медиков, которые приобрели свои знания на опыте, а не в процессе обучения в специальном медицинском учебном заведении. Слово «эвристика» (heuristic) имеет те же истоки в древнегреческом языке, как и «эврика» (Eureka). Существуют разногласия относительно верного произношения последнего, и возможно, что известное восклицание Архимеда «Эврика!» («Я нашел!») следует на самом деле писать не «Eureka!», а «Ней* reka!». В литературе по искусственному интеллекту понятию эвристика . придается более конкретный смысл — оно противопоставляется понятию алгоритм, который мы и рассмотрим в первую очередь. Алгоритмы Алгоритм — это набор инструкций или четко сформулированных операций, составляющих определенную процедуру. Обычное умножение или деление представляют собой алгоритмы; при условии, что входные данные, для которых предназначены эти алгоритмы, находятся в требуемой форме (десятичные числа — для привычных вариантов таких алгоритмов), они всегда приводят к нужному результату. Алгоритмы используются не только в арифметике. 41
Алгебраические преобразования также определяются четко очерченными наборами правил. Например, решение какой-то системы уравнений с числовыми коэффициентами можно производить алгоритмически, как и дифференцирование алгебраического выражения по некоторой переменной (допустим, х)у которая в нем встречается. Алгоритмы всегда могут быть реализованы в виде программ для вычислительной машины, если только при этом не возникает каких-либо трудностей количественного характера, скажем таких, как недостаточный объем памяти машины. На первых этапах изучения математики человек в значительной степени связан с алгоритмическими операциями. Однако с самого начала предполагается, что он усваивает определенные, существенно неалгоритмические знания, поскольку умение выполнять алгоритмические процедуры само по себе не представляет ценности: важно умение применять их к конкретным задачам. Однако то, что мы могли бы назвать «ядром начального математического образования», носит существенно алгоритмический характер. При более глубоком изучении математики все чаще возникают задачи, для которых не существует алгоритмов. В частности, оказывается необходимым доказывать некоторые утверждения, или теоремы, где, безусловно, не имеется очевидного алгоритмического способа произвести доказательство исходя из того утверждения, которое требуется доказать. На самом деле, как мы далее покажем, обычно существует метод, в принципе позволяющий найти доказательство, если только можно предположить, что его длина ограничена сверху. Этот алгоритмический метод неприемлем на практике ни для человека, ни для машины и, безусловно, не соответствует тем методам, которыми пользуется человек при решении такого рода задач. Далее, решающему задачу необходимо каким-то образом подсказать путь, ведущий к доказательству (если дело идет успешно), пользуясь теми признаками, которые характеризуют рассматриваемую задачу. Эти признаки и есть то, что мы называем эвристиками, а правила, в которых они используются, называются эвристическими правилами. Некоторые эври- 42
стические правила, используемые математиками, весьма просты: так, если в утверждении, которое требуется доказать, упоминаются, скажем, параллельные линии, то сразу же возникает мысль о том, что при доказательстве могут быть полезны вполне конкретные из ранее доказанных теорем. Другие эвристические правила не столь очевидны. Целью большей части работ по искусственному интеллекту является воплощение в программах для вычислительной машины методов решения задач, опирающихся на эвристики. Значительное внимание при этом уделяется области математического доказательства теорем. Именно к ней хорошо применимы слова «разумный» и даже «интеллектуальный», если соответствующая работа в этой области осуществляется человеком. Поскольку эвристики при использовании их человеком носят характер «намеков» и «рекомендаций», то в отличие от алгоритмических методы, в которых применяются эвристики, не указывают прямых путей к достижению цели. Иногда говорят, что эвристические методы решения проблем — это «методы, которые не всегда работают», и, безусловно, один набор эвристик может оказаться неподходящим для поиска определенного решения, тогда как использование другого набора приведет к цели. Однако это различие между эвристиками и алгоритмами следует рассматривать с определенной осторожностью. Существуют такие проблемные области —- и область доказательств теорем служит тому примером,— где нельзя найти метод, который всегда приводил бы к успеху. В некотором смысле кажущаяся слабость эвристических методов скрыта часто не в них, а в самой проблемной области. Сложность заключается также в том, что любая программа для вычислительной машины, которая с гарантией заканчивает работу, по определению представляет собой алгоритм. Поэтому если говорится, что некая программа основана на эвристическом принципе, то подобное заявление оправдано лишь при-определенном взгляде на эту программу. (Ограничение программами, которые обязательно заканчивают свою работу, на практике не является очень существенным, хотя для теории вычислимости «проб- 43
лема остановки» оказывается важной. На практике работа программы при необходимости прерывается рператором вычислительной машины или автоматически операционной системой после истечения определенного, максимально допустимого времени. Остановка такого рода и есть один из случаев, когда программа оказывается не в состоянии решить задачу.) То, что программы для вычислительных машин можно рассматривать с различных точек зрения, следует из приложения 1 к гл. 1, касающегося конечных автоматов. В общем же случае решения проблем эвристическая программа — это такая про- • грамма, которая иногда срабатывает, а иногда — нет. Она, однако, является алгоритмической в том отношении, что обязана себя вести точно так же, когда та же задача будет поставлена перед ней в другой ситуации, причем одним из возможных исходов при этом может быть неудача в решении задачи. Такая цельность отличает программу от подхода к решению задач человека, у которого периоды удач могут чередоваться с периодами невезения и который, кроме того, обладает способностью обучаться на опыте (а возможно, и наоборот, со временем те-, рять навыки). В некоторые программы искусственного интеллекта была вложена способность обучаться на опыте. При этом программу можно рассматривать как один алгоритм лишь в том случае, если ее реакции определяются всей историей, а не только входными данными, поступающими в процессе настоящего запуска программы. Однако большинство программ, связанных с искусственным интеллектом, не обладают способностью к обучению, и это обстоятельство мы обсудим в заключительных главах нашей книги. Чтобы ближе познакомиться с некоторыми аспектами эвристического программирования, необходимо различать два типа задач, а именно: задачи, хорошо определенные и плохо определенные. Хорошо определенные и плохо определенные задачи Задача называется хорошо определенной, если решающий ее располагает каким-то способом узнать .44
(или имеет хотя бы принципиальную возможность узнать), когда он решил данную задачу. Говоря более формально, хорошо определенной называется такая задача, для которой при ее заданном предполагаемом решении можно применить алгоритмический метод, позволяющий определить, является ли оно на самом деле решением. Доказательство теорем в математике связано с хорошо определенными задачами, поскольку, после того как доказательство найдено, проверка его верности, как правило, не представляет особого труда и носит алгоритмический характер. Примером хорошо определенной задачи, требующей для своего решения использования эвристик, может служить знакомая многим задача интегрирования алгебраического выражения по одной из входящих в него переменных, скажем по х. Процесс интегрирования в общем случае не является алгоритмическим. Однако справедливость любого выражения, которое предлагается в качестве интеграла, можно проверить путем его дифференцирования по той же переменной хч Поскольку формальное дифференцирование — алго- ритмический процесс, отсюда следует, что формальное интегрирование относится к разряду хорошо определенных проблем. Большинство задач в нашей повседневной жизни являются плохо определенными; мы выбираем некоторую последовательность действий, не будучи уверенными (даже в отдаленной перспективе), что они окажутся наиболее эффективными в данных обстоятельствах. Может показаться удивительным, что выбор хода в шахматах, несмотря на четко выраженный количественный характер входных данных, следует рассматривать как плохо определенную задачу (гл. 5). Хорошо определенные задачи обычно таковы, что в принципе существует некий алгоритмический метод их решения. По крайней мере это так, если на сложность решений, которые предстоит рассмотреть, накладывается некоторое ограничение сверху. Тогда оказывается возможным определить пространство решений, которое обязано содержать истинное решение, если таковое существует (в заданных пределах сложности), В случае формального интегрирования 45
можно было бы создать такое пространство решений, которое содержало бы все возможные алгебраические выражения вплоть до некоторой установленной длины. В случае доказательства теорем пространство решений могло бы содержать все структуры, имеющие вид доказательств и состоящие из не более чем некоторого, заранее выбранного числа шагов. Очевидно, что размер пространства решений можно существенно сократить самыми простыми методами: например, в случае формального интегрирования оно значительно уменьшается, если мы будем уделять внимание только тем выражениям, которые содержат то же множество переменных, что и данное выражение, а множество структур, могущих служить доказательством, уменьшается, если потребовать, чтобы все они содержали лишь законные шаги. Если имеется возможность определить пространство решений, а также способ его просмотра, то хорошо определенная задача в принципе может быть решена алгоритмически. Все, что необходимо,— это просмотреть пространство решений, применяя к каждому составляющему его элементу соответствующую алгоритмическую процедуру с целью проверки, не является ли этот элемент в самом деле решением. Такой поиск может продолжаться до тех пор, пока не будет найдено решение. Сложность, конечно, состоит в том, что для нетривиальных задач при любом методе, использующем полный просмотр, решение становится нереальным вследствие слишком большого размера пространства решений. Выражение комбинаторный взрыв относится к такой ситуации, когда размер этого пространства возрастает чрезвычайно быстро с ростом числа элементарных решений, необходимых для выделения каждой из возможностей. Если бы каждое решение было двоичным, то число возможностей равнялось бы 2Л, где п — число решений. Какое-то ощущение скорости роста здесь можно получить, если учесть, что п должно лежать где-то в пределах 20, чтобы число возможностей было равно населению Великобритании, и несколько превышать этот интервал, чтобы число возможностей соответствовало уже населению США или СССР. Число способов пробивки обычной перфокарты (12 строк, 80 кодонок) равно 46
29-60, что превышает число частиц во Вселенной (согласно оценке Эддингтона) в кубе (в случае, если нет никаких ограничений на конфигурацию пробивок отверстий в карте). Число возможных способов представления буквенно-цифровых данных, согласно существующим стандартам, соответствует примерно квадратному корню из числа Эддингтона. Принципы использования эвристик часто объясняют, ссылаясь на задачи поиска, хотя соответствующие методы не реализуются в виде поисковых процедур в обычном их понимании. Обнаружение решения — это осуществление выбора в пространстве решений, хотя такое описание ситуации мало полезно для решающей системы. Теперь у нас есть возможность понять определение, данное Фейгенбаумом и Фельдманом (уточнение в квадратных скобках сделано нами): Эвристика (эвристическое правило, эвристиче* ский метод) представляет собой некоторое произвольное правило, стратегию, хитрость, упрощение или любое другое средство, которое решительным образом ограничивает объем поиска решений в крупных проблемных пространствах [точнее, пространствах решений]. Вследствие комбинаторного взрыва задачи могут быть решены лишь при условии весьма существенного ограничения объема поиска, обычно до такой степени и- таким образом, что он вообще перестает выглядеть как процесс поиска. Примеры эвристик • Таким образом, эвристики представляют собой правила, руководствуясь которыми интеллектуальная система движется к цели. Многие пословицы можно считать эвристиками, своего рода «руководствами» в повседневной жизни: Правду погубишь и сам пропадешь. Бережливость дороже богатства. Разумеется, многие согласятся, что эти пословицы представляют собой правила, которым почти всегда хорошо следовать, хотя они и не всегда «работают». •4?
(сНезлостная ложь» может смягчить конфликтные отношения между людьми. Починка старых вещей и уход за ними могут обходиться настолько дорого* что их проще выбросить на помойку.) Некоторые эвристические правила, которые использовались или по крайней мере предлагались для использования, можно рассматривать как «административные методы». Необходимость в правильном €администрировании» в процессе решения задачи возникает в тех случаях, когда в нашем распоряжении имеется несколько методов решения. Это «адми- нистрирование» должно быть таким, чтобы метод, являющийся (по некоторому эвристическому критерию) наиболее обещающим, использовался в первую очередь; однако при этом допускается использование лишь определенного числа этапов вычислений, после чего проверяется одна из возможных альтернатив. Естественно также, чтобы человек, который осуществляет общее руководство, был в состоянии обнаруживать замкнутые цепочки дедукций, с тем чтобы прерывать их, и т. д. Термин «администрирование» говорит о иерархической структуре системы решения задач, которая в вычислительных системах, пожалуй, лучше ваего обеспечивается специальными аппаратными средствами. (Современные вычислительные ма- шины коллективного пользования обладают «встроенным администрированием» определенного сорта, поскольку программы находятся под контролем операционной системы. Последняя определяет порядок работы программ пользователей, ограничивает при необходимости время их работы, распределяет физические ресурсы вычислительной машины, ведет учет машинного времени, которое должно быть оплачено пользователями.) Минский [1] указал на следующие (по существу, административные) характеристики эвристических программ: • а. Методы, в которых новые проблемы рассматриваются как подцели. б. Методы, в которых новые проблемы рассматриваются как модели. е. Методы характеризации или описания (см. ниже обсуждение основной эвристики обучения). Для эффективного использования этих методов 48
необходимо, чтобы административная часть программы была в состоянии давать оценки сложности под* задач и их возможной полезности, а также исполь- аовать эти оценки для планирования процесса решения задач. Развитие исследований в области искусственного интеллекта не пошло в точности таким путем, какой указал Минский в ©той довольно ранней работе. Большинство программ не имеют предложенного им строго иерархического характера. Весьма вероятно, однако, что в дальнейшем они будут более соответствовать представлениям Минского. Есть немало свидетельств тому, что в мозге имеются подсистемы, управляющие работой других подсистем и подобное устройство, по всей вероятности, будет весьма полезно для любого решателя задач общего назначения. В существующих программах, однако, можно обнаружить ряд эвристических принципов, имеющих ад-» министративные свойства. В универсальном решателе задач Ньюэлла, Шоу и Саймона, о котором мы вскоре будем говорить, используются оценки трудности подпроблем. Это позволяет избежать напрасных усилий при решении какой-то подзадачи, которая выглядит более трудной, чем одна из тех задач, которым она подчинена. Эвристики, выполняющие, по существу, административную функцию, мы рассмотрим в гл. 5 в связи с игровыми программами. Будет показано, что преимущества, достигаемые при использовании процедуры альфа-бета, сильно зависят от порядка выполнения определенных операций. Эвристический метод полезен при установлении порядка, который, будучи не обязательно оптимальным, с большой вероятностью должен оказаться намного лучше, чем случайно выбранный порядок. Как мы увидим в дальнейшем, имеется большой набор эвристик, которые удобнее всего объяснить в связи с игровыми программами. Важный эвристический принцип анализ цели — средства и его использование в универсальном решателе задач будут описаны в следующей главе. Прежде чем закончить этот беглый обзор эвристик, уделим некоторое внимание основной эвристике обучения Минского и Сел- фриджа [2], 49
Основная эвристика обучения на первый взгляд кажется настолько очевидной, что, пожалуй, о ней не стоило бы и говорить. Она формулируется так: «В новой ситуации попытайся использовать методы, подобные тем, которые лучше всего работали в аналогичных уже известных ситуациях». Применение основной эвристики обучения при реальном решении задач связано с выбором подходящего объективного критерия подобия задач (а следовательно, и подобия ситуаций), а также подобия решений. Эта проблема сама по себе далеко не тривиальна. В качестве же модели обучения человека основная эвристика обучения может оказаться несостоятельной, поскольку она предполагает, что человек, сталкиваясь с какой-то новой задачей, просматривает все предшествующие случаи, когда решались подобные задачи. Вполне возможно, что он делает это до тех пор пока речь идет о случаях недавних, но маловероятно, что он вспоминает случаи, происшедшие давно. Польза,'которую он может извлечь из предшествующих задач, зависит от абстракций и обобщений, которые он способен сделать на основании имеющегося у него опыта. Тем не менее результат в целом должен соответствовать основной эвристике обучения, о которой мы говорили, обсуждая неадекватность некоторых простых предложений, касающихся создания обучающихся машин. Мысль о необходимости определенной меры сходства задач для применения основной эвристики обучения обсуждалась также Минским [3] под названием эвристической связи задач. Как будет показано в заключительных главах, эта идея весьма важна и ведет к глубоким выводам относительно природы интеллекта. В следующих четырех главах, где рассматриваются вопросы доказательства теорем и игры, мы остановимся на способах, которые позволяют привести в действие эвристические методы. Идеи, изложенные ранее в общем виде, обретут большую ясность при обсуждении их в практическом контексте,
3 ДОКАЗАТЕЛЬСТВО ТЕОРЕМ Привлекательную область применений принципов искусственного интеллекта представляет собой доказательство математических теорем, ибо такого рода деятельность обычно рассматривается как «интеллектуальная», когда ее осуществляют люди. К тому же доказательство теорем считается, в определенном смысле, естественным направлением, в котором следует вести работы по расширению возможностей вычислительных машин. Первые применения вычислительных машин были преимущественно связаны с выполнением арифметических процедур. Так, в Великобритании работа Бебиджа была главным образом направлена на составление таблиц, необходимых Адмиралтейству, при этом оно осуществлялось принципиально новым методом, более экономичным и безошибочным. Вряд ли стоит напоминать здесь о том, что вычислительные машины способны делать и многое другое, .но тем не менее арифметические задачи составляют значительную часть работы существующих вычислительных машин и служат основным экономическим оправданием их существования. При необходимости вычислительные машины можно запрограммировать для работы с символами и использовать их для решения задач не только арифметики, но и алгебры и формальной логики. Весьма специальные методы программирования, применяемые для таких.целей, обычно называют обработкой списков (гл. 13). Поскольку сфера применения вычислительных машин переместилась от арифметики к оперированию выражениями, содержащими символьные переменные, создание программ доказательства теорем выглядит вполне естественным следующим шагом. Доказатель* 51
ство теорем, по-видимому, можно считать также под-» ходящей областью для изучения методов решения, используемых людьми. Работа Ньюэлла, Саймона и Шоу; приведшая к созданию универсального решателя задач, была с самого начала направлена на моделирование действий, которые совершают люди прт решении задач. Кроме того, существовало мнение, что использование вычислительных машин может произвести переворот в математике, так как позволит обнаружить совершенно новые теоремы. Эта надежда в сколько- нибудь заметной степени не оправдалась, хотя составленные программы и были в состоянии доказывать теоремы и исследовать след-' ствия, вытекающие из известных теорем в ряде областей математики. В течение многих лет разрабатывались методы, предназначенные для доказательства теорем на вычислительных машинах, но еще ни разу не удалось сделать что-нибудь значительное «впервые». В одной из первых работ, связанных с доказательством теорем, было сделано открытие, которое, как предполагалось, является новым и элегантным доказательством равенства углов при основании равнобедренного треугольника. Обычное доказательство (рис. 2) строится так. Проводится отрезок прямой AD, соединяющий вершину А треугольника с серединой стороны ВС, или же строится перпендикуляр AD к стороне ВС (АВ и АС—равные стороны треугольника ABC). Затем доказывается, что треугольник ABD конгруэнтен треугольнику ACDf откуда следует, что углы ABD и ACD равны между собой* В доказательстве, найденном с помощью ЭВМ, не требуется построения дополнительного отрезка AD. Оно опирается на доказательство конгруэнтности двух треугольников ABC и АСВ, которые представляют собой один и тот же треугольник при различ- Рис. 2. Равнобедренный треугольник с вспомогательной линией. 52
ном порядке указания его сторон. Эти треугольники конгруэнтны, поскольку сторона АВ первого равна стороне АС второго (так как треугольник ABC равнобедренный) и аналогично сторона АС первого треугольника равна стороне АВ второго. Кроме того, разумеется, сторона ВС первого треугольника равна стороне СВ второго. Равенство углов при основании следует из конгруэнтности этих двух треугольников, являющихся зеркальным отображением друг друга. Это альтернативное доказательство хорошо известного результата отличается особой элегантностью, так как в этом случае отпадает необходимость в построении дополнительного отрезка AD. Строго говоря, это доказательство было обнаружено не на каком-то этапе работы программы вычислительной машины, а лишь в ходе анализа вручную того, что должна была бы делать составленная программа. Тем не менее оно показывает, что автоматизированная математика и в самом деле способна порождать новые доказательства. В ходе обсуждения этого единичного примера нововведения при машинном доказательстве теорем было высказано много интересных соображений. Дрейфус отметил, что это внешне новое альтернативное доказательство на самом деле не является новым: оно было обнаружено много лет назад, но в значительной степени забыто. Но и независимо от этого замечания чрезмерное выделение конкретного достижения не должно отвлекать наше внимание от того факта, что автоматическое доказательство теорем находит применение в несравненно более развитых разделах математики. Эти применения оказались успешными в том отношении, что программы смогли доказать теоремы, которые по уровню сложности не уступают тем, что доказываются математиками; однако все действительно новые открытия в этой области по-прежнему остаются за людьми. ; В своей работе Ньюэлл, Шоу и Саймон заметили, что многие ситуации решения задач можно описать, используя понятия объектов и операторов. В контексте докааательства теорем объектами могут служить алгебраические выражения или выражения формальной логики, тригонометрии или чего-то иного 63
из того раздела математики, с которым работает программа. (Термин универсальный решатель задач использован потому, что программа была составлена так, чтобы быть применимой в различных областях. Имелись ядро программы GPS и различные части «интерфейса» программы, которые согласовывали это ядро с конкретной областью применения.) Доказательство теоремы можно рассматривать как преобразование одного объекта таким образом, чтобы он совпал с другим. Имеется некое множество операторов, представляющих собой аксиомы и ранее доказанные результаты, на которых должно основываться искомое доказательство. Не все операторы применимы к данному объекту, а лишь несколько из них. Когда оператор применяется к объекту, получается новый объект. Доказательством эквивалентности двух объектов будет служить последовательность применений операторов, с помощью которой один из заданных объектов преобразуется в Другой. Ту же общую идею можно применить к решению задач, с которыми мы сталкиваемся в повседневной действительности. При этом объектами являются «состояния мира», по крайней мере той части его, которая имеет отношение к данной задаче, а операторами — действия, которые может предпринять решающий задачу для того, чтобы изменить одно состояние на другое, Предлагая программу GPS, ее создатели сначала рассматривали применимость соответствующих идей к обыденным ситуациям. Как будет видно из дальнейшего, метод GPS не стал здесь самым мощным методом, как, впрочем, и для доказательства теорем с помощью вычислительной машины, но он часто обсуждается в связи с роботи- кой. Системы, которыми занимаются в этой области, предназначены для решения реальных задач, обычно связанных с изменением положения совокупности реальных физических предметов, исходя из определенной их кофигурации и с учетом определенных ограничений на допускаемые виды перемещений. Основной эвристикой, используемой в этих работах, является анализ цели — средства. 54
Анализ цели — средства Столь претенциозное название получила одна довольно простая идея, которая имеет, однако, достаточно глубокий смысл. Суть ее состоит в том, что действие, которое следует предпринять, выбирается на основе сопоставления существующего на данный момент положения вещей и того, что необходимо получить в результате решения задачи. Ход решения можно представить в виде замкнутого цикла этапов: I. Исследуй имеющуюся ситуацию или — для случая доказательства теорем — состояние решения, достигнутое на данный момент времени. II. Сравни это с тем, что хотелось бы получить, и если отличия нет, то работу можно закончить. III. Запроси, какой оператор (или операторы) мог бы уменьшить существующее различие. IV. Последовательно применяй операторы, обнаруженные на этапе III,. пока не будет найден оператор, который работает. V. Возвратись к этапу I. Чтобы воспользоваться этапом III, необходимо располагать эвристическими правилами, которые связывают имеющиеся в наличии операторы с типами различий, выделяемых на этапе П. Приведенное выше описание этапа IV представляет сббой далекое от реальности упрощенное описание процедуры, которую необходимо выполнить. Сказать, что тот или иной оператор «работает»,— это равносильно утверждению, что он допускает некую последовательность дальнейших операций, которая заканчивается успехом на этапе П. Таким образом, успех (или неудача) оператора не является очевидным до тех пор, пока не будет проделано еще много итераций из указанных пяти этапов. Необходимо, чтобы в процессе решения задач был предусмотрен способ возвращения назад. Если становится ясно, что используемая последовательность операций не ведет к цели, то необходимо вернуться назад к точке, в которой на этапе IV возможно применение нескольких операторов, но не все из них еще испытаны. Процесс возобновляется с этой, точки с использованием еще не опробованного оператора. Однако, чтобы поступать таким образом, необхо- 55
димо располагать критерием, который придавал бы точный смысл фразе «Становится ясно, что ... не ведет к цели». При практическом решении задач возникает другая, пожалуй, более серьезная сложность, состоящая в том, что попытка применить некий оператор на этапе IV обычно приводит к возникновению новых задач, которые предстоит решить, а они в свою очередь порождают новые задачи и т. д. Следовательно, процесс решения задач должен быть рекурсивным. Иначе говоря, он должен быть в состоянии рассматривать «задачи внутри задач» путем повторного самозапуска (для «внутренней» задачи) в ходе своей работы (над «внешней» задачей). В качестве иллюстрации использования анализа цели — средства в обычной жизни Ньюэлл, Шоу и Саймон приводят следующий монолог: Я хочу доставить своего сына в детский сад, ,Что составляет различие между имеющейся ситуацией и тем, что мне нужно? Это расстояние. Что может изменить расстояние? Мой автомобиль. Но он неисправен. Что необходимо, чтобы его наладить? Новый аккумулятор. Где найти новый аккумулятор? В автомастерской. Я хочу, чтобы в автомастерской мне поставили новый аккумулятор, но в мастерской не знают, что он мне нужен. В чем трудность? В связи. Что обеспечивает связь? Телефон... и т. д. Эта последовательность мыслей, возникающая в ходе решения бытовой задачи, является рекурсивной по своему характеру. Проблема доставки ребенка в детский сад поднимает проблему приведения в порядок автомобиля, что в свою очередь порождает проблему контакта с ремонтной мастерской. Здесь достаточно часто возникает необходимость в возвращении процесса назад. Например, ответом на вопрос «Где имеются новые аккумуляторы?» может быть «В автомагазине Смита или в автомагазине Брауна»; тогда может быть принято произвольное решение начать с магазина Смита. Если же обнаружится, что, скажем, телефон магазина Смита неисправен, то придется вернуться к точке, в которой был произведен выбор,— и будет предпринята попытка позвонить в магазин Брауна. Может случиться, что попытка получить акку- 56
мулятор в магазине Брауна также окончится неудачей, тогда возможно возвращение к вопросу «Что может изменить расстояние?», на который возможен более полный набор ответов: «Мой автомобиль, такси, автомобиль соседа, вертолет». Легко представить себе усложнения, которые могут привести к тому, что метод решения не будет точно таким, как показано выше, или в результате которых принятое решение окажется весьма неэффективным. Возможное усложнение, которое в преж-* них работах старались игнорировать (и которое не учитывается в доказательстве теорем),—это неопределенность входной информации. Так, в приведенном нами примере весьма маловероятно, чтобы человек, ход мыслей которого мы проследили, был абсолютно уверен, что севший аккумулятор — единственная причина его затруднений с автомобилем. Тогда у него могут возникнуть такие соображения: если он купит аккумулятор, а это не поможет, то у него уже не останется денег на такси, так что, наверное, надежнее сразу начать с такси. В процессе выбора между имеющимися в наличии операторами могут быть использованы дополнительные связи (например, финансового характера). Кроме усложнений, связанных с неопределенностью входной информации, имеются и другие возможные связи между операторами. Некоторые из них относятся к причинам, ответственным за нерезультативность того или иного оператора. Процесс решения задачи становится более эффективным, если принять во внимание тот факт, что некоторые причины нерезультативное™ оператора могут быть одинаковыми для нескольких операторов. Если один из операторов оказался неудачным по какой-то определенной причине, то возникает возможность сразу же узнать, стоит ли пробовать другие операторы, определенным образом связанные с этим оператором. Так, если в нашем примере не удается попасть в детский сад из-за того, что ни в одной автомастерской не нашлось аккумулятора, то имеет смысл вернуться к вопросу «Что может изменить расстояние?» и продолжить поиск решения посредством операторов «такси, автомобиль соседа, вертолет». С другой стороны, если причиной неудачи при попытке вос- 57
пользоваться собственной автомашиной является то, что единственная дорога, ведущая в детский сад, перекрыта, например, из-за оползня, то подобная причина в равной мере распространяется и на такси, и на автомобиль соседа; тогда единственная оставшаяся возможность состоит в том, чтобы арендовать вертолет. (Едва ли следует говорить, что большинство родителей сделают при этом возврат к цели более высокого порядка, не названной в приведенном монологе, но связанной с обеспечением хорошего воспитания ребенка. При этом родители рассмотрели бы другие возможности достижения этой цели, которые позволили бы обойтись в этот конкретный день без посещения детского сада.) Усложнения такого рода принимались, во внимание при развитии и совершенствовании идеи GPS. Другим примером, который может быть использован для построения подобных умозаключений, может служить двурукий неподвижный робот, предназначенный для взятия предметов. У него имеются два оператора: «взять правой рукой» и «взять левой рукой». Предположим, что вначале была использована правая рука — и робот потерпел неудачу. Если причина неудачи заключается в том, что до предмета невозможно дотянуться, поскольку он слишком далеко расположен или поскольку между ним и правой рукой робота имеется какое-то препятствие, то целесообразно сделать возвращение и попытаться воспользоваться левой рукой. Левая рука робота прикреплена в другом месте, поэтому ей доступна другая область пространства. Если же, однако, причиной неудачи было бы то, что предмет оказался слишком горячим, чтобы его можно было схватить, то неудача с использованием правой руки означает, что неудача ждет робота и при попытке воспользоваться левой рукой. (Предполагается, что для обеих рук допустима одна и та же температура и что они оборудованы сенсорными устройствами, которые не позволяют роботу брать слишком горячие предметы.) Если в системе эта связь между операторами каким-то образом отражена, то после неудачи с правой рукой по указанной причине робот не будет прибегать к напрасной попытке использования левой руки. 58
Универсальный решатель задач Программа GPS применяет эвристику анализа цели — средства к доказательству теорем. Математическая ситуация имеет определенные характеристики, и цепочка операций отличается от той, что была описана, следующим образом. а. Когда на этапе II имеющийся объект сравнивается с требуемым объектом, между ними часто обнаруживается не одно различие. В GPS типы различий располагаются в порядке, призванном отразить среднюю трудность снятия этого различия. Если обнаруживается несколько типов различий, то внимание уделяется тому из них, которое расположено выше по рангу (т. е. относительно которого полагают, что его труднее всего снять). Возможно, что снятие этого различия приведет к новым различиям, более низким по рангу. Там, где сравниваемые объекты имеют «вложенную» структуру (подобно выражениям в алгебре или в формальной логике, которые могут содержать подвыражения, а те в свою очередь также могут содержать подвыражения и т. д.), различия во внешнем выражении получают приоритет над различиями, скрытыми во внутренних выражениях. Ясно, что введение приоритета желательно, поскольку подвыражения могут менять свое место в пределах выражения, когда к нему применяются операторы, в результате чего подвыражения образуют различного рода пары с подвыражениями, содержащимися в целевом объекте. б. Поскольку число типов различий и число операторов относительно мало, то действия, требуемые на этапе III, можно весьма просто реализовать, используя эвристическую таблицу. Согласно опубликованному описанию системы GPS, она представляет собой двумерную таблицу, строки которой соответствуют типам различий, а столбцы — различным операторам. Крестик, стоящий в месте пересечения той или иной строки с каким-то столбцом, говорит о том, что соответствующий оператор может быть эффективно использован при снятии различия соот* ветствующего типа. 59
в. Выполнение инструкции «примени оператор» на этапе IV может оказаться непростым делом. Каждый оператор может преобразовывать выражения данного конкретного вида, представленные в списке операторов, посредством некоторого выражения, включающего переменные А, В и С. Прежде чем оператор может быть применен, объект, предназначенный для преобразования, необходимо привести к виду, отвечающему установленной входной форме. Установление такого соответствия связано с приписыванием подходящего «смысла» переменным А, В и С, но может потребовать преобразования всего объекта путем рекурсивного применения метода GPS в целом. Это еще одно направление, где программа GPS действует рекурсивным образом. Следует отметить, что метод GPS не только является воплощением эвристического метода анализа цели — средства, но и обладает многими другими эвристическими особенностями. Выбор множества типов различий между объектами, ранжирование (упорядочение) их по степени трудности снятия различий, предположение, что в первую очередь требуется обращаться к более «трудным» различиям,— все это эвристики. Все они правдоподобны, и их полезность подтверждается на практике; однако им нельзя дать четких обоснований, которые можно было бы использовать на различных этапах работы алгоритма. Ранжирование различий в соответствии с оценкой трудности их снятия служит в GPS и другой цели. Эта программа действует, устанавливая определенную последовательность целей, несколько из которых имеют вид «исключить различие такого-то типа между такими-то объектами». С целями подобного типа связывается определенное ранжирование по трудности, и работа GPS направляется таким образом, что какая-то цель отбрасывается, если она не легче другой цели, которой она подчинена. Этот принцип планирования намечен Минским при обсуждении «административных характеристик» эвристических программ (гл. 2). Последовательность шагов программы определяется имеющимися оценками трудности, 60
Применение GPS к символической логике Принципы GPS обычно поясняются на примере символической логики, где перед программой может быть поставлена задача доказать что-то, подобное следующему утверждению: R • (— Р => Q) эквивалентно (Q V Р) • R* В этом выражении знак «минус» обозначает отрицание НЕ, точка — И, а V-образный значок означает ИЛИ. Подкова zd означает ИМПЛИЦИРУЕТ, кроме того, «Р ИМПЛИЦИРУЕТ Q» эквивалентно «Q ИЛИ НЕ Р». Число типов различий, которые можно найти между выражениями, равно шести. (Некоторые из приведенных типов допускают подразбиения. Например, AV включает варианты +AV и —AV в зависимости от того, находится дополнительная переменная в выражении, которым предстоит манипулировать, или же в целевом выражении. Такие подразбиения не нужны в приведенном примере.) Типы различий перечислены нами в порядке убывания предполагаемой трудности: AV — в одном выражении появляется переменная, которой нет в другом. AN— некоторая переменная встречается в двух выражениях различное число раз. ДТ —имеется различие в «знаке» выражений: одно из выражений начинается с символа НЕ, относящегося ко всему выражению. АС — имеется отличие в двоичной связке, т. е. в логическом операторе (И, ИЛИ или ИМПЛИЦИРУЕТ), связывающем две переменные или два подвыражения. AG — имеется различие в способах объединения в группы, например PV (QVR) и (PVQ)\/R. АР — имеется различие в положении компонент в двух выражениях, например- PV{QVR\ и (QVR)VP, Существует двенадцать типов операторов, которые используются для изменения выражений. Для некоторых типов операторов g высокими порядковыми 61
номерами требуются два входных объекта, и когда они используются, осуществляется перебор имеющихся объектов (выражений, появившихся в доказательстве ранее) в поисках второго входа для оператора* Для выбранного нами примера потребуется лишь шесть первых операторов, или правил: Rl AvB-BvA; A?B^B*A R2 АЭВ--ВЭ-А /?3 AvA^A; A'A^A i?4 Av(BvQ*(AvB)vC; A-(BrC)^{A^C RS AvB^-(-A*~B) R6 ADB^-AvB Часть эвристической таблицы, связывающей это множество правил с множеством различий, имеет следующий вид: Rl R2 R3 AV AN .X ДТ X АС AG АР X X Работа программы начинается с установления определенной последовательности целей; причем некоторые из них являются подцелями для других целей, так что в любой момент времени существует «вложенная» структура из целей. Для выбранного нами примера доказательство включает следующие этапы: дано: L1 =#•(—P=>Q) Требуется: L0=(QvP)-# Цель 1: „Преобразовать L\ в L0. Установление соответствия порождает различие в положении (ДР). Цель 2: Снять различие ДР между L\ и L0. Первый найденный оператор Р1. Цель 3: Применить оператор R\ к Ы* R4 R5 R6 X X X X X 62
Цель 4: Преобразовать L1 в одну из входных форм, приемлемых для /?1, обозначаемую как C(Rl). Соответствие устанавливается при A = R и B=—PzdQ. Создать новый объект: L2 = (—Р:э Цель 5: Преобразовать L2 в L0. Приведение в соответствие порождает различие в логических связках (АС) в левом подвыражении. Цель 6; Снять различие АС между левой частью L2 и левой частью L0, Первый найденный оператор /?5. Цель 7: Применить R5 к левой части L2. Цель 8: Преобразовать левую часть L2 в С (#5). Приведение в соответствие порождает различие в логических связках (АС) в левом подвыражении. Цель 9: Снять различие АС между левой частью U2 и С (R5). Цель отвергается: различие оказалось не легче, чем различие в случае цели 6. Второй найденный оператор для цели 6 — R6. Цель 10: Применить оператор R6 к левой части L2. Цель И: Преобразовать левую часть L2 в С (#6). Соответствие устанавливается при Л=» = — Р и В = Q. Создать новый объект: L3= (PVQ) -R* Цель 12: Преобразовать L3 в L0. Приведение в соответствие порождает различие в положении переменных (АР) в левом подвыражении. Цель 13: Снять различие АР между левыми частями L3 и L0. Первый найденный оператор /?1. Цель 14: Применить /?1 к левой части L3. Цель 15: Преобразовать левую часть LZ в с (*1Ь 63
Соответствие устанавливается при #=* = р й В = Q. Создать новый объект: L4 ¥z{QVPl-R. Цель 16: Преобразовать L4 в L0. Процесс приведения в соответствие показывает, что L4 идентично L0, так что искомая теорема доказана, В заключение основные этапы доказательства мо* гут быть сведены вместе в достаточно компактную, форму. Следует подчеркнуть, что мы привели весьма простой пример доказательства и что программа GPS может давать гораздо более впечатляющие результаты,
4 ДОКАЗАТЕЛЬСТВО ТЕОРЕМ ДРУГИМ МЕТОДОМ Универсальный решатель задач наиболее интересен как модель для решения задач такого типа, которые обычно возникают перед человеком. Различные варианты этого решателя встречаются среди систем планирования для роботов, где проблемные ситуации ближе к привычным человеку, чем ситуации, характерные для процесса доказательства теорем. Вместе с тем установлено, что когда возникает необходимость именно в доказательстве математических теорем, более эффективным и более подходящим для различных областей математики является другой подход. По мнению автора, подход с позиции GPS более предпочтителен в силу его «естественности», однако многие другие исследователи придерживаются иной точки зрения, используя альтернативный подход, получивший название метода резолюции. Метод резолюции Суть этого метода состоит в том, чтобы исходя из некоторого множества утверждений, называемых предложениями, вывести из этого множества другие предложения. Исходные предложения формулируются тем, кто использует данный метод, таким образом, чтобы они отражали аксиомы математической системы, в рамках которой производится работа, и предположения, на основе которых требуется доказать теорему. В исходные предложения включают также отрицание того утверждения, которое следует доказать. Смысл включения такого отрицания, а не самого утверждения заключается в том, что возникновение в процессе доказательства противоречия означает, что результат доказан. 3 А. Эндрю 65
Обычно предложение представляет собой цепочку элементарных выражений, называемых литералами, где каждый литерал является функцией одного или нескольких аргументов. Предполагается, что литералы в предложении отделены друг от друга логическим оператором ИЛИ, однако при записи его часто опускают. Поясним сказанное на простом примере, заимствованном из книги Слейгла [1]. Автор показывает, как используется метод резолюции для доказательства следующего утверждения: Если палец представляет собой часть кисти, а кисть — часть руки, а рука — часть человека, то требуется доказать, что палец является частью человека. Одна из причин, по которой метод резолюции получил столь широкое распространение, состоит в том, что данный метод допускает использование такого числа различных типов атомарных формул, которое необходимо для представления .интересующей нас задачи. Атомарная формула имеет вид логической функции и представляет собой утверждение, которое является либо истинным, либо ложным. Для доказательства приведенной выше теоремы нам потребуется лишь один тип атомарной формулы, в которой используется символ Р, выражающий отношение «быть частью». Утверждение Р(х, у) истинно, если х есть часть у, и ложно в противном случае. Если мы обозначим буквами п, к, р, ч соответственно палец, кисть, руку и человека, то верно следующее: Р(п, к) Р(к, р) Р(р, ч) Нам требуется доказать Р (п,ч), и мы должны включить в число начальных предложений отрицание, или обратное утверждение, которое записывается в виде —Р(п, ч), где знак «минус» соответствует отрицанию НЕ. Литерал указывает либо на атомарную формулу, либо на отрицание атомарной формулы. Рассматриваемую теорему невозможно доказать без введения аксиомы транзитивности, определяющей отношение Р—«быть частью». Эту аксиому 66
можно записать так: Если Р(х, у) и Р{у, z), то Р(х, z).для любых х, yf z. Для целей автоматического доказательства теорем более целесообразно представить аксиому транзитивности в виде множества литералов, объединенных в предложение посредством (подразумеваемого) оператора ИЛИ. Таким образом, вместо того чтобы формулировать аксиому (как мы это делали выше) посредством утверждения, что если две вещи истинны, то должна быть истинной и третья, можно сказать, что либо третья истинна, либо одна из первых двух 1 ложна. Формально имеем Р(х, z) ИЛИ —Р(х, у) ИЛИ —Р(у, z), а поскольку частое употребление оператора ИЛИ весьма утомительно, его обычно опускают, тогда приведенная выше запись будет выглядеть как Р(х9г) —Р(х,у) —Р(у,г). Теперь мы можем записать множество предложений, которое должно быть отправной точкой для доказательства, следующим образом: 1. Р(х, z) —Р(ъ у) —Р(у, z) 2. Р(п, к) 3. Р(к, р) 4. Р(р, ч) 5. -Р(п, ч). Символы п, к, р, ч — константы, имеющие от предложения к предложению одно и то же значение. С другой стороны, символы х, у и z появляются в предложении, которое истинно, какие бы новые величины в него ни подставлялись. Вместо х, у и z подстановки допускаются, если они делаются целиком во всем предложении. Основной операцией, определяющей данный метод, является резолюция между двумя литералами. Необходимо найти в различных предложениях два литерала, такие, что после допустимых подстановок один из них становится отрицанием другого. Либо обе посылки одновременно ложны. — Прим. ред. 3* 67
Например, в рассматриваемом доказательстве можно получить резолюцию литерала из предложения 2 со вторым литералом из предложения 1. Эти два литерала соответственно Р(п, к) и — Р(х, у). Можно добиться, чтобы один из этих литералов был отрица* иием другого, подставив п вместо х и к вместо у во всем предложении 1. Предложение 1 тогда принимает вид Р(к, z) -Р(п, К) -Р(к, 2), а предложение 2 сохраняется: Р(п, к). Так как предложение 2 утверждает, что Р(п, к) истинно, то второй литерал в модифицированном предложении 1 может быть исключен; тогда получа ем новое предложение: 6. Р(п, z) —Р(к, z). То, что это новое предложение было выведено путем резолюции второго литерала в предложении 1 с единственным литералом предложения 2, может быть указано в конце строки следующим образом: 6. Р(п, z) -Р(к, z) р(1б, 2)К Дальнейшие резолюции в конечном итоге привод дят к предложению, вообще не содержащему литералов, что указывает на противоречие и, следовательно, на успешное доказательство теоремы. Возможное продолжение доказательства могло бы выглядеть, например, так: , Р (3, 66) р(5, 6а) Р(1в, 2) Р(3, 16) Р(4, 106) Р(8, 11). 1 Индексы а, б, в, стоящие рядом с цифрами, указывают, что использовался соответственно первый, второй или третий литерал данного предложения. — Прим. перев. 68' 7. 8.- 9. 10. 11. 12. * Р(п,р) -Р(Р, ч) Р(х, р) -Р(х, п) P{h, z) -Р(р, z) P(V> ч) Противоречие
Предложения с номерами ? и 9 на самом деле не потребовались, и их можно было бы без труда исключить при «причесывании» доказательства. Мы их включили здесь по той причине, что они бы потребовались, если бы последовательность резолюций определялась некой конкретной эвристикой, которую мы опишем позже. Во всех резолюциях, необходимых в нашем простом доказательстве, один из литералов был в 1-предложении (предложение лишь с одним литера- лом; предложение с двумя литералами обозначается как 2-предложение и т. д.). Резолюция возможна также между двумя литералами, ни один изхкоторых не встречается в 1-предложении. Предположим, например, что каждый из литералов появляется в 3-предложении и что эти 3-предложения после подставок, приводящих к появлению литералов, которые оказываются отрицанием друг друга, имеют вид А В С D Е -С, где А, В, D и Е — литералы, С — атомарная формула. Первое из этих предложений показывает, что если С ложно, то либо А, либо В должно быть истинным К Второе предложение показывает, что если С истинно, то либо D, либо Е должно быть истинным. Следовательно, можно исключить С и утверждать, что хотя бы один из оставшихся четырех литералов должен быть истинным. После резолюции возникает следующее предложение: А В D Е. При резолюции литерала в m-предложении с литералом в n-предложенип образуется новое предложение, не более длинное чем (т + п — 2) -предложение. В приведенном выше примере два 3-предложения привели к 4-предложению, но если не все литералы А, В, D и Е различны, то в результате мы получим более короткое предложение, поскольку повторение литералов было бы бессмысленным. Возможно, что возникнет предложение, содержащее некоторый литерал и его отрицание. Такое 1 См. примечание на с. 67. 6»
предложение, очевидно, является истинным, так как представляет собой просто тавтологию. Его следует исключить из доказательства, так как оно будет бесполезным для последующих выводов. Существует еще один способ создания новых предложений, отличный от резолюции,—это метод факторизации. Если имеется такая подстановка, которую можно осуществить в д-предложении (п > 1) и которая делает два или более его литералов идентичными, то все, кроме одного, образованные таким образом литералы можно исключить. При этом возникает предложение, содержащее менее п литералов. В дальнейшем мы приведем пример доказательства с использованием факторизации. Более выразительный пример Доказательство утверждения типа «палец является частью кисти и т. д.» помогает пояснить общую идею метода резолюции, но, безусловно, это слишком простой пример использования такого метода. Чтобы убедить читателя в эффективности и ценности применения метода резолюции, рассмотрим доказательство следующей теоремы абстрактной алгебры: Если ассоциативная система содержит какой-то единичный элемент и квадрат каждого элемента представляет собой единичный элемент, то такая система коммутативна. Данная система включает операцию, которую можно назвать «умножением», эту операцию обозначают точкой. Если е — единичный элемент, то отсюда следует, что е . х = х (левая единица) х • е = х (правая единица) для всех х. Свойство ассоциативности означает, ч (Х'у)-г = х*(у*г) для всех х, у и г. Чтобы выразить эти утверждения в требуемой форме, вводится специальный вид атомарной форму- 70
лы Р(х, у, z), которая становится истинной, если x.y = z, и ложной в противном случае. Тогда существование единичного элемента утверждается с помощью следующих предложений: Р(е, х, х) и Р(х, е, х). Представить свойство ассоциативности в требуемой форме оказывается несколько более трудным делом. Поскольку число переменных в доказательстве может стать достаточно большим (в частности, и по той причине, что часто приходится переименовывать переменные), вместо последовательности букв х, у, z удобно пользоваться переменными с индексами, скажем, хь х2у хг, ... . Тогда свойство ассоциативности может быть выражено следующим образом: (х{ • х2) • лг4 = хх • (х2 • лг4). (1) (То, что здесь мы использовали л:4 вместо обычно принятого Хз, не имеет особого значения, однако это приводит к несколько более изящному окончательному результату, чем в случае, когда индексы идут подряд.) На самом деле в таком представлении свойства ассоциативности содержатся два утверждения. Истинность левой части гарантирует истинность правой, и наоборот. Если Х1-х2 — Хз и х2-Х4 = х$, то левая часть уравнения (1) равна х^-х^ а правая его часть — хгх5. Если же х\-х2 — хг и х2-х^ = Хь (как выше) и хгХь = х&, то соотношение (1) таким образом утверждает, ЧТО ЛГз-#4 = *6- Используя рассмотренный ранее метод, мы можем записать это утверждение в виде предложения —Р (XU Х2, Хз) —Я (*2> *4> *5> — Р (*и *5> *в) Р (*3 , *4, *в\ Соотношение (1) содержит также утверждение (прямое и обратное) о том, что если Х\-х2 — Хг, х2-ха = х5 (как выше) и XfXt = Xe, то х\• хь = хб. Это утверждение, будучи записано в соответствующей форме, принимает вид —Р (хи х2, хг) — Р (х2, хь хь) — Р (х8. *4, хв) Р (хи хъ, х6)ш 71
Другое утверждение доказываемой теоремы, а именно что квадрат каждого элемента представляет собой единичный элемент, можно записать в виде такого предложения: Р(хи хъ ё). Следует доказать, чтб система коммутативна, т.е. что х-у равно у-х для всех х и у. Отрицание этого утверждения формулируется так: имеются величины а и 6, такие, что а-ЬфЬ-а. Утверждение а-b = с можно выразить в виде двух предложений Р(а, Ь, с) -Р{Ь, а, с). Начальные предложения для можно теперь собрать вместе: 1. Р{е, хи х{) 2. Р{хь е, х{) 3. — Р (Xi, Х%> -^3/ —Р №»' ^4» %Ы 4. — Р(хи х2, х3) — Р(х2, хА, хъ) P(X{, X& Xq) 5. Р(х{> х{, е) 6. Р(а, ЬУ с) 7. — Р(Ь, а, с). Следует заметить, что, хотя константы а, о, с, и е имеют один и тот же смысл во всех предложениях, переменные Х\, лс2,... являются локальными для того предложения, в котором они возникают. Переменная Хи используемая в предложении 1, никак не связана с одноименными переменными, входящими в предложения 2—5. Поэтому когда в ходе резолюции предложения объединяются, некоторые из переменных необходимо переименовать, так чтобы они отличались от идентично обозначенных переменных в другом предложении. Теперь произведем доказательство теоремы на основе последовательности резолюций; однако на этой стадии мы не будем вдаваться в объяснения по поводу того, почему на каждом этапе доказательства доказательства —Р (хи *5> *е) —Р{х3> *4> *6/ 72
из бесчисленного числа возможностей выбирается та или иная конкретная резолюция. Первый этап состоит в нахождении резолюции второго литерала предложения 3 с единственным литералом предложения 5. Переменные, использованные в предложении 5, позволяют обойтись без их переименования; таким образом, среди подстановок, делаемых в предложении 3, должны быть такие: х2 ->- х{ х4 -> хх х5 ->■ е. Поскольку «старое» х\ в предложении 3 оставлять нельзя, необходимо сделать подстановку: Х\ ->■ ЛГ2, а обозначения лг3, х$ и лс6 можно оставить без изменения. Новое предложение, которое получается в результате резолюции, имеет вид 8. — Р(х2, Хи хз) —Р(х2, е, х6) Р(хз, хи х6). На следующем этапе производится резолюция первого литерала предложения 4 с предложением 5. При этом переменные предложения 5 снова сохраняют свои наименования, так же как х\ из предложения 4. Другие переменные предложения 4 переименовывают следующим образом: х2->Х\ *3->•<?, а лг4, х$ и Хб сохраняют старые наименования. В ходе резолюции получаем новое предложение: 9. — Я(лгьл:4,л:5) — Р(е,х4,х6) —Р(хьХь,х6). При резолюции первого литерала предложения 3 с единственным литералом предложения 6 необходимо, чтобы переменные предложения 3 были заменены на константы следующим образом: х{ -»- a x2->b x3-> с, при этом переменные с более высокими индексами сохраняют свои наименования. В результате имеем 10. —Р{Ь, хА, хъ) —Р(а, лг5, *б) Я (с, хь *6). Для резолюции единственного литерала предложения 1 со вторым литералом предложения 9 требу- 73
ется переименовать переменные в предложении 9 следующим образом: ХА ->■ Х{ Х6 ->• Xi Х\ -»- Х29 причем хъ сохраняется. В результате получаем 11. — Р(х2, хь хъ) Р{х2у х5, х{). Для резолюции единственного литерала предложения 2 со вторым литералом предложения 8 необходимо переименовать переменные в предложении 8 следующим образом: Х2 *"*" Х\ Xq —>• Х\ Х\ —► Х2, причем Хз сохраняет старое наименование. В результате имеем 12. —Р(хи хъ хг) Р(х3, х2, х\). На следующем этапе возникает ситуация, с которой мы раньше не встречались, поскольку теперь подстановки делаются в обоих предложениях с тем, чтобы литералы стали отрицанием друг друга. Единственный литерал предложения 5 разрешается с первым литералом предложения 10. Для этого в предложении 5 нужно сделать подстановку хх-+Ъ9 а в предложении 10 следующие подстановки: х±~*Ь хъ-*е, в то время как xq сохраняет свое наименование. В результате имеем 13. —Р(а,е,Хе) Р(с,Ь,Хе). Теперь единственный литерал предложения 2 разрешается с первым литералом предложения 13 при подстановке в предложении 2 х{->а и подстановке в предложении 13 х6->-а, что дает 14. Р{с, Ь, а). 74
Резолюция этого предложения с первым литералом предложения 1 приводит к 15. Р(с9а, Ь)у а резолюция этого предложения с первым литералом предложения 12 дает 16. Р(&, а, с). Резолюция этого предложения с предложением 7 порождает предложение нулевой длины, что указывает на 17. Противоречие и, следовательно, на то, что интересующая нас теорема доказана. Этот пример взят из доказательства, проведенного на вычислительной машине и описанного в работе Лакхэма, одного из пионеров данного метода. Это доказательство (при рассмотрении его этап за этапом) выглядит довольно сложным, хотя определение начального множества предложений (1—7) оказалось делом довольно простым. Главная же трудность в осуществлении доказательства на машине была связана с представлением свойства ассоциативности. Дизъюнктивная форма Преобразование утверждения теоремы в эквивалентное множество дизъюнктивных предложений (т. е. предложений, составляющие литералы которых связаны логическим оператором ИЛИ) не всегда оказывается простой задачей. Если речь идет об автоматическом методе доказательства теорем, то необходимо уделить внимание и этой стороне вопроса. Поэтому для преобразования утверждения теоремы, сформулированного на языке исчисления предикатов, в эквивалентное утверждение, выраженное в форме предложений, был разработан алгоритмический метод. В приведенных нами примерах не затрагивался вопрос, который обычно возникает, когда требующая доказательства теорема содержит утверждения, включающие слова «для всех» или какие-либо другие 75
слова, указывающие на определенную общность утверждения. В качестве иллюстрации сказанного рассмотрим алгебраическую теорему, также заимствованную из книги Слейгла [1]: В любой ассоциативной системе, которая имеет левые и правые решения s и t для всех уравнений s-x = y и x-t = y, существует правый единичный элемент. На первый взгляд может показаться, что существование левого решения s должно было бы следовать из предложения P{s, х, у), где Р имеет тот же смысл, что и в последнем из рассмотренных ранее примеров. Чтобы это предложение имело точный смысл, необходимо знать, рассматривается ли s как константа (подобно п, к, р, ч в примере «палец — часть кисти») или как переменная, допускающая любую подстановку. Легко заметить, что ни одна из этих возможностей не является удовлетворительной. С одной стороны, никакое значение константы, приписанное s, не было бы пригодно для всех величин х и у. А с другой стороны, было бы также неправильно допустить, чтобы s было переменной, подобной х и у, ибо это означало бы, что любая величина, приписанная s, была бы решением. Эта трудность преодолевается таким образом: указывается, что подходящим значением для s является некая функция переменных х и у. Тогда предло* жение записывается в виде P(g{x, У), *> У)> где функция g остается неопределенной. Функции, используемые таким образом, называют сколемов- скими функциями. Аналогично для правого решения имеем Р{х, h(x, у), у). Свойство ассоциативности можно выразить в той же форме, как и прежде» (В настоящем примере 76
достаточно включить одно из предложений, выражающих свойство ассоциативности.) Требуется доказать, что существует правый единичный элемент; это утверждение выражают таким предложением: Р(х, е, х). Однако нам нужно не это утверждение, а утверждение, обратное ему, т. е. гласящее, что не существует правого единичного элемента. Простое отрицание вида — Р(х, е, х) нас не устраивает, ибо оно означает только, что существует некий элемент, такой, что его использование в качестве правого множителя никогда не даст того же самого результата, как умножение на правый единичный элемент. Чтобы ввести требуемое отрицание утверждения, необходимо рассмотреть правое умножение на переменную х, в качестве которой может быть подставлена любая величина. Говоря, что х не является правым единичным элементом, мы тем самым утверждаем, что для любого х может быть найдена величина kf такая, что k • х ф k. Поскольку для каждой величины х необходимо найти лишь одно значение £, уместно воспользоваться сколемовской функцией: к{х)*хфк (х) или — P{k(x), х, k(x)). Теперь доказательство оказывается весьма коротким (предложение 3 есть часть представления свойства ассоциативности); , !• P(g(x> У)> *у У) 2. P(Xf h(xf у), у) 3* —Р (и, v, w) — Р (и, х, у) —Р {и, у, z) Р {w9 х, z) 4. —P(k(x)t x, k{x)). 77
Первый этап состоит в факторизации предложения 3, которая осуществляется путем таких подстановок, в результате которых первый и третий литералы становятся идентичными. Это достигается подстановкой y->v z->w. После нее получаем —Р(и, v, w) —P(v> х, v) —Р(и, v, w) P(w, x, w). Отсюда можно исключить лишний литерал, что дает 5. —P{ut v, w) —P{v, xy v) P(w, x, ш). Затем резолюции производятся следующим образом: 6. —Р(х, г, х) Р(у, z, у) р(1,5а) (переменную х в предложении 4 заменяем на г, чтобы отличить ее от х в предложении 1) 7. — Р{х, zt х) - р(4,6б) 8. Противоречие. (2,7) Как видим, сколемовские функции в ходе последующих резолюций исчезают (что весьма удобно), но вместе с тем они играют полезную роль, позволяя контролировать, какие резолюции являются возможными. Эвристики В тех доказательствах, которые мы здесь рассмотрели, на большинстве этапов можно было произвести несколько резолюций. Шаги, которые в конечном счете оказываются бесполезными, можно отбросить в процессе ретроспективного «наведения порядка», подобно тому как мы отбросили предложения 7 и 9 в примере с доказательством теоремы «палец есть часть кисти». Такое «причесывание» в ходе доказательства создает ощущение, что для выбора следующего шага имеются более разумные основания, чем это было на самом деле. Однако очень важно, чтобы в ходе доказательства не создавалось много «тупиков», ибо в противном случае время поиска доказательства может оказаться неприемлемо боль- 78
шим. При этом можно также столкнуться с комбинаторным взрывом. Поэтому в действительности нам нужно иметь множество эвристических правил, которые при каждом шаге доказательства указывали бы, какую из возможных резолюций (или факторизации) следует осуществить. Объем вычислений в процессе поиска доказательства существенно зависит от используемых эвристик. При реализации метода резолюции проблема нахождения эффективных эвристик является центральной. Одна из полезных эвристик — стратегия предпочтения одночленам. Под одночленом понимается 1-предложение. При такой стратегии в каждой последующей резолюции используется 1-предложение, и так продолжается до тех пор, пока возможны резолюции подобного рода. (Разумеется, все последующие резолюции и факторизации должны быть такими, какие ранее не встречались.) В тех случаях, когда возможно использование более одной резолюции с 1-предложением, предпочтение отдается резолюциям, дающим более короткие новые предложения. Так, резолюция между 1-предложением и 2-предложением (создающая новое 1- предложение) получает приоритет перед резолюцией между 1-предложением и 3-предложением. Аналогично если невозможна резолюция с 1-предложением, то предпочтение отдается резолюциям, порождающим более короткие новые предложения. Таким образом, резолюция 2-предложения с другим 2-предложением (которая обычно порождает другое 2-предложение) имеет преимущество перед резолюцией 2-предложения с 3-предложением. Однако приоритет, даваемый одночленам, означает, что резолюция 1-предложения даже с 5-предложением получает приоритет по сравнению с любым из предыдущих случаев. Доказательство, которое мы производили в задаче «палец — часть кисти», в точности следует стратегии предпочтения одночленам. Вначале единственной возможной резолюцией является резолюция между 1-предложением и 3-предложением, которое имеет номер 1. (Любые резолюции между отрицательным 1-предложением и любым из других 1-предложений исключены, поскольку они содержат константы.) 79
Первая из выполненных резолюций — это резолюция между первым 1-предложением в последовательности и первым подходящим литералом в предложении 1. Возможны и другие резолюции с первым предложением, но как только появляется 2-предложение под номером 6, приоритет получают резолюции с этим предложением. Первым из 1-предложений, для которого возможна резолюция с предложением 6, является третье предложение. По достижении девятого шага возможности использования предложения 6 оказываются исчерпанными, так что на следующих двух этапах вновь используется предложение под номером 1. Стратегия предпочтения одночленам воплощает принцип предпочтения коротким предложениям. Подобная стратегия оправдывается тем, что желаемым выходом является получение противоречия, соответствующего самому короткому предложению, а именно предложению нулевой длины. Другой полезной эвристикой считается стратегия опорного множества. При ее использовании некоторые из начальных предложений берутся за аксиомы, а остальные предложения составляют опорное множество. При этом соблюдается правило, что между аксиомами резолюции не допускаются. В примере «палец — часть кисти» первые четыре предложения могут быть выделены как аксиомы — и тогда первой резолюцией должна быть резолюция предложения 5 с первым литералом предложения 1, что дает 6'. -Р&у) -Р(у.т). Комбинация стратегии предпочтения одночленам и стратегии опорного множества приводит для этого примера к доказательству, которое на один шаг короче того доказательства, которое мы получаем при использовании одной лишь стратегии предпочтения одночленам. Типы атомарных формул В каждом из рассмотренных нами примеров использовались атомарные формулы лишь одного типа. В первом примере Р(х, у) истинно, если х— часть у. В других примерах Р{х, у, г) истинно, если x*y=*z. 80
Однако совсем необязательно ограничиваться атомарными формулами только одного типа. В приложении к теории чисел, например, полезно в ходе доказательства иметь атомарную формулу Р(х), такую, что она истинна, если х — простое число, а также формулу D(x,y), которая истинна, если х делится на у без остатка. Приведем простой пример (Слейгл давал его студентам в качестве упражнения) доказательства следующего предложения: Если каждый человек, обманывающий других, является мошенником и если каждый, кто потворствует мошеннику, также считается мошенником, и существует робкий человек, потворствующий обманщику, то некий мошенник является робким человеком. Для обозначения соответственно мошенничества, обмана и робости используем атомарные формулы М{#), О(х) и Р(х), а П(я, у) представляет собой еще одну формулу, которая истинна, если х поощряет у. Тогда тот факт, что каждый обманщик является мошенником, выражается следующим предложением 1. —O(jc) Щх). То, что каждый, кто потворствует мошеннику, является мошенником, записывается предложением 2.-Щх.у) -Щу.) Щх). Существование робкого человека, потворствующего обманщику, представляется в виде следующих предложений: 3. Р(а) 4. 0(6) 5. Ща,Ь). Отрицание заключения «некий мошенник являет* ся робким человеком» дается предложением 6. —Щх) — Р(х), поскольку оно означает, что любой человек либо не является мошенником, либо не является робким человеком. 81
Стратегия предпочтения одночленам рекомендует рассмотреть резолюцию предложения 3 со вторым литералом в предложении 6, что приводит к 7. М (х) а затем 8. М (Ь) 9.-Р (Ь) 10.-М (Ь) М (а) 11.-М (6) 12. Противоречие Р(3, 66) Р(1а, 4) р(6а, 8) р(2а, 5) р(7, 106) Р(8, И) Автоматическая математика До сих пор при составлении соответствующих программ основное внимание уделялось автоматизации доказательства теорем в предположении, что формулировка доказываемой теоремы осуществляется за счет какого-то внешнего источника. Более привлекательным, однако, было бы ее порождение на основе некоторого множества аксиом и ранее доказанных результатов. Можно сделать, чтобы такая программа работала с использованием той или иной модификации метода резолюции. Одна из трудностей, возникающих при поиске следствий из уже доказанных теорем, состоит в том, что программа должна оценивать некоторое утверждение как интересную новую теорему или «понимать», что это утверждение имеет достаточную потенциальную значимость, чтобы хранить его в рабочем пространстве. Была проделана определенная работа по поиску эвристик отбора интересных результатов. Обычно такие результаты отличаются тем, что могут быть выражены достаточно кратко, но их нельзя за небольшое число шагов вывести из других интересных результатов. Интересные работы по автоматической математике были проведены известным советским ученым В. М. Глушковым и его сотрудниками в Институте кибернетики в г. Киеве. Согласно их предположению, вычислительная машина должна быть хранилищем математических теорем, дополненным специальным 82
математическим журналом. Любой результат может быть подвергнут проверке с точки зрения как верности, так и новизны. Это и есть пример сотрудничества человека и машинного интеллекта. Такое сотрудничество, по-видимому, будет играть важную роль в грядущих применениях искусственного интеллекта (гл. 15). Нестандартные методы доказательства Не всегда математическая теория развивается столь упорядоченным образом, как это выглядит в обсуждениях, подобных нашему. Иногда доказательство может строиться не только на результатах, полученных ранее в той же области математики. Так, Пойа показал, что некоторые интересные результаты, касающиеся геометрии на плоскости, можно вывести, вырезая из картона определенные фигуры и каким-то образом комбинируя их между собой. Впечатляющим примером доказательства такого рода может служить следующая теорема, которую Пойа взял из работы одного из своих предшественников: Площадь многоугольника, вписанного в окружность, больше площади любого другого многоугольника с соответственно равными сторонами. (Стороны одинаковы как по длине, так и по порядку следования.) Доказательство основывается на следующей изо- периметрической теореме: «Из всех плоских фигур равного периметра круг имеет максимальную площадь». Первый результат можно доказать, предполагая, что сегменты (заштрихованные области на рис. 3), образующиеся между сторонами многоугольника и описанной окружностью, вырезаны из картона, и мы можем переместить их в другое положение. Необходимо также предположить, что стороны многоугольника и, следовательно, основания сегментов соединен ны между собой шарнирами, так что мы можем деформировать фигуру, как это показано на рис. 4. Любая подобная деформация может привести лишь к уменьшению общей площади замкнутой' 83
фигуры, так как ее периметр остается равным периметру окружности: это следует из изопериметрической теоремы. Однако общая площадь фигуры, изображенной на рис. 4, включает в себя площадь нового, измененной формы, многоугольника плюс площадь заштрихованных сегментов. Поскольку последние остались неизменными, площадь деформированного многоугольника должна быть меньше площади многоугольника, представленного на рис. 3, причем это справедливо для любого вида искажения,— следовательно, теорема доказана. Рис. .3. Многоугольник, впи- Рис. 4. Деформированный мно- санный в окружность, гоугольник. Сегменты круга скользят так, будто они соединены шарнирами. В действительности это доказательство не открывает новых возможностей в математике, поскольку в то время, когда оно было осуществлено, теорема изо- периметричности не была доказана, хотя и казалась вполне правдоподобной. Пойа доказывает изопериметрическую теорему, опираясь на доказательство приведенного выше результата для многоугольника, но проделанное другим методом, после чего он выводит из полученного результата изопериметрическую теорему. Хотя в конечном итоге ценность приведенного нами доказательства может оказаться сомнительной, оно, безусловно, показывает, что иногда для доказательства можно воспользоваться нестандартным методом, применив его так, чтобы доказательство выгляде- 84
до вполне убедительным. Однако методы доказательства, использующие вычислительную технику, скорее всего будут ограничиваться простыми математическими конструкциями, построенными с помощью линейки и циркуля, и аргументами, непосредственно следующими из аксиом евклидовой геометрии. Мы же здесь показали, что при решении различных задач в принципе человек в состоянии воспользоваться несравненно более богатым «ассортиментом» аксиом. Возможно, кто-то возразит, что этот «ассортимент» недопустим, поскольку каждая отрасль математики должна опираться на некоторый изначально установленный набор аксиом. Однако нестандартные методы имеют по крайней мере эвристическую ценность: если теорему с очевидностью удалось «доказать» такими эвристическими методами, то, вероятно, и впол не «законное» доказательство со временем удастся' найти.
5 ПОИСК ПО ДЕРЕВУ И ИГРА В ШАХМАТЫ В современной математике слово граф имеет особое значение. Граф состоит из вершин, соединенных между собой ребрами; каждой вершине приписывается определенный смысл. Каждое ребро указывает на определенное отношение между парой соединяемых им вершин. Например, вершины могут представлять собой города, тогда соединяющие их ребра указывают на такие пары городов, между которыми проложена дорога. В этом смысле обычная карта представляет собой граф, но положения вершин в таком графе особого значения не имеют — важен лишь характер их взаимного соединения. В некоторых приложениях ребра, соединяющие вершины графа, рассматривают в двух направлениях. Например, если граф показывает дороги, соединяющие города, то естественно, что эти. дороги никогда не являются односторонними, и из того факта, что город А соединен с городом В, следует, что и город В соединен с городом Л. Если бы мы представили с помощью графа маршруты автомобильного движения в пределах города, то этот граф имел бы иной характер. В городе многие из связей представляют собой улицы с односторонним движением, поэтому соответствующие соединительные ребра в графе необходимо пометить стрелкой. Улицу с двусторонним движением тогда можно представить парой ребер, помеченных стрелками, указывающими в противоположные стороны. На рис. 5 показан граф, изображающий улицы (с указанием направления движения) в небольшом городе Англии. Особый интерес представляет граф специального типа, называемый деревом. Он имеет одну вершину, которую нельзя достичь ни из какой другой вершины; эта вершина называется корневой. У нее имеется 86
некоторое число дочерних вершин, непосредственно достижимых из нее (в случае бинарного дерева имеются две такие дочерние вершины), у них в свою очередь также есть дочерние вершины и т. д. Любое дерево, которое может быть нарисовано или представлено в памяти вычислительной машины, должно иметь конечный размер, т. е. у него должны быть вершины, не имеющие дочерних. Последние называются терминальными вершина- ми, или листьями графа. На рис. 6 показано дерево, вершины которого изображены прямоугольниками. Деревья, представляющие системы обработки данных, в отличие от реальных деревьев обычно изображают корнем вверх. На ребрах графа, показанного на рис. 6, нет стрелок, хотя по смыслу они асимметричны,— общее расположение показывает, как соединены вершины. В проблеме искусственного интеллекта деревья представляют особый интерес; тому имеется несколько причин. По-видимому, главная из них рассмотрена в гл. 13 (приложение 1). Сейчас же мы остановимся на другой причине. Дело в том, что любой дискретный процесс принятия решений в заданной детерминированной системе может быть представлен в виде дерева. Если корень дерева соответствует начальному состоянию системы, то его дочерние вершины соответствуют состояниям, которые могут быть результатом применения различных операций из числа имеющихся. Далее, для каждой из таких дочерних Рис. 5. Главные улицы в центре Уокингема (Беркс), представленные в виде графа. 87
вершин существует некоторое множество возможных операций, каждая из которых приводит к новому состоянию, представляемую внучатыми вершинами, и т. д. Широкий набор процедур решения проблем (включая методы доказательства теорем, рассмотренные в последних двух главах) может быть представлен как прохождение по дереву, у которого один или более листьев соответствуют успеху в доказательстве теоремы. Эвристики представляют собой □ □ Рис. 6. Древовидная структура. способы определения того выбора, который следует сделать в каждой вершине, чтобы попытаться достигнуть одного из листьев с меньшими затратами труда, чем это было бы при достижении листьев посредством полного перебора имеющихся вариантов. В нетривиальных задачах полный перебор следует исключить, поскольку это приводит к комбинаторному взрыву. Возможность возвращения, которая является существенной особенностью универсального решателя задач, легко отображается в дереве как возвращение в предыдущую вершину на данном пути, после чего выбирается другая дочерняя вершина. Представление методов решения задач в виде исследования деревьев весьма полезно (Нильсон [1]), но, как было показано, эти методы можно анализировать и другими способами. (В большинстве случаев графы используются в математике при выво- 88
де результатов, которые можно было бы получить и иначе, однако метод теории графов обычно оказывается наиболее элегантным и понятным.) Игра в шахматы и другие игры с помощью вычислительных машин — проблемы, которым в работах по искусственному интеллекту уделяется большое внимание. В программах, оказавшихся успешными для ведения целого ряда игр, явным образом обследуется дерево, которое указывает возможные продолжения игры из заданной начальной ситуации. Для сокращения возникающего при этом перебора необходимо ввести новый набор эвристических принципов. Шахматы Древняя игра в шахматы бросает несомненный вызов ученым, работающим в области искусственного интеллекта. Однако еще до появления электронных вычислительных машин предпринимались попытки построить автоматы для игры в шахматы. Один из таких автоматов (или то, что по идее должно было стать таким автоматом) был создан фон Кемпеленом примерно в конце XVIII в. и получил название мейзелского шахматного автомата. Он вызвал огромный интерес среди образованных людей того времени, но никто не мог тогда с уверенностью сказать, действительно ли это гениальный автомат или просто ящик, в котором прячется карлик или ребенок, способный играть в шахматы на достаточно высоком уровне. Об этом устройстве писал Эдгар По, который считал, что оно не могло быть автоматом, поскольку порою выигрывало, а иногда — проигрывало. Если бы это был автомат, рассуждал По, то он должен был бы либо всегда выигрывать, либо всегда проигрывать. Аргументация По, конечно, была необоснованной, но вывод его оказался правильным — «автомат» в самом деле скрывал в себе живого игрока небольшого роста. Настоящий автомат для игры в шахматы был изготовлен Торресом и Кьюведо в 1914 г. Он демонстрировался в испанском павильоне Международной выставки в Брюсселе в 1958 г. Однако этот автомат играл лишь начиная с позиции, в которой большин- 89
ство фигур уже отсутствовало и оставались лишь два короля и ладья, принадлежащая автомату. В этой позиции автомат всегда выигрывал (существует алгоритм, использование которого гарантирует выигрыш при этих обстоятельствах). В автомат был встроен проигрыватель с миниатюрной граммофонной пластинкой; когда автомат выигрывал, на пластинку опускался звукосниматель — и раздавался победный звук. С появлением вычислительных машин возникла возможность создания настоящего автомата для игры в шахматы. Проблему написания необходимой для этого программы исследовали Тьюринг, Стречи и Шеннон [2] (см. обзор Гуда [3], в который включены и работы последних лет). Принципы работы, предложенные каждым из названных исследователей, и последующее воплощение их в действующих программах опираются на исследование дерева возможных продолжений игры. Его называют деревом просмотра возможностей. Корневая вершина такого дерева представляет текущую конфигурацию фигур на шахматной доске, а программа производит выбор хода. В середине шахматной партии у игрока обычно имеется около тридцати возможных вариантов следующего хода. Возникающие в результате их перебора конфигурации могут быть представлены как дочерние вершины для данной корневой вершины. В каждой из дочерних вершин возможно около тридцати ответов противника, так что для изображения результирующих конфигураций потребуется еще около 900 вершин и т. д. Дерево быстро «разрастается». Существуют два типа вершин. Одни, наподобие корневой вершины, представляют конфигурации, в которых ход за программой; они называются альфа-вершинами. Вершины другого типа, представляющие конфигурации, в которых ход за противником, называются бета-вершинами. Последующие уровни такого дерева возможностей заняты по очереди альфа- и бета-вершинами. Если бы дерево можно было обследовать полностью, т. е. вплоть до всех листьев, представляющих все возможные окончания в данной игре, то имелась бы возможность выбрать ход, обеспечивающий 90
для машины выигрыш независимо от реакций противника К В действительности же -полный просмотр всего дерева невозможен. Шеннон установил, что для обследования всего дерева в середине шахматной игры потребуется 1090 лет машинного времени— в предположении весьма быстродействующей вычислительной машины. Если быстродействие такой машины увеличить еще в миллион раз, то и при этом потребовалось бы 1084 лет — тоже слишком много. Эффект комбинаторного взрыва проявился бы здесь со всей силой, так что о полном просмотре дерева не может быть и речи. Вместо полного просмотра дерева в программах игры в шахматы обследуется лишь небольшая его часть. В таком случае обычно говорят, что дерево подвергается подрезке. Простейший метод подрезки — обрыв дерева на определенной глубине, т. е , просмотр вперед на некоторое фиксированное число полуходов (полуход — это ход одного из игроков), Нельзя сказать, что это хороший метод игры, но даже при использовании других методов допустимую глубину ограничивают. (Под «хорошей» подрезкой понимается метод, обеспечивающий высокое качество игры при данном объеме вычислительных затрат.) Тот факт, что просматривается только часть дерева, означает, что процесс обследования должен заканчиваться в вершинах, которые не являются листьями. Это терминальные вершины, или листья, обследуемого поддерева, но не полного дерева. Методы, используемые в программах, основаны на числовой оценке для каждой такой вершины относительной силы обоих игроков в момент достижения данной конфигурации. Эта оценка принимается равной нулю, когда силы партнеров равны, она положительна, когда машина, по-видимому, имеет преимущество, и отрицательна, когда противник машины оказывается сильнее. Эту численную оценку называют оценивающим полиномом (так как обычно она имеет полиномиальный вид, или, проще говоря, вид взвешенной суммы), или статической оценочной функцией («статической» в том смысле, что оценка производится без дальнейшего обследования дерева). Если, конечно, такой ход существует! — Прим. перев. 91
Статические оценочные функции использовались игроками в шахматы еще задолго до появления электронных «шахматистов». В тех случаях, когда игра в шахматы прерывалась и продолжение ее исключалось (если вспомнить о романтической традиции шахмат, то это могло случаться, например, когда враг подходил к воротам города или когда оба игрока должны были следовать на виселицу), такие статические оценки использовались для определения, кто выиграл. Важной компонентой, любой статической оценивающей функции является материальное соотношение, или перевес фигур. Этот член просто соответствует сравнению фигур, имеющихся у игроков, причем каждой фигуре придается определенное значение ценности. Королям нет смысла придавать какое-то значение ценности, так как уже сам факт, что игра еще не кончилась, означает, что оба короля находятся на шахматной доске. Самое высокое значение ценности имеет ферзь, затем (как существенно менее ценные) следуют в порядке убывания ценности конь, слон и ладья, а наименее ценной из всех фигур является пешка. Второй важной компонентой оценочной функции, вероятнее всего, должна быть некая мера относительной подвижности фигур, причем более сильным, считается тот игрок, у которого подвижность фигур больше. Простым критерием подвижности является число допустимых ходов, имеющихся у игрока. Можно также дать численную оценку контроля центра и других критериев, знакомых игрокам в шахматы. После того как произведена оценка каждой терминальной вершины обследуемого поддерева, следующий шаг состоит в перенесении результатов этих оценок вверх по дереву («вверх» означает в направлении корня дерева). Метод, которым это достигается, называется минимаксным; он заключается в следующем. Для альфа-вершин (представляющих позиции, в которых ход делает машина) принимается значение, равное наибольшему значению из указанных для дочерних вершин. Это абсолютно оправдано, поскольку в таком случае машина сделает наиболее выгодный для себя ход. Однако для бета-вершин принимается наименьшее из значений оценки для до- 92
черних вершин, поскольку можно предположить, что противник сделает ход, наименее выгодный машине, В конечном итоге некоторое оценочное значение приписывается корневой вершине. Поскольку она является альфа-вершиной, это значение будет наибольшим среди значений для дочерних вершин. Ход* который выбирает машина, преобразует существующую на шахматной доске конфигурацию, представленную корневой вершиной, в конфигурацию, представленную той дочерней вершиной, из которой было взято значение оценки для корневой вершины. Эту процедуру можно рассматривать как эвристическое правило выбора хода в шахматах. Она от- личается от других упомянутых нами эвристик тем, что применяется к плохо определенной задаче. Рассматриваемая задача, безусловно, является плохо определенной, поскольку невозможен просмотр всего дерева. И даже если бы полный исчерпывающий просмотр дерева был возможен, эта процедура не обязательно указывала бы совершенный ход, обеспечивающий победу. Тот ход, который человек-шахматист рассматривал бы как наилучший, по-видимому, зависел бы от игровых возможностей и других характеристик противника. Любой выбор, учитывающий подобные обстоятельства, несомненно, представляет собой решение плохо определенной задачи. Описанный же выше машинный метод ни в какой мере не учитывает характеристики партнера по игре. Действие рассмотренного нами метода было бы очень простым, если бы дерево отсекалось столь сильно, что остались бы только корневая вершина и' ее дочерние вершины. Тогда статическая оценочная функция (с. о. ф.) применялась бы к каждой дочерней вершине, и та, что соответствовала бы наибольшему значению функции, определяла следующий ход, Было обнаружено, что у программы, работающей таким образом, очень легко выиграть. Пока еще не удалось найти форму с. о. ф., которая могла бы быть достаточно эффективной. Чем на большее число шагов происходит просмотр вперед, тем лучше игра и тем в меньшей степени качество игры зависит от точного вида с. о. ф. Рассмотрим простой пример применения с. о. ф, в качестве метода ведения игры в игре в крести- 93
ки —нолики (в США ее называют «тик-так-ту»), Использование просмотра вперед и с. о. ф. в этой игре довольно бессмысленно (его можно рассматривать лишь как иллюстрацию), поскольку существуют другие, более простые алгоритмы беспроигрышной игры. Нильсон, однако, показал, что в программе игры в крестики — нолики может быть использована с. о. ф., вычисляемая следующим образом. Предположим, что машина ставит X, а ее противник—О. (о; х о х]5Т" X х| О о X X X О о XX Рис. 7. Неудачная попытка выбрать ход в игре в крестики — нолики с применением статической оценочной функции при единичной глубине дерева. Если конфигурация, которую предстоит оценить, содержит три X подряд (машина выигрывает), то с. о. ф. принимает наибольшее значение, скажем равное + 10. Если подряд стоят три О, то с. о. ф. принимает наименьшее значение, скажем —10. (Ситуации, в которых имеются выигрышные последовательности обоих типов, следует обойти, делая проверки на всех уровнях дерева на выигрыш и отмечая каждую выигрышную вершину как терминальную.) Для конфигураций, которые не являются выигрышными ни для одного из игроков, с. о. ф. вычисляется следующим образом: Число строк, столбцов и диагоналей из восьми возможных, все еще открытых для машины, т. е. не заблокированных символом О минус число строк, столбцов и диагоналей, все еще открытых для противника, т. е. не заблокированных символом X. 94
(-10) (НО) (НО) (-1) (-IO) Рис. 8. Выбор хода в игре в крестики — нолики с применением статической оценочной функции при глубине дерева, равной двум. Как видно из рис. 7, использование такой с. о. ф. не годится, если дерево имеет единичную глубину, т. е. состоит только из корневой вершины и ее дочерних вершин. Для каждого из пяти возможных ходов с. о. ф. оказывается равной нулю. Этот метод не позволяет обнаружить, что следует сделать ход в нижнем левом углу. Рис. 8, однако, показывает, что просмотр вперед на один шаг дальше гарантирует выбор хорошего хода. Под каждой конфигурацией на этих рисунках указано 95
некоторое значение. Значения, не заключенные "в скобках, получаются в результате статической оценки, а те, что заключены в скобки, соответствуют величинам, полученным в результате применения рассмотренной нами минимаксной процедуры. Прямое усечение дерева Деревья, изображенные на рис. 7 и 8, подрезаны путем отсечения их на определенной глубине. Установлено, что можно достигнуть большего (в смысле качества игры), если использовать другие методы усечения деревьев. Некоторые из методов усечения получили общее название прямого усечения дерева, поскольку решение здесь принимается в процессе работы в прямом направлении от корневой вершины. В одном из методов прямого усечения дерева вы- . деляются те позиции, которые называют мертвыми, или спокойными, тогда как другие позиции определяют как живые, или беспокойные. Вершина с большей вероятностью может стать терминальной, если представляемая ею конфигурация классифицируется как мертвая. Классификация же позиций на живые и мертвые осуществляется с помощью эвристических правил, причем основная идея состоит в том, что позиция считается живой, если ожидается существенное изменение ее, в частности если существует угроза взятия фигур. (Мы возвращаемся здесь к терминологии игры в шахматы или шашки.) Другим приемом усечения является выбор перспективного хода. Совершенно очевидно, что дерево разрастается очень быстро, если в нем представляются все из примерно тридцати допустимых ходов (т. е. если фактор ветвления равен примерно 30). Человек сразу же отвергает многие из этих ходов как бесполезные. Если удается уменьшить фактор ветвления путем ограничения числа ходов, рассматриваемых в каждой конфигурации, то рост дерева заметно уменьшается. При заданных вычислительных возможностях это позволяет вести поиск на несколько большую глубину. Важно; однако, выбирать такие ходы, которые в определенном смысле выглядят наиболее обещающими; поэтому в программах игры в 96
шахматы значительное внимание уделяется генера* торам перспективных ходов. Простой генератор перспективных ходов может быть организован так, чтобы для всех тридцати (или примерно тридцати) ходов производилась оценка результирующих конфигураций с использованием статической оценочной функции, а число ходов, представляемых на дереве, было бы ограничено некоторым фиксированным числом (скажем, числом 7)\ Эти ходы выбираются как наиболее значащие для альфа-вершины или как наименее значащие для бета- вершины. Обратное усечение дерева При использовании прямого усечения дерева любым из указанных методов невозможно быть абсолютно уверенным, что результат поиска окажется таким же, каким он был бы, если бы дерево не подвергалось подрезке. В отличие от этого существует метод подрезания дерева (иногда называемый обрат* ним усечением), при котором результат поиска остается неизменным. Метод обратного усечения чаще называют процедурой альфа-бета; такое название обусловлено тем, что для объяснения этого метода приходится обращаться как к вершинам типа альфа, так и к вершинам типа бета. Поиск по дереву — в том виде, как мы его здесь излагаем,— включает два этапа: построение дерева возможностей с последующим приписыванием его терминальным вершинам числовых значений, определяемых с помощью статической оценочной функции, а затем применение минимаксной процедуры для передачи значений вверх по дереву. В процедуре альфа-бета требуется, чтобы эти два этапа были объединены, так чтобы значения связывались с вершина-* ми по мере формирования дерева. В силу особенностей минимаксной процедуры в таком случае удается избежать построения целых кусков дерева, что иногда уменьшает время вычисления-на несколько порядков. Наиболее естественно представить рост дерева в виде ярусов, отходящих от корневой вершины: сначала формируются все дочерние вершины для корня, 4 А. Эндрю 97
Рис. 9. Дерево, изображенное на рис. 8, с вершинами, занумерованными в порядке их построения при поиске в глубину. затем все внучатые и т. д. Построение дерева таюгм образом называется поиском в ширину. Чтобы воспользоваться преимуществами процедуры альфа-бета, дерево следует строить иначе — методом поиска в глубину. При этом выбор новой вершины на каждом шаге построения производится таким образом, чтобы эта новая вершина была дочерней- для вершины, построенной самой последней. Чтобы пояснить, как это делается, рассмотрим дерево, изображенное на рис. 8; на рис. 9 оно пере- 98
рисовано таким образом, что вершины (исключая корневую) пронумерованы в том порядке, в каком они строились бы в процессе поиска в ширину. (Строго говоря, это один из возможных порядков, поскольку порядок построения дочерних вершин для любой данной вершины совершенно произволен.) При поиске в глубину — при том же самом порядке построения дочерних вершин для данной вершины — первой новой вершиной будет вершина с номе: ром 1. Однако следующей будет не вершина 2, а дочерняя вершина для самой последней из построенных вершин, т. е. вершина 6. Казалось бы, что следующей должна быть дочерняя вершина для вершины 6, но этого быть не может, поскольку вершина с номером 6 удовлетворяет терминальному условию остановки. Другие дочерние вершины для вершины 1, а именно вершины с номерами 7, 8 и 9, строятся прежде, чем происходит возвращение к прерванной генерации дочерних . вершин корневой вершины (и если вершина 7 не удовлетворяет терминальному условию, то под ней должно быть построено все поддерево, прежде чем начнет строиться вершина 8). Чтобы сэкономить объем поиска при применении процедуры альфа-бета, необходимо производить оценку каждой терминальной вершины, как только она будет построена. Оценка для нетерминальной вершины находится лишь после того, как будут оценены все ее дочерние вершины. Но как только будет оценена одна из таких дочерних вершин, с родительской вершиной можно связать предположительное возвра* щаемое значение (п. в. з.). Если родительская вершина при этом является альфа-вершиной, то п. в. з. равно наибольшей из полученных до сего момента оценок для дочерних вершин. Если же родительская вершина является бета-вершиной, то ее п. в. з. равно наименьшей из оценок, полученных для дочерних вершин. Как только п. в. з. приписано некоторой альфа-вершине, при дальнейшем построении дерева это значение может лишь возрасти по величине. Если же п. в. з. оказывается приписанным некоторой бета-вершине, то впоследствии это значение может только уменьшаться. Два последних правила дают возможность в процессе построения дерева или поиске в глубину 4* 99
понять, что некоторые из еще не построенных вершин никак не могут повлиять на конечный результат. Тогда обратное усечение равносильно просто отказу от построения таких вершин. Если это не те вершины, которые стали бы терминальными, то идущие под ними поддеревья отсекались бы весьма эффективным образом, что позволило бы существенно сэкономить вычислительные затраты, Оценивая дерево, показанное на рис. 9, с учетом этих соображений, следовало бы сформировать и оценить вершины 6, 7, 8 и 9 для того, чтобы оценить вер-» шину 1, придав ей значение —10, которое затем становится также п. в. з. для корневой вершины. После этого строится вершина 2, а за ней — вершины 10, И и 12. После оценки вершины 12 п, в. з. для вершины 2 равно —10, т. е. равно п. в. з. для корневой вершины. Теперь ясно, что значение вершины 2 будет равно —10 или меньше, поскольку она являет^ ся бета-вершиной и ее п. в. з. может только уменьшаться. Значение вершины 2, следовательно, не может повлиять на значение корневой вершины (так как последняя является альфа-вершиной и ее значение не может стать меньше того, что имеется на данный момент, т. е. меньше —10). Поэтому нет смысла строить поддерево ниже вершины 2 *** следовательно, вершина 13 формироваться не будет. Итак, общее правило, вероятно, заключается в ?ом, что если п. в. з. для бета-вершины становится меньше или равным п. в. з. для ее родительской альфа-вершины, то нет необходимости строить дальше поддерево, идущее от такой бета-вершины. Если так случается, то в процессе поиска мы сталкиваемся с альфа-отсечением. Выполняется также дополнительное правило, кото* рое обеспечивает экономию в случае бета-отсечения: если п. в. з. для какой-то альфа-вершины становится больше или равным п. в. з. для ее родительской бета- вершины, то нет смысла строить дальше поддерево, идущее ниже такой альфа-вершины. В рассматриваемом примере после отказа от построения вершины 13 в процессе поиска будут формироваться вершины 3, затем 14, 15 и 16, после чего другое альфа-отсечение позволяет отказаться от построения вершины 17, Далее формируются верпги- 100
Рис. 10. То же дерево, но с вершинами, переупорядоченными таким образом, чтобы извлечь максимум из процедуры альфа* бета. на 4 и все ее дочерние вершины: 18, 19, 20 и 21, Значение для вершины 4 равно —1, и п. в. з. для корневой вершины возрастет до этой величины. Затем строится вершина 5, за которой следуют верши* ны 22 и 23. Для вершины 5 п. в. з будет равно —i, т. е. оно равно п. в. з. для корневой вершины. Поэтому альфа-отсечение сделает излишним построение вершин 24 и 25. Рассматривая дерево большей глубины, мы могли бы продемонстрировать экономию, связанную с бета- отсечением. В настоящем примере экономия от 101
обратного отсечения невелика: просто не пришлось' оценивать вершины 13, 17, 24 и 25. Следует помнить, что эти вершины не обязательно дожны быть терминальными и что идущие под ними поддеревья при другом исходном дереве также были бы отсечены. Экономия зависит от порядка, в котором строятся дочерние вершины каждой конкретной вершины. Если бы порядок соответствовал приоритету слева направо, как показано на рис. 10, то экономия была бы значительно больше. В этом случае отпала бы необходимость в построении вершин 6, 7, 9, 10, 11, 114, 15, 17, 22, 23 и 24. Чтобы извлечь максимум выгоды из процедуры альфа-бета, целесообразно использовать для упорядочивания процесса построения вершин эвристические методы. Полезной эвристикой, в частности, является использование статической оценочной функции (с. о. ф.) для упорядочивания дочерних вершин какой-либо конкретной вершины, при котором приоритет отдается наивысшим значениям с. о. ф. для дочерних вершин в случае альфа-вершины и наинизшим значениям с. о. ф. для дочерних вершин в случае бета-вершины. Развитию эффективных стратегий, использующих эвристическое упорядочение в процедуре альфа-бета, уделяется большое внимание; здесь разработаны стратегии, гораздо более сильные, чем та, которую мы описали (см. [1]). Другие методы игры в шахматы Эффективность шахматных программ постоянно возрастает, и в настоящее время достигнут весьма высокий класс игры. Ныне существуют программы, которые бросают вызов мастерам шахмат и которые обычно легко побеждают в поединке с шахматистом- дилетантом. Тем не менее эти программы работают описанным нами методом «грубой силы», который основан на построении и исследовании дерева возможностей. Вполне очевидно, что подобный способ выбора хода не соответствует тому, как поступает в этом случае человек. Шахматисты, безусловно, не думают о крупномасштабном поиске: они предпринимают весьма ограниченный поиск, рассуждая примерно 102
так: «Если я пойду туда, он ответит..., если же я пойду туда, моя фигура окажется незащищенной...» При этом учитывается лишь небольшое число возможностей.' Говорят, что один шахматный мастер на вопрос, как много ходов он рассмотрел, прежде чем сделать выбор, ответил: «Ровно один, но верный». 0 том, что процесс принятия решения, который осуществляет шахматист, не похож на процесс, используемый в шахматных программах, свидетель* ствует тот факт, что шахматисты могут говорить друг с другом о шахматах и с интересом и пользой для себя изучают литературу по шахматам. Обсуждая проблемы шахматной игры, они говорят не о поиске по весьма большому дереву возможностей, а прибегают часто к таким эмоциональным понятиям, как атака, защита или угроза. Воплотить же подобные критерии в программе для вычислительной машины нелегко. Однако некоторые исследователи, работающие в области машинной игры в шахматы, предполагают, что дальнейшего прогресса здесь, по-видимому, можно достигнуть, изучая методы игры шахматистов. Многократный чемпион мира М. М. Ботвинник в течение ряда лет отстаивает точку зрения, что в машинных шахматах возможно использовать методы, подобные тем, которыми вооружен человек-шахматист. В одном из недавних выступлений Ботвинник рассказал о своих методах, также основанных на анализе дерева возможностей, но имеющего фактор ветвления, лишь немного превосходящий единицу. Другими словами, Ботвинник утверждает, что располагает множеством эвристик, которые обычно указывают на единственный «следующий ход» К Мичи [4] также указал такой подход к машинным шахматам, который, несомненно, в большей степени соответствует методам', используемым шахматистом-человеком. В настоящее время этот автор особое внимание уделяет анализу шахматных окончаний, где ситуация упрощается из-за наличия небольшого числа фигур. Когда число игровых ситуаций становится достаточно малым (соответственно числу оставшихся фигур), число их различных классов оказывается вполне обозримым.. Для каждого такого класса перечисляются «вопросы», относящиеся к кон- 1 См. Предисловие редактора перевода. — Прим. ред. 103
'фигурации фигур на шахматной доске. Такие вопросы легко формулируются на обычном языке, но на них легко «отвечает» и программа. Это вопросы типа: «Находятся ли такие-то. фигуры на одной линии (одной вертикали или одной диагонали)?», «На* ходится ли такая-то фигура в безопасности?» Ответы связываются с указанием относительно хода посредством таблицы подобно тому, как используется эвристическая таблица в универсальном решателе задач. Хотя Мичи не ограничивается столь простыми шахматными окончаниями, как Торрес и Кыоведо, его подход в настоящий момент имеет весьма ограниченное применение. Различные исследователи, работающие в области искусственного интеллекта, в том числе Эшбй [5], неоднократно указывали на шахматы как ва характерный пример, полезный для исследования мыслительных процессов человека. Трудность имитации методов человеческого мышления подтверждает точку зрения, что в этом процессе заложено что-то весьма глубокое и малодоступное нашему пониманию. Другие исследователи, однако, отрицали, что шахматы можно считать в этом отношении наиболее характерной задачей, поскольку она не настолько типична для повседневной деятельности человека. Шахматы требуют методов мышления, которые отличаются от методов, используемых в реальной жизни, точно так же, как теория чисел отличается от использювания чисел на практике. (В теории чисел большое внимание уделяется точной делимости; поэтому, например, простое число 23 считается существенно отличным от соседнего числа 24, которое можно представить в виде произведения других чисел.) Отчасти именно поэтому в последние годы уделяется меньше внимания машинным шахматам как средству выяснения природы интеллекта вообще, хотя сама по себе работа в этой области продолжается. Если исследования, касающиеся моделирования человеческих методов ведения игры, принесут свои плоды, то машинные шахматы, возможно, еще сыгра- Ьт роль своего рода «переднего эшелона», как пред* сказывали Эшби и другие ученые, — по крайней мере Э рамках определенного подхода к выяснению природы человечесвдго интеллекта. 104
6 ДРУГИЕ ИГРЫ Шахматы отнюдь не единственная игра, которой уделялось внимание при работе над проблемой искусственного интеллекта. Предметом исследования стали многие известные и малоизвестные игры: предполагалось, что их изучение либо позволит поставить задачи соответствующего уровня сложности, либо поможет уяснить некоторые специфические особенности игры. Многие из исследованных игр оказались гораздо проще шахмат. И это неудивительно, поскольку большинство игр в самом деле много проще шахмат. Однако существует так называемая игра го, которая считается более трудной, чем шахматы, как для людей, так и для вычислительных машин. Как и шахматы, это очень древняя игра: она известна на Востоке уже около четырех тысяч лет и до сих пор является одной из популярнейших игр в Японии, Шашки Среди работ, посвященных моделированию с по* мощью ЭВМ игр, отличных от шахмат, наиболее известна программа Сэмюэля [1] для игры в шашки. Эта игра значительно проще шахмат1. Согласно оценкам Шеннона, число возможных игровых ситуаций в шашках примерно равно кубическому корню из числа возможных ситуаций в шахматах. (Для шахмат, по подсчетам Шеннона, это число составляет 1043. Эту оценку оспаривает Гуд, который считает,, что она, по-видимому, верна с точностью до одной тысячи, хотя многие из позиций весьма маловероятны. По мнению Гуда, число возможных Имеются в виду шашки для доски Ъу,Ъ% — Прим. ред. 103
игровых позиций в шахматах, вероятность которых не является исчезающе малой, составляет 1024.) Основная цель работы Сэмюэля по машинному ведению игры в шашки заключалась отнюдь не в игре как таковой. Он намеревался исследовать возможности включения в программы для вычислительных машин «способности к их совершенствованию» на основе накопленного опыта, или, другими словами, способности к «приобретению навыка». Сэмюэль считал, что шашки более подходят для подобного исследования, чем шахматы, так как ввиду неслож- .ности самой игры возникает меньше препятствий для решения исходной проблемы. В общих чертах метод, использованный Сэмюэ- лем для игры в шашки, мало отличался от наиболее распространенного подхода к машинной игре в шахматы, т. е. также опирался на изучение дерева возможностей. Сэмюэлю удалось реализовать две формы обучения: накопление и обобщение. Из этих двух форм накопление 1 менее интересно и менее эффективно. Оно сводится к хранению в памяти вычислительной машины большого числа конфигураций на шашечной доске из числа тех, что возникают в ходе игры. Это конфигурации, которые реально имели место и, следовательно, были представлены в корневой вершине дерева (в отличие от гипотетических конфигураций, представленных в остальных частях дерева). Вместе с каждой конфигурацией в памяти хранилась также ее числовая оценка, которая получилась путем построения дерева, применения с. о. ф. к терминальным вершинам и передачи значений вверх по дереву посредством минимаксной процедуры. Такая оценка в общем случае отличается от оценки, полученной путем непосредственного применения с. о. ф.» и оказывается более полезной при определении хода в игре. Имея в памяти некоторое множество конфигураций вместе с их оценками, программа в процессе работы ищет соответствие между конфигурацией, отвечающей каждой из вершин дерева, и конфигура- 1 От англ. root learning; смысл этого понятия будет ясен из дальнейшего. — Прим. перее. 106
циями из числа запомненных. Если такое соответствие установлено, то хранимая в памяти оценка передается в эту вершину — в результате отпадает необходимость строить какое-либо поддерево, которое могло бы возникнуть под этой вершиной. Несомненным преимуществом накопления следует считать экономию времени, поскольку накопление позволяет избежать построения некоторых поддеревьев. Это еще одна форма прямого усечения дерева. Существует, однако, определенная связь между временем вычисления и качеством игры, поскольку размер дерева ограничивается отпущенным временем. Таким образом, накопление либо обеспечивает экономию времени, либо позволяет достичь лучшего качества игры за то же время путем использования несколько большего дерева. Отметим еще одно обстоятельство, благодаря которому использование накопления улучшает качество игры. Когда находится соответствие между какой- либо вершиной и конфигурацией- из списка хранимых в памяти, в вершину переносится оценка, сформированная тогда, когда данная конфигурация находилась в корневой вершине и под ней имелось целиком все дерево возможностей. Следовательно, эта оценка основывается на большем дереве, чем то, которое было бы сформировано под указанной вершиной, если бы такого соответствия не обнаружилось. И хотя с точки зрения вычислительных затрат накопление и представляет собой форму усечения, оно влияет на результат поиска так, словно ветви дерева там, где накопление использовалось, оказываются длиннее, чем они были бы в отсутствие накопления. Безусловно, размер списка конфигураций, который может храниться в памяти и использоваться, ограничен сверху. Не все конфигурации, встречающиеся в игре, могут храниться в памяти, и нужно, чтобы этот список не был перегружен конфигурациями, которые вряд ли когда встретятся. Сэмюэль достигает этого тем, что для каждого элемента списка ведется подсчет числа ходов, сделанных с момента, когда этот элемент был последний раз использован. Если с момента последнего употребления какого-то элемента прошло много ходов, то он вычеркивается из списка и на его место ставится другой, взятый из 107
текущей игры. Благодаря этому список содержит конфигурации, которые достаточно часто встречаются в ходе игры. Самюэль установил, что в шашках накопление весьма полезно, но, по обшему убеждению, в шахматных программах дело обстоит иначе К Большее число возможных конфигураций означает, что необходим более длинный список (чтобы он оказался полезным), но возникающее при этом увеличение вычислительных затрат делает его, по существу, бесполезным. Другая форма обучения, использованная Сэмюэ- лем,— обобщение. Оно позволяет программе в ходе игры улучшать свою с, о. ф. Обычно с. о. ф. представляет собой полином; в простейшем виде это полином первой степени, или взвешенная сумма, скажем s, которая вычисляется следующим образом: $ = k{a{ + k2a2 + k3a3 + • • • , где аи ®t и т. д,— величины различных вычисляемых критериев, таких, как материальное соотношение, подвижность, контроль центра и пр. Они взвешиваются по отношению друг к другу с помощью коэффициентов ku k2, ... . Полином может быть также и более высокой степени относительно переменных а, например о s = kxa\ + &2#2 + к\Ла\ + k\t2a\a2 + • •. , но для иллюстрации метода достаточно рассмотреть случай полинома первой степени. Качество игры зависит от подходящего выбора величин коэффициентов ku k2, *.., и обобщение, является средством их подгонки, обеспечивающей улучшение игры. Метод обобщения представляет собой пример оптимизации с использованием процедуры, часто называемой подъемом на гору. Имеется начальный набор значений k\9 k2> ..., и в каждый момент времени эти коэффициенты определяют рабо- 1 Это суждение ошибочно. При введении некоторой меры сходства между хранимой и возникшей позицией такое накопление, как показал опыт, оказывается чрезвычайно полезным и в * шахматах. — Прим. перев, 108
чую точку. Рабочая точка перемещается в пределах многомерного пространства по мере подгонки величин k в поисках положения, в котором оптимизируется определенная реакция, или нулевая функция. Термин «подъем на гору» взят здесь потому, что алышнист аналогичным образом изменяет свое нодажение в двух измерениях (по широте и по долготе), чтобы максимизировать свою высоту. Чтобы воспользоваться методом подъема на гору, следовало бы дать программе возможность сыграть некоторое количество игр с определенным партнером, выбрав какое-то начальное множество коэффициентов ki, а затем сыграть еще некоторое количество игр, сделав пробное изменение в положении рабочей точки. Таким пробным изменением мог* ло бы быть незначительное увеличение заменил hi. Если программа во втором множестве игр выигрывает чаще, чем в первом, то принимается новое значение kc, в противном случае происходит возвращение к старой величине и производится какюе-то другое пробное изменение. Очевидно, что при любом методе, зависящем от результатов всей игры в делом, надо двигаться очет и очень медленно. Поскольку партнер, по всей види*. мости, не может играть абсолютно ровно, веоблодц* мо, чтобы два указанных множества игр были большими, однако при этом возникают свои -фудноэдь Было бы лучше найти средство для подбора величин ki в ходе ведения игры, И Сэмюэлъ ярщдумал, как это сделать. Предложенный им способ основан на том, что качество игры программы растет с глубиной просмотра возможностей. Кроме того, работа программы с рос-» том глубины просмотра все в меньшей степени зава* сит от точного вида с. о. ф. Таким образом, оцешса конфигурации, получаемая в результате передачи оценок вверх но дереву возможностей, в некотором смысже оказывается «лучше»., чем оценка, получае* мая в результате прямого применения с,о,ф. Бели может быть найдено средство вычисления с.о,ф., обеспечивающее четкое совпадение между переданным назад по дереву значением для каждой конфигурации и результатом црямого применения со.ф.к той же самой конфигурации,то такая (щенка 109
должна быть равнозначна изучению всего полностью построенного дерева игры. В методе обобщения осуществляется подбор таких коэффициентов ki, которые улучшают соответствие между результатом прямого применения с. о. ф. и результатом использования той же самой с. о. ф., переданным вверх по дереву возможностей. Если s — результат прямой оценки с помощью с. о. ф., a S6- результат передачи оценки по дереву, то можно считать их разность ошибкой е, где e = s — sb. Сэмюэль сделал так, что в его программе вычисляется текущая корреляция между е и а\, а2 и т. д. Положительная корреляция между е и любым значением a-i указывает, что соответствующий коэффициент ki следует уменьшить, а отрицательная корреляция означает, что его надо увеличить. Этот принцип, по существу, совпадает, с тем, что Дональдсон [2] называет «декорреляцией ошибки». При применении рассматриваемого метода требуется уделить внимание обеспечению его устойчивости. Нетрудно получить схему, приводящую к бесконечному «рысканию» вокруг оптимума. Окончательный вариант, использованный Сэмюэлем, не дает плавного приближения к оптимуму, свойственного процедуре подъема на гору. В нем после каждого хода производится весьма существенное изменение величин коэффициентов ki. Несмотря на сказанное о преимуществах, которые ожидаются от хорошего согласования прямого применения с. о. ф. с переданными назад по дереву величинами, из такого согласования не обязательно вытекает хорошая игра. Идеальное согласие наблюдалось бы и в случае, если все ki положить равными нулю. Но это, очевидно, никак не могло привести к хорошей игре. На самом деле при любом множестве kt, обеспечивающем хорошее качество игры, можно обратить все знаки ki и получить очень слабую игру (фактически игру в «поддавки»). Однако согласие между двумя типами оценок при этом будет столь же хорошим, как и для первоначальных значений ki. 110
Сэмюэль понимал, что его метод позволяет прийти к состояниям, которые обеспечивают хорошее согласие, но слабую игру. Чтобы избежать такой ситуации, коэффициент при одном из членов с.о.ф. был зафиксирован и приравнен некоторой положительной величине (скажем, единице), тогда как другие коэффициенты изменялись. Выделенный член был связан с оценкой материального соотношения, поскольку разумно предполагать, что игроку всегда выгодно, чтобы его шашки на доске сохранялись, (Следует отметить, что указанное может служить иллюстрацией к замечанию, сделанному Селфриджем по отношению к проблеме искусственного интеллекта вообще. Люди подходят к решению таких задач, как шахматные, исходя из своего жизненного опыта и навыков, приобретенных за многие годы жизни. Едва ли стоит убеждать человека, что он должен стараться сохранять свои фигуры и захватывать фигуры противника — эту мысль он усвоил еще в детстве, когда спорил с товарищами из-за игрушек. Однако машине это необходимо «сказать», сделав положительным коэффициент при члене, обеспечивающем преимущество в фигурах.) Установив коэффициент при материальном соотно* шении равным единице, мы получим следующее выражение для с. о. ф.: , - s = ах +' k2a2 + &3Я3 + • • • • Обобщение основано на^ подгонке численных параметров. Процедуру подгонки можно использовать для выбора тех членов, которые должны быть включены в с. о. ф. Сэмюэль держал в своей программе больший «ассортимент» критериев (аь а2, ... и т. д.), чем тот, что допускался для использования в конкретной с. о. ф. в каждый момент времени. Используемое множество критериев видоизменялось самым непосредственным образом: если какое-то из значений ki оставалось близким к нулю в течение достаточно длительного времени, то тот член с. о. ф., к которому относится этот коэффициент, изымался из рабочего множества, а на его место ставился другой — из числа ожидающих своей очереди. Изъятый член добавлялся к множеству ожидающих и мог 111
быть заново внесен в соф. позже, при другой замене. Возможность изменения множества членов с.о.ф. придает данному методу обучения новый характер. Теперь его можно- воспринимать как некую самоорганизующуюся систему. Если же действие сводится только лттнгь к подгонке параметров, то этот термин, no-ввдимому, неприложим. Здесь уместнее более «слабый» термин — самооптимизация. Между этими понятиями нельая провести четкую границу, поскольку, по существу, нет четкого различия между образованием новой свяэи (структурное изменение) и включением усиления, благодаря которому из нуля делается конечная величина (изменение параметра). Различие, однако, состоит в том, насколько легче оияеать систему одним из способов, чем другим. Сэмюэль показал, насколько эффективен метод обучения через обобщение. Он организовал работу программы таким образом, что она могла вести игру непрерывно днем и ночью, причем имитировала одновременно' двух игроков: альфа и бета ^эти наименования никак не связаны с использованными ранее аналогичными обозначениями типов вершин). Игроку- альфа разрешалось модифицировать его» с. о. ф. путем* обобщения, тогда как игрок бета пользовался фиксированной с. о. ф. Когда альфа выигрывал игру, игрок бета копировал с. о. ф., которую имел игрок альфа. С другой стороны, если игрок бета выигрывал подряд три игры, то его с. о. ф. копировалась игреком альфа. Это гарантировало возможность возвращения игрока альфа к прежнему положению в том случае, если процесс подгонки параметров происходит- в нежелательном направлении^ Хотя две формы обучения, предложенные Самюэлем, оказываются достаточно эффективными, они, безусловно, сильно уступают возможностям человека. И е. о. ф., дг^же модифицированная посредством обобщения, все равно остается лишь комбинацией критериев, разработанных и запрограммированных Сэмюэ- лем. Этот недостаток трудно сформулировать в точных терминах и понятиях. Он связан с тем, что в неэеоторокг отношение новые варианты с. о. ф. отнюдь не* являютсяг качественно новыми. Сам Сэмюэль хорошо понимал этот их недостаток и мното размышлял 112
над ним. Этот вопрос мы обсудим более подробна в конце настоящей главы. Описанные методы обучения обладают еще од*» ним недостатком: заложенная в них программа не способна «усваивать» силу или манеру игры своего противника и реагировать на нее (если это и происходит, то лишь весьма опосредованно, так как пове* дение партнера определенным образом влияет на выбор конфигураций на доске, которые реально имели место). Рассмотренные методы не предусматривают также возможности обучения путем копирования игры противника. Исследования, направленные на создание более глубоких методов обучения, были осуществлены на примере других настольных игр. Игры типа «крестики — нолики» Мы уже говорили о такой хорошо знакомой нам. с детства игре, как крестики — нолики. Эта игра не представляет большой трудности и для вычислительной маштпх. Вместе с тем она представляет собой простейший вариант целого класса игр, которые разыгрываются на поле, разбитом на клетки, причем два (или более) игрока помещают элементы соответствующего типа в незанятые клетки. Игру крестики— нолики можно вести на трехмерной решетке вместо обычной двумерной. Длина каждой строки символов в таком случае обычно принимается равной четырем. Можно играть также в четырех и более измерениях, написав специальную программу для вычислительной машины, обыграть которую людям очень трудно: дело в том, что люди не в состояний зрительно представить пространство с размерностью более трех. Существует двумерная игра типа «крестики — нолики», но совершенно другого уровня трудности; она известна под разными названиями: пеггити, гоу-мок или пять & ряд. Доска обычно имеет 19X19 клеток (хотя это несущественно), и задача каждого игрока состоит в том, чтобы первым расположить пять принадлежащих ему элементов одного типа в одну линию, которая может проходить горизонтально, вертикально либо по диагонали. Игроки ходят по очереди^ ИЗ
X XX О омо помещая каждый раз один из своих элементов в свободные клетки поля. Объединять в одну три разные игры с разными названиями вряд ли разумно — ведь, несмотря на их сходство, каждая из игр имеет свои особенности. Так, согласно Муррею и Элкоку [3], в игре гоу-мок к выигрышу предъявляется требование, чтобы в одном ряду было пять и только пять элементов одного типа — ряд из шести не годится. Для пеггити и пять в ряд требование обычно состоит в том, чтобы расположить пять элементов в одну линию, даже, если эти пять эле- Рис. 11. Ситуации, ментов составляют часть какой-то вВ°~кЫи-ноГ линии большей длины. На практи- w (следующий ке> как установил Квинтон, это раз- ход за игроком личие несущественно. При изучении «X»). В обоих слу- очень большого числа игр, сыгран- сймиГовал «в£Г. НЫХ П0 пРавилам пег™> быЛО Об- ку», которая га- наружено, что цепочки, включаю- рантирует ему по- щие более пяти элементов, никогда беду. не образовывались. В основном игры велись между людьми и программой для вычислительной машины, однако в ряде игр партнерами были люди. (Тот факт, что на практике не образовывалось цепочек из шести и более элементов, не доказывает, что возможность их образования не влияет на ход игры. Однако анализ игр, проведенный игроками, приводит к иному заключению.) Для игр рассматриваемого типа нет необходимости в обследовании дерева возможностей. Поскольку после размещения элементы остаются на своих местах, за построением выигрывающей комбинации можно следить непосредственно по ним. Для этих игр можно найти «непобедимые» комбинации элементов, т. е. такие, которые приводят к выигрышной ситуации. Даже в случае привычной нам формы игры крестики — нолики на решетке 3X3 возможны конфигурации ,«вилка», которые обеспечивают победу (но которые могут возникнуть лишь в играх с очень малоопытным партнером). На рис. 11 показаны две конфигурации, в которых игрок «О» построил «вилку», обеспечившую ему побе- 114
ду, несмотря на то что очередной ход за отроком «X». В играх пеггити и гоу-мок возможны различные комбинации, которые позволяют игроку добиться выигрыша; для этого он должен а) построить из своих элементов одно из таких сочетаний и б) не дать противнику построить подобные сочетания из его элементов. Муррей и Элкок написали программу, которая способна обучаться играть в гоу-мок. В конце игры с неким противником программа анализирует запись ходов и выясняет, какого рода сочетания элементов предшествовали выигрышу. На первых этапах обучения в основном выигрывал партнер, поэтому можно считать, что программа обучалась, копируя партнера. Когда же программа выделяла непобедимые сочетания (выигрышные комбинации), она начинала играть, достигая таких комбинаций для себя и препятствуя их построению у партнера. В программе Муррея — Элкока сочетания хранятся в обобщенной форме, в которой не делается различия между горизонтальными или вертикальными цепочками и цепочками, расположенными по диагонали. Некоторые такие обобщения являются полезным свойством обучающейся' программы. Сочетания элементов равнозначны независимо от того, под какими углами расположены составляющие их цепочки. Однако в программе, предназначенной для обучения путем использования слабостей партнера, предпочтительней, если есть возможность различать сочетания элементов, содержащие диагональные цепочки, и сочетания, включающие только горизонтальные или только вертикальные цепочки. Установлено, что игроки-люди с большей вероятностью пропускают непобедимые сочетания в том случае, когда те содержат диагональные цепочки, чем в случае, когда такие цепочки в них отсутствуют, и на самом деле «обучающаяся» программа должна строиться с использованием этого обстоятельства. Игру пеггити изучал Квинтон [4]. Он исследовал процесс приобретения навыка игры людьми, с тем чтобы в дальнейшем использовать подобные методы в обучающейся программу, Он предлагал каждому 115
игроку-человеку сыграть серию игр с программой, написанной для вычислительной машины. В каждой игре эта программа записывала все ходы, а также время, затраченное противником на выбор хода. Квинтон выбрал для исследования данную конкретную игру потому, что она достаточно трудна и вполне может быть реальным вызовом для игрока, но вместе с тем не настолько трудна, чтобы люди не могли освоить навыки этой игры за сравнительно короткое время эксперимента, Другое преимущество данной игры заключается в том, что в нее играют немногие (по крайней мере за пределами стран Юго-Восточной Азии), поэтому игроки начинают приобретать навыки практически с нуля. Использованная программа могла играть, руководствуясь стратегиями трех уровней. В каждом эксперименте она начинала с самого низкого уровня, переходя на следующий, как только человек выигрывал две партии подряд. Были составлены программы, позволяющие анализировать записи проведенных игр с целью обнаружить точки, в которых возникали важные сочетания ККвинтон называет их ключами) s Впоследствии можно было проследить развитие или блокирование каждого ключа (автоматически, с помощью программы анализа), и тогда возникала возможность выяснить, усвоил ли игрок в этот момент значение ключа данного типа. Обучение с помощью ключа не обязательно должно быть сознательным процессом. Проведенное исследование призвано было способствовать выяснению вопросов обучения в более широком плане. Программу анализа можно было бы непосредственно приспособить для создания играющей программы, способной обучаться извлекать выгоду из слабости и ошибок своего партнера, Игра го Исследование дерева возможностей оправдано Лишь в том случае, если -число возможных ходов из данной позиции не чрезмерно велико. Использование же методики, применимой к играм типа «крестики — нолики», возможно только тогда, когда выигрышные комбинации образуются в некоторой подобласти ограниченного размера. Ни одно из названных условий неприменимо к игре го. 116
Эту игру (см. [5] У некоторые считают более сложной, чем шахматы. Безусловно, написать программу для вычислительной машины, способной играть в эту игру с какой-нибудь степенью профессиональности,— задача весьма трудная. Игра го ведется на прямоугольной решетке наподобие игры гоу-мок или леггити, и игроки размещают фишки по очереди точно таким же образом. Цель игры, однако, состоит не в том, чтобы образовать конкретную комбинацию (типа цепочки из фишек, принадлежащих данному игроку), а в том, чтобы «окружить» и «взять» области, целиком покрытые фишками противника. «Окружать» нужно так, чтобы любой шаг по вертикали или по горизонтали из окруженной области приводил к клетке, занятой одной из фишек окружения. Если же существует возможность сделать шаг в замкнутый пустой «остров», то это сводит «окружение» на нет. Эта задача, по существу, носит геометрический или топологический характер и обладает тем свойством, что процесс восприятия ее человеком настолько специфичен, что до сих пор его не удалось смоделировать в программе для вычислительной машины. Программы, написанные для игры го, по человеческим стандартам, играют пока весьма слабо. Случайные игры Все игры, о которых мы говорили до сих пор, относятся к играм с полной информацией. Иначе говоря, в этих играх ничто (за исключением, разве, мыслей противника) не скрыто от игрока. В них отсутствует случайный элемент такого типа, как при бросании кости, в рулетке или при сдаче колоды карт.-С точки зрения теории игр Бореля и фон Неймана (см. книгу Вайды [6]) игры с полной информацией считаются «тривиальными», но поиск эффективных игровых стратегий и в этом случае отнюдь не тривиальная задача. Вычислительные машины легко запрограммировать для ведения игр со случайным элементом. Программа для игры трик-трак в одном случае на самом деле побила чемпиона мира [7]. Одиночный выигрыш в таких играх не рассматривается как сколько- 117
нибудь значительное событие, и игра вычислительных машин, по мнению специалистов, далека от совершенства. Даже там, где вычислительная машина не ведет непосредственно игру, но используется для анализа, результаты которого человек хранит в своей памяти, выигрыш от применения машины может быть существенным. Слейгл [8] описывает удивительный случай с профессором Торпом, который занимался играми черный валет и баккара с использованием машинного анализа. Удачная игра принесла ему огромное состояние, и, не имея сил противостоять губительной страсти, профессор в конце концов опустился до того, что стал работать в казино Лас-Вегаса.
7 РАСПОЗНАВАНИЕ ОБРАЗОВ Многие из тех полезных функций, которые легко осуществляет мозг, но которые достаточно трудны для вычислительной машины, попадают в категорию распознавания образов. С некоторыми из этих функций человек справляется настолько естественно, что их принято считать само собой разумеющимися. Когда человек, .например, читает малоразборчивый рукописный текст или ведет беседу за праздничным столом, он обычно не думает, что выполняет высокоинтеллектуальную задачу. Тем не менее он делает то, что весьма трудно имитировать на машинах. Задачи идентификации слов в письме (или, если угодно, в печатном тексте) или в устной речи относятся к области распознавания образов. Разумеется, распознавание образов не ограничивается только распознаванием слов: наша повседневная действительность требует распознавания лиц людей, а также множества различных вещей, из которых, скажем, ножи, вилки, ложки, капуста, автомобили — это всего лишь несколько предметов, которые сразу приходят в голову. Первобытным людям (и животным) приходилось распознавать хищников и потенциальную жертву (будь то животное или растение) и т. п. Системы искусственного распознавания образов называют «ушами и глазами вычислительных машин». Как заметил Оливер Селфридж, без распознавания образов «интеллект» вычислительных машин — нереальное, эфемерное свойство. Иначе говоря, распознавание образов — это особый тип интеллекта; ввод и вывод данных в таких системах осуществляется в текстовом и цифровом виде. Когда данные поступают от оператора-человека, наиболее вероятно, что они будут тщательно отобраны и заведомо 119
окажутся «по существу». Вычислительная машина с «глазами и ушами» лишена преимуществ такого предварительного отбора: она должна сама выбрать нужные данные из того громадного потока информации, которая в основном не имеет прямого отношения к делу, точно так же, как это приходится делать человеку или животному. Искусственное распознавание образов вводит вычислительную машину в тесный контакт с реальным миром. Исследования в области роботики также направлены на то, чтобы дать машине возможность непосредственно взаимодействовать с реальным миром. Эти два направления придают искусственному интеллекту особый характер, весьма отличный от всего достигнутого ранее. Распознавание образов может относиться к любой из сенсорных модальностей и не обязательно ограничиваться одной из них. Наибольшее развитие получило распознавание зрительных образов. К числу сравнительно простых относятся работы по распознаванию печатных символов, используемых для «читающих машин», которые применяются в деловых сферах, или тех знаков, которые используются в системах чтения для слепых. Автоматическое чтение напечатанных символов '(оптическое распознавание образов, ОРО) находит гораздо более широкое применение, чем могут представить себе многие люди. Так, многие финансовые и другие документы печатаются таким образом, чтобы их могли прочитать как люди, так и машины. Чтение существенно упрощается, когда буквы в соответствующих текстах напечатаны одним стандартным шрифтом. Тогда распознавание сводится к применению шаблонов. Пример печатного материала, предназначенного для чтения машиной, представляют собой стилизованные символы на банковских чеках. Они напечатаны магнитными чернилами и читаются не оптическими средствами, а устройствами, регистрирующими магнитное поле. Это в значительной степени делается потому, что в процессе прохождения через банковскую систему чеки обычно густо покрываются печатали и поэтому часть цифр оказывается замазанной. Поскольку для резиновых печатей используются №
обычные, немагнитные, чернила, они не препятствуй ют магнитному чтению. Символы на чеках продуманы так, что допускают очень простой метод чтения: они сканируются с помощью вертикальной щели устройством, подобным считывающей или записывающей магнитофонной го* ловке. Выходной сигнал щели пропорционален коли-» честву магнитных чернил. Форма этого сигнала, обрисовываемая по мере того, как щель проходит сим* вол слева направо, для каждого символа различна, что позволяет машине распознавать, какой символ был прочитан. Распределение магнитных чернил по вертикали для чтения машиной не существенно, но важно для того, чтобы эти символы были понятны людям. При таком способе работы отпадает необходимость в том, чтобы считывающая головка располагалась очень точно по вертикали: это очень удобно, поскольку позволяет сделать щель намного больше, чем высота символа. Конечно, одну и ту же информацию на чеке можно было бы представить двумя различными способами: магнитными чернилами для чтения машиной и обычной печатью для чтения людьми. Однако использование единого символа, читаемого и машиной, и человеком, дает экономию в затратах на печать и, кроме того, исключает подозрение, что эти два представления не соответствуют друг другу. Кроме чеков большое число других финансовых документов, например счета за газ и электричество, содержат цифры, которые при поступлении в учетную организацию считываются методами ОРО. Эти цифры напечатаны шрифтом, который специально разработан для использования методов ОРО, но вместе с тем легко читается и людьми. Машинное чтение существенно затрудняется, если символы на документах не напечатаны определенным, заранее установленным шрифтом и если в тексте встречаются печатные цифры, вписанные челове- ком. Существуют читающие машины, предназначенные для чтения разных шрифтов и записей от руки (но печатными буквами); однако добиться того, чтобы машина читала обычные рукописные символы, весьма трудно. Очень сложной при этом оказывается проблема сегментации, т* е. решение вопроса 121
о том, где кончается одна буква и начинается другая. Для печатных символов и печатных букв, вписанных от руки, была разработана методика, которая обеспечивала машинное чтение с незначительными ошибками. (Строго говоря, некоторая доля ошибок и отказов имеется, поскольку допускается, что вместо распознавания символа машина может «заявить»: «Я не знаю».) Почтовое ведомство Великобритании проделало работу по внедрению систем автоматического распознавания почтовых кодов для автоматической сортировки почты. В этом случае не произойдет ничего страшного, если машина для какой-то небольшой части почтовых отправлений сообщит: «Я не знаю». Тогда эти отправления просто придется подвергнуть ручной сортировке, как и ту часть отправлений, где код вообще не указан. В связи с применениями машинного чтения в деловой сфере полезно помнить, что почти всегда существуют какие-то варианты, позволяющие обойтись и без применения читающих машин (вроде использования двух видов печати числа на банковских чеках). В Советском Союзе, где введена система числовых почтовых кодов, конверты и почтовые открытки выпускаются с нанесенным на них трафаретом из пунктирных линий, как показано на рис. 12. Цифры на коде записывают, обводя соответствующие линии трафарета (рис. 13). На обратной стороне конвертов показано, как следует «строить» каждую из десяти цифр (рис. 14). В устройстве, предназначенном для чтения почтовых кодов, записанных в такой форме, необходимо лишь правильно расположить трафарет (чему помогают нанесенные на трафарет жирные черточки), а затем определить, какие из линий были обведены. Одним из первых применений метода ОРО была машина ERA1, использованная для чтения кассовых чеков. Она предназначалась для широкой сети мелких магазинов. Идея состояла в том, чтобы данные, нанесенные на чеки, и были записями о покупках, произведенных в отдельных магазинах, которые мож- 1 Аббревиатура от англ. Electronic Reading Automation — электронный читающий автомат. — Прим. перев. 122
но было бы обрабатывать на центральной вычислительной машине. Казалось бы, эту проблему можно решить иначе: снабдить каждый кассовый аппарат устройством записи на магнитную или бумажную ленту той информации, которая чернилами наносилась на чеки, Вследствие большого числа кассовых аппаратов, раз- Рис. 12. Сетка из пунктирных линий для нанесения почтового кода на конвертах, выпускаемых в Советском Союзе. Рис. 13. Сетка с почтовым кодом Института проблем передачи информации АН СССР, г. Москва. Рис. 14. Образец написания цифр почтового кода, напечатанный на отвороте конверта. бросанных по различным магазинам, оказалось дешевле установить одну читающую машину, а кассовые аппараты оставить такими, какие они есть. (Но на практике все выглядит значительно сложнее. Чтобы ERA работала с определенной степенью точности, необходимой в деловых операциях, требовалось высокое качество печати на чеках кассовых аппаратов.) Распознавание символов — это лишь один из видов распознавания зрительных образов. В частности, ввиду повышенного интереса к роботике сегбдня основное внимание уделяется анализу сцен, тогда как прежде обычно предполагалось, что изображение, подлежащее распознаванию, расположено изолированно на каком-то фоне. При распознавании образов, как правило, удается обеспечить это путем предвари-- 123
тельной подготовки изображения, однако в других слу« чаях приходится узнавать объекты, частично загоро-' женные другими объектами и расположенные на достаточно сложном фоне. Другая сенсорная модальность — автоматическое распознавание речи — имеет много потенциальных приложений, и поэтому ей уделяется очень большое внимание. Герои научно-фантастических фильмов чаще всего общаются с вычислительными машинами, используя обычную речь. При этом зрителям легче следить за происходящим на экране, чем в случае, если бы диалог человека с вычислительной машиной велся с помощью клавиатуры. Но кроме того, в этом находит отражение тот факт, что для людей речь — наиболее естественное средство, общения. Без сомнения, устройство распознавания речи, способное работать, не имея никаких ограничений на входные сигналы, — дело далекого будущего. В действительности же заставить такое устройство работать на основе лишь речевого входного сигнала — задача вряд ли выполнимая. (У человека процесс распознавания речи действует не изолированно, а опирается на механизмы, связанные с понима-» нием смысла.) Но в том случае, если требуется узнать слово из небольшого словаря возможных слов, автоматическое распознавание речи представляется делом вполне реальным, если устройство распознавания может быть «натренировано», т. е. каким-то образом приспособлено к данному конкретному диктору. Даже устройство, способное различать произносимые вслух десять цифр, может обеспечить полезный диалог с вычислительной машиной по телефонной линии. Подобными устройствами были снабжены коммерческие вычислительные установки. (Генерирование речевых сигналов на выходе вычислительной машины осуществить сравнительно просто; соответствующие устройства имеются в продаже, причем покупатель может выбрать по желанию мужской или женский голос.) Устройство, способное распознавать слова из небольшого словаря, может оказаться полезным во многих ситуациях, где оператор должен отдавать 124
машине приказы, когда его руки чем-то заняты. Та* кое устройство полезно рабочему, который благодаря ему получает возможность отдавать довольно однообразные команды типа «вверх», «вниз», «влево», «вправо», «стоп» цеховому подъемному крану. Ана* логичная ситуация возникает при сортировке почтовых посылок, когда оператор помещает посылку на ленту конвейера и в то же время называет город, в который она посылается. В отсутствие устройства автоматического распознавания речи здесь пришлось бы держать второго оператора, который должен был бы нажимать кнопки, передавая информацию о пункте назначения оборудованию, направляющему, посылки с конвейера в соответствующие почтовые мешки. При автоматическом распознавании речи можно обойтись одним оператором. Эванс из Национальной физической лаборатории (г. Теддингтон) разработал систему распознавания речи, способную реагировать на словарь в несколько сотен слов. Он рассматривает свою систему в связи с ситуацией, когда команда самолета получает ка« кую-то информацию в ходе полета. Секрет состоит: в том, что в каждый момент времени система чув* ствительна лишь к небольшому подмножеству слов словаря, зависящему от данного контекста. Например, лри некоторых вопросах, которые система может задать пользователю, единственным разумным ответом может быть одна из десяти цифр — в таком случае система будет чувствительна только к этим десяти словам. У человека распознавание речи суще-: ственно зависит от контекста, и принципы, на кото* рых Крис Эванс построил свою систему, есть не что иное, как простая форма использования зависимости от контекста. Люди обладают также способностью к распознаваемо тактильных образов, и этой проблеме в последнее время стали уделять заметное внимание в работах то искусственному интеллекту. Существуют ташке формы распознавания, не связанные ни с какой сенсорной модальностью, например распознавав ние врачюм некоего комплекса симптомов, указываю*: щего на конкретное заболевание, или расшзнава-: ние метеорологом комплекса данных, указывающего, на степень вероятности какой-то конкретной оогоды, 125
Распознавание образов и обучение Распознавание образов — это область, где наиболее отчетливо видно, что человеческие способности зависят от обучения и опыта. Ребенок, учится распознавать буквы главным образом на многочисленных примерах, показ которых каждый раз сопровождается точной и правильной классификацией. Следовательно, процесс распознавания образов неразрывно связан с обучением, и вполне естественно рассматривать их совместно. В принципе устройство распознавания зрительных образов могло бы действовать посредством исчерпывающе полной классификации. Предположим, изображения формируются на своего рода сетчатке, которая представляет собой некий массив светочувствительных элементов. Обычно на вход системы распознавания образов поступают сигналы от подобного массива. В одной из систем массив содержал 32 элемента по ширине и 48 элементов по высоте, т. е. всего 1536 элементов. Но даже для такой грубой сетки (которая намного грубее телевизионного изображения) при условии, что каждый элемент создает двоичный сигнал (черное или белое, без серого), число возможных образов составляет 21536, или примерно 10460. Для обеспечения исчерпывающей классификации распознающее устройство должно располагать возможностью классификации каждого из этого громадного числа образов. При таком большом числе возможных образов работа путем исчерпывающей классификации нереальна. Даже при достаточном объеме памяти для ее заполнения посредством определенной процедуры обучения потребуется эксперимент колоссальных (и неосуществимых) масштабов. На практике системы распознавания действуют таким образом, что прежде всего обрабатывают изображение с целью выделеция признаков, получая тем самым некоторое новое представление с заметно уменьшенным информационным содержанием. Эти признаки могут либо представлять собой определенные участки изображения, либо иметь достаточно общий характер, скажем давать ответ на вопрос: «Имеется ли на изображении горизонтальная ч$рта?» 126
Оливер Селфридж описывает весьма общую схему обучающейся системы, предназначенной для распознавания образов. Он назвал ее пандемониум, подчеркнув тот факт, что эту схему лучше всего представлять работающей с сильным использованием параллелизма. Элементы пандемониума названы демонами. Это относительно автономные сущности, подобные демону Максвелла в термодинамике. \Демон - решени Демоны понимания Вычислитель- / I \ше демоны Демоны данныаз Рис. 15. Пандемониум Селфриджа. На. самом нижнем уровне находятся демоны данных, или демоны изображения (рис. 15), которые играют роль светочувствительных элементов сетчатки глаза. На самом верхнем уровне находится демон решения, который определяет выход всей системы в целом, а именно указывает, к какой категории относится узнанный образ. Ниже демона решения имеется некоторое число демонов понимания, каждый из которых соответствует одной из узнаваемых категорий. Идея состоит в том, что каждый демон пони-< мания должен определить меру соответствия образа, поступившего на демоны данных, с категорией обра** за, представленного этим демоном понимания. Цем 127
лучше это соответствие^ тем более сильный сигнал посылается к демону решения, который выбирает самый сильный из поступивших сигналов. Можно было, бы сделать так, чтобы демоны по* нимания получали входные сигналы опт демонов данных непосредственно, но, поскольку в требованиях различных демонов понимания иэдеетея некоторое сходство, более экономично включить в процесс распознавания образов этапы предварительной обработки, которые могут быть одинаковыми для нескольких демонов понимания. Такую роль играют вычислительные демоны, соответствующие устройствам извлечения признаков в других схемах. Пандемониум представляет собой обучающееся устройство, и каждый демон понимания постоянно осуществляет настройку своего способа комбинации выходов вычислительных демонов при образовании своего выхода, направляемого демону решения. Эта подстройка определяется обратной связью с окружающей средой, указывающей на правильность или полезность принимаемого решения. Обратная связь может реали-* зоваться либо в форме общего указания на полезность (степень достижения цели, используемой в целевой функции для подъема на холм), либо в форме входного сигнала, поступающего от «учителя», указывающего ретроспективно правильную классификацию. Если обратная связь относится к последнему типу, то для контроля процесса обучения можно использовать алгоритм тренировки персептрона (гл. 8). Селфридж считает, что все демоны понимания вычисляют взвешенные суммы сигналов, поступающих от вычислительных демонов, так что i-й демон понимания вычисляет свой выходной сигнал Di следующим образом: Dt = S Щ&1* где суммирование ведется по всем вычислительным демонам, а й\ — выходной сигнал /-го вычислительного демона. Процесс настройки в демоне понимания связан с изменением весов хюц. Как мы уже отмечали, способы настройки- должны зависеть от характера обратной связи системы* в целом. Если это скалярная оценка Ш
степени достижения цели, то настройка основывается на процедуре подъема на холм, как это описано в статье Селфркджа. Когда ахи веса татювы, что принимаемое решение близко к оптимальному, то для любого вычислительного демона, становится возможным вычислить его ценность для всей системы в целом. Ценность вычислительного демона определяется тем, насколько используется его выход. Подходящей мерой ценности /-го вычислительного демона могла бы быть величина Такое в^шшшше данности позвшияет производить изменишь & используемом множестве:вычислительных демонов: мшкно* нащш-джер, аатоматическн исключать малшдашые демоны и за-менжгь их другими. Таким, ойразом, само£овершен£твоаа*ше пандемониума иряшбрешет (хт®щтайшщюшт£я характер, т. е. не. свадишся щшсто к с&мооспгимнзедии путем подстройся аарш^етрош Селфридж. щэедоши&ет два способа- получения новых вычислительные демонов. Оба. они ©снованы на том соображений, что^ но-видшмому,, целесообразно создавала демоны,, щжеюдще чтогто общее с теми уже сущ$£твушцшйШ: детками^, которые доказали свою высокую* ценшасть. Эти методы называются слиянием и демшшгт а щтацм&й.. Сльшше просто означает, что выходные ешшалы двух демшшн высокой ценности, комбинируются ме- жду собой. Если, ати вшшдаые сигналы носят логический харшоер тина «все или ничего», то существует де&яшь способов 1 их комбинирования, которые шэрождашш новый сигнал «асе или ничего». Селфридж предлагает выбирать одну из десяти возможностей, нфшзйольнйш. образом, На* igmL, L5 HQ^aiaaiiOv ч<во на вход одного из вы- чиедишелшшх дшйшшв постунают си он алы ow двух друдгиж дашшшв: зш демон* тторый^ввшшжно, возник в рез§отьвлаше: сяоюййиж Дл*а того что&ы два входных *' Так гак or двуз? переменных» имеется- 16 различных функций* но две из них константы 0.-.и 1, а четыре функции одного1, переменного. -^Прим. ред. б А. Эндрю J29
демона имели подходящие меры ценности, необходимо, конечно, чтобы демон, получающий от них сигналы, вносил вклады в суммы, определяющие ценности составляющих демонов. Величина этих вкладов, как предполагается, должна зависеть от величины его собственной суммы, определяющей це/t- ность. Можно убедиться, что обратная связь, по которой поступают вклады в меры ценности в сети такого сорта, осуществляется через достаточно длинную цепочку элементов. Автор настоящей книги [2] занимался изучением этой значащей обратной связи (и некоторых ее вариантов), считая ее весьма важной характеристикой самоорганизующейся сети. Хотя Селфридж постулирует слияние, он ничего не говорит о необходимости такой обратной связи по цепочкам элементов. Общее представление о необходимости сохранения путей «доставки» полезной информации хорошо согласуется с наблюдаемым поведением живых систем. Хорошо известно, например, что мышцы укрепляются при тренировке и становятся слабее в отсутствие ее. По-видимому, то же самое можно сказать и о костях. Установлено, что сенсорные окончания также развиваются при их активном использовании. Другим способом генерации новых вычислительных демонов является деление с мутацией. Суть этого метода состоит в том, что должны формироваться новые демоны, подобные (но, конечно, не идентичные) тем, ценность которых оказалась высокой. На практике трудно добиться нужной степени подобия. Необходимо, чтобы демоны модифицировались существенным образом и чтобы возникали качественно новые типы. Представление демонов должно быть таким, чтобы в результате мутаций характер вычислительного демона не разрушался полностью, что обычно происходит в программе, записанной на машинном языке, при изменении одного или пары двоичных разрядов, но чтобы в то же время поведение демона могло оказаться качественно новым. Эта проблема аналогична той, что связана со способами введения качественно новых членов в с. о. ф. в программе Сэмю- эля для игры в шашки. Данная проблема имеет также отношение к принципу эвристической связи Минского. 130
При начальной формулировке принципа пандемониума Оливер Селфридж обсуждал, в частности, его применение к. автоматическому восприятию азбуки Морзе, передаваемой вручную. Он обнаружил, что длительности точки, тире и интервала часто не связаны между собой стандартным образом (в соответствии с которым тире в три раза продолжительнее точки, интервалы в пределах кода, представляющего один символ, имеют ту же длину, что и точка, а интервалы между символами имеют ту же длину, что и тире). Правильная интерпретация символов азбуки Морзе должна основываться на анализе длины передачи, в которой они встречаются. В пандемониуме это достигается благодаря тому, что входные сигналы для демонов данных представляют длину сообщения, простирающегося по обе стороны от символа, который подлежит интерпретации. Применение метода пандемониума к распознаванию образов описано Селфриджем и Нейссером [3]. Выходными сигналами вычислительных демонов являются ответы на вопросы типа того, что мы задавали ранее: «Имеется ли в символе горизонтальная черта?» Возможны и другие вопросы подобного сорта, например: «Какая половина данного изображения более зачернена, верхняя или нижняя?», «Является ли фигура выпуклой или вогнутой?» и т. д. В результате было достигнуто распознавание изображений с малой вероятностью ошибки. Однако в этом практическом приложении метод деления с мутацией не использовался. В заключение своей статьи Селфридж и Нейссер признают, что важнейшие проблемы, по существу, остались нерешенными: «Наиболее важный процесс обучения остался незатронутым: ни одна из имеющихся программ не в состоянии вырабатывать свои собственные тестовые критерии. Эффективность всех этих критериев неизбежно ограничивается изобретательностью или произволом программистов. Вряд ли мы понимаем, как можно снять эти ограничения. А пока «искусственный интеллект» остается лишь искусной хитростью». 5* 131
Распознавание фиксированного шрифта Необходимость в выделении признаков посредством вычислительных демонов или эквивалентных им систем с другими названиями возникает только тогда, когда возможны вариации одного и того же изображения или символа.. В большинстве коммерческих приложений систем распознавания образов шрифт, используемый для символов, хорошо известен и распознавание является лишь вопросом использования эталонов. В этом случае необходимо просто ввести некошеный допуск на расхождение между символом и шаблоном с. учетом дефектов печати и помарок на бумаге. Мажно вычислить меру соответствия между двумя изабражениями, одним из .которых яв&яется распознаваемое входное изображение, а другое-Зфани.тся в памяти в виде эталона. Такую ме#у иногда называют праст4шы£Т€£ниай (или двумерной) кросс-корреляцией. Подходящей мерой может служить доля общей площади, в которой два изображения согласуются (т. е. в обоих изображениях совпадают черное или белое),, когда их .накладывают друг на друга после того, как они .приведены в стандартное положение. Идентичные изображения сливаются .в одно. В читающей машине, предназначенной для определенного шрифта,- можно получить ,*фосс-ясорреля- цию входного символа с хранимыми в памяти устройства эталонами, .причем распознавание определяется наиболее хорошо согласуюшгимоя эталоном. £сли ни один из хранящихся в памяти эталонов не дает хорошего соответствия или &отя бы соответсшия, явно превышающего саотаехсхвия входного изображения с другими эталонами, то машина может ответить: «Я не знаю». Шрифт, которым лешхаюхса цифры на счетах за газ и электричество, тщательно подобран таким образом,, чтобы пространственная кросс-корреляция между символами этого шрифяш была небольшой. Распределенные признаки Джон Парке из Национальной физической .лаборатории предложил систему распознавания образов, предназначенную для идентификации шрифтов и на- 132
писанных от руки печатных букв. Система предназначена для широкого применения в тех сферах деятельности, где существует постоянная потребность в переносе дааных с документов в память вычислительной машины. Система Паркса основана на представлении символа в виде массива 32 X 48 небольших квадратных элементов (иногда называемых пикселями). Этот массив просматривается с целью обйаруженкя отреаков + + + •+ '.+ 1 1 ► 1 .— ^+ ' —' +: — I — + — [— + — + .— 1 — Рис. 16. Саязн тсгсек отсчета решетки при поиске но- ризонтадьных. отрезков пря- Рис. 17. Связи точек отсчета решетки при поиске отрезков прямых, идущих слева направо, снизу вверх. прямых, которые могут быть ориентированы различным образом. Просмотр осуществляется средствами электроники, но делается точно так, как если бы на - каждый участок исходного массива, содержащий 7X7 пикселей., накладывалась решетка, состоящая из 7 X 7 фотоэлементов. В действительности решетка движется по изображению слева направо, перемещаясь каждый раз на один пиксель, после чего опускается на один пиксель вниз и снова перемещается слева направо и т. д. В каждом положении регистрируется выходной сигнал каждого фотоэлемента и производятся определенные сравнения между группами фотоэлементов. На рис. }6 показано, какие сравнения могут осуществляться между подмножествами фотоэлементов: среднее из выходных значений, помеченных знаком «плюс», сопоставляется со средним из значений, отмеченных знаком «минус». Если изображение более темное под ячейками, «плюс», то мы получаем данные 133
относительно возможности присутствия в этой области горизонтального отрезка: Строки фотоэлементов взяты длиной в пять элементов, хотя они могли бы иметь длину и 7 элементов. Это позволяет не слишком жестко отбирать линии по направлению. Аналогичное сопоставление данных,- полученных от фотоэлементов, составляющих вертикаль, выделяет отрезки линий, расположенные примерно вертикально. Сравнение таких элементов по диагонали (как показано на рис. 17) для одного из двух возможных направлений определяет наклонные линии. Таким образом, исходное множество пикселей, каждый с указанием яркости, превращается в массив ячеек, ряд из которых несет информацию о наличии отрезка прямой, идущего в том или ином определенном направлении. (Если в какой-то ячейке имеются данные, свидетельствующие о наличии отрезка, одновременно идущего как бы в двух или трех направлениях, то допускается, чтобы в ней хранилась информация сразу о нескольких направлениях.) Новый массив опять просматривается с помощью решетки 7X7, которая при определенных условиях указывает на выявление некоторого морфологического признака символа. Таким признаком может быть окончание линии (допускалось восемь ориентации), изменение направления (допускались острые, прямые и тупые углы, каждый в восьми положениях), слияние Рис. 18. Решетка, используемая на втором этапе сканирования, целью которого является обнаружение горизонтальной прямой, идущей слева. Ячейки, помеченные символом Н, должны занимать положение, в котором при первом просмотре был обнаружен горизонтальный отрезок. Аналогично символ V означает наличие вертикального отрезка (если таковой имеется). Символ D означает, что отрезок идет слева направо, снизу вверх, символ d соответствует наклону отрезка в другую сторону. Там где буквенный символ помечен черточкой, в ячейке может быть все, что угодно, за исключением указанной там буквы. Этот на первый взгляд произвольный критерий для определения морфологического признака явился результатом большой экспериментальной работы; он должен быть и не слишком жестким, и не слишком расплывчатым. н V V н н н V V V 7 н V V V 7 н V V D D d d D D H H Ti d d Tl h\ H| 134
или пересечение. С учетом их разнообразия и ориентации в системе имеются 54 различных морфологических признака. На рис. 18 показаны необходимые условия, при которых элементы под решеткой в ходе второго сканирования могли бы установить окончание горизонтальной прямой, идущей слева. Представление символа сводится к перечню морфологических признаков с указанием их примерного положения в области изображения. Довольно простая программа, составленная на основе обширной статистики, собранной на свободно написанных цифрах, позволяет затем переходить от списка признаков к довольно надежному узнаванию. Первоначальный просмотр изображения с помощью решетки фотоэлементов и обнаружение отрезков прямых очень хорошо соответствую! процессу, который происходит в зрительной коре мозга животных на начальных этапах обработки изображений. Это обстоятельство обсуждается далее, в гл. 12. Слуховое восприятие Произнесенное слово, предложение или какая-либо последовательность звуков могут быть преобразованы в двумерную картинку без сколько-нибудь значительной потери информации. Такая картинка называется звуковой спектрограммой. Обычно по горизонтальной оси в ней откладывается время, а по вертикальной — частота (скажем, от 50 до 3000 или 4000 Гц). Звуковая энергия, переданная на определенной частоте в некоторый момент времени, отображается путем за- чернения соответствующего участка на спектрограмме. • Звуковые спектрограммы, построенные в реальном масштабе времени, использовались для того, чтобы дать возможность глухим людям «слышать», наблюдая за экраном дисплея. Пользуясь этим вспомогательным средством, глухой человек оказывается в состоянии участвовать в разговоре. Методы распознавания произносимых слов могут быть весьма сходны с методами распознавания символов и других зрительных образов. Признаки, выделяемые по спектрограмме, по-видимому, должны быть 135
Тгроще, чем морфологические признаки в схеме Пар- кса. По всей вероятности, признаками здесь могут быть случаи обнаружения достаточно большой энергии в той или иной частотно-временной ячейке. Определенная трудность состоит в том, что слова «эластичны» во временной области: слова, имеющие одно и то же значение, могут быть произнесены быстро или медленно, со слогами укороченными или растянутыми. Такой эластичности почти нет в частотной области— гласным звукам соответствуют вполне определенные формттные частоты. Как отмечалось ранее, искусственное распознавание речи может быть достигнуто при условии, что словарь возможных слов невелик. В системе распознавания слов могут быть использованы принципы персептрона (см. следующую главу), что позволяет обучить систему голосу конкретного говорящего лица. Система органов слуха человека обладает поистине удивительными свойствами: люди могут вести беседы и в условиях шумной вечеринки, и по телефону при наличии сильных искажений и помех. Восприятие речи человеком не ограничивается лишь распознаванием слов или фонем. Оно включает в себя целый ряд сложных взаимосвязанных процессов, протекающих на многих уровнях. Об этом мы будем говорить подробно в следующей главе в разделе «Инженерия знаний». Кластерный аналмз До сих пор., говоря о проблеме распознавания образов, мы предполагали, что нам ааранее известны категории (классы) тех образов, которые предстоит распознать. Более гибкая система, предназначенная для обучения распознаванию, должна сама открывать эти категории. Некоторые системы, предназначенные для распознавания символов,, были способны к «обучению без учителя». Иными словами, при предъявлении большого числа вариантов букв такая система должна быть в состоянии решать для себя, что в поступивших на ее вход сигналах представлено 261 раз- 1 Речь идет об английском алфавите, состоящем иэ 26 букв. — Прим. перев. 136
личных образов (или 52, если учитывать прописные и строчные буквы). Любую схему такого типа, работающую без обратной связи, указывающей на полезность создаваемой классификации, следует каким-то образом несколько «подтолкнуть» в направлении получения требуемого результата. В отсутствие обратной связи, свидетельствующей о целесообразности результата, буквы точно .так же могли быть расклассифицированы, например, Рост х х х * * X х * X X * х * X X v X х Вес Рис. 19. Диаграмма рассеяния, каждая точка которой соответ* ствует какому-то лицу и определяется его ростом и весом. Пунктирная линия разделяет две группы лиц. на широкие и узкие или на содержащие замкнутые области и не содержащие таковых. В некоторых подходах к распознаванию- образов используется метрическая информация — и входные значения могут быть представлены точками в фазовом пространстве. Например, если отложить по осям координат, как это сделано на рис. 19, рост и вес людей, то из приведенной выборки следует, что люди разделились на две группы; точки соответствующие этим группам, разделены на рисунке пунктиром. Нарисовав такую линию, можно распознавать новых людей в зависимости от их роста и веса как членов той или иной группы. По определению разделяющих линий, подобных стой, что изображена на рис. 19, существует обширная 137
литература (см., например, Себестьен [5] )\ В трехмерном пространстве можно найти соответствующую разделяющую поверхность, а при более высокой размерности — разделяющую гиперповерхность. Иногда разделяющая линия (или поверхность) выводится па основе некоторой известной классификации. Если классификация строится на основе самих данных (как в ситуации, представленной на рис. 19), то говорят о кластерном анализе.
8 АНАЛИЗ СЦЕН Существуют важные случаи восприятия, которые нельзя представить как задачу распознавания образов, принадлежащих некоторому конечному множеству возможностей. Даже если это и можно сделать в принципе, то возникают, как уже отмечалось, трудности, связанные с задачей разделения дискретных объектов. В последние годы особенно в связи с развитием роботики большое внимание уделяется анализу сцен. И хотя многие важные проблемы здесь остаются еще не решенными, достигнут определенный успех в создании методов интерпретации контурных рисунков многогранных объектов и групп таких объектов. На рис. 20 приведен пример ситуации, которая поддается анализу (см. работу Минского и Пейперта [1]). Интерпретация контурных рисунков, вероятно, гораздо теснее связана с более общей проблемой анализа сцен, чем это может показаться на первый взгляд. Первый этап анализа зрительных сцен, по- видимому, заключается в выделении границ тел. Именно с этого, как правило, начинается работа вычислительных программ; как показывают исследования Хьюбеля и Визеля (гл. 12), что-то подобное происходит ив зрительных центрах головного мозга животных. Хьюбель и Визель установили, что границы и отрезки линий выделяются в мозге на одном и том же уровне обработки. Следовательно, весьма вероятно, что подобным образом они учитываются и в ходе дальнейшей обработки .информации в мозге животного. Несомненно, что люди с готовностью принимают контурные рисунки за изображение твердых тел; это согласуется с предположением, что изображения твердых тел сначала обрабатываются в мозге 139
так, что становятся чем-то вроде контурных рисунков. Нет необходимости говорить, что мир не составлен из многогранников и что контурные изображения предметов реального мира не состоят исключительно из прямых линий. Рисунки, образованные отрезками прямых,— это лишь отправная точка, и в настоящее время ведется работа по созданию методики, предназначенной для анализа изображений с криволинейными контурами. Рис. 20. Контурное изображение группы юшгогранников., Анализ рисунка, подобного рис. 20, даираетея на разметку линий в соответствии с тем, что они представляют на этом изображения. Линия может быть отнесена к одному из следующих типов: а) вогнутый край; б) вытукдой край, причем обе првмьшдащие поверхности видны; в) выпуклый край, йо видна лишь одна из при* мыкающих поверхностей (к этой грушге принадлежат линии, которые образуют внешше контуры объектов). Предполагается, что объекты, изображенные на рисунке, таковы, это в одной точке может встретиться не более трех плоскостей (так что, например, прямоуголышё пирамиды из рассмотрения исключаются). Принимается также, что позиция наботэда> Д40
теля такова, что при небольшом изменении ее множество видимых им углов и пересечений линий не изменяется. Самое простое, с чего может начать программа при интерпретации контурного - рисунка, подобного рис. 20,— проведение разметки всех линий с тем, чтобы указать, относятся ли они к разновидности (я), (б) или (в). Такая система разметки называется разметкой Хаффмана — Клюса — по имени двух исследователей, которые независимо друг от друга ее разработали. Обычно линии типа (а) помечают знаком (—), линии типа (б)—знаком (+)• Несколько более сложной оказывается разметка даджй типа (в), поскольку для них желательно указать, с какой стороны находится видижая поверхность. Обычно их помечают стрелочкой, идущей в направлении видимой поверхности объекта. Нетрудно понять, что на те комбинации типов линий, которые могут встретишься * каком-то узле, накладываются определенные 'ягрэтнвдения. Они оказываются настолько сильными, что на конкретном рисунке (который представляет собой изображение некоего реально возможного объекта, подчиняющегося двум указанным выше предположениям) возможен лишь ©дня свюдаб рдаэдетш. ВнешАий край нзббрвжения тятакет быть образован лишь либиякш титта Щ, причем, .аацравлзение стрелок должно &ыть заново, ш& они следуют друг за другом по часовой стрелке. Ограничения, обеспечивающие разметку всех линий, аснявью-аются на том, что (при указанных выше тгрвдгголоженшгх*) у многогранника возможно лишь четыре типа углов. "Они показаны на рис. 21; Рис. 21. Четыре вшможнбгх типа углов в 'многогранниках (по Рафаэлу [2}). Верхние горизонтальные поверхнвсти помечены стоящими на них фигурками; еще одна фигурка спускается по вертикальной поверхности. ( 141
Рис. 22. Всевозможные способы, с помощью которых четыре типа углов могут быть представлены как Y-сочленения или как изгибы, с разметкой примыкающих линий (по Рафаэлу [2]). Нижние горизонтальные поверхности указываются фигурками, висящими на веревочных лестницах. на рис. 22 отмечены возможные позиции наблюдателя и разметки примыкающих линий. Возможны также лишь три типа Т-соединений (рис. 23). На рис. 24 представлен пример изображения, которое можно проанализировать с применением разметки Хаффмана — Клюса. Оно несколько проще, чем изображение на рис. 20. (Однако и рис. 20 вполне поддается анализу с помощью существующих программ.) После того как разметка закончена, появляется возможность перечислить отдельные объекты на рисунке и указать их поверхности. Чтобы это сделать, необходимо рассмотреть множества линий, которые служат точным продолжением друг друга 142
Рис. 23. Четыре возможных типа Т-соединений с разметкой примыкающих линий (по Рафаэлу [2]) Рис. 24. Контурные рисунки без разметки, с разметкой граничных линий и с полной разметкой. (как те две пары. вертикальных линий на рис. 24, которые, очевидно, являются краями треугольной призмы), и связать их в одну линию. Инженерия знаний1 Описанный метод позволяет анализировать достаточно сложные сцены определенного типа. Однако анализ сцен, проводимый человеком, отличается несравненно большей сложностью и включает информацию многих видов, поступающую от разнообразных источников. Для восприятии окружающего трехмерного мира (по крайней мере близко расположенных объектов) человек располагает бинокулярным зрением (способностью к объем-ному восприятию предметов), обусловленным наличием двух глаз. Бинокулярное зрение, конечно, оказывается бесполезным при интерпретации двумерного изображения сцены. Но поскольку люди справляются с такой интерпретацией 1 Название этого раздела не совсем удачно, так как за термином Knowledge Engineering скрывается более широкая область науки, которая касается проблем, связанных с представлением, преобразованием и пополнением знаний. — Прим. ред. 143
достаточно легко, по-видимому, процесс зрительного восприятия человека таит в себе много «скрытых возможностей». В процессе анализа, безусловно, используется информация, «скр!з£тая-» в тенях, отбрасываемых предметами, и в рашшчиях степени освещенности поверхностей предметов. Именно по этой причине некоторые из разумно сделанных штриховок паверхно^ стей на рисунках (подобных изображенным на рис. 21—23) могут оказать существенную помощь в интерпретации. Маленький человечек, изображенный на приведенных рисунках, иллюстрирует еще одно обстоятельство. А именно то, что в анализе преимущество отводится таким интерпретациям, которые согласуются с имеющимися у нас знаниями относительно гравитации и других физических законов. В соответствии с этим мы отдаем предпочтение таким интерпретациям, в которых предметы находятся на опоре, а не парят в воздухе. К тому же нам обычно что-то известно о типах объектов, которые могут нам встретиться, и об. их пространственных соотношениях. Общую идею здесь можно выразить такими словами: «Если мы узнали ногу, то мы знаем, где искать стопу». На самом деле, как указывал Макс Клюс, такая формулировка упрощает реальную ситуашцта. Точнее было бы сказать так: «Если шш предварительно идентифицировали в определенном на&имшпюшешга ногу и столу, соответствующим образом расположенные относительно других окончательна или временно опознанных объектов, то в таком случае мы можем с большой степенью уверенности идаш1фш*ир©в*аягъ ату комби* нацию как ншкишш кошемюет». Работы в области шгк^стшветшго интеллекта преимущественно снязашы с жжс^претадией знания, полученного самыми ршлвтавдтг- путями и имеющего самые различные свойства. Терши* ымж&шрмя. знаний обычно относится к тем исотедовашшм в области искусственного интеллекта, в; а катерн»- вы* деляется этот аспект. Макс Клюс C4%xajp, что проблемьЕ инженерии знаний наиболее целесообразно изучать в контексте зрительного восприятия. Другие исследователи сосредо* J44
точили внимание на распознавании речи, где также используются самые различные типы знаний. Клюс поставил перед собой задачу написать та* кую программу для вычислительной, машины* kqtch рая должна воспринимать на входе, раадшише изображения игрушечной фигурни типа той> чаю показана на рис 2EL Эта фигурна может находиться, в. разных положениях, и программа должна найти способ применения информации, об ограничениям, кото- Рис» 25. Изображение фигурки, использованной Клюсом для изучения проблем анализа сцен. рые накладывают на положение фигурки физические законы. Исходя? иа* эяюй информации,, программа должна интрядетицо&ажь входное изображения (с учетом 'шнай и плосшости опоры фигурки), давая- в. результате описание положения фигурки. П#и распознавании речи также возникает необходимость в? комбинации многих типов знаний,, хотя и более сложным^ образом* Первоначально, как предполагалось, исследования: по распознаванию^ речи^ должны были, раавиважьея, усложняясь от распознавания фонем* к рашюанаваншв <шов^ a эаятемх—с использованием правил синтаксиса—к» распознаванию предложе- лий и» наконец^ к пониманию* смысла всего текста*. 145
В действительности все оказалось значительно сложнее. На распознавание фонем влияет промежуточное распознавание слов и смысла, на распознавании слов сказываются семантические и синтаксические соображения. Как будет видно -из следующей главы, извлечение смысла требует непрерывного взаимодействия семантического и синтаксического анализов. На анализ речи влияют также признаки, связанные с модуляцией голоса говорящего как по высоте, так и по громкости. Если мы можем видеть говорящего, то необходимую для распознавания информацию нам дают также его жестикуляция и мимика. Процесс распознавания зависит также от акцепта и других характеристик, в частности от условий реверберации. Один Щь проектов системы распознавания речи основывался на использовании массива мини- компьютеров для параллельного анализа различных особенностей речи, причем выходы этих миникомпью- теров должны были объединяться в центральной вычислительной машине. Синтаксис и распознавание образов В любом процессе распознавания требуется определенное представление классов объектов, подлежащих распознаванию. Там, где приемлемо совмещение с эталоном, берется представление в форме эталонов. Во многих приложениях возможны различные варианты для образов, относящихся к одному классу, и часто весьма трудно сформулировать требования к задаче их распознавания. Необходимо найти такую форму представления, которая указывает, что же является инвариантом для различных примеров, относящихся к одному классу. Даже в рамках относительно простой задачи распознавания символов, написанных от руки печатными буквами, нелегко сказать, в чем заключается инвариант, общий, скажем, для всех примеров написания буквы А. Классификация остается неизменной при умеренных искажениях — типа тех, что возникают, если букву написать на резиновой пленке и слегка растягивать ее в разных направлениях. Но классификация также остается неизменной, если на букву нанести 146
какие-то дополнительные линии (предположим, как на рис. 26) или если приделать к некоторым линиям небольшие хвостики. Идеально класс должен быть представлен достаточно общим способом, который позволяет охватить все допустимые вариации, но вместе с тем сохраняет возможность отличить один класс от другого. Обычное описание (скажем, такое: заглавная буква А состоит из двух исходящих из одной точки (вверху) Рис. 26. Примеры искаженного написания буквы «А». линий, раздвинутых внизу, с поперечной линией где-то посередине) часто оказывается лучше других представлений, так как хорошо удовлетворяет данному требованию. Поэтому вполне естественно, что при решении проблемы распознавания зрительных образов делаются попытки использовать лингвистические методы. В приложении 3 к гл. 13 приводятся формальные методы работы с синтаксисом; там даны множества продукций, или правил переписывания, которые определяют предложение и простое арифметическое выражение. Общий подход при синтаксическом представлении изображений состоит в том, что образы (классы) должны быть заданы наборами правил продукций. При этом необходимо, чтобы образы строились путем объединения малых фрагментов, но чтобы при этом можно было выделить некоторую элементарную составляющую. Такими элементарными составляющими могут быть, например, отрезки прямых фиксированной длины. Предположим, что для представления отрезков прямых стандартной длины используются буквы а, ЬУ с и d: отрезок а нарисован идущим слева направо, Ь идет вертикально снизу вверх, с — справа налево, a d—вертикально сверху вниз. Тогда прямоугольник, 147
изображенный на рис. 27, начиная с его нижнего левого упга и двигаясь против часовой стрелки, можно представить в виде aaabbcccdd. Здесь используется соглашение о том, "что последовательность символов соответствует соединению концов отрезков линии. ОНлцее -выражение для прямоугольника имеет вид где пит апЬтсЧтл положительные целые числа. с с с Рис. 27. Прямоугольник, который требуется представить синтаксически. Хотя форма Бекуса — ТЧиура '(см. Цриложение 3 к гл. 13ч) допускает неограниченное повторение, в ней нельзя сделать тек, чтсГбы символ а повторялся столько же раз, сколько и с, ai — столько, сколько &. Однако "в распознавании зрительных образов могут использоваться и другие варианты фцрмального синтаксиса (см. обзор Фу X3]J. Перселхран Тершга переелтрон предложил в 59--X тодах'Франк Ршенйотт для тазноторого класса систем -распознавания о&разов, чягоейбньтх обучаться на опыте. Первое 'нрезотя эта 'идея вызывала бголыной интерес (не обошлось, правда, и без критики со стороны ис- следашителеи, ри^ботанших в других направлениях, которые считали, что ^Розеггбтгат переоценил значение своей идеи и незаслуженно получил слишком большую долго ассигнований," отпущенных на научные исследования). 148
Персептрон относится к более старому поколению систем распознавания образов в том смысле, что в нем предполагается, что распознаваемый образ изолирован. Этот и другие недостатки персептрона проанализированы в книге Минского и Пейперта [1], которая во многом способствовала изменению в направлении исследований, связанных с распознаванием образов. Персептрон состоит из пороговых элементов, предназначенных для моделирования работы нервных клеток, как это первоначально предполагалось Мак- калоком и Питтсом [4]. Некоторые характеристики таких модельных нейронов регулировались в ходе обучения. Несмотря на свои недостатки, сам принцип персептрона представляет интерес, поскольку алгоритм обучения персептрона, использованный для регулировки, может стать частью более совершенной системы обучения. К тому же в то время, когда была высказана идея персептрона, она представляла собой нечто достаточно определенное, что выкристаллизовалось из огромной массы весьма расплывчатых и разрозненных соображений относительно саморегулировки нейроноподобных элементов. (Однако не следует думать, что в персептроне было подытожено все ценное, что имелось в предшествующих исследованиях.) Персептрон обычно описывается как схема для распознавания зрительных образов, но его можно использовать и в других сенсорных модальностях. При включении в схему устройств для частотного анализа и создания временных задержек (эквивалентных рисованию спектрограммы) она пригодна, например, для распознавания слов. Как показано на рис. 28, персептрон содержит узлы трех типов. Сенсорные, или с-узлыг имитируют светочувствительные клетки сетчатки глаза. Они соответствуют демонам изображения, или демонам данных пандемониума Селфриджа. Обычно предполагается, что с-узлы являются элементами типа «все или ничего», но это не обязательно. Следующий слой узлов состоит из ассоциативных, или а-узяов, которые в общих чертах соответствуют вычислительным демонам пандемониума: В стандартном персептроне соединения от с-узлов формируются 149
случайным образом еще в процессе конструирования системы, поэтому они определяют некоторые случайные «свойства» изображения. Роберте [5] рассмотрел вариант персептрона, в котором вычисляются данные о ценности каждого а-узла подобно тому, как это делается в пандемониуме. Входные соединения а-узла, ценность которого спустя какое-то время работы оказывается малой, аннулируются, после чего случайным (или псевдослучайным, см. Приложение 2 к гл. 1) образом устанавливается новый набор соединений. с -узды а -узлы Рис. 28. простой персептрон. Выходы а-узлов соединены с узлами реакции, или р-узлами, соответствующими демонам понимания пандемониума. Обычно при обсуждении принципов работы персептрона рассматривают лишь один р-узел, обосновывая это тем, что если возможно распознавание для одной категории, то аналогично можно поступить и с другими. Считается, что каждый из р-узлов дает ответ «да» или «нет», так что отпадает необходимость в чем-то подобном демону решений для окончательного §ыбора между ответами. В одной из своих первых работ Маккалок и Питтс обсуждали типы вычислений, которые могли бы происходить в нервной системе. Они ввели представление о «модельном нейроне», свойства которого в общих чертах соответствуют свойствам нейронов живого организма. «Модельный нейрон» представляет собой пороговый элемент. У него имеется ряд входов, каждый из которых в данный момент может быть либо активным, либо неактивным. (Это соот- 150
ветствует правилу «все или ничего», по-видимому характерному для поведения нейронов.) Одни из входов модельного нейрона оказывают возбуждающее воздействие, другие — тормозящее. Каждый модельный нейрон имеет свое определенное значение порога, и если число активных возбужденных входов в какой-то момент времени превосходит порог и ни один из тормозящих нейронов в тот момент не является активным, то нейрон «срабатывает» и дает выходной сигнал. W Рис. 29. Представления модельных нейронов. На рис. 29 изображены два представления модельных нейронов. Иногда их рисуют так, что они по форме напоминают реальные нейроны, а иногда изображают просто кружочками. В любом случае и или нет Рис. 30. Модельные нейроны, вычисляющие логические функции. возбуждающий вход заканчивается утолщением или треугольником, а тормозящий вход рисуется в виде маленького кружочка. От каждого нейрона отходит отросток, соответствующий аксону реального нейрона. Внутри изображения нейрона может записываться число, показывающее значение порога. На рис. 30 показаны модели нейрона, вычисляющие логические функции И, ИЛИ и НЕТ. 151
При моделировании некоторых сторон активности нервной системы в искусственных системах часто до- пускается небольшое отступление от модели Мак- калока — Питтса. В последней ведется простой подсчет числа возбужденных активных входов. Известно, что одним из механизмов обучения в нервной системе является модификация синапсов — точек, в которых аксон одного нейрона может воздействовать на другой нейрон. Этот эффект можно смоделировать, допустив, что с каждым синапсом связано определенное значение веса. Тогда вместо простого подсчета числа активных возбуждающих синапсов следует производить суммирование их весов. Можно предположить, что тормозящие синапсы имеют отрицательные веса, и их следует учитывать при суммировании. Это противоречит первоначальной идее Маккалока и Питтса, которые предоставили тормозящим синапсам абсолютное право вето, однако удобнее считать все синапсы равноправными. При таких новых предположениях условием срабатывания нейрона и возникновения выходного сигнала является выполнение следующего неравенства: где суммирование производится по всем входам данного нейрона, wt — вес i'-го синапса, / — порог, a xi принимает значение 1 или 0 в зависимости от того» активен или неактивен i-й вход. Как а-узлы, так и р-узлы персептрона служат моделями нейрона с .учетом такого изменения. Некоторые из соединений между с-узлами и а-узлами являются возбуждающими, а некоторые — тормозящими. Веса синапсов, идущих к р-узлам, изменяются в процессе обучения, который называется алгоритм мом обучения персептрона. Чтобы алгоритм обучения мог работать, необходимо, чтобы каждый выход, или «догадка», персептрона сопровождался указанием от «учителя», верен ли этот выход. Тогда обычный вариант алгоритма обучения действует следующим образом. Если реакция р-узла является правильной (т. е, если он срабатывает, когда образ принадлежит к распознаваемому классу, или если он не срабаты- 152
вает, когда образ не принадлежит указанному классу), то веса не изменяются. Если р-узел не срабатывает, хотя распознаваемый образ на самом деле относится к рассматриваемому классу, то веса синапсов, бывших активными, увеличиваются на величину с. С другой стороны, если р-уаел срабатывает на образ, который не принадлежит к распознаваемому классу, то веса активных синапсов уменьшаются на величину с. Возможности персептрона были всесторонне исследованы математически. Теперь так называемую теорему сходимости по праву можно считать одной из «самых доказанных теорем», поскольку было предложено множество вариантов ее доказательства. Два из них, наиболее отвечающие существу дела, были отобраны Нильсоном [6]. Грубо говоря, теорема сходимости утверждает следующее: если существует множество значений весов, которые обеспечивают конкретное различение образов, то в конечном счете алгоритм обучения приводит либо к этому множеству, либо к эквивалентному ему множеству, такому, что данное различение будет достигнуто. Чтобы строго сформулировать эту теорему, необходимо указать условия, которым должна удовлетворять последовательность входных образов. Она должна содержать выборки из конечного числа возможностей, часть которых принадлежит, а часть не принадлежит распознаваемому классу. Метод генерации последовательности должен быть таким, чтобы число предъявлений каждого образа из множества было неограниченным, причей каждый образ мог бы появляться неограниченно часто в неограниченно длинной последовательности. Иногда теорему сходимости расценивают как окончательное подтверждение справедливости принципа персептрона, однако на самом деле она оставляет без ответа многие важные вопросы. Прежде всего она ничего не говорит о том, какие именно различия могут быть выявлены, — в формулировке теоремы этот вопрос полностью обходится. Минский и Пейперт показали, что самые серьезные огра- * ничения наложены на типы различий, которые могут быть реализованы простым персептроном. (Система, описанная нами, является простым персептроном* 153
Розенблат дал достаточно расплывчатое определение персептрона, поэтому нелегко точно сказать, какие схемы можно, а какие нельзя рассматривать как персептроны.) Сегодня уже не воспринимаются всерьез предположения, высказанные в первых работах по персептронам, согласно которым такие системы способны обучаться на опыте учитывать абстрактные соображения инвариантности образов при изменении их масштаба, переносе и вращении К Минский и Пейперт также указали, что теорема сходимости лишь гарантирует сходимость, но ничего не говорит о числе предъявлений, необходимом для этого, или о том, что для достижения окончательного результата, возможно, потребуется исключительно тонкая подгонка значений весов. Тем не менее принцип персептрона весьма полезен для программиста как метод построения классификаторов, обучающихся с помощью «учителя». Такого рода ситуация складывается в системе распознавания произнесенных слов из небольшого словаря, работающей в условиях, когда при заданных входных сигналах можно подогнать систему под характеристики конкретного говорящего лица. 1 Одно время, возлагали надежды на многослойные персептроны, состоящие из нескольких слоев нейронов. Но исследование показало, что их возможности ненамного больше, чем у простых однослойных персептронов. — Прим. ред.
9 ИСПОЛЬЗОВАНИЕ ЕСТЕСТВЕННОГО ЯЗЫКА Интерес к использованию естественного (обычного разговорного) языка в программах для вычислительных машин объясняется рядом причин. Как уже говорилось, речь является естественным средством общения между людьми, и, безусловно, пользователи вычислительных машин предпочли бы говорить с ними па обычном языке. При этом на вход ЭВМ может подаваться либо устная команда, либо текст, набираемый на клавиатуре вычислительной машины. Наиболее распространенные языки программирования высокого уровня сложности содержат многие слова обычного языка; например, в языке АЛГОЛ используются слова НАЧАТЬ, КОНЕЦ, ДЛЯ, ПОКА, ЕСЛИ, ТО, ИНАЧЕ и некоторые другие. Некоторые из этих слов включены также в языки ФОРТРАН и БЕЙСИК. Языки программирования, содержащие такие слова (по существу, в их обыденном значении), существенно облегчают задачу программирования по сравнению со случаем использования машинного языка или даже языка ассемблера (в котором до некоторой степени учитывается удобство его для человека). Однако и эти языки все равно сильно отличаются от обычного языка, используемого при общении людей; поэтому им приходится специально обучаться. Кроме процесса программирования людям приходится взаимодействовать с вычислительными машинами во время работы программы, отдавая соответствующие команды или задавая вопросы. И опять же чем свободнее используемый язык, тем удобнее, по- видимому, будет пользователю (хотя, как мы увидим в дальнейшем, здесь нужна известная осторожность). Удобно также, если сообщения (особенно сложные) передаются от машины пользователю на обычном 155
разговорном языке. Это обеспечить значительно проще, чем восприятие машиной входной информации, передаваемой на естественном языке. Поскольку большая часть пионерских исследований по искусственному интеллекту была выполнена в США, под естественным языком довольно часто понимают английский язык, забывая о том, что в других странах «естественными» являются другие языки. Как-то даже была предложена система перевода с естественного языка на немецкий! Экспертные системы, о которых пойдет речь в следующей главе, представляют собой тип программы, способной общаться с пользователем весьма сложным образом. Такие программы находят применение в задачах типа медицинской диагностики, и весьма важной их особенностью является способность обосновывать заключения, к которым они приходят. В некоторых системах подобного рода пользователь может дать команду «.объясни» — и система дает описание цепочки шагов,, которая привела к данному заключению, пользуясь при этом достаточно хорошим приближением к разговорному английскому языку. Реаквдш таков*© шрта очень помогают общению человека с машиной. Утверждалось, чю причина недавно происшедшей аварии на одной из атомных электростанций заключалась, в частности, в том, что установленная там вычислительная система была сконструирована исходя из пред поло жения^ что ей достаточно просто отдать любой сигнал об аварии, лишь бы только он был выражен ясно и громко. Оператору не была предоставлена возможность потребовать объяснений, которые помогли бы ему предпринять нужные в аварийной ситуации действия. Поэтому он пришел в полное смятение от вспышек ламп и завывания сирен. Кроме проблем взаимодействия пользователя с вычислительной системой имеются и более глубокие причины интереса к естественному языку при работах в области искусственного интеллекта. Язык служит не только для общения между людьми, но и для выражения мыслей человека «про себя». Если интеллект вычислительных машин должен имитировать мышление человека, то он также должен пользоваться естественным языком. 156
Последнее замечание ставит достаточно глубокие вопросы о природе мышления и о том, в какой степени оно носит лингвистический характер. В одних случаях вербальная (словесная) составляющая мышления является лишь «вершиной айсберга», тогда как в других <жа пгр-ает более фундаментальную роль. Другая область, в которой рассматривалась возможность использования машин для обработки естественного языка,— это автоматический перевод с одного языка на другой. Вряд ли стоит говорить о пользе такого перевода. Многие трудности, связанные с использованием естественного языка в программах для вычислительных машин, были выявлены в ходе исследований, направленных на создание программ для автоматического перевода. Синтаксис Каж давеагаю., грашяшядашские шредлоаиешш строятся даопршт® оодредежшшздм щрявилам. Йштому на первый взгляд кажется вполне водмашивдм разбирать предложения естественно-языкового входа машины примерно так же, как это делается при разборе (анализе) предложения, которому обучают детей в школе. Можно распознавать слова по гос принадлежности к определенным «частям речи», т. е. к таким категориям, как существительное, прилагательное, глагол и т. д. Еще один небольшой шаг, казалось бы, позволит наита в предложении подлежащее и сказуемое, а в сказуемом выделить глагол и объект и т. д. Проанализировав предложение в соответствии с его синтаксисом, можно было бы установить и его смысл. Ж сожалению, на деле все обстоит не так просто. Анализ предложения, которому нас учат в школе, зависит от понимания семантики, т. е. смысла, предложения в гораздо большей степени, чем это предполагалось ранее — до того, как были предприняты попытки автоматизировать этот анализ. Нетрудно проиллюстрировать на примерах, что интерпретация естественного языка существенно зависит от понимания смысла. Простейший случай, когда интерпретация зависит от знания предмета разговора, связан с неоднозначностью смысла слова. Эту ситуацию иллюстрирует 157
следующая пара фраз, предложенная лингвистом Бар-Хиллелом (теперь ее часто называют парадоксом Бар-Хиллела): The pen is in the box (ручка в ящике). The box is in the pen (ящик в клетке). В первом предложении слово реп наводит на мысль о ручке для письма, тогда как во втором оно говорит совершенно о другом — о клетке для птиц. В синтаксисе приведенных фраз нет ничего, что указывало бы на различие в смысле этого слова и что могло бы оказаться важным при переводе этих фраз на такой язык, в котором нет слова, охватывающего одновременно оба значения слова реп. Иногда семантика влияет на интерпретацию фразы более тонко, как, например, в такой паре предложений, приведенной Виноградом [1]: Отцы города отказались выдать женщинам разрешение на демонстрацию, поскольку они боялись беспорядков. Отцы города отказались выдать женщинам разрешение на демонстрацию, поскольку они были настроены революционно. В первой фразе предполагается, что местоимение они относится к отцам города, которые, по всей вероятности, больше беспокоятся о беспорядках, чем группа воинственно настроенных женщин. Во второй фразе это местоимение почти наверняка относится к женщинам, поскольку и представить себе невозможно, чтобы отцы города были настроены революционно. При переводе этих фраз на язык, в котором местоимение, эквивалентное местоимению они, имеет различные формы в мужском4 и женском роде, необходимо в каждой из этих фраз использовать соответствующее смыслу местоимение. Иногда смысл фразы, подсказываемый контекстом, оказывается противоречивым, как,, например, в предложении The old man's glasses were filled with sherry. (Стаканы старого человека были наполнены вином.) 158
Большинство людей, читающих эту фразу в первый раз, интерпретируют слово glasses как очки (этому способствует слово старый)] когда же предложение прочитано до конца, приходится возвращаться к началу фразы и интерпретировать слово glasses уже как стаканы. Неоднозначности, которые необходимо разрешать с учетом семантики, не ограничиваются неоднозначностью в словах и местоимениях. Случается, что саму структуру предложения можно понять лишь с учетом семантики. Рассмотрим, например, пару фраз, взятых снова из работы Винограда: Он подошел к машине с камнем. Он подошел к машине с резиновым бампером. При интерпретации первой фразы предложенное дополнение, играющее роль наречия, наиболее естественно связывается с глаголом подошел. Во второй фразе оно с большей вероятностью относится к существительному машина и играет роль прилагательного. В синтаксисе этих двух фраз нет ничего, что указывало бы на это различие, и для их правильной интерпретации приходится прибегнуть к помощи семантики. В английском языке фразы, начинающиеся со слова with \ часто используются тай, гйе (как это было в предыдущем примере) структура предложения дает мало информации о том, к ч$му $то с^ово относится. Даже следующее предложение, В8ятф£ у Шецка [2], довольно легко интерпретируется человеком, но. только лишь с использованием семантики: I hit the boy with the girl with long hair with a hammer with vengeance. (Я с силой ударил мальчика с девочкой с длинными волосами молотком.) . Мы уже касались вопроса об указательных местоимениях. Обычно такие местоимения относятся к существительному, расположенному в тексте довольно 1 Предлог with, по существу, имеет два значения: с (вместе с кем-то, чем-то) и посредством (указывая на орудие). — Прим. перев. 159
близко. Однако близкое расположение слов не всегда является надежным критерием. Проиллюстрируем это на примере отрывка,, взятого из рассказа о том, как Мария купила Джону воздушный змей- Мария упоминает об атом в разговоре с Джейн, которая отвечает ей: «Нет, у Джона уже есть воздушный змей, и. он дол росит* чтобы ты забрала его назад». В сознании читателей це возникает никакого сомнения в там, что под «его» а злмечашш Джейн дод- разумевается тот аоздуцдшж амен,, кшормй купила Мария, но, безусловно, это нельзя аывесш из соображения близкого расположения слоа «аз&е&» и «его». Ясно, что для нормального анализа естественноязыкового текста а^ндагевы аттакеиса и семантики должны идти рутга об руку. По существу, это лишь частный олуч&и щq&&£M№ инжене^И/й знаннй^, а шторой мы вошщшт f^aaee (гл.. 8) щи абсужденш* вопросов улятзшшшш речи. Нео^Огдашюеть обращения к семандичехжай ин- формащш йряш&да в свае время к двум важным по- следст&шш. Всь-Еьераььх, работу но а&жоз&атичеякому переведу, на существу, ифшшюеь. Еьрекфат.ить» хотя ей было отдаош шшот смл в 50-х гадах.. Для перевода высокого качества машине необходимо иметь опыт и мировоззрения,, кш&рые свойственны че^шшеческзаму сущестшу, таа и&щшот ыревасходнт еегодняднвне возможности штмсджтелышкж машин!. Во^вшо»р,ых,, для w<& таоб.ы машина, была, ш состоянии испшизава'Еь естественный язьж, причем так, чтобы ато тта бы ©зддлшшо напоминала ту свободу,, с которой языком, вдэд&ет Ч&ШВ&&+ аёммать риащж- дений искусственной, системы должна быть ограниченной. В одном из наиболее уттгешяшх проектов «рассуждения» машины каса-лжь трехжертоте пространства, в котором еодержалшъ т^оёш® и иезоголько цветных кубиков и пирамид. 1 На еам©м дета- пшиэжшше ш этож ©4шашгн не столь безнадежно* Ав1гома1шне£ййй перевод шряживаат еайчас ыюаыи. подъем. В 8Q-X. годах—гшсле накшденля необходимых знаний о семантике языка — стали создавать системы перевода, намного превосходящие беспомощные системы первого этапа развития работ, в этой- области. Отмехим, например* систему перевода с фран- цузскюго на русский язык, разработанную в СССР по& руководи ством Ю. Д. Апресяна. — Прим. ред% 160
Пространство и его содержимое не имели реального воплощения за пределами памяти вычислительной машины, но это не мешало воссоздавать их на экране цветного телевизора. Однако прежде чем перейти к обсуждению этой известной работы Винограда [1], сделаем еще несколько дополнительных аамечании относительно неоднозначности языка.- Неоднозначность языка До сих пор мы отмечали лишь случаи неоднозначности, которые главным образом мешают переводу с одного языка на другой. Существуют, кроме того, неоднозначности в смысле, которые имеют существенное значение, если программа для вычислительной машины должна реагировать на естественноязыковые сообщения. Такие неоднозначности не обязательно мешают в процессе перевода, поскольку в переводе их можно сохранить. Из-за неоднозначностей различного типа ничем не ограниченный естественный язык не может служить идеальным средством для общения с вычислительной машиной. (Не при всех обстоятельствах он является таковым и для общения между людьми. Математические соображения передаются с помощью специальной символики, а языки программирования высокого уровня способны помочь одному человеку объяснить какую-нибудь алгоритмическую процедуру другому, не обязательно прибегая при этом к помощи вычислительной машины. Например, при военной подготовке или при судействе в спортивных состязаниях лучше всего пользоваться ограниченным, заранее отобранным подмножеством языка.) Хилл [3] высказал предположение, что, по-видимому, более полезно не обеспечивать возможность программирования вычислительных машин на естественном языке, а поставить задачу включения в язык человеческого общения элементов языков программирования. Простая неоднозначность, слов не всегда столь дегко .снимается, как в случае парадокса Бар-Хилле- ла. Машина в отличие от человека не может распознавать идиомы, поэтому ей трудно быть абсолютно 6 А. Эндрю №
уверенной в истинном смысле, например, такой фразы: Едва ли вы узнаете маленького Джона сейчас. Он вырос на целую голову. Естественный язык всегда неоднозначен, поскольку в нем отсутствует нечто соответствующее скобкам, которые используются в математике и в языках программирования высокого уровня-для указания приоритета в порядке применения операторов. Фраза «Старые мужчины и женщины» неоднозначна в том смысле, что нельзя быть уверенным, относится ли определение «старые» и к женщинам, т. е. включены ли в эту фразу и женщины, которые не являются старыми. Если бы можно было использовать скобки, то упоминание молодых женщин допускалось бы во фразе «(Старые мужчины) и женщины», но не во фразе «Старые (мужчины и женщины)». Неоднозначность возникает нередко и при использовании наречий, подобных слову снова. Рассмотрим, например, следующий диалог: — Мне сегодня снова хочется_ забраться на Эверест. — Снова? — Да, я и вчера испытывал подобное желание. Смысл, вкладываемый в слова, во многом зависит от контекста. Хилл приводит пример, где сопоставляются два случая использования слова обычно: Доставляют ли ;Вам обычно удовольствие каникулы? Доставляет ли Вам обычно удовольствие хорошее здоровье? Как указывает Хилл, страховая компания вряд ли была бы рада клиенту, который, отвечает утвердительно на второй вопрос, интерпретируя слово обычно точно так же, как и в первом вопросе, т. е. ответ которого означает следующее: «В те редкие периоды, когда я здоров, я действительно обычно испытываю большое удовольствие». Условные утверждения типа «если..., то...» часто используются таким образом, что предварительное условие оказывается не столь точно определенным, 162
как это требуется в контексте программирования. Допустим, я говорю приятелю: «Если бы я не приехал на эту конференцию, то я бы отправился на ту, что состоялась в Лондоне». Он понимает, что мое утверждение справедливо лишь при условии, что целый ряд других обстоятельств также остается неизменным. Например, он понимает—хотя этого не сказано,— что я не поехал бы и на конференцию в Лондоне, если бы причиной моего отсутствия на данной конференции был несчастный случай, в результате которого мое состояние не позволяет мне поехать ни на одну конференцию. Подобные же множества невысказанных предположений присутствуют в большинстве утверждений, касающихся причин. В юриспруденции предпринимаются попытки избежать присущей естественному языку неоднозначности путем формулирования законов и других юридических документов на языке, который представляет собой чрезвычайно тяжеловесный вариант обычного языка. Несмотря на эти усилия, неоднозначности не исключаются полностью, и судопроизводство должно осуществляться на основании того, какую цель преследует данное законодательство, а не того, что оно ясно устанавливает. Эти, казалось бы, уничижительные замечания относительно естественного языка ни в коей мере не умаляют его силу и общность. Этот язык был описан как наш конечный метаязык [5], в котором в конечном счете определены специальные термины и символы даже формальной математики и языков программирования. Хотя весьма трудно добиться того, чтобы программа реагировала на абсолютно свободный (ничем не ограниченный) естественный язык, значительные успехи были достигнуты при использовании весьма ограниченного контекста и при ограничениях, накладываемых на допустимую синтаксическую форму. Первая из программ, отвечающих на вопросы, поставленные на естественном языке {5], была в состоянии отвечать на вопросы, касающиеся бейсбола, исходя из данных Американской лиги бейсбола по всем играм за год. Для каждой игры имелась запись месяца, дня и места игры, а также названий команд и счета. 6* 163
Программа была в состоянии отвечать на достаточно разнообразные вопросы от самых простых — типа «Кому проиграла команда «Ред Соке» 5 июля?» или «Где играла команда «Ред Соке» 7 июля?» — до весьма сложных, вроде «Играла ли каждая команда по крайней мере один раз в месяц на каждом стадионе». Программа отвечала на целый ряд вопросов, начинающихся со слова «сколько». Не удивительно, что система была не в состоянии отвечать на неоднозначные вопросы типа «Выиграла ли команда «Ред Соке» большинство своих встреч в июле?» Программа «Бейсбол» относится к числу программ, формулирующих ответы на вопросы, про которые Виноград сказал: «Их узкая предметная область часто позволяла использовать эвристики специального назначения, обеспечивающие весьма впечатляющие результаты при минимальных заботах, связанных со сложностями языка». Работа самого Винрграда также относится к ограниченной области (пространство с кубиками и пирамидами, или мир кубиков), но она иллюстрирует методы, имеющие более широкую применимость. Мир кубиков Программа, составленная Виноградом, называется SHRDLU; это не аббревиатура каких-то слов из области вычислительной техники, а просто совокупность букв, которые образуют кодовое слово, используемое операторами линотипов. Хофштадтер в своей книге [6], где он, в частности, пытается найти связь между рекурсией в программировании и музыкой Баха, так пародирует название одной арии Баха: «Игрушка типа SHRDLU, изобретенная человеком». Для анализа входной информации в программе SHRDLU используется система анализа языка ПРО- ГРАММАР, которая объединяет семантические и синтаксические характеристики. Как показывает приведенное ранее предложение «Стаканы старого человека были наполнены вином», система анализа должна быть в состоянии вернуться назад, когда об-? наруживается, что на основе построенной к настоящему моменту догадки дальнейший анализ фразы невозможен. В системе ПРОГРАММАР допускается 164
возвращение назад, но, как и у человека, это происходит изредка. Подобно шахматной программе Ботвинника \ система ПРОГРАММАР располагает достаточно мощными эвристиками, позволяющими делать в основном правильный выбор. В системе SHRDLU использована также система ПЛЭННЕР, которую иногда рассматривают как обобщение языка программирования ЛИСП (гл. 13), На самом же деле ПЛЭННЕР дает гораздо больше, чем обычно ожидается от языка программирования. Она содержит базу данных (система предположений), где хранятся утверждения, относящиеся к миру кубиков. Большинство этих утверждений касается либо свойств предметов, либо отношений между ними. Свойства и отношения — во многом характеристики одного порядка, с тем исключением, что свойство относится к одному объекту, а отношение — к двум и более. В формальном аппарате, который используется для представления утверждений в системе ПЛЭННЕР, словам, обозначающим свойства или отноше* ния, с целью их выделения предшествует символ. Например, утверждения «Лондон — это город» и «Джеймс является отцом Алекса» в таком формализме следует представить так: (# ГОРОД : ЛОНДОН) (# ОТЕЦ : ДЖЕЙМС : АЛЕКС) Некоторые отношения могут связывать три . или более объектов, и для использования указанного формализма важно знать, какое число предметов охватывает данное отношение. Отношение ДАВАТЬ связывает три объекта, так что, скажем, утверждение «Гарри дает (или дал) Алисе эти украшения» записывается следующим образом: . i (# ДАВАТЬ : ГАРРИ : АЛИСА : УКРАШЕНИЕ) Сила системы ПЛЭННЕР состоит в том, что в ней можно выразить свойства отношений и отношения между отношениями. Это оказывается особенно полезным при представлении событий, которые можно записать в виде отношений (как в последнем приме- 1 См., в частности, список рекомендуемой литературы.-* Прим. ред. 165
ре). Эти отношения описывают, в частности, пространственно-временные свойства других отношений. Отношению можно дать определенное название, что позволяет использовать его в утверждениях. Название помещают после списка объектов, которые связаны данным отношением; приведенное выше отношение можно назвать ОТН2, используя для его записи форму (# ДАВАТЬ : ГАРРИ : АЛИСА : УКРАШЕНИЕ : : ОТН2) Виноград предлагает следующие возможности представления предложения «Гарри присел на диван после того, как дал Алисе украшения»: (# ПРИСЕЛ : ГАРРИ : ОТН1) (# МЕСТО : ОТН1 : ДИВАН) (# ДАВАТЬ : ГАРРИ : АЛИСА : УКРАШЕНИЯ : - : ОТН2) (# ПОСЛЕ :ОТН1 : ОТЫ2) Система ПЛЭИНЕР в состоянии принять утверждения и добавить их в указанной форме к своей базе данных. Она может также строить следствия имеющихся у нее утверждений. Здесь возникает проблема выбора стратегии. Когда в базу данных вносится какое-то добавление, необходимо сделать просмотр, чтобы обнаружить, какие новые следствия стали возможными. Если все из них сформированы и добавлены к базе данных, то последующая работа с базой данных, по-видимому, пойдет быстрее, поскольку эти следствия не придется выводить заново. С другой стороны, сама база данных может при этом чрезмерно вырасти и стать неуправляемой, так что придется делать какой-то выбор. Эта задача аналогична проблеме выбора «интересных» результатов, о которой мы упоминали в гл. 4 при обсуждении автоматической математики. Чтобы формулировать следствия, система ПЛЭН- НЕР должна иметь правила, позволяющие формировать новые утверждения исходя из старых. Для этого в систему необходимо ввести переменные, а также кванторы ДЛЯ ВСЕХ и СУЩЕСТВУЕТ и логические операторы И, ИЛИ, НЕ и ИМПЛИЦИРУЕТ (если.., то). 1G6
Утверждения «Все люди ошибаются» и «Поскольку X человек, X ошибается» должно быть представлено следующим образом: (ДЛЯ ВСЕХ (X) (ИМПЛИЦИРУЕТ (# ЧЕЛОВЕК X) ДОШИБАЕТСЯ))). Важное различие между системой ПЛЭННЕР и некоторыми другими системами дедукции состоит в том, что теоремы в ней представлены в виде про- цедур, т. е. программ, что позволяет применить теорему к некоторому конкретному объекту путем вызова процедуры. Виноград приводит такой пример (вероятно, слишком заостряющий существо вопроса)1 теоремы: «Диссертация приемлема, если она либо толстая, либо содержит убедительные аргументы». Чтобы определить, приемлема ли данная конкрет-" ная диссертация, может быть вызвана представляющая приведенное утверждение процедура. Поскольку свойство «быть толстой» проверить, вероятно, нетрудно, обращаясь к другой процедуре, это делается в первую очередь. Если (и только в этом случае) диссертация не является-толстой, то должна быть предпринята попытка определить, содержит ли она убедительные аргументы. По-видимому, не существует единой теоремы, которая могля бы дать оценку этому свойству, и процедура содержит определенную инструкцию, означающую: «Найти все теоремы, которые приводят к заключению, относительно убедительных аргументов и испробовать их, пока не встретится теорема, удовлетворяющая данным требованиям». Эти теоремы также могут содержать инструкции «поискового» типа, так что процесс решения задачи может быть весьма сложным. Его можно представить как поиск по дереву, поскольку каждая процедура обычно влечет за собой какую-то одну из некоторого числа других процедур. Последующая процедура должна вызываться с указанием соответствующего множества объектов (в нашем примере — это конкретная диссертация). Иногда, работа заканчивается сообщением о неудаче. В приведенном примере это 167
произойдет в том случае, когда диссертация невелика по объему и не содержит убедительных аргументов. Язык программы ПЛЭННЕР вместе с ее базой данных позволяет отвечать на весьма сложные вопросы. Приведенное рассмотрение показывает, как программа дает ответ на вопрос: «Приемлема ли диссертация Сэма?». По существу, та же самая организация позволяет системе отрабатывать команды. Команды в системе SHRDLU обычно звучат примерно так: «Помести объект А на объект В». Процедура, представляющая теорему ПОМЕСТИТЬ, содержит ряд инструкций, выполнение которых потребует обращения к другим теоремам и может привести к перебору. Необходимо убедиться, что наверху объекта В имеется место для объекта Л, а затем необходимо все снять с объекта Л, чтобы его можно было поднять, и т. д. В конечном счете требуемое действие — если оно вообще может быть произведено — представляется в виде базовых теорем ПЕРЕМЕСТИТЬ, ВЗЯТЬ, ОТПУСТИТЬ, которые дают команды демонстрационной части системы, позволяющие перестраивать детали «мира кубиков». Действие ПЕРЕМЕСТИТЬ означает: переместить имитируемую руку вместе с тем, что она держит, в новое положение. ВЗЯТЬ — заставляет руку взять объект. ОТПУСТИТЬ — вызывает высвобождение объекта, однако это действие не выполняется, если под объектом нет соответствующей опоры. Виноград приводят многочисленные примеры диалога между программой SHRDLU и экспериментатором (см. также [6], р. 586—593). Простая команда Возьми большой красный кубик вызывает простой отклик ОК («все в порядке»} системы SHRDLU, после того как действие выполнено. При этом состояние «мира кубиков» в момент подачи команды было таким, что на большом красном кубике находился зеленый кубик, так что система SHRDLU сначала должна была найти для него новое место и переместить его туда. 168
Система SHRDLU в состоянии работать с указательными местоимениями, реагируя на команду Найди кубик, который выше того, что ты держишь в руке, и положи его в коробку. На это система SHRDLU сначала сообщает: Под «его» я подразумеваю кубик, который выше того, что я держу в руке. После совершения движений в соответствии с этим предположением система SHRDLU вновь выдает «ОК». Система способна ответить также на весьма сложные вопросы типа Сколько кубиков находится в коробке? На этот вопрос система SHRDLU дает верный ответ: «Их четыре», после чего ее спрашивают: Является ли хотя бы'один из них уже того, что я попросил тебя взять? На этот вопрос система также дает верный ответ: «Да, это красный кубик». Эта реакция весьма выразительна, причем не только из-за сложной структуры вопроса, но и вследствие того, что слова «один из них» приобретают смысл только в свете предыдущего вопроса. К тому же, чтобы интерпретировать фразу «того, что я попросил тебя взять», система должна пойти еще дальше назад. Использование естественного языка в режиме «меню» Возможно, стоит подчеркнуть, что существуют совершенно тривиальные способы написания программы, которые дают пользователю приятное чувство участия в диалоге с машиной на естественном языке. Очень легко сделать, чтобы какая-то интерактивная программа задавала вопросы на естественном языке. Вопросы могут быть и длинными, и сложными — при условии, что ответы выбираются из некоторого конечного множества возможностей. Пользователю предъявляется список возможных вариантов в виде 169
«меню», из которого пользователь делает простой выбор, либо печатая какое-то число, либо перемещая курсор (точку) на экране дисплея к выбранному варианту. С этим приемом знакомы пользователи, работающие с вычислительными системами в интерактивном режиме, но нам хотелось бы здесь лишь отметить, что, для того чтобы пользователь общался с машиной на естественном языке, совсем не обязательно строить столь сложную систему, как SHRDLU.
10 ДВЕ ВАЖНЫЕ ПРИКЛАДНЫЕ ОБЛАСТИ Одним из движущих мотивов исследований в области искусственного интеллекта является возможность приложения новых методов к решению практических задач. В современной экономике особое внимание уделяется проектам, дающим относительно быстрые результаты, но это не единственная причина интереса к таким проектам. Мы уже говорили о практических применениях методов распознавания образов: читающие машины представляют большую ценность коммерческого плана, они могли бы также принести пользу слепым людям. Разнообразные применения находят и системы распознавания речи, даже если их возможности ограничены малым словарем. В настоящей главе мы рассмотрим еще две области применения искусственного интеллекта: роботику и экспертные системы. Роботика Роботика — это область исследований, ставящая своей целью вывести машины из вычислительных центров в реальный мир. Как мы отмечали, современные машины существенно отличаются от достаточно мощных машин эпохи промышленной революции, но в роботике требуется, чтобы они обладали не только интеллектом, но и «мускулами». Они должны иметь также «глаза» и «уши» (в некоторых схемах превзойдены возможности человеческого зрения — использование лазеров позволяет измерять расстояния гораздо точнее, чем это доступно бинокулярному зрению человека). Большое значение в развитии исследований в области роботики придается анализу трехмерных сцен,. 171
Многое из того, что человек делает с легкостью, для машин оказывается очень трудным. Как заметил один писатель, пересечь без неприятностей улицу, не слишком загруженную транспортом, для человека — сущий пустяк, но этот. «пустяк» вычислительная машина пока не в состоянии сделать без „посторонней помощи. Хотя вычислительная машина, по-видимому, оказалась достаточно смышленой, чтобы привнести новые результаты в математику, однако очень трудно написать программу управления роботом, позволяющую ему пройтись по дому и вытряхнуть окурки из пепельниц в мусорное ведро. Очевидно, для человека эта задача оказывается совсем не того уровня сложности, как для вычислительной машины. Хотя упомянутая в гл. 9 работа Винограда была посвящена в основном вопросам понимания естественного языка, то, что автор строил свои рассуждения на примере кубиков, обусловлено признанием важности роботики. Разумеется, используя математические модели кубиков, автор смог избежать необходимости обращаться к анализу реальных сцен. Другая работа, проведенная в Массачусетсом технологическом институте (США), касалась вопросов манипулирования реальными кубиками. В ней уделялось внимание как анализу сцен, так и командам, отдаваемым реальному манипулятору. Даже сама конструкция манипулятора представляет собой весьма сложную проблему. Люди спокойно берут в руки такие хрупкие предметы, как, скажем, куриное яйцо, и обычно не ломают их. Особенно не задумываясь, люди прикладывают несравненно большее усилие, когда требуется поднять тяжелый гладкий предмет. Эти действия, вероятно, связаны с подсознательным определением очень малых деформаций предмета, что позволяет оценить пределы его прочности. Исследовались возможности построения робота, способного играть в настольный теннис, однако эта задача не рассматривалась как серьезный проект. По-видимому, это объясняется слишком большим Объемом вычислительных ресурсов для принятия необходимых решений в отведенное время, который я!рно выходит за пределы существующих ныне возможностей. Попытки смоделировать человеческий 172
интеллект, которые предпринимаются при создании роботов и в других исследованиях в области искус ственного интеллекта, еще более усиливают наше восхищение этим удивительным творением природы — мозгом человека. Возможные применения роботов Среди применений, которые можно было бы найти роботам, важное значение имеет их использование на работах, опасных для человека. Роботы могут быть полезны при исследовании иных планет или дна океана. Их можно использовать для поднятия затонувших судов* или — на меньших глубинах — для разведения рыб и растений, для разведки и добычи полезных ископаемых. Роботы могут выполнять необходимые действия в опасной для человека среде, которая возникает, например, при пожаре, утечке радиоактивности, взрывах, в условиях разыгравшейся стихии. Может оказаться полезным отправлять роботов в места, хотя и не опасные для людей, но физически им недоступные, например на поверхность другой планеты, где сила тяжести намного превышает земную. Роботы можно было.бы использовать на работах, производить которые человеку мешают его размеры. Так, роботы способны проверять и ремонтировать трубопроводы (простые функции такого рода они уже выполняют). Миниатюрные роботы, введенные внутрь организма человека, могли бы производить хирургические операции, что позволило бы обойтись без разрезания кожи, и т. д. Кроме того, мы могли бы перепоручить роботам многие из работ, которые для нас слишком утомительны и неинтересны, и тем самым освободить свое время для более полезных занятий. Электронная домохозяйка, способная выполнять различные работы по дому, или электронный садовник значительно облегчили бы наше существование. Однако, скорее все* го, в промышленности роботы станут экономически более оправданными задолго до того, как они получат широкое распространение в домашнем хозяйстве. 173
Промышленные роботы Многие из работ, выполняемых сегодня в промышленности вручную, можно было бы автоматизировать. Довольно трудно перечислить все причины отсутствия такой автоматизации, да это и не входит в нашу задачу. Безусловно, существенную роль здесь играет инерция руководства, а также проблема трудоустройства рабочих, которые могли бы высвободиться в результате автоматизации, проводимой в широких масштабах. (Относительно последнего соображения заметим, что необходимо найти такой способ организации экономики общества, при котором представлялось бы возможным ликвидировать малоэффективные способы производства.) Помимо названного серьезной причиной недостаточной автоматизации производства является то, что существующие стандартные методы автоматизации весьма негибки. Требуются^ значительные средства на приобретение специализированного оборудования, причем какая-то часть его, возможно, должна разрабатываться специально для данного конкретного приложения. Ни один руководитель не захочет вкладывать средства, если опасается, что через непродолжительное время изделие, ради которого было приобретено оборудование, окажется ненужным. Последнее же может быть вызвано изменением спроса или устареванием изделия. Неприятная перспектива строительства- специализированной сборочной линии для выпуска ненужного продукта склоняет руководителей в сторону использования рабочих рук и менее сложных машин. Это позволяет достаточно быстро переориентировать завод или цех на выпуск какого-то другого изделия. Кроме того, люди-операторы проявляют гибкость и не требуют, чтобы поступающее к ним «сырье» (скажем, компоненты для сборки) находилось в определенном стандартном положении, которое, возможно, обеспечивается магазинной упаковкой или монтированием на стандартных несущих элементах. В целях обеспечения стандартной ориентации на автоматизированных заводах сейчас используются такие производственные линии, при которых продукт, полученный в каждом процессе, должен прямо по- .174
ступать на вход следующего процесса. Такое решение вряд ли можно признать хорошим, поскольку поломка одной машины приводит к остановке всей линии. Если операторами работают люди, то можно создать склады частично законченной продукции производства, что позволит продолжать операции на тех этапах производства, которые не затронуты поломкой. Цель работ по промышленным роботам состоит в том, чтобы создать машины, не уступающие по гибкости людям. Методы анализа сцен позволяют конструировать роботоподобные устройства, способные собирать механизмы из деталей, лежащих кучей где- нибудь на лавке, подобно тому, как это делал бы сборщик-человек. Мики [1] описывает робот такого рода, разработанный в Эдинбургском университете; аналогичные работы ведутся во многих других научных центрах. Эдинбургский робот обладает гибкостью и в том отношении, что его можно «переучить» на выполнение другой сборочной задачи. Не во всех промышленных операциях возникает необходимость в таких «интеллектуальных» роботах, как эдинбургский. Многие задачи могут решаться «слепыми» роботами, снабженными, возможно, простыми сенсорными датчиками, позволяющими роботу, прежде чем он начнет выполнять требуемую последовательность операций, убедиться, что нужная деталь или исходное сырье находятся на своем месте. Иногда такие роботы можно переориентировать на новую задачу просто путем выполнения новой последовательности операций под ручным контролем со стороны человека. Сегодня хорошо известны роботы, способные переучиваться таким образом; в основном они предназначены для распыления краски пульверизатором — разумеется, покраска это такая работа, в которой требуется гораздо меньшая точность движений, чем при выполнении многих других технических задач. Ограничения Эдинбургский робот — одна из многих систем, способных к интеллектуальному решению задач. В качестве другого интересного примера можно назвать робот по имени Шейки, созданный в Станфорд- 175
ском исследовательском институте (США). Он способен самостоятельно перемещаться и связываться по радио с вычислительной машиной, которая является его «мозгом». Шейки передвигается по квартире из нескольких комнат, запоминая положение своей траектории путем прямого вычисления: траектория периодически уточняется благодаря «привязке» к определенным выделенным элементам, таким, как углы комнат. Он способен видеть и узнавать объекты в комнатах и вводить их описание в свою внутреннюю модель. Ему можно отдать указание типа «передвинь кубик из комнаты 2 в комнату 4», после чего робот планирует маршрут, избегая известных ему препятствий, чтобы достигнуть поставленной цели. Если на пути робота возникает новое препятствие, то он соответствующим образом видоизменяет свой план. О работе всех этих систем сняты весьма впечатляющие фильмы, которые обычно демонстрируются на конференциях по искусственному интеллекту. Хотя возмажности таких систем производят сильное впечатление, в общем они работают достаточно медленно. В практических применениях, как правило, требуются более быстрые реакции, и, по-видимому, придется много поработать над повышением вычислительной эффективности, прежде чем эти развитые интеллектуальные системы получат широкое применение. Однако более простые роботы применяются во все более широких масштабах. Даже в таком, казалось бы, простом вопросе, как управление сочленениями руки, скрываются значительные вычислительные проблемы. Рассмотрим конечность, подобную руке человека. Момент инерции предмета, который предстоит поворачивать относительно плеча, зависит от угла, под которым рука согнута в локте, причем момент намного больше при вытянутой руке, чем в. случаег если рука согнута в локте. Информация об изгибе руки доступна системе управления и может влиять на команды, отдаваемые мышцам плеча. Чтобы это сделать, нервная система должна произвести достаточно сложные «вычисления» [2]. Вместе с тем существующие, сейчас системы для управления звеньями манипулятора основаны на относительно примитивном, малоэффективном' методе, который связан с использованием, в каждом соч« 176
ленении «жестких» сервомеханизмов, управляющих движениями независимо (в определенных пределах) от моментов инерции. Специфические проблемы встают при управлении движениями сложного характера, например ходьбой. При этом необходима иерархическая организация работы, когда общий характер движений выбирается на высоком уровне, а детали движения формируются на более низких уровнях. Имеется много свидетельств тому, что такими свойствами обладает биологическое управление: моторный отдел мозга отдает команды, касающиеся типа движения, а не сокращения отдельных мышц. Для характеристики мышечной активности, соответствующей командам высокого уровня, физиологи используют термин синергия, и разработка шагающих искусственных систем требует реализации синергии. Этим аспектам иерархического управления уделено особое внимание при создании шеетиногого робота [3], который представляет для нейрофизиологии столь же большой интерес, как и для промышленности. Использование синергии для уменьшения числа степеней свободы в задаче управления важно и в другой области применения, также связанной с ро- ботикой, а именно при создании протезов для замены утерянных конечностей. Советский физиолог В. С. Гурфинкель, участвовавший в работах по созданию шагающего робота, занимается также и- вопросами протезирования К Роботы и экология Рассмотрение проблем охраны окружающей среды [4] показывает, что здесь также имеются области, где роботы могли бы играть очень важную роль. Современные методы ведения сельского хозяйства требуют больших затрат энергии ,{5]. Блакстер [6] показал, что энергия, необходимая для выращивания 1 В.этих работах, во многом опередивших исследования в данной области в других странах, кроме Гурфинкеля активное участие принимал М. Л. Цетлин, а также ряд других исследователей, — IlpuMi ред^ ч . 177
урожая картофеля (включая энергию, затрачиваемую . на производство удобрений), лишь немногим меньше энергии, содержащейся в соответствующем количестве очищенного картофеля. Тот факт, что прежние, крестьянские хозяйства были в состоянии прокормить себя, выращивая картофель старыми методами, показывает, что затраты энергии в этом случае можно существенно уменьшить. Блакстер обсуждает различные пути достижения экономии: в частности, он считает, что удобрения можно создавать иначе, что вместо вспашки поля плугом можно использовать другие методы, требующие меньших затрат энергии. Однако основное различие между традиционным и современным сельским хозяйством состоит в том, как используется информация. Человек, выкапывая картофель, определяет по ботве, где должны быть картофелины, а затем, перевернув лопатой землю, выбирает их. Картофелеуборочная машина затрачивает большую энергию на перекапывание земли, поскольку она не «видит», где находятся картофелины. Одна из возможностей экономии энергии состоит, как считают некоторые, в возвращении к старому более примитивному способу ведения сельского хозяйства. Иные энтузиасты полагают, что от этого мы станем более здоровыми и счастливыми. Но с другой стороны, не все время, которое мы выигрываем благодаря автоматизации, расходуется нами впустую; оно идет на развитие культурной и интеллектуальной сторон жизни, которые принято считать существенными признаками развития цивилизации. Использование в сельском хозяйстве и других областях роботов позволит сохранить эти признаки и в то же время даст возможность уменьшить энергетические затраты на производство продуктов питания. В этом случае необходимая обработка информации, от которой зависит сохранение энергии, будет выполняться электронными средствами, а не нервной системой человека. Роботоподобные устройства могли бы сыграть большую роль при использовании вторичного сырья. Старые автомашины, к примеру, в настоящее время часто сваливают в кучу металлолома, удалив лишь аккумуляторные батареи и уничтожив все, что может загореться. Если учесть, что в автомобилях употреб- 178
ляются некоторые специальные сплавы и другие ценные материалы, то такой подход представляется весьма расточительным, однако разборка машины на части для их вторичного использования в настоящее время' экономически не оправдана. По-видимому, единственное решение проблемы заключается в использовании роботов для демонтирования автомашин, несмотря на индивидуальные отличия одной машины от другой. Имеются и другие проблемы, связанные с окружающей средой, которые частично могут быть решены с помощью роботов. Существующие ныне средства для уничтожения сорняков вызывают беспокойство из-за их долговременного действия на почву. Их использования можно избежать, если заставить роботы, способные отличать сорняки от полезных растений, выкапывать сорняки. Применение инсектицидов вызывает также нарекания с точки зрения охраны окружающей среды. В качестве альтернативного решения проблемы в некоторых случаях можно было бы заставить робота выполнять то, что садоводы называют «делать своими руками». В тех районах, где ощущается нехватка воды, более экономный расход воды можно было бы обеспечить, используя роботы, способные оценивать потребность каждого растения в воде по его внешнему виду. Естественно, масштабы применения разумных роботов зависят от того, насколько дешево обходится их производство и работа. Стоимость электронных схем- неуклонно снижается, а потребление энергии твердотельными компонентами схем чрезвычайно мало. В то же время необходимость решения проблем охраны окружающей среды становится все более настоятельной. Подводя итог сказанному, следует заметить, что в развитии методов экономии человеческих затрат, вызванном современной промышленной революцией, мало внимания уделяется вопросу обработки информации. Многие из этих методов слишком энергоемки, а их излишне решительное порой внедрение порождает и другие побочные эффекты. Такие методы становятся все менее оправданными по мере исчерпания ресурсов. Возвращение к информационно-интенсивным методам требует, чтобы либо люди. делали больше ручной работы, либо ее выполняли роботы. 179
Экспертные системы В самое последнее время были созданы программы для вычислительных машин, обеспечивающие экспертизу в различных областях знаний, которые получили название экспертных систем. Особое внимание в этом плане уделяется медицине, проблемам управления производством, обнаружению газовых и нефтяных месторождений, налоговой политике, составлению расписания работ и различного рода технологическим проблемам. Программы, работающие в качестве экспертных систем в некоторых из названных областей, делаются так, чтобы они были коммерчески доступны; некоторые из них рассчитаны на мини-компьютеры. По замыслу экспертная система должна усвоить существенную часть знаний эксперта-человека в конкретной области и быть в состоянии использовать накопленную информацию так, как это делал бы человек. Например, экспертная система в области медицины должна уметь ставить диагноз, т. е. при подаче на вход в качестве данных симптомов пациента программа должна давать заключение о возможных заболеваниях. Попытки построить программы для целей медицинской диагностики предпринимались еще до того, как появились программы, называемые экспертными системами. Некоторые из прежних систем оказались полезными для врача, но лишь в той степени, в какой они являлись хорошо организованной системой учета прошлых случаев заболеваний. Программа под названием МИЦИН (и сделанная на ее основе программа ТЕЙРЕСИАС), созданная в Станфордском университете, оказалась несравненно более квалифицированным помощником в вопросах диагностики. Эти программы были с большим энтузиазмом приняты и практикующими медиками. Одна из причин их успеха состояла в том, что они моделировали «неточные» рассуждения. Иначе говоря, их база данных включает правила, подобные утверждений: «Если ..., то можно предложить, что...», которые и используются при диагностике заболевания. В программе это правило формулируется несколько более точно — с указанием численной оценки ве- 180
роятности данного заключения. То, что человеку представляется за словами «можно предположить», оценивается как вероятность, равная 0,L To, что для человека скрывается за словом «вероятно», может быть оценено как 0,8 и т. д. Программа в состоянии вывести несколько различных диагнозов с указанием вероятности каждого из них. Важной особенностью такой программы является то, что ее база данных допускает расширение (или коррекцию) по мере того, как становятся известными новые результаты. Программа способна также указать, какие дополнительные наблюдения и тесты могут снизить неопределенность ответа. В ней имеется информация, касающаяся как стоимости, так и полезности различных тестов. Стоимость понимается в широком смысле, включая не только материальные затраты, но также и степень опасности, неудобства или неприятности для пациента. Система отдает предпочтение тем тестам, которые дешевле, безопаснее и менее болезненны. Элементы базы данных системы МИЦИН в основном имеют следующую условную форму: «Если ..., то ... с вероятностью ...», где за словом «то» следует фактическое утверждение относительно состояния больного. (При первоначальном использовании системы МИЦИН в диагностике инфекционных заболеваний это было указание на те типы микроорганизмов, которые могли бы быть причиной данного заболевания.) Элементы базы данных системы ТЕИРЕСИАС подобны элементам системы МИЦИН, но в нее включены правила, указывающие стратегию поиска по правилам такого рода и по правилам, содержащим утверждения относительно фактов. Указание, следующее в системе ТЕИРЕСИАС за словом «то», может иметь тот результат, что при поиске правил, касающихся определенных, относящихся к делу вопросов, отдается предпочтение поиску правил, упоминающих вопрос Л, по сравнению с поиском правил, упоминающих вопрос В. Этим данный метод несколько сходен с методами, воплощенными в .системе ПЛЭННЕР (гл. 9), 181
Одна из особенностей этих программ, во многом обусловившая их успех, состоит в том, что они способны объяснить — на языке, близком к естественному английскому языку,— каким именно образом было выработано то или иное решение. Это обеспечивается тем, что в программе остается «след», т. е. сохраняется запись шагов, которые ею были предприняты. К ней можно даже обратиться с таким вызывающим вопросом, как: «Почему вы не учли, что...?» — на что программа объяснит, почему та или иная возможность была исключена из рассмотрения. Способность давать «объяснения» сыграла существенную роль в том, что эта система была признана практикующими медиками. Она оказалась также полезной в развитии базы данных, которая должна как можно лучше соответствовать методам, применяемым экспертом-человеком. Там, где диагноз, данный программой, отличался от диагноза врача, последнего просили поэтапно показать, как он пришел к данному решению. «Объяснительная» способность системы позволяла затем сопоставить цепочку выводов специалиста с цепочкой выводов программы и выделить точки, в которых произошло расхождение. Это давало информацию о необходимом изменении правил в базе данных. Конечная ответственность за медицинские решения, разумеется, лежит на враче, и без возможности объяснения использование вычислительной программы могло бы выглядеть неэтичным. Однахо при наличии такой возможности врач может убедиться в справедливости всего рассуждения, и, таким образом, проблема безответственности снимается. Можно привести немало свидетельств тому, что врач, работающий в контакте с вычислительной машиной, намного лучше, чем врач без нее.
11 ЭСТЕТИКА Вычислительные машины находят разнообразные применения в области искусства. В большинстве случаев они являются всего лишь инструментом творца — возможно, инструментом совершенно нового типа, но все же только инструментом. Однако определенное внимание уделяется составлению программ, которые позволили бы создавать с помощью ЭВМ оригинальные произведения как в области изобразительного искусства, так и в музыке. Были написаны даже программы для поэтического творчества, но, скорее всего, они не ставили своей целью создание серьезной поэзии. В этой области машинный «интеллект» выглядит еще более туманным, чем в тех сферах деятельности, о которых мы говорили ранее, поскольку никто не возьмется точно и объективно определить, что такое «произведение искусства». Единственно возможное определение звучит примерно так: произведение искусства— это нечто такое, что вызывает у человека, слушающего или наблюдающего, чувство восторга и наслаждения, и чем сильнее это чувство, тем более совершенно творение. Поскольку, согласно этому определению, люди должны обладать какими-то внутренними средствами для оценки качества общепризнанного произведения искусства, маловероятно, что машины когда-нибудь смогут бросить человеку вызов в области художественного творчества. Включение соответствующих возможностей в программу для вычислительной машины основывается на анализе — или, скорее, гипотезах — эстетического опыта человека. Хотя окончательные критерии творческого процесса смогут быть выработаны только людьми, критерии, установленные посредством такого анализа или выдвигаемых гипотез, также 183
достаточно ценны. Может оказаться, что в какой-то весьма ограниченной области творчества программа знает нас лучше, чем мы знаем сами себя. В конечном счете она, конечно, не может «знать лучше», но она в состоянии представить оценки, которые дает произведениям искусства человек таким образом, что у нее вырабатываются быстрые и устойчивые реакции, а следовательно, и формируются эвристики, полезные при создании новых произведений. Статистический анализ различных общепризнанных произведений искусства может помочь уяснить необходимые (для такого признания) свойства. Тогда можно создавать новые произведения, используя статистически обоснованные правила и генератор случайных чисел (см. Приложение 2 к гл. 1), что позволит получить в пределах этих ограничений различные варианты. Этим путем, как правило, идут и при создании машинной музыки. Свою гипотезу о природе эстетического опыта высказал Паск [1]: Человек склонен искать в своем окружении новизну, а обнаружив новую ситуацию, научиться управлять ею. Попытаемся развить и наполнить содержанием это кибернетическое утверждение. В области символов, которые составляют наиболее важную сторону окружающих человека условий, «новизна» присутствует в событиях и конфигурациях, которые для каждого данного индивидуума выглядят неоднозначно и которые порождают неопределенность, связанную с состоянием его знаний, и ставят перед ним проблемы. В широком смысле слова «управление» в этой символической области эквивалентно «решению задач», но может восприниматься как «привыкание», или как «объяснение», или как «привязывание к имеющимся опытным данным». Далее, при обучении управлению или решению проблем человек должен обязательно заниматься концептуализацией и абстрагированием. Благодаря этому окружающая человека среда интерпретируется на различных уровнях в рамках некоторой иерархии абстракций (на одной и той же странице мы видим, например, буквы, слова, грамматические предложения и в 184
целом — прекрасную прозу). Все эти моменты лежат в основе любознательности и обучения. Они побуждают человека к исследованию, открытию и объяснению своего безликого окружения. Адресованные к окружающей его социальной среде (другим людям), они приводят человека к общественным отношениям — к беседе и другим формам частично кооперативного взаимодействия. Иными словами, человек всегда стремится достичь какой-то цели и всегда ищет новые цели. Как правило, он имеет дело с целями, относящимися к различным уровням иерархической структуры, одни члены которой были сформированы недавно, а другие находятся в процессе формирования. Я полагаю, что человек получает удовольствие, выполняя одновременно эти две операции — нововведения и синтеза в единое целое. Вместе они и составляют существо человеческой деятельности, приносящей ему внутреннее удовлетворение. Здесь эстетический опыт воспринимается как исследование достаточно сложных ситуаций и открытие структуры и значения. Отправляясь от такой модели (рационализации) эстетического опыта, можно разрабатывать программы для вычислительных машин (или специализированные электронные схемы, как это, в частности, описывает Паск в упомянутой выше статье), которые будут создавать «произведения ис- кусства», удовлетворяющие требованиям, характерным для данной модели. Гордон Паск описывает систему «Цветомузыка», которая создает видеообразы, автоматически синхронизованные с музыкой; при этом программа учитывает взаимодействие с аудиторией. (Более простые системы «светошоу» с синхронизацией сейчас широко распространены; работа Паска и его коллег носила пионерский характер.) Хотя эстетический опыт играет большую роль в жизни человека, трудно понять, как он сформировался в процессе эволюции. Если посмотреть с позиций, изложенных выше, то эстетический опыт кажется достаточно близким к любознательности. Любознательность способствует выживанию; это воплощение эвристического принципа, утверждающего, что приобре- 185
тение новой информации об окружающем нас мире всегда полезно, даже если это и не приносит немедленного вознаграждения. Тип исследований, свойственный накоплению эстетического опыта, не имеет очевидной ценности в смысле выживания (быть может, только как способ совершенствования исследовательских способностей человека на практике). Он выглядит скорее как нежелательное отклонение от любознательности, как «что-то неправильное» в любознательности. Если допустимо трактовать эстетический опыт таким образом (что кажется предвзятым и упрощенным, хотя вполне логичным), то разумно предположить, что машины в ходе своей эволюции могли бы достичь совершенно другого «эстетического опыта», представляющего собой отклонение от некой эвристики, которая была для них полезной. Если машины не станут полностью автономными, то программист будет воспринимать такое развитие событий как свидетельство того, что с эвристикой случилось «что-то неправильное»,— и в дальнейшем ее исключит. Изобразительное искусство Вычислительная машина играет в изобразительном искусстве большую роль как инструмент художника. Существуют программы, способные воспринимать данные, определяющие форму предполагаемой конструкции объектов, например зданий, автомобильных двигателей, предметов обстановки и т. д. Рассматриваемый объект демонстрируется на экране; при этом программе можно подать команду изменить угол зрения — и тогда объект можно ставить в различные положения. Безусловно, для конструктора ЭВМ служит ценным вспомогательным средством. Подвижные изображения, создаваемые вычислительной машиной, оказали немалую помощь хореографии: стилизованные представления балетных танцоров двигались по сцене как бы в трехмерном пространстве. Вычислительные методы используются для оживления мультипликационные фильмов. Во многих вычислительных машинах предусмотрена возможность графического ввода, а также средства графического 186
вывода на экран. Часто для ввода в машину рисунки наносят на специальный планшет (которым может служить сам экран, если пользоваться «световым пером»), после чего они сохраняются в памяти машины и могут при необходимости воспроизводиться на экране. Если дисплей допускает использование цвета, то иногда часть его (дисплея), по существу, начинает играть роль «палитры» с различными образчиками «красок». Применяя световое перо (или другую разновидность курсора) к тому или иному цвету на палитре, можно рисовать им в этом цвете. В таком простом варианте цветная графика с использованием «палитры» оказывается для художника средством, подобным реальной палитре. Однако вычислительная машина открывает перед ним дополнительные возможности, безусловно недоступные в традиционной живописи. Наприхмер, проведя линию, он может нажать кнопку, указывающую, что имеется в виду прямая линия,— и линия мгновенно спрямляется. Художник может также обратиться к другим режимам работы, с тем чтобы, допустим, сместить концы нарисованного отрезка прямой в новое положение, сохраняя при этом линию прямой; он может также перенести части изображения с одного участка экрана на другой. Графическое общение с вычислительными машинами находит многочисленные применения в науке и технике. Программисты часто получают истинное эстетическое наслаждение, составляя программы, обеспечивающие графический вывод информации. Многие графические изображения, которыми обычно пользуются в научно-технических дисциплинах, имеют весьма привлекательный — в изобразительном смысле — вид: семейства кривых, построения трехмерных графиков с учетом перспективы, фигуры Лис- сажу, молекулярные структуры,- сечения механизмов и т. д. Не удивительно, что и применение машинной графики для создания изображений в чисто эстетических целях вызывает большой интерес. В большинстве таких работ изображение не определяется программистом во всех деталях — программа в какой-то степени сама является «творцом», поскольку -изображение отчасти определяется псевдослучайными числами. 187
На рис, 31 мы видим результат генерирования последовательности из 30 точек в пределах выделенного квадрата, причем координаты (я, у) каждой точки — псевдослучайные числа, выбранные из равномерного распределения. Точки соединены ломаной линией. Изображение со столь слабо выраженной структурой вряд ли можно считать особенно интересным. Более интересное изображение можно получить, если выбирать точки из неравномерного распределения. Метод генерации, использованный при построении изображения, показанного на рис. 32, обеспечивает большую вероятность попадания точек в одну четверть квадрата — и, как видим, результат получается несколько приятнее. Большинство произведений машинного искусства имеют более выраженную структуру, чем приведенные изображения. На хорошо известном рисунке Джорджа Ниса [2], получившем название «Каменные плиты», показаны ряды квадратов, расположенных Рис. 31. Изображение, полученное путем выбора в квадрате 30 точек, каждая из которых соединена со следующей, а послед-* яяя— с первой. Случайные точки равномерно распределены по площади квадрата. 188
Рис. 32. Изображение, подобное тому, что представлено на рис. 31. Однако здесь в одной четверти квадрата (левой нижней) точки имеют большую плотность, чем в остальных. Выбор каждой точки с равной вероятностью мог быть произведен либо из левой нижней части квадрата, либо из всего квадрата. Поскольку эта четверть составляет одну четвертую всей площади квадрата, предполагаемая плотность точек в ней в 12/з раз выше, чем в трех остальных четвертях. строго регулярно в самом верхнем ряду, но все более беспорядочным образом по мере смещения по изображению сверху вниз. Такой эффект достигается с помощью генератора псевдослучайных чисел, который используется для определения дополнительного смещения квадратов и умножения этих смещений на числа, пропорциональные расстоянию от самого верхнего ряда изображения до того квадрата, для которого ведется вычисление. Можно создавать искажения в размере, ориентации и положении квадратов (при необходимости можно независимо создавать искажения в положении по вертикали и горизонтали). Производя искажения как в ориентации, так и в положении, Нис добивается удивительного зрительного эффекта. 189
Рис. 33. Набор квадратов с псевдослучайным возмущением в их расположении, величина которого возрастает сверху вниз. Здесь присутствуют лишь возмущения ориентации. Рис. 35. То же изображение, что и на двух предшествующих рисунках, но возмущению подвергается и ориентация, и положение. Этот рисунок соответствует «Каменным плитам» Джорджа Ниса, Рис. 34. То же изображение, что на рис. 33, но в этом случае возмущение внесено лишь в положение квадратов. Рис. 36. Аналогичное изображение, но возмущения произведены в размерах и ориентации. 190
Рис. 37. На этом рисунке одновременно присутствуют возмущения всех типов. На рис. 33—37 показаны изображения, подобные рисунку «Каменные плиты», но с существенно меньшим числом квадратов. Здесь представлено несколько возможных комбинаций искажений, которые дают весьма интересные результаты. Музыка Идея автоматического сочинения музыки была высказана в известном романе-антиутопии Олдоса Хаксли «Прекрасный новый мир», где такой музыкой услаждает свой слух элита общества. Однако это не первое упоминание о механической музыкальной композиции. Шоулс [3] называет несколько значительно более ранних попыток механического сочинения музыки. Одну такую систему, связанную с именем С. Пеписа, можно до сих пор видеть в Музее Пеписа в колледже св. Магдалины (Кембридж, Англия). Другая подобная система, построенная в 1824 г. и названная «Компониум», хранится в Брюсселе; о ней упоминают в своих книгах как Шоулс [3], так и Габор [4]. Еще одна система автоматического сочинения музыки описана в памфлете, который приписывают Моцарту (однако Шоулс относится к этой точке зрения иронически). Там метод случайных чисел основан на бросании игральной кости, 191
По-видимому, наибольшей известностью среди работ по музыкальной композиции на ЭВМ пользуется работа Хиллера [5], который объединил результаты целого ряда экспериментов в своем сочинении «Ил- лиак-сюита» (ИЛЛИАК — это название вычислительной машины в университете шт. Иллинойс, США). Как и следовало ожидать, реакция слушате- телей на эту необычную музыку оказалась неоднозначной, тем не менее ее принято считать нетривиальной. Поскольку это сочинение исполняет струнный квартет (музыкантов-людей), возникает сомнение, не вносят ли они в машинную музыку что-то свое в процессе исполнения. Конечно, это можно было бы назвать «интерпретацией», хотя в данном случае не ясно, что же именно «интерпретируется». Некоторые из новейших идей по использованию вычислительных машин для композиции и модификации музыки, а также для синтезирования музыкальных звуков изложены в книге Фоерстера и Бе- чампа [6] К Поэзия В приложении 3 к гл. 13 описывается метод псевдослучайного генерирования грамматических предложений. Когда это делается с использованием очень большого словаря (терминальные символы в синтаксических правилах), содержащего выразительные и яркие слова, машина создает сочинения, весьма напоминающие современную поэзию. Машинную поэзию вполне можно считать современной, поскольку она; во-первых, загадочна и, во-вторых, не прибегает к рифмам. В рамках одного достаточно .поверхностного-- исследования [7] поэтических возможностей машины два студента применили названный метод при словаре, включающем не более 50—100 слов. Ниже мы приводим опубликованный ими результат (В их пуб- 1 В СССР проблемой сочинения на ЭВМ-музыкальных произведений много и успешно занимался Р. X. Заршгов,, работы которого получили мировое признание. Его взгляды на эту -проблему изложены, в книге: Зарипов. Р. X. Машинный поиск вариантов при моделировании творческого процесса.—М,: Наука, 1983. — Прим, ред. 192
ликации ясно не указывается, был ли этот поэтический опус последовательно создан на выходе вычислительной машины или это результат отбора из материала большого объема.) Некоторыми из сочиненных машиной фраз мог бы гордиться и иной поэт: ' Вялая мысль взывает к луне. Камень зовет любовь, тогда как вялое сильное желание становится странным, но ледяное дерево отталкиваете отчаянием. Яркость становится нечеткой. Камень стоит шелковый как сильный шелк оста- ■ ется ярким в шелково-зеленой солнечной ночи. Хотя скамейка становится яркой но странная яркость остается вялой хотя любовь остается нечеткой с вялым зелёным кристаллом но любовь взывает медленно к земной странности с желанием. Огонь становится шелковым, в то время, как надежда ласкает как неясное неясный снег1. В чем ценность машинного искусства Учитывая все сказанное ранее о природе эстетического опыта, мы можем утверждать, что это не та область, где удастся достигнуть высокого уровня «чистого» искусственного интеллекта. Результаты здесь определяются взаимодействием человека-программиста и машины. В области изобразительного искусства творческое «содружество» человека и машины действительно оказалось весьма плодотворным. Но даже в тех случаях, когда созданные машиной сочинения никак нельзя отнести к произведениям искусства, работа по машинной композиции может оказаться полезной как средство изучения природы эстетики. Как мы уже отмечали, некоторые «наводя- 1 Предпринимались также попытки моделировать на ЭВМ сочинение прозы. В частности, в Советском Союзе была создана программа, сочиняющая волшебные сказки. Ее принципы описаны в работе: Гаазе-Рапопорт М. Г., Поспелов Д. А., Семенова Е. Т. Порождение структур волшебных сказок. — М.: Научный Совет по проблеме «Кибернетика» при Президиуме АН СССР, 1980. — Прим. ред. 7 А. Эндрю 193
щие» соображения по созданию «произведений искусства» на ЭВМ могут быть получены на основе статистического анализа либо на основе теории, подобной теории Паска. Машинная композиция дает средство, позволяющее проверить, до какой степени некий конкретный набор «наводящих» соображений является адекватным и гарантирует приемлемые результаты. Машинная композиция указывает, в какой степени эти соображения отражают сущность искусства. Машинное сочинение можно также использовать для экспериментов по комбинированию — в различных пропорциях — случайности и структуры. Такой подход в равной мере применим как к изобразительному искусству, так и к музыке. Ни абсолютно случайно полученное изображение (как на рис. 31), ни «случайная» музыка не представляют для нас интереса. Машинная же композиция позволяет сочетать случайность и структуру в регулируемом соотношении. . . «Произведение искусства», созданное на вычислительной машине, в большинстве случаев свободно от налета банальности, которой отмечены сочинения (как в литературе, так и в изобразительном искусстве или музыке) любителей. Это происходит, по-видимому, потому, что люди не могут не пытаться вло« жить в свое творение структуру и «смысл», а последние часто оказываются у них весьма тривиальными. В этом отношении машины действительно демонстрируют свое превосходство перед многими людьми. Однако есть ли это превосходство в глубоком смысле слова? Вполне возможно, что свобода от банальности привлекательна потому, что отсутствие тривиальных регулярностей слушатель (или зритель) принимает за выражение некоего глубокого «смысла». Если это так, то при длительном восприятии машинных сочинений неминуемо должно возникнуть чувство разочарования. Эти общие вопросы обсуждаются, в частности, в книге Рейчардта [8},
12 КОНКУРЕНЦИЯ - РЕАЛЬНЫЕ НЕЙРОНЫ Говоря о проблемах искусственного интеллекта, мы, естественно, пытаемся сопоставить полученные результаты с работой мозга, основанной на активности нейронов. Как правило, при таких сопоставлениях искусственный интеллект во многом проигрывает мозгу, о чем мы более подробно расскажем в последних трех главах нашей книги. Разумеется, превосходство мозга вполне вытекает из самого характера задач, которые ставятся в области искусственного интеллекта: эти задачи выбираются так, чтобы они были трудными для машин, но вполне доступными для мозга человека. Машины, однако, превосходят человека в решении задач, которые требуют больших вычислительных работ, например исчерпывающего перебора вариантов. Если вычислительную машину удастся запрограммировать так, чтобы она была практически непобедимой в шахматах (что выглядит достаточно правдоподобным), то это наверняка будет достигнуто не имитацией методов игры человека, а посредством использования громадных объемов вычислительных ресурсов машины. Хотя главная тема настоящей книги — искусственный интеллект, мы считаем тем не менее целесообразным уделить внимание структуре и функциям реальных нейронов, которые неразрывно связаны с естественным интеллектом. Некоторые аспекты функционирования систем нейронов представляют здесь особый интерес вследствие определенного подобия их и искусственных систем. Размеры нервных клеток ничтожны: основное «тело» клетки имеет в поперечнике 30 мкм (микрон, 1 мкм = Ю-6 м). У тела нервной клетки обычно имеется много отростков. Многие из .них представляют 7* 195
собой ветвящиеся структуры, называемые дендритами, они простираются на 200—300 мкм от тела клетки. Большинство нейронов имеют также более длинный отросток, называемый аксоном, который может иметь протяженность от 50 мкм до нескольких метров. Аксон часто также имеет много разветвлений. Нервные стволы (как мы просто говорим, «нервы») состоят из пучка нервных волокон, окруженных защитной оболочкой, наподобие подземного телефонного кабеля. Эти волокна, по существу, являются аксонами нервных клеток, переносящими нервные импульсы. Вся нервная клетка, включая дендриты и аксоны, защищена мембраной, вследствие чего химический состав протоплазмы внутри клетки отличен от химического состава жидкой среды организма вне ее. Основное различие состоит в том, что протоплазма клетки богата калием, тогда как внешняя среда — натрием. Это различие поддерживается благодаря определенному свойству мембраны, известному под названием «натриевый насос», и приводит к наличию на мембране электрической разности потенциалов. Потенциал внутри покоящегося нейрона по отношению к внешней среде составляет примерно —70 мВ. Если какая-то небольшая область мембраны деполяризуется, т. е. указанная разность потенциалов между клеткой и окружением снимается, то в этой области мембраны возникает ток, который воздействует на соседние области, вызывая также и их деполяризацию. Затем примерно в течение миллисекунды мембрана возвращается в нормальное состояние. В целом, как только деполяризуется какая-то малая область клетки, в ней возникает «волна деполяризации», которая распространяется по аксону. Это и есть нервный импульс, который обеспечивает связь в нервной системе. Некоторые нервные волокна (так называемые мякотные нервные клетки) покрыты оболочкой из вещества, называемого миелином, которое выполняет роль изолятора. Чем толще волокно, тем быстрее оно проводит. Однако при одном и том же размере волокна импульс быстрее распространяется в волокнах,, покрытых миелином. (Это, видимо, обусловлено 196
тем, что в волокнах, покрытых миелином, через каждые несколько миллиметров имеются так называемые «перехваты Ранвье», между которыми нервный импульс как бы «проскакивает».) На самом деле скорость распространения нервного импульса много ниже скорости передачи электрических сигналов по кабелю. В мякотном волокне она составляет обычно несколько десятков метров в секунду (максимум 100 м/с). Для небольших волокон зрительного нерва лягушки, не покрытых миелином, скорость распространения импульса, как показали измерения, не превышает нескольких десятков сантиметров в секунду. Аксон — это отросток нейрона, проводящий нервные импульсы от тела клетки к иннервированным органам и другим нейронам:-На теле нервной клетки и на ее дендритах имеются области- (до 10 тыс. точек на один нейрон), в которых на клетку оказывают воздействие аксоны других нейронов. Эти области называются синапсами. Существуют возбуждающие синапсы (стимулирующие деполяризацию нейрона) и тормозные (затрудняющие возбуждение, т. е. деполяризацию нейрона вследствие воздействия других нейронов через возбуждающие синапсы). Передача нервного импульса через синапс носит химический характер, причем в разных синапсах встречаются различные передающие вещества (медиаторы). Под внешним воздействием нейрон может «сработать», создавая выходной импульс, который далее распространяется по аксону. Обычно такое «срабатывание» происходит под воздействием импульсов, по? ступающих из других нейронов через возбуждающие Синапсы. Между моментом прихода импульса в данный нейрон и появлением сигнала на его выходе всегда имеется задержка — так называемая синаптиче- екая задержка,— равная примерно 1 мс. Таким образом,, «вычислительные элементы» мозга действуют очень медленно по сравнению с элементами вычислительных машин, где скорости передачи сигналов обычно измеряются в наносекундах ,(1 не = 10""9 с). Высокая «вычислительная эффективность» мозга достигается не за счет больших скоростей выполнения операций на нейронном уровне, а благодаря одновременному действию большого числа нейронов; в отличие от этого в вычислительных машинах 197
все операции фактически производятся последова-с тельно. Хотя мозг и периферийная нервная система существенно отличаются от вычислительной машины по. своей организации, некоторые аспекты их работы можно исследовать примерно так же, как это делается при изучении электронной схемы. При прохождении нервного импульса в нейроне возникает электрическое возбуждение, которое можно зарегистрировать с помощью миниатюрного электрода, помещенного вблизи тела нейрона или нервного волокна. Для этой цели были разработаны специальные микроэлектроды. Тщательно регулируя положение микроэлектрода с помощью микрометрического винта, можно замерять, усиливать и регистрировать сигналы от одиночного нейрона. Микроэлектроды имеют различные конструкции* Самые тонкие из них изготовлены в виде микропипеток — они представляют собой сильно «оттянутые» стеклянные трубочки, заполненные проводящим раствором. Кончик некоторых из них достигает в диаметре ничтожной доли микрона и может проникать сквозь мембрану нейрона, не оказывая влияния на его работу. Соединив микроэлектрод с усилителем,, имеющим большое входное сопротивление (оно необходимо потому, что сопротивление микроэлектрода, может превышать 100 МОм), можно убедиться в наличии на мембране разности потенциалов в 70 мВ. Для других измерений . используются менее тонкие электроды. Они не проникают в клетку, но, будучи' тщательно установлены в нужном положении, позволяют регистрировать сигналы, относящиеся к одному нейрону. Такие микроэлектроды можно сделать в виде как микропипетки, так и стеклянной трубочки, в которую заключена тонкая платиновая проволочка* Еще один способ изготовления микроэлектродов связан с использованием вольфрамовой проволоки, заостренной методом электролитического травления и почти до самого кончика покрытой специальным тер* молаком. Можно также возбуждать нейроны и иницииро* вать импульс в любой точке аксона, подавая в нужном месте короткий импульс электрического тока (хотя, как мы уже отмечали, нормальное возбужде* 198
ние через синапсы имеет химическую природу). Таким образом, мы получаем возможность «подключиться» к нервной системе животного как для введения в нее сигналов, так и для регистрации происходящих в ней процессов. (При экспериментах на нервной системе животное обычно подвергают легкой анестезии. Она должна быть легкой, поскольку анестезирующие вещества влияют именно на нервную систему. В тех случаях, когда ставится цель изучить какую-то область нервной системы (но не мозг), животное можно подвергнуть децеребрированию. При этом большую часть его мозга удаляют под анестезией, после чего анестезия прекращается. Практикуют также вживление микроэлектрода в мозг животного под анестезией, что позволяет производить нужные записи или стимуляцию нервных центров, когда животное находится в полном сознании и, судя по внешним признакам, не.испытывает неудобств.) Нервная система животных исследовалась весьма интенсивно. Однако мы не будем здесь пытаться делать обзор работ в области нейрофизиологии. Весьма интересную попытку такого рода предпринял в своей книге Зоммергофф [1]. И хотя успехи в области нейрофизиологии достигнуты немалые, многое остается еще в высшей степени загадочным. Ниже мы рассмотрим два вопроса, имеющие особое отношение к искусственному интеллекту, а именно: нейрофизиологию зрения и свойство нейронной пластичности. Зрение лягушки В результате изучения зрительных систем животных в настоящее время сформировалось достаточно последовательное представление о начальных этапах обработки зрительной информации. Глаз представляет собой, по существу, камеру с линзой, создающей изображение на сетчатке, которая состоит из более сотни миллионов светочувствительных клеток — фо- торецепторов (у человека около 120 млн. палочек и примерно 7 млн. колбочек). В начале исследований зрительной системы обычно предполагалось, что выходные сигналы от фоторецепторов передаются по зрительному нерву в мозг для анализа примерно так же, как это сделал бы телевизионный инженер, если 199
бы он не имел возможности сканировать изображение с целью сжатия сигнала для передачи его по одному широкополосному каналу. Однако изображение не может быть передано в мозг точно в таком Виде, как оно было получено, для этого в зрительном нерве недостаточно волокон. Поскольку каждый зрительный нерв человека содержит около миллиона волокон, для передачи изображения информацию необходимо сжать. В сетчатке существует множество соединений между первичными рецепторами и ганглиозными клетками, аксоны которых являются волокнами зрительного нерва. Указанное сжатие должно происходить в них. Исследование зрительной системы лягушки, проведенное Леттвином и др. [2] (включая автора настоящей книги), показало, что сетчатка лягушки обрабатывает поступающий на нее световой сигнал таким образом, который едва ли пришел бы в голову телеинженеру. В сетчатке лягушки имеется примерно миллион первичных рецепторов и в каждом зрительном нерве — около полумиллиона волокон. Эти волокна, или нейроны 1t как оказалось, принадлежат одному из четырех типов; нейроны каждого типа реагируют специальным способом, который как-то связан с образом жизни лягушки. Кроме того, эти нейроны передают изображение (как и предположил бы инженер-телевизионщик) с сетчатки на поля нейронов, расположенных в противоположных относительно каждого глаза зрительных долях мозга лягушки, Однако характер этих четырех типов нейронов таков, что, по-видимому, обработка зрительного образа началась уже на уровне сетчатки, при этом из него «извлекаются» признаки, важные для лягушки. Четыре типа нейронов таковы: 1. Детекторы длительного контраста. Каждый из них реагирует на зрительное поле диаметром два угловых градуса и не срабатывает при включении или выключении света в помещении. Если в это поле входит край предмета, который либо темнее, либо светлее фона и имеет четкую границу, то нейрон «сраба- 1 Здесь автор прибегает к распространенному у нейрофизиологов понятию регистрируемой единицы (unit), которое мы пе« реводим здесь словом нейрон. — Прим. перев. 200
тывает» (возникает поток импульсов); разряд продолжается до тех пор, пока край остается в поло зрения. На реакцию таких нейронов очень мало влияют действительные уровни освещенности. Почти не наблюдалось различия в реакциях, когда уровни освещенности фона и края предмета были настолько малыми, что сам экспериментатор едва различал край. 2. Детекторы выпуклого края. Это самые интересные из описанных нейронов, называемые обычно «детекторами мухи». Они совершенно не реагируют ни на изменение общей освещенности, ни на прямой край предмета, перемещающийся по рецептивному полю. Они срабатывают лишь на вхождение в поле малого объекта (не более 3 угловых градусов в диаметре), более темного, чем фон. Леттвин обнаружил также и другие удивительные свойства этих нейронов. Так, он заметил, что если темная точка движется вместе с (как-то помеченным) фоном, то эти нейроны ее «игнорируют». Реакция отсутствует и в том случае, если фон перемещается, а пятно остается неподвижным. Но так только пятно начинает двигаться, нейрон срабатывает. Однако результаты, полученные Леттвином и его коллегами, вызвали критические замечания, в частности, Гейза и Джекобсона [3], по мнению которых столь простую интерпретацию реакций нейронов вряд ли можно считать надежной. Они предложили описывать эти нейроны, рассматривая некие концентрические области в зрительном поле. Такая точка зрения трудно согласуется с описанной Леттвином реакцией лягушки на небольшие тела, расположенные на помеченном фоне. 3. Детекторы движущегося края. Эти детекторы с рецептивным полем шириной примерно двенадцать градусов реагируют на движущийся край объекта независимо от того, представляет ли это движение на- ползание темного, на светлое или наоборот. Реакция существенно зависит от скорости движения и очень слабо от протяженности края или яркости освещения. Эти нейроны реагируют, хотя и слабо, на включение и выключение света. 4. Детекторы затенения. Они имеют большое рецептивное поле — диаметром до пятнадцати граду* 201
сов. Выходной сигнал с этих детекторов передается по мякотным волокнам зрительного нерва со скоростью, достигающей 10 м/с. Они реагируют на внезапное потемнение, которое может быть вызвано, например, тенью какого-то хищника, угрожающего лягушке. Детекторы края названных двух типов позволяют лягушке опознать хищника и потенциальную жертву, отличную от «мухи». Можно предположить, что «детекторы мухи» и «детекторы затенения» также самым непосредственным образом связаны с особенностями жизни лягушки. Зрение млекопитающих После успешных экспериментов Леттвина и его коллег, проведенных в Массачусетском технологическом институте (США), два исследователя, Хьюбель и Визель, из расположенного поблизости Гарвардского университета приступили к исследованиям с помощью микроэлектродов зрительной системы млекопитающих. Вначале они экспериментировали на кошках, как часто поступают в нейрофизиологических исследованиях, а затем перешли к обезьянам. (Конечно, с кошками экспериментировать проще, так как их много, но обезьяны больше похожи на человека.) Результаты, полученные Хьюбелем и Визелем [4], сильно отличаются от описанных ранее результатов Леттвина. Данные Хьюбеля и Визеля наводят на мысль, что зрительный нерв в самом деле производит отображение зрительного образа сетчатки так, как это делалось бы в телевизионной системе,— последующий анализ изображений происходит в мозге. И это несмотря на то, что у млекопитающего число первичных фоторецепторов еще более отличается от числа волокон в зрительном нерве, чем у лягушки. Одной, из причин расхождения между данными Леттвина, с одной стороны, и Хьюбеля и Визеля — с другой, является то, что' последние отводили сигналы от части мозга, которую, нельзя считать соответствующей зрительным долям лягушки. Они отводили сигналы от зрительной коры головного мозга (называемой также затылочной корой вследствие ее.расположения сзади.головы, или стриарной,порой из-за 202
ее слоистой структуры, или полями 17 и 18 коры, причем основные результаты были получены в поле 17), Кора головного мозга высших животных — это тот орган, который, как считается, отвечает за мышление и другие «высшие функции» мозга. У лягушки она, по существу, отсутствует. Зрительными центрами у лягушки являются так называемые зрительные доли — самые крупные структуры ее мозга. В мозге млекопитающих зрительным долям лягушки соответствуют структуры, называемые левым и правым верхними холмиками; с ними и соединены зрительные нервы. У млекопитающих, однако, верхние холмики играют скорее вспомогательную роль в зрительном восприятии, так как они осуществляют управление мышцами, определяющими направление взгляда. Чтобы обеспечить правильное направление взгляда, . верхние холмики должны выделять общие свойства зрительного образа, в частности его движения. Поэтому функция верхних холмиков у млекопитающих, возможно, весьма близка к функции зри-, тельных долей лягушки. Тот факт, что, как показывает эксперимент, зрительная система млекопитающих, по-видимому, действительно работает наподобие телевизионной камеры (если говорить об отображении в кору), выглядит менее удивительным, если учесть, что зрительная инфор- 1 мация передается таким образом и по всей нервной ! системе. Высокая разрешающая способность сетчатки j и нейронные сети, предназначенные для обработки • информации на уровне сетчатки, вероятно, оказались бы излишними для коры, но скорее всего они играют, свою роль в сочетании с верхними холмиками. Сигналы передаются в зрительные центры мезга по двум структурам (по одной с каждой стороны), называемым коленчатыми телами. Все реакции от их нейронов являются концентрическими, т. е. ненапра-: вленными. Это значит, что реакция может возник-: нуть при действии пятна света в любом участке небольшой круглой области зрительного поля. Часто оказывается, что нейрон по-разному реагирует на пятно света внутри некоторого круга и на пятно све- та, которое оказывается вне этого круга, но остается " в пределах большого круга, окружающего первый. Свет во внутренней области может возбуждать дан« 203
ный нейрон, а свет во внешней области — тормозить его реакцию. Эти две области могут иметь различную цветовую чувствительность. Зрительное поле отображается в зрительные центры коры головного мозга. В этой области коры встречаются концентрические нейроны, подобные тем, что имеются в коленчатых телах, но обнаруживаются также нейроны трех других типов, которым Хьюбель и Визель дали следующие названия: простые (хотя они не столь просты, как концентрические нейроны), сложные и гиперсложные. Рис. 38. Рецептивное поле нейрона того типа, который особенно сильно реагирует на присутствие края, соответствующей ориентации. Крестики обозначают точки, в которых свет оказывает возбуждающее действие на нейрон, а кружочки — точки, где свет оказывает тормозящее действие. Каждый из нейронов названных трех типов связан с определенной ориентацией в зрительном поле, разной для различных нейронов. Для некоторых из простых нейронов в зрительном поле существует такая линия, что световые образы, находящиеся вблизи линии с-одной стороны от нее, возбуждают нейрон, а расположенные с другой — подавляют его активность. На рис. 38 показана такая линия, причем точки, в которых свет вызывает возбуждение, отмечены крестиком, а те, что создают тормозящий эффект,— кружком. Реакция нейрона такого типа максимальна, когда граница света и тени совпадает с указанной линией, причем граница проходит так, что точки, создающие торможение, находятся в темноте, а вызывающие возбуждение — освещены. Таким образом, этот простой нейрон действует как специализированный детектор края, находящегося в определенном положении в зрительном поле. Хьюбель и Визель обнаружили и другие простые нейроны, способность которых к реакции может быть представлена так, как показано на рис. 39 и 40. Можно сказать, что они выделяют светлые и темные полоски соответственно. Интересно, что тип нейрона, соответствующий рис. 40, в точности совпадает с 'элементами, встроенными Парксом (в качестве этапа 204
предварительной обработки) в его систему распознавания символов, предназначенных для обнаружения отрезков линий (гл. 7). Сложные нейроны, по существу, ведут себя так же, как простые, но реагируют только на движущиеся края и полоски. Хьюбель и Визель обнаружили их случайно, когда начали использовать края реальных объектов (типа листа картона) для того, чтобы вызвать быстрые реакции простых нейронов. Это, X X X X X X ооо о о о о о о оо о X X X X XX Рис. 39. Рецептивное поле ней- Рис. 40. Рецептивное поле нейрона, реагирующего на свет- рона, реагирующего на темную лую полоску. полоску. безусловно, более удобный способ, чем формирование изображений путем создания световых пятен последовательно по всей области. Исследователи обнаружили, что некоторые нейроны реагировали на край только в том случае, когда он двигался. Сложные нейроны реагируют на движение края, а также светлых или темных полосок в определенной области зрительного поля, которую называют полем данного нейрона. На эти нейроны не действуют объекты, находящиеся вне их полей. Таким образом, не играет роли, простирается ли край или полоска за пределы этого поля или только соприкасается с ними.{ Но у гиперсложных'нейронов имеется некое поле, в пределах которого движение края или полоски вызывает реакцию нейрона, и эта реакция максимальна, если объекты не выходят за пределы поля. При любом выходе объекта за пределы такого поля реакция нейрона уменьшается. Довольно сложно понять, какой цели служат гиперсложные нейроны. Однако важно уже то, что один тип простого нейрона точно соответствует элементу, ° / ** / о/ * V о о/++/ о о /++/ о / о 205
встроенному в искусственную систему. Что касается простого нейрона другого типа, то ему, по-видимому, также легко найти применение в искусственных схемах распознавания образов. Реакция простого нейрона должна определяться комбинацией сигналов от некоторого числа концентрических нейронов. Аналогично сложный нейрон должен объединять выходы нескольких простых нейронов, имеющих одинаковую ориентацию. В таком случае гиперсложный нейрон должен объединять выходы нескольких сложных. Итак, получаем следующую прогрессию: Концентрический (нейрон) — простой — сложный — -гиперсложный. Не следует, однако, считать, что вся зрительная информация проходит по этому пути. Это следует хотя бы из того факта, что мы видим звезды в ночном небе. Здесь нет ни края, ни светлой или темной полоски, и тем не менее информация поступает в мозг. В экспериментах в области физиологии зрения было установлено, что на следующий, этап обработки информации поступают входные данные от нейронов всех четырех типов. (Чтобы видеть звезды, сигнал должен поступать непосредственно от концентрических нейронов.) Нейроны указанных типов были обнаружены Хьюбелем и Визелем в поле 17. Следующий этап обработки зрительной информации, по-видимому, происходит в поле 18, но его работа пока плохо поддается описанию. Хьюбель и Визель, подводя итог своим исследованиям, заявили следующее: «Специализированные нейроны, каковыми являются клетки поля 17, по сравнению с палочками и колбочками тем не менее должны представлять собой весьма элементарную стадию обработки сложных форм информации и заниматься, как это им свойственно, относительно простым анализом контуров областей, проецирующихся на сетчатку. То, как полученные при этом данные используются на последующих •этапах обработки зрительной информации, представляет собой одну из наиболее интригующих проблем для будущих исследований», 'g06
Нейронная пластичность Важная особенность' естественного интеллекта за« ключается в его способности к обучению. Большинство видов активности мозга, которые мы пытаемся имитировать в искусственных системах, по крайней мере отчасти, являются результатом обучения на опыте. Многие исследователи считали, что путь к созданию настоящего искусственного интеллекта лежит через построение искусственных систем, способных обучаться. Примерами могут служить персептрон (гл. 8) и программа для игры в шашки Сэмюэля (гл. 6). Процесс обучения в нервной системе, по-видимому, связан с определенными изменениями физических свойств нейронов (или, возможно, клеток другого типа, соседствующих с нейронами и влияющих на них). В персептроне и других модифицирующихся сетях реализуется гипотеза, согласно которой эти изменения сказываются на эффективности действия синапсов. Любая способность нейрона изменять свойства в зависимости от его предшествующей активно* сти называется пластичностью. Большая часть экспериментальных работ (хотя, безусловно, далеко н$ все), касающихся пластичности, была выполнена на зрительной системе земноводных (лягушек и др.)] или млекопитающих, о чем мы уже говорили. Интересно узнать, например, связано ли появление простых, сложных и гиперсложных нейронов Хьюбе- ля и Визеля со зрительным опытом животного. Как это часто случается в биологических исследованиях, абсолютно четкого и ясного ответа на этот вопрос получить не удалось. Хьюбель и Визель обнаружили, что зрительный опыт животного не является необходимой предпосылкой для возникновения специализированных нейронов. Их развитие, однако, зависит от такого опыта. Одну группу котят специально содержали в таких условиях, что их опыт сводился лишь к восприятию вертикальных полос (большую часть времени они проводили в клетке в темноте, а когда внутренность клетки, выкрашенной вертикальными полосами, освещалась, их головы поддерживали в вертикальном положении). Другая группа подопытных котят имела дело лишь с горизонтальными 207
полосами. Было установлено, что у первой группы котят почти все специализированные нейроны Хьюбе- ля и Визеля имеют вертикальную ориентацию, а у второй — горизонтальную. Поведение котят также вполне соответствовало результатам этих электрофизиологических исследований. Котята игриво бросались на любой предмет типа карандаша, которым помахивали перед ними. При этом котята первой группы не реагировали на горизонтально расположенный карандаш, и наоборот, котята второй группы «проявляли безразличие» к предметам, вытянутым по вертикали. В последние годы ряд исследователей, прежде всего Уолл, занимались изучением другого класса явлений, связанных с пластичностью. Когда нейрон лишают входа, перерезая ведущие к нему пути, он часто начинает реагировать на другой вход, к которому прежде был нечувствителен. Такие эффекты изучались главным образом в связи с тактильными раздражителями. В одной своей работе, которая, собственно, и привлекла внимание к этому эффекту, Уолл и Эггер [7] экспериментировали со взрослыми крысами, записывая сигналы из определенной области нижней части мозга, на которую проецировалась поверхность тела. Размеры этой области в поперечнике не превосходят нескольких миллиметров, но с помощью микроэлектродов исследователи смогли обнаружить на каждой стороне области отображения передней и задней конечности противоположной стороны животного. Эти области отображения можно было проследить, найдя хотя бы по одной точке в каждый момент времени. Кончик микроэлектрода, подсоединенного к усилителю, вводили в предполагаемую область отображения, а затем кожу крысы терли щеткой (со средним усилием) до тех пор, пока не наталкивались на точку, прикосновение к которой вызывало сигнал на усилителе. У некоторых животных Уолл и Эггер прерывали путь, по которому сигналы от задней конечности шли к области отображения. В день такой операции можно убедиться, что существует «немая область» в том участке мозга, куда должна быть отображена задняя конечность. Через некоторое время область отображения передней конечности расширялась, как буд- 208
то она была нарисована на резиновой пленке и теперь, вытянувшись, захватывала область, прежде, заяжуга отф&ртжешшйг эдшей ковешюсти. Время, в течение которого происходили такие изменения, составляло две-три недели. Одна из причин, по которой мог возникнуть эффект «резиновой пленки», состоит в физическом изменении нейронов в области отображения. Так.могло бы случиться,; если бы происходило сжатие неиспользуемых нейронов, которые представляли раньше заднюю конечность, и увеличение размеров остальных. Уолл и Эггер высказали соображения, позволяющие думать, что эффект «резиновой пленки» создается не таким образом, а обусловлен реальными изменениями в связях нейронов, в результате которых нейро-. ны, прежде реагировавшие,на стимуляцию какой-то точки на задней конечности, начинают теперь откли-. каться на возбуждение некоторой точки на передней конечности. Изменение в связях может произойти в основном . двумя путями: путем разрастания новых соедшгений либо путем демаскирования старых соединений,которые все время существовали, но не действовали. В настоящее время (конец 1981 г.) из этих двух* возможностей Уолл считает наиболее вероятным демаскирование. Нейроны имеют множество соедшгёйий (часто до 10 тыс. на одну клетку), но наблюдаемые реакции можно объяснить с учетом, возможно, двух- трех входов. Поскольку избыточность во взаимных соединениях громадна, открываются широкие возможности для образования новых рисунков соединений путем демаскирования прежде не работавших синапсов. Пластичность, исследованная Уоллом и его коллегами, обнаруживается лишь при хирургическом вмешательстве: важно действительное перерезание пути передачи сигналов в нейрон,, а не просто прекращение подачи сигналов. Поэтому маловероятно, чтобы такого рода пластичность играла какую-то роль в обучении. С другой стороны, не ясно, каким образом синапс «узнает», что путь к нему где-то прерван. Недавно Уолл высказал предположение, что этот эффект, возможно, зависит от того факта, что при перерезании нервного пути происходит прерывание тонких не покрытых миелином волокон (так 209
называемых С-волокон), переплетающихся с намного более крупными волокнами основного пути. Согласно некоторым данным (правда, пока недостаточно убедительным), С-волокна определяют эффективные соединения, сформированные в основных нервных путях. Если эта интерпретация верна, то, возможно, результаты Уолла имеют непосредственное отношение к процессу обучения. Данные, полученные Уоллом и его коллегами, особенно интересны тем, что они касаются пластичности у взрослых животных в отличие от ранее упомянутых исследований на котятах. У молодых животных трудно отличить эффекты, которые скорее следует рассматривать как повзросление, от тех, которые вызваны обучением. Оба исследования пластичности выполнялись на млекопитающих, и поэтому они с большей вероятностью имеют отношение к нервной системе человека, чем исследования, проводимые на лягушках и'других земноводных. С земноводными экспериментальные исследования проводились в широких масштабах. Наиболее яркие проявления нейронной пластичности (включая модификацию отображения посредством эффекта типа «резиновой пленки») изучались для земноводных еще задолго до того, как аналогичный эффект был обнаружен Уоллом и Эггером у взрослых крыс. Результаты исследований на земноводных достаточно полно отражены в книге Гейза [8]. Пластичность в нервной системе земноводных Нервную систему земноводных можно исследо- вать такими экспериментальными методами, которые неприемлемы в случае млекопитающих. Нервная система животных состоит из двух частей — централь* ной нервной системы, которая включает головной мозг, спинной мозг, зрительные нервы и сетчатку, и периферической нервной системы, состоящей из отростков центральной нервной системы, которые соединяются с мышцами и органами чувств. У млекопитающих повреждение центральной нервной системы не ликвидируется структурно: благодаря какой-либо форме пластичности возможно некоторое восстанов- 210
ление функции, ко перерезанный зрительный нерв млекопитающего никогда не восстанавливается. В этом отношении нервная система земноводных ведет себя совершенно иначе: соединения в центральной нервной системе, поврежденные в результате хирургического вмешательства, могут восстанавливаться. Сетчатка каждого глаза лягушки отображается на зрительную долю противоположной стороны мозга. Если зрительный нерв перерезан, но концы находятся довольно близко друг от друга, то со временем они соединяются — и зрение в пораженном глазу лягушки восстанавливается. В этом мы можем убедиться, замечая, что лягушка в состоянии поймать язычком приманку, которой перед ней помахивают, держа в различных частях зрительного поля. Проверка с помощью микроэлектрода также показала, что произошло восстановление отображения в зрительной доле. Восстановление наблюдается даже в том случае, если концы зрительного нерва «разлохматить». Мысль о том, что волокна «находят дорогу» к своим прежним соединениям на другой стороне среза, интуитивно кажется весьма нелепой: ведь для этого волокна должны содержать какие-то химические вещества, обеспечивающие их правильное соединение. Многим исследователям более разумным представляется другое объяснение: волокна соединяются случайным образом, а восстановление зрения происходит в результате определенного процесса обучения на зрительном опыте. Однако некоторые • дальнейшие эксперименты, проведенные Сперри [9], заставили отказаться от этой гипотезы. Было установлено, что если во время перерезания зрительного нерва глаз был повернут на 180°, то зрение восстанавливается, но изображение оказывается повернутым на 180° (и остается таким в дальнейшем). В том, что зрительное восприятие становится «перевернутым», можно убедиться, если помахивать приманкой в различных частях зрительного поля; мы увидим, что лягушка стреляет язычком в неверном направлении. К подобному заключению приводит и исследование' микроэлектродными методами отображения на зрительной доле. Можно также прервать оба зрительных нерва и дать-им соединиться так, чтобы нерв, который шел к 211
Рис. 41. Результат устранения перекрещивания двух зрительных нервов (нервы перерезаются, при этом создается препятствие восстановлению прежних соединений). Глаза изображены кружками. Точки Л, В, С и D зрительного поля образуют изображения на соответствующих сетчатках. После операции точки А к В отображаются на тектум там, где раньше отображались точки С и D. Приманка, показанная в точке Л, заставляет лягушку ударить в точку С, а приманка, помещенная в точку В, заставляет лягушку ударить в точку D. Это говорит о повороте изображения на 180° слева направо. правому глазу, теперь соединился с левым, и наоборот. И снова зрение восстанавливается, но внутренняя (назальная) сторона правого глаза отображается в то место на правой зрительной доле, которая прежде представляла внутреннюю (назальную) сторону лев®го глаза, и т. д. Зрение оказывается обращенным слева направо (рис. 41). Эти результаты, казалось, отвечали точке зрения Сперри, утверждающего, что нервные волокна способны «распознавать» свои прежние соединения (или в случае перекрещивания зрительных нервов распознавать в другом нерве волокна, соответствующие прежним соединениям) вследствие какой-то их химической специфичности. Создается впечатление, что в целом все предопределено генетически, и поэтому нет необходимости постулировать существование какой- то формы пластичности. Но, как показали дальнейшие эксперименты, картина не столь проста. В них было установлено, что в результате хирургического вмешательства какая-то часть сетчатки может оказаться отображенной на всю зрительную долю или, наоборот, часть зрительной доли может содержать отображение всей сетчатки. Эффект «резиновой пленки» может работать с той 212
Рис. 42. Отображение зрительного поля — сначала на сетчатке, а затем на тектуме — у лягушки с нормальным глазом (N), с двойным назальным глазом (NN) и с двойным височным глазом (ТТ). (По данным Гейза [8].) и другой стороны. (Во многих отчетах по этой работе для обозначения зрительных долей использовалось слово тектум.) Гейз разработал полезную методику, связанную с формированием составных глаз (которые, однако, не следует путать с многоячеистыми составными глазами насекомых). Гейз имел в виду глаз, «образованный» из двух половинок, взятых от левого й правого глаз. В результате операции он создавал у животных двойной назальный или двойной височный глаз. Двойной назальный глаз состоит из назальной (внутренней) половины правого глаза и назальной половины левого глаза. Подобным же образом двойной височный глаз состоит из двух височных (внешних) половин правого и левого глаз. Оказывается, вполне реально трансплантировать глаза (или половины глаз) одного * животного другому, получая указанные результаты. 213
В одной серии экспериментов Гейз формировал составные глаза у земноводных на ранней стадии их развития — до того, как образовывались соединения, идущие от глаз к тектуму. Когда затем эти соединения возникали, обнаруживалось, что каждый «полуглаз» отображен на всю зрительную долю противоположной стороны, как показано на рис. 42. Каждая точка зрительной доли (за исключением складки в точке В) соответствует двум точкам на сетчатке. Ясно, что принцип химической специфичности действует не совсем так, как предполагал Сперри. Модель «торговцы чаем» Уилшоу и Ван-дер-Малсбург [10] предложили теорию, объясняющую описанные здесь экспериментальные результаты (за исключением колатераль* ной проекции, о которой речь пойдет ниже). Согласно этой теории, волокна зрительного нерва не имеют особой «пометки», которая указывала бы на наличие в каждом волокне некоего специфического химического вещества. Вместо этого в отдельных точках сетчатки образуется сравнительно небольшое число различных веществ, которые, диффундируя из мест своего образования, распределяются по сетчатке таким образом, что их концентрация уменьшается пропорционально расстоянию. Каждое конкретное волокно несет в себе смесь «маркерных веществ», соответствующую относительной концентрации этих веществ в том месте сетчатки, откуда берет начало данное волокно. Такие химические смеси, переносимые нервными волокнами, дают им возможность формировать непрерывное отображение на зрительной доле, как только они впервые достигают ее в ходе эмбрионального развития животного. В своей более ранней работе [11] Уилшоу и Ван-дер-Малсбург попытались объяснить, как формируется такое отображение, предложив для этой цели модель «торговцы чаем» (см, ниже). Волокна нерва, перенося химические смеси на зрительную долю, формируют на ней распределение веществ, подобное распределению этих веществ на сетчатке. Если зрительный нерв перерезается, но ему предоставлена возможность регенерировать, то ото* 214
бражение восстанавливается в силу того, что каждое волокно соединяется со зрительной долей в нескольких точках, но соединение «крепче» там, где химический состав самого волокна в большей степени соответствует химическому составу данной области зрительной доли. Соединения, плохо согласованные, исчезают, а рядом с уже имеющимися соединениями формируются новые. Это позволяет «главному соединению» данного волокна перемещаться к той точке на зрительной доле, которая химически наиболее сходна с нервным волокном. Распределение маркерных веществ на зрительной доле составляет память, обеспечивающую упорядоченное восстановление соединений. Установлено, что если ввести некоторый верхний предел для суммы синаптических весов каждого волокна, то эта модель объясняет в все наблюдаемые эффекты «резиновой пленки^. Обратимся теперь к аналогии с торговцами чаем, которые приезжают из Индии в Англию, чтобы организовать торговлю чаем. В этой модели территория Индии представляет собой сетчатку, а территория Англии — поверхность зрительной доли. Предполагается, что в Индии чай выращивают на каком-то числе плантаций, причем чай с каждой плантации отличается своим вкусом. Торговцы приезжают из разных деревень, где составляются свои смеси чая. Состав чайной смеси, характерный для какой-то конкретной деревни, содержит исходные виды чая в таких пропорциях, которые обратно пропорциональным образом связаны с расстоянием от деревни до соответствующей плантации. Торговцы в состоянии привести с собой лишь какое-то определенное суммарное количество чая. У покупателей вырабатывается предпочтение той смеси чая, которую они обычно покупают, и торговец большую часть своего чая поставляет тем покупателям, которым этот чай по душе. Таким образом, покупатель закрепляет за собой право на приобретение нужного ему сорта чая. Но вместе с тем каждый торговец, конкурируя со своими коллегами, выделяет и распространяет определенное количество чая «на пробу», с тем чтобы привлечь новых покупателей. Моделирование на вычислительной машине показала, -Яга такое сочетание взаимодействия и конкуренции 215
может создать некоторое гладкое отображение при условии, что в начальных контактах торговцев с покупателями имеется хотя бы небольшое соответствие в порядке обслуживания. В случае зрительного нерва соответствие в порядке обслуживания обеспечивается благодаря тому, что по мере роста из сетчатки в пучке волокон сохраняется определенный порядок. Сначала формируется отображение между относительно малыми областями сетчатки и зрительной доли, но оно сохраняется и в дальнейшем, по мере увеличения числа волокон, идущих от сетчатки к зрительной доле. В модели это соответствовало бы следующей ситуации. Потребление чая начинается с небольшой области Англии, куда он доставляется также из какого-то небольшого района Индии, а затем оно постепенно распространяется по всей стране. Это в свою очередь способствует тому, что выращиванием чая начинают заниматься и в других районах Индии. Модель «торговцы чаем» и исследования по имитации ее на вычислительной машине обычно не связывают с искусственным интеллектом, поскольку эти исследования не столь целенаправленны, как большинство работ в области искусственного интеллекта. Тем не менее эти исследования дают общее представление о некотором классе проявлений нейронной пластичности и, безусловно, вносят значительный вклад в понимание процессов обработки информации, происходящих в мозге. Колатеральная проекция Основная проекция сетчатки на зрительную долю носит контралатеральный характер: сетчатка каждого глаза соединяется со зрительной долей противоположной стороны головы. У лягушки (в отличие от человека) наблюдается полное перекрещивание — все волокна от правого глаза идут в левую долю и наоборот. Но несмотря на полное перекрещивание, лягушка способна связывать между собой изображения одной и той же точки, сформированные на двух сетчатках. Это важно, если лягушка обладает бинокулярным зрением (обеспечивающим стереоскопическое вос«* 216
лриятие глубины). Соответствующие точки на двух зрительных долях действительно связаны между собой, пркчем в обоих направлениях. В результате возбуждение какой-то точки на любой из сетчаток создает реакцию в зрительной доле, расположенной с той же стороны {колатеральная доля); при этом сигнал сначала идет к контралатеральной доле, а затем по пути, соединяющему две доли. В противоположность первичной контралатеральной проекции соединительные пути колатерального типа, оказывается, реагируют таким образом, что это можно объяснить, лишь предположив, что они формируются в процессе накопления животным зрительного опыта. Когда один глаз животного поворачивают так, чтобы проекция сетчатки на зрительную долю создавала перевернутое изображение окружающего мира, то обнаруживается, что волокна, соединяющие две доли, связывают точки, соответствующие одной и той же точке в реально наблюдаемом зрительном поле. Способность к обучению, которая, как ни странно, отсутствует в контралатеральной проекции, проявляется в колатеральной проекции. Таким образом, в смежных частях нервной системы лягушки действуют два совершенно разных типа нейронной пластичности, Нейрофизиология и искусственный интеллект Мы довольно подробно рассмотрели вопросы нейрофизиологии зрения и нейронной пластичности. Экспериментальные результаты, полученные при исследовании зрительной системы животных, в принципе имеют отношение к системам искусственного интеллекта: по крайней мере нетрудно заметить удивительное соответствие между рис. 16 и 17, относящимися к работе Паркса по распознаванию символов, и рис. 40. Исследования по нейронной пластичности скорее могут быть связаны с «кибернетическим» подходом к искусственному интеллекту, т. е. подходом с позиций «самоорганизующихся систем». Основное же направление работ в области искусственного интеллекта, 217
очевидно, следует связывать с функциями мозга на -более высоком, организационном, уровне. Однако оба этих уровня должны в конце концов сомкнуться. Как отмечалось в гл. 1, «экспериментальная эпистемология» Маккалока была направлена именно на то, чтобы добиться гармонического сочетания этих двух .подходов. Как мы могли заметить, идеи пластичности в настоящее время активно развиваются, и в этой области, безусловно, наблюдается определенный прогресс. Возможно, что недалек тот час, когда будет сделан существенный таг в направлении объединения двух подходов к исследованию искусственного интеллекта, к чему и призывал Маккалок.
13 ДОСТИГНУТЫЕ РЕЗУЛЬТАТЫ Работы в области искусственного интеллекта находятся в центре современных исследований в вычислительной технике. Этому вряд ли стоит удивляться, если вспомнить, что мы говорили в гл. 1 о существе проблемы искусственного интеллекта. Если считать, что она сводится к поиску способов заставить машины производить операции, сегодня ей недоступные, то искусственный интеллект по определению представляет собой передний край таких исследований. Поэтому проблема искусственного интеллекта привлекает многих способных людей, которые занимаются разработкой новых, все более совершенных вычислительных приемов. Обработка списков, рекурсивная техника и ис« пользование формального синтаксиса — эти три предмета, относящиеся к области вычислительных наук, непосредственно связаны с искусственным интеллектом. Обработка списков Во многих задачах, связанных с искусственным интеллектом, приходится оперировать информацией, представленной не в числовой, а в символьной форме Это, например, необходимо при составлении программ для автоматизированной математики, манипулирующих алгебраическими выражениями. Эти выражения представляют собой последовательности» или списки символов, причем слово список, по существу, используется здесь в его повседневном смысле, как список покупок, список участников какого-то мероприятия и т. д. Список в вычислительном смыс« ле всегда является упорядоченным списком. Список покупок представляет собой упорядоченный список, 219
если он записан, скажем, на листе бумаги в строгом порядке сверху вниз, однако при,пользовании списком покупок такой порядок не имеет принципиального значения: подобный список можно было бы расположить и на отдельных листочках бумаги. Простой список символов может быть представлен в памяти вычислительной машины стандартными методами: он подобен массиву числовых величин и его- можно хранить в последовательных ячейках линейно упорядоченного пространства памяти вычислительной машины. Но если в ходе вычислений список требуется изменять, то простая, линейная, форма хранения не обеспечивает необходимой гибкости. Совершенно очевидно, что неудобно вставлять новые символы в середину линейного списка или стирать имеющиеся там символы. Кроме того, чтобы зарезервировать достаточный объем памяти, необходимо заранее знать длину списка. Если же последовательные символы списка не обязательно заносятся в последовательные позиции памяти вычислительной машины, то список можно хранить в форме более удобной для манипулирования. Один из способов достижения такой гибкости состоит в том, что каждый символ хранится в определенном элементе списка, состоящем из одного или более машинных слов и содержащем две части. Сам символ представлен в одной из этих частей (по традиции называемой CAR); другая часть .(называемая CDR) указывает адрес следующего элемента списка в последовательности, соответствующей нашему списку. Список, представленный в виде такой «цепочки», свободен от многих ограничений, свойственных списку, хранящемуся в виде числового массива. Вставить какой-либо элемент в середину «цепочки» можно просто путем модификации CDR элемента, расположенного непосредственно перед точкой вставки. Этот CDR в свою очередь должен указывать на новый элемент, вставляемый в список, a CDR нового элемента должен быть копией прежнего содержания CDR предыдущего элемента К 1 Такая организация списков обсуждалась очень давно; см. например, книгу: Китов А. И. Программирование информационно-логических задач. — М.: Советское радио, 1967, ч, III, «Ас* социативное программирование». — Прим. ред. 220
Термин обработка списков обычно относится к представлению и манипулированию списками в форме цепочки. До сих пор мы говорили только о простых линейных цепочках. Но списки становятся много полезнее, если часть CAR какого-то элемента списка может быть использована не только для представления символа, но и для указания на некоторый подсписок. Тогда становится возможным представлять как простые линейные списки, так и структуры типа дерева. После такого дополнения обработка списков превращается в способ представления вложенных структур и манипулирования ими удобным образом. Алгебраические выражения являются вложенными структурами, поскольку они могут состоять из подструктур, те — из подподструктур и так до любой глубины. Если нам понятно, что означает я + &, то нам понятно и то, что получится, если один из символов, скажем а, заменить подвыражением (с + d) + Ь и т. д. Часть CAR элемента списка может представлять либо символ, такой, как а, либо указывать на начало подсписка, представляющего подвыражение типа (c + d). Трудно представить, как вложенные структуры можно было бы обрабатывать иначе, чем с помощью цепочечных списков. Тот факт, что выражения естественного языка носят вложенный характер, еще более подчеркивает, насколько важно иметь возможность обрабатывать вложенные структуры. Слово в предложении (существительное или прилагательное) можно заменить именным или определительным оборотом либо целым предложением. Это предложение будет иметь такую же структуру, как и исходное, и слова в нем можно снова заменить оборотами и предложениями. В принципе глубина вложения ничем не ограничена, однако если в предложении имеются два или три уровня вложения, то люди с ним уже не в состоянии работать. В области искусственного интеллекта был разработай ряд специальных языков для обработки 221
списков. Наиболее известен из них язык ЛИСП (LISP — сокращение от LISt Processing language, что означает «язык для обработки списков») [1], созданный Маккарти в 50-х годах. То обстоятельство, что этот язык до сих пор находит широкое применение, говорит о том, что он удовлетворяет основным требованиям. Этот язык не только широко используется сам по себе, но и оказал воздействие на построение таких языков программирования, как АЛГОЛ-68, ПАСКАЛЬ и ПЛ-1. Новые языки типа АЛГОЛ (ПАСКАЛЬ и АЛГОЛ-68) отличаются от более старого языка АЛ- ГОЛ-60 именно тем, что позволяют достаточно удобным образом обрабатывать списки. Некоторые дополнительные соображения относительно обработки списков содержатся в приложении 1 к настоящей главе. Рекурсия При обсуждении вложенных структур целесообразно остановиться на понятии рекурсия. Алгебраические выражения естественным образом являются рекурсивными, поскольку любое выражение — что бы ни понималось под ним —может войти как подвыражение в другое алгебраическое выражение. Методы, используемые при обработке списков, должны быть рекурсивными. Это означает, что при работе с внешней структурой (йапример, с внешним алгебраическим выражением) мы должны располагать возможностью на каком-то этапе прервать работу и применить используемый метод во всей его полноте к некоторому подвыражению. Закончив работу с подвыражением, необходимо иметь возможность возобновить обработку внешнего выражения с того места, где она была прервана. Конечно, при работе с подвыражением также может возникнуть необходимость в рекурсивной обработке подподвыражения и т. д. Некоторые дополнительные замечания о рекурсии сделаны в приложении 2 к этой главе. В настоящее время рекурсия стала привычной характеристикой разнообразных аспектов программирования на ЭВМ. Возможность создания рекурсивных процедур и возможность рекурсивного вызова процедур были пред- 222
усмотрены в языке АЛГОЛ с самого начала его создания. (Метод рекурсии часто кажется ненужным, когда языки программирования используются для обычной числовой обработки, однако он представляет ценность в других приложениях, особенно при обработке символьных текстов.) Программы, записанные на языке АЛГОЛ, сами по себе являются вложенными структурами, и используемые для их перевода на машинный язык компиляторы должны оперировать с рекурсивными структурами. Ценность метода рекурсии стала очевидной в связи с работами в области искусственного интеллекта.. Повседневное поведение человека и используемые им способы решения задачи носят рекурсивный характер. Когда человек берется за решение какой-то задачи (допустим, за написание статьи), он должен быть в состоянии прервать эту работу и применить те же методы решения задач и планирования к той или иной подзадаче. Примерами подзадач могут быть, скажем, приготовление кофе для поддержания сил, получение необходимой информации в библиотеке, покупка писчей бумаги, чернил и т. д. Эти подзадачи в свою очередь могут включать в себя другие подподзадачи, как-то: добывание денег для покупки бумаги, организация поездки в библиотеку или в магазин канцелярских товаров и т..д. По завершении решения каждой подзадачи возобновляется работа над исходной задачей и, возможно, человек говорит: «Итак, где я был?» Рекурсивный характер планирования и решения задач человеком был перенесен в такие программы искусственного интеллекта, как универсальный решатель задач Ньюэлла, Шоу и Саймона (гл. 2 и 3). Рекурсия стала важной характеристикой специальных языков программирования, разработанных для решения задач искусственного интеллекта (в частности, для языка ЛИСП, о котором мы уже говорили). Формальный синтаксис Были разработаны специальные средства для представления синтаксиса, т. е. грамматических правил языка формальным и однозначным образом. Правила разработанного типа могут подаваться в 223
вычислительную машину в качестве входной информации. Программа использует эти правила для определения процесса перевода или же выводит из. них эквивалентное множество правил, удовлетворяющее требованиям, которым исходное множество не удовлетворяет. Как мы уже отмечали в гл. 9, для перевода или анализа смысла естественно-языковой информации одних синтаксических соображений недостаточно. Формальный синтаксис главным образом применяется в связи с машинными языками и при теоретическом рассмотрении лингвистами естественного языка. Наиболее известным формализмом для описания правил синтаксиса является форма Бекуса — Наура (БНФ), названная так по имени двух исследователей, которые ее разработали и первыми использовали. Первая публикация [2], принесшая методу БНФ широкую известность, была посвящена использованию этого метода для определения языка АЛГОЛ-60. Общее представление о формальном синтаксисе сложилось в связи с исследованиями по естественному языку, проведенными лингвистом Хомским. Эти исследования он проводил в Массачусетском технологическом институте (США), где в то время осуществлялась работа по автоматическому переводу и системам вопрос — ответ. Очевидно, формальный синтаксис можно рассматривать как своего рода отход от исследований по искусственному интеллекту 1. Психология Одним из побудительных мотивов исследований в области искусственного интеллекта является стремление понять сущность процессов мышления у человека. Отношение психологов к проблеме искусственного интеллекта и степени его «родства» с интеллектом естественным колеблется в широких пределах — от пренебрежительного скептицизма до безудержного энтузиазма. Работа Ньюэлла, Шоу и Саймона стави- 1 Говоря более точно, формальные системы, примером которых могут служить формальные грамматики, предложенные Хомским, составляют лишь часть того, что охватывается термином «искусственный интеллект». — Прим. ред. 224
ла своей прямой целью моделирование процессов решения задач человеком. Одним из энтузиастов применения методов искусственного интеллекта в психологии по праву считается Аптер [3]. Скептики заявляют, что исследователи, работающие в области искусственного интеллекта, добиваются решения задач методами, которые имеют очень мало общего с методами, используемыми людьми. Разнообразие подходов, отличающее различные исследования в области искусственного интеллекта, говорит о том, что программы составлены с применением определенных наборов приемов, специально разработанных для каждой конкретной задачи. В следующей главе мы покажем, что некоторые весьма важные стороны умственной деятельности человека не имитируются программами, написанными для вычислительных машин. Вместе с тем при решении различных задач люди, безусловно, прибегают к эвристикам (хотя в свете того определения эвристик, которое было дано в гл. 2, это звучит как тавтология), и исследования в области искусственного интеллекта позволили выявить кое-какие эвристики, которыми, возможно, пользуется человек. Исследования по искусственному интеллекту помогли также выделить некоторые важные аспекты процесса мышления, такие, например, как его рекурсивный характер. Даже в тех случаях, когда соответствие между машинным методом и методом, применяемым человеком, кажется весьма сомнительным, анализ задачи в форме, приемлемой для искусственного интеллекта, позволяет лучше понять ее характер. По-видимому, это полезно как для разработки искусственного интеллекта, так и для понимания естественного. К задачам такого рода относятся, в частности, распознание речи и анализ сцен, о которых мы говорили в гл. 8 (в разделе «Инженерия знаний»). В значительной степени прояснился также характер задачи понимания языка. До исследований в области искусственного интеллекта школьный «разбор» и «анализ» предложений считались алгоритмическими процедурами. Теперь же мы видим, сколь существенно они зависят от несинтаксических соображений. Исследования по искусственному интеллекту пробудили интерес к психолингвистике, 1/28 А. Эндрю 225
Специальные языки (ЛИСП и т. д.) и другие средства (ПЛЭННЕР, МИЦИН и пр.) из области искусственного интеллекта обеспечивают весьма «естественное» общение человека с машиной. Несмотря на свое несовершенство, методы хранения и представления информации, используемые в искусственном интеллекте, имеют важные аналогии с методами, используемыми человеком. К числу таких аналогий можно отнести рекурсию и ее применение к вложенным структурам. Существуют и другие «точки соприкосновения», которые менее ощутимы. Ценность методов искусственного интеллекта как моделей обработки информации человеком нелегко определить количественно, но, несомненно, она существенна. Практические применения Нет сомнения, что результаты, достигнутые в ряде областей искусственного интеллекта, находят практическое применение. В качестве примера можно назвать различные методы распознавания образов и распознавание речи. Роботы и экспертные системы создавались с ориентацией на практические приложения, и определенные результаты здесь имеются. Дальнейшие достижения возможны на пути объединения этих новых систем. Сочетание системы распознавания речи с экспертной системой (и с системой синтеза речи, что осуществить сравнительно просто) откроет возможность консультаций с «экспертом» по телефону. Рассматриваются планы создания автоматической системы заказов билетов на самолеты. Кроме непосредственно заказа билета такая система будет в состоянии давать информацию о расписании движения самолетов и сможет предлагать маршруты путешествий. Она будет давать также информацию о наличии свободных мест !. Как и многие другие научно-технические достижения, методы искусственного интеллекта могут служить не только прогрессу, но и целям уничтожения. В настоящее время много говорится о крылатых ракетах. Для их навигации используются методы распо- 1 Такая система, названная СИРЕНА, уже несколько лет успешно действует в Москве. — Прим. ред. 226
знавания образов. В гл. 15 мы коснемся морально- этических аспектов исследований в области искусственного интеллекта. Приложение 1 Обработка списков На рис. 43 показано, каким образом алгебраическое выражение (х+.а)Х(х-Ь) можно представить в форме древовидной структуры. Чтобы записать это выражение в памяти вычислительной машины, необходимо ввести в рассмотрение X IX | ш ш [±\ сЬ Рис. 43. Дерево, представляю- Рис. 44. Древовидная структу- щее выражение (х + а) X ра в памяти вычислительной Х(х--Ь). машины. элементы обработки списков двух типов: соответствующие нетерминальным вершинам дерева и соответствующие его терминальным вершинам (или листьям). Элемент для нетерминальной вершины содержит оператор (+, —, X или -г-) и ссылки (или указатели) на два других элемента. Каждый элемент, соответствующий листу, содержит некоторое представление для символа х, а или Ь. На рис. 44 показано дерево с прямоугольниками, представляющими элементы списка. Теперь рассматриваются элементы списка, имеющие более двух составляющих частей (CAR и CDR), о которых говорилось ранее. Развитие идеи обработки списков приводит к более сложным элементам. Например, в языке АЛГОЛ-68 допускаются структуры, /\ У,8« 227
которые могут содержать ссылки на другие структуры и, следовательно^ служить в качестве элементов списка. В языке ПАСКАЛЬ используются записи, которые могут содержать указатели на другие записи. Процедура формального дифференцирования может выполняться на дереве, подобном тому, 'что показано на рис. 44, и создавать дерево, представляющее производную. Если эта процедура используется для работы на дереве, содержащем только одну тер; минальную вершину, то она должна создать дерево, содержащее одну вершину, причем эта вершина содержит символ «1», если исходная вершина содержала «х», и символ «О» — в противном случае. Для дифференцирования более сложных выражений процедура должна действовать'в соответствии с правилами Рис. 45. Структура, представляющая производную по переменной х. В нижней части рисунка приведено исходное дерево, причем некоторые его части являются также частями дерева производной. Производная здесь представлена таким способом, который — хотя и правилен — приводит к слишком громоздкому дереву. В данном случае возможно автоматическое упрощение дерева производной. 228
дифференцирования суммы, разности, произведения и т. д.: (и + v)' = и' + v'\ (u — v)' = u - v'\ . (uXv)' = u'Xv + uXv'; где значок «штрих» означает дифференцирование. Поскольку значки «штрих» стоят в правой стороне равенств, процедура дифференцирования должна быть рекурсивной. При генерации дерева, соответствующего производной (скажем, от суммы), процедура дифференцирования должна порождать структуру, содержащую поддеревья, которые представляют производные каждого из подвыражений этой суммы. На рис. 45 показано дерево производной, которое такая процедура могла бы создать исходя из дерева, изображенного на рис. 44. Правило дифференцирования производной требует, чтобы, в этой производной снова появились подвыражения оригинала. Нет необходимости создавать дубликаты деревьев. На рис/ 45 дерево производной содержит ссылки на поддеревья исходного дерева, причем отсоединять их от исходного дерева не нужно. Таким образом, эти поддеревья служат двум целям. Приложение 2 Рекурсия Приложение 1 показывает, что процедура для работы на вложенной структуре — например, для задачи формального дифференцирования — должна быть рекурсивной, если вложение имеет неопределенную глубину. В качестве примера в литературе часто приводят . рекурсивную процедуру для вычисления факториалов целых положительных чисел. (Факториал целого числа равен результату перемножения всех (разных) отличных от нуля положительных целых, не превышающих это число, причем по определению факториал нуля равен единице. Факториал обозначается восклицательным знаком, идущим после числа: например, факториал 6 записывается как 6!, и 6! = 1 X 2 X 3 X X 4 X 5 X 6 = 720.) 229
В обозначениях языка АЛГОЛ-68 процедуру вычисления факториалов, можно записать следующим образом: PROC fact = (INT п) INT: BEGIN IF м = 0 THEN 1 ELSE n* fact (n— 1) FI END. Первая строка показывает, что процедура, называемая fact, воспринимает на входе целое число, которое в самой процедуре обозначено символом п\ результат также равен целому числу. Слово FI (не является стандартным английским словом) используется в качестве закрывающей скобки, соответствующей if, а звездочкой обозначается умножение. Вряд ли этот пример кого-то убедит в пользе рекурсии. Факториалы можно легко вычислять нерекурсивным методом, при этом предъявляется меньше требований к вычислительному времени и объему памяти. Однако рекурсивный способ представления информации обычно считают более «элегантным» и" более понятным для людей, читающих программу. Разработаны методы автоматического перевода большого класса рекурсивных процедур в эквивалентные нерекурсивные процедуры. Рекурсивная форма более приемлема для людей, а нерекурсивная более эффективна при выполнении процедуры на вычислительной машине. Но эти методы неприменимы, если рекурсия действительно необходима, как, например, в случае вложенных структур не определенной заранее глубины, о которых мы говорили в приложении 1. До сих пор мы рассматривали рекурсию, возникающую при декларации самой процедуры. Но рекурсия может возникать и при активации, или вызове, процедуры. Простым примером может служить процедура нахождения наибольшего из двух чисел: PROC max = (INT m, n) INT: BEGIN IF m > n THEN m ELSE n FI END. Эту простую нерекурсивную процедуру можно использовать для присваивания значений следующим образом: х: = max (max (max (а, Ь), с), max(<i, e)), 230
при этом возникает некоторая разновидность рекурсии, поскольку внешнее обращение к max не может быть завершено, пока не будут выполнены три внутренних обращения. Баррон [4] указывает на «неудачную» функцию, называемую функцией Акермана, которая объединяет эти два вида рекурсии. Это функция двух переменных, скажем А(т, п), которая определяется следующим образом: Если т = 0, то А (т, п) = п + 1, иначе если п = 0, то A(mt п) = А(т— 1, 1), иначе А (т, п) = А(т—1, А(т, п— 1)). Баррон предлагает читателю — если у того найдется минут пять свободного времени — вычислить исходя из этого определения функцию Л (2,3). (Однако признаюсь, что у меня эта процедура заняла больше пяти минут. Более того, при первой попытке я допустил ошибку.) Сложность этой задачи для человека вызывает у него чувство восхищения алголрподобными языками, позволяющими решать задачу «с ходу». Достаточно лишь следующим образом (в АЛГОЛЕ-68) определить процедуру: PROC ack = (INT m, n) INT: BEGIN IF m = О THEN п + 1 ELIF п = О THEN ack (m - 1, I) ELSE ack (m— 1, ack (m, n— 1)) FI END. Тогда значение Л(2,3) будет напечатано в ответ на следующую команду: print (ack (2, 3)). Аналогично можно произвести вычисления и для других значений аргументов (но не слишком больших, чтобы не выходить за разумные пределы времени вычислений и объема памяти). 231
Приложение 3 Формальный синтаксис Наиболее известной системой формального синтаксиса является, как мы уже отмечали, форма Бе- куса— Наура (БНФ) в том виде, как она использовалась для определения языка АЛГОЛ-60 [2]. Чтобы отличить символы БНФ от символов АЛГОЛ-60 и любого языка, синтаксис которого необходимо определить, в БНФ используются довольно необычные символы. Один из них — это : : =, который означает «определяется как» или «может быть переписан как». Другой символ — вертикальная черта (|), используемая для разделения различных альтернативных возможностей. Краме того, в БНФ имеются угловые, скобки (и). Символ, заключенный в угловые скобки, называется нетерминальным символом, так как он определяется одним из правил. Символы и цепочки из символов, не заключенные в скобки, являются терминальными символами и представляют лишь самих себя. Цифра определяется следующим образом: (цифра) ::=0|1|2|3|4|5|6|7|8|9, где (цифра) — нетерминальный символ, а каждая из цифр 0, 1, 2, 3, ..., 9 — терминальный символ. Этот символизм становится намного более мощным, когда в правых частях определений допускается использование нетерминальных символов, и особенно в том случае, когда допускаются рекурсивные определения, так что определяемый объект может появиться с правой стороны своего собственного определения. Строка из цифр, имеющая любую длину, начиная с единичной, определяется как цел. бзн. (сокращение для «целого без знака») одним из следующих соотношений: (цел. бзн.) : : = (цифра) | (цифра) (цел. бзн.) (цел. бзн.) :: =(цифра)|(цел. бзн.) (цифра). 232
Тогда целое, которое может-иметь (а* может'и йё иметь) знак, определяется так: ' ""'., (целое) : : = <цел. бзн.>| + <цел. бзн.>| — <цел. бзн.>, . где символы «+» и «—» являются терминальными. Предположим, что слово пав (простое алгебраическое выражение) используется для указания на выражение, содержащее четыре операции +, —, X и Н-, причем выполняется обычное условие, что последние две операции имеют приоритет перед первыми. Тогда пав определяется следующим множеством правил: (пав) :: = (член) | (пав) (слож.)(член) (член) :: = (блок) | (член) (умнож.) (блок) (слож.) :: = + | — (умнож.) :: = XI -г- (блок) :: = (перем) | (целое) ((пав)) (перем) : : = а\Ь\с ... x\y\z Круглые скобки, охватывающие (пав) в правиле для (блок), являются терминальными символами, показывающим, что пав в круглых скобках рассматривается как блок. Это определение является рекур^ сивным, поскольку (пав) появляется в правой части Этого правила. Определение вложенной структуры должно быть рекурсивным. Некоторый класс предложений английского языка определяется следующим образом: 1. (предложение) :: = (существ, часть) (глагольн. часть) | (существ. часть) (глагольн. часть) (существ, часть) 2. (существ, часть) :: = (артикль) (определяемое существ.) 3. (определяемое существ.) 4. (глагольн. часть) б. (часть наречия) 1 А. Эндрю : = (существ.) | (определение) (определяемое существ.) : = (глагол) |(глагольн. часть) I (часть наречия) : as (наречие) | (предлог) (су* ществ. часть) т
6. (артикль) :: == а | the 7. (существ.) :: = cat | mouse | dog | fox (кошка, мышь, собака, лиса) 8. (определение) :: = quick | lazy | brown] black (быстрый, ленивый, коричневый, черный) 9. (глагол) :: = goes | jumps | runs (идет, прыгает, бежит) 10. (наречие) :: = quickly | easily (быстро, легко) 11. (предлог) :: = over | under | through (над, под, через) Обычно такое множество правил используется с целью анализа входных цепочек символов (например, в программе АЛГОЛ-60), которые должны соответствовать тому, что определяется. Однако правила можно использовать вместе с генератором случайных чисел (см. гл. 1, приложение 2) для создания случайных предложений, подчиняющихся правилам этого множества. Можно сказать, что процедура анализа запускается в обратную сторону. Приведенные выше правила мбжно, например, использовать для построе-* ния известной фразы, которую часто используют для проверки пишущих машинок (с латинским шрифтом) з «The quick brown fox jumps over the lazy dog», (Проворная коричневая лиса перепрыгнула через ленивую собаку.) Чтобы построить какое-нибудь предложение, процесс генерации нужно запустить с правила 1. Здесь имеются две возможности, и для выбора какой-то одной из них следует обратиться к генератору псевдослучайных чисел. Если генерируется предложение «The quick brown fox...», то на первом шаге должна быть выбрана первая из этих двух возможностей. В дальнейшем процесс генерирования должен развиваться в соответствии с выбранной 'альтернативной, т. е. если выбрана первая из возможностей, то управление сначала должно перейти к правилу 2 для создания «существ, часть», а после того, как это сделано,— к правилу 4 для создания «глагольн* часть». Поскольку правила 2 и 4 в свою очередь передают управление другим правилам, то необходимо иметь стек, или магазинную память, для напоми- 234
нания о неоконченных моментах в различных правилах. Когда осуществляется первая передача управления от правила 1 к правилу 2, в стек помещается первый элемент и указатель — на следующий по порядку элемент (в соответствии с выбранной альтернативой). Если этот метод программируется на языке, допускающем использование рекурсивных процедур, то стек может быть составной частью реализующего правила языка, и тогда пользователю не обязательно нужно указывать его явным образом. Если в процессе генерирования встречается терминальный символ, то он добавляется к выходной строке, которая создается. Предложения, которые генерируются таким образом из приведенного множества правил, обычно очень короткие и неинтересные, что-то вроде «The brown cat runs» (коричневая кошка бежит) или «A mouse jumps a quick lazy dog» (мышь прыгает на быструю ленивую собаку). Словарь данного множества правил содержит 18 слов, выступающих в качестве терминальных символов: два артикля, четыре существительных, четыре прилагательных и т. д. Этот метод применим, однако, и к большим словарям, содержащим яркие, выразительные слова,— в этом случае рождались удивительные «современные» стихи. Они «современны» потому, что, во-первых, они таинственны и, во-вторых, в них абсолютно отсутствует рифма. Об этой разновидности «эстетической деятельности» машины мы говорили в гл. 11. 9*
: Л4 НЕРЕШЕННЫЕ ПРОБЛЕМЫ В любой области деятельности людям свойственно делать прогнозы на будущее. Но, как правило, такие прогнозы не оправдываются, особенно если первоначально они выглядели слишком оптимистично. Дело в том, что человек вообще излишне склонен к оптимизму! Но причина несоответствия прогнозов и реальности кроется также в том, что на ранних этапах исследования обычно отбираются (быть может, подсознательно) более легкие задачи. Однако, чтобы обеспечить дальнейший прогресс в той или иной области, приходится со временем подвергать анализу проблемы, отложенные «в сторону» вначале. А откладывали их потому, что на ранних этапах исследования не было видно легкого способа их решения. Довольно часто ситуация не проясняется и при наличии опыта, накопленного при решении более легких задач. Следует отметить, что область искусственного интеллекта, пожалуй, как ни какая другая из областей научных исследований, пострадала от чрезмерного оптимизма на первых этапах. Весьма скептически настроен, в частности, философ Дрейфус [1], который подверг критике предсказания, сделанные в 1957 г. Саймоном Г21, а потом и другими исследователями, работающими в области искусственного интеллекта. Некоторые из этих предсказаний, по существу, граничат с авантюризмом. Саймон считал, например, что в обозримом будущем диапазон проблем, которыми будет заниматься машина, «сравняется с диапазоном проблем, подвластных человеческому уму». Саймон сделал даже следующие конкретные предсказания: 1. В ближайшее десятилетие [с 1957 г.] электрон* ная вычислительная машина завоюет титул чемпиона 236
йира по шахматам, еслийгойько ей позволят участвовать в чемпионатах. ; , , , 2. В; пределах десяти лет ЭВМ откроет и сумеет доказать важную новую математическую теорему. 3. В десятилетний срок большинство теорий в области психологии примет вид. программ для вычислительных машин или вид тех или иных качественных утверждений относительно характеристик программ для вычислительных машин. Теперь абсолютно ясно, что оптимизм Саймона оказался чрезмерным. Как иронически заметил Дрейфус, специалисты, работающие в области искусственного интеллекта, по-видимому, никогда не научатся более трезво оценивать свои возможности. И, хотя в этом, безусловно, -есть доля правды, важно не допустить, чтобы «маятник отклонился» в противоположную сторону — излишнего скептицизма. Как отмеча* лось в гл. 1, имеется определенная тенденция рассматривать «интеллект» с такой точки зрения, при которой любая попытка добиться чего-то в области искусственного интеллекта заранее обречена на провал. Как только выясняется, что машина способна решать какую-то задачу, этот факт сам по себе используется для того, чтобы показать, что данная задача не относится к разряду «интеллектуальных». Однако в некоторых весьма серьезных областях действия машины разительно отличаются от того, что способен делать мозг человека. Различие между машиной и мозгом Различие в действиях мозга и машины, пожалуй, Наиболее ярко проявилось в методах, которые они используют при игре в шахматы. В настоящее время принято считать, что первое из названных выше предсказаний Саймона, возможно, сбудется через несколько лет (безусловно, при игре в шахматы машины достигли сейчас очень высокого «мастерства»). Однако успех игровых программ.основывается совсем На иных факторах, нежели игра человека. Машинные .методы шахматной игры базируются на громадной вычислительной способности машины, которая позволяет создавать программу простого обследования 237
(хотя, разумеется, не исчерпывающего^ дерева вш* можностей. Описывая свой универсальный решатель задач, Ньюэлл, Шоу и Саймон отмечали, что их не удовлетворяет положенный в его основу монотонный (шаг за шагом) способ построения доказательства. Подобный метод совершенно не соответствует поведению людей при решении задачи: человек как правило, в состоянии «видеть ход доказательства в целом», на* ходясь еще достаточно далека от его заключительных этапов. Математики нередко говорят а глубоком удовлетворении, которое они испытывают, чувствуя, что находятся на верном пути. Часто это чувство воз* никает, когда человек еще далек от завершения доказательства в деталях, но обычно оно не подводит* Ньюэлл, Шоу и Саймон пытались усовершенство- вать свой метод, применяя принцип планирования. Суть его заключалась в том, чтобы сначала найти «скелет» доказательства, используя стандартную про^ цедуру GPS, но не принимая во внимание менее существенные типы различий между тем, «что мы имеем», и тем, «чего мы хотим». Уменьшая таким образом множество различий, можно сократить и число необходимых операторов, поскольку некоторые из них оказываются излишними. Найденный таким образом «скелет» доказательства можно затем применить при построении полного доказательства, вводя полное множество типов различий. Такая модификация системы GPS вряд ли сделала метод сильнее, хотя, вероятно, что-то подобное нужно иметь в виду в любой деятельности по решению проблем. По мнению Дрейфуса, введение в систему этапа «планирования» связано с существенным «структурированием» задачи, при котором важное отделяется от менее важного, что под силу лишь людям* Дрейфус считает, что планирование — это еще один эвристический принцип, который может быть воплощен в программах, но изначальное формулирование этого принципа в конкретном контексте в настоящее время целиком определяется интуицией человека. Программы искусственного интеллекта ограничены потому, что они не способны порождать свои собственные эвристики. В значительной степени тот же дефект упоминался в связи с пандемониумом 238
Селфриджа (гл. 7J, когда рассматривалась трудность организации подходящего слияния с мутацией; О пей говорил также Сэмюэль, касаясь элементов, входящих в статическую оценочную функцию его программы для игры в шашки (гл. 6): программа подбирает числовые параметры с. о. ф. и изменяет выбор ее членов, но не обеспечивает введения качественно новых членов. Два довольно интересных замечания сделал Гуд при обсуждении игр (гл. 6). В приложении к работе о. машинных шахматах Гуд высказал некоторые соображения относительно игры в шашки человека и программы Сэмюэля. Гуд утверждает, что в игре был момент, когда человека можно было бы заставить проиграть. Этот ключевой ход легко было бы оправдать вербальным анализом ситуации, однако метод поиска по дереву, реализованный в программе Сэмюэля, не позволил «заметить» этот ход. С другой стороны, обсуждая игру го, Гуд отмечает, что даже опытный игрок часто не в состоянии убедительно объяснить начинающему, почему один ход лучше другого. Игрок обычно пользуется при этом такими понятиями, как «атака», «защита» и т. д.; но окончательное решение достигается в ходе процесса, не поддающегося анализу. Предложенный метод, по-видимому, дважды отступает от известных машинных методов — вербальное (словесное) описание отодвигает его на один шаг, а дальше вновь следует невербальная область !. По мнению Дрейфуса, тот факт, что в работах по искусственному интеллекту достигнут определенный успех, не обязательно означает, что эти работы ведутся в направлении, которое обеспечивает более глубокое соответствие с естественным интеллектом, Утверждать так, заявляет Дрейфус,— это все равно, -что говорить о забравшемся на дерево человеке каменного века, что он находится на пути прогресса, 1 По сути своей игра го является топологической, и ггрн игре в нее игроки должны обладать мышлением геометрического типа, как предполагают, связанным с работой правого полушария мозга, тогда как аналитнко-логическое мышлезше -определяется левым полушарием. Игроки в го как бы должны увидеть на доске целостные геометрические области, а не расположение отдельных камней на ее полях. — Прим. ред. 239
ведущему к космическим полётам/ Несомненно, этот **ело®ек «ближе» к звездам (по крайней мере к тем, которые ему вйДны), чем erb товарищи на земле. Однако если он действительно хочет проникнуть в космос, то ему лучше слезть с дерева и заняться земными делами: научиться добывать огонь и выплавлять железо, изобрести колесо и т. д. Мы уже отмечали в гл. 13, что некоторые принципы, используемые в искусственном интеллекте (в частности, эвристики), присущи также мышлении? человека, хотя множество других особенностей человеческого интеллекта остается невыясненным. Если принять это во внимание, то можно сказать, что исследователи, работающие, в области искусственного интеллекта, не столь уж похожи на того человека из каменного века, о котором говорит Дрейфус. Параллельная обработка Многие различия в способах действия мозга и вычислительной машины можно объяснить тем, что вычислительная машина — это устройство, состоящее преимущественно из последовательно работающих схем, а мозг функционирует в высшей степени параллельным образом. [Правда, современные вычислительные машины работают в меньшей степени последовательно, чем машины предыдущих поколений, поскольку в них одновременно с работой центрального процессора (или процессоров) могут быть запущены различного рода процессы передачи данных. Однако — за исключением некоторых самых последних вычислительных машин — число одновременно работающих процессов обычно можно сосчитать на пальцах двух (а то и одной) рук.] Параллельный процесс можно имитировать на последовательно работающей машине, составляя программу таким образом, чтобы она по очереди «посещала» все составляющие части параллельного процесса. При каждом таком «посещении» параллельный подпроцесс нужным образом модифицируется. Система моделирования параллелизма делает это все более точно по мере того, как уменьшаются промежутки времени между повторными «визитами», 240
г. При^тей вдаокЫЦ&№№пщ парадаедазма, которая п^р»еуща мозгу, попытка достичь того же результата, используя последовательно ^работающее устройство, может оказаться за пределами физических возможностей. Существует, «нейрологический взрыв», возможно мецее значительный» чем . «комбинаторный взрыв», но . тем не менее достаточный, чтобы говорить об абсолютной неэффективности реализации параллельных систем последовательным методом. Используя термин пандемониум, Селфридж стремился подчеркнуть, что созданную им систему лучше всего представлять работающей параллельно. Дрейфус указывает на способность человека охватить в целом структуру той или иной проблемной ситуации таким образом, что он может выделить существенные аспекты проблемы, удерживая менее существенное в «краевом сознании». Такой результат обеспечивается высокопараллельной работой моз« га, но ее не удается смоделировать в искусственных системах. Однажды Пуанкаре так образно высказался о «параллельном характере» своего мышления: «Как-то вечером, вопреки моим привычкам выпив кофе, я долго не мог заснуть. Мысли буквально толпились в голове. Я чувствовал, как они сталкивались, смыкались в пары, образуя, так сказать, устойчивые комбинации» [3]. Позже он писал: «Можно предположить, что все эти комбинации складывались автоматически в моем подсознании, но только наиболее интересные из них прорывались в область сознания. Все это весьма загадочно. Что есть причина того, что среди тысячи продуктов подсознательной активности лишь некоторым удается перейти порог [между подсознательным и сознательным], тогда как другие остаются за ним?» То, что Пуанкаре казалось загадочным в 1913 г., остается в значительной степени загадочным и сего^ дня. Благодаря параллельной работе мозга процессу мышления одновременно доступно громадное число единиц информации и при этом возможно совершать огромное количество действий по их комбинированию. и преобразованию* 241
■Интерпретация Одну и ту же проблему люди могут рассматривать самыми различными способами, а интерпретируют ее такими способами, которые им наиболее знакомы и понятны. Для иллюстрации такого подхода Хофштадтер [4] ввел формальную систему, названную pq-системой. Система включает три символа р, q и - (черточка). Бесконечное число аксиом системы определяется следующим образом; xp-qx- является аксиомой, если х состоит только из черточек (х заменяет одну и ту же цепочку черточек в обоих случаях), Примерами аксиом могут служить -p-q-- (где х содержит одну черточку) —p-q (где х содержит три черточки) и т. д. В системе Хофштадтера имеется только одно правило, посредством которого из аксиом и теорем формируются другие теоремы. Это правило следующее: Предположим, что х, у и z обозначают некоторые цепочки, состоящие только из черточек. Если xpqz есть теорема, то и xpy-qz- €сть теорема. Термины аксиома и теорема используются в формальном смысле. Нетрудно видеть, что не существует ограничения на максимальную длину цепочек, которые являются теоремами, и каждая теорема содержит одно вхождение р и одно вхождение q. Немного поразмыслив над этой системой, мы убедимся, что необходимое условие того, чтобы некая цепочка была теоремой, заключается в том, что число черточек в первых двух группах черточек должно добавляться к числу их в последней группе черточек. В действительности эту систему можно рассматривать как формальное представление сложения. Важно отметить, что при знакомстве с системой такого рода люди обычно стремятся дать ей интерпре- 242
тадию (т. е. найти ее «смысле, подобно тому как мы интерпретировали систему Хофштадтера как one* рацию сложения. Казалось бы, нетрудно написать программу для вычислительной машины, выполняющую <шнтерпре* тацию.» некоторого большого класса формальных си*- стем, подобных р^-системе; однако такая программа не может достигнуть гибкости, присущей мозгу\ кото* рый непрерывно ищет интерпретации и новые под* ходы ко всем явлениям, с которыми приходится сталкиваться человеку. Пример такой гибкости можно обнаружить в про* цессе синтаксического анализа [5] необходимого для понимания последней строфы стихотворения Р. Берн- са «Дом, который построил Джек». Предложение, в котором глубина вложения фраз более двух или трех, обычно очень трудно поддается анализу: Программа для вычислительной машины (скажем, компилятор для программ на языке АЛГОЛ) способна анализировать входную информацию с большей глу- биной вложения при условии, что достаточный объем памяти отведен под магазинную память (или стек)4 Всякий раз,, когда процесс анализа переходит с одного уровня вложения на следующий, более глубокий, на стек необходимо занести информацию, обеспечивающую возобновление процесса, который был прерван перед тем, как произошел переход на более глубокий уровень. Информация, занесенная на стек, дает возможность системе ответить на воображаемый вопрос: «Итак, где я был?». Подобно тому как человек использует лишь небольшой объем кратковременной памяти для решения определенных задач (например, для запоминания номера телефона на время от момента чтения его в телефонном справочнике до окончания набора на телефонном аппарате), так и ЭВМ не в состоянии работать с очень большим стеком при обработке вложенных структур 1). Однако трудностей с последней строфой стихотворения «Дом, который построил Джек» у человека не возникает, по-видимому, -пото* му, что человек отмечает регулярный способ органи* 1 По мнению большинства психолого», объем кратковремен» вой памяти человека составляет 7 ±: 2 символа.—Прим. ред.. 243
бЩии вложения йепРай&лиз не зависит от помещения информации в стек. Программы же для вычислительных машин работают стандартным образом: входная информация, подобная последней строфе указанного стихотворения, встречается не настолько Часто, чтобы строить специальное распознающее устройство. г Последняя строфа стихотворения Бернса звучит (tan1: Вот два петуха, Которые будят того пастуха, Который бранится с коровницей строгою, Которая доит корову безрогую, Лягнувшую старого пса без хвоста, Который за шиворот треплет кота, Который пугает и ловит синицу, Которая часто ворует пшеницу, Которая в темном чулане хранится В доме, Который построил Джек! Дискретная логика и непрерывность Обсуждая в гл. 2 основную эвристику обучения и эвристическую связь, мы проиллюстрировали другого рода гибкость, свойственную мозгу. Мозг удивительно легко комбинирует методы, соответствующие непрерывной среде, с обработкой логической информации. (Термин «логика» здесь следует понимать в обычном (ограниченном) смысле, когда рассматриваются вопросы истинности и ложности дискретных понятий. Но логика как наука о мышлении не должна быть ограниченной.) Автор настоящей книги в свое время указывал на принцип элементарной иллюстрированности [6], который относится к гибкости такого рода. В терминах дискретных понятий может быть выражен целый ряд важных принципов управления, но они имеют Элементарную иллюстрированность, выраженную в непрерывных переменных. Например, анализ цели — средства, проведенный Ньюэллом, Шоу и Саймоном 1 Перевод С. Я. Маршака (Собрание сочинений в 4-х то* мах — М.: ИХЛ 1957, т. 1, с. 371). — Прим. перев. 244
(гл. 2 и 3), требует поэт<|ре>ния ,вопросов: «В чем, состоит различие между тем, что у,меня есть, и тем,; что я хочу?», а затем — «Какое действие уменьшило j бы это различие?» \ Простой сервомеханизм с обратной связью дает элементарную иллюстрацию анализа цели — сред-1 ства: различие между тем, что существует, и тем, что желательно, измеряется как разность (в угловых еди-» ницах) между положением стрелки и опорной точкой, а управляющее действие (момент силы) связано е этой разностью достаточно простым соотношением. Эвристическая связь по Минскому представляет собой непрерывный критерий подобия между задачами. При автоматическом управлении и в действиях, которые человеку приходится выполнять, решая повседневные задачи управления (вроде езды на велосипеде), ситуация значительно упрощается при переходе к непрерывной модели. Едущий на велосипеде не должен помнить отдельно действия, которые следует предпринять, когда велосипед наклоняется на два градуса и когда он наклоняется на четыре градуса. Более экономным (в смысле требований к памяти)' будет связать управляющее действие с наклоном в виде непрерывной функции. Кроме того, это поможет уменьшить время, необходимое для обучения езде на велосипеде. Подобная «экономия» обусловлена тем, что нет необходимости проводить полную серию экспериментов типа «проб — ошибок» для каждого раз* личимого угла наклона: обучение «размывается» по всему диапазону углов. Эвристическая связь действительно находит применение, но в гораздо более простой ситуации, чем та, о которой думал Минский. Легкость, с которой мозг объединяет дискретные и непрерывные подходы, вероятно, необходимо иметь в виду, рассматривая вопрос об эволюции интеллекта! Автор настоящей книги высказал предположение [7]; что непрерывная обработка представляет собой более примитивную форму активности мозга и что дискретное мышление, по-видимому, развивалось на ее основе, однако не вытесняя ее. Легкость комбинирования этих двух форм мышления дает нам ещё один пример гибкости мозга, которую трудно имит^ ровать на машинах.
■■ is ■■ ПЕРСПЕКТИВЫ НА БУДУЩЕЕ В последних двух главах мы затронули ряд глубоких вопросов, касающихся природы интеллекта, и рассмотрели, в какой степени исследования по искусственному интеллекту отражают его сущность. Определенная группа исследователей, работающих в области искусственного интеллекта, полностью игнорирует связанные с этой областью философские вопросы. Представители этого направления считают, что работы по искусственному интеллекту знаменуют существенный прогресс наших знаний и что самая важная задача состоит в том, чтобы не ослаблять усилий и моделировать возможности мозга как мож- яо в большем числе прикладных областей. Чтобы добиться этого, необходимо разработать определенную последовательность методов, предназначенных для решения задач в каждом конкретном случае. Высказывается точка зрения, что если существует некий общий принцип функционирования интеллекта, то с наибольшей вероятностью он проявится именно в такого рода деятельности по мере накопления опыта. Хотя в подобной «приземленной» точке зрения и есть свое рациональное зерно, необходимо все же не просто двигаться вперед «без оглядки», а время от времени останавливаться, чтобы оценить то, что уже накоплено. Обучение Одной из многих особенностей, отличающей основное направление исследований в области искусственного интеллекта от других разделов кибернетики, является недостаточное выделение обучения как существенной, особенности искусственной интел- .246
лектуальной системы. Дать определение понятию «обучение» почти столь же трудно, как и определить понятие «интеллект». То, что под, этим обычно подразумевается в контексте искусственного интеллекта или кибернетики, это не столько накопление данных (ведь мы не говорим про магнитофон, что он «обучается»), сколько приобретение и накопление на опыте необходимых навыков. Эти две разновидности обучения не столь различны между собой, как может показаться с первого взгляда. В задаче распознавания образов процесс обучения включает элементы обеих из них: чем более тонкими становятся обобщения, формирующиеся в ходе обучения, тем сильнее ощущение, что в действительности происходит накопление навыков; таким образом, одна разновидность обучения переходит в другую. Метод базы данных, использованный в системе ПЛЭННЕР (гл. 9) и в экспертных системах (гл. 10), перемежает фактические данные с представлениями процедур и стратегий. Благодаря этому различие между приобретением навыка и простым запоминанием становится расплывчатым; по-видимому, аналогичное явление происходит и при обучении человека. Но даже с учетом этих интересных особенностей обучение машин не сопоставимо с обучением человека по своей гибкости. Как предполагается, эволюция мозга человека происходила в условиях джунглей, и тем не менее человека можно научить составлять программы для вычислительных машин, играть в шахматы и размышлять о работе своего мозга. Что же касается машин, то их обучение в большинстве случаев (если не всегда) — это «обучение с учителем». У человека обучение навыку в основном происходит без учителя, или по крайней мере без учителя, определяющего все детали этого процесса. • Создание программы для вычислительной машины— в случае не слишком точно определённой задачи — представляет собой процесс обучения, при котором обучающейся системой является содружество вычислительной машины и программиста. Способность к обучению в этом содружестве следует отнести к программисту, если исключить то небольшое число случаев (особенно шашечную программу Сэмюэля|, ,247
Kdfia гфограммы сами способны обучаться, Умале-' нйе роли машинного обучения в современных исследованиях в области искусственного интеллекта символизирует собой молчаливое признание превосходства обучения человека над всем, что может быть* достигнуто в машинах. Среди исследований, проводившихся в Массачусетсом технологическом институте (США), были работы, связанные с миром кубиков, которые напоминали работу с миром кубиков Винограда (гл. 9). Отличие состояло в том, что здесь речь шла о реальном пространстве с твердыми кубиками, манипулятором и наблюдающими его «глазами» телевизионной камеры. Программа, которая взаимодействует с этим миром кубиков, способна после показа примеров и контрпримеров обучиться таким понятиям, как «арка». Примером арки в мире кубиков могли .бы служить два рядом стоящих блока, соединенных друг с другом третьим блоком, лежащим сверху. Чтобы показать, что два вертикально стоящих блока не должны касаться друг друга, необходимо представить пример «неарки». Последняя похожа на арку, но два вертикальных блока в ней соприкасаются. Когда система «знает», что подразумевается под аркой, ей можно отдать команду: «Построй арку». Тогда система подбирает блоки, находящиеся на складе, и строит арку. Это довольно простой пример обучения понятиям, который вряд ли производит большое впечатление, Система начинает с некоторого множества первичных отношений, таких, как ПОДДЕРЖИВАЕТ и КАСАЕТСЯ, и на этом языке строит описание «арки». Однако в соответствии с общим принципом объединения стратегической и фактической информации данный подход может быть обобщен таким образом, чтобы обучение понятиям включало обучение как методам, так и структурам. Это позволило бы построить весьма гибкую систему. Самоорганизующиеся системы Многие исследователи понимали, что изменения, связанные с обучением системы, необходимо вводить каким-то более фундаментальным и универсальным ш
способом. Tl&pma&^mmmn создать самоорганизующиеся сети из нейроноподобных элементов сегодня выглядят несколько наивными. Тем не менее они заключали в себе важные идеи. Мы уже упоминали пандемониум Селфриджа и персептрон Розенблата (гл.7, 8). Некоторые работы, касающиеся пластичности реальных нейронов, были рассмотрены в гл. 12. Разумно предположить, что изучение живых систем обо-* гатит нас полезными идеями относительно того, как строить гибкие и эффективные искусственные системы. На самом деле, как мы видели в гл. 12, наши знания о пластичности реальных нейронов весьма неполны и неоднозначны. Тем не менее в этой области наблюдается чрезвычайно быстрый прогресс, и исследователи полны -антуэиавма,-. как эвдк.4>шю в начале 50-х годов, когда кибернетика бурно развивалась и набирала силу. Причины подъема кроются прежде всего в широком распространении вычислительных Машин и изобретении метода исследования мозга с помощью микроэлектродов. Возникает чувство, что перед нами открываются новые возможности и что мы стоим на пороге новых и интересных открытий. В предыдущей главе мы отмечали различные недостатки, присущие "сегодняшним работам в области искусственного интеллекта. Один из них связан с трудностью объединения дискретного и непрерывного в искусственных системах, с чем без труда справляются живые системы. Было высказано предположение, что в живых системах обработка непрерывной информации является элементарной формой обработки информации. В конце концов, даже- у человека некоторые части нервной системы все еще связаны с такого рода информацией, в частности при регуляции работы сердца, дыхания и т. д. Если такое представление верно, то следует считать, что использование дискретной информации возникло в процессе эволюции из более элементарной (непрерывной) деятельности. В таком случае легкость, с которой нервная система переходит от непрерывной формы деятельности к дискретной и наоборот, можно считать результатом сохранения особенностей более элементарной (непрерывной) деятельности в сочетании с более сложной (дискретной) формой, которая пришла ей Д49
на смену. Чтобы выяснить эти вопросы, необходимо найти более фундаментальный подход к исследова* нию интеллектуальных систем. К сожалению, исследователи, работающие в обла* сти искусственного интеллекта, оказались разделенными на два лагеря: одни из них следуют основному направлению эвристического программирования, а другие отыскивают фундаментальные механизмы в самоорганизующихся системах. Однако фактически между этими двумя подходами больше общего, чем обычно принято думать: ведь любое правило модификации синаптической связи или формы нейронных соединений является, по существу, эвристикой решения задачи и здесь применимо многое из того, что говорилось об эвристиках. Морально-этические проблемы искусственного интеллекта Там, где работы по искусственному интеллекту непосредственно соприкасаются с повседневной жизнью, создается впечатление, что они сулят большие потенциальные выгоды (во всяком случае, так стремятся представлять дело многие исследователи)'. Однако, безусловно, не следует считать, что социальные и другие последствия таких исследований могут быть только положительными. Прежде всего, конечно, нельзя забывать о том, что работы по искусственному .интеллекту требуют немалых капиталовложений, которые поступают из общественных фондов и которые можно было бы с успехом израсходовать как-то иначе (или просто сэкономить). Более серьезным, пожалуй, следует считать то соображение, что некоторые достижения в области искусственного интеллекта могут иметь явж> негативные последствия. Работы по игровым программам, несомненно, определенным образом связаны с военной стратегией и потому получили финансовую поддержку. Методы распознавания образов нашли, в частности, применение при разработке крылатых ракет. Подобным образом и другие методы искусственного интеллекта могут играть свою роль в военных системах будущего, планирующих свои действия без 250
участия людей. (К сожалению, Способность людей изобретать средства самоуничтбжения^ по-видимому, безгранична.) Вейзенбаум указал еще одну область, в которой результаты исследований по искусственному интеллекту могли бы найти нежелательное применение. Речь идет о системах распознавания речи. В основном эти системы могут найти весьма полезные для общества приложения. Однако существенное беспокойство вызывает возможность их использования для целей подслушивания телефонных разговоров. Взаимодействие человека с машиной Говоря о практических приложениях искусственного интеллекта, необходимо заметить, что в ряде случаев может оказаться невыгодным пытаться заставить машину выполнять определенные интеллектуальные задачи. Если задачи не носят повторяющегося характера, то они не обременительны для людей. Люди в состоянии оценить творческий характер таких задач и могут испытывать чувство удовлетворения, выполняя их. Это чувство, вероятно, усилится от сознания того, что задачи не поддаются машинизации. Вычислительные машины обладают «способностями», отличными от способностей человека. И для реализации «способностей» машины наиболее подходят задачи, которые достаточно просто формулируются, но требуют больших затрат времени. В случае шахмат машинные методы игры достигли высоких стандартов именно благодаря способности машины быстро выполнять огромный объем работы. Люди играют в шахматы иначе. Принципиальное различие способностей человека и машины открывает — при разумном их сочетании — широкие возможности для достижения высокой эффек тивности труда во многих областях. Для этого требуется тщательный анализ проблемы взаимодействия между человеком и машиной. Высказывалась, в частности, точка зрения, что можно добиться весьма высокого шахматного мастерства путем совместных действий человека и вычислительной машины. При этом человек будет указывать важней- 251
шие характеристики игры, а машина вести обследование дерева возможностей. Хорошо известные примеры использования вычислительной машины в научных исследованиях отличаются именно таким совместным характером. В результате рождается «научный работник», который гораздо сильнее, чем человек или машина в отдельности. Исследования в области искусственного интеллекта имеют своей целью расширить долю участия вычислительной машины в таких областях деятельности, которые раньше считались непригодными для автоматизации. Однако большого экономического эффекта от использования «чистого» искусственного интеллекта вряд ли следует ожидать. И нет ничего плохого в том, что робот время от времени будет нуждаться в совете человека — если, конечно, он не работает на какой-то далекой планете или в других ситуациях, где вмешательство человека полностью исключается. Экспертные системы имеют интерактивный характер, поскольку они участвует в диалоге с пользователем. Тем не менее от них не требуется, чтобы они набирали опыт путем прямого контакта с реальным миром,— знания усваивает человек, который делится ими с. машиной. Во многих — если i:e во всех — областях применения «абсолютно чистый» искусственный интеллект следует рассматривать лишь как своего рода «хитроумный прием». К вершинам достижений Тем не менее потребность в «чистом» искусственном интеллекте высокого уровня остается. Исследования, связанные с искусственным интеллектом, привлекательны по самой своей сущности, в частности, потому, что вопрос о том, как много можно добиться от вычислительной машины, интересен с философской, общемировоззренческой, точки зрения. Эти исследования, разумеется, сулят двоякую выгоду. Во- первых, как и в прошлом, они положат начало новым вычислительным методам, которые в дальнейшем найдут новые приложения. Во-вторых, они, безусловно, прольют свет на характер самих исследуе- 252
V мых задач, что поможет нам в понимании естественного интеллекта. Указанный философский вопрос мы сформулировали в гл. 1 так: «Существуют ли такие аспекты интеллекта человека, которые в принципе. нельзя смоделировать на вычислительной машине?» - Работы по искусственному интеллекту могут при-* вести нас к определенному ответу на этот вопрос лишь в том случае, если удастся создать систему, моделирующую человека во всех интересующих нас аспектах (разумеется, мы имеем в виду только интеллектуальные аспекты: несущественно, будет ли эта машина внешне похожа на человека и какую «пищу» она будет потреблять). Такая возможность — если она вообще осуществима — может реализоваться лишь в далеком будущем. Сегодня же этот вопрос является делом скорее убеждения, чем объективного доказательства. Если, как полагают большинство ученых, мозг действует в соответствии с известными законами физики, то в принципе можно создать искусственную систему, способную моделировать его работу. В таком случае, кажется, нет объективных препятствий к тому, чтобы создать программы, которые проводили бы тест Тьюринга (переговорную игру) в более глубоком смысле, чем это обычно имеется в виду, иначе говоря, если бы человек чувствовал, например, «близость» с машиной, боялся причинить ей «неприятности» или мог бы перекинуться с ней шуткой. (Джеймс [3] рассматривает вопрос о природе юмора и высказывает соображение, что о мыслительном процессе человека можно многое узнать по тому, что он находит для себя смешным.) Разумеется, если будет создана такая машина, что человек станет заботиться о том, чтобы не задеть ее чувства, то это поставит перед людьми немало новых морально-этических вопросов. Если же говорить о приложениях, то такое развитие событий можно будет считать даже шагом назад. Ведь одним из важных преимуществ систем искусственного интеллекта считается то, что их можно эксплуатировать без каких-либо обязательств перед ними. Это преимущество сразу исчезнет, как только будут созданы действительно человекоподобные устройства. 253
Hq„ разумеется, это вопрос отнюдь не блюкайшега будущего. Любая попытка оценить, когда в будущем, может случиться нечто подобное, носит чисто умозрительный характер, В одной из своих ранних работ [4] автор настоящей книги .предпринял такую попытку, о которой он считает необходимым напомнить здесь; Можно лишь предположить, что теет Тьюринга удастся выполнить в его нетривиальной форме (т. е. без ограничения на предмет разговора или способ ответа) к 2000 г. Думаю, что и тогда вычислительная машина будет похожа на весьма скованного человека, которого невозможно втянуть даже в очень екромную беседу. Быть может, к 2050 г. вычислительная машина станет «кем-то», с кем можно обменяться шуткой, и когда «собеседник» [человека] до такой степени обретет свое собственное лицо, нам придется подумать о том, как вести себя с ним.
ЛИТЕРАТУРА Глааа 1 1. Turing A. M. Computing machinery and intelligence, Mind, 59, 1950, p. 433—460. [Русский перевод: Тьюринг А. Может ли машина мыслить? — М.: Физматгиз, I960.] 2. Hofstadter D. R. Godelr Esher, Bach: An Eternal «Golden Braid, — Harmondsworth: Penguin Books, 1980. 3. Wiener N. Cybernetics. N. Y.: Wiley, 1948. [Русский перевод: 'Винер Н. Кибернетика. -—М.: Советское радио, 1968.] 4. McCulloch W. S. What is a number, that a man may know it, and a man, that he may know z. number?—General Semantics Bulletin, No 26 and 27, 1960, p. 7—18. 5. Minsky M. Steps toward artificial intelligence, p. 406—450 (см. [8]). [Русский перевод: Минский М. На пути к созда* нию искусственного разума, с. 402—458.] 6. McCarthy J. Programs with common sense. Mechanisation of Thought Processes. — London: HMSO, 1950, p. 75—91. 7. Slagle J. R. Artificial Intelligence: the Heuristic Programming Approach. — N. Y.: McGraw-Hill, 1971. [Русский перевод: Слейгл Дж. Искусственный интеллект. Подход на основе эвристического программирования. — М.: Мир, 1973.] 8. Feigenbaum E. A., Feldman J. (Ed.) Computers and Thought.— N. Y.: McGraw-Hill, 1963. [Русский перевод: Вычислительные машины и мышление/Под ред. Э. Фейгенбаума и Дж. Фельдмана. — М.: Мир, 1967.] 9. Minsky M. L. Finite and Infinite Machines. — N. Y.: Prentice Hall, Englewqod Cliffs, 1967. Ш Edmonds A. R. The generation of pseudo-random numbers on electronic digital computers. — Computer Journal, 1960, 2, p. 181—185. 11. Ralston A., Wilf H. S. (Ed.), Mathematical Methods for Digital Computers. — N. Y.: Wiley, 1960, p. 253. 52. Andrew A. M. Counting to 1 099 508 482 050 without carries. — Electronic Engineerings 38, 1966, p. 172—175. Тлава 2 1. Mrnsky M. L. Some methods of artificial intelligence and heuristic programming. In Mechanisation of Thought Processes. — London: HMSO, 1959, p. 3—36. 2. Minsky M. Selfridge O. G. Learning in Random nets. In: Information Theory (E. С Cherry, Ed.). —London ButterwQrth, 1961, 335—347. 25S
> 3. Minsky M; Steps toward artificial-itrt^Hgence^ (Gm.-JSJ в-ла» тературе к гл. 1.) * Глава 3 1: Newell A., Shaw J. С. Simon H. Report on a general problem- solving program. In: Proc. Int. Conf. on Information Process sing. — Paris: UNESCO, 1959, p. 256—264. [См. также: Newell A., Simon H. A. GPS, a program that simulates human thought, p. 279—293 (см. [8] в литературе к гл. 1). Русский перевод: Ньюэлл А., Саймон Г. GPS — программа, моделирующая процесс человеческого мышления, с. 283—301.] Глава 4 Л. Slagle J. R. Artificial Intelligence: the Heuristic Programming Approach (см. [7] в литературе к гл. 1). 2. Polya G. Induction and Analogy in Mathematics (Vol. 1 of Mathematics and Plausible Reasoning). — N. Y.: Princeton University Press,.Princeton, p. 173—174. Глава 5 1. Nilsson N. J. Problem-Solving Methods in Artificial Intelligence.— N. Y.: McGraw-Hill, 1971. [Русский пфевод: Ниль- сон. Н. Искусственный интеллект. Методы поиска решений.-^» М.: Мир, 1973.] 2. Shannon С. Е. Programming a computer for playing chess: — Phil Mag.t Ser. 7, 1950, 41, p. 256—275. [Русский перевод: Шеннон К. Работы по теории информации и кибернетике. — В кн.: Составление программ для игры в шахматы вычисли-" тельной машиной. —М.: ИЛ, 1963, с. 192—215.] 3. Good I. J. A five-year plan for automatic chess. — In: Machine Intelligence 2 (E. Dale and D. Michie, Ed.). —Edinburg Oliver and Boyd, 1968, p. 89—118. 4. Michie D. An advice-taking system for computer chess.— Computer Bulletin, Ser. 2, 1976, 10, p. 12—14. 5. Ashby W. R. The next ten years. In: Computer and Information Sciences (J. T. Tou and R. H. Wilcox, Ed). —Washington, Spartan Books, 1964, p. 2—11. Глава 6 1. Samuel A. L. Some studies in machine learning using the game of checkers, p. 71—105 (см. [8] в литературе к гл. 1), [Русский перевод: Сэмюэль А. Некоторые исследования воз- можности обучения машин на примере игры в шахматы» с. 71—110.] 2. Donaldson P. E. К. Error decorrelation studies on a human operator performing a balancing task. — Medical Electronics and Biological Engineering, 1964, 2, p. 393—410. 3. Murray A. M. Elcock E. W. Automatic description and recognition of board positions in Go-Moku. — In: Machine Intelligence 2 (E. Dale and D. Michie, Ed.). —Edinburgh: Oliver and Boyd, 1968, p. 75—88. 4. Quinton J. G. St. Zetetics. — Ph. d. Thesis, Reading University, 1981. 5. Good I. J. The mistery of Go. — New Scientistx 1965, Jan. 21, No. 427, p. 172—174. 256
6. Vajda S. An Introduction to LiTJiir^Programming and the Theory of Games. — London: Methuen, 1960. ц 7. Berliner H. Backgammon program beats world champ. — AISB Quarterly, Newsletter of the Soc. for the Study of Artificial Intelligence & Simulation of Behaviour, 1979, issue 35, p. 9— 10. 8. Slagle J. R. Artificial Intelligence: the Heuristic Programming Approach (cm. [7] в литературе к гл. 1). Глава 7 1. Selfridge О. G. Pandemonium: a paradigm for. learnings-In: Mechanisation of Thought Processes. — London: HMSO, 1959, p. 511—531. 2. Andrew A. M. Significance feedback and redundancy reduction in self-organizing networks. — In: Advances in Cybernetics and Systems Science, 1 (F. Pichler and R. Trappl, Ed.). — London: Transcripta, 1973, p. 244—252. 3. Selfridge O. G. Neisser U. Pattern recognition by machine. — Scientific American, 1960, 203, № 3, p. 60—68. 4. Parks J. R. A multi-level system of analysis for mixedfont and hand-blocked printed character recognition. — In: Automatic Interpretation and Classification of Images (A. Grasselli, Ed).— N. Y.: Academic Press, 1969, Ch. 15, p. 295—322. 5. Sebestyen G. S. Decision-Making Processes in Pattern Recognition.—N. Y.: Macmillan, 1972. Глава 8 1. Minsky M., Papert S. Perseptrons. — Cambridge, Mass.: MIT Press, 1969. [Русский перевод: Минский М., Пейперт С. Пер- септроны. — М.: Мир, 1971.] 2. Raphael B. The Thinking Computer: Mind Inside Matter.— San Francisco: Freeman, 1976. [Русский перевод: Рафаэл Б* Думающий компьютер. — М.: Мир, 1979.] 3. Fu К. S. Syntactic (linguistic) pattern recognition. — Ins Digital Pattern Recognition (K. S. Fu, Ed.). —Berlin: Springer^ 1976, Ch. 4, p. 95—134. 4. McCulloch W. S., Pitts W. A logical calculus of the imminent in nervous activity. — Bull. Math Biophysics, 1943, 5, p. 115— 137. [Русский перевод: Маккалок У., Питтс У. Логическое ис-« числение идей, относящихся к нервной активности. — В сб« Автоматы. —М.: ИЛ, 1956, с. 362—384.] 5. Roberts L. G. Pattern recognition with an adaptive network.— In: IRE International Convention Record, 1960 part 2, p. 66— 70. 6. Nilsson N. J. Learning Machines. — N. Y.: McGraw-Hill, 1965 Ch. 5, 79—94. [Русский перевод: Нильсон Н. Обучающиеся машины. — М.: Мир, 1967.] Глава 9 1. Winograd Т. Understanding Natural Language. — Edinburgh: Edinburgh University Press, 1973. [Русский перевод: Виноград Т. Системы, понимающие естественный язык. — М.: Мир, 1976.] 2. Shank R. С. Identification of conceptualization underlying natural language. — In: Computer Models of Thought and Lan« 257
guage {R. С Shank, 4Ed;).— San Francisco: Freeman, 1973, s p. 187—247. 3 Hill I. D. Wouldn't it be nice if we could write computer programs in ordinary English —or would it? — Computer But- 'ietin, 1972, 16, p. 306—312. 4. Duncan F. G. Our ultimate metalanguage: an after-dinner talk. — In: Formal Language Description Languages for Computer Programming (Т. В. Steel, Ed.). — Amsterdam: North Holland, 1966. 6. Green B. F., Wolf A. K., Chomsky C, Laughery K. Baseball: an automatic question answerer, p. 207—216. (см. [8] в литературе к гл. 1). {Русский перевод: Грян Б. М., Вулф А., Чомский. К., Лофери К. «Бейсбол» — программа, отвечающая на вопросы, с. 221—233.] 6. Hofstadter D. R. Godel, Esher, Bach: An Eternal Golden Braid. — Harmondsworth: Penguin Books,, 1980, p. 586—593. Глава 10 1. Michie D. On Machine Intelligence. — Edinburgh: Edinburgh University Press, 1974. 2. Benati M., Gagiio S., Morasso P. Tagliasco V., Zaccoria R. Anthropomorphic robotics. — Biological Cybernetics, 1980, 38, p. 125—140, 141—150. 3. Гурфинкель В. С, Гурфинкель Е. В., Шнейдер А. Ю., Девя- нин Е. А., Ленский А. В., Штильман Л. Г. Шагающий робот с супервизорным управлением. — Теория машин и механизмов, 1981, 16, с. 31—36. 4 Andrew A. M. Why robotics? — Kybernetes, 1975, 4, S. 2—8. 5. Pimentel D. Food and the energy crisis. — Agricult. Engirt., 1973, 54, No. 12, p. 11. €. Blaxter K. Power and agricultural revolution. — New Scientist, 1974, Feb. 14, 61, p. 400—403. 7. Feigenbaum E. A. Themes and case studies of knowledge engineering.— In: Expert Systems in the Microelectronics Age (S. Michie, Ed.). — Edinburgh: Edinburgh University Press, 1979, p. 3—25. Глава 11 1. Pask G. A comment, a case history and a plan, p. 76—99 (см. [8]). 2. Franke R W. Computer Graphics, Computer Art. — London, Phaidon Press, 1971. [Картина Дж. Ниса «Каменные плиты» воспроизведена на с. 190.] 3. Scholes P. A. The Oxford Companion to Music. — London: Oxford University Press, 7th ed., 1947, p. 204—205 (и иллюстрации на с. 190 и 191). 4. Gabor D. Technological civilization and man's future, p. 18— 24 (cm. [8]). 6. Hiller L. A. Baker R. Computer music. — In: Computer Application in the Behavioural Sciences (H. Borko, Ed.). — N. Y.: Prentice Hall, Englewood Cliffs, 1962, Ch. 18, p. 424—451. 6. Foester H. von, Beauchamp' J. W. (Eds.). Music by Computers.—N. Y.: Wiley, 1969. 258
7. -Swann. T. G.» Drawneek &, PDPS. Bridging the emotion gatp; a proposition. Research? — la: University of Reading, Physics Dept., 1970, February issue, p. 28—29. 8. Reichardt J. Cybernetics* Art and Ideas.—London: Studio Vista, 1971. Глава 12 1. Sommerhoff G. logic of the Living Brain. — London: Wiley, 1974. 2. Lettvin J. Y., Maturana H. R, McGuIloch W. S., Pitts W. H. What the frog's eye tells the frog's brain. — Proc. 1. R. E.t 1959, 47, p. 1940^-1951. [См. также: Lettvin J. Y., Maturana H. R., Pitts W. FL MeCuloch W. S. Two remarks on the visual systems of the frog.— In: Sensory Communication (W. A. Rosenblith, Ed.).— Cambridge (Mass): MIT Press, 1961, p. 757—776.} 3. Gaze R. M., Jacobson M. «Convexity-detectors» in the frog visual system. —Л Physiol, 1963, 169, IP—3P. 4. Hubel D. H., Wiesel T. N. Receptive fields and functional architecture of monkey striate cortex. — /. Physiol^ 1968, 195, n. 215—243. [Это одна из многих публикаций названных авторов. Она дает достаточно полную картину полученных ими результатов. Несколько более «популярный» характер имеют? работы: Cornsweet Т. N. Visual Perseption. — N. Y.: Academic Press, 1970; Blakemore C. Mechanics of the Mind. — Cambridge: Cambridge University Press, 1977.] 5. Hubel D. H., Wiesel T. N. Receptive fields in striate cortex of very young, visually inexperinced kittens. — /. Neurophy$iol.$ 1963, 26, p. 994—1002. 6. Blakemore C, Cooper G. F. Development of the brain depends on visual environment. — Nature, 1970, 228, p. 477—478. 7. Wall P. D., Egger M. D. Formation of new connexions in adult rat brains after partial differentiation. — Nature, 1971, 232, p. 542—545. 8. Gaze R. M. The Formation of Nerve Connections.-—N. Y.: Academic Press, 1970. [Русский перевод: Гейз Р. Образование нервных связей. — М.: Мир, 1972.] 9. Sperry R. W. The eye and the brain.—-Scientific American^ May 1956, 194, p. 48—52. 10. Willshaw D. J., Maisburg Ch. von der. A marker induction mechanism for the establishment of ordered neural mappings.--» PhilL Trans. Roy, Soc, Ser. В., 1979, 287, p. 203—243. 11. Maisburg Ch. von der, Willshaw D. J. How to label nerve cells so that they can interconnect in an ordered fashion. — Proc. Nat Acad. Science USA, 1977, 74, p. 5176—5178. Глава 13 1. Winston P. H. Artificial Intelligence. — Reading (Mass.}: Ad- dison-Wesley, 1977. (Введение в программирование на языке ЛИСП составляет содержание гл. И, р. 263—286.) [Русский перевод: Уинстон П. Искусственный интеллект. —М.: Мир, 1980. гл. 11, с. 309—336.] 2. Naur P. (Ed.). Revised report on the algorithmic language ALGOL 60: — Computer J., 1963, 5, p. 349—367. 259
3. Apter M. J.! the Computer Simulation of Behaviour.— London: , , Hutchson, 1970. См. также: Westby Q., Apter M. J. The,Computer in Psychology. — London: Wiley, 1973. 4. Barron D. W. Recursive Techniques in Programming. — London: Macdonald, 1968. Глава 14 1. Dreyfus H. L. Whai. Computers Can't Do. — N. Y.: Harper and Row, 1972. [Русский перевод: Дрейфус Х. Чего не могут вычислительные машины: критика искусственного разума. — М.: Прогресс, 1978.] См. также: Dreyfus H. L. Alchemy and Arti- . , ficial Intelligence, Report p. 3244.— Santa Monica (Calif.): Rand Corporation, 1965. 2. Simon H. A., Newell A. Heuristic problem solving: the next advance in operations research. — Operations Research, 1958» , 6, p. 1—10. 3. Poincare H. Mathematical creation. — In: The Foundations of Science (H. Poincare, Ed.). —N. Y.: Science Press, 1913. 4. Cm. [2] в литературе к гл. 1, p. 46—48. 5. Opie J., Opie P. (Eds.). The Oxford Dictionary of Nursery Phymes. — London: Oxford University Press, 1955, p. 229—232. 6. Andrew A. M. Cybernetics and artificial intelligence. — In: Modern Trends in Cybernetics and Systems, 3 (Rose J., Bit- ciu C, Ed.). —N. Y.: Editura Technica, Bucharest and Springer, 1977, p. 477—485. 7. Andrew A. M. Elementary continuity and Minsky's «heuristic connection».—т In: Second Int. Meeting on A. L, Repino (near Leningrad), 1980. [Опубликовано издательством Plenum Press.] Andrew A. M. The concept of a concept.— In: Applied Systems and Cybernetics, 2 (G. E. Lasker, Ed.). —N. Y.: Per- gamon Press, 1981, p. 607—612. Глава 15 1. Andrew A. M. Self-Organizing Systems. — Chichester: Wiley (книга готовится к изданию). 2. Weizenbaum J. Computer Power and Human Reason. — San Francisco: Freeman, 1976. 3. James D. B. The function of laughter and jokes. — /. Chiltern Medical Soc, 1967, 7, No. 1, p. 7—10. 4. Andrew A. M. Possibilities and Probabilities. — In: The Robots are Coming (F. H. George and J. D. Humphries, Ed.). —Manchester: National Computing Centre, 1974, Ch. 8, p. 115—123. ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА 1. Адельсон-Вельский Г. М. и др. Машина играет в шахматы.— М.: Наука, 1983. 2. Адельсон-Вельский Г. М., Арлазаров В. Л., Донской М. В. Программирование игр. — М.: Наука, 1978. 3. Амосов Н. М. и др. Автоматы и разумное поведение.— Киев: Наукова думка, 1973. 4. Амосов Н. М. Алгоритмы разума. — Киев: Наукова думка, 1979. б. Бонгард М. М. Проблема узнавания. — М.: Наука, 1967. 260
6.. Ботвинник M. М. О кибернетической цели игры.— М.: Советское радио, 1975. 7. Ботвинник М. М. О решении неточных переборных задач.-» М: Советское радио, 1979. 8. Гаазе-Раппопорт М. Г. Автоматы и живые организмы. — М.: Госфизматгиз, 1961. 9. Гладун В. Н. Эвристический поиск в сложных средах.— Киев: Наукова думка, 1977. 10. Криницкий Н. А. Алгоритмы и роботы. — М.: Советское радио, 1983. 11. Печерский Ю. Роботы среди людей. — Кишинев: Картя Молдовеняска, 1979. 12. Поспелов Д. А. Фантазия или наука. На пути к искусствен* ному интеллекту. — М.: Наука, 1982. 13. Растригин Л. А., Эрмуйжа А. А. ЭВМ —наш собеседник.— Рига: Зинатне, 1977. Н.Тимофеев А. В. Роботы и искусственный интеллект. — М.5 Наука, 1978. 15. Чачко А. Искусственный разум.—М.: Молодая гвардия, 1978. 16. Алексеева Е. Ф., Стефанюк В. Л. Экспертные системы — состояние и перспектива. — Известия АН СССР, Техническая кибернетика, 1984, № 5, с. 153—167. Можно также порекомендовать читателю статьи из научно- популярного журнала «В мире науки» (под таким названием издательство «Мир» выпускает (с 1983 г.) в русском переводе журнал Scientific American): Рейберт М. X., Сазерланд А. Е. Ходящие машины, 1983, № 3, с. 14—25. Хофштадтер Д. Р. Занимательный Лисп —язык искусственного интеллекта, 1983, № 4, с. 96—101. Хофштадтер Д. Р. Рекурсивный хоровод в языке искусственного интеллекта Лисп, 1983, № 5, с. 98—104. Хофштадтер Д. Р. Беседы о языке Лисп завершаются грандиозным пиршеством по-итальянски, 1983, № 6, с. 104—112. Хэйес Б. Превращение художественной литературы в чепуху, 1984, № 1, с. 103—109. Хопкрофт Дж. Машины Тьюринга, 1984, № 7, с. 36—47,
ПРЕДМЕТНО-ИМЕННОЙ УКАЗАТЕЛЬ Автоматический перевод 157 Административные методы 48, 60 Акермана функция 231 Аксон 197 АЛГОЛ 155, 223, 232, 243 Алгоритм 35, 42 Альфа-бета процедура 97 Альфа-вершина 90 Анализ сцен 123, 139 Аптер М. 225 " Архимед 41 Атомарная формула 66, 80 Баррон Д. 231 Бар-Хиллел 158 Бара-Хиллела парадокс 158 Бебидж 51 Бейсбол 163 Бета-вершина 90 Бекус 148, 224, 232 Бекуса — Наура форма 148,224, 232 Блакстер К- 177 Берне Д. 24 Берне Р. 243, 244 Берчамп 192 Борель 117 Ботвинник М. М. 103 В-айда С. 117 Ван-дер-Малсбург 214 Верхние холмики 156 Взаимодействие человека с машиной 251 Визель Т. 139, 202, 204—208 Винер Н. 26 Виноград Т. 169, 161, 164, 167 Вложенные структуры 221, 229, 243 Возвращение назад 55 Вопросно-ответные системы 163 Выражение в форме предложений 75 Габор Д. 191 Гейз Р. 201, 213, 214 Генератор перспективных ходов 97 Гиперсложные нейроны 206 Глушков В. М. 82 Го (игра) 105, 116, 23.9 Гоу-мок 113 Граф 86 Гуд С 90, 105, 239 Гурфинкель В. С. 177 Декартово произведение 33 " Декорреляция ошибки 110 Деление с мутацией 129 Дендрид 196 Дерево 86, 227 Дерево просмотра возможностей 9(0, 107 Детектор мухи 201 Джекобсон 201 Джеймс Д. 253 Дизъюнктивная форма 75 Дифференцирование формаль* ное 228 Доказательство теорем 45, 51, 65 Дональдсон П. 110 Дрейфус Г. 21, 53, 236, 238— 240 Естественный язык 155, 221, 224 Зоммергофф Г. 199 Зрение лягушки 199 Зрительная кора 202 Игра в переговоры (тест Тьюринга) 20, 253 Изобразительное искусство 186 Изопериметрическая теорема 83 «Иллиак-сюита» 192 Инженерия знаний 32, 144, 160 Интеллект, определение 18 Интерпретация 192, 242 «Каменные плиты» 188 CAR 220 Квинтон 114, 115 262
CDR 220 Кибернетика 25, 26, 217, 249 Кластерный анализ 136 Клюс М. 141, 142, 144, 145 Колатеральная проекция 216 Коленчатое тело 203 Комбинаторный взрыв 34, 46, 79, 88, 91, 241 Конечный автомат 23, 32 Конечный метаязык 163 Контроль центра 92, 108 Контурные рисунки 139 Концентрический нейрон 206 Кора головного мозга 203 Краевое сознание 241 Крестики — нолики (игра) 93, 94, ИЗ Кубиков мир 164, 248 Кьюведо 89, 104 Лакхэм 75 Леттвин Дж. 200—202 ЛИСП 165, 222 Магнитные чернила 120 Маккалок У. 26, 28, 149, 150, 152, 218 Маккарти Дж. 27, 28, 222 Максвелла демон 127 Материальное соотношение 92, 108 Машина 17 Мейзельский шахматный авто* мат 89 Меню 169 Миелин 196 Микроэлектроды 198 Минимаксный метод 92 Минский М. 27, 48, 49, 50, 60, 130, 131, 139, 149, 153, 154, 245 МИЦИН 180, 226 Мичи Д. 103, 104 Морально-этические аспекты 226, 250, 253 Морзе азбука 131 Морфологические признаки, 134 тгпоследовательности 39 Музыка 191 Муррей А. 115 Накопление 106 Наур 148, 224, 232 Нейман Дж. 117 Нейрон 15*0, 195, 249 Непрерывность 244, 249 Нервный импульс 196 Нейссер У. 131 Нильсон Н. 5, 153 Нис Дж. 188 Ньюэлл А. 13, 28, 30, 49, 52, 53, 56, 223, 224, 238, 244 Обобщение 106 Обратное усечение (дерева) 97 Обучение 27, 44, 106, 115, 126, 210, 248 Опорное множество 80 Основная эвристика обучения 28, 244 Оценивающий полином 91 Пандемониум 127, 241, 249 Параллельная обработка 240 Парке Дж. 132, 133, 217 Паск Г. 184, 185, 194 Пеггити (игра) 113 Пейперт С. 139, 149, 153, 154 Персептрон 128, 14в, 249 Перевес фигур 92 Печатные буквы {от руки) 133 Питтс У. 149, 150, 152 р<7-система 187 Пластичность 209, 249 ПЛЭННЕР 165, 226, 247 Подвижность 92, 108 Подрезка (усечение) 91 Поиск в глубину 98 Поиск в ширину 98 Пойа Г. 83, 84 Почтовый код 122 Поэзия 192 Предложение 67 ПРОГРАММАР 164 Простые нейроны (единицы)"' 204 Протезирование 177 Прямое усечение (дерева) 96 Псевдослучайные числа 24, 37 Психология 224, 237 Пять в ряд (игра) ИЗ Разметка Хаффмана — Клюса 141 Ранвье перехват 197 Распознавание образов 31, 119, 250 Распознавание речи 124, 135, 226, 251 Резолюции метод 65 Рейчардт Дж. 194 Рекурсия 56, 222, 229 263
Роберте Л. 25, 150 Робинсон И. 16 Роботика 171 Розенблат У. 148, 249 Роуз Дж. 14 С-волокна 210 Саймон Г. 13, 28, 30, 49, 52, 53, 56, 223, 224, 236—238, 244 Самоорганизующиеся системы 28, 112, 217, 250 Себестьен Г. 138 Селфридж О. 25, 28, 49, 111, 119, 128, 130, 239, 241, 249 Сельское хозяйство 177 Символическая логика 61 Синапс 152, 199 Синергия 177 Синтаксис 146, 157, 192, 224, 232 Сколемовская функция 76 Следствий поиск 82 Слейгл Дж. 5, 28, 66, 76, 118 Слияние 129 Сложный нейрон 206 Соответствие с эталоном 132 Составные глаза 213 Сперри Р. 211, 214 Списков обработка 221, 227 Статическая оценочная функция (со.ф.) 91, 108, 239 Стратегия предпочтения одночленам 79 Стречи 90 Сходимости теорема 153 Сэмюэль А. 28, 105, 106—112, 207 ТЕЙРЕСИАС 180 Теория игр 117 Тик-так-ту (игра) 93, 94, 113 «Торговцы чаем» (модель) 214 Торрес 89, 104 Тренировка (обучение) персеп- трона 128, 149 Трик-трак (игра) 117 Тьюринг А. 20, 90, 253 Тьюринга машина 24, 34 Уилшоу Д. 214 Уинстон П. 5 Универсальный решатель задач (GPS) 30, 54, 223, 238, 244 Уокингем (Беркс, Великобритания) 87 Уолл Р. 208-210 264 факториал 229 Факторизация 70 Фейгенбаум Э. 28, 29, 47 Фельдман Дж. 28, 29, 47 Фоерстер 192 Формальный синтаксис 224, 232 Фу К. 148, 224 Хант Э. 5 Хаффман 141, 142 Хилл Дж. 161, 162 Хомский Н. 224 Хорошо определенные задачи 44 Хофштадтер Д. 164, 242 Хьюбель Д. 139, 202, 204—208 Цели создания искусственного интеллекта 30 Цели — средства анализ 49, 55f 244 Цетлин М. Л. 177 Шахматы 21, 86, 90, 237, 239, 251 Шахматные окончания 90, 103 Шашки 105, 239, 247 Шенк Р. 159 Шеннон К. 90, 91, 105 Шоу Дж. 13, 28, 30, 49, 52, 53, 56, 223, 224, 238, 244 Шоулс 191 SHRDLU 164 Эванс К. 125 Эвристики 28, 42, 78, 88 Эвристическая связь 50, 130, 244 Эвристическая таблица 59, 62, 104 Эггер М. 208—210 Экология 177 Экспертные системы 156, 180, 226, 247, 252 Элементарная иллюстрирован- ность 244 ЭЛИЗА 20 Элкок Е. 115 Эндрю А. 5, 16 Эпистемология 26, 218 Эстетика 182, 235 Эффект резиновой пленки 209, 212 Эшби У. 104
Содержание Предисловие редактора перевода 5 От редактора серии 14 Вступление 15 1 Что такое искусственный интеллект? 17 2 Эвристики 41 3 Доказательство теорем 51 4 Доказательство теорем другим методом 65 5 Поиск по дереву и игра в шахматы 86 6 Другие игры 105 7 Распознавание образов 119 8 Анализ сцен 139 9 Использование естественного языка 155 10 Две важные прикладные области 171 11 Эстетика 183 12 Конкуренция — реальные нейроны 195 13 Достигнутые результаты 219 14 Нерешенные проблемы 236 15 Перспективы на будущее 246 Литература 255 Дополнительная литература 260 Предметно-именной указатель 262 Алекс Эндрю ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ Научный редактор А. Н. Кондрашова. Младший научный редактор М. В. Суровова. Художник В. П. Груздев. Художественный редактор Н. М. Иванов. Технический редактор И. И. Володина. Корректор Н. Н. Яковлева ИБ Яз 3505 Сдано в набор 10.09.84. Подписано к печати 26.03.85. Формат 84Xl08i/5a. Бумага кн.-журн. неман. Печать высокая. Гарнитура литературная. Объем 4,13. бум. л. Усл. печ. л. 13,86. Усл. кр.-отт. 14,18. Уч.-изд. л. 13,19. Изд. Я* 12/3643. Тираж 80 000 экз. Зак. Як 363. Цена 70 коп. ИЗДАТЕЛЬСТВО «МИР> 129820, ГСП, Москва, И-110, 1-й Рижский пер., 2. Ленинградская типография Я» 2 головное предприятие ордена Трудовог* Красного Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой Союзполиграфпрома при Государственном KOMHTALfc СССР по делам издательств, полиграфии и книжной торговли. 19вцмв. г. Ленинград, Л-52, Измайловский проспект, 29.