4. 기본 설정
• 염색체 모습은 이진 문자열 011101: vector<bool>
• 교차 연산은 다점 교차, 5
• 변이 연산은 기본 변이, 0.02
5. 알고리즘 구조
Algorithm 1 Max-cut 문제 해결을 위한 Hybrid 유전 알고리즘
Input: 그래프의 weighted / unweighted 간선들
1: 해집단 P 를 임의의 염색체 n개로 초기화한다
2: while 시간제한 안에서 do
3: parent1, parent2 = select(P )
4: offspring = crossover(parent1, parent2)
5: offspring` = mutate(offspring)
6: offspring`` = localSearch(offspring`)
7: replace(P, parent1, parent2, offspring``)
8: end while
9: return P 에서 가장 좋은 염색체
자식 염색체에 지역최적화 적용
안정 상태 유전 알고리즘
7. 기본 룰렛휠 적합도의 분포
평균 – 중앙값 < 0 ⟹ 부적편포가 나타남
-50
-40
-30
-20
-10
0
Chimera Cubic Planar Random1000 Random500 Toroidal
그림 1. 각 인스턴스 별 해집단의 {(적합도 평균) – (적합도 중앙값)} 평균
-526
8. 선택 연산: 순위기반 적합도
가장 나쁜 염색체의 적합도가 1이 되도록 조정
𝑠𝑐𝑜𝑟𝑒(` = 𝑠𝑐𝑜𝑟𝑒( − (𝑠𝑐𝑜𝑟𝑒- − 1)
𝑠𝑐𝑜𝑟𝑒-` = 𝑠𝑐𝑜𝑟𝑒- − (𝑠𝑐𝑜𝑟𝑒- − 1)
1
적합도
가장 나쁜 염색체가장 좋은 염색체
9. 순위 기반 적합도의 분포
해집단의 부적편포가 크게 해소된다
그림 2. 각 인스턴스 별 해집단의 {(적합도 평균) – (적합도 중앙값)} 평균
-50
-40
-30
-20
-10
0
10
Chimera Cubic Planar Random1000 Random500 Toroidal
기본 순위기반-526
-31
10. 대치 연산: 혼합
가장 나쁜 염색체 대치 & Preselection 방법
가장 나쁜 염색체 대치
0.2
더 나쁜 부모해 대치
0.8
11. 해집단 크기
클수록 좋지 않을까?
다양한 염색체를 갖고 출발할 수 있기 때문에
크기
표1. 해집단 크기에 따른 30회 최고점수의 평균 비교
16. 끌개와 자가수정
자가수정?
근친교배의 극단적 형태로
자신의 난자와 정자가 만나 수정하는 일.
Out-crossing을 하는 종에서는
유전자 다양성을 심각하게 해치는 행태.
출처: 위키피디아
동형접합 동형접합이형접합
해집단 관찰 결과, 같은 끌개 안에서 자가수정이 빈번
17. 자가수정 처벌 방법
해집단의 염색체를 관찰한 결과
하나의 표현형(점수)에
여러 개의 유전자형이 대응되는 경우가 많다는 사실을 발견
처벌 방법:
표현형(점수)이 같은 염색체가 부모로 선택되는 경우
교배된 자식은 변이 확률을 대폭 증가시킴
집합 S
집합 S'
20. 0
0.2
0.4
0.6
0.8
1
Chimera Cubic Planar Rand1000 Rand500 Toroidal
자가수정 시 동일 유전자형 비율: #동일 유전자형
#동일 표현형 + #동일 유전자형
• 자가수정: 점수가 같은 부모끼리 교배하는 경우
• 동일 표현형: 점수만 같은 부모
• 동일 유전자형: 점수 뿐만 아니라 유전자형까지도 같은 부모
동일 유전자형 비율이 굉장히 낮은 경우에
높은 변이 강도가 효과적이다
0.04 0.03