x, y, z

Занимательный компьютер: Моделирование эволюции в мире биоморфов

Дьюдни А. К.

Комментарии: 0

ЕСЛИ живые существа уподобить часовым механизмам, то создавший их часовой мастер, по мнению Р.Докинза, биолога из Оксфорда, автора книги «Эгоистичный ген» (The Selfish Gene), должен быть слепым. В конце концов эволюцией управляют слепые физические силы. Докинз присоединился к полемике между креационистами и эволюционистами, поддерживая последних, о чем свидетельствует написанная им недавно другая книга - «Слепой часовой мастер» (The Blind Watchmaker). Чтобы проиллюстрировать одно из главных положений своей книги, Докинз написал компьютерную программу, которая позволяет пользователю моделировать эволюционный процесс, придумывая и графически изображая свои собственные формы жизни, абстрактные организмы, которые Докинз называет биоморфами.

Программа, которую мы так и назовем WATCHMAKER (часовой мастер), демонстрирует ошибочность довода, часто выдвигаемого критиками теории эволюции. Каким образом нечто такое сложное, как «машина жизни», может возникнуть просто в результате стечения случайных событий? На первый взгляд кажется, что это действительно невероятно. Интуитивно мы чувствуем, что здесь не обошлось без «часового мастера», как говорил У.Пэйли, английский теолог, живший в XVIII в. Доказывая, что у всех форм жизни должен быть Создатель, Пэйли рассуждал следуюшим образом. Если, идя по полю, мы наткнемся на камень, то можно, конечно, подумать, что он лежал там вечно. «Однако предположим, - писал Пэйли, - что я нашел на земле часы и захотел узнать, как они здесь оказались. Едва ли я удовлетворюсь тем же ответом, что и в предыдущем случае… Часы, должно быть, имели своего творца».

Пэйли умер еще до того, как родился Чарлз Дарвин, однако современные креационисты соглашаются с аргументом Пэйли. При каком стечении случайных событий могли появиться часы на поле, о котором говорит Пэйли? Ошибочность этого аргумента заключается в неявном предположении, что случайные события, которые привели к появлению часов (или их творца), происходили более или менее одновременно. Здесь не принимаются в расчет эффекты кумулятивных, т. е. накапливающихся изменений. Программа WATCHMAKER как раз и показывает на примере вычислительных процессов, сколь значительными могут быть кумулятивные изменения. Правда, творения этой программы - не живые организмы, а лишь биоморфы: статические формы, напоминающие живых существ.

Процесс начинается с очень простого образования в центре экрана, который делится на большие клетки:

Генетические вариации нейтрального дерева
Генетические вариации нейтрального дерева

Предположим, к примеру, что центральная клетка содержит маленькое дерево с несколькими ветвями. Программа WATCHMAKER порождает деревья - вариации исходного, которые заполняют соседние клетки на экране. У одних деревьев становится больше веток, у других меньше, одни становятся выше, другие ниже. Характер изменений, которым могут подвергаться деревья, определяется некоторым набором генов. Но об этом мы поговорим несколько позже. Все производные деревья рассматриваются как потомки центрального дерева. Они представляют собой те видоизменения, которые возможны в популяции на данный момент.

Программа WATCHMAKER выполняется на персональном компьютере «Макинтош». Поэтому эволюционный процесс управляется «мышью» - устройством ввода, которое пользователь перемещает рукой по контактной площадке. Движение мыши сопровождается таким же движением маленького темного квадратика - указателя на экране компьютера. В ходе работы программы WATCHMAKER пользователь выбирает, какое из изображенных на экране деревьев должно дать потомство в следующем поколении. Для этого нужно загнать указатель, управляемый мышью, в один из квадратов, в котором находится выбранное дерево. У мыши есть кнопка, на которую нужно нажать, когда указатель уже находится в выбранной клетке; в этом случае все последующие деревья будут потомками выбранного. Оно перемещается в центральный квадрат. Теперь цикл отбора повторяется. Такая селекционная последовательность порождает филогенетическую линию деревьев, представители которой в каждом поколении несколько отличаются от родителя. Однако медленное накопление незначительных изменений может привести к удивительным результатам.

Докинз пишет, что, собираясь в первый раз запустить программу WATCHMAKER, он «надеялся увидеть плакучие ивы, ливанские кедры, ломбардийские тополя, водоросли, и может быть, оленьи рога. Но ни моя интуиция биолога, ни двадцатилетний опыт программирования компьютеров, ни самые необузданные полеты моей фантазии не подготовили меня к тому, что я увидел на экране в действительности. Я уже не помню, глядя на какой элемент последовательности, я начал впервые подозревать, что… может получиться нечто вроде насекомого… Все меньше веря своим глазам, я наблюдал, как сходство с насекомым становится все более отчетливым». И вот, наконец, под триумфальные звуки фанфар на экране появились насекомоподобные существа:

