Ссылки для упрощенного доступа

logo-print

Искусственная эволюция и цифровые эксперименты


Самыми важными для развития цивилизации в конце 20 века не очень рискуя ошибиться можно назвать два направления развития науки: генетика и Интернет. На первый взгляд между ними не слишком много общего. Но только на первый.

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

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

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

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

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

"Происхождение человека тем самым установлено... Тот, кто понимает бабуина, больше продвинулся по части метафизики, чем Локк..." Этой смелой записью в карманном блокноте, сделанной в 1838 году, Чарльз Дарвин провозгласил начало революционной программы исследований, которая увенчалась двумя фундаментальными трудами: "Происхождение видов" (1859) и "Происхождение человека" (1871).

Но сто лет спустя астроном Фред Хойл высказался так:

"Мысль о возникновении жизни из простых молекул столь же нелепа и неправдоподобна, как и утверждение, что ураган, пронесшийся над мусорной свалкой, может привести к сборке Боинга -747".

Представить себе подобное, конечно, невозможно. Но значит ли это что на теории Дарвина следует поставить крест и искать другие объяснения эволюции природы и человека?

Представим себе такой эксперимент. Возьмем недлинную стихотворную строку. Например, "Я вас любил: любовь еще, быть может". В строке 36 символов, включая пробелы и знаки препинания. В русском алфавите 32 буквы исключая "Ё" и 13 знаков - ,.?!'":;()-..., включая пробел, то есть в расширенном алфавите 45 символов. Или несколько больше, если, например, мы включим в наш расширенный алфавит квадратные скобки, прямой и обратный слэш и так далее. Но для определенности остановимся на 45 знаках.

Какова вероятность того, что, выбирая случайным образом 36 символов из нашего алфавита, мы получим строку пушкинского стихотворения? Она равна 1 деленной на 36 в 45-й степени - 10 в минус 70 степени. Это настолько ничтожно мало, что мы смело можем приравнять ее нулю. Чтобы эта вероятность поднялась до каких ощутимых величин, времени жизни вселенной явно не хватит, каким бы быстродействием не обладал наш компьютер выбирающий 36 символов. Это и есть случай Хойла - ураган собирает Боинг.

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

Это две совершенно разные эволюционные модели. Первая - это модель случайной эволюции. Вторая - кумулятивной эволюции. То есть такой эволюции, которая четко знает цель, к которой стремится. Какая из этих моделей реализуется в Природе?

Модель Дарвина, даже в своей самой первой классической формулировке естественного отбора все-таки ближе к модели кумулятивной эволюции, чем к случайной.

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

Для того чтобы попытаться прояснить характер эволюционных процессов можно использовать методы математического моделирования. В первую очередь это касается кумулятивных моделей. Если эти модели действительно работают в природе, может быть они в упрощенном виде смогут работать и в модели?

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

Работу генетического алгоритма мы рассмотрим на примере задачи, известной как "задача коммивояжера". Формулируется задача так: коммивояжеру требуется объехать несколько городов, побывав в каждом один раз, и вернуться в исходную точку. Нужно найти кратчайший маршрут.

Самый, на первый взгляд, простой способ найти оптимальное решение - перебрать все возможные значения параметров. Однако, чтобы решить таким способом задачу коммивояжера хотя бы для 20 городов, потребуется перебрать около 10^19 маршрутов, что совершенно нереально при любом быстродействии.

Попробуем применить к нашей задаче генетический алгоритм.

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

Мы будем рассматривать много поколений решений, сменяющих друг друга. Если мы сумеем моделировать естественный отбор и генетическое наследование, то полученный мир будет подчиняться законам эволюции. Заметим, что, в соответствии с нашим определением приспособленности, целью этой искусственной эволюции будет как раз создание наилучших решений. Очевидно, эволюция - бесконечный процесс, в ходе которого приспособленность особей постепенно повышается. Когда остановить этот процесс, мы решим сами - либо ориентируясь на то, что решения улучшаются слишком медленно от поколения к поколению, либо потому, что мы достигнем необходимого уровня точности.

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

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

Генетический алгоритм запускается созданием первичных решений - инициализаций. Затем мы по правилам скрещивания, с применением мутаций создаем следующее поколение, и особи выбираются в нем тем вероятнее, чем лучшее решение задачи они дают. И так далее.

Давайте используем генетический алгоритм при решении задачи коммивояжера для 20 городов. В качестве особей будем рассматривать маршруты обхода. Информацию о маршруте можно записать в виде одной хромосомы - набора чисел длиной 20, где в первой позиции стоит номер первого города на пути следования, затем - номер второго и так далее.

Определим мутацию как перестановку значений двух случайно выбранных генов. При таком преобразовании путь следования меняется ровно в двух городах. Город который мы проехали, например, 2-ым становится 11-ым в нашем новом маршруте, а 11-й занимает место 2-ого. Прежде, чем мы запустим программы на счет, мы должны еще определить вероятности мутаций и скрещивания. В природе, мутации происходят гораздо реже, чем скрещивания. Теперь мы может запустить процесс эволюционного поиска и наблюдать, как сокращается маршрут. Как правило, генетические алгоритмы "ошибаются" не более чем на 5-10%. Этот недостаток компенсируется относительно высокой скоростью работы. В некоторых программных пакетах мы можем оставить процесс через 25-30 секунд, потому что маршрут продолжает сокращаться, но все медленнее и медленнее от поколения к поколению и полученное решение нас вполне устраивает.

