Итак, мы составили два наших программных модуля, обозначенных как РАЗВИТИЕ и РАЗМНОЖЕНИЕ. РАЗМНОЖЕНИЕ занимается тем, что передает гены из поколения в поколение с определенной вероятностью мутации. В каждом отдельно взятом поколении РАЗВИТИЕ берет предоставленные РАЗМНОЖЕНИЕМ гены и преобразует их в действие по вычерчиванию фигурок, благодаря чему те появляются на экране компьютера. Настало время объединить эти два алгоритма в одну большую программу под названием ЭВОЛЮЦИЯ.
В сущности, ЭВОЛЮЦИЯ — это бесконечно повторяющееся РАЗМНОЖЕНИЕ. В каждом поколении РАЗМНОЖЕНИЕ получает гены от предыдущего поколения и передает их следующему — но с небольшими случайными изменениями, мутациями. Мутация состоит в том, что к значению какого-то случайно выбранного гена прибавляется +1 или –1. Из этого следует, что в ряду сменяющих друг друга поколений генетические отличия от исходного предка мало-помалу накапливаются и становятся очень большими. Но при всей случайности мутаций эти накапливаемые из поколения в поколение изменения не случайны. В любом отдельно взятом поколении биоморфы-потомки отличаются от своей родительницы случайным образом. Но в том, кто именно из этих потомков будет отобран, чтобы дать начало следующему поколению, случайности уже нет. Вот тут-то и начинает действовать дарвиновский отбор. Критерием для него служат не гены сами по себе, а организмы, на форму которых гены оказывают влияние в ходе РАЗВИТИЯ.
Помимо самовоспроизводства при РАЗМНОЖЕНИИ гены еще и передаются в каждом поколении подпрограмме РАЗВИТИЕ, которая вычерчивает на экране соответствующие организмы, следуя своим собственным строго установленным правилам. В каждом поколении нам показывается весь “выводок” “детенышей” (то есть биоморф следующего поколения). Все они являются мутантными дочерьми одного и того же родительского организма, и каждая отличается от него по какому-то одному гену. Такая невероятно высокая частота мутаций — свойство откровенно небиологическое. В действительности вероятность того, что ген мутирует, составляет зачастую меньше единицы на миллион. Причина, почему в программу был заложен такой высокий уровень мутаций, заключается в том, что все это разворачивающееся на экране компьютера действо предназначалось для человеческих глаз. Ни у какого человека не хватит терпения дожидаться одной мутации в течение миллионов поколений!
Человеческий глаз вообще сыграет в этой истории важную роль. Он будет осуществлять отбор — рассматривать всех потомков в выводке и оставлять одного на разведение. Выбранный таким образом организм даст начало следующему поколению, и теперь уже его мутантные детеныши будут все разом представлены на экране. Человеческий глаз выполняет здесь абсолютно ту же функцию, что и при выведении породистых собак или декоративных роз. Другими словами, наша модель является, строго говоря, моделью не естественного отбора, а искусственного. При настоящем естественном отборе дело обстоит так: если организм обладает качествами, нужными для выживания, то его гены выживают автоматически, поскольку находятся внутри него. То есть само собой выходит, что гены, которые выживают, это и есть те гены, которые сообщают организмам признаки, помогающие выжить. В нашей же компьютерной модели критерием отбора служит не выживание организма, а его способность отвечать человеческой прихоти. Прихоть не обязательно долж на быть праздной и случайной — ничто не мешает нам проводить селекцию по какому-то определенному признаку, такому как, например, “сходство с плакучей ивой”. Однако в моем случае человек-отборщик чаще всего был капризным и беспринципным, что не так уж отличается от некоторых разновидностей естественного отбора.
Человек указывает компьютеру, какую биоморфу из имеющегося выводка оставить для продолжения рода. Гены избранницы передаются подпрограмме РАЗМНОЖЕНИЕ, и приходит время следующему поколению появиться на свет. Подобно реальной эволюции живого этот процесс может продолжаться бесконечно. Биоморфа из любого поколения находится всего в одном мутационном шаге как от своей предшественницы, так и от наследницы. Но по прошествии 100 циклов программы ЭВОЛЮЦИЯ наши биоморфы могут оказаться где угодно в пределах 100 шагов от своего исходного предка. А 100 мутационных шагов могут далеко завести.
Однако, начиная играть с только что написанной программой ЭВОЛЮЦИЯ, я и вообразить не мог, насколько далеко. Первое, что меня удивило, — это то, как быстро мои биоморфы перестали быть похожими на деревья. Исходное раздваивание ветвей никуда не делось, но оказалось, что его можно с легкостью завуалировать многократным пересечением линий, образующим сплошные цветовые пятна (иллюстрации, увы, только черно-белые). На рисунке 4 показана одна конкретная история эволюционных преобразований, продолжавшаяся в течение всего-навсего 29 поколений. Матерью-прародительницей было крохотное существо, состоящее из одной-единственной точки. Но хотя предковый организм — всего лишь точка (как бактерия в первичном бульоне), его потенциал к ветвлению такой же, как и у дерева, расположенного в центре рис. 3. Просто ген номер 9 велел ему разветвиться ноль раз! Все создания, изображенные на рис. 4, являются потомками этой точки, но, чтобы не загромождать страницу, я не стал размещать на ней всех потомков, какие мне в действительности были предъявлены. Из каждого поколения я взял только успешную биоморфу (то есть давшую начало следующему поколению) и одну или двух из ее неудачливых сестер. Итак, на рисунке представлена преимущественно одна, магистральная линия эволюции, направляемая моими эстетическими предпочтениями. Все до единой стадии, принадлежащие к этой основной линии, там присутствуют.
Читать дальше
Конец ознакомительного отрывка
Купить книгу