Генетический алгоритм выбора рулетки - возвращение 2 родительских хромосом
Я хочу реализовать выбор колеса рулетки в своем алгоритме GA. Я попробовал следующее руководство /questions/43628798/vyibor-ruletki-v-geneticheskih-algoritmah/43628803#43628803 но оно отправляет обратно новое население вместо 2 лучших родителей. Предположим, я уже нашел оценку пригодности для начальной популяции, и теперь мне нужно выбрать две родительские хромосомы для популяции в соответствии с их пригодностью. А дальше идет процесс кроссовера и мутации. В следующем случае, как я могу найти 2 лучших родителей для кроссовера на основе выбора колеса рулетки?
population = [[text1],[text2],[text3],.....[textnum]]
fitnesses = [0.8057515980834005, 1.2151126619653638, 0.6429369518995411, ... 0.805412427797966]
num = 50
1 ответ
Это не отправляет обратно новое население, просто num
родители. Если вы хотите, чтобы 2 родителя позвонили roulette_select
сюда:
roulette_select(population, fitnesses, 2)
Часто оператор кроссовера GA ожидает двух родителей, но существуют вариации со многими родителями (например, генетические алгоритмы с рекомбинацией с несколькими родителями - AE Eiben, PE. Raué, Zs. Ruttkay).
Есть также операторы самокроссовера.
Итак, имея num
входные параметры имеют смысл.