Глава 3
Накопление небольших изменений
Итак, живые существа столь невероятны и столь превосходно “продуманны”, что не могли возникнуть случайно. Тогда каким же образом они возникли? Ответ, по Дарвину, таков: путем постепенного, пошагового преобразования простейших первопричин; из зачаточных элементов, которые были достаточно просты для того, чтобы возникнуть случайно. Каждое очередное изменение в ходе постепенного эволюционного процесса было достаточно простым по сравнению с непосредственным предшественником и потому могло произойти спонтанно. Однако, подумав о том, каким сложным по сравнению с примитивным исходным материалом оказался конечный результат, понимаешь, что вся совокупность последовательных шагов была процессом далеко не случайным. Двигателем накопления изменений является неслучайное выживание. Задача этой главы показать, на что способен накапливающий отбор — явление, не имеющее со случайностью ничего общего.
Прогуливаясь по галечному пляжу, вы можете заметить, что галька лежит не беспорядочно. Мелкие камешки обычно группируются в виде обособленных полос, тянущихся вдоль пляжа, а более крупные — отдельно от них. Они сортировались, распределялись, отбирались. Какое-нибудь прибрежное племя могло бы удивиться такому свидетельству продуманности и упорядоченности мира и сложить миф, который объяснял бы этот феномен, скажем, волей Великого Духа, живущего на небесах, чей разум склонен к аккуратности и порядку. Мы снисходительно улыбнулись бы на такое суеверие и объяснили бы, что на самом деле порядок здесь навели слепые силы физики — в данном случае морские волны. Волнам несвойственно иметь цели и намерения, их разум не склонен к аккуратности — у них вообще нет разума. Они просто приносят энергию, которая разбрасывает гальку по пляжу, а мелкие и крупные камни по-разному реагируют на такое воздействие и потому оказываются на разном расстоянии от воды. Из беспорядка возникла малая толика порядка, и ничей разум этого не планировал.
Волны и галька образуют простую систему, автоматически генерирующую неслучайность. Таких систем в мире полным-полно. Наипростейший пример, приходящий мне в голову, — это дыра. Через дыру проходят только те предметы, которые меньше ее. Это значит, что если изначально вы располагаете неким случайным набором объектов над дырой, а также некоей силой, которая перетряхивает эти объекты случайным образом, то через некоторое время объекты выше и ниже дыры будут рассортированы отнюдь не бессистемно. Пространство под дырой будет иметь тенденцию содержать в себе объекты меньше дыры, а пространство над дырой — те объекты, которые превосходят ее по размерам. Конечно же, люди давным-давно научились извлекать выгоду из этого простого принципа генерирования неслучайности, лежащего в основе такого полезного приспособления, как сито.
Наша Солнечная система представляет собой стабильное и организованное объединение планет, комет и всяческих обломков, вращающихся вокруг Солнца, и предположительно является одной из многих подобных систем во Вселенной. Чем ближе к Солнцу находится космическое тело, тем с большей скоростью оно должно двигаться, чтобы противостоять силе гравитации и оставаться на устойчивой орбите. Для любой отдельно взятой орбиты существует только одна скорость, с которой можно лететь, не сходя с этой орбиты. Двигаясь с любой другой скоростью, тело либо умчится далеко в космос, либо перейдет на другую орбиту, либо рухнет на Солнце. Взглянув на планеты Солнечной системы, мы с вами увидим, что — ну надо же! — каждая из них перемещается вокруг Солнца с той самой скоростью, которая необходима, чтобы оставаться на орбите. Благословенное чудо дальновидного замысла? Нет, просто еще одно природное “сито”. Очевидно, что все вращающиеся вокруг Солнца планеты, которые мы наблюдаем, должны двигаться по своим орбитам именно с нужной скоростью, иначе бы мы их там не видели, поскольку их бы там не было! Но точно так же очевидно и то, что в этом нет никакого доказательства сознательного замысла. Перед нами просто еще одна разновидность сита.
Подобное примитивное отсеивание само по себе ни в коей мере не является достаточным для объяснения той высочайшей степени упорядоченности, какую мы видим в живых организмах. Давайте вспомним аналогию с кодовым замком. Тот уровень неслучайности, который может быть достигнут простым отсеиванием, можно с натяжкой приравнять к открытию кодового замка с кодом из одной цифры — такой легко может быть открыт исключительно наудачу. То же, что мы можем наблюдать в живых системах, аналогично громадному кодовому замку с практически бесконечным числом угадываемых цифр. Произвести биологическую молекулу типа гемоглобина (красного кровяного пигмента) путем простого “просеивания” — это было бы равносильно тому, чтобы взять все аминокислотные “строительные блоки” для гемоглобина, встряхнуть их и надеяться, что молекула гемоглобина соберется сама собой. Везение, которое тут потребуется, долж но быть просто невообразимым — вот почему Айзек Азимов и прочие так любят приводить этот пример в качестве убойного аргумента.
Молекула гемоглобина состоит из четырех аминокислотных цепочек, переплетенных между собой. Возьмем только одну из них. Она образована 146 аминокислотами. В живых организмах обычно встречается 20 разных типов аминокислот. Число способов, которыми можно соединить 20 различных элементов в цепь длиной в 146 звеньев, невероятно велико; Азимов назвал его “гемоглобиновым числом”. Его несложно подсчитать, но вот вообразить затруднительно. Первым звеном из 146 может оказаться любая из 20 допустимых аминокислот. Вторым тоже. Следовательно, для цепочек, состоящих из двух звеньев, количество возможных вариантов равняется 20 × 20, то есть 400. Число возможных типов цепочки из трех звеньев будет 20 × 20 × 20, что равняется 8000. Чтобы узнать, сколько может быть построено различных цепочек из 146 звеньев, надо 146 раз помножить двадцатку саму на себя. Полученное число будет ошеломляюще громадным. Миллион — это единица с шестью нулями. Миллиард (1000 миллионов) — это единица с девятью нулями. А искомое нами число — “гемоглобиновое число” — это (приблизительно) единица со 190 нулями после нее! И только один из этого множества вариантов — наш гемоглобин. Вот сколь ничтожен шанс получить его благодаря удачному стечению обстоятельств. А ведь молекула гемоглобина — это лишь крохотная частица сложнейшего устройства. Совершенно очевидно, что само по себе простое отсеивание даже близко не в состоянии порождать ту степень упорядоченности, какую мы видим в живых организмах. Отсеивание — важный фактор при формировании сложной организации живого, но это далеко не все, что требуется. Нужно что-то еще. Чтобы объяснить, что же именно, мне необходимо провести разграничение между “одноступенчатым” и “накапливающим” отбором. Все те примитивные разновидности сита, которые мы пока что рассматривали в этой главе, представляют собой примеры одноступенчатого отбора. А живые организмы являются результатом накапливающего отбора.
Принципиальное различие между двумя этими видами отбора состоит в следующем. При одноступенчатом отборе отбираемые или сортируемые объекты — будь то камешки на пляже или что-то другое — отбираются раз и навсегда. А при отборе накапливающем они “размножаются” — ну или каким-то иным способом результаты одного отсеивания оказываются материалом для другого, следующего отсеивания, результаты которого опять “проходят через сито”, и так далее до бесконечности. Объекты подвергаются отбору или систематизации в течение многих следующих друг за другом “поколений”. Итоги отбора в одном поколении являются отправной точкой для отбора в следующем поколении, и так много поколений подряд. Использовать тут слова “размножаться” и “поколение”, обычно применимые к живым организмам, вполне естественно, ведь живые организмы — это самый типичный пример объектов, участвующих в процессе накапливающего отбора. В реальности они могут оказаться даже единственным таким примером, но пока я предпочел бы воздержаться от категоричных заявлений.
Порой игра ветра придает облакам форму легкоузнаваемых предметов. Много раз публиковалась фотография, сделанная одним пилотом-любителем: нечто похожее на глядящий с неба лик Иисуса. Все мы видели облака, которые были на что-нибудь похожи, например на морского конька или на улыбающуюся рожицу. Эти изображения возникают путем одноступенчатого отбора — другими словами, благодаря однократному совпадению, — и потому большого впечатления они не производят. Сходство знаков зодиака с животными, в честь которых они были названы, — Скорпион, Лев и т. п. — не более интересно, чем предсказания астрологов. Оно не ошеломляет нас в той же степени, что и биологические адаптации, возникающие в результате накапливающего отбора. Увидев, сколь схожа листовидка с листом, или встретив богомола, выглядящего как соцветие из розовых цветочков, мы описываем эти явления как необычайные, поразительные и захватывающие дух. А если облако похоже на хорька, то для нас это разве что слегка занятно и едва ли стоит того, чтобы обращать внимание собеседника. Более того, мы вполне можем изменить свое мнение насчет того, на что это облако больше всего похоже.
ГАМЛЕТ. Видите вы вон то облако в форме верблюда?
ПОЛОНИЙ. Ей-богу, вижу, и действительно, ни дать ни взять верблюд.
ГАМЛЕТ. По-моему, оно смахивает на хорька.
ПОЛОНИЙ. Правильно: спинка хорьковая.
ГАМЛЕТ. Или как у кита.
ПОЛОНИЙ. Совершенно как у кита.
Не знаю, кто именно первым обратил наше внимание на то, что обезьяна, бессмысленно лупящая по пишущей машинке, смогла бы, имей она достаточно времени, напечатать полное собрание сочинений Шекспира. Ключевая фраза тут, разумеется, “имей она достаточно времени”.
Давайте слегка облегчим задачу нашей обезьяне. Пусть ей надо будет напечатать не полное собрание сочинений, а всего лишь коротенькое предложение Methinks it is like a weasel (“По-моему, оно смахивает на хорька”), и, чтобы облегчить задачу еще больше, мы дадим ей для этого упрощенную клавиатуру, содержащую только 26 букв (заглавных) и клавишу пробела. Сколько же времени на это потребуется?
В выбранном предложении 28 знаков. Давайте будем считать, что обезьяна как бы делает серию дискретных “попыток”, каждая из которых состоит из 28 ударов по клавиатуре. Если она правильно набирает нужную фразу — эксперимент окончен. Если нет — мы даем ей новую “попытку” 28 раз нажать на клавиши. Я не знаком ни с одной обезьяной, но, к счастью, моя 11-месячная дочь представляет собой хорошо зарекомендовавший себя в деле генератор беспорядка, и она с готовностью (даже, может быть, излишней) согласилась взять на себя роль обезьянки-машинистки. Вот что она набрала на компьютере:
UMMK JK CDZZ F ZD DSDSKSM
S SS FMCV PU I DDRGLKDXRRDO
RDTE QDWFDVIOY UDSKZWDCCVYT
H CHVY NMGNBAYTDFCCVD D
RCDFYYYRM N DFSKD LD K WDWK
JJKAUIZMZI UXDKIDISFUMDKUDXI
Однако у нее много дел и без того, так что я был вынужден запрограммировать компьютер так, чтобы он сам имитировал печатающего младенца или обезьяну:
WDLDMNLTDTJBKWIRZREZLMQCO P
Y YVMQKZPGJXWVHGLAWFVCHQYOPY
MWR SWTNUXMLCDLEUBXTQHNZVJQF
FU OVAODVIKDGXDEKYVMOGGS VT
HZQZDSFZIHIVPHZPETPWVOVPMZGF
GEWRGZRPBCTPGQMCKHFDBGW ZCCF
И так далее, и тому подобное. Вычислить, через какое время имеет смысл ожидать, что компьютер (или младенец, или обезьяна) случайно наберет METHINKS IT IS LIKE A WEASEL, нетрудно. Давайте прикинем общее число возможных фраз нужной нам длины, которые обезьяна, или младенец, или компьютер могли бы случайно набрать. Принцип расчета будет тот же самый, что и для гемоглобина, и результат получится таким же огромным. На месте первой буквы может оказаться любая из имеющихся 27 (давайте считать пробел тоже “буквой”). Таким образом, шансы, что обезьяна в качестве первой буквы поставит нужную нам M, составляют 1 из 27. Вероятность того, что правильными окажутся первые две буквы ME, будет равна вероятности правильного попадания на вторую букву E (1 из 27) при условии, что первая буква, M, уже оказалась верной — то есть 1/27 × 1/27 или 1/729. Вероятность получить первое слово, METHINKS, соответствует 1/27 для каждой из восьми составляющих его букв, иначе говоря, 1/27 × 1/27 × 1/27 … и т. д., всего восемь раз, то есть 1/27 в 8-й степени. Вероятность же написать правильно всю фразу из 28 знаков составляет 1/27 в 28-й степени, что означает число 1/27, помноженное само на себя 28 раз. Это очень маленькие шансы, где-то 1 к 10 000 миллионов миллионов миллионов миллионов миллионов миллионов. Ждать нужной фразы придется, мягко выражаясь, очень-очень долго. Что уж говорить о полном собрании сочинений.
Вот и все, на что способен одноступенчатый отбор случайных изменений. А как насчет накапливающего отбора, намного ли он будет эффективнее? Очень намного — возможно, больше, чем мы в состоянии вообразить, хотя если подумать, то это покажется почти что очевидным. Мы снова воспользуемся нашей компьютерной обезьянкой, но внесем в программу одно существенное изменение. Как и в предыдущий раз, компьютер начинает со случайной 28-буквенной последовательности:
WDLDMNLTDTJBKWIRZREZLMQCOP
А затем приступает к “селекции”. Он воспроизводит эту бессмысленную фразу несколько раз подряд, но с определенной вероятностью случайной ошибки — “мутации” — при копировании. Далее компьютер изучает получившиеся бессмысленные фразы — “потомство” исходной — и выбирает среди них ту, которая хоть сколько-нибудь больше других походит на искомое METHINKS IT IS LIKE A WEASEL. В данном случае среди следующего “поколения” победительницей оказалась такая фраза:
WDLTMNLTDTJBSWIRZREZLMQCO P
Не то чтобы явное улучшение! Но алгоритм продолжает выполняться, теперь уже эта фраза “производит” мутантное “потомство”, из которого выбирается новый “победитель”. Десять поколений спустя фраза, оставляемая “на племя”, выглядела так:
MDLDMNLS ITJISWHRZREZ MECS P
А по прошествии 20 поколений она была такой:
MELDINLS IT ISWPRKE Z WECSEL
К этому времени предубежденному взгляду уже начинает мерещиться сходство с нужной фразой. Спустя 30 поколений никаких сомнений не остается:
METHINGS IT ISWLIKE B WECSEL
Сороковое поколение отделяет от цели всего одна буква:
METHINKS IT IS LIKE I WEASEL
Цель была окончательно достигнута в 43-м поколении. Второй заход компьютер начал с фразы:
Y YVMQKZPFJXWVHGLAWFVCHQXYOPY, —
прошел через следующие промежуточные стадии (я снова привожу только каждое десятое поколение):
Y YVMQKSPFTXWSHLIKEFV HQYSPY
YETHINKSPITXISHLIKEFA WQYSEY
METHINKS IT ISSLIKE A WEFSEY
METHINKS IT ISBLIKE A WEASES
METHINKS IT ISJLIKE A WEASEO
METHINKS IT IS LIKE A WEASEP —
и достиг конечной фразы в поколении 64. В третий раз он начал так:
GEWRGZRPBCTPGQMCKHFDBGW ZCCF —
и пришел к METHINKS IT IS LIKE A WEASEL за 41 поколение направленной “селекции”.
Какое именно время потребовалось компьютеру для достижения цели — не имеет значения. Если вам интересно, в первый раз он справился с задачей, пока я выходил пообедать. То есть где-то за полчаса. (Читатели, увлекающиеся компьютерами, сочтут это неоправданно долгим. Причина в том, что программа была написана на бейсике — компьютерной разновидности детского лепета. Когда я переписал ее на паскале, выполнение заняло 11 секунд.) В таких делах компьютеры несколько проворнее обезьян, но на самом деле разница не принципиальна. Что действительно существенно, так это разница между сроком, потребовавшимся для накапливающего отбора, и тем промежутком времени, который потребовался бы для достижения той же самой цели тому же самому компьютеру, работающему точно с такой же скоростью, но методом одноступенчатого отбора: около миллиона миллионов миллионов миллионов миллионов лет. Это более чем в миллион миллионов миллионов раз больше сегодняшнего возраста Вселенной. Лучше даже будет сказать так: по сравнению с тем временем, которое понадобится обезьяне или компьютеру, чтобы случайно набрать нужную фразу, нынешний возраст вселенной — пренебрежимо малая величина, столь малая, что наверняка попадает в пределы погрешности, допускаемой нами в наших приблизительных вычислениях. А компьютеру, работающему тоже наугад, но при ограничивающем условии накапливающего отбора, для выполнения той же задачи потребуется срок, вполне доступный простому человеческому пониманию: от 11 секунд до времени, необходимого, чтобы пообедать.
Итак, отличие накапливающего отбора (когда любое усовершенствование, каким бы незначительным оно ни было, служит фундаментом для дальнейшего строительства) от одноступенчатого (когда каждая новая “попытка” начинается “с чистого листа”) очень велико. Если бы эволюционный прогресс опирался на одноступенчатый отбор, это вряд ли привело бы хоть к чему-нибудь. Если бы, однако, слепым силам природы удалось каким угодно образом создать условия, благоприятные для накапливающего отбора, то последствия оказались бы необыкновенными и изумительными. Собственно говоря, именно это произошло на нашей планете, а сами мы принадлежим к числу самых недавних из таких последствий — и едва ли не самых необыкновенных и изумительных.
Забавно, что расчеты наподобие того, который я привел для “гемоглобинового числа”, все еще используются в качестве аргументов против дарвиновской теории. По-видимому, те, кто так делает, будучи зачастую квалифицированными специалистами в своей области — астрономами или кем угодно еще, искренне думают, что дарвинизм объясняет устройство живых организмов одной лишь случайностью, пресловутым “одноступенчатым отбором”. Убеждение, будто дарвиновская эволюция “случайна”, не просто неверно. Оно диаметрально противоположно истине. В дарвиновском рецепте используется лишь крупинка случайности, а основной ингредиент — это накапливающий отбор, который по сути своей неслучаен.
Облака не способны участвовать в процессе накапливающего отбора. Не существует такого механизма, посредством которого они могли бы производить выводки подобных себе дочерних облаков. Если бы такой механизм был, если бы облако, похожее на хорька или на верблюда, могло стать родоначальником клана облаков примерно той же формы, тогда у накапливающего отбора появился бы шанс приняться за дело. Разумеется, облака порой распадаются на части и образуют “дочерние” облака, но для накапливающего отбора этого недостаточно. Необходимо также, чтобы “потомство” любого отдельно взятого облака было похоже на своего “родителя” больше, чем на любого из более далеких “предков” в “популяции”. Некоторым из философов, заинтересовавшихся в последние годы теорией естественного отбора, этот ключевой момент явно непонятен. Далее нужно, чтобы вероятность выживания облака и производства им собственных копий как-то зависела от его формы. Возможно, в некоей далекой галактике такие условия возникли и по прошествии достаточного количества миллионов лет дали начало воздушной, бестелесной форме жизни. Из этого мог бы выйти неплохой научно-фантастический роман — под названием, скажем, “Белое облачко”, — но для наших нынешних целей компьютерная модель с обезьяной и Шекспиром более наглядна.
Хотя наша модель “обезьяна/Шекспир” и годится для демонстрации отличий одноступенчатого отбора от накапливающего, в некоторых важных отношениях она неудачна и может ввести в заблуж дение. Например, в каждом поколении направленной “селекции” мутантное “потомство” оценивалось по критерию соответствия далекому идеалу — фразе METHINKS IT IS LIKE A WEASEL. В жизни же все иначе. У эволюции нет долгосрочных стремлений. Сколько бы человеческое тщеславие ни лелеяло абсурдную идею, будто наш вид и есть конечная цель творения, не существует ни отдаленной цели, ни окончательного совершенства, которое могло бы послужить мерилом для отбора. В реальной жизни критерии для отбора всегда краткосрочны — это либо простое выживание, либо, в более общем смысле, репродуктивный успех. Если по прошествии геологических эпох свершается то, что задним числом выглядит как движение к некоей далекой цели, это всегда побочный результат сиюминутного отбора, действовавшего в течение многих поколений. “Часовщик”, коим является накапливающий естественный отбор, не видит будущего и не ставит перед собой никаких долгосрочных задач.
Принимая это во внимание, мы можем изменить нашу компьютерную модель. Также мы можем приблизить ее к реальности и в других аспектах. Буквы и слова — это проявления сугубо человеческой природы, так что лучше пускай наш компьютер рисует картинки. Возможно, нам даже удастся увидеть, как изображения на экране благодаря накапливающему отбору мутантных форм приобретают очертания, напоминающие животных. Мы не будем предрешать исход дела, вводя в программу изображения животных в качестве стартового материала. Нам хотелось бы, чтобы они возникли сами и исключительно в результате накапливающего отбора случайных мутаций.
В реальной жизни внешний вид животного возникает в процессе эмбрионального развития. Эволюция происходит потому, что в ряду сменяющих друг друга поколений эмбриональное развитие слегка варьирует. Эти небольшие отклонения появляются вследствие изменений в генах, контролирующих развитие (мутации — та самая необходимая крупица случайности, о которой я упоминал). Следовательно, в нашей компьютерной модели должно быть что-то, эквивалентное эмбриональному развитию, и что-то, эквивалентное способным к мутированию генам. Существует немало способов сделать так, чтобы компьютерная модель удовлетворяла этим требованиям. Я выбрал один из них и написал соответствующую программу. А теперь я расскажу про эту компьютерную модель, так как считаю ее очень показательной. Если вы ничего не знаете о компьютерах, просто запомните, что это такие машины, которые делают в точности то, что им говоришь, а результат нередко оказывается неожиданным. Перечень инструкций, отдаваемых компьютеру, называется программой (я пишу program, как это принято в Америке и как рекомендует Оксфордский словарь; альтернативное написание programme, распространенное в Британии, кажется мне офранцуженным и неестественным).
Развитие эмбриона — процесс слишком замысловатый, чтобы можно было реалистично сымитировать его на маленьком компьютере. Поэтому нужно придумать некий упрощенный аналог: найти такое простое правило вычерчивания рисунков, которому компьютер мог бы легко подчиняться и которое могло бы варьировать под влиянием “генов”. Какое же правило мы выберем? В учебниках по информатике часто демонстрируются возможности так называемого рекурсивного программирования на примере простого алгоритма роста деревьев. Компьютер начинает с того, что чертит одиночную вертикальную линию. Затем эта линия разветвляется на две. Затем каждая из получившихся ветвей разделяется на две ветви второго порядка. Затем каждая из этих новых ветвей разделяется на ветви третьего порядка и т. д. Такое программирование называется рекурсивным, потому что в каждой точке всего растущего дерева применяется одно и то же правило (в данном случае правило ветвления). Каким бы большим дерево ни вырастало, каждая его веточка разделяется снова и снова в соответствии все с тем же правилом.
“Глубиной” рекурсии называется такое число веточек n-го порядка, которому позволяется вырасти, прежде чем процесс будет остановлен. На рисунке 2 показано, что будет, если задать компьютеру один и тот же алгоритм черчения, но с разными значениями глубины рекурсии. При высоких степенях рекурсии получается довольно запутанный узор, однако, как ясно видно из рис. 2, достигается он за счет того же самого простейшего правила ветвления. Несомненно, это именно то, что происходит и у настоящих деревьев. Система ветвей дуба или яблони выглядит сложной, но в действительности таковой не является. Правило, лежащее в основе процесса ветвления, элементарно. Просто оно снова и снова применяется в каждой растущей верхушке каждой веточки: ветви дают начало ветвям второго порядка, каждая из которых, в свою очередь, ветвям третьего порядка и так далее. Вот почему все дерево становится в итоге большим и ветвистым.
Рекурсивная бифуркация является также хорошей метафорой эмбрионального развития как растений, так и животных. Я не хочу сказать, будто зародыши животных похожи на ветвящиеся деревья. Они на них не похожи. Но любой эмбрион растет благодаря делению клеток. Каждая клетка всегда делится на две дочерние. А гены в конечном счете всегда осуществляют свои воздействия на организм посредством локального влияния на клетки, которые раздваиваются и раздваиваются. Гены животного ни в коем случае не являются грандиозным чертежом, подробным планом строения целого организма. Как мы дальше увидим, они похожи скорее на рецепт, нежели на чертеж, и более того, на рецепт, которому следует не весь развивающийся зародыш, а каждая клетка или каждое небольшое скопление делящихся клеток. Я не отрицаю того, что любой эмбрион, а впоследствии и взрослая особь имеет некое целостное строение. Но возникает это крупномасштабное строение за счет множества мелких локальных воздействий на клеточном уровне, происходящих повсюду в развивающемся организме. И в первую очередь местные воздействия сказываются на удвоении клеток — то есть на некоей разновидности ветвления. Именно регулируя такие локальные события, гены в конечном итоге влияют и на строение взрослого организма.
Итак, простое правило ветвления выглядит как многообещающий аналог эмбрионального развития. Что ж, превращаем это правило в небольшой компьютерный алгоритм, которому даем название РАЗВИТИЕ, чтобы затем внедрить его в более масштабную программу ЭВОЛЮЦИЯ. При работе над этой большой программой прежде всего следует задуматься о генах.
Рис. 2
Какого рода “гены” могут быть представлены в нашей компьютерной модели? В реальной жизни гены делают две вещи: влияют на индивидуальное развитие и передаются следующим поколениям. У настоящих животных и растений десятки тысяч разных генов, но мы в своей компьютерной имитации скромно ограничимся девятью. Каждый ген из этой девятки будет охарактеризован в компьютере просто неким числом, которое будет называться значением гена. Какой-то отдельно взятый ген может, к примеру, иметь значение 4 или –7.
Как же эти гены будут влиять на развитие? Ну, они могут делать это множеством разных способов. Главное, чтобы они вносили в алгоритм РАЗВИТИЕ какие-то небольшие изменения количественного характера. Например, один ген мог бы влиять на угол ветвления, а другой — на длину какой-нибудь из веточек. Еще одна возможная задача для генов, которая сразу же приходит в голову, — менять глубину рекурсии, число последовательных ветвлений. Ответственным за этот эффект я назначил ген номер 9. Таким образом, вы можете рассматривать рис. 2 как изображение семи близкородственных организмов, идентичных друг другу во всем, за исключением гена 9. Не буду вдаваться в подробности того, что именно делает каждый из восьми других генов. Представление о том, какого рода воздействия они производят, вы можете получить, изучив рис. 3. В центре расположено исходное дерево — одно из тех, что изображены на рис. 2. Вокруг него располагается еще восемь. Они точно такие же, как и то, которое в центре, но только у каждого из них был изменен — “мутировал” — какой-то из этих восьми генов. Например, картинка справа от центрального дерева показывает нам, что происходит, когда ген 5 мутирует и к его значению прибавляется 1. Будь на странице больше места, я бы расположил вокруг центрального дерева кольцо из 18 мутантов. Почему именно из 18? Потому что у нас есть девять генов, и каждый из них может мутировать в сторону как “повышения” (когда к его значению прибавляется 1), так и “понижения” (когда из его значения вычитается 1). Следовательно, 18 изображений хватило бы для того, чтобы показать всех мутантов, каких можно получить из одного центрального дерева путем единичного преобразования.
Рис. 3
У каждого из этих деревьев имеется своя собственная, уникальная “генетическая формула” — численные значения всех девяти генов. Я не стал выписывать эти генетические формулы здесь, так как сами по себе они ничего вам не скажут. Это же, кстати, справедливо и для настоящих генов. Гены начинают значить что-либо, только когда в ходе белкового синтеза преобразуются в предписания для развивающегося зародыша. То же и в нашей компьютерной модели: численные значения девяти генов обретают смысл, только будучи переведенными в указания по росту древовидного узора.
Но о работе каждого конкретного гена можно получить представление, сравнивая два организма, о которых известно, что они различаются только в этом гене. Сравните, например, исходное дерево в центре рисунка с теми, что расположены по обе стороны от него, и вы получите некоторое представление о том, что делает ген номер 5.
Ровно тем же самым занимаются и генетики в реальной жизни. Обычно генетики не знают, какими путями гены оказывают свое воздействие на эмбрионы. Не знают они и полной генетической формулы каждого животного. Но, сравнив два взрослых организма, различающиеся по одному-единственному гену, они могут увидеть, какое именно действие этот ген оказывает. На самом деле все несколько сложнее, поскольку эффекты генов взаимодействуют друг с другом способами более замысловатыми, чем простое сложение. Но то же самое верно и по отношению к компьютерным деревьям. Еще как верно, и на следующих рисунках мы это увидим.
Вы, вероятно, обратите внимание, что все формы, которые у нас получатся, будут двусторонне-симметричными. Это я установил такое ограничение для подпрограммы РАЗВИТИЕ — отчасти из эстетических соображений, отчасти чтобы уменьшить число необходимых генов (если бы гены не производили одно и то же зеркально отраженное действие на обе стороны вычерчиваемого дерева, нам понадобился бы отдельный набор генов для левой половины и отдельный — для правой), и еще отчасти потому, что надеялся получить картинки, напоминающие животных, а животные в большинстве своем довольно-таки симметричны. По этой же причине отныне я прекращаю называть эти создания “деревьями”, а буду говорить “организмы” или “биоморфы”. Название “биоморфа” придумал Десмонд Моррис — для существ, отдаленно напоминающих животных, с его сюрреалистических полотен. К его картинам я испытываю особенную привязанность, поскольку одна из них была воспроизведена на обложке моей первой книги. Моррис утверждает, что биоморфы “эволюционируют” в его воображении и что их эволюцию можно проследить по его картинам.
Но вернемся к нашим компьютерным биоморфам и к кругу из 18 возможных мутантов, восемь типичных представителей которых изображены на рис. 3. Поскольку каждый из них находится в одном-единственном мутационном шаге от исходной биоморфы, нам будет нетрудно рассматривать их всех как ее детей. Итак, у нас есть своего рода РАЗМНОЖЕНИЕ, которое, точно так же как и РАЗВИТИЕ, будет воплощено в простом компьютерном алгоритме — еще одном готовом “строительном блоке” для нашей большой программы ЭВОЛЮЦИЯ. Про РАЗМНОЖЕНИЕ следует сказать две вещи. Во-первых, никакого секса: размножение бесполое. Поэтому я полагаю, что биоморфы женского пола — ведь животные, размножающиеся без полового процесса (тли, например), почти всегда устроены как самки. Во-вторых, имеется ограничение для мутаций: всегда происходит только одна за раз. Выходит, что дочь отличается от своей родительницы только по одному из девяти генов. Более того, при каждой мутации к значению соответствующего родительского гена может быть добавлено только +1 или –1. Это не более чем произвольные условия, которые могли бы быть и иными без ущерба для биологического правдоподобия.
Нельзя сказать того же о другом свойстве нашей модели, отражающем один из основных принципов биологии. Форма потомка не создается непосредственно из родительской формы. Очертания каждой новой биоморфы определяются значениями ее собственных девяти генов (влияющих на величину углов, протяженность линий и т. п.), и каждый потомок получает свои девять генов от родительской девятки. В реальной жизни происходит ровно то же самое. Следующему поколению передается не тело — передаются гены, и только они. Гены влияют на эмбриональное развитие того тела, в котором находятся. Затем эти же гены либо передаются следующему поколению, либо нет. Участие в индивидуальном развитии организма никак не влияет на природу генов, однако вероятность их дальнейшей передачи может зависеть от успеха того тела, которое они помогали строить. Вот почему необходимо, чтобы в нашей компьютерной модели два этих процесса — РАЗВИТИЕ и РАЗМНОЖЕНИЕ — были отделены друг от друга, как два водонепроницаемых отсека. Перегородка, разделяющая их, абсолютно герметична за исключением того момента, когда РАЗМНОЖЕНИЕ передает РАЗВИТИЮ значения генов, чтобы те влияли на рост новой биоморфы. РАЗВИТИЕ ни в коем случае не передает гены РАЗМНОЖЕНИЮ обратно, иначе это был бы своего рода ламаркизм (см. главу 11).
Итак, мы составили два наших программных модуля, обозначенных как РАЗВИТИЕ и РАЗМНОЖЕНИЕ. РАЗМНОЖЕНИЕ занимается тем, что передает гены из поколения в поколение с определенной вероятностью мутации. В каждом отдельно взятом поколении РАЗВИТИЕ берет предоставленные РАЗМНОЖЕНИЕМ гены и преобразует их в действие по вычерчиванию фигурок, благодаря чему те появляются на экране компьютера. Настало время объединить эти два алгоритма в одну большую программу под названием ЭВОЛЮЦИЯ.
В сущности, ЭВОЛЮЦИЯ — это бесконечно повторяющееся РАЗМНОЖЕНИЕ. В каждом поколении РАЗМНОЖЕНИЕ получает гены от предыдущего поколения и передает их следующему — но с небольшими случайными изменениями, мутациями. Мутация состоит в том, что к значению какого-то случайно выбранного гена прибавляется +1 или –1. Из этого следует, что в ряду сменяющих друг друга поколений генетические отличия от исходного предка мало-помалу накапливаются и становятся очень большими. Но при всей случайности мутаций эти накапливаемые из поколения в поколение изменения не случайны. В любом отдельно взятом поколении биоморфы-потомки отличаются от своей родительницы случайным образом. Но в том, кто именно из этих потомков будет отобран, чтобы дать начало следующему поколению, случайности уже нет. Вот тут-то и начинает действовать дарвиновский отбор. Критерием для него служат не гены сами по себе, а организмы, на форму которых гены оказывают влияние в ходе РАЗВИТИЯ.
Помимо самовоспроизводства при РАЗМНОЖЕНИИ гены еще и передаются в каждом поколении подпрограмме РАЗВИТИЕ, которая вычерчивает на экране соответствующие организмы, следуя своим собственным строго установленным правилам. В каждом поколении нам показывается весь “выводок” “детенышей” (то есть биоморф следующего поколения). Все они являются мутантными дочерьми одного и того же родительского организма, и каждая отличается от него по какому-то одному гену. Такая невероятно высокая частота мутаций — свойство откровенно небиологическое. В действительности вероятность того, что ген мутирует, составляет зачастую меньше единицы на миллион. Причина, почему в программу был заложен такой высокий уровень мутаций, заключается в том, что все это разворачивающееся на экране компьютера действо предназначалось для человеческих глаз. Ни у какого человека не хватит терпения дожидаться одной мутации в течение миллионов поколений!
Человеческий глаз вообще сыграет в этой истории важную роль. Он будет осуществлять отбор — рассматривать всех потомков в выводке и оставлять одного на разведение. Выбранный таким образом организм даст начало следующему поколению, и теперь уже его мутантные детеныши будут все разом представлены на экране. Человеческий глаз выполняет здесь абсолютно ту же функцию, что и при выведении породистых собак или декоративных роз. Другими словами, наша модель является, строго говоря, моделью не естественного отбора, а искусственного. При настоящем естественном отборе дело обстоит так: если организм обладает качествами, нужными для выживания, то его гены выживают автоматически, поскольку находятся внутри него. То есть само собой выходит, что гены, которые выживают, это и есть те гены, которые сообщают организмам признаки, помогающие выжить. В нашей же компьютерной модели критерием отбора служит не выживание организма, а его способность отвечать человеческой прихоти. Прихоть не обязательно долж на быть праздной и случайной — ничто не мешает нам проводить селекцию по какому-то определенному признаку, такому как, например, “сходство с плакучей ивой”. Однако в моем случае человек-отборщик чаще всего был капризным и беспринципным, что не так уж отличается от некоторых разновидностей естественного отбора.
Человек указывает компьютеру, какую биоморфу из имеющегося выводка оставить для продолжения рода. Гены избранницы передаются подпрограмме РАЗМНОЖЕНИЕ, и приходит время следующему поколению появиться на свет. Подобно реальной эволюции живого этот процесс может продолжаться бесконечно. Биоморфа из любого поколения находится всего в одном мутационном шаге как от своей предшественницы, так и от наследницы. Но по прошествии 100 циклов программы ЭВОЛЮЦИЯ наши биоморфы могут оказаться где угодно в пределах 100 шагов от своего исходного предка. А 100 мутационных шагов могут далеко завести.
Однако, начиная играть с только что написанной программой ЭВОЛЮЦИЯ, я и вообразить не мог, насколько далеко. Первое, что меня удивило, — это то, как быстро мои биоморфы перестали быть похожими на деревья. Исходное раздваивание ветвей никуда не делось, но оказалось, что его можно с легкостью завуалировать многократным пересечением линий, образующим сплошные цветовые пятна (иллюстрации, увы, только черно-белые). На рисунке 4 показана одна конкретная история эволюционных преобразований, продолжавшаяся в течение всего-навсего 29 поколений. Матерью-прародительницей было крохотное существо, состоящее из одной-единственной точки. Но хотя предковый организм — всего лишь точка (как бактерия в первичном бульоне), его потенциал к ветвлению такой же, как и у дерева, расположенного в центре рис. 3. Просто ген номер 9 велел ему разветвиться ноль раз! Все создания, изображенные на рис. 4, являются потомками этой точки, но, чтобы не загромождать страницу, я не стал размещать на ней всех потомков, какие мне в действительности были предъявлены. Из каждого поколения я взял только успешную биоморфу (то есть давшую начало следующему поколению) и одну или двух из ее неудачливых сестер. Итак, на рисунке представлена преимущественно одна, магистральная линия эволюции, направляемая моими эстетическими предпочтениями. Все до единой стадии, принадлежащие к этой основной линии, там присутствуют.
Давайте посмотрим на рис. 4 и кратко пройдемся по первым нескольким поколениям “генеральной линии” эволюции. Во 2-м поколении точка превращается в букву Y. В течение следующих двух поколений Y увеличивается в размерах. Затем ее рога немного искривляются, как у хорошей рогатки. В 7-м поколении искривленность усиливается, и две “ветви” почти что соприкасаются кончиками. В поколении 8 они удлиняются и приобретают по паре маленьких отростков. В следующем, 9-м поколении эти отростки пропадают, а рукоятка рогатки становится более вытянутой. Поколение 10 напоминает цветок в разрезе: изогнутые боковые ветви, подобно лепесткам, обрамляют центральный вырост-“рыльце”. В 11-м поколении “цветок” укрупняется, и его форма становится чуть более сложной.
Нет нужды продолжать этот рассказ. На протяжении всех 29 поколений картинка говорит сама за себя. Обратите внимание, как мало каждая биоморфа отличается от своей предшественницы в ряду поколений и от своих сестер. Но раз каждая отличается от своей родительницы, то следует ожидать, что от своей бабки (и от своих внучек) она будет отличаться несколько больше, а от прабабки (и от правнучек) еще больше. Вот в чем суть накапливающей эволюции, хотя мы и разогнали ее до совершенно невероятной скорости, установив такую высокую частоту мутаций. По этой причине рис. 4 больше смахивает на родословную видов, а не особей, но принцип остается тем же.
Рис. 4
Составляя программу, я никак не думал, что она сможет выдать что-нибудь кроме различных древовидных форм. Я ожидал плакучих ив, ливанских кедров, пирамидальных тополей, водорослей, в крайнем случае — оленьих рогов. Ни моя биологическая интуиция, ни мой 20-летний опыт программиста, ни самые дерзкие из моих фантазий — ничто не подготовило меня к тому, что я увидел на экране. Уже не помню, в какой именно момент меня осенило, что из получающейся последовательности может выйти нечто, напоминающее насекомое. Охваченный этой нелепой догадкой, я из поколения в поколение стал отбирать те биоморфы, которые были похожи на насекомых хоть сколько-нибудь больше других. Чем сильнее проступало сходство, тем меньше я верил своим глазам. Итоговые результаты можно увидеть в нижней части рис. 4. Правда, у них восемь ножек, как у пауков, а не шесть, как положено насекомым, — и тем не менее! До сих пор не могу удержаться и не поделиться с вами тем чувством ликования, которое я испытал, когда эти изящные существа впервые возникли передо мной на экране. В голове отчетливо зазвучали торжествующие начальные аккорды из “Так говорил Заратустра” (главный мотив в фильме “Космическая одиссея 2011 года”). От волнения я не мог есть, а ночью, когда попытался заснуть, у меня перед глазами, стоило лишь закрыть их, кишели “мои” насекомые.
Существуют и продаются компьютерные игры, в которых игроку кажется, будто он блуждает по подземному лабиринту, имеющему определенную, хотя и сложную, географию, и встречает там драконов, минотавров и прочих сказочных противников. Эти чудовища не слишком разнообразны, и все они, так же как и сам лабиринт, были разработаны человеческим разумом программиста. В эволюционной игре — как компьютерной, так и реальной — у игрока (или у наблюдателя) тоже создается впечатление, что он, образно говоря, бродит по лабиринту разветвленных коридоров, но только количество возможных маршрутов практически бесконечно, а монстры, встречающиеся на пути, непредумышленны и непредсказуемы. Когда я скитался по закоулкам Страны биоморф, мне попадались жаброногие рачки, храмы ацтеков, окна готических соборов, наскальные изображения кенгуру, а однажды — памятный, но не желающий воспроизводиться случай — вполне приемлемая карикатура на теперешнего уайкхемовского профессора логики. На рисунке 5 представлены еще некоторые трофеи из моей коллекции, все полученные одним и тем же способом. Хочу подчеркнуть: эти изображения — не плод фантазии художника. Никогда и никоим образом их не дорисовывали и не подправляли. Они именно такие, какими их вычертил компьютер, внутри которого они эволюционировали. Роль человеческого глаза сводилась только к тому, чтобы выбирать варианты из потомства, случайно мутировавшего в течение многих поколений накапливающей эволюции.
Итак, у нас появилась эволюционная модель, гораздо более близкая к действительности, чем та, которую мы могли извлечь из аналогии с обезьяной, печатающей Шекспира. Однако и эта модель несовершенна. Она наглядно демонстрирует нам, что накапливающий отбор способен давать начало почти бесконечному разнообразию квазибиологических форм, но при этом в ней используется не естественный отбор, а искусственный — осуществляемый человеком. Нельзя ли обойтись без услуг человеческого глаза, а сделать так, чтобы сам компьютер отбирал на основании какого-нибудь биологически правдоподобного критерия? Сделать это сложнее, чем может показаться на первый взгляд. Имеет смысл ненадолго остановиться и объяснить, почему.
Проводить отбор на соответствие какой-то определенной генетической формуле проще простого — при условии, конечно, что нам известны гены всех животных. Но при естественном отборе отбираются не гены сами по себе, а воздействия этих генов на организмы — то, что специалисты называют фенотипическими эффектами. У человеческого глаза хорошо получается отбирать фенотипические эффекты — это можно видеть на примере многочисленных пород собак, крупного рогатого скота, голубей, а также, если позволите, на моем рис. 5. Чтобы компьютер смог напрямую отбирать фенотипические эффекты, нам потребуется написать очень сложную программу распознавания образов. Такие программы существуют. Они применяются для чтения печатных и даже рукописных текстов. Но это область передовых, непростых для понимания технологий, где требуются очень большие и быстродействующие компьютеры. Даже если бы составление такой распознающей образы программы не выходило за пределы как моих способностей к программированию, так и возможностей моего маленького 64-килобайтного компьютера, я не стал бы с этим возиться. Эту задачу проще выполнять с помощью человеческого глаза, а если точнее, с помощью человеческого глаза, оснащенного 10-гиганейронным компьютером внутри черепной коробки.
Научить компьютер проводить отбор по неким обобщенным, размытым признакам, таким как высокий-и-тонкий, низенький-и-толстый, обладающий выпуклыми формами или шипами — да хоть украшенный в стиле рококо, — совсем несложно. В качестве одного из способов можно так запрограммировать компьютер, чтобы он помнил, какого рода признаки нравились человеку раньше, и продолжал самостоятельно вести отбор примерно в том же направлении. Но это нисколько не приблизит нас к имитации естественного отбора. Если не считать некоторых особых случаев, таких как выбор брачного партнера самкой павлина, то природе, чтобы сделать выбор, никаких вычислительных мощностей не требуется. Сила, действующая при естественном отборе, прямолинейна, сурова и проста. Зовут ее старуха с косой. Разумеется, причины выживания далеко не просты — потому-то естественный отбор и способен создавать животные и растительные организмы, устроенные так невероятно сложно. Но в самом факте гибели есть что-то очень грубое и примитивное. А неслучайная гибель — это все, что требуется, чтобы в дикой природе мог происходить отбор фенотипов, а значит, и скрывающихся за ними генов.
Если мы хотим сделать действительно интересную компьютерную имитацию естественного отбора, то следует забыть про узоры в стиле рококо и про все остальные качества, определяемые на глаз. Вместо этого нужно сосредоточиться на моделировании неслучайной гибели. Биоморфы должны взаимодействовать в компьютере с неким подобием враждебной окружающей среды. От каких-то свойств их формы должно зависеть, выживут они в этой среде или нет. В идеале враждебное окружение должно включать в себя и другие эволюционирующие биоморфы: “хищников”, “жертв”, “паразитов”, “конкурентов”. Определенная конфигурация биоморфы-“добычи” влияла бы, скажем, на ее уязвимость для определенных “хищных” форм. Такие критерии уязвимости не должны быть заранее установлены программистом. Они должны возникнуть точно так же самостоятельно, как и сами формы. Вот тогда в компьютере создались бы условия для самоподдерживающейся “гонки вооружений” (см. главу 7), что позволило бы начаться настоящей эволюции, и я не осмеливаюсь предполагать, чем бы все это могло закончиться. К сожалению, я не настолько силен в программировании, чтобы создать такой искусственный мир.
Рис. 5
Если кому оно и по плечу, то, вероятно, тем, кто разрабатывает эти шумные и вульгарные игровые автоматы — наследники “Космических захватчиков”. В их программу заложена модель искусственного мира, зачастую объемного, со своей географией и с ускоренной шкалой времени. В этом трехмерном пространстве то и дело появляются различные существа, которые сталкиваются, перестреливаются, пожирают друг друга — и все под аккомпанемент отвратительных звуков. Имитация бывает настолько удачной, что игрок с зажатым в руке джойстиком может испытывать убедительную иллюзию, будто он сам является частью этого искусственного мира. Полагаю, что вершиной подобного программирования являются специальные камеры для тренировки пилотов и космонавтов. Но даже это сущая чепуха по сравнению с написанием такой программы, которая имитировала бы гонку вооружений, возникающую между хищниками и их жертвами внутри полноценной искусственной экосистемы. Тем не менее ничего невозможного тут нет. Если где-нибудь есть профессиональный программист, который не прочь поучаствовать в этой амбициозной затее, то я буду рад связаться с ним (или с ней).
А пока можно попытаться сделать нечто куда более простое, чем я и собираюсь заняться ближайшим летом. Я поставлю компьютер где-нибудь в тенистом уголке сада. Дисплей у меня цветной. Имеется и вариант программы с несколькими дополнительными “генами”, которые контролируют цвет, точно так же как уже знакомые нам девять генов контролируют форму. В качестве исходной биоморфы я выберу какую-нибудь более или менее компактную и ярко окрашенную. На экране компьютера будет одновременно выставлено на обозрение все ее мутантное потомство, отличающееся от нее формой и/или окраской. Думаю, что пчелы, бабочки и прочие насекомые будут навещать биоморф и делать “выбор”, ударяясь в тот или иной участок экрана. После определенного количества таких визитов компьютер удалит все изображения, “размножит” наиболее удачливую из биоморф и покажет следующее поколение мутантных потомков.
С упоением предвкушаю, как благодаря диким насекомым через много поколений в компьютере появятся цветы. Если это получится, то эволюция компьютерных цветков будет идти ровно под тем же самым давлением отбора, которое направляло эволюцию цветка в реальном мире. Моя надежда подпитывается как тем фактом, что насекомые любят садиться на яркие цветные пятна на женской одежде, так и опубликованными результатами более систематических экспериментов. Другая возможность, которую я нахожу даже еще более захватывающей, — это то, что насекомые положат начало эволюции себе подобных форм. Есть прецедент (а значит, и повод для надежды): именно пчелы стали причиной возникновения пчеловидных орхидей. Самцы пчел, пытаясь совокупляться с цветками и перенося таким образом пыльцу, запустили у орхидных процесс накапливающего отбора, который через много-много поколений привел к появлению цветков, имеющих форму пчелы. Представьте себе орхидею с рис. 5 в цвете. Смогли бы вы устоять, будь вы пчелой?
Основным источником пессимизма для меня является то, что зрение у насекомых работает совершенно не так, как у нас с вами. Экраны компьютеров разрабатывались для человеческих глаз, а не для пчелиных. Запросто может оказаться, что хотя и нам, и пчелам пчеловидные орхидеи видятся (каждым на свой лад) похожими на пчел, тем не менее изображений на экране пчела может вообще не заметить. Возможно, она не увидит ничего, кроме 625 линий сканирования. И все же попробовать стоит. К моменту публикации этой книги я уже буду знать исход дела.
Существует распространенное клише, нередко произносящееся таким тоном, который Стивен Поттер назвал бы “рубануть сплеча”, и гласящее, что нельзя получить от компьютера больше, чем ты сам в него заложил. Бывает, что эта мысль формулируется иначе: компьютеры выполняют в точности то, что им говорится, и потому совершенно не способны к творческой созидательности. Это избитое утверждение верно только в том убогом смысле, в каком можно сказать, будто Шекспир за всю свою жизнь не написал ничего, кроме того, чему его научил первый школьный учитель, — слов. Я ввел в компьютер программу ЭВОЛЮЦИЯ, но я не задумывал ни “своих” насекомых, ни скорпиона, ни истребителя “Спитфайр”, ни лунохода. У меня не было ни малейшего подозрения, что они могут возникнуть, — вот почему глагол “возникнуть” здесь уместен. Не отрицаю, отбор, направлявший их эволюцию, проводился при помощи моих глаз, но каждый раз мои возможности ограничивались небольшим выводком потомков, возникавших благодаря случайным мутациям, а моя “стратегия” отбора — хороша она или плоха — была непоследовательной, изменчивой и сиюминутной. Я не стремился ни к какой отдаленной цели, как не стремится к ней и естественный отбор.
Могу для пущей эффектности подробнее остановиться на том случае, когда я действительно попытался стремиться к отдаленной цели. В первую очередь должен сделать признание. Впрочем, вы все равно догадались бы. История эволюционных событий, изображенная на рис. 4, — реконструкция. Это не самые первые из “моих” насекомых. Когда они в первый раз появились на свет под торжественные фанфары, у меня еще не было возможности списать их гены. Насекомые были прямо передо мной — глядели на меня с экрана, а добраться до них, расшифровать их гены я не мог. Я до последнего тянул с выключением компьютера, надрывая свой мозг в поиске способа сохранить их. Но такого способа не существовало. Гены были спрятаны слишком глубоко — так же как и в реальной жизни. Я мог распечатать изображения получившихся организмов, но гены были утрачены. Я немедленно внес в программу необходимые изменения — чтобы в дальнейшем все генетические формулы были в моей досягаемости. Но было слишком поздно. Своих насекомых я потерял.
Я предпринял “розыск”. Однажды они уже появлялись, и потому казалось вполне возможным вывести их повторно. Они мучили меня, как аккорд, который никак не получается подобрать. Я исходил вдоль и поперек всю Страну биоморф, встречая на своем пути бесконечное разнообразие диковинных созданий и предметов, но моих насекомых среди них не было. Я знал, что они где-то затаились. Я знал исходный набор генов, с которого началась их эволюция. У меня были их изображения. У меня даже была картинка со всей эволюционной последовательностью организмов, постепенно приведшей к моим насекомым от первоначального предка — точки. Но их генетической формулы я не знал.
Вы, вероятно, думаете, что восстановить ход эволюции было довольно просто, но это не так. Причина возникших затруднений (о которой я буду говорить еще не раз) заключалась в астрономическом количестве биоморф, которые могли бы возникнуть за достаточно большое число поколений, — даже при наличии всего лишь девяти меняющихся генов. Несколько раз за время моих странствий по Стране биоморф мне казалось, что я подобрался к предшественнику своих насекомых, но затем, несмотря на все мои старания быть хорошим фактором отбора, эволюция шла по ложному пути. В конце концов после долгих эволюционных скитаний мне все же удалось припереть их к стенке — чувство ликования при этом было едва ли меньшим, чем в первый раз. Я не знал (и не знаю до сих пор), были ли мои новые насекомые теми самыми “потерянными аккордами Заратустры” или же просто походили на них благодаря внешней конвергенции (см. следующую главу), но результатом я был вполне доволен. На сей раз промашки быть не могло: я записал генетические формулы своих насекомых и теперь в любой момент могу их “вывести”.
Да, я несколько драматизирую, но мысль, которую я хочу донести, вполне серьезна и заслуживает внимания. Суть моего рассказа в том, что, хоть я и сам запрограммировал компьютер, объяснив ему во всех подробностях, что нужно делать, получившихся существ я не планировал и был безмерно удивлен, когда увидел их. Я был до такой степени неспособен контролировать эволюцию, что, даже когда мне очень захотелось еще раз пройти тем же самым путем, это оказалось почти что невозможно. Не думаю, что мне удалось бы когда-либо снова встретиться со своими насекомыми, не распечатай я картинку с полным набором их эволюционных предков, — но даже в этом случае дело оказалось трудным и муторным. Так ли удивительна неспособность программиста контролировать и прогнозировать ход эволюции в компьютере? Означает ли это, что внутри компьютера происходит нечто необъяснимое, даже мистическое? Разумеется, нет. Как нет ничего мистического и в эволюции настоящих животных и растений. Чтобы разрешить парадокс, мы воспользуемся компьютерной моделью, а заодно узнаем кое-что и о реальной эволюции.
Скажу заранее, в чем будет суть разрешения данного парадокса. Мы располагаем неким строго определенным набором биоморф, каждая из которых постоянно находится в своей собственной уникальной точке математического пространства. Она постоянно находится там в том смысле, что если вам известны значения всех генов данной биоморфы, то вы можете сразу же ее найти. А ее соседками в этом особом пространстве будут те биоморфы, которые отличаются от нее только одним геном. Теперь, зная генетическую формулу своих насекомых, я могу воспроизвести их по собственному желанию, а также попросить компьютер “вывести” их, начиная эволюцию из любой произвольно взятой точки. Когда вы впервые получаете какое-то новое существо внутри компьютерной модели путем искусственного отбора, это похоже на творческое занятие. Так оно, в сущности, и есть. Но на самом-то деле вы не создаете, а находите это существо, поскольку в математическом смысле оно уже сидит на своем определенном месте в генетическом пространстве Страны биоморф. Тем не менее это не мешает вашему занятию оставаться творческим, ведь найти какое-то конкретное существо невероятно сложно — страна большая-пребольшая, и общее число населяющих ее созданий почти что бесконечно. Искать наугад бессмысленно. Необходимо взять на вооружение какой-то более эффективный — творческий — подход.
Некоторые наивно полагают, что играющий в шахматы компьютер действует путем перебора всех возможных комбинаций и ходов. Эта мысль утешает их, когда они продувают компьютеру, и, однако же, она абсолютно ошибочна. Возможных шахматных ходов слишком много: пространство для поисков в миллиарды раз превышает те масштабы, при которых имело бы смысл искать вслепую. Искусство написания хорошей шахматной программы состоит в прокладывании эффективных коротких маршрутов через это пространство. Накапливающий отбор — будь то искусственный отбор в компьютерной модели или естественный отбор в реальном мире — это рациональная методика поиска, сильно напоминающая созидательный интеллект. На чем, собственно, и построено все “телеологическое доказательство” Уильяма Пейли. Формально говоря, все, что мы делаем, играя в компьютерную игру с биоморфами, — это находим организмы, которые с математической точки зрения уже существуют и ждут нас. Ощущается же это как процесс художественного творчества. Когда обыскиваешь небольшой участок с небольшим количеством находящихся там предметов, такого ощущения не возникает. Детская игра “найди наперсток” (вариант игры “холодно — горячо”) не кажется нам чем-то созидательным. Когда обследуемое пространство невелико, то стратегия перевернуть все вверх дном, чтобы случайно наткнуться на искомый предмет, обычно срабатывает. Чем обширнее становится пространство для поисков, тем более изощренные методы требуются. Когда это пространство достаточно велико, эффективная стратегия поиска неотличима от истинного творчества.
Компьютерные модели с биоморфами очень показательны в этом отношении — они как бы перекидывают мостик между человеческим творчеством и эволюционной созидательностью естественного отбора, “слепого часовщика”. Чтобы это увидеть, следует подробнее развить мысль о Стране биоморф как о “математическом пространстве” — нескончаемом, но упорядоченном скоплении морфологических разновидностей, где каждое существо сидит на надлежащем месте, дожидаясь, когда его обнаружат. Семнадцать созданий, изображенных на рис. 5, расположены там без какого-либо порядка. Но в Стране биоморф каждое из них занимает свою собственную, уникальную позицию, определяемую имеющимся у него набором генов, и находится в окружении собственных, себе лишь свойственных соседей. Все существа, населяющие Страну биоморф, расположены друг относительно друга в пространстве строго определенным образом. Что это означает? Какой смысл в их пространственное расположение мы вкладываем?
Пространство, о котором идет речь, — это генетическое пространство. Каждое животное занимает там свое определенное положение. Ближайшими соседями в генетическом пространстве являются те животные, которые отличаются друг от друга только одной мутацией. Исходное дерево в центре рис. 3 окружено восемью из 18 своих непосредственных соседей в генетическом пространстве. В соответствии с правилами данной компьютерной модели 18 соседей животного — это 18 различных типов потомков, каких оно может породить, а также 18 типов родителей, от которых оно может произойти. Чуть подальше, на расстоянии одного шага, у нашей биоморфы обнаружится уже 324 соседки (18 × 18, обратные мутации для простоты не учитываем): полный комплект ее потенциальных внучек, бабок, тетушек и племянниц. Отойдя еще на один шаг, обнаруживаем уже 5832 соседки (18 × 18 × 18): всевозможных правнучек, прабабок, двоюродных сестер и т. п.
Какие преимущества могут нам дать эти рассуждения в терминах генетического пространства? К чему они нас приведут? Ответ таков: это один из способов понять эволюцию как поступательный, кумулятивный процесс. Согласно правилам нашей компьютерной модели, за одно поколение можно сделать только один шаг в генетическом пространстве. А за 29 поколений здесь нельзя уйти от исходного предка дальше чем на 29 шагов. Любой эволюционный процесс представляет собой какую-то особую тропинку, траекторию сквозь генетическое пространство. К примеру, история эволюционных событий, запечатленная на рис. 4, — это единственный в своем роде извилистый путь через генетическое пространство, ведущий от точки к насекомому через 28 промежуточных стадий. Вот что я имел в виду под своей метафорой “блужданий” по Стране биоморф.
Я хотел изобразить это генетическое пространство в виде картинки. Проблема в том, что картинки двумерны. Генетическое пространство, в котором находятся мои биоморфы, — не двумерное пространство. Оно даже не трехмерное. Оно девятимерное! (Важно помнить про математику одну вещь — ее не нужно бояться. Все не так сложно, как порой пытаются представить жрецы от математики. Я, лишь только начинает подступать страх, всегда вспоминаю афоризм Сильвануса Томпсона из его книги “Исчисление, ставшее простым”: “Что может один дурак, то сможет и другой”.) Если бы мы умели рисовать в девяти измерениях, то смогли бы сделать так, чтобы каждое измерение соответствовало одному из девяти генов. Местоположение конкретного животного, будь то скорпион, или летучая мышь, или насекомое, твердо закреплено численными значениями его девяти генов. Эволюционные преобразования состоят в пошаговом перемещении сквозь девятимерное пространство. Степень генетического различия между двумя животными — то есть насколько долго придется эволюционировать из одного в другое и насколько сложно будет это сделать — измеряется как расстояние между ними в генетическом пространстве.
Увы, рисовать в девяти измерениях мы не умеем. Я стал искать способ, как выкрутиться, как нарисовать такую двумерную картинку, которая хотя бы отчасти могла передать, на что это похоже — перемещаться из одного пункта в другой по девятимерному генетическому пространству Страны биоморф. Тут можно пойти различными путями; я выбрал тот, который называю “уловкой с треугольником”. Взгляните на рис. 6. На вершинах треугольника расположены три произвольно выбранные биоморфы. Сверху — наше “исходное дерево”, слева — одно из моих “насекомых”. Та, что справа, никак не называется, но, по-моему, она прелестна. Как и все биоморфы, каждая из этой тройки имеет свой собственный набор значений генов, которым определяется ее уникальное положение в девятимерном генетическом пространстве.
Рис. 6
Треугольник лежит на двумерной плоскости, пересекающей девятимерное гиперпространство (что может один дурак, то сможет и другой). Эту плоскость можно сравнить со стеклянной пластинкой, заключенной в желе. На ней нарисован наш треугольник, а также те из биоморф, чьи генетические формулы дают им право оказаться на данной конкретной плоскости. Откуда же у них это право? И вот тут в дело вступают биоморфы, расположенные на вершинах треугольника. Назовем их биоморфы-якоря.
Давайте вспомним, в чем суть самого понятия “расстояние” в нашем “пространстве”: генетически сходные биоморфы являются ближайшими соседями, а генетически различные удалены друг от друга. На данной конкретной плоскости все расстояния рассчитываются относительно трех биоморф-якорей. Генетическая формула, соответствующая любой точке на “стеклянной пластинке”, внутри треугольника или вне его, вычисляется как “взвешенное среднее” генетических формул трех этих биоморф. Теперь вы и сами догадаетесь, как именно производится такое “взвешивание”: на основании расстояния, а точнее, приближенности интересующей нас точки к каждому из трех “якорей”. Иными словами, чем ближе к насекомому вы находитесь на этой плоскости, тем больше окружающие вас биоморфы похожи на насекомых. А по мере того, как вы движетесь по стеклу в сторону “дерева”, “насекомые” постепенно перестают быть насекомыми и становятся все более и более древовидными. Если же вы забредете в центр треугольника, то животные, которых вы там встретите, например паук с еврейским семисвечным канделябром на голове, будут представлять собой различные “генетические компромиссы” между тремя биоморфами-якорями.
Однако такой подход уделяет слишком уж большое внимание этим трем биоморфам. Положим, компьютер действительно воспользовался ими, чтобы рассчитать соответствующие генетические формулы для каждой точки рисунка. Но на самом деле любые три биоморфы с этой плоскости подошли бы на роль якорей ничуть не хуже, и результат оказался бы абсолютно тем же самым. По этой причине на рис. 7 я треугольник рисовать не стал. Рисунок 7 — это изображение точно такого же типа, что и рис. 6. Просто на нем представлена другая плоскость. В качестве одной из трех “якорных точек” здесь выступает то же самое насекомое, что и в прошлый раз, только теперь оно расположено справа. Другими якорями являлись в данном случае самолет-истребитель и орхидея в форме пчелы — оба с рис. 5. Можно заметить, что и на этой плоскости биоморфы, расположенные по соседству, более сходны друг с другом, чем взаимно удаленные биоморфы. Истребитель, например, входит в состав эскадрильи похожих друг на друга самолетов, летящих строем. Поскольку на обеих плоскостях присутствует насекомое, вы можете представить их себе как две стеклянные пластинки, пересекающиеся под углом. Можно сказать, что плоскость рис. 7 “повернута” относительно плоскости рис. 6, а “точка вращения” — насекомое.
Рис. 7
Рис. 8
Удаление треугольника, который отвлекал внимание, придавая чрезмерное значение трем отдельно взятым точкам на плоскости, усовершенствовало наш метод. Следует, однако, сделать еще одно улучшение. Пространственная отдаленность на рис. 6 и 7 соответствует дальности генетического родства, но вот масштаб совершенно искажен. Один дюйм по вертикали вовсе не обязательно равнозначен дюйму по горизонтали. Чтоб исправить положение, следует тщательно подобрать биоморфы-якоря — все три должны находиться на одинаковом генетическом расстоянии друг от друга. Именно это сделано на рис. 8. Треугольник, как и на предыдущей иллюстрации, не вычерчен. На сей раз были взяты такие якоря: скорпион с рис. 5, снова то же самое насекомое (мы как бы сделали еще один “поворот” вокруг него) и не поддающаяся описанию биоморфа в верхней части рисунка. Все они находятся на расстоянии 30 мутаций друг от друга. То есть вывести любую из них из любой другой всегда будет сложно в одинаковой степени. Во всех случаях придется сделать не менее 30 генетических ходов. Отметки в нижней части рис. 8 обозначают единицы расстояния, измеряемого в генах. Можно считать это своего рода генетической линейкой. Она функционирует не только в горизонтальном направлении. Вы можете поворачивать ее как угодно, измеряя генетическое расстояние, а следовательно, и минимальное эволюционное время, разделяющее любые две точки на данной плоскости (к сожалению, в нашем конкретном случае это не вполне соответствует действительности, так как принтер исказил пропорции — не столь сильно, чтобы стоило поднимать из-за этого шум, однако ответ, который вы получите, подсчитав отметки на шкале, может оказаться слегка неверным).
Такие двумерные плоскости, пронизывающие девятимерное генетическое пространство, дают некоторое представление о том, что это такое — гулять по Стране биоморф. Чтобы представить себе это более точно, следует помнить, что эволюция не ограничивается рамками одной плоской картинки. Во время настоящей “эволюционной прогулки” вы можете в любой момент “перескочить” с плоскости на плоскость — например, с плоскости рис. 6 на плоскость рис. 7 (неподалеку от “насекомого”, где две эти плоскости подходят близко друг к другу).
Я сказал, что “генетическая линейка” на рис. 8 позволяет нам вычислить то минимальное время, которое потребуется, чтобы эволюционировать из одной точки в другую. При условиях, принятых в нашей первоначальной модели, это действительно можно сделать, однако основное ударение здесь следует поставить на слове минимальное. Раз насекомое и скорпион находятся всего в 30 генетических единицах друг от друга, значит, для того чтобы эволюционировать из одного в другое, потребуется всего 30 поколений. Но это при условии, что вы ни разу не повернете не в ту сторону, — другими словами, если вам известно то сочетание генов, к которому следует стремиться, и вы знаете, каким курсом к нему двигаться. В реальном эволюционном процессе не существует ничего, что было бы аналогично стремлению к некоей отдаленной генетической цели.
Давайте теперь на примере биоморф вернемся к той мысли, к которой мы уже пришли, когда говорили об обезьянах, печатающих “Гамлета”, — к мысли о необходимости постепенных, пошаговых эволюционных изменений, не имеющих ничего общего с чистой случайностью. Начнем с того, что иначе обозначим деления шкалы внизу рис. 8. Вместо того чтобы измерять расстояние количеством генов, которые должны измениться в ходе эволюции, мы будем определять его как “вероятность преодолеть дистанцию наудачу, одним прыжком”. Для этого нам придется смягчить одно из ограничивающих условий моей компьютерной игры — в конце наших рассуждений станет понятно, зачем я вообще установил это ограничение. Состояло же оно в том, что потомкам “позволялось” отличаться от родителей только одной мутацией. Иначе говоря, только один ген мог мутировать за один раз, и этому гену было разрешено увеличить или уменьшить свое “значение” только на единицу. Теперь мы не будем такими строгими и позволим всем генам мутировать одновременно, причем каждый сможет прибавлять к своему значению любое число — как положительное, так и отрицательное. Впрочем, это будет излишне большое послабление, при котором численные значения генов смогут колебаться в пределах от минус бесконечности до плюс бесконечности. Чтобы разобраться, что к чему, нам вполне достаточно разрешить генам принимать значения, выражаемые одной цифрой от –9 до +9.
Итак, новые широкие рамки в принципе допускают, что мутация может одним махом, за одно поколение изменить любые из имеющихся девяти генов. Более того, значение каждого гена может измениться на любую величину — при условии что оно не будет забираться в область двузначных чисел. Что из этого следует? Из этого следует, что за одно поколение эволюция теоретически способна совершить скачок из любой точки Страны биоморф в любую другую ее точку. Не просто в любую точку на какой-то одной плоскости, а в любую точку всего девятимерного гиперпространства. Если вы хотите, например, одним скачком добраться от насекомого до лисицы с рис. 5, то вот вам рецепт. Добавьте следующие числа к значениям всех генов от 1-го до 9-го, соответственно: –2, 2, 2, –2, 2, 0, –4, –1, 1. Но если речь идет о случайных прыжках, то пунктом назначения при каждом прыжке может с равной вероятностью оказаться любая точка Страны биоморф. А значит, шансы попасть по чистой случайности в какую-то конкретную точку — скажем, на лисицу — легко вычислить. Они составят, попросту говоря, единицу против общего количества всех биоморф в пространстве. Как видите, мы опять начинаем оперировать астрономическими числами. Имеется девять генов, каждый из которых может принимать любое из 19 численных значений. Следовательно, общее количество биоморф, до которых можно было бы допрыгнуть за один ход, — это число 19, помноженное само на себя девять раз, то есть 19 в 9-й степени. Это составляет где-то полтриллиона. Мелочь по сравнению с азимовским “гемоглобиновым числом”, но все же, я бы сказал, немало. Если, взяв за исходную биоморфу насекомое, вы начнете, как свихнувшаяся блоха, скакать полтриллиона раз подряд, то можно ожидать, что когда-нибудь вы попадете и на лисицу.
Как же все это помогает нам понять реальную эволюцию? На приведенном примере мы в очередной раз убеждаемся в важности постепенных, пошаговых преобразований. Некоторые из эволюционистов отрицали необходимость такого градуализма для эволюции. Наши вычисления с биоморфами показывают нам, что хотя бы одна причина для того, чтобы изменения непременно были постепенными и пошаговыми, существует точно. Когда я говорю, что эволюция способна совершить скачок от насекомого до одной из ближайших к нему биоморф, но не может перескочить сразу на скорпиона, я хочу сказать буквально следующее. Если бы эти скачки были действительно случайными, тогда в том, чтобы одним махом допрыгнуть от насекомого до скорпиона, не было бы абсолютно ничего невозможного. Согласитесь, что тогда это было бы возможно ровно так же, как и прыжок от насекомого к одной из его непосредственных соседок. Но при этом вероятность попасть на какую угодно другую из имеющихся в пространстве биоморф тоже была бы в точности такой же. Тут-то и загвоздка. Когда общее количество биоморф — полтриллиона и ни одна из них не является более вероятным пунктом назначения, чем другие, то шансы попасть на любую конкретную биоморфу малы настолько, что ими можно пренебречь.
Обратите внимание, что допущение о наличии мощного неслучайного “давления отбора” нам здесь не поможет. Пусть даже, удачно попав на скорпиона, вы сорвете большой куш — это не имеет значения. Шансы такого события по-прежнему составляют один к половине триллиона. Но если вместо того, чтобы скакать, вы будете идти шаг за шагом и каждый раз, шагнув в нужном направлении, получать копеечное вознаграждение, тогда вы доберетесь до скорпиона за очень короткий срок. Возможно, и не за самый короткий, не за 30 поколений, но тем не менее очень быстро. Двигаясь прыжками, вы теоретически могли бы получить свой выигрыш быстрее — всего за один ход. Но в связи с ничтожно малой вероятностью такой удачи единственная реально осуществимая возможность — это последовательность шажков, каждый из которых прибавляет к накопленному успеху своих предшественников дополнительную лепту.
То, как звучат несколько последних абзацев, оставляет простор для непонимания, и я обязан его развеять. Может опять показаться, будто эволюция устанавливает себе отдаленные цели, стараясь произвести объекты наподобие скорпионов. Мы уже знаем, что такого не бывает. Но если за отдаленную цель принять что угодно, что повышает шансы выжить, тогда вся наша аргументация остается в силе. Если животное является чьим-то родителем, значит, ему как минимум хватило качеств, необходимых, чтобы дожить до взрослого состояния. Вполне возможно, что какой-нибудь его мутантный потомок даже сумеет превзойти своего родителя в способности к выживанию. А если мутация окажется резкой, преодолевающей сразу большое расстояние в генетическом пространстве, то каковы будут шансы, что потомок окажется лучше родителя? Ответ такой: они будут очень, очень малы. Причину этого мы уже видели на нашей модели с биоморфами. Если рассматриваемый нами мутационный прыжок оказался очень дальним, то количество точек, куда мы могли бы в итоге приземлиться, астрономически велико. А так как из главы 1 мы знаем, что количество способов быть мертвым неизмеримо больше количества способов быть живым, то существует крайне высокая вероятность того, что большой бесцельный прыжок в генетическом пространстве закончится гибелью. И напротив: чем меньше прыжок, тем меньше опасность смерти и тем более вероятно, что он приведет к усовершенствованию. Мы еще вернемся к этой теме в одной из следующих глав.
Вот какие умозаключения мне хотелось бы вывести из рассказа о Стране биоморф. Надеюсь, он не показался вам чересчур отвлеченным. Ведь существует и другое математическое пространство, которое заполнено не биоморфами с девятью генами, а животными из плоти и крови, состоящими из миллиардов клеток, каждая из которых содержит десятки тысяч генов. Это не Страна биоморф, а настоящее генетическое пространство. Те животные, что реально когда-либо жили на Земле, представляют собой лишь крохотное подмножество от тех, что теоретически могли бы существовать. К этим реальным животным ведет очень небольшое число маршрутов через генетическое пространство. Подавляющее большинство маршрутов через это населенное животными пространство ведут к нежизнеспособным уродам. Животные, существовавшие и существующие в действительности, разрозненно разбросаны там и сям и занимают свои собственные, строго определенные места в генетическом гиперпространстве среди чудовищ, возможных лишь гипотетически. Каждое такое реальное животное окружено тесной группкой своих соседей, большинство из которых никогда не рождались на свет, и лишь немногие являются его родителями, потомками и родственниками.
Где-то на своих местах в этом гигантском математическом пространстве располагаются люди и гиены, амебы и трубкозубы, плоские черви и кальмары, дронты и динозавры. Теоретически, будь мы достаточно искусными генными инженерами, мы могли бы переместиться из любой точки этого “зоологического пространства” в любую другую его точку. Начав откуда угодно, мы могли бы так пробраться сквозь лабиринт, чтобы заново создать дронта, тираннозавра и трилобитов. Если бы мы только знали, какие гены следует подправить, какие участки хромосом удвоить, какие вырезать, а какие развернуть задом наперед. Не уверен, что у нас когда-либо хватит познаний для такого дела, однако все эти милые исчезнувшие создания всегда будут, притаившись в своих собственных уголках огромного генетического гиперпространства, ждать, когда же их там найдут. Если бы мы только знали, в каком направлении нужно двигаться по лабиринту! Тогда мы смогли бы даже вывести точную копию дронта путем избирательной селекции голубей — правда, для завершения такого эксперимента нам потребовалось бы жить миллион лет. Но, когда мы не можем отправиться в настоящее путешествие, воображение — неплохая замена. Для тех, кто, как и я, не математик, хорошим помощником воображению может стать компьютер. Подобно математике он, кроме того что обогащает воображение, еще и дисциплинирует и направляет его.