Дарвин знал о чем говорил

2015-05-30 | 20:12 , Категория текст


Однажды я баловался с генетическими алгоритмами.
Создавал сущности задачей которых было угадывать выпадающие шары в лото.
Те, кто угадывал лучше и быстрее, скрещивались и оставляли потомство.
У каждой сущности был набор параметров: глубина анализа прошлых розыгрышей (10 последних розыгрышей, 100 последних подряд за текущий год или 1000 произвольных за позапрошлый год), склонность выбирать "горячие" или "холодные" шары и прочее.
Все эти параметры заложены в "генофонде" сущностей. Только первое поколение само от балды устанавливало себе параметры.
Так вот, запустил я эту карусель и лег спать.
И вот что оказалось на утро.
Те из сущностей, кто выбрал себе глубину анализа ноль, т.е. те, кто отказался от анализа прошлых розыгрышей, у них у всех размер буфера был тоже ноль.
Нигде в коде я не указывал, что буфер может быть пустым даже если анализ прошлых розыгрышей не требуется. Сущности сами "пришли к выводу", что с пустым буфером поиск быстрее и "отбросили" буфер за ненадобностью.

С лото ничего не получилось, но еще много дней я ходил с опупевшим выражением лица.