Groshik писал(а):
Но пора познакомить этих существ с суровой правдой жизни! Теперь они будут размножаться и вымирать. Во-первых, каждая точка будет давать две в следующем поколении, каждую по тем же правилам (и нам придется сильно понизить размер популяции, хоть он и так мизерный, а так же уменьшить число поколений, чтоб компьютер нам их год не обсчитывал). Но зато, если раньше мы не давали уходить за 0 - упроститься больше уже нельзя было, то теперь у нас будут эти горемыки "деградировать окончательно". Просто при отрицательном значении линия прервется - все, она больше не может размножаться (а заодно сэкономит нам время обсчета).
Попробуем для 10 линий, скажем, поколений по 20. Лучше бы больше, но не знаю, сколько займет времени. Если что - увеличим популяцию.
Готова новая программа по вашему заказу. Ошибки не исключены...
При таком способе роста уже нет смысла выделять красным отдельные пути.
При 25 поколениях в итоге остаются "живыми" больше 9 млн.
Найти среди них что-то вручную уже нереально.
Так для проверки вашей "модели эволюции" на соответствие реальности
будем анализировать три параметра:
- число преодолевших верхний порог
- число затем вернувшихся к нижнему порогу
- Колмогоровскую сложность каждого поколения - это на закуску

Вот я запустил первый раз прогу для вычисления максимального значения,
которое будет достигнуто по X (которое вы обозвали "сложностью")
команда:
./bmp-plot 25 12345 10 5 -m
результаты:
PARAMS: points=25, random seed=12345
RESULTS: lived=9653813, dead=356168, min=0, max=21
Второй запуск для расчета числа трасс которые вышли за верхний порог,
и числа трасс, после выхода за верхний порог, вернувшихся к нижнему порогу.
В качестве верхнего порога выбрано 67% максимума
В качестве нижнего порога выбрано 33% максимума
команда:
/bmp-plot 25 12345 10 5 -c 7 14
результаты:
PARAMS: points=25, random seed=12345, LOW=7, HIGH=14
RESULTS: lived=9653813, dead=356168, min=0, max=21,
beyond the upper threshold =13703,
then beyond the lower threshold =1
write successfully
Итак, мы видим, что у нас из 13 тыс. трасс одна вернулась.
Вы обозвали движение вправо усложнением, а движение влево упрощением.
Получается - всего лишь один вид из 9 млн, после усложнения
до 66% максимума упростился до 33% максимума.
Казалось бы, прекрасный результат. Вы достигли чего хотели

Как же он был достигнут? Конечно, благодаря взрывному росту числа трасс (популяций)
У вас на каждом поколении одна популяции порождала две.
И практически никто не вымирал, кроме упростившихся до минимума.
Все ваши успехи были в самых последних поколениях.
Стоит взять нижнюю половину графика, и результаты буду совсем другими.
Максимум=21. Рассмотрим нижнюю половину максимума.
Назначим пороги: 19% от половины максимума и 76% от половины максимума
21/2*0,76 = 8
21/2*0,19 = 2
Результат совсем другие.
Видим множество случаев резкой деградации видов.Команда:
./bmp-plot 25 12345 10 5 -c 2 8
Результаты:
PARAMS: points=25, random seed=12345, LOW=2, HIGH=8
RESULTS: lived=9653813, dead=356168, min=0, max=21,
beyond the upper threshold =288686,
then beyond the lower threshold =12741
write successfully
Так что колебательная природа ваших «усложнений» никуда не делась. Это по прежнему флуктуации.Вам не удалось создать аналог практически монотонно возрастающей сложности в природе(за исключением слегка упростившихся паразитов)
Где вы видели в природе размножение в геометрической прогрессии без смерти?Можно не сомневаться. Если мы добавим сюда смерть,
то у вас вообще все испортится. Хотите изменим программу?
А теперь на закуску Колмогоровская сложность...Команда:
/bmp-plot 25 12345 10 5 -c 7 14
Вот вам ваша картинка. По Х растянуто в 10 раз.
По Y с интервалом 5 пикселей, чтобы хорошо было видно.
Каждая линия - это новое поколение.
Где же ваше усложнение?KS каждой линии - та же самая

(кроме двух линий в начале)
Ибо массив из 100 единиц и массив из 1000000 единиц после сжатия архиватором будет той же длины.
Вы не смогли даже в вашей модели продемонстрировать рост KS
Еще попытаетесь?