몇가지 용어에 대해서 정리해 보도록 하겠습니다.

사실 GA 에서는 크게 2가지의 알고리즘으로 나뉘어 있고
흐름에 의한 알고리즘 자체의 차이가 있을뿐이지
용어에 대해서는 차이가 없습니다.

하지만 GA 를 구현한 프로그램들마다
용어자체에 약간의 차이를 두고 구현되어 있는 경우가 있습니다.
그에 대해서 한번 생각해 보기 위해 용어에 대해 정리해 보는 것입니다.

가장 하위계층의 개체부터 개체의 조합. 그리고 연산자까지 정리해보도록 하겠습니다.

먼저 하나의 개체는 일반적으로 다음과 같이 되어 있습니다.

Chromosome - 유전자표현
Fitness - 적합도
OBJ(x) - 유전자표현을 10진수로 변환한것, 다른형태로 표현하기도 합니다.
parent1 -
parent2 - parent1과 2는 현재의 개체가 Crossover로 부터 다시 생성되었을 때
             이 두 개체의 부모개체가 되는 유전자의 번호입니다.

일반적으로 하나의 개체를 표현하는데에 저 다섯가지의 요소로서 구성됩니다.

저 개체는 Individual 이라고 표현하고 개체라고 합니다.

Individual < Population < Multi-population

이런식으로 되어 있습니다.

각각의 Individual 이 모인 집합을 Population 이라고 하고
Population 이 모인 집합을 Multi-population 이라고 합니다.

Multi-population 에 대해서는 나중에 소개를 하겠지만
대부분의 실제 알고리즘에서는 다수의 Population 을 이용해서
서로간의 연산 알고리즘이 이루어 집니다.
복잡해지는 관계로 다음에 추후 이야기 하겠습니다.

그리고 연산자에 대해서 간단히 용어정리를 하겠습니다.
CX = Crossover 를 의미하는 것입니다.
      제가 지난번에 Crossover 연산에 대해 간략하게 소개 했습니다.
      그런 식으로 이루어지는 일련의 연산들을 Crossover 라고 합니다.
      더 자세하게는 다음에 소개하겠습니다.
MUT = Mutation 을 의미합니다.
         역시 마찬가지로 다음에 소개 하겠습니다.
         (소개할 내용이 무지하게 많습니다;;)
SELECT = 말그대로 선택 연산자입니다.
INV = Inversion , 역위 연산자 입니다. 거의 쓰지 않습니다만
       몇몇 알고리즘에서는 여전히 이용합니다. 역시 나중에 설명하겠습니다.

사실 이 외에도 엄청나게 다양한 용어의 정리가 필요합니다.
하지만 가장 기본이 되는 저 틀은 거의 변하지 않습니다.

다음번에는 CX 연산자들에 대해서 소개하겠습니다.
몇회에 걸쳐서 소개해 보겠습니다.

+ Recent posts