Восхождение на гору Невероятности - Ричард Докинз
Шрифт:
Интервал:
Закладка:
Рис. 2.11. Сгенерированные в компьютере паутины под градом компьютерных мух. Программу NetSpinner создали Питер Фукс и Тимо Кринк.
Мы, конечно, могли бы, взглянув на все шесть паутин, выбрать одну для дальнейшего разведения, как мы выбирали биоморфов. Это означало бы, что при наличии мутации мы выбрали варианты генов этой паутины для передачи по наследству. Но это был бы искусственный отбор. Мы отказались от биоморфов и перешли к паутине ради возможности создать модель естественного отбора, когда критерием служит не эстетская блажь человека, а поддающийся измерению параметр – эффективность ловли мух.
Давайте посмотрим на картинки. Компьютер хаотически рассеивает по паутинам мух. Если приглядеться, можно заметить, что во все шесть паутин была вброшена одна и та же комбинация мух. В отличие от живой природы, в компьютерном мире так будет всегда, если только вы не смените тактику и не дадите другую команду. В данном случае это не важно, так даже удобнее сравнивать разные паутины. Сравнивать – в частности значит с помощью программы подсчитывать количество мух, “пойманных” каждой паутиной. Если бы больше ничего не требовалось, лучшей следовало бы признать паутину внизу справа, так как к ее спиральным нитям прилипло больше всего мух. Но мушиная кучка – не единственный значимый параметр. Необходимо учесть и затраты на шелк. Меньше всего шелка ушло на паутину вверху в середине, и в отсутствие других критериев она победила бы. На самом деле лучшая паутина – та, что улавливает больше всего мух за вычетом затрат на шелк, которые рассчитываются как функция длины нитей. По результатам такого уточненного расчета наиболее выигрышной является паутина, изображенная внизу в середине. Она‐то и будет выбрана для продолжения рода и передачи определяющих ее вариантов генов следующему поколению. Как и в программе с биоморфами, производство потомства от лучшей особи в течение многих поколений поддерживает устойчивость эволюционного тренда. Но если эволюцию биоморфов направляет в нужное русло исключительно воля человека, то в программе NetSpinner эволюция автоматически идет в сторону повышения КПД паутины. Мы получили то, что хотели – модель естественного отбора, а не искусственного. К чему приведет эволюция при таких условиях? Поразительно, насколько правдоподобно выглядят паутины, за одну ночь проскочившие сорок поколений эволюции (рис. 2.12).
Те картинки, что я здесь привожу, получены в программе NetSpinner II, над которой в основном работал Питер Фукс (NetSpinner I – это черновая версия, и ее мы обсуждать не будем). Разработанные Тимо Кринком более поздние версии этой программы составляют конкуренцию биоморфам еще в одном важном вопросе. В NetSpinner III добавлено размножение половым путем. Биоморфы и объекты программы NetSpinner II размножаются только бесполым путем. Что мы имеем в виду, когда говорим о половом способе размножения компьютерных пауков? Вы не увидите на экране акта спаривания с вероятным каннибалистическим финалом, хотя, очевидно, это можно было бы устроить. Просто в программе происходят характерные для полового размножения взаимодействия – рекомбинация половины генов одного родителя с половиной генов другого родителя.
Рис. 2.12. Последовательные превращения паутины, смоделированной в программе NetSpinner, с интервалом в пять поколений. На каждое превращение потребовалась примерно одна ночь.
Вот как это работает. В каждом поколении имеется особая группа в полдюжины пауков, каждый из которых плетет свою ловчую сеть; это локальная популяция, или дем. Геометрия паутины зависит от хромосомы, то есть цепочки генов. Как мы уже знаем, роль гена такова, что он оказывает влияние на специфический “закон” строительства ловушки. Затем в паутину вбрасывают мух. Качество паутины все так же определяется по функции количества пойманных “мух” с вычетом затрат на использованный шелк. В каждом поколении погибает определенный процент пауков – тех, чьи ловчие сети работают хуже всего. Выжившие пауки спариваются в произвольном порядке и дают жизнь новому поколению. Под спариванием подразумевается, что хромосомы двух пауков выравниваются относительно друг друга и обмениваются своими участками. Казалось бы, странная, надуманная схема, если не вспомнить, что при размножении половым путем живые хромосомы – и наши, и паучьи – именно так себя и ведут.
Процесс продолжается, популяция развивается от поколения к поколению, но с одним дополнительным плюсом. Это уже не один дем, в который входят шесть пауков, а, допустим, три полунезависимых дема (рис. 2.13). Эволюция каждого из трех демов протекает независимо, но отдельные особи периодически мигрируют из своего дема в другой и переносят свои варианты генов. В четвертой главе мы поговорим о теоретическом обосновании такой миграции. Сейчас мы можем лишь отметить, что все три группы эволюционируют с повышением качества паутины – в сторону более эффективной ловли мух. Иногда популяция встает на тупиковый путь развития. Варианты генов пауков-мигрантов сродни притоку свежей крови в жилах другой популяции. Можно сказать, сильная подгруппа отдает свои варианты той, что послабее, тем самым подсказывая ей более выгодный способ создания ловчей сети.
Во всех трех популяциях первое поколение включает в себя паутины разных форм, в большинстве своем с невысоким КПД. Мы видим, что по мере смены поколений, как и в случае неполового размножения (рис. 2.12), происходит постепенный переход к более качественным и эффективным вариантам. Но теперь “свежая кровь” распределяется за счет полового размножения, поэтому отдельные экземпляры в деме довольно похожи друг на друга. С другой стороны, генетически они являются отпрысками других демов, так что и различия достаточно заметны. На какой‐то стадии в одиннадцатом поколении гены двух паутин из дема 3 мигрировали в дем 2, то есть “инфицировали” дем 2 “кровью” дема 3. К пятидесятому поколению, а в некоторых случаях гораздо раньше, паутины превратились в прочные, надежные и экономичные ловушки.
Итак, можно воссоздать на компьютере некое подобие естественного отбора и получить искусственные ловчие сети, которые захватывают мух эффективнее, чем исходные. Это еще не подлинный естественный отбор, но существенный шаг вперед, больше приближающий нас к цели, чем полностью искусственная селекция биоморфов. Однако даже NetSpinner не воссоздает природный естественный отбор. Для того чтобы с помощью программы найти достаточно экономичные ловчие сети и выбрать наиболее пригодные для воспроизводства, требуется выполнить расчет. Программист должен сам определить стоимость “шелка” для данной паутины, причем в тех же единицах, что и ценность “мухи”. Он может, если захочет, изменить обменный курс. Например, удвоить “цену на шелк”. Тогда паутина большей площади или более плотная, на которую потратили больше шелка ради того, чтобы поймать больше мух, окажется менее пригодной для воспроизводства. Программист должен сам выбрать коэффициент пересчета. Это лишь один, самый очевидный пример конвертации. Коэффициент соответствия “мушиного мяса” вновь рожденным паучкам тоже должен задать программист. Он может быть любым. Сколько пауков погибает по разным причинам, не связанным с качеством паутины, также решает программист. Эволюция вида зависит от его волюнтаризма.