Как это ни странно, но мы справились вполне удовлетворительно с задачей коммивояжера. Это - сильный результат.

В последние годы активно ведется исследование поведения компьютерных программ, эволюционирующих в цифровых средах.

В номере от 7 мая 2003 журнал Nature опубликовал сообщение о работе над проектом Avida http://dllab.caltech.edu/avida/ осуществляевом на протяжении нескольких лет группой исследователей Калифорнийского технологического института и Мичиганского университета.

Главный рабочий инструмент авторов проекта - компьютерная программа под названием Avida. Это - генетический симулятор, создающий в памяти компьютера подобие живой природы.

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

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

Цифровые создания представляют собой программы, состоящие из цепочек команд - таких как выделение памяти, копирование содержимого ячеек и т.д. Но функция цели или функция полезности, которая и направляет эволюцию цифровых созданий, не сводится только к максимальному уровню воспроизводства. Создателям Avida удалось научить свои цифровые творения выполнять серию логических операций. Конечно, эти создания научились столь сложным вещам не в результате некоей одной мутации или одного решающего скрещивания, но, получая поощрение в виде дополнительной возможности оставить потомство за небольшой прогресс в нужном направлении (к примеру, за то выполнение какой-либо одной логической операции), за 15 тысяч поколений они решили поставленную перед ними большую задачу.

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

Гораздо более устойчивыми оказываются особи с меньшим уровнем воспроизводства себе подобных - в этих случаях образуется "облако" или "квазиособь", как называет это явление Крис Адами. Квазиособь содержит множество вариантов очень близкого генетического кода - то есть это множество близких родственников, и некоторые из них оказываются жизнеспособны. И на длинных отрезках эволюции побеждают более устойчивые к мутации особи, а не те, которые наиболее быстро воспроизводятся. Крис Адами высказал предположение что биологические вирусы ведут себя именно как квазиособи - то есть как многовариантные генетические образования. И именно это позволяет им выживать и приспосабливаться. В то время как любой конкретный генотип оказывается неспособным противостоять губительной мутации, в "облаке" организмов найдутся некоторые особи, генотипы которых смогут приспособиться и выживать.

Крис Адами настаивает на том, что его цифровые особи - это живые организмы. Он говорит:

"Мы моделируем мир, но мы не моделируем организмы, живущие в этом мире. Они живут и борются, чтобы выживать. Информация, которая является генетической последовательностью этих цифровых организмов, закодирована в физическом виде в памяти компьютера. И они настолько физически существуют, как физически существует информация, закодированная в последовательности ДНК".

Исследования Криса Адами и его коллег представляют безусловный интерес. Хотя и не следует преувеличивать достигнутое. Ученые определили целевую функцию не так, как требует этого классический дарвинизм: цель - не максимальное воспроизводство особей, а умение выполнять набор логических операций. Само по себе умение не помогает воспроизводству цифровых вирусов, это происходит только потому, что так устроена внешняя среда. То есть фактически система говорит своим обитателям: заниматься нужно математикой, тогда и с воспроизводством все будет нормально. Вы получите высокую норму воспроизводства в качестве награды. В случае Криса Адами размножение цифровых вирусов напрямую зависит не от того, как они учатся размножаться, а от того, как они умеют познавать.

Конечно, пока преждевременно говорить о том, что эти эксперименты подтвердили теорию Дарвина в том виде, который придали ей современные биология и генетика.

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

Чтобы моделировать альтруистические схемы, сами цифровые создания должны стать несравнимо более сложными. Когда Крис Адами говорит об облаке мутаций, он в определенном смысле говорит о социализации цифровых созданий. Нужно только научить особи делиться друг с другом своими достижениями целенаправленно, а не только случайно. Но интересно, что в мутационном облаке Криса Адами цифровые особи как будто могут развиваться, помогая сохранять групповой оптимальный код, и устойчивый к высокой норме мутаций, и достаточно быстро воспроизводимый.

Нужно ответить на вопрос, как эволюция зависит от целевой функции. Может ли развиваться цифровая экосистема при отсутствии цели? По-видимому, нет. Непонятно как в этом случае определить какой цифровой организм более достоин выжить, а какой должен быть отбракован.

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

Значит целевая функция, задающая параметры выживания, должна быть определена, но неоднозначна - ясно, куда идти, но есть и степени свободы. Целевая функция - это характеристика среды, в которой развивается цифровой организм. И она может меняться. То есть, если мы попытаемся исследовать сами целевые функции, нам придется строить систему вложенных друг в друга эволюционирующих сред. Но, исследуя эволюцию целевой функции мы можем понять механизм качественного скачка, который, безусловно, присутствует в естественной эволюции.

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

Все ссылки в тексте программ ведут на страницы лиц и организаций, не связанных с радио "Свобода"; редакция не несет ответственности за содержание этих страниц.

XS
SM
MD
LG