답변

5

크로스 오버 확률은 정의상 이점이 없습니다. 이것은 유전 알고리즘의 동작을 조정할 수있는 매개 변수 일뿐입니다. 교차 확률을 낮추면 더 많은 사람들이 다음 세대에 변함없이 계속 될 것입니다. 특정 문제를 해결할 때 긍정적 인 효과가있을 수도 있고 그렇지 않을 수도 있습니다. 나는 유전 알고리즘이 TSP에 적용된 HeuristicLab에 작은 실험을 만들었다. 유전 알고리즘은 TSPLIB (bays29)의 작은 인스턴스에서 각 확률에 대해 10 번 반복되었습니다. 아래 이미지에서 볼 수 있듯이 패턴을 인식하는 것이 다소 어렵습니다. algorithmexperiment도 업로드 했으므로 HeuristicLab에서이 파일들을 열고 실험 해 볼 수 있습니다. 이 실험에는 각 실행에 대한 품질 차트와 추가 분석이 포함되어 있으므로 원하는 경우 수렴 동작을 확인할 수 있습니다.

Variations of crossover probability

선택한 전략은 너무 간단하고, 따라서 효과를 보여 실패도 가능성이있다. 실험에서 교차에 영향을받지 않는 부모도 적합성 비례 선택에 의해 선택되었습니다. 따라서 높은 수준의 개인이 인구를 매우 빠르게 지배하게됩니다. 다른 전략은 적합도 비례 선별에 의해 교차 부모만을 선택하고 남은 부모는 임의로 선택할 수 있습니다. 결과는 여기에서 볼 수 있습니다 (algorithmexperiment).

Variations of crossover probability

당신은 결과를 자신의 수정 및 실험을 할 수 있습니다.

관련 답변은 여기에서 확인할 수 있습니다. What is Crossover Probability & Mutation Probability in Genetic Algorithm or Genetic Programming?

3

나는 당신이 원하는 것을 정확하게 모른다. 크로스 오버 확률은 크로스 오버 연산자를 적용 할 확률입니다. [0.0, 1.0] 범위의 실수가 그 예입니다.

단일 최적 설정이 없습니다. 이것은 알고리즘의 다른 설정과 많은 요인 및 복잡한 상호 관계에 달려 있습니다. 예를 들어, 세대가 GA 인 경우 부모가 수정되지 않은 상태에서도 생존 할 수있는 가능성이 있기를 원합니다. 그렇지 않으면 좋은 해결책을 잃을 수 있습니다. 따라서 크로스 오버 비율을 0.7과 같이 다소 낮게 설정할 수 있습니다. 반면 CHC와 같은 알고리즘은 매우 강력합니다. 항상 최상의 솔루션을 유지하므로 더 광범위하게 검색 할 때 크로스 오버를 사용하는 동기가 더 커지므로 확률을 1.0으로 설정합니다. 다른 알고리즘은 전적으로 돌연변이에 의존하고 크로스 오버 비율을 0.0으로 설정합니다. 유전자 알고리즘의 가장 일반적인 값은 꽤 높습니다. 아마도 0.8에서 1.0 일 것입니다. 유전 프로그래밍은 낮은 값을 자주 사용하는 경향이 있으며, 0.3 또는 0.4로 낮을 수도 있습니다.

그러나 이것은 모두 요점입니다. 목표를 지원하는 알고리즘을 설계해야합니다. 얼마나 자주 크로스 오버를하는지 알아내는 것은 어떤 이유로 인해 결정해야합니다. 기성 유전자 알고리즘을 사용하고 거기에 무작위 매개 변수를 버리는 것이 전부라면 잘 작동하지 않을 것입니다.

관련 문제