레플리
글 수 12

유전적 알고리즘으로 운전을 학습시켜보았다

조회 수 1823 추천 수 0 2019.05.29 02:25:25


 

 

 

유전 알고리즘은 인간의 진화 과정을 컴퓨터로 시뮬레이션 하는 방법입니다. 이를 사용하여 자동차가 길을 찾는 과정을 보여주는 영상입니다.

 

유전자는 010020112 같은 숫자의 나열로 이루어져 있습니다. 이를 유전형(genotype)이라 부릅니다. 각 유전자는 개체의 모양이나 행동을 나타냅니다. 여기서는 0->직진, 1->좌회전, 2->우회전 입니다. 이렇게 유전형의 실제 의미가 표현형(phenotype)입니다.

 

 

 

초기 유전자풀에서 임의로 두 개씩 짝지어서 교차(crossover)를 수행합니다. 특정 위치를 기준으로 서로 유전자를 교환하는 것을 말합니다. 예를 들어, 다음과 같습니다.

 

1번 유전자 : 00112001
2번 유전자 : 11000201
4번째 위치에서 교차 : 00110201, 11002001

 

 

 

그다음 각 유전자를 랜덤하게 다른 유전자로 돌연변이(mutation) 시킵니다.

 

원본 : 00110201
수정 : 00210201 (3번째 위치에서 돌연변이)

 

 

 

이렇게 교차와 돌연변이를 거친 다음 세대를 실제 환경에서 돌립니다. 여기서는 차가 얼마나 멀리 갔는지를 가지고 평가합니다. 이를 적응도(fitness)라고 합니다. 그리고 적응도가 높은 개체들만 뽑아서 다시 위의 과정을 반복합니다.

 

실제 생명체들은 환경에서 적자생존을 거쳐 진화를 합니다. 마찬가지로 유전 알고리즘도 주어진 적응도에 최적화된 개체를 찾아냅니다. 이 유전자가 바로 문제의 정답인 파라미터값이 됩니다.

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수sort
유전 알고리즘의 소개 깊은바다 2016-03-24 4042
유전 알고리즘을 사용한 인공생태계 구현 file [1] 깊은바다 2016-03-24 3142
자동 그림생성 프로그램 - Evolving Image file 깊은바다 2016-03-24 2175
신경망과 유전 알고리즘을 사용한 플래피 버드 깊은바다 2017-08-26 2040
유전 알고리즘을 이용한 우주선 게임 file 깊은바다 2016-03-24 1842
유전적 알고리즘으로 운전을 학습시켜보았다 깊은바다 2019-05-29 1823
유전 프로그래밍 [2] LegenDUST 2017-08-19 1621
유전 알고리즘으로 하스스톤 카드덱 조합 file 깊은바다 2016-03-24 1485
유전 알고리즘와 강화학습으로 만든 인공크리처 - Unimals 깊은바다 2021-10-28 1323
유전 알고리즘을 사용한 인공진화 file 깊은바다 2016-03-24 1320
유전 알고리즘을 설명하는 동영상 [3] 깊은바다 2016-03-27 1089
타이핑 치는 원숭이가 셰익스피어의 소설을 쓸 수 있을까? file 깊은바다 2018-07-03 884