SlideShare a Scribd company logo
1 of 21
Download to read offline
유전 알고리즘
두 번째 프로젝트
김현우
시각 및 학습 연구실
목 차
별다르지 않은 설정 소개
선택 연산의 적합도 계산
대치 연산 방법
해집단 크기 분석
지역최적화 분석
자가수정 처벌 및 분석
과제에 임한 자세 다양성
기본 설정
• 염색체 모습은 이진 문자열 011101: vector<bool>
• 교차 연산은 다점 교차, 5
• 변이 연산은 기본 변이, 0.02
알고리즘 구조
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 에서 가장 좋은 염색체
자식 염색체에 지역최적화 적용
안정 상태 유전 알고리즘
조금은 다를 수 있는 설정들
기본 룰렛휠 적합도의 분포
평균 – 중앙값 < 0 ⟹ 부적편포가 나타남
-50
-40
-30
-20
-10
0
Chimera Cubic Planar Random1000 Random500 Toroidal
그림 1. 각 인스턴스 별 해집단의 {(적합도 평균) – (적합도 중앙값)} 평균
-526
선택 연산: 순위기반 적합도
가장 나쁜 염색체의 적합도가 1이 되도록 조정
𝑠𝑐𝑜𝑟𝑒(` = 𝑠𝑐𝑜𝑟𝑒( − (𝑠𝑐𝑜𝑟𝑒- − 1)
𝑠𝑐𝑜𝑟𝑒-` = 𝑠𝑐𝑜𝑟𝑒- − (𝑠𝑐𝑜𝑟𝑒- − 1)
1
적합도
가장 나쁜 염색체가장 좋은 염색체
순위 기반 적합도의 분포
해집단의 부적편포가 크게 해소된다
그림 2. 각 인스턴스 별 해집단의 {(적합도 평균) – (적합도 중앙값)} 평균
-50
-40
-30
-20
-10
0
10
Chimera Cubic Planar Random1000 Random500 Toroidal
기본 순위기반-526
-31
대치 연산: 혼합
가장 나쁜 염색체 대치 & Preselection 방법
가장 나쁜 염색체 대치
0.2
더 나쁜 부모해 대치
0.8
해집단 크기
클수록 좋지 않을까?
다양한 염색체를 갖고 출발할 수 있기 때문에
크기
표1. 해집단 크기에 따른 30회 최고점수의 평균 비교
해집단 수렴성
그림 5. 세대 진행에 따른 해집단 수렴성
0
100
200
300
400
500
600
700
800
900
1000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
Chimera Cubic Planar Rand1000 Rand500 Toroidal
지역 최적화
지역최적화 분석
시간은 적게 쓰지만 효과는 굉장했다!
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Toroidal
Rand500
Rand1000
Planar
Cubic
Chimera
유전알고리즘 지역최적화
50.0% 55.0% 60.0% 65.0% 70.0% 75.0% 80.0% 85.0% 90.0% 95.0% 100.0%
Toroidal
Rand500
Rand1000
Planar
Cubic
Chimera
전체 시간 중
지역최적화에 사용되는
시간의 비중
전체 점수 중
지역최적화가 기여하는
점수의 비중
다른 설정
끌개와 자가수정
자가수정?
근친교배의 극단적 형태로
자신의 난자와 정자가 만나 수정하는 일.
Out-crossing을 하는 종에서는
유전자 다양성을 심각하게 해치는 행태.
출처: 위키피디아
동형접합 동형접합이형접합
해집단 관찰 결과, 같은 끌개 안에서 자가수정이 빈번
자가수정 처벌 방법
해집단의 염색체를 관찰한 결과
하나의 표현형(점수)에
여러 개의 유전자형이 대응되는 경우가 많다는 사실을 발견
처벌 방법:
표현형(점수)이 같은 염색체가 부모로 선택되는 경우
교배된 자식은 변이 확률을 대폭 증가시킴
집합 S
집합 S'
-3
-1
1
3
5
7
9
Chimera Cubic Planar Rand1000 Rand500 Toroidal
0.1 0.2 0.3 0.4 0.5
자가수정 처벌 강도에 따른
점수 증감 비교
그림 3. 자가수정 처벌 없는 경우 대비 점수 증감 비교
0
0.2
0.4
0.6
0.8
1
Chimera Cubic Planar Rand1000 Rand500 Toroidal
자가수정 시 집합 S의 정점 비율
그림 4. 자가수정 시 부모해에서 집합 S에 속한 정점 비율
0
0.2
0.4
0.6
0.8
1
Chimera Cubic Planar Rand1000 Rand500 Toroidal
자가수정 시 동일 유전자형 비율: #동일 유전자형
#동일 표현형 + #동일 유전자형
• 자가수정: 점수가 같은 부모끼리 교배하는 경우
• 동일 표현형: 점수만 같은 부모
• 동일 유전자형: 점수 뿐만 아니라 유전자형까지도 같은 부모
동일 유전자형 비율이 굉장히 낮은 경우에
높은 변이 강도가 효과적이다
0.04 0.03
감사합니다

More Related Content

More from Hyunwoo Kim

Capstone Design(2) 중간 발표
Capstone Design(2) 중간 발표Capstone Design(2) 중간 발표
Capstone Design(2) 중간 발표Hyunwoo Kim
 
Capstone Design(2) 연구제안 발표
Capstone Design(2) 연구제안 발표Capstone Design(2) 연구제안 발표
Capstone Design(2) 연구제안 발표Hyunwoo Kim
 
Capstone Design(1) 최종 발표
Capstone Design(1) 최종 발표Capstone Design(1) 최종 발표
Capstone Design(1) 최종 발표Hyunwoo Kim
 
Capstone Design(1) 중간 발표
Capstone Design(1) 중간 발표Capstone Design(1) 중간 발표
Capstone Design(1) 중간 발표Hyunwoo Kim
 
Capstone Design(1) 연구제안 발표
Capstone Design(1) 연구제안 발표Capstone Design(1) 연구제안 발표
Capstone Design(1) 연구제안 발표Hyunwoo Kim
 
Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]Hyunwoo Kim
 
Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]Hyunwoo Kim
 
