Затем мы могли бы проделать то же самое для пар древесных и наземных видов: {белка, крыса} {древесная лягушка, лягушка} {древесный кенгуру, кенгуру}; затем то же самое – для видов подземных и надземных: {крот, землеройка} {медведка, сверчок} {слепыш, крыса} и так далее. В случае с водными и сухопутными животными можно ожидать, что одним из ответов будут перепончатые лапы, и это довольно очевидно. Но я бы надеялся, что компьютер обнаружит и менее очевидные ответы, скрытые в глубинах организмов животных. Например, что-то в химическом составе крови. И, возвращаясь к “Генетической книге мертвых”, мы могли бы проделать то же упражнение с генами. Есть ли гены, связывающие одних водных животных с другими, хоть они и не близкие родственники? Обычно мы ожидаем, что генетические сопоставления сообщат нам о том, какие животные близкородственны друг другу. Морские и сухопутные игуаны, будучи близкими родственниками, наверняка окажутся очень похожими по большинству своих генов. Но я бы надеялся и на обратное: найти горстку генов, которые объединяют морских игуан с другими морскими животными и отличают их от сухопутных игуан и других сухопутных животных: может быть, например, ген, связанный с выведением из организма соли.
Об этом всем мы долгие годы размышляли, беседовали и спорили со студентами на консультациях, и в конце концов я придумал выражение “Генетическая книга мертвых” и предположил, что достаточно осведомленный зоолог, столкнувшись с неведомым животным, будет способен с помощью компьютера воссоздать образ жизни этого животного – точнее говоря, его предков. В частности, в генах, которые помогли предкам этого животного выжить, закодировано описание мира предков: хищники, климат, паразиты, социальные отношения – и все это можно расшифровать.
На консультациях, где мы со студентами набрасывали эти мысли, я помнил и своего учителя, Артура Кейна, и его изречение: “Животное таково как есть, потому что таким ему и нужно быть”. Когда-то, в студенчестве, я сидел в оксфордском пабе “Королевский дуб” (известном как “докторский паб”, потому что напротив располагалась старая больница Рэдклиффа) и в одиночестве ужинал, вынужден с досадой признать, яичницей с беконом. Так совпало, что Артур занимался тем же самым в том же пабе, так что мы сели вместе (признаю и это с досадой – так же встретились два “путешественника”-бизнесмена, основавшие христианское содружество “Гедеоновы братья”). Мы беседовали о таксономии и приспособлении, и в какой-то момент Артур пояснил свои рассуждения примером: белку можно описать как крысу, отдалившуюся на определенное расстояние от крысоподобного предка по “шкале древесности”. Этот образ запал мне в память и лег в основу главы в книге “Расплетая радугу” под названием “Генетическая книга мертвых”, а также в основу Музея всех возможных животных, основной темы двух глав книги “Восхождение на гору Невероятности” (см. ниже). Но музей был более прямо связан с моими опытами компьютерного моделирования, которые я начал, когда писал “Слепого часовщика”.
Эволюция в пикселях
Третья глава книги “Слепой часовщик”, “Накопление небольших изменений”, потребовала столько же времени и усилий, как все остальные десять глав вместе. А все из-за того, что я проводил недели и месяцы за написанием набора компьютерных программ, который назывался “Слепой часовщик”: программы путем искусственного отбора выращивали на экране “компьютерных биоморфов”. Слово “биоморф” я позаимствовал у своего друга Десмонда Морриса, чьи сюрреалистические картины изображают квазибиологические формы жизни: по его собственным, совершенно правдоподобным, словам, изображенные существа “эволюционируют” от холста к холсту. Картина Десмонда “Долина зарождения” стала обложкой книги “Эгоистичный ген”. На одной из выставок Десмонда я купил оригинал: его цена (750 фунтов) в точности совпадала с авансом, который мне выдало издательство “Оксфорд юниверсити пресс”, и на меня накатила блажь. Десяток лет спустя я рассказал Десмонду о “Слепом часовщике”, и название так увлекло его, что он тут же принялся за работу – одноименную картину. И эта картина (правда, она имеет больше отношения к названию, чем к содержанию книги) позже украсила обложки “Слепого часовщика” в изданиях как “Лонгмен”, так и “Пенгвин”.
Программу с компьютерными биоморфами я написал на “Паскале” – давно устаревшем языке программирования, который, в свою очередь, был прямым потомком еще более устаревшего “Алгола-60”, который я выучил в студенчестве. Я все время обращался к инструментарию
Еще я все время обращался за советами и помощью к Алану Грейфену, человеку неистощимого терпения: не то чтобы он лучше меня умел программировать на “Маке”, вовсе наоборот, – но у него были неоспоримые преимущества по части IQ. Как мог бы выразиться П. Г. Вудхауз, “по той части, что у нас выше запонки воротника, Алан непревзойден”. Или, как сказала о нем Мэриан: “У него есть эта раздражающая привычка оказываться правым”. Во время моего программистского марафона Алан как-то раз весьма заботливо заметил, что сочувствует мне: я завяз в особенно сложном коде, но забрался слишком глубоко, чтобы бросить. Звучит по-конкордовски, и в каком-то смысле так и было: бросить значило бы выкинуть всю работу, которую я уже туда вложил. Но дело было не только в этом. Меня толкала вперед биологическая интуиция, практически инстинктивное чутье; осмелюсь даже слегка гордиться этим: я, как биолог, унюхал нечто, что должно сработать. Меня гнало вперед убеждение, что из моего алгоритма для генерации биоморфов должно возникнуть нечто многообещающее – если только я справлюсь и выберусь из трясины сложного кода.
Главным была фрактальная сущность вложенной “эмбриологии” моих биоморфов: рекурсивная процедура выращивания деревьев, количественные подробности которой задавались набором из девяти чисел (а в более поздних версиях программы их было больше), которые я назвал генами. Очевидно, что изменение численных значений генов изменяло морфологию биоморфа. Но не так очевидно, что изменение часто происходило в биологически интересном направлении. Я привнес дарвинизм (но не половое размножение), “выводя” бесполым образом биоморфов-потомков от биоморфов-родителей при помощи искусственного отбора. Компьютер предлагал варианты потомков со слегка мутировавшими генами, и человек выбирал, какой потомок породит следующее поколение, – и так далее, бесконечное число раз. Численные значения генов были скрыты: подобно заводчикам скота или роз, заводчик биоморфов видел лишь последствия генетических изменений – морфологию на экране компьютера.
В мечтах я предвидел, что возникнет нечто интересное и неожиданное. Но я не смел надеяться, что мои биоморфы эволюционируют от ботаники до самой энтомологии!
Составляя программу, я никак не думал, что она сможет выдать что-нибудь кроме различных древовидных форм. Я ожидал плакучих ив, ливанских кедров, пирамидальных тополей, водорослей, в крайнем случае – оленьих рогов. Ни моя биологическая интуиция, ни мой двадцатилетний опыт программиста, ни самые дерзкие из моих фантазий – ничто не подготовило меня к тому, что я увидел на экране. Уже не помню, в какой именно момент меня осенило, что из получающейся последовательности может выйти нечто, напоминающее насекомое. Охваченный этой нелепой догадкой, я из поколения в поколение стал отбирать те биоморфы, которые были похожи на насекомых хоть сколько-нибудь больше других. Чем сильнее проступало сходство, тем меньше я верил своим глазам. <… > До сих пор не могу удержаться и не поделиться с вами тем чувством ликования, которое я испытал, когда эти изящные существа впервые возникли передо мной на экране. В голове отчетливо зазвучали торжествующие начальные аккорды из “Так говорил Заратустра” (главный мотив в фильме “Космическая одиссея 2011 года”). От волнения я не мог есть, а ночью, когда попытался заснуть, у меня перед глазами, стоило лишь закрыть их, кишели “мои” насекомые.
Существуют и продаются компьютерные игры, в которых игроку кажется, будто он блуждает по подземному лабиринту, имеющему определенную, хотя и сложную, географию, и встречает там драконов, минотавров и прочих сказочных противников. Эти чудовища не слишком разнообразны, и все они, так же как и сам лабиринт, были разработаны человеческим разумом программиста. В эволюционной игре – как компьютерной, так и реальной – у игрока (или у наблюдателя) тоже создается впечатление, что он, образно говоря, бродит по лабиринту разветвленных коридоров, но только количество возможных маршрутов практически бесконечно, а монстры, встречающиеся на пути, непредумышленны и непредсказуемы. Когда я скитался по закоулкам Страны биоморфов, мне попадались жаброногие рачки, храмы ацтеков, окна готических соборов, наскальные изображения кенгуру, а однажды – памятный, но не желающий воспроизводиться случай – вполне приемлемая карикатура на теперешнего профессора логики имени Уайкхема.
Последний абзац затрагивает один из основных биологических уроков, что я вынес из этого упражнения в программировании. Перед моим внутренним взором стояла Страна биоморфов, многомерный морфологический ландшафт, девятимерный гиперкуб, в котором скрывались все возможные биоморфы – каждый соединялся со всеми остальными плавной траекторией пошаговой эволюции. В теории (хоть и не так аккуратно, потому что количество генов не задано) мы можем представить себе всех возможных
Набор биоморфов, выведенных программой “Слепой часовщик”.
Позже Дэн Деннет плодотворно развил мою идею под названием “Менделевская библиотека”, а я подхватил ее дальше в книге “Восхождение на гору Невероятности”, в воображаемом Музее всех возможных животных:
Представьте себе музей с залами, простирающимися во все стороны, а также вверх и вниз сколько хватает глаз. В его хранилищах собраны все виды животных, которые когда-либо существовали в природе или гипотетически могли бы существовать. Каждый вид помещается рядом с теми, на кого он больше всего похож. Направление одной музейной галереи – это одно измерение, отвечающее тому или иному направлению, в котором может проявляться изменчивость животных. <… > Галереи должны пересекаться всевозможными способами, и не только в привычном для нас и нашего восприятия трехмерном пространстве.
В книге “Восхождение на гору Невероятности” я говорил об этом музее на особом примере раковин моллюсков. Довольно давно было понятно, что раковина – это (логарифмически) расширяющаяся трубка, которая растет с краю. Если не обращать внимания на форму поперечного сечения трубки (скажем, принять ее за круг), то форма любой раковины определяется всего лишь тремя числами, которые в “Восхождении на гору Невероятности” я назвал “расширение”, “червячность” и “конусность”. “Расширение” определяет, с какой скоростью трубка расширяется по мере роста, “конусность” – ее отклонение от плоскости. У типичного аммонита конусность равна нулю (он лежит в одной плоскости), а вот у раковины
Раковины, на которых видно “расширение”, “червячность” и “конусность”:
(a) высокое “расширение”:
(b) высокая “червячность”:
Чтобы написать программу, мне требовалось всего лишь заменить старую девятигенную эмбриологию биоморфов на новый модуль трехгенной эмбриологии раковин. Все прочее оставалось без изменений. И вправду, оказалось очень просто вырастить любую раковину из любой другой – просто выбирая в каждом поколении раковину, которая больше всего была похожа на конечную цель. В те времена еще не было 3D-принтеров, а то бы я мог напечатать весь свой куб. Но пришлось обойтись тем, чтобы напечатать шесть его граней на плоских листах бумаги, которыми я обклеил картонную коробку. На цветной вклейке есть фотография: Лалла держит в руках “коробку улиток”.