Эволюция (короткий адрес страницы: fornit.ru/evolution)

У креационистов есть любимая фраза: "Вера в случайное возникновение первой клетки подобно вере в то, что торнадо, пронесшийся по свалке, мог собрать Боинг-747 из находящихся там материалов". Глупость этой фразы в том, что у ветра нет критерия полезности промежуточных результатов, а у природной эволюции - есть - это смерть.
Есть другой вариант про вероятность. Говорят, что если бесконечно большой стаи обезьян дать пишущие машинки чтобы эти обезьяны все время клацали по буквам, печатая бессмысленный и случайный текст, то у большинства получится просто галиматья, но у единиц выйдут произведения великих писателей. Это верно для бесконечности обезьян и/или бесконечности времени. Но в природе хоть и очень много времени и очень много экспериментаторов, но нет таких бесконечностей для того, чтобы случайно создать самолет или человека за один раз. Но природа так и не работает.
Пусть после того, как каждая обезьяна напечатает очередное слово, оно проверяется на осмысленность богом. Если с новым словом текст не потеряет разумность, то он остается жить и развиваться далее. Если слово окажется неуместным, оно удаляется как вредная мутация.
И тогда за какое-то не бесконечное время будут напечатано множество разных вариантов прозы и каждый из вариантов будет продолжать развиваться, увеличивая число разных разумных (с точки зрения бога) книг.
У природы таким богом выступает смерть, которая не пропускает нежизнеспособное.
С каждой проверкой на разумность после напечатанного слова, вероятность вставки нового разумного слова имеет вполне состоятельную вероятность. Каждый раз эта вероятность реализуешься заново. У множества обезьян начнет формироваться множество вариантов разумного текста.
Конечно, это лишь философский мысленный эксперимент. Все намного сложнее и, в то же время, основывается всего на нескольких фундаментальных принципах: fornit.ru/806.

Для тех, кто желает увидеть и прочувствовать то, как эволюция творит сложные системы, предлагается демонстрационная программа. В ней смоделировано только самое главное в принципах эволюции живых существ: регуляция мутаций (мутациям в основном подвергаются только последние, а не внутренние части цепочек: fornit.ru/50319) и отбор смертью.
Попробуйте устроить эволюцию по шагам. Тут условно имитируется отбор наследственных мутаций. В каждом шаге образуются заданное число мутирующих цепочек, максимальной длины, с заданной вероятностью вредных мутаций.
Если в конце цепочки будет зеленый кружок, то такая цепочка жизнеспособна, а если красный – то отмирает. Желтые кружки - нормальный геном. В середине цепочки, после добавлений новых, остаются старые зеленые кружки, чтобы видеть, где были добавления.
Понаблюдайте, как с запуском нового шага увеличивается длина выживших цепочек. Вероятность появления сразу очень длинных цепочек очень мала, но для каждого шага она высока.
В результате живут как самые простые, так и самые сложные цепочки.

P.S. уже после пары десятков проходов демо начинает тормозить из-за большого количества информации.

Число мутирующих цепочек:

Максимальная длина новой цепочки:

Вероятность вредных мутаций (1 - 50%,2 - 33%, 3 - 25% и т.д.):