Генетический алгоритм и тетрис

Я создаю игрока в тетрис, используя генетические алгоритмы, и сталкиваюсь с некоторыми проблемами. Я прочитал много связанных работ, но они не дают мне достаточно подробностей о GA.

Проблема в том, что мой агент, кажется, очень быстро застревает ... Я использую функцию оценки, беря покрывающие 4 характеристики: высоту, закрытые отверстия, плоскостность и количество очищенных строк. Я прочитал статью, в которой используется такая же оценка и которая может обрабатывать тысячи строк.

После 600 поколений с популяцией в 100 агентов лучший из них способен выполнять в среднем только 260 строк, это отстой. Все агенты разыгрывают одну и ту же последовательность фигур.

Подробная информация о моем GA:

поколения: 600 популяция: 100

гены: массив из 4 значений с плавающей запятой, от 0 до 1.

Равномерный кроссовер происходит с определенной вероятностью, и с определенной вероятностью происходит обмен генами между двумя родителями.

Мутация происходит с определенной вероятностью, здесь я попробовал 3 разных подхода: поменять местами гены, заменить ген на случайное значение или добавить к гену какое-то шумовое значение.

У меня элитный показатель 50%, и я заметил, что отбираются некоторые хорошие агенты и рождаются худшие агенты, заражающие население.

Выбор - это колесо рулетки ...

Если бы кто-нибудь мог дать мне подробную информацию о лучшем способе пересечения и мутации, я ценю!

Спасибо и извините за длинный пост!

10
задан Fernando 13 October 2011 в 22:55
поделиться