Иисус отверг Тему - Модель генетической эволюции в виде одномерного клеточного автомата [entries|archive|friends|userinfo]
Шансонье Дима Даннер

[ website | Полин Квітне ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Модель генетической эволюции в виде одномерного клеточного автомата [Feb. 24th, 2007|05:09 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
Поле представляет собой ленту 1 х бесконечность с пронумерованными клетками. Имеется набор фишек разных цветов (некоего достаточно большого количества цветов). Цвета следуют один за другим в замкнутой последовательности (например, синий-красный-зеленый-синий-красный итд). Такую последовательность будем называть программой.
На каждом ходу на первой пустой клетке появляется новая фишка по следующим правилам:
С вероятностью 1-х - фишка цвета, следующего за цветом последней поставленной фишки,
С вероятностью х - фишка любого случайного цвета.



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

При нулевом х коэффициенты воспроизведения будут такими:
1 цвет = 1
2 цвета = 0,5
3 цвета = 0,33
4 цвета = 0,25 и так далее

При х = 0,25:
1 цвет = 0,75 (1*(1-х)
2 цвета = 0,375 (0,5*(1-х)
3 цвета = 0,2475 (0,33*(1-х) и так далее

Пусть теперь программа обладает свойством автоэволюции. При воспроизведении с коэффициентом, большем 0,5, количество цветов в программе увеличивается на единицу с вероятностью v/4, где v - условный "коэффициент эволюции". При коэффициенте воспроизведения, меньшем 0,5-(v*количество цветов), набор цветов уменьшается на единицу, но не может стать меньше единицы.
Чем больше коэффициент эволюции v, тем больше вероятность возникновения сложных программ (пять-шесть цветов и выше) и тем меньшая воспроизводимость допустима для них.
Следовательно, чем больше v, тем большее падение коэффициента воспроизведения для таких программ (например, возможно возникновение переусложненной программы, не способной к самовоспроизведению и не могущей отбросить лишние элементы - это эволюционный тупик).
При меньшем v меньше вероятность усложнения программы и выше требования к ее воспроизводимости.

Выбор функции эволюции произволен, но удобно сделать ее линейной от коэффициента воспроизведения, как описано выше, тогда все коэффициенты получают вполне приличную интерпретацию:
1. Вероятность ошибки x - физический фактор среды, например, уровень радиации. Радиационные всплески препятствуют нормальной репликации ДНК.
2. "Порог эволюции" - у меня в программе 0,5 - значение коэффициента воспроизведения, при котором возможно усложение программы. По сути, это выживаемость потомства. Если воспроизводится больше организмов, чем минимум выживаемости, то появляется пространство для генетических вариаций.
3. Наконец, "коэффициент эволюции" v - внутренний параметр, характеризующий длину цикла воспроизведения ДНК. Чем длинее цикл, тем больше вероятность изменений генетического материала и одновременно тем резче уменьшается размножаемость и склонность к риску (К-сдвигу в развитии популяции). То есть более простые организмы склонны к экспансии, а более сложные - к выживанию в заданной среде.

Тесты показывают ряд интересных вещей, но об этом - по их завершении.
LinkLeave a comment

Comments:
From:[info]phantom
Date:February 25th, 2007 - 10:01 am
(Link)
т.е. если x == 0, лента просто циклически сдвигается?
интересен "ряд интересных вещей"
[User Picture]
From:[info]dmitry_danner
Date:February 25th, 2007 - 02:00 pm
(Link)
Если программа эволюционирует, то период цикла меняется, а так да.
Подозреваю, что мне точности не хватает, то бишь мало попыток даю своему генератору случайных чисел.
Из программы могу кинуть основной цикл, потому как сбор статистики можно улучшать, а ее показ и сохранение привязаны к платформе все равно.
From:[info]phantom
Date:February 26th, 2007 - 05:01 am
(Link)
проще, быть может, просто на svn внешний выкладывать такие дела

но сначала расскажи результаты, ибо они интересны
From:[info]phantom
Date:February 25th, 2007 - 10:01 am
(Link)
та и всю программу ты кинул бы...