Вернемся к нашему лифту. Как только компилятор скомпилировал объектный код, этот код может быть исполнен (это исполняемый файл, обычно в расширении. exe) реальной (или виртуальной) машиной. Возможно, придется исправить ряд ошибок (вернуться к исходному коду, поправить его, снова скомпилировать программу и т. д.), но в итоге получится “законченный”продукт. Его можно будет “вшить”в ПЗУ на крошечный чип, содержащий универсальную машину – и неограниченное количество виртуальных машин в придачу к ней, – и установить его в лифт. Установка предполагает подключение всех преобразователей входящих сигналов, включая сигналы кнопок, вмонтированных в пол весов, измеряющих общую массу пассажиров, и других структурных элементов лифта, и привязки исходящих сигналов к исполнительным механизмам (которые управляют двигателями, открывающими и закрывающими двери, поднимающими и опускающими кабину, а также обновляют информацию на дисплеях и проигрывают записи). Тадам! Машина заменила настоящего человека – даже не метафорического гомункула. И машина следует тем же правилам, что и лифтер. Неужели? На самом деле нет. Она вроде как следует тем же правилам. Она занимает промежуточное положение между человеком, который запоминает – то есть в буквальном смысле моделирует в своей голове – правила, диктующие его поведение, чтобы снова и снова сверяться с ними, и планетами, которые “подчиняются” уравнениям, изящно описывающим их орбиты. Мы, люди, тоже часто занимаем промежуточное положение, когда усваиваем или доводим до автоматизма следование ряду четких правил, которые впоследствии можем отбросить и даже забыть (“жи” и “ши” пиши через “и”, “ча” и “ща” пиши через “а”). Порой мы также вроде как следуем правилам, которые еще не выведены окончательно, например некоторым правилам русской грамматики, по-прежнему сбивающим с толку лингвистов. Скажем, лингвисты сегодня тщетно пытаются написать учебник хорошего разговорного русского языка, в то время как любой десятилетний носитель русского каким-то образом умудряется установить и избавить от ошибок довольно хорошую версию объектного кода для своей РВМ
[33]!
Прежде чем пойти дальше, обратите внимание, что комментарии к исходному коду, помогающие программистам отслеживать назначение всех взаимосвязанных элементов программного обеспечения, не имеют аналогов в процессе создания аппаратного обеспечения, прошивки и программного обеспечения нашего мозга. Когда естественный отбор устанавливает в наш мозг различные функциональные структуры, они напоминают лишенный комментариев код: у них есть четкое назначение, но это назначение не объясняется никакими ярлыками. Впрочем, если бы они и были, мозг все равно был бы не в состоянии их понять. (Подробнее об этом в главе 40.) Без комментариев и объяснений остаются и изменения, происходящие в процессе развития и обучения. Подобно лингвистам, мы отчаянно бьемся в попытках провести обратное конструирование всех этих “правил” и “процедур”. Эта задача даже сложнее обратного конструирования объектного кода с целью восстановления исходного кода (не считая комментариев), но теоретически она выполнима.
Резюме
Веками мы наблюдали многочисленные свидетельства, что мозг – вместилище человеческой души, но до середины двадцатого века никто и представить себе не мог, как это вообще возможно. Было очевидно, что мозг состоит из множества разных органов причудливой формы, дублирующихся в левом и правом полушариях. Первые анатомы давали этим органам любопытные имена – гиппокамп (“морской конек”), миндалевидное тело, морщинистая кора, – но за что эти органы отвечали? Они ведь не переваривали пищу и не очищали кровь? Может, мозг предназначался просто для охлаждения крови, выступая своего рода радиатором, как полагал Аристотель? Отдельные части мозга соединялись нервными волокнами – может, они коммуницировали между собой? Декарт предположил, что некоторые нервные волокна подобны привязанным к колокольчику проводам: если потянуть за такой провод, на другом его конце что-то произойдет, но что именно? Звон колокольчиков не приближал понимание мозга как сознания, а других идей ни у кого не было
[34].
Затем появился Тьюринг, который, опираясь на традицию, восходящую к Бэббиджу, Паскалю, Лейбницу и другим ученым, предположил, что мозг может состоять из простых элементов, по сути своей механических (как мышеловка, звонок, замок с ключом и синапс), но если эти элементы организованы таким образом, чтобы хитро взаимодействовать друг с другом, то они смогут выполнять кое-какие разумные действия сами, без человеческого вмешательства и без наличия каких-либо духов в машине, чтобы ими управлять. Они смогут вычислять. До того как Тьюринг предложил свою идею, “компьютерами” называли тысячи людей, которых нанимали на работу в промышленность и государственный аппарат, чтобы они рассчитывали таблицы для использования, к примеру, в бизнесе, навигации, артиллерийском и банковском деле. Тьюринг предположил, что мозг подобен (живому) компьютеру – что он обрабатывает информацию, прилежно следуя огромным спискам предельно простых инструкций (вроде Инк и Деп). Как только первые теоретики когнитивной науки Алан Тьюринг и Джон фон Нейман, основоположник кибернетики Норберт Винер и основоположник теории информации Клод Шеннон, а также многие другие ученые сформулировали идею, она стала казаться очевидной – как люди не замечали этого раньше? Мозг должен получать информацию от органов чувств и обрабатывать ее, производя какие-то расчеты, пока не извлечет крупицы смысла, которые путем дальнейших расчетов будут категоризированы и сохранены для дальнейшего использования при управлении телом, дающим мозгу энергию и защищенное вместилище. Ключевой инновацией концепции Тьюринга был отказ от неудобного элемента, использовавшегося во всех ранних представлениях об обработке информации, а именно от переломных моментов, которые требовали наличия клерка, переводчика или библиотекаря – иными словами, некоторого узла, распознающего смысл сигналов. Тьюринг полагал, что, с одной стороны, от этого никуда не деться: разумные процессы всегда будут требовать выбора того или иного варианта действий на основании распознавания различий в сигналах. Но он сумел снизить уровень этого понимания до минимума, заявив о существовании условного перехода – бездумного процесса, посредством которого устройство решает (вроде как решает) идти налево, а не направо, потому что оно воспринимает (вроде как воспринимает) 1, а не 0, А, а не B, x, а не Y. Вкупе с арифметикой этого было более чем достаточно. Имея все это в своем распоряжении, можно создавать устройства, характеризующиеся любой степенью способности к распознаванию, устанавливая виртуальные машины на виртуальные машины на виртуальных машинах – если выражаться современным языком. Эта концепция остается привлекательной более пятидесяти лет, однако – как мы уже начали замечать – все не так уж просто. Если мозг – это компьютер, то он не слишком похож на компьютеры, которые мы используем каждый день. Нам стоит помнить о фундаментальных характеристиках компьютеров, чтобы иметь возможность размышлять о более реалистичных в биологическом отношении альтернативах стереотипным, практичным архитектурам.