Скромная система 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) описывать свои действия и их цель по-английски.
Может показаться, что хорошо было бы разбить общую программу на серию модулярных подпрограмм, где каждой части проблемы соответствовал бы некий модуль, и затем, после того, как каждый модуль был бы разработан отдельно, соединить их вместе. Однако Виноград нашел, что стратегия разработки независимых модулей представляла значительные трудности.