Насекомоподобные биоморфы, порожденные программой WATCHMAKER
Насекомоподобные биоморфы, порожденные программой WATCHMAKER

Докинз плохо спал в ту ночь, перед его глазами роились насекомые.

Так появилась первая из тех форм, для которых позже Докинз придумал общее название биоморфы. На самом деле все формы, порождаемые программой, представляли собой деревья. Причудливо изгибающиеся ветви могут придать этим деревьям формы, в которых мы узнаем не только тело, крылья и ножки насекомых, но и мириады других биоморфов, включая древовидных лягушек, летучих мышей и даже орхидеи. Могут появиться и такие технические формы, как лампочки и лабораторные весы:

Каким же образом программа «исполняет вариации на заданную тему»? Как я уже говорил, форма каждого дерева, порождаемого программой, определяется генами. Всего их 16. Роль некоторых генов объяснить просто. Эффект других заранее предсказать невозможно, потому что их роль зависит от взаимодействия с третьими. Несколько генов определяют количество ветвей и общие размеры дерева. Из генов второго типа три гена в определенных сочетаниях влияют на горизонтальную протяженность ветвей, в то время как пять других совместно определяют их вертикальную протяженность.

Мир Докинза представляет собой 16-мерное пространство, населенное всевозможными вариантами биоморфов. В конце концов каждое существо полностью определяется набором из 16 чисел, представляющих его генетическую наследственность. Эти числа можно считать значениями координат, и тогда каждый биоморф становится просто точкой в пространстве, которое Докинз называет миром биоморфов. Программа WATCHMAKER представляет собой отличное средство, при помощи которого можно исследовать этот мир.

Программа Докинза слишком длинна и сложна, и я не смогу ее здесь описать прежде всего потому, что в ней осуществляется выбор большого количества различных режимов и параметров, и каждую процедуру выбора можно считать отдельной программой. Например, в программе можно выбрать режим конструирования. Пользователь знакомится с комментарием, прилагаемым к программе, чтобы научиться непосредственно манипулировать генами, с целью получить те или иные конкретные биоморфы. Среди других режимов есть и так называемая «история ископаемых останков». В этом режиме эволюционные ветви хранятся в виде отложений различных исторических эпох. Есть также режим «в поисках чудовища», в котором происходит случайный отбор потомства в каждом поколении. Этот процесс продолжается до тех пор, пока не появится какая-нибудь интересная форма, может быть даже чудовище.

Вот здесь креационист, наверное, воскликнет: «Обман!» - И не без оснований. Ведь это, по существу, искусственный отбор выживающих вариантов, совершаемый человеком. Другими словами, это не естественный отбор, а направленная селекция. Дарвин говорил об успешной деятельности селекционеров, чтобы подкрепить свой тезис о существовании изменчивости в популяциях. Конечно, эта деятельность не доказывает существования естественного отбора. Аргументы в пользу последнего Дарвин черпал из многих источников, в том числе он их находил и в истории ископаемых останков. Цель, преследуемая Докинзом, тем не менее была достигнута. Эффекты накапливающихся изменений могут быть весьма впечатляющими. Они были бы еще более впечатляющими, если на обвинение в обмане можно было ответить более непосредственным образом. Нельзя ли, скажем, сделать так, что бы процедура отбора в программе не направлялась человеком и даже не была случайным процессом, а определялась в той или иной форме требованиями окружающей среды? Могла бы эволюция быть результатом конкурентного взаимодействия между различными видами?

Докинз сформулировал следующую задачу для программистов: «Биоморфы должны взаимодействовать в компьютере, который моделировал бы враждебную среду. Какие-то детали формы организмов должны определять, выживут они или погибнут в данной среде». Он указывает, далее, что уязвимость организмов должна следовать из самой модели, а не быть заранее «встроенной» программистом. Число генов можно варьировать. Докинз считает, что если кто-нибудь и справится с задачей, то это будут программисты из «числа тех, кто сочиняет всем знакомые видеоигры». Должен сказать, что я в этом сомневаюсь.

