Роджер Алсинг написал эволюционный алгоритм для воссоздания Mona Lisa с использованием С#. Его алгоритм прост:
- Генерация случайной совокупности размера два.
- Замените наименее подходящего человека клоном наиболее приспособленных.
- Мутировать одного из людей.
- Перейдите к шагу 2
Существует инфраструктура Java Evolutionary Algorithm, называемая Watchmaker. Автор повторил проблему Моны Лизы с использованием подлинного генетического алгоритма: http://watchmaker.uncommons.org/examples/monalisa.php
Это начинается достаточно хорошо, но в течение 30 минут реализация часовщика стагнирует с плохим приближением, тогда как реализация Роджера выглядит почти полной. Я пытался играть с настройками, но это не помогло. Почему реализация часовщика намного медленнее, чем у Роджера и почему она застаивается?
Ссылки
- Roger source-code
- Часовщик исходный код