Его радикальный подход бросил вызов теории о том, что интеллект может быть подразделен на независимые и полунезависимые части. Созданная Виноградом программа ШРДЛУ (названная так в честь старого кода «ЕТАОЙН ШРДЛУ», используемого операторами линотипических машин для отметки опечаток в газетных столбцах) не разбивала задачу на отдельные концептуальные части. Операции деления предложений, производства внутренних представлений, рассуждений о мире, представленном внутри нее самой, нахождение ответов на вопросы и т. д. были тесно переплетены во внутреннем представлении процедурных знаний программы. Некоторые критики утверждали, что программа Винограда так запутана, что не представляет вообще никакой «теории» о языке и не способствует нашему пониманию процессов мышления. По моему мнению, ничто не может быть так далеко от истины как подобная критика. Шедевр, подобный ШРДЛУ, может не быть изоморфным тому, что делаем мы — безусловно, мы не должны думать, что эта программа достигла «уровня символов» — но как сам акт создания ШРДЛУ, так и размышления об этой программе позволяют узнать очень многое о работе интеллекта.
Рис. 117. Рене Магритт. «Мысленная арифметика» (1931).
В действительности, ШРДЛУ все же состоит из отдельных процедур, каждая из которых содержит некие знания о мире; но эти процедуры настолько зависят друг от друга, что их невозможно четко разграничить. Программа похожа на крепко затянутый узел, который очень трудно распутать; но тот факт, что его не удается развязать, не означает того, что его невозможно понять. Может существовать элегантное геометрическое описание всего узла, даже если физически он запутан. Здесь уместно вспомнить метафору из «Приношения МУ» и сравнить эту проблему со взглядом на фруктовый сад под «естественным» углом.
Виноград очень хорошо описал ШРДЛУ. Ниже я привожу отрывок из его статьи в книге Шанка и Колби:
Одна из основных идей, лежащих в основе этой модели, заключается в том, что всякое использование языка можно рассматривать как активацию неких процедур в слушателе. Мы можем думать о любом высказывании как о программе, которая является косвенной причиной выполнения неких операций в когнитивной системе слушателя. Это «составление программ» неявно, поскольку мы имеем дело с разумным интерпретатором, реакция которого может весьма отличаться от той, которую хотел вызвать говорящий. Точная форма «программы», воспринимаемой слушателем, определяется его знанием о мире, его отношением к говорящему и так далее. В нашей программе мы имели дело с простой версией этого процесса интерпретации, происходящего внутри робота. Каждое высказывание, интерпретированное роботом, превращалось в набор команд ПЛАННЕРа. Программа, созданная таким образом, затем использовалась для достижения желаемого эффекта.[75]
Упомянутый выше язык ПЛАННЕР — это один из языков ИИ; его основной чертой является то, что в него встроены некоторые операции, необходимые для упрощения задач, — например, рекурсивный процесс создания дерева подзадач, подподзадач и так далее. Это значит, что программисту уже не приходится объяснять подобные процессы снова и снова — они автоматически следуют из так называемых постановок задач. Человек, читающий составленную на ПЛАННЕРе программу, не заметит явных ссылок на эти операции; на компьютерном жаргоне говорится, что они прозрачны для пользователя. Если одна из ветвей дерева не сможет выполнить своей задачи, то ПЛАННЕР вернется назад и попробует другую дорогу, «Возврат» — ключевое слово в ПЛАННЕРе.
Программа Винограда успешно воспользовалась этими чертами ПЛАННЕРа — или, точнее, МИКРОПЛАННЕРа, частичной реализации замыслов для ПЛАННЕРа. Однако за последние несколько лет специалисты в области ИИ решили, что автоматический возврат, используемый в ПЛАННЕРе, имеет свои определенные недостатки и маловероятно, что он сможет привести к цели; так что они сосредоточили свои усилия на других областях ИИ.
Давайте посмотрим на дальнейшие комментарии Винограда о ШРДЛУ:
Определение значения каждого слова — эта программа, вызываемая в нужный момент анализа; она может производить произвольные вычисления, включающие данное высказывание и физическую ситуацию в данный момент.[76]
Среди примеров, которые приводит Виноград, встречается следующий:
Различными возможностями значения слова «the» являются процедуры, которые проверяют разнообразные факты, касающиеся контекста, и затем определяют нужные действия, такие как «искать в базе данных описание единственного предмета, совпадающего с этим описанием» или «подтвердить, что описываемый предмет является единственным для говорящего». В программу включены различные типы эвристики для определения того, какие части контекста важны.[77]
(Как читатель, вероятно, догадался, программа ШРДЛУ была англоязычна; задачи, которые ей приходилось решать, были специфичны для английского языка. В Диалоге «ШРДЛУ» мы постарались передать на русском как можно точнее не только содержание беседы с программой, но и ее форму, со всеми двусмысленностями и шероховатостями речи; однако комментарий Винограда о проблеме использования определенного артикля «the» был оставлен без изменения за отсутствием точного русского эквивалента. — Прим. перев.)
Удивительно то, насколько значительна эта проблема артикля «the». В русском аналогичные проблемы представляют, например, такие слова как «что», «в», «на», «и», «к». Можно с уверенностью сказать, что создание программы, которая была бы способна правильно использовать все значения этих слов, было бы эквивалентно решению проблемы ИИ, и таким образом, означало бы ответ на вопрос, что такое разум и сознание. Небольшое отступление: согласно частотному словарю Джона Б. Кэрролла (John В. Carroll, «Word Frequency Book»), пять наиболее часто употребляющихся в английском существительных — это «время», «люди», «дорога», «вода» и «слова», в таком порядке. Удивительнее всего то, что большинство людей не подозревает, что они думают настолько абстрактными категориями. Девять человек из десяти назовут «дом», «работа», «деньги», «человек»… И, раз уж мы заговорили о частотности, заметьте, что наиболее часто используемыми буквами английского языка, согласно Мергенталеру, являются «ETAOIN SHRDLU», в таком порядке.
Одна из интересных черт ШРДЛУ, противоречащая стереотипу компьютеров как машин, щелкающих числа подобно орешкам, это то, что, как указывает Виноград, эта система «не принимает чисел в их цифровой форме и умеет считать только до десяти».[78] Несмотря на всю математику, лежащую в ее основе, ШРДЛУ — математический неуч! Как и мадам Мура Вейник, ШРДЛУ ничего не знает о составляющих ее низших уровнях. Ее знания, в основном, процедурные (см. в особенности замечание д-ра Тире-Рвинога в секции 11 предыдущего диалога).
Интересно сравнить процедурные знания, заключенные в ШРДЛУ, со знаниями моей создающей предложения программы. Все синтаксические познания моей программы процедурно включались в Увеличенные Схемы Переходов, написанные на языке АЛГОЛ; но семантические познания — информация о принадлежности к тому или иному семантическому классу — были статичны: они содержались в коротком списке цифр после каждого слова. Там было, правда, несколько служебных слов, таких как «to have», «to be» и тому подобное, которые были полностью представлены в процедурном виде в АЛГОЛе, но это было исключением. С другой стороны, в ШРДЛУ все слова были представлены в программах. Это показывает, что несмотря на то, что теоретически программы эквивалентны данным, на практике выбор способа представления знаний влечет за собой серьезные последствия.