Decision Tree Intro [의사결정나무]
Decision Tree Intro [의사결정나무]Decision Tree Intro [의사결정나무]
Decision Tree Intro [의사결정나무]Hyunwoo Kim
 

More from Hyunwoo Kim (8)

Capstone Design(2) 중간 발표
Capstone Design(2) 중간 발표Capstone Design(2) 중간 발표
Capstone Design(2) 중간 발표
 
Capstone Design(2) 연구제안 발표
Capstone Design(2) 연구제안 발표Capstone Design(2) 연구제안 발표
Capstone Design(2) 연구제안 발표
 
Capstone Design(1) 최종 발표
Capstone Design(1) 최종 발표Capstone Design(1) 최종 발표
Capstone Design(1) 최종 발표
 
Capstone Design(1) 중간 발표
Capstone Design(1) 중간 발표Capstone Design(1) 중간 발표
Capstone Design(1) 중간 발표
 
Capstone Design(1) 연구제안 발표
Capstone Design(1) 연구제안 발표Capstone Design(1) 연구제안 발표
Capstone Design(1) 연구제안 발표
 
Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]
 
Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]
 
Decision Tree Intro [의사결정나무]
Decision Tree Intro [의사결정나무]Decision Tree Intro [의사결정나무]
Decision Tree Intro [의사결정나무]
 

Genetic Algorithm Project 2

  • 1. 유전 알고리즘 두 번째 프로젝트 김현우 시각 및 학습 연구실
  • 2. 목 차 별다르지 않은 설정 소개 선택 연산의 적합도 계산 대치 연산 방법 해집단 크기 분석 지역최적화 분석 자가수정 처벌 및 분석
  • 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 에서 가장 좋은 염색체 자식 염색체에 지역최적화 적용 안정 상태 유전 알고리즘
  • 6. 조금은 다를 수 있는 설정들
  • 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회 최고점수의 평균 비교
  • 12. 해집단 수렴성 그림 5. 세대 진행에 따른 해집단 수렴성 0 100 200 300 400 500 600 700 800 900 1000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 Chimera Cubic Planar Rand1000 Rand500 Toroidal
  • 14. 지역최적화 분석 시간은 적게 쓰지만 효과는 굉장했다! 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Toroidal Rand500 Rand1000 Planar Cubic Chimera 유전알고리즘 지역최적화 50.0% 55.0% 60.0% 65.0% 70.0% 75.0% 80.0% 85.0% 90.0% 95.0% 100.0% Toroidal Rand500 Rand1000 Planar Cubic Chimera 전체 시간 중 지역최적화에 사용되는 시간의 비중 전체 점수 중 지역최적화가 기여하는 점수의 비중
  • 16. 끌개와 자가수정 자가수정? 근친교배의 극단적 형태로 자신의 난자와 정자가 만나 수정하는 일. Out-crossing을 하는 종에서는 유전자 다양성을 심각하게 해치는 행태. 출처: 위키피디아 동형접합 동형접합이형접합 해집단 관찰 결과, 같은 끌개 안에서 자가수정이 빈번
  • 17. 자가수정 처벌 방법 해집단의 염색체를 관찰한 결과 하나의 표현형(점수)에 여러 개의 유전자형이 대응되는 경우가 많다는 사실을 발견 처벌 방법: 표현형(점수)이 같은 염색체가 부모로 선택되는 경우 교배된 자식은 변이 확률을 대폭 증가시킴 집합 S 집합 S'
  • 18. -3 -1 1 3 5 7 9 Chimera Cubic Planar Rand1000 Rand500 Toroidal 0.1 0.2 0.3 0.4 0.5 자가수정 처벌 강도에 따른 점수 증감 비교 그림 3. 자가수정 처벌 없는 경우 대비 점수 증감 비교
  • 19. 0 0.2 0.4 0.6 0.8 1 Chimera Cubic Planar Rand1000 Rand500 Toroidal 자가수정 시 집합 S의 정점 비율 그림 4. 자가수정 시 부모해에서 집합 S에 속한 정점 비율
  • 20. 0 0.2 0.4 0.6 0.8 1 Chimera Cubic Planar Rand1000 Rand500 Toroidal 자가수정 시 동일 유전자형 비율: #동일 유전자형 #동일 표현형 + #동일 유전자형 • 자가수정: 점수가 같은 부모끼리 교배하는 경우 • 동일 표현형: 점수만 같은 부모 • 동일 유전자형: 점수 뿐만 아니라 유전자형까지도 같은 부모 동일 유전자형 비율이 굉장히 낮은 경우에 높은 변이 강도가 효과적이다 0.04 0.03