불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편 추론의 방법
기본적으로 모두 최적해가 될 가능성이 없는 답들을 탐색하는 것을 방지해 탐색할 답의 수를 줄이는 것을 목표로 함
예를 들어 길이가 10인 경로를 이미 찾았는데, 이후 다른 경우의 수를 구하는 과정에서 도착점에 도착하기도 전에 길이가 10이 넘어가면 마저 탐색하지 않고 종료해버린다.
1. 초기 후보해 집합 G0을 생성
2. G0의 각 후보해를 평가
3. t = 0
4. do
5. Gt로부터 Gt+1을 생성
6. Gt+1의 각 후보해를 평가
7. t = t+1
8. while(종료조건이 만족될 때 까지)
9. return Gt의 후보해 중 가장 우수한 해
현재 세대의 후보해 중 우수한 후보해를 선택하는 연산
현재 세대에 n개의 후보해가 있다면, 이들 중 우수한 후보해는 중복되어 선택될 수 있고, 적합도가 상대적으로 낮은 후보해들은 선택되지 않을 수도 있다. 이렇게 선택된 후보해의 수는 n개로 유지된다. 이러한 선택은 적자생족 개념을 모방한 것이다.
후보해1의 적합도가 10, 후보해2의 적합도가 5, 후보해3의 적합도가 3, 후보해4의 적합도가 2라고 하자. 이때 후보해가 차지하는 돌림판의 면적은 (후보해 적합도/모든 후보해의 적합도의 합)이 된다. 모든 면적은 20, 후보해1의 면적은 10/20 = 50%, 후보해2의 면적은 5/20 = 25%, 후보해3의 면적은 3/20 = 15%, 후보해4의 면적은 2/20 = 10%이다. 현재 4개의 후보해가 있으므로, 4개의 원판을 돌리고 회전이 멈추었을 때 핀이 가ㄹ키는 후보해를 각각 선택하면 된다.
선택 연산을 수행한 후의 후보해 사의에 수행되는 방법으로, 염색체가 교차하는 것을 그대로 모방한 것
2개의 후보해가 각각 2진수로 표현된다면, 교차점 이후의 부분을 서로 교환하여 교차연산을 수행하고 그 결과로 각각 새로운 후보해가 만들어 짐. 이와 같은 교차 연산을 1-점(point)교차 연산이라고 함
후보해가 길게 표현되면, 여러 개의 교차점을 임의로 정하여 교차 연산을 할 수 도 있다. 선택 연산을 통해서 얻은 수보다 우수한 후보해를 생성하는 것이 목적이다. 문제에 따라 교차 연산을 수행할 후보해의 수를 조정하는데, 이를 교차율이라고 한다. 일반적으로 교차율은 0.2~1.0 범위에서 정한다.
교차 연산 후에 수행되는 연산으로 아주 작은 확률로 후보해의 일부분을 임의로 변형시키는 것이다. 이 확률을 돌연변이율(mutation rate)이라고 하며, 일반적으로(1/PopSize)~(1/Length)의 범위에서 사용된다.
PopSize
: 모집단 크기로, 한 세대의 후보해의 수Length
: 후보해를 이진 표현으로 했을 경우의 bit 수