Homologous CX 연산자는 기본적으로 동일 구조를 가진 서브트리들 간의 교환만 허용하는 연산자 입니다. 즉, 위의 그림에 Tree1 과 Tree 2 에서, 1-1, 2-2, 3-3, 6-4, 7-7 간의 교환만을 허용한다는 이야기 입니다.

이 연산자의 출발점은 생물체의 교배에 있어서 동일 형질의 유전자 만을 교환한다는 것으로 기억하고 있습니다. 예로서 팔의 유전자와 다리의 유전자를 교환해서는 이상형질이 나타날 수 있다는 것을 들 수 있겠습니다.

실제로 몇가지 테스트 문제에 대해 실험해 보면 매우 빠른 속도로 연산이 이루어지고, 코드의 증가 또한 기본 연산자에 비해서 매우 적게 증가하는 것을 확인할 수 있었습니다.

본 소스코드에 어떤 오류가 있을지는 모르겠습니다만, 혹시 참고하실 분은 첨부된 소스를 받으셔서 돌려보시면 되겠습니다.


homologous.c





+ Recent posts