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

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

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

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

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

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

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