Какова вероятность кроссовера в генетическом алгоритме?Вероятность кроссовера в генетических алгоритмах
Общая процедура генетического алгоритма: генерируется (source)
Во-первых начальная популяция. Затем используется метод выбора (в данном случае выбор турнира), чтобы выбрать пару лиц, которые создадут пару детей.
Дети добавляются к детской популяции до тех пор, пока ее размер не достигнет желаемого значения.
Следующий шаг - объединить население родителей размера N и детского населения с размером M, либо путем замены одного на другого, сохраняя лучших N лиц из обеих популяций.
N = population size
P = create parent population by randomly creating N individuals
while not done
C = create empty child population
while not enough individuals in C
parent1 = select parent ***** HERE IS WHERE YOU DO TOURNAMENT SELECTION *****
parent2 = select parent ***** HERE IS WHERE YOU DO TOURNAMENT SELECTION *****
child1, child2 = crossover(parent1, parent2)
mutate child1, child2
evaluate child1, child2 for fitness
insert child1, child2 into C
end while
P = combine P and C somehow to get N new individuals
end while
Конечно, мы могли бы выполнить мутацию с заданной вероятностью, например, каждые 1 из 100 детей будут мутировал.
Но я не вижу точки кроссовера. Что происходит, когда пары родителей выбираются при выборе турнира, а кроссовер не происходит? Должны ли родители быть добавлены к детскому населению? В этом случае мы получим двойных членов в родительском и детском населении.
Целью здесь является создание как можно большего количества детей в каждом поколении, и это должно произойти с помощью кроссовера. Как изменить этот алгоритм так, чтобы скорость кроссовера имела смысл?
Если вероятность кроссовера равна 100%, то все потомки производятся кроссовером . Если это 0%, все новое поколение производится из точных копий хромосом из старой популяции (но это не означает, что новое поколение !). Source
Если вероятность Кроссовер 0%, то целое поколение состоит из точных копий хромосомы от старого населения. Тогда как получилось, что новое поколение не такое же?
«Тогда почему новое поколение не то же самое?» Мутация. –
@JohnColeman говорит, что новые хромосомы являются точными копиями хромосом от старого населения, так что, конечно же, нет. – user5539357
Они, вероятно, ошибаются, но даже если обе мутации и вероятности будут установлены в 0, не каждый представитель населения будет воспроизводить, поэтому население в целом по-прежнему будет меняться. –