у тему и пишу здесь о ней лишь как об интересной диковинке. Если бы в то время существовал интернет, я наверняка загрузил бы в сеть музыку умывающихся мух, и под нее теперь можно было бы танцевать. Но никакого интернета тогда не было, и теперь эти “Мелодии двукрылых”, боюсь, утрачены навсегда, как “Потерянный аккорд”.
Я не стану утверждать, будто наше исследование мух, как и предшествовавшие ему другие исследования, посвященные принятию решений у животных, многое говорит нам о реальных механизмах работы мозга. Я считаю эти исследования скорее методологическими, но проливающими свет не только на методы изучения поведения животных, но и на методы работы мышления. Мы с Мэриан провели и целый ряд других работ, посвященных мухам, но все они опубликованы, поэтому здесь я не буду о них рассказывать. Стоит, однако, отметить, что я использовал их результаты в своем следующем большом проекте – теоретической работе “Иерархическая организация как один из возможных базовых принципов экологии”.
Тем временем в 1973 году Нико Тинберген получил Нобелевскую премию по физиологии и медицине (которую разделил с Конрадом Лоренцем, основавшим вместе с Нико науку этологию, и Карлом фон Фришем, расшифровавшим легендарный танец пчел[105]). Всего год спустя, в 1974-м, Нико исполнилось 67 – возраст, в котором сотрудники Оксфорда обязаны уходить на пенсию, и администрация университета решила назначить ему преемника на должность ридера по поведению животных. Когда-то должность такого ранга была в Оксфорде в большой чести, но теперь это звание, кажется, вышло из употребления, оттого что понятие “профессор” решили привести в соответствие с американской практикой, трактующей его шире (в связи с чем американских профессоров у нас довольно пренебрежительно называли “микки-маусовскими профессорами”). Меня вполне устраивала моя работа лектора, поэтому на должность Нико я не претендовал.
По мнению большинства, на место Нико естественнее всего было назначить Майка Каллена. Возможно, именно поэтому – чтобы явно открыть новую страницу в истории отделения зоологии, – бóльшая часть членов комиссии, принимавшей соответствующее решение, проголосовала за Дэвида Мак-Фарленда. Как писал Ханс Круук в уже упоминавшейся биографии Тинбергена, “трудно было найти человека, более непохожего на Нико”. Хотя во многих кругах это назначение встретили в штыки, в каком-то смысле оно было удачным, по крайней мере если исходить из того, что новое назначение должно открывать новые перспективы. Научная деятельность, которой занимался Дэвид, была в высшей степени теоретического и даже математического свойства. Он активно использовал в ней свою математическую интуицию и окружил себя профессиональными математиками и инженерами, умевшими работать с формулами и расчетами. Разговоры в кофейной комнате переключились с чаек и колюшек на системы управления с обратной связью и компьютерные модели.
Пожалуй, эти изменения отражали в миниатюре происходящее в то время в биологии в целом. Я был молод, еще не утвердился на собственном пути и действовал по принципу: “Не можешь победить – присоединяйся”. Поэтому я стал учиться теории управления у инженеров и математиков, среди которых теперь оказался. А ведь лучший способ чему-либо научиться – заняться этим на практике. Поэтому я вернулся к своей страсти (или вредной привычке) – к программированию и написал для цифрового компьютера (“моего собственного” PDP-8) программу, которая позволяла ему вести себя как аналоговый компьютер. Для этого я разработал еще один язык программирования, который назвал SysGen.
В отличие от выполняемых последовательно команд обычных языков программирования, таких как Фортран, команды языка SysGen выполнялись “одновременно” (на самом деле, разумеется, не одновременно, потому что в основе работы любого цифрового компьютера лежит последовательное выполнение операций, но записать такие команды можно было в любом порядке). Работая над программой-интерпретатором SysGen Interpreter, я ставил перед собой задачу заставить цифровой компьютер вести себя так, как если бы он выполнял операции одновременно, то есть создать виртуальный аналоговый компьютер. Результаты работы при этом отображались, как и положено аналоговому компьютеру, в виде набора кривых на экране осциллографа.
Не знаю, насколько практичным был SysGen, но создание этого языка и написание для него программы-интерпретатора, несомненно, помогли мне разобраться не только в теории управления, но и в интегральном исчислении и позволили намного лучше понять суть интегрирования. Я помнил, что мой дедушка по материнской линии рекомендовал мне книгу “Математический анализ в доступном изложении” Сильвануса Томпсона (излюбленные слова которого – “Что может один дурак, может и другой” – я уже цитировал). В этой книге Томпсон начинает объяснение интегрирования с еще одной запомнившейся мне фразы: “Итак, давайте не будем терять времени и немедленно научимся интегрировать”. На уроках Эрни Дау я разобрался в интегрировании лишь отчасти, а работа над языком SysGen позволила мне вникнуть в этот предмет на практике, что всегда способствует пониманию.
Исходя из похожих соображений, я попытался на практике разобраться и в лингвистических теориях школы Ноама Хомского, что оказалось намного проще и отняло у меня намного меньше времени. Для этого я написал компьютерную программу, генерирующую случайные предложения – быть может, не особенно осмысленные, но всегда грамматически корректные. Сделать это нетрудно (что само по себе говорит о многом), если использовать язык программирования, позволяющий процедурам (подпрограммам) рекурсивно обращаться к самим себе. К таким языкам относился Алгол-60, ставший к тому времени моим любимым языком программирования под влиянием Роджера Эбботта, блестяще преуспевшего в написании программы-компилятора, которая позволяла использовать Алгол на компьютере PDP-8. Подпрограммы Алгола могли обращаться к самим себе, в отличие от подпрограмм современной версии разработанного корпорацией IBM Фортрана – этого традиционного орудия программистов, работающих в естественных науках. По поводу Фортрана мне вспоминается удачная программистская шутка, которую я услышал от Терри Винограда – одного из первопроходцев в области искусственного интеллекта. В семидесятых годах я как-то раз был в Кембридже на интереснейшей конференции, посвященной последним успехам программирования в этой области. Самым почетным гостем той конференции был именно Виноград, и в ходе своего доклада он с отменным сарказмом заметил: “Хотя, быть может, вы из тех, кто говорит: «Фортран устраивал моего дедушку, устроит и меня»”.
Пользуясь языком программирования, позволяющим процедурам рекурсивно обращаться к самим себе, очень легко – просто загляденье как – написать программу, которая будет генерировать грамматически корректные предложения. В написанной мною программе процедуры назывались NounPhrase (ГруппаСуществительного), AdjectivalPhrase (ГруппаПрилагательного), PrepositionalClause (ПредложнаяГруппа), RelativeClause (ОпределительноеПридаточное) и так далее, и любая из них могла обращаться к любой другой, в том числе к самой себе. Эта программа позволяла генерировать случайные предложения, такие как следующее:
(Прилагательное существительное (прилагательного существительного (которое наречно наречно глаголилось (в существительном (существительного (которое глаголилось))))) наречно глаголилось)
Если провести аккуратный грамматический разбор такого предложения (что я и сделал здесь с помощью скобок, которые компьютер не генерировал, а только подразумевал), можно убедиться, что оно грамматически корректно, хотя и мало что может нам сообщить. Оно синтаксически наполнено, но семантически пусто. Компьютер может без труда наполнить его семантикой (если не смыслом), заменив слова “существительное”, “прилагательное” и так далее конкретными случайно выбранными существительными, прилагательными и другими частями речи. Это могут быть, например, слова, связанные с определенной темой, такой как порнография – или орнитология. Можно также использовать словарь пришедшего из Франции напыщенного метабреда, как впоследствии сделал Эндрю Булхак, когда написал свою уморительную программу “Генератор постмодернизма”, одно из произведений которой я цитировал в “Капеллане дьявола”:
Исследуя теорию капитализма, мы сталкиваемся с выбором: отвергнуть неотекстуальный материализм либо заключить, что социум имеет объективную ценность. Если справедливы положения диалектического деситуационизма, то необходимо выбрать между хабермасовским дискурсом и подтекстовой парадигмой контекста. Можно сказать, что субъект контекстуализируется в текстуальный национализм, который включает истину как реальность. В некотором смысле предпосылка подтекстовой парадигмы контекста гласит, что реальность происходит из коллективного бессознательного.
Смысла в этой случайным образом генерируемой чуши примерно столько же, сколько во множестве журналов, посвященных метабредням “теории литературы”, и программа Булхака способна генерировать в буквальном смысле бесконечное их количество.
Примерно в тот же период я занимался еще двумя проектами, связанными с программированием. Результаты этих проектов не нашли непосредственного применения на практике, но позволили мне развить навыки, пригодившиеся впоследствии. Первым было написание программы, позволяющей переводить с одного языка программирования на другой – прежде всего с Бейсика на Алгол-60. Для этих двух языков моя программа работала хорошо и, если изменить в ней некоторые детали, позволяла переводить с любого языка, использующего алгоритмы того же типа, на любой другой. Вторым проектом было написание программы STRIDUL-8, позволяющей компьютеру PDP-8 петь, как сверчок.
Я решил заняться сверчками под влиянием своего друга из Беркли нейробиолога Дэвида Бентли, а мой аспирант Тед Берк (теперь профессор в Небраске), имевший склонность к энтомологии, с энтузиазмом выбрал для своей диссертации связанную с ними тему. Дэвид любезно прислал мне яйца тихоокеанского сверчка