crossover 2

9. 실수최적화 문제에서 이용되는 CX 연산자 (1)

오랜만에 GA 관련 포스팅 입니다. 예전에 한번 설명 드렸지만, GA 는 원래 Bit 형태의 유전자를 이용해서 연산을 하게 됩니다. 이 Bit 형태의 유전자를 이용해서 연산을 하게 되면, Bit -> Real Number -> Bit 의 변환과정을 거쳐서 적합도평가(Fitness Evaluation)가 이루어집니다. 결과적으로 변환 과정의 해상도(Bit 의 갯수를 얼마나 더 확장시키는지)가 성능에 어느정도 영향을 미치는 꼴이 됩니다. 이 문제에 대해 간단한 예제로 설명하자면 밑의 More 부분을 클릭하시면 됩니다. 만약 10bit 의 유전자를 사용해서 0~1 사이의 숫자를 표현한다고 가정해봅니다. 그렇다면 가장 작은 숫자인 0은 0000000000 (2진수) 으로 표현되겠고, 가장 큰 숫자인 1은 111..

4. CX(Crossover) 연산자

이번에는 GA 의 핵심 연산자인 Crossover 연산자 입니다. GA 의 연산자 중에서 가장 많은 연산을 수행하고 그만큼 중요도도 높은 Crossover 연산자 입니다. 수많은 방식의 연산자 들이 존재하지만 오늘은 밑에 있는 것에 대해서만 알아보겠습니다. 1. Onepoint crossover(Single) 2. Twopoint crossover(Multi) 3. Uniform crossover 위의 1,2 번 연산자는 대표적인 기본 연산자 이고, 거의 모든 bit 연산에서 쓰입니다. 3번은 거의 쓰이지 않지만 어떤 문제에는 쓰이기도 합니다. 그래서 소개하는 것입니다. 어쨌든 하나하나 알아보도록 하죠. 1. One-point Crossover(Single Crossover) Onepoint Crosso..