Выбрать главу

Хотя модель «обезьяна-Шекспир» полезна для объяснения различий между одноразовым и нарастающим отбором, она в некоторых важных отношениях вводит в заблуждение. Одно из них состоит в том, что, в каждом поколении селективного размножения, мутантные фразы-потомки оценивались по критерию сходства с отдалённой идеальной целью, фразой «METHINKS IT IS LIKE A WEASEL». Жизнь не такова. Эволюция не имеет никаких долговременных целей. Не существует никаких отдалённых целей, никакого финального совершенства, которое могло бы служить критерием отбора, хотя человеческое тщеславие и лелеет абсурдную мысль о том, что наш вид является заключительной целью эволюции. В реальной жизни критерий для отбора всегда краткосрочен — это простое выживание; или строже говоря — репродуктивный успех. То, что по прошествии геологических эпох ретроспективно выглядит как движение к достижению какой-то отдалённой цели, на деле же — всегда побочное следствие многих поколений краткосрочного отбора. Наш «часовщик» — нарастающий естественный отбор — слеп к будущему и не имеет никаких долговременных целей.

Мы можем изменить нашу компьютерную модель, чтобы принять во внимание этот момент; мы можем также сделать её более реалистичной в других отношениях. Буквы и слова — узкочеловеческие явления, так что давайте научим компьютер рисовать картины. Может быть, мы даже увидим очертания, подобные животным, эволюционирующим в компьютере посредством нарастающего отбора мутантных форм. Мы не будем навязывать своих представлений, предлагая начать с какого-нибудь конкретного животного. Мы хотим, чтобы они появились исключительно в результате нарастающего отбора случайных мутаций.

В реальной жизни, форма тела каждой особи животного продуцируется эмбриональным развитием. Эволюция получается потому, что в последовательных поколениях имеются небольшие различия в эмбриональном развитии. Эти различия возникают из-за изменений (мутации — это тот самый маленький элемент спонтанности в эволюции, о котором я говорил) в генах, управляющих развитием. Поэтому в нашей компьютерной модели должно быть нечто эквивалентное эмбриональному развитию, и нечто эквивалентное генам, могущим мутировать. Удовлетворить этим спецификациям в компьютерной модели можно различными путями. Я выбрал из них один и написал программу, которая его реализовала. Сейчас я опишу эту компьютерную модель, чтобы вы не думали, что я что-то скрываю. Если вы не разбираетесь в компьютерах, то вам достаточно знать, что компьютеры — это механизмы, которые делают в точности то, что вы им велите, но часто удивляют вас результатом. Список инструкций для компьютера называется программой («program» — это стандартная американская нотация, она к тому же рекомендуется Оксфордским словарём; альтернативная нотация, «programme», обычно употребляемая в Британии, вроде бы является заимствованием из французского).

Эмбриональное развитие — это слишком сложный процесс, чтобы его можно было реалистично смоделировать на маленьком компьютере. Нам придётся представить его неким упрощённым аналогом. Нам нужно найти простое правило рисования, которое компьютер может легко выполнить, и которое может затем изменяться под влиянием «генов». Какое правило рисования мы выберем? Учебники информатики часто иллюстрируют мощность того, что они называют «рекурсивным» программированием, простыми процедурами рисования деревьев. Компьютер начинает рисовать одну вертикальную линию. Затем линия разветвляется на две ветки, после чего каждая из ветвей разделяется ещё на две суб-ветки. Затем каждая из суб-ветвей подразделяется на суб-суб-ветки и так далее. Метод называется «рекурсивным» потому, что одно и то же правило (в нашем случае — правило ветвления) локально применяется на всём растущем дереве. Дерево может быть сколь угодно велико, ибо одно и то же правило разветвления применяется в кончиках всех его веток.