Подтвердить что ты не робот

Генетический алгоритм - что такое устойчивый выбор состояния?

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

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

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

4b9b3361

Ответ 1

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

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

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

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