2011-01-22 5 views
11

Я делаю последний проект года по генетическим алгоритмам - в частности, типа Докинз Уизель. Я сделал выбор в рулетке и выбор турнира, но для того, чтобы сделать устойчивый выбор состояния, но я не уверен, что это такое, и ссылки, которые я нахожу в Интернете, все довольно расплывчаты.Генетический алгоритм - что такое устойчивый выбор состояния?

Кто-нибудь знает, как это должно быть реализовано? Любые указатели были бы замечательными.

Большое спасибо.

ответ

19

Как правило, пробег генетического алгоритма делится на поколения - каждое поколение вашего процесса отбора и воспроизведения заменяет все (или, по крайней мере, большинство) населения. В генетическом алгоритме устойчивого состояния вы заменяете только несколько человек за раз.

Используйте стандартную технику отбора, чтобы выбрать родителей для производства этих немногих потомков. Затем произвольно выбирайте одинаковое количество людей, убивайте их и заменяйте их потомством (вы можете выбрать непригодных для смерти людей, но это может уничтожить разнообразие населения в нетривиальной проблеме).

Вы должны оценивать фитнес только один раз на каждого человека - после оценки пригодности, сохранения и повторного использования этого числа в будущем. Protip: когда создается новый человек, отмечайте его как неоценимую, а затем оценивайте его в первый раз, когда это необходимо (таким образом, если человек создается, а затем случайным образом выбран для смерти до его использования, вы не тратите время на оценку его пригодность).

Основная реализация должна быть довольно простой, но вы можете проверить Essentials of Metaheuristics (стр. 45-46, электронная книга доступна бесплатно).

Смежные вопросы