염색체가 정수 목록 인 문제를 해결하기 위해 유전 알고리즘을 구현하고 있습니다 (N은 잘 맞춰야합니다. 해결책은 단지 적자가 아닌 결과).GA Jgap : 순서가 계산되지 않는 중복 (doublettes) 염색체를 피하십시오
(... I 중복 대립 유전자와 염색체에 피트니스 = 0을 설정하여했고, 괜찮아요) 각 정수 염색체에 한 번만 나타나야합니다
내 문제 : 내 문제에
의 숫자가 염색체에 나타나는 순서는 포함되지 않습니다 (1 2 3은 2 1 3과 같습니다).
conf.getNaturalSelectors(false).clear();
BestChromosomesSelector bcs = new BestChromosomesSelector(conf, 0.8d);
bcs.setDoubletteChromosomesAllowed(false);
conf.addNaturalSelector(bcs, false);
그러나 :
그래서 실행의 끝에서, 나는 가능한 해결책
내가 여기에보고 솔루션 (using JGAp (genetic algorithm library) and the duplicated chromosomes) 이런 식으로 중복 염색체를 제거하기 위해 사용
의 목록을했습니다 그것은 예를 들어, 삭제하지 않습니다 단지 동일한 염색체를 제거합니다 : 내 문제에A B C D
A C B D
B A C D
그 염색체는 동일한 솔루션을 나타내는
그래서 나는 같은 적응력과 같은 의미를 지니지 만 다른 순서로 유전자를 가진 염색체 목록으로 끝납니다.
표현 순서에 관계없이 동일한 솔루션을 나타내는 염색체를 제거하려면 어떻게해야합니까?
감사합니다. 좋은 하루 보내십시오.
Pragy, 고맙습니다. JGAP 염색체를 확장하지 않고 가능한 경우 JGAP에서이를 수행하는 방법을 궁금해합니다. 그렇지 않은 경우 올바른 방법으로 유전자를 확장하는 동안 어디에서 확장해야합니까? . 그러나 귀하의 대답은 괜찮습니다, 고마워요 .. 더 나은 아무것도 나오지 않으면 내가 올바른 것으로 표시합니다. – MaxS