Текст книги "ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда"
Автор книги: Даглас Хофштадтер
Жанры:
Философия
,сообщить о нарушении
Текущая страница: 52 (всего у книги 64 страниц)
Важно иметь в виду, что в принципе любой способ кодирования информации в схему данных или процедур так же хорош, как и все остальные, в том смысле, что все то, что можно сделать, работая с одной схемой, можно сделать и с другой – если вас не слишком волнует эффективность. Однако можно привести доводы, доказывающие, что один метод определенно лучше другого. Взгляните, например, на следующий аргумент в пользу исключительно процедурного представления: «Когда вы пытаетесь закодировать достаточно сложную информацию в виде данных, вам приходится развивать для этого нечто вроде нового языка или формализма. Таким образом, на самом деле, структура ваших данных начинает напоминать программу, части которой работают как интерпретатор. Не лучше ли сразу представить ту же информацию в процедурной форме и избежать лишнего уровня интерпретации?»
ДНК и белки дают некоторую перспективу
Этот довод звучит весьма убедительно; тем не менее, если интерпретировать его немного свободнее, он может быть понят как аргумент против ДНК и РНК. Зачем кодировать генетическую информацию в ДНК, если, сохраняя ее прямо в белках, можно избежать не одного, а двух лишних уровней интерпретации? Оказывается, что иметь одну и ту же информацию, закодированную в нескольких разных формах для разных целей, очень полезно. Одно из преимуществ кодирования генетической информации в ДНК в модулярной форме (в форме данных) заключается в том, что таким образом два индивидуальных гена могут быть скомбинированы для формирования нового генотипа. Это было бы очень трудно, если бы информация содержалась только в белках. Вторым доводом в пользу хранения информации в ДНК является то, что это облегчает транскрипцию и трансляцию ее в белки. Когда информация не нужна, она не занимает много места; когда она нужна, она извлекается и служит эталоном. Не существует механизма для копирования одного белка на основе другого – их третичная укладка сделала бы такое копирование слишком громоздким. Кроме того, генетическая информация почти неизбежно должна быть представлена в трехмерных структурах, таких, как энзимы, поскольку узнавание молекул и манипуляция ими по природе являются трехмерными операциями. Поэтому в контексте клеток довод в пользу исключительно процедурного представления информации кажется неверным. Это говорит о том, что в возможности перехода от процедурной к декларативной информации и обратно есть свои преимущества. Это, возможно, верно и для ИИ.
Этот вопрос был затронут Фрэнсисом Криком на конференции по общению с внеземными культурами:
Мы видим, что на земле есть две молекулы, одна из которых хороша для копирования (ДНК), а другая – для действия (белки). Возможно ли разработать такую систему, в которой одна и та же молекула выполняла бы обе функции? Или же существуют веские, основанные на анализе системы аргументы, доказывающие, что деление этой работы на две части дает значительное преимущество? Ответа на этот вопрос я не знаю.[73]73
Carl Sagan «Communication with Extraterrestrial Intelligence» стр. 52.
[Закрыть]
Модульность знания
Другой вопрос, возникающий по поводу представления знания, это модульность. Насколько легко ввести новое знание? Насколько легко получить доступ к старому знанию? Насколько модулярны книги? Все это зависит от многих факторов. Если из книги, в которой главы тесно связаны между собой и ссылаются друг на друга, убрать одну главу, то эту книгу станет практически невозможно понять. Так, потянув за одну паутинку, вы разрушаете всю паутину. С другой стороны, книги, главы которых менее зависимы друг от друга, гораздно более модулярны.
Рассмотрим прямолинейную программу, производящую теоремы на основе аксиом и правил вывода ТТЧ. У «знаний» подобной программы – два аспекта. Они находятся косвенно в аксиомах и правилах и явно – в произведенных теоремах. В зависимости от того, под каким углом вы смотрите на знания, вы скажете, что они либо модулярны, либо распространены по всей программе и совершенно не модулярны. Представьте себе, например, что вы написали такую программу, но забыли включить в нее Аксиому I из списка аксиом. После того, как программа вывела тысячи теорем, вы обнаруживаете свою ошибку и вставляете новую аксиому. Тот факт, что вам это легко удается, показывает, что неявные знания системы модулярны; однако вклад новой аксиомы в явные знания системы станет заметен не скоро – после того, как произведенный ею эффект распространится по системе, подобно тому, как по комнате, в которой разбили флакон с духами, медленно распространяется аромат. В этом смысле, новое знание включается в систему постепенно. Более того, если бы вы захотели вернуться назад и заменить Аксиому I на ее отрицание, для этого вам пришлось бы убрать все теоремы, в деривации которых участвовала Аксиома I. Ясно, что явные знания системы далеко не так модулярны, как ее неявные знания.
Было бы полезно научиться делать пересадку знания в модулярной форме. Тогда, чтобы обучить человека французскому языку, нужно было бы лишь, проникнув в его мозг, определенным образом изменить его нейронную структуру, – и человек бегло заговорил бы по-французски! Разумеется, все это только юмористические мечтания.
Другой аспект представления знаний зависит от того, как мы хотим эти знания использовать. Должны ли мы, получив новую информацию, сразу делать выводы? Должны ли мы постоянно делать сравнения и проводить аналогии между новой и старой информацией? В шахматной программе, например, если вы хотите получить дерево анализа вариантов, то построение, включающее позиции на доске и минимум ненужных повторений, будет предпочтительнее, чем построение, повторяющее одну и ту же информацию в различной форме. Но если вы хотите, чтобы ваша программа «понимала» позицию, глядя на структуры на доске и сравнивая их с уже известными ей структурами, тогда повторение одной и той информации в разных формах будет более полезным.
Представление знания с помощью логического формализма
Существует несколько философских школ, по-разному трактующих лучшие способы представления знания и работы с ним. Одна из наиболее влиятельных школ пропагандирует представление знаний с помощью формальной нотации, подобной нотации ТТЧ, – с использованием препозиционных связок и кванторов. Не удивительно, что основные операции в подобной системе выглядят как формализация дедуктивных рассуждений. Логические заключения могут быть сделаны при помощи правил вывода, аналогичных соответствующим правилам ТТЧ. Спрашивая такую систему о какой-либо идее, мы ставим перед ней цель в виде строчки, которую необходимо вывести. Например: «Является ли МУМОН теоремой?» Тут вступают в действие автоматические рассуждающие механизмы, которые пытаются приблизиться к цели, используя различные методы упрощения задач.
Предположим, например, что дано высказывание «все формальные арифметические системы неполны»; вы спрашиваете программу: «Полны ли „Principia Mathematical“». Сканируя имеющуюся в ее распоряжении информацию (часто называемую базой данных), программа может заметить, что если бы ей удалось установить, что «Principia Mathematica» – это формальная арифметика, то она могла бы ответить на вопрос. Таким образом, высказывание «„Principia Mathematica“ – это формальная арифметика» становится подзадачей, после чего в действие вступает метод упрощения задач. Если программа сможет найти что-либо еще, что могло бы способствовать подтверждению (или опровержению) задачи или подзадачи, она начнет работать над этой информацией – и так далее, рекурсивным образом. Этот процесс называется обратным сцеплением данных, поскольку он начинается с цели и затем отступает назад – предположительно к уже известным вещам. Если представить графически основную задачу, подзадачи, подподзадачи и так далее, у нас получится структура дерева, поскольку основная задача может включать несколько подзадач, каждая из которых, в свою очередь, может подразделяться на несколько подподзадач… и т. д.
Обратите внимание, что этот метод не гарантирует решения, так как внутри системы может не существовать способа установить, что «Principia Mathematica» – формальная арифметика. Это, однако, означает не то, что задача или подзадача являются ложными утверждениями, а лишь то, что они не могут быть получены на основании сведений, имеющихся в распоряжении системы в данный момент. Когда такое случается, система может напечатать что-нибудь вроде: «Я не знаю». Тот факт, что некоторые вопросы остаются открытыми, разумеется, подобен неполноте, от которой страдают некоторые хорошо известные формальные системы.
Осознание дедуктивное и осознание аналогическое
Этот метод дает системе возможность дедуктивного осознания представленной области, поскольку она может выводить правильные умозаключения на основании известных ей фактов. Однако ей не хватает так называемого аналогического осознания – умения сравнивать ситуации и замечать сходство между ними, что является одной из основ человеческого мышления. Я не хочу сказать, что аналогические мыслительные процессы не могут быть втиснуты в эти рамки, просто их гораздо труднее выразить с помощью подобного типа формализма. В настоящее время логические системы стали менее популярны по сравнению с типами систем, позволяющих естественно проводить сложные сравнения.
Как только вы соглашаетесь с тем, что представление знаний – совершенно иное дело, чем простое записывание чисел, миф о том, что «у компьютера – слоновья память», становится легко опровергнуть. То, что хранится в памяти, совсем не обязательно аналогично тому, что программа знает, поскольку, даже если определенный кусок информации и записан где-то внутри сложной системы, в системе может не быть процедуры, правила или какого-либо иного способа управляться с данными и вызывать эту информацию – она может быть недоступна. В таком случае, вы можете сказать, что данная информация «забыта», поскольку доступ к ней временно или навсегда утрачен. Таким образом компьютерная программа может «забыть» что-то на высшем уровне, но помнить это на низшем уровне. Здесь мы снова сталкиваемся с вездесущим различием уровней, из которого, возможно, можем узнать многое о нас самих. Когда мы что-то забываем, это скорее всего означает, что утеряна «указка» высшего уровня, а не то, что какая-либо информация стерта или разрушена. Это говорит о том, насколько важно следить, как у вас в голове «записываются» новые впечатления, поскольку вы никогда не можете сказать заранее, в какой ситуации вам понадобится вытащить что-то из памяти.
От компьютерных хайку – к грамматике СРП
Сложность представления знаний в человеческой голове впервые поразила меня, когда я начал работать над программой по созданию английских предложений, основанных на неожиданном выборе и соединении слов. Я пришел к этой идее довольно интересным путем. Как-то я услышал по радио несколько примеров хайку, сочиненных компьютерами. Они меня чем-то глубоко затронули. Идея заставить компьютер производить нечто, что обычно считается искусством, была довольно юмористична и в то же время содержала элемент глубокой тайны. Меня позабавил юмор и мотивировала загадочность – даже противоречивость – программирования творческих актов. Тогда я и решил написать программу, еще более загадочную и противоречивую, чем программа хайку.
Сначала я был озабочен тем, как сделать грамматику гибкой и рекурсивной, чтобы не возникало впечатления, что программа просто механически подставляет слова в пробелы некоего трафарета. Примерно тогда же я наткнулся на статью Виктора Ингве в «Scientific American», в которой он описывал простую, но гибкую грамматику, способную порождать большое количество разнообразных предложений того типа, который можно найти в некоторых детских книгах. Я модифицировал некоторые идеи этой статьи и у меня получился набор процедур, составивших грамматику типа Схемы Рекурсивных Переходов, описанной в главе V. В этой грамматике выбор слов в предложении определялся процессом, который сначала выбирал наугад общую структуру предложения; постепенно процесс принятия решений распространялся на более низкие уровни предложения, пока не достигался уровень слов и букв. Многое должно было делаться ниже уровня слов, как например, спряжение глаголов и постановка слов во множественное число. Неправильные глаголы и существительные сначала формировались по общим правилам и затем, если результат совпадал с записанным в специальной таблице, производилась замена на нужную – нерегулярную – форму. Как только каждое слово достигало конечной формы, оно печаталось. Программа напоминала знаменитую обезьяну за пишущей машинкой, но оперировала при этом сразу на нескольких лингвистических уровнях, а не только на уровне букв.
В начале я нарочно использовал дурацкий набор слов, так как мне хотелось достичь забавного результата. Программа произвела множество бессмысленных предложений, как длинных, так и совсем кургузых. Вот несколько примеров, в переводе с английского:
Карандаш-самец, который должен неуклюже смеяться, будет квакать. Не должна ли программа всегда хрустеть девочкой в памяти? Десятичный жук, который неуклюже плюется, может крутиться. Кекс, принимающий неожиданного человека во внимание, может всегда уронить карту.
Программа должна работать весело.
Достойная машина не всегда должна приклеивать астронома.
О, программа, которая должна действительно убегать от девочки, пишет музыканта для театра. Деловые отношения квакают.
Счастливая девочка, которая всегда должна квакать, никогда не будет квакать наверняка.
Игра квакает. Профессор напишет маринованный огурчик. Жук крутится.
Человек берет соскальзывающую коробку.
Впечатление от всего этого получается сюрреалистическое; иногда отрывки текста напоминают хайку, как, например, последний пример четырех коротких предложений. Сначала все это кажется забавным и милым, но вскоре надоедает. Прочитав несколько страниц компьютерной продукции, вы можете заметить границы того пространства, в котором оперирует программа, после чего случайные точки в пределах этого пространства – даже если каждая из них и выглядит «новой» – уже вас не удивят. Мне кажется, что это – общий принцип: предмет надоедает вам не тогда, когда вы исчерпали репертуар его поведения, но тогда, когда вы поняли, где находятся границы, внутри которых это поведение может варьироваться. Пространство поведения человека достаточно сложно, чтобы постоянно удивлять других людей; однако в отношении моей программы это оказалось не так. Я понял, что моя цель – производство действительно смешных предложений – требует от программы гораздо большей тонкости. Но что, в данном случае, означает «тонкость»? Ясно было одно – случайные комбинации слов этой тонкостью не обладали. Необходимо было сделать так, чтобы слова использовались в соответствии с реальностью. Именно тогда я начал задумываться о представлении знаний.
От СРП до УСП
Идея, которую я принял на вооружение, состояла в том, чтобы классифицировать каждое слово – существительное, глагол, предлог и т. д. – согласно разным «семантическим измерениям». Таким образом, каждое слово становилось членом различных классов; кроме этого, существовали также суперклассы – классы классов (что напоминает замечание Улама). В принципе, подобная классификация может иметь любое количество уровней, но я решил остановиться на двух. Теперь в любой момент выбор слов был семантически ограничен, поскольку требовалось, чтобы части составляемой фразы согласовались между собой. Скажем, некоторые действия могли быть совершены только одушевленными объектами; только некоторые абстрактные понятия могли влиять на события и так далее. Было нелегко решить, какие категории должны были быть установлены и должна ли каждая конкретная категория быть классом или суперклассом. Каждое слово получило «семантические ярлыки» в нескольких различных категориях. Многие часто встречающиеся предлоги, например, входили сразу в несколько классов, в соответствии с их разными значениями. Теперь продукция машины стала гораздо более осмысленной – и поэтому забавной уже в другом смысле.
Небольшой тест Тюринга
Ниже я привожу девять отрывков, тщательно отобранных из многих страниц текста, написанного поздней версией моей программы. Вместе с ними я включил сюда три предложения, написанных людьми (с самыми серьезными намерениями). Можете ли вы сказать, какие предложения написаны компьютером, а какие – людьми?
(1) Спонтанная речь может рассматриваться как взаимная замена семиотического материала (дублирование) на семиотический диалогический продукт в процессе динамического размышления.
(2) Лучше подумайте о пути «цепи» простачков мысленного эксперимента, в котором линии наследственности являются prima facie примером парадиахронической транзитивности.
(3) Считайте, что это усиливающаяся по принципу цепной реакции возможность чего-то, что рано или поздно появится как продукт (эпистемические условия?), и продукт этот не будет франкфуртовским засовыванием-всего-в-одну-упаковку.
(4) Несмотря на все усилия, ответ, если вам угодно, был поддержан Востоком; следовательно, обман будет приостановлен, благодаря позиции посла.
(5) Разумеется, до восстаний посол слегка постепенно баловал этот сброд.
(6) Предположительно, усовершенствованная свобода являлась причиной этих позиций в той мере, в какой мир очищен последствиями, которые в конце концов не будут неизбежно вызваны порядком, в той мере, в какой этот мир иногда, бесконечно удивительно, порождает непримиримость.
(7) По мнению софистов, кампании в городах-государствах, иными словами, были восприняты Востоком с хитростью. Разумеется, Восток был разделен этими государствами с особенной жестокостью. Восток поддерживает усилия, которые были поддержаны человечеством.
(8) Каждый согласится с тем, что иерархический порядок обмана, несмотря на это, будет напророчен его врагами. По той же причине, индивидуалисты могли бы в будущем засвидетельствовать, что непримиримость не остановит кампаний.
(9) Нет нужды говорить, что во время восстаний, которые оправдали бы секретность, ответы не разделяют Востока. Разумеется, эти страны, ipso facto, всегда зондируют свободу.
(10) Хотя Нобелевская премия была получена гуманистами, она, кроме того, была получена и рабами.
(11) Рабы часто принимают позицию стран, раздираемых конфликтами.
(12) Более того, Нобелевские премии будут получены. По той же причине, несмотря на последствия. Нобелевские премии, которые будут получены, будут иногда получены женщинами.
Людьми написаны предложения с 1 по 3; они были извлечены из современного журнала Art Language[74]74
«Art Language», т. III номер 2, май 1975.
[Закрыть] и являются, насколько я могу сказать, совершенно серьезными попытками образованных и умственно нормальных людей сообщить нечто друг другу. То, что здесь они приводятся вне контекста, не слишком важно, поскольку контекст звучит совершенно в том же духе.
Моя программа произвела все остальное. Номера с 10 по 12 были выбраны, чтобы показать, что иногда программа выдавала вполне осмысленные суждения, номера с 7 по 9 – наиболее типичный продукт: эти высказывания плавают в странном и соблазнительном мире между смыслом и бессмыслицей. Что же касается предложений с 4 по 6, то они, пожалуй, находятся за пределами смысла. Если быть великодушным, то можно сказать, что они являются самостоятельными «лингвистическими объектами», чем-то вроде абстрактных скульптур, созданных из слов вместо камня; с другой стороны, можно утверждать, что они – не что иное, как псевдо-интеллектуальная тарабарщина.
Выбор словаря для моей программы все еще был направлен на достижение юмористического эффекта. Трудно определить, на что похож конечный результат. Хотя многое в нем выглядит осмысленно, по крайней мере, на уровне отдельных фраз, у читателя определенно создается впечатление, что этот текст написан кем-то, не имеющим понятия о том, что и зачем он говорит. В частности, чувствуется, что за словами здесь не стоят никакие образы. Когда подобные высказывания полились рекой из печатающего устройства, я испытал сложные чувства. Меня позабавила глупость результата; я также был весьма горд моим успехом и попытался описать его друзьям в виде правил для сочинения осмысленных историй по-арабски на основании отдельных росчерков пера. Разумеется, я преувеличивал, но мне нравилось думать об этом таким образом. Наконец, я был счастлив от того, что внутри этой необычайно сложной машины в согласии с некими правилами происходила манипуляция длинными цепями символов, и что эти длинные цепи символов были в каком-то смысле похожи на мысли в моей собственной голове… в каком-то смысле на них похожи.
Представления о том, что такое мысль
Конечно, я не обманывал себя, предполагая, что за этими фразами скрывается разумное существо. Я как никто другой понимал, почему этой программе было весьма далеко до настоящего мышления. К этому случаю отлично приложима теорема Теслера: как только данный уровень владения языком был механизирован, стало ясно, что его нельзя назвать разумом. Но благодаря этому удивительному опыту у меня сложилось впечатление, что настоящая мысль основывается на гораздо более длинных и сложных последовательностях символов в мозгу – символов, двигающихся, наподобие поездов, одновременно по многим параллельным и перекрещивающимся путям; мириады моторов – возбуждающихся нейронов – толкают, тащат и переводят с пути на путь вагоны этих поездов…
Это был всего лишь интуитивный образ, непередаваемый словами. Но образы, интуиция и мотивация находятся так близко друг от друга, что они часто смешиваются; глубокое впечатление, произведенное этим образом, заставило меня серьезнее задуматься над тем, что же такое, на самом деле, представляет из себя мысль. В других местах книги я попытался описать некоторые «дочерние» образы этой первоначальной картины – в особенности, в «Прелюдии» и в «Муравьиной фуге».
Когда я думаю об этой программе сегодня, по прошествии двенадцати лет, меня более всего поражает полное отсутствие зрительных образов за тем, что она говорит. Программа не имела ни малейшей идеи о том, что такое раб, человек и все остальные вещи. Слова были для нее только формальными символами, такими же абстрактными, как p и r в системе pr, – а может быть и еще абстрактнее. Программа пользовалась тем, что когда люди читают какой-либо текст, они обычно наделяют все слова смыслом, словно смысл с необходимостью привязан к группе букв, формирующих то или иное слово. Моя программа – это нечто вроде формальной системы, чьи «теоремы» – порожденные ею фразы – имели готовые интерпретации (по крайней мере, для людей, говорящих по-английски). Но в отличие от системы pr, не все высказывания, интерпретированные таким образом, получались истинными. Многие из них оказались ложными, а многие – просто бессмысленными.
Скромная система pr отразила крохотный уголок вселенной. Но в моей программе – за исключением небольшого количества семантических ограничений, которым она должна была подчиняться – не было подобного «зеркала», отражающего структуру реального мира. Чтобы наделить программу этим зеркалом, мне пришлось бы «завернуть» каждое понятие в множество слоев знаний о мире. Этот проект очень отличался от моего первоначального замысла. Не то, чтобы я не хотел этим заниматься – просто до сих пор руки не доходили.
Грамматики высшего уровня…
На самом деле, я часто задумывался о возможности написать грамматику типа УСП (или какого-нибудь иную программу, производящую предложения), которая выдавала бы только истинные высказывания. Такая программа наделяла бы слова действительным смыслом так, как это происходило в системе pr и в ТТЧ. Идея языка, в котором ложные высказывания грамматически неверны, не нова – она была высказана Иоганном Амосом Комениусом еще в 1633 году. Эта идея очень соблазнительна, поскольку такая система была бы магическим кристаллом: чтобы узнать, истинно ли высказывание, нужно было бы всего лишь проверить его грамматическую правильность… На самом деле, Комениус пошел еще дальше: в его языке ложные высказывания были не только грамматически неправильными, но и вообще невыразимыми!
Развивая эту мысль в другом направлении, можно представить себе программу высшего уровня, создающую произвольные коаны. Почему бы и нет? Такая грамматика соответствовала бы формальной системе, теоремы которой являлись коанами. И если бы у вас была подобная программа, то не могли бы вы отрегулировать ее таким образом, чтобы она порождала только подлинные коаны? Моя приятельница Марша Мередит с энтузиазмом занялась этим проектом «Искусственного Изма»; ниже приводится забавный квази-коан, один из ранних продуктов ее усилий:
МОЛОДЕНЬКОМУ МАСТЕРУ ПОНАДОБИЛАСЬ МАЛЕНЬКАЯ БЕЛАЯ КРИВАЯ ПЛОШКА «КАК МЫ МОЖЕМ НАУЧИТЬСЯ, НЕ УЧАСЬ?» – СПРОСИЛ МОЛОДОЙ МАСТЕР У ВЕЛИКОГО НЕДОУМЕВАЮЩЕГО МАСТЕРА. НЕДОУМЕВАЮЩИЙ МАСТЕР ПЕРЕШЕЛ С ТВЕРДОЙ КОРИЧНЕВОЙ ГОРЫ НА МЯГКУЮ БЕЛУЮ ГОРУ С МАЛЕНЬКОЙ КРАСНОЙ КАМЕННОЙ ПЛОШКОЙ. НЕДОУМЕВАЮЩИЙ МАСТЕР УВИДЕЛ МЯГКУЮ КРАСНУЮ ХИЖИНУ. НЕДОУМЕВАЮЩИЙ МАСТЕР ЗАХОТЕЛ ЭТУ ХИЖИНУ «ПОЧЕМУ БОДХИДХАРМА ПРИШЕЛ В КИТАЙ?» – СПРОСИЛ НЕДОУМЕВАЮЩИЙ МАСТЕР У ВЕЛИКОГО ПРОСВЕТЛЕННОГО УЧЕНИКА «ПЕРСИКИ БОЛЬШИЕ», – ОТВЕТИЛ УЧЕНИК НЕДОУМЕВАЮЩЕМУ МАСТЕРУ. «КАК МЫ МОЖЕМ НАУЧИТЬСЯ, НЕ УЧАСЬ?» – СПРОСИЛ НЕДОУМЕВАЮЩИЙ МАСТЕР У ВЕЛИКОГО СТАРОГО МАСТЕРА. СТАРЫЙ МАСТЕР УШЕЛ С БЕЛОЙ КАМЕННОЙ Г0025. СТАРЫЙ МАСТЕР ЗАБЛУДИЛСЯ.
Ваша персональная разрешающая процедура для определения подлинности коана, возможно, уже сработала без необходимости использовать Геометрический Код или Искусство Цепочек Дзена. Если отсутствие местоимений или упрощенный синтаксис вас не насторожили, то это должно было сделать странное «Г0025» под конец текста. Что это такое? Простая оплошность – проявление «вируса», который заставил программу напечатать вместо английского слова, обозначающего какой-либо предмет, внутреннее название «узла» (в действительности, атома ЛИСПа), где хранилась вся информация об этом предмете. Таким образом, это окошко, сквозь которое мы можем заглянуть в низший уровень лежащего в основе программы «разума дзена» – уровень, который должен был бы оставаться невидимым. К несчастью, подобных окошек в низший уровень человеческого разума дзен-буддистов не существует.
Последовательность действий, хотя до какой-то степени и случайная, определяется рекурсивной процедурой ЛИСПа под названием КАСКАД. Эта процедура создает цепь действий, связывающихся между собой произвольным образом. Хотя ясно, что степень понимания мира, которой обладает этот сочинитель коанов, далека от совершенства, работа над этой программой продолжается, в надежде сделать ее продукцию более похожей на подлинные коаны.
Рис. 116. Осмысленный рассказ на арабском языке. [A.Khatibi, M.Sijelmassi, «The Splendour of Islamic Calligraphy» Нью-Йорк, изд-во Риццоли, 1976.)
Грамматика для музыки?
А как насчет музыки? Может показаться, что эту область легко закодировать в грамматике типа УСП или какой-нибудь подобной программе. Продолжив это наивное рассуждение, можно сказать, что значение языка опирается на связь с окружающим миром, в то время как музыка – чисто формальна. В звуках музыки нет связи с окружающим миром; это чистый синтаксис – нота следует за нотой, аккорд за аккордом, такт за тактом…
Но постойте – в этом анализе что-то не так. Почему одни произведения гораздо глубже и красивее других? Это происходит потому, что форма в музыке выразительна, и действует на некие подсознательные области нашего разума. Звуки музыки не связаны с рабами или городами-государствами, но они порождают в нас множество эмоций. В этом смысле музыкальное значение все-таки зависит от неуловимых связей между символами и вещами реального мира – в данном случае, «вещами» являются некие скрытые структуры «программ» нашего разума. Нет, простой формализм, подобный грамматике УСП, не породит великой музыки. Псевдо-музыка, подобная псевдо-сказкам, может получиться без труда – и это будет интересным исследованием – но секреты значения в музыке лежат гораздо глубже, чем уровень чистого синтаксиса.
Здесь я должен кое-что пояснить: в принципе, все грамматики типа УСП обладают мощью любого программирующего формализма; так что, если музыкальное значение вообще может быть как-то уловлено (мне кажется, что это возможно), то это может быть сделано в грамматике УСП. Но мне кажется, что эта грамматика будет определять не только музыкальные структуры, но и общую структуру мозга слушателя. Она будет «грамматикой мысли», а не только лишь грамматикой музыки.
ШРДЛУ, программа Винограда
Программа какого типа нужна, чтобы заставить людей признать, что она действительно что-то «понимает»? Что понадобилось бы для того, чтобы ваша интуиция не говорила бы вам, что за программой «ничего нет»?
В 1968-1970 годах Терри Виноград (он же д-р Тире-Рвинога) писал докторскую диссертацию в Массачусетском институте технологии, работая над проблемами языка и понимания. В то время в МИТе многие специалисты по ИИ работали с так называемым «миром блоков» – относительно простой областью, в которой легко было представить задачи компьютерного зрения и языка. Эта область включала стол и разноцветные блоки, похожие на игрушечные кубики – квадратные, удлиненные, треугольные, и т. д. (Иной тип «блочного мира» представлен на картине Магритта «Мысленная арифметика» (рис. 117); я нахожу это название особенно подходящим к данному контексту.) Проблемы зрения в блочном мире МИТа весьма сложны: каким образом сканирование телекамерой сцены с множеством кубиков позволяет компьютеру решить, какие типы блоков там находятся, и каково их взаимное расположение? Некоторые блоки могут лежать на других, некоторые – стоять впереди других; блоки могут отбрасывать тени и т. д.
Однако Виноград не работал над этими аспектами зрения. Он начал с предположения, что блочный мир хорошо представлен в памяти компьютера. После этого ему оставалось решить задачу о том, как заставить компьютер:
(1) понимать по-английски вопросы о ситуации;
(2) отвечать по-английски на вопросы о ситуации;
(3) понимать команды по-английски о манипуляции блоков;
(4) разбивать каждую команду на серию операций, которые он может выполнить;
(5) понимать, что он делает и с какой целью;
(6) описывать свои действия и их цель по-английски.
Может показаться, что хорошо было бы разбить общую программу на серию модулярных подпрограмм, где каждой части проблемы соответствовал бы некий модуль, и затем, после того, как каждый модуль был бы разработан отдельно, соединить их вместе. Однако Виноград нашел, что стратегия разработки независимых модулей представляла значительные трудности.