НОВАЯ ПАРАДИГМА - архив

 Новая тема  |  Наверх  |  Перейти к теме  |  Искать  |  Вход   Следующая тема  |  Предыдущая тема 
 Метод экспериментальной эволюции
Автор: SalvadoR (---.ap.plala.or.jp)
Дата:   25-02-04 17:42

Метод экспериментальной эволюции

"Поразительный результат заключается, во-первых, в том, что в такой вот среде эволюция действительно имеет место. Программы развиваются! Через определённое число поколений действительно появляется сначала одна программа, выполняющая EQU, затем их число быстро растёт.

Во-вторых, совершенно неожиданным образом ведёт себя генотип, приведший к “изобретению” EQU. Можно определенным образом измерять продуктивность каждой программы (с помощью fitness-function), то есть, грубо говоря, можно измерить, насколько хорошо данная программа приспособлена к окружающей среде. Разумеется, что в среднем генотип изменятся так, что эта функция больше у последующих поколений, чем у предыдущих, то есть идёт отсев отрицательных мутаций и культивация положительных. Однако “изобретения” кардинально новых функций, часто случается за счёт двух отрицательных мутаций, а именно: происходит отрицательная мутация, ведущая к тому, что продуктивность потомка меньше продуктивности предка; но эта мутация, не успевает отбраковаться, и другая мутация накладывается на неё, так что в сумме они дают чрезвычайно резкий прирост продуктивности. Именно такая ситуация является типичной при “изобретении” EQU.

В-третьих, код для исполнения операции EQU оказался irreducibly complex, то есть он является комплексом структурно взаимосвязанных друг с другом команд, удаление хотя бы небольшого числа из которых приводит к невозможности исполнения этой операции. Примеров неприводимо сложных систем в биологических организмах полно. Классический пример – человеческий глаз: он не сможет выполнять свою функцию, если удалить даже малую часть его компонентов. Основным аргументом против теории эволюции Дарвина (то есть против ненаправленной эволюции) является именно то, что невозможно себе представить, что неприводимо сложные системы появились случайно “по частям”. Ответ же дарвинистов (в том числе сам Дарвин так говорил) следующий: в процессе эволюции возможны функциональные изменения отдельных органов. Пример: жабры у рыб превратились в уши у млекопитающих. И как будто данный компьютерный эксперимент подтверждает такую точку зрения – появление неприводимо сложных систем возможно посредством ненаправленной эволюции.

В-четвертых, просматривается безумно интересное приложение к программированию, дизайну, инженерии, робототехнике и прочим областям человеческой деятельности. До того, как начать эксперимент, один из участников группы Ленского, специалист по computer science, написал наиболее короткий код для произведения операции EQU – он состоял из 19 шагов. После проведения эксперимента оказалось, что в процессе эволюции появились программы, которые научились выполнять эту операцию за 17 шагов. Но ещё более важным открытием можно считать следующее. ДНК программ в конечных поколениях достигала порядка 60 команд, при этом эти программы умели выполнять все (или почти все) возможные операции. Человек не был способен настолько компактно разместить код для решения всех этих задач."

 
 Re: А можно поподробней условия эксперимента?
Автор: Варнак (194.84.59.---)
Дата:   09-03-04 19:57

Особи
Каждая программа состоит из нескольких модулей. Основной из них – её ДНК – список команд, который она циклическим образом (с возможными ответвлениями) выполняет. В частности, одной из задач, записанных в ДНК, является самовоспроизводство, то есть создание своей копии. Далее, программа потребляет некий ресурс (так же как мы потребляем энергию), который она добывает из “окружающей среды”. Ресурсом, необходимым программе для выживания, является CPU-time, процессорное время, которое даётся ей на выполнение своих команд. Ясно, что чем большее времени ей даётся, тем больше она может размножаться. Процессорное время программа должна “добыть”, и делается это следующим образом. Программе даётся одно или два 32-ухбитных числа, над которыми можно произвести некоторые логические операции, например: NOT, OR, AND и другие. За каждую безошибочно произведённую операцию программа получает некоторое количество процессорного времени в награду. Причём, чем сложнее операция, тем большее вознаграждение программа получает. Самая простая операция – NOT, самая сложная (их всего, по-моему, 12 или около того) – EQU, то есть побитовое сравнение двух 32-ухбитных чисел.
А не выполнившие ни одной операции особи сразу убиваются/не допускаются к размножению? Если допускаются – эксперимент некорректен - размножаются особи, не добывшие жизненного ресурса.
Эксперимент
Эволюция начинается с некоторого довольно большого числа программ, назовём их особями, с одинаковым генотипом (ДНК) и фенотипом (то есть теми функциями, которые в данной среде данная особь выполняет). При этом они не умеют выполнять никакие из выше перечисленных операций, и процессорное время даётся всем одинаковое. Затем программы размножаются, при этом происходят мутации, ( Как происходят мутации? Типа случайного изменения кода особи + % простого копирования кода? Для корректности эксперимента необходимо чтобы мутации затрагивали исполняемую , в том числе репродуктивную часть кода. ) и появляются программы, способные делать простейшие операции, вроде NOT, и получать дополнительное процессорное время. Один из вопросов в том, дойдёт ли эволюция до изобретения способа выполнения операции EQU? Если дойдёт, то каким именно образом будет на пути эволюции изменяться её генотип и фенотип?

Тогда сразу имеем проблему происхождения жизни – исходные особи нежизнеспособны = не умеют выполнять никакие из выше перечисленных операций - тогда для выживания необходима жизнеспособная мутация на 1-м же поколении (лучше с со случайным появлением репродуктивной части кода :)



Сообщение отредактировано (09-мар-04 20:00)

 Список форумов  |  Вид деревом   Следующая тема  |  Предыдущая тема 


 Эта тема закрыта 

phorum.org