Может показаться, что хорошо было бы разбить общую программу на серию модулярных подпрограмм, где каждой части проблемы соответствовал бы некий модуль, и затем, после того, как каждый модуль был бы разработан отдельно, соединить их вместе. Однако Виноград нашел, что стратегия разработки независимых модулей представляла значительные трудности.
Его радикальный подход бросил вызов теории о том, что интеллект может быть подразделен на независимые и полунезависимые части. Созданная Виноградом программа ШРДЛУ (названная так в честь старого кода «ЕТАОЙН ШРДЛУ», используемого операторами линотипических машин для отметки опечаток в газетных столбцах) не разбивала задачу на отдельные концептуальные части. Операции деления предложений, производства внутренних представлений, рассуждений о мире, представленном внутри нее самой, нахождение ответов на вопросы и т. д. были тесно переплетены во внутреннем представлении процедурных знаний программы. Некоторые критики утверждали, что программа Винограда так запутана, что не представляет вообще никакой «теории» о языке и не способствует нашему пониманию процессов мышления. По моему мнению, ничто не может быть так далеко от истины как подобная критика. Шедевр, подобный ШРДЛУ, может не быть изоморфным тому, что делаем мы — безусловно, мы не должны думать, что эта программа достигла «уровня символов» — но как сам акт создания ШРДЛУ, так и размышления об этой программе позволяют узнать очень многое о работе интеллекта.
В действительности, ШРДЛУ все же состоит из отдельных процедур, каждая из которых содержит некие знания о мире; но эти процедуры настолько зависят друг от друга, что их невозможно четко разграничить. Программа похожа на крепко затянутый узел, который очень трудно распутать; но тот факт, что его не удается развязать, не означает того, что его невозможно понять. Может существовать элегантное геометрическое описание всего узла, даже если физически он запутан. Здесь уместно вспомнить метафору из «Приношения МУ» и сравнить эту проблему со взглядом на фруктовый сад под «естественным» углом.
Виноград очень хорошо описал ШРДЛУ. Ниже я привожу отрывок из его статьи в книге Шанка и Колби:
Одна из основных идей, лежащих в основе этой модели, заключается в том, что всякое использование языка можно рассматривать как активацию неких процедур в слушателе. Мы можем думать о любом высказывании как о программе, которая является косвенной причиной выполнения неких операций в когнитивной системе слушателя. Это «составление программ» неявно, поскольку мы имеем дело с разумным интерпретатором, реакция которого может весьма отличаться от той, которую хотел вызвать говорящий. Точная форма «программы», воспринимаемой слушателем, определяется его знанием о мире, его отношением к говорящему и так далее. В нашей программе мы имели дело с простой версией этого процесса интерпретации, происходящего внутри робота. Каждое высказывание, интерпретированное роботом, превращалось в набор команд ПЛАННЕРа. Программа, созданная таким образом, затем использовалась для достижения желаемого эффекта.[75]
Упомянутый выше язык ПЛАННЕР — это один из языков ИИ; его основной чертой является то, что в него встроены некоторые операции, необходимые для упрощения задач, — например, рекурсивный процесс создания дерева подзадач, подподзадач и так далее. Это значит, что программисту уже не приходится объяснять подобные процессы снова и снова — они автоматически следуют из так называемых постановок задач. Человек, читающий составленную на ПЛАННЕРе программу, не заметит явных ссылок на эти операции; на компьютерном жаргоне говорится, что они