Вернёмся к компьютерным биоморфам и к кольцу из 18 возможных мутантов. 8 наиболее интересных из них нарисованы на рисунке 3. Так как каждый член кольца отстоит только на один мутационный шаг от центрального биоморфа, то нам легко видеть, что это — дети центрального родителя. Здесь мы имеем аналог ВОСПРОИЗВОДСТВА, которое, как и РАЗВИТИЕ, мы можем оформить в другую маленькую компьютерную программу, готовую к включению в нашу большую программу под названием ЭВОЛЮЦИЯ. Обратите внимание на две вещи в нашем ВОСПРОИЗВОДСТВЕ. Первая: здесь нет никаких полов; воспроизводство асексуально. Я представляю себе биоморфы самками, потому что асексуальные животные, такие, как тли, почти всегда пребывают в форме самок. Вторая: все мои мутации ограничены одной штукой за раз. Ребёнок отличается от своего родителя в только в одном из девяти генов; кроме того, мутации всегда прибавляют или убавляют единицу из значения соответствующего родительского гена. Всё это — лишь произвольные соглашения; они могли быть другими, но всё ещё оставались бы биологически реалистичными.
Но есть ещё одна, совсем не произвольная особенность модели, которая реализует фундаментальный биологический принцип. Форма каждого ребёнка не отталкивается от самой по себе формы родителя. Форма каждого ребёнка вырабатывается исходя из значений его девяти генов (влияющих на углы, длины и так далее). И каждый ребёнок получает свои девять генов от девяти генов его родителя. Именно это и происходит в реальной жизни. Тела не переходят в следующее поколение — только гены. Гены влияют на эмбриональное развитие тела, в котором они находятся.
И эти же гены или переходят в следующее поколение, или нет. Значения генов никак не меняются от их участия в развитии тела, но вероятность того, что они будут переданы в следующее поколение, будет зависеть от успешности тела, которое они помогали создавать. Вот почему в компьютерной модели было важно, чтобы эти две процедуры с названиями РАЗВИТИЕ и ВОСПРОИЗВОДСТВО были написаны, как две герметичные капсулы. Они взаимонепроницаемы, за исключением того, что ВОСПРОИЗВОДСТВО передаёт значения гена РАЗВИТИЮ, где они влияют на правила роста. РАЗВИТИЕ категорически не передаёт значения генов назад в ВОСПРОИЗВОДСТВО — иное было бы равносильно «ламаркизму» (см. главу 11).
Мы оттранслировали эти два наших программных модуля под теми же идентификаторами: РАЗВИТИЕ и ВОСПРОИЗВОДСТВО. ВОСПРОИЗВОДСТВО передаёт гены в следующее поколение, с вероятностью мутации. РАЗВИТИЕ считывает гены, предоставленные ВОСПРОИЗВОДСТВОМ в любом данном поколении, и транслирует эти гены в правила рисования, и следовательно — в очертания тела на компьютерном экране. Настало время свести эти два модуля в одну большую программу под названием ЭВОЛЮЦИЯ.
Работа ЭВОЛЮЦИИ в основном состоит из бесконечного повторяющегося вызова ВОСПРОИЗВОДСТВА. ВОСПРОИЗВОДСТВО в каждом поколении считывает гены, которые предоставлены ему предыдущим поколением, и передаёт их в следующее поколение, однако с небольшой случайной ошибкой — мутацией. Мутация состоит лишь в прибавлении или отъятии единицы из значения наугад выбранного гена. Это означает, что по мере смены поколений, отличие значения гена от его первоначального значения может стать очень большим, накапливаясь по одному маленькому шагу за поколение. Мутации случайны, однако накопленное изменение через многие поколения — нет. Потомок в любом поколении отличается от своего родителя в случайную сторону. Но для перехода в следующее поколение из этих потомков отбирается неслучайный экземпляр. Именно так и происходит дарвиновский отбор. Субъекты отбора — не сами гены, но тела, на форму которых гены влияют посредством РАЗВИТИЯ.
Кроме репродуцирования, гены в каждом поколении управляют РАЗВИТИЕМ, которое, повинуясь строго установленным правилам, выращивает соответствующее тело на экране. В каждом поколении присутствует весь «выводок» «детей» (то есть — особей следующего поколения). Все эти дети являются мутантными потомками одного родителя, отличающиеся от своего родителя одним геном. Это очень высокий темп мутаций — откровенно искусственная особенность компьютерной модели. Вероятность мутирования гена в реальной жизни — обычно меньше одного против миллиона. Столь высокая частота мутаций в модели выбрана потому, что вся эта деятельность происходит на компьютерном экране для наблюдения глазом человека, а у людей нет терпения ждать одну мутацию миллион поколений!
Человек играет активную роль в этой истории. Он — отбирающий агент. Он рассматривает выводок потомков и выбирает один для размножения. Каждый выбранный затем становится родителем следующего поколения, и выводок его мутировавших детей одновременно отображаются на экране. Человек выполняет здесь точно ту же роль, что и при выведении новых пород собак или элитных роз. Другими словами, наша модель — это модель искусственного отбора, а не естественного. Критерий «успешности» здесь не есть прямой критерий выживания, как это имеет место в реальном естественном отборе. В настоящем естественном отборе, если тело обладает особенностями, дарующими ему выживание, то его гены выживают автоматически, потому что является его частью. Так что выживающие гены автоматически являются теми генами, которые даруют телам помогающие им выживать качества. В нашей компьютерной модели критерий отбора — не выживание, а способность удовлетворить человеческой прихоти. Это не обязательно праздная, случайная прихоть, поскольку мы можем принять критерий отбора на приближение к какой-то особенности, вроде «сходства с плакучей ивой». Однако в моём опыте, человек-селекционер часто придирчивее и меркантильнее, чем он мало отличается от некоторых видов естественного отбора.
Селекционер сообщает компьютеру, какого потомка из текущего выводка нужно размножить. Гены избранника передаются в ВОСПРОИЗВОДСТВО, и начинается новое поколение. И этот процесс, как и эволюция реальной жизни, происходит нескончаемо. Каждое поколение биоморфов — это только единственный мутационный шаг от своего предшественника и своего преемника. Но через 100 поколений ЭВОЛЮЦИИ, биоморфы могут отстоять уже примерно на 100 мутационных шагов от прародителя. А за 100 мутационных шагов может много чего случиться. Начиная играть в свою свеженаписанную программу ЭВОЛЮЦИЯ, я многого не загадывал. Главное, что удивило меня — биоморфы могут довольно быстро переставать напоминать деревья. Базовое двухветочное ветвление всегда присутствует в них, но оно легко закрашивается, так как линии пересекают и пере-пересекают одна другую, производя массивы однородного цвета (в напечатанном виде — только чёрно-белые). Рисунок 4 показывает одну конкретную эволюционную историю, состоящая из 29 поколений. Прародитель — крошечное существо, одна точка. Хотя тело предка — точка, но она, подобно бактерии в девственной слизи, скрывала в себе потенциал для разветвления в точный аналог центрального дерева рисунка 3: однако ген 9 велел ему ветвиться нуль раз! Все существа, изображённые на странице, происходят от точки. Чтобы избежать загромождения страницы, я привёл здесь не всех потомков, которых видел на экране. Я привёл только успешного ребёнка в каждом поколении (то есть — родителя следующего) и одну или двух её неудачливых сестёр. Таким образом, картина в основном показывает только одну, главную линию эволюции, ведомую моим эстетическим выбором. Показаны все стадии главной линии.
Рис. 4.
Давайте кратко пробежимся по первым нескольким поколениям главной линии эволюции рисунка 4. Точка превращается в «Y» во 2-м поколении. В следующих двух поколениях, «Y» становится больше. Затем ветви слегка изогнутся, как у хорошей рогатки. В 7-м поколении, изгиб усиливается так, что эти две ветви почти соприкасаются. Изогнутые ветви становятся большими и каждая приобретает пару маленьких придатков в поколении 8. В поколении 9 эти придатки потеряны снова, а стебель рогатки становится более длинным. Поколение 10 напоминает разрез цветка; изогнутые боковые ветви походят на лепестки, охватывающие центральный придаток или «пестик». В поколении 11, цветок остался той же формы, но увеличился и слегка усложнился.
Я не буду продолжать описание. Картина говорит сама за себя — все 29 поколений. Заметьте, как мало каждое поколение отлично от своего родителя или сестёр. Так как каждый из нас немного отличен от своих родителей, то логично ожидать, что каждый будет несколько более отличен от своих бабушек и дедушек (и соответственно — внуков) и ещё более отличен от прабабушек и прадедушек (и правнуков). Такова вот нарастающая эволюция — хотя из-за принятой здесь высокой частоты мутаций, мы нереалистично ускорили её. Поэтому, рисунок 4 выглядит более родословной вида, а не родословной особей, но принцип тот же самый. Когда я писал программу, я не думал, она породит что-нибудь большее, чем разнообразные древовидные формы. Я надеялся увидеть плачущие ивы, ливанские кедры, пирамидальные тополя, морские водоросли — ну возможно, рога оленя. Ни моя интуиция биолога, ни мой 20-летний опыт программирования на компьютерах, ни мои самые смелые мечты — ничто из этого не подсказало мне, что я фактически увижу на экране. Я не помню точный момент моего озарения, когда я подумал, что в эволюционирующей последовательности возможно появление какого-то подобия насекомым. Вне себя от предчувствия, я начал выводить, от чего угодно, поколение за поколением — потомков, более похожих на насекомых. Я не верил своим глазам. Вы видите некоторые из результатов внизу рисунка 4. У них восемь ног (как у паука), а не шесть (как у насекомого), но ну и что! Я до сих пор не могу забыть того момента, когда я впервые увидел этих изящных существ, и того ликующего чувства. Мне отчётливо слышались триумфальные вступительные фанфары из «Так сказал Заратустра» («2001 тема»). Я потерял аппетит, а ночью, когда я пытался заснуть, «мои» насекомые роились у меня перед глазами.