Хотя сам я, наверное, не справлюсь с задачей Докинза, я все же могу проиллюстрировать в общих чертах модель, которую он имел в виду. В конце концов можно придумать два каких-нибудь взаимодействующих вида, которые постепенно изменяются в результате взаимодействия. Однако уязвимость видов я как «часовой мастер-любитель» встроил в них заранее. Возможно, описанный ниже пример вдохновит кого-нибудь из читателей, и он превзойдет мою скромную попытку, создав настоящую эволюционную (если не сказать революционную) программу.

Рассмотрим организмы, изображенные на рисунке внизу. Назовем их шипофитом и гнутозавром. Гнутозавр не может жить без сочных листьев, растущих на верхушке шипофита. К сожалению, у основания шипофит окружен ошейником из колючих ядовитых шипов. Однако гнутозавр, как говорит само его имя, имеет в своем теле изгиб, позволяющий ему избегать смертельных уколов колючек шипофита, когда он пытается достать сочные листья последнего.

 Взаимозависимая эволюция шипофита и гнутозавра
Взаимозависимая эволюция шипофита и гнутозавра

Это, как говорится, хорошо. Плохо же то, что гнутозавр ужасно негибкий. Его тело всегда изогнуто под углом 90°. Более того, ни шея, ни тело его не гнутся. Поэтому гнутозавр осужден на то, чтобы есть листья лишь на определенном уровне, конечно, при условии, что его шея окажется достаточно длинной, чтобы достать их.

Само собой разумеется, что обе популяции подвержены случайным вариациям в своем генетическом коде. Гнутозавры могут быть различной высоты (измеряемой по высоте плеч) и могут иметь шеи разной длины. Колючки шипофита все одинаковой длины у одного и того же растения, но их длина может быть неодинаковой у разных растений. Высота шипофита также подвержена небольшим случайным изменениям.

Чтобы управлять формой каждого из этих биоморфов, им достаточно иметь по два гена. У гнутозавра один ген ответствен за высоту, другой за длину шеи. У шипофита также два гена, один задает высоту и один длину шипов. При определенных условиях, указанных в программе, которую я назвал ESCAPEMENT эволюция этих двух форм жизни может быть взаимозависимой. В эволюционной перспективе изменения своих генов шипофит «стремится» избавиться от гнутозавра (отсюда название программы: escapement, что в переводе означает «избавление»), видоизменяясь так, чтобы последнему было все труднее добывать его листья.

Программа ESCAPEMENT поочередно предоставляет возможность обоим биоморфам изменять свою форму. Например, шипофит может стать несколько выше или ниже, а его шипы - длиннее или короче. Высота тела и длина шеи гнутозавра также могут меняться в ту и другую сторону. Поскольку для обоих биоморфов существуют абсолютные верхние пределы размера, бесконечная «гонка вооружений» невозможна. Например, сумма длины шипов и высоты ствола шипофита не может превысить некоторого предельного значения, которое я назову smax. Аналогичным образом длина гнутозавра, измеряемая от его головы до кончиков пальцев на ногах, не превышает предельного значения bmax. Чтобы сделать модель интереснее, я решил, что bmax будет больше smax.

Каким образом программа ESCAPEMENT решает, какой из потомков каждого биоморфа выживет? Критерий заключается в величине, называемой дистанцией кормления. Она измеряет расстояние между головой гнутозавра и ароматными листьями шипофита. Предположим гнутозавр имеет рост w, а длина его шеи равна х. Если высота ствола шипофита равна у, а длина его колючек z, то дистанция кормления выражается обычной формулой евклидова расстояния: квадратным корнем из величины (z - х)2 + (у - w)2. Если z оказывается меньше х, формула изменяется. В этом случае гнутозавр может стоять сколь угодно близко к шипофиту, и рассматривается только второй член формулы.

Неудивительно, что шипофит стремится эволюционировать так, чтобы максимально увеличить дистанцию кормления. Задача гнутозавра, наоборот, заключается в том, чтобы сделать это расстояние минимальным. Каждый биоморф, когда до него доходит очередь, порождает двух отпрысков. Например, если высота шипофита в данном поколении равна у, то в следующем она может стать равной у - 1 или у + 1. Длина шипов может либо увеличиться от z до z + 1, либо уменьшиться до z - 1.

В каждом случае выбор осуществляется случайным образом. Аналогично возникают два видоизмененных потомка у гнутозавра. Вместе с двумя видоизмененными потомками родительский биоморф сохраняется для последующего оценивания перед лицом своего биологического противника. Критерием и в этом случае является дистанция кормления. Например, тот из трех шипофитов, которому удается держать «живущего» в данный момент гнутозавра на наибольшей дистанции, отбирается, так сказать, в квазиестественном процессе и сохраняется для следующего раунда эволюции. Теперь наступает очередь гнутозавра. Он сам и его два видоизмененных потомка проверяются на выживание в среде с новой моделью шипофита. Тот, у которого дистанция кормления окажется минимальной, будет родителем нового поколения.

Было бы замечательно, если бы программа ESCAPEMENT имела графические возможности, позволяющие ей изображать шипофитов и гнуто-завров, представителей двух древних и знаменитых биоморфов, так, как это сумел сделать наш художник. Однако это выше моих возможностей. Я остановил свой выбор на простейших диаграммах, одна из которых приведена на самом рисунке. Здесь нет практически ничего, кроме представления основных переменных в виде прямолинейных отрезков. Читатели, которые не пожелают возиться даже с такими простейшими изображениями, могут удовлетвориться тем, чтобы программа просто распечатывала значения четырех переменных в конце каждого раунда.

Программа ESCAPEMENT построена в виде единого цикла, в теле которого оба биоморфа изменяются, оцениваются и демонстрируются:

input bmах, smax
input w, х, у, т.
input gen
for i - 1 to gen

создать потомков шипофита
оценить шипофитов
создать потомство гнутозавра
оценить гнутозавров
показать победителей

Пользователь, конечно, должен ввести исходные значения шести основных переменных от руки, а также задать значение величины gen, число поколений, или витков эволюции. Затем выполняются итерации в двух внутренних подциклах размножения биоморфов, их оценивания и показа. Биоморф воспроизводится путем выбора двух случайных чисел, определяющих, увеличится или уменьшится значение каждого гена. Например, алгоритм, с помощью которого порождаются два видоизмененных гнутозавра, получает мутации а и Ь соответственно для генов w и х следующим образом:

r - random
if r< 0,5 then a = w - 1
else a = w + 1
s = random
if s < 0,5 then b = x - 1
else b = x + 1

Теперь программа располагает тремя гнутозаврами. Их генетические наборы могут быть представлены в виде трех пар чисел: [w, х], [а, х], [w, b]. Который из них является наилучшим? Программа ESCAPEMENT оценивает эти три модели, подсчитывая для них соответствующие дистанции, на которых гнутозавры могут добыть себе корм с каждой текущей модели шипофита. Обозначив дистанции dl, d2 и d3, их можно вычислить по существу с помощью одной и той же формулы. Вот, например, как программа вычисляет второе расстояние, d2, между гнутозавром [а, х] и шипофитом [ у, z]:

if x < z then d2 = (z - x}2 + (у - а)2
else d2 = (у - а)2

В каждом случае применяется формула евклидова расстояния, в которую подставляются соответствующие координаты головы животного и листа растения. Когда все три расстояния вычислены, наименьшее из них определяется путем последовательных сравнений:

if d2 <= dl and d2 <= d3
then w = a

if d3 <= dl and d3 <= d2
then x = Ь

Если ни одно из двух пар неравенств не удовлетворяется, то родитель сохраняет превосходство над своими потомками. Поэтому гены х и w остаются прежними. Аналогичным образом программа оценивает шипофитов с той лишь разницей, что по отношению к растениям в качестве критерия способности выжить берется не минимум, а максимум расстояния.

Пока мы еще ничего не сказали о пределах роста, о чем упоминалось выше. Каким образом программа ESCAPEMENT препятствует неумеренному росту каждого из биоморфов? Простейший способ заключается в том, чтобы наказывать биоморфа-переростка при вычислении расстояния. Например, если видоизмененный гнутозавр [а, х] окажется слишком большим, то сумма а + х превысит значение bmах. В этом случае к подсчитанному расстоянию можно прибавить, скажем, 1000, чтобы этот мутант не оказался победителем. Шипофиты-переростки могут наказываться, наоборот, путем вычитания 1000 из вычисленного для них расстояния. Аналогичным образом оба биоморфа должны наказываться в том случае, если любая из четырех переменных окажется отрицательной.

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

Что же происходит с биоморфами при выполнении программы ESCAPEMENT? В какой-то степени это зависит от исходных значений четырех генов и двух предельных размеров, вводимых перед началом выполнения программы. Значения переменных могут также зависеть от размеров экрана. Пусть, например, smax будет равно 100, а bmах 110. Тогда мы будем наблюдать интересное явление. Выберем исходные значения для четырех генов произвольно в диапазоне от 0 до 50. Можно, например, начать с хорошо сбалансированных биоморфов, либо высоких и худых, либо низких и толстых. По мере того как одно поколение сменяет другое, мы становимся свидетелями гонки. Гнутозавр может «преследовать» шипофита, производя все более высоких и худых потомков, и, в конце концов, обогнав в росте растение, преградить ему путь вверх. Тогда шипофит может попытаться «убежать» вниз, все более широко расставляя свои ядовитые колючки. Гнутозавр в свою очередь тоже будет становиться более приземистым, а его шея начнет удлиняться. Таким образом, при выполнении простого требования, чтобы значение bmах превосходило smax, будет всегда возникать кажущаяся бесконечной последовательность из побегов и погони. Читатели, обладающие хорошим воображением, возможно, смогут представить себе, какими будут результаты в противном случае.

Разумеется, когда мы говорим о побеге и погоне, мы имеем в виду не отдельных биоморфов, а «историю ископаемых останков». Наверное, палеонтолог, исследующий всю последовательность слоев отложений с ископаемыми шипофитами и гнутозаврами, будет немало удивлен, как оба вида меняли свои размеры со временем подобно раскачивающемуся маятнику.

Докинз предлагает читателям его книги самим заняться разработкой экспериментальных программ, которые позволяют исследовать эволюционные процессы. Эти программы могут быть либо усовершенствованными версиями ESCAPEMENT, либо представлять собой значительно более глубокие разработки.

Споры между креационистами и эволюционистами не утихают, но, может быть, и те и другие одинаково далеки от истины? Забавная мысль: представим себе Творца, способного создавать пути эволюции и с улыбкой наблюдающего за тем, как ломают копья сторонники двух противоположных концепций.

ИГРА под названием ГВУ (Гарантированное взаимное уничтожение) была темой нашей статьи в декабрьском номере журнала за прошлый год. Придуманная в 1985 г. Т. Хомер-Диксоном и К. Оливо из Массачусетского технологического института, игра моделирует стратегию двух сверхдержав, балансирующих на грани между войной и миром. Были проведены эксперименты, в которых студенты МТИ, сидя за клавиатурами компьютеров, играли роль руководителей государств. Какой стратегии придерживаться? Воздерживаться от нападения и получать таким образом относительно скромную прибавку к очковому балансу или начать военные действия в надежде значительно изменить этот баланс в свою пользу? По мере того как развиваются события, потенциальный выигрыш стороны, принявшей решение атаковать первой, резко возрастает.

Несмотря на тот факт, что перед частью студентов была поставлена цель достичь наибольшего количества очков, чему лучше всего способствует мирная политика, многие из них не стали ее придерживаться. В их числе оказался и Д.Фармер из Миссисога (Канада, провинция Онтарио), попытавшийся проанализировать сходную игру, применив принципы теории игр. В теории рассматриваются лишь так называемые матрицы игры в отрыве от последующих ходов. Теория также требует максимально увеличивать счет, сводя к минимуму потери на каждом этапе игры. Чтобы воспользоваться теорией, Фармер нашел способ генерировать новые игровые матрицы, отражающие последующий ход игры. В своем письме Фармер рассмотрел пример с пятью центральными матрицами игры ГВУ. По мнению Фармера, наиболее благоприятный момент для нападения возникает на втором этапе. Однако он заключает: «Перед лицом все возрастающей угрозы опустошительного первого удара, чтобы следовать мирной стратегии, нужно руководствоваться соображениями, выходящими за пределы теории игр. С другой стороны, если негативные последствия будущих военных сценариев сделать менее негативными, то даже теория отдаст предпочтение мирной стратегии. Переговоры о разоружении способствуют уменьшению угрозы войны в будущем, модифицируя таким образом баланс очков в положительном направлении».

В последних стадиях игры ГВУ возникает ситуация, известная под названием «Дилеммы арестованного»: вознаграждение за признание (соответствующее за нападение в ГВУ) становится настолько большим, что возникает соблазн «нажать кнопку». И все же турнир по игре «Дилемма арестованного», проведенный несколько лет назад в Мичиганском университете, показал, что наилучшей стратегией в игре была стратегия «око за око», т. е. пока ваш оппонент воздерживается, вам тоже лучше воздерживаться. Теперь студенты (и вообще все желающие) могут проводить свои собственные турниры по игре «Дилемма арестованного». Уже существует программное обеспечение игры для компьютера Макинтош, а вскоре будут готовы и программы для персонального компьютера фирмы IBM и совместимых с ним компьютеров. Авторы этих программ - Л. Беркхолдер и К. Уолтон из Университета Карнеги - Меллона.

В МИРЕ НАУКИ. (Scientific American. Издание на русском языке) • 1988 №4. стр. 81-85

Комментарии: 0