Я не буду продолжать описание. Картина говорит сама за себя — все 29 поколений. Заметьте, как мало каждое поколение отлично от своего родителя или сестёр. Так как каждый из нас немного отличен от своих родителей, то логично ожидать, что каждый будет несколько более отличен от своих бабушек и дедушек (и соответственно — внуков) и ещё более отличен от прабабушек и прадедушек (и правнуков). Такова вот нарастающая эволюция — хотя из-за принятой здесь высокой частоты мутаций, мы нереалистично ускорили её. Поэтому, рисунок 4 выглядит более родословной вида, а не родословной особей, но принцип тот же самый. Когда я писал программу, я не думал, она породит что-нибудь большее, чем разнообразные древовидные формы. Я надеялся увидеть плачущие ивы, ливанские кедры, пирамидальные тополя, морские водоросли — ну возможно, рога оленя. Ни моя интуиция биолога, ни мой 20-летний опыт программирования на компьютерах, ни мои самые смелые мечты — ничто из этого не подсказало мне, что я фактически увижу на экране. Я не помню точный момент моего озарения, когда я подумал, что в эволюционирующей последовательности возможно появление какого-то подобия насекомым. Вне себя от предчувствия, я начал выводить, от чего угодно, поколение за поколением — потомков, более похожих на насекомых. Я не верил своим глазам. Вы видите некоторые из результатов внизу рисунка 4. У них восемь ног (как у паука), а не шесть (как у насекомого), но ну и что! Я до сих пор не могу забыть того момента, когда я впервые увидел этих изящных существ, и того ликующего чувства. Мне отчётливо слышались триумфальные вступительные фанфары из «Так сказал Заратустра» («2001 тема»). Я потерял аппетит, а ночью, когда я пытался заснуть, «мои» насекомые роились у меня перед глазами.
В продаже есть компьютерные игры, в которых у игрока создаётся иллюзия его блужданий в подземном лабиринте с определённой, довольно сложнрй географией и в котором он сталкивается с драконами, минотаврами или другими мифическими противниками. Монстров в этих играх довольно немного. Все они разработаны человеком-программистом, как и география лабиринта. При игре в эволюцию, будь то компьютерная версия или реальная жизнь, игрок (или наблюдатель) имеет то же самое чувство «блуждания» (метафорически) по лабиринту с ветвящимися проходами, но количество возможных путей — почти бесконечно велико, а монстры, с которыми он при этом сталкивается, невымышлены и непредсказуемы. В моих блужданиях по болотам Страны Биоморфов я сталкивался с волшебными креветками, ацтекскими храмами, с готическими окнами храмов, очертаниями кенгуру, нарисованными аборигенами и — в одном незабываемом, но невоспроизводимом случае — со сносной карикатурой на профессора логики Винчестерского колледжа.
Рисунок 5 — это другая маленькая коллекция из моей комнаты трофеев, все они были развиты примерно тем же путём. Я хочу подчеркнуть, что все эти фигурки — не плод фантазии художника. Они никак не подрисовывались или как-то иначе улучшались. Они именно таковы, какими они были нарисованы компьютером, в котором эволюционировали. Роль человека ограничивалась отбором из хаотично видоизмененных потомков в ходе многих поколений нарастающей эволюции.
Теперь у нас есть намного более реалистичная модель эволюции, чем обезьяна, печатающая Шекспира. Но модель биоморфов всё ещё несовершенна. Она демонстрирует мощность нарастающего отбора для генерации почти бесконечно разнообразных квази-биологических форм, но она использует искусственный, а не естественный отбор. Отбор выполняет человек. А нельзя ли обойтись без человека и поручить дело отбора самому компьютеру — на основе некоторых биологически реалистичных критериев? Это труднее, чем может показаться. Проблема заслуживает некоторых затрат времени на объяснения.
Рис. 5.
Отбор конкретной генетической формулы был бы тривиальным занятием, если у нас была бы возможность читать гены всех животных. Но естественный отбор не отбирает непосредственно гены — он отбирает эффекты, которые гены оказывают на тела: это так называемые фенотипические эффекты. Человеческий глаз неплохо подходит для отбора фенотипических эффектов — что мы видим на примере многочисленных пород собак, коров и голубей, а также, если позволите — тех, что показаны на рисунке 5. Чтобы поручить компьютеру самому выбирать фенотипические эффекты, нам придётся написать очень хитроумную программа распознавания образов. Программы распознавания образов существуют. Они используются, чтобы распознавать напечатанный и даже рукописный текст. Но эти трудные, «на грани искусства», программы требуют очень больших и быстрых компьютеров. Но даже если бы такая программа распознавания образов и не превосходила моих способностей программиста и была бы по силам моему маленькому компьютеру с его 64 килобайтами памяти, я бы всё равно не суетился на этот счёт. Эту задачу гораздо лучше решает человеческий глаз — вкупе с, и это более важно, 10-гиганейронным компьютером в голове.
Было бы не слишком трудно поручить компьютеру отбор неопределённых общих особенностей — таких, как высоких и тонких, низких и широких, возможно — изогнутости, остроконечности, даже украшенности в стиле рококо. Можно было бы запрограммировать компьютер так, чтобы он помнил качества, одобренные человеком в прошлом, и поддерживать селекцию того же самого качества в будущем. Но это нисколько не приблизило бы нас к моделированию естественного отбора. Важный момент — природе не нужно вычислительных мощностей для отбора, ну кроме разве что особых случаев, например — павам, выбирающим павлинов. В природе, обычный селектирующий агент непосредственен, непреклонен и прост. Это — мрачная старуха с косой. Конечно, критерии выживания совсем не просты — именно поэтому естественный отбор может создавать животных и растения такой огромной сложности. Но сама смерть очень груба и проста. И неслучайная смерть — это всё, что нужно природе для отбора фенотипов — и следовательно, генов, их поддерживающих. Чтобы смоделировать на компьютере естественный отбор (в интересующем нас смысле), мы должны забыть об украшениях в стиле рококо и всех других визуально выраженных качествах. Вместо этого мы должны будем сосредоточиться на моделирования неслучайной смерти. Биоморфы должны взаимодействовать в компьютере с сымитированной враждебной окружающей средой. И какие-то особенности их формы должны оказать влияние на их выживание в этой окружающей среде. В идеале, враждебная окружающая среда должна включить эволюцию разных биоморфов: «хищников», «добычу», «паразитов» и «конкурентов». Специфическая форма биоморфов-добычи должна определять её уязвимость к поимке, например, специфической формой биоморфа-хищника. Такие критерии уязвимости не должны быть предусмотрены программистом. Они должны появиться тем же самым путём, каким появляются любые формы. Тогда эволюция в компьютере действительно пойдёт сама собой, поскольку уже будут выполнены условия для самоподдержания «гонок вооружений» (см. главу 7), и я бы не осмелился предсказать, чем всё это могло бы закончиться. К сожалению, создание такого искусственного мира было бы выше моих возможностей как программиста.
Достаточно умны для такой работы, видимо, программисты, разрабатывающий трескучие и вульгарные игры — разновидности «Космических захватчиков». В этих программах симулируется искусственный мир. У него есть география, часто трёхмерная, и очень сжатая временная размерность. Объекты сжимаются в моделируемом трёхмерном пространстве, сталкиваясь друг с другом, стреляя друг в друга, глотая друг друга на фоне отвратительного шума. Симуляция может быть настолько хороша, что у игрока, манипулирующего джойстиком, складывается полная иллюзия, что он сам — часть этого искусственного мира. Мне кажется, что встретить такой уровень программирования можно на имитаторах, на которых тренируются пилоты самолётов и космических кораблей. Но даже эти программы — мелюзга в сравнении с программой, которую нужно было бы написать для моделирования появляющейся гонки вооружений между хищниками и добычей, проходящей в полноценно сымитированной экосистеме. Конечно, это выполнимая задача. Если кто-то из профессиональных программистов испытывает желание сотрудничать на эту тему — отзовитесь.
Между тем, есть идеи насчёт кое-чего намного более реализуемого, и я наметил их испробовать с наступлением лета. Я поставлю компьютер в затенённый угол сада; экран может показывать цветные картинки. У меня уже есть версия программы, которая поддерживает ещё несколько «генов», управляющих цветом — так же, как остальные 9 генов управляют формой. Я начну с более-менее компактных и ярко раскрашенных биоморфов. Компьютер одновременно покажет всех мутантных потомков биоморфа, отличающихся от данного по форме и/или цвету. Я надеюсь, что пчёлы, бабочки и другие насекомые будут садиться на экран и «выбирать» своим телом конкретное пятно на экране. Когда будет зарегистрировано заданное количество «выборов», компьютер очистит экран, «размножит» потомков от избранного биоморфа и покажет следующее поколение мутантных потомков.