글 수 10


58f554af30e465e921275f4d.jpg

 

 

 

딥러닝이 뇌의 뉴런을 시뮬레이션 하였다면 유전 알고리즘은 생명체의 진화 과정을 컴퓨터로 구현한 것입니다. 아시다시피 생명체의 정보는 DNA안에 ACGT 핵염기를 사용해서 4진법으로 구성되어 있습니다. 그리고 생식을 할때 남성과 여성의 염색차가 중간에 끊어지면서 조합되는 교차와 특정 유전자가 변형되는 돌연변이에 의해서 유전 정보가 바뀌면서 조금씩 진화합니다.

 

유전 알고리즘도 교차와 돌연변이 방법을 그대로 사용하는데요. 보통 0과 1로 된 유전 정보를 만들고 각각을 특정 형질과 매칭합니다. 예를 들어, 미로를 찾는 생쥐의 움직임을 유전자로 만든다면 0일때 왼쪽 이동, 1일때 오른쪽 이동으로 정의하고 각 순서별로 n번째 갈림길에서의 행동을 나타내도록 설정합니다. 그리고 출구에 가까이 다가간 유전자는 다음 세대로 이어질 확률이 높아집니다. 이렇게 진화를 반복하면 결국 미로를 빠져나가는 행동 유전자를 얻을 수 있습니다.

 

 

 

흔히 진화론을 공격하기 위한 예로 타이핑을 치는 원숭이를 들곤 합니다. 아무렇게나 글자를 입력하는 원숭이가 셰익스피어의 작품을 작성할 가능성은 거의 제로라는 것입니다. 하지만 여기에는 큰 모순이 있는데요. 바로 진화의 가장 큰 특징인 형질의 누적을 고려하지 않았기 때문입니다.

 

만약 순서대로 타이핑을 할때 그 위치에 입력한 단어가 책과 일치한다면 그 단어를 고정합니다. 그리고 나머지 부분에 대해서 반복적으로 랜덤하게 입력을 한다면 아주 빠르게 책과 동일한 글을 작성할 수 있습니다.

 

List of Articles
제목 글쓴이 날짜 조회 수
타이핑 치는 원숭이가 셰익스피어의 소설을 쓸 수 있을까? file 깊은바다 2018-07-03 132
신경망과 유전 알고리즘을 사용한 플래피 버드 깊은바다 2017-08-26 478
유전 프로그래밍 [2] LegenDUST 2017-08-19 532
유전 알고리즘을 설명하는 동영상 [3] 깊은바다 2016-03-27 366
유전 알고리즘으로 하스스톤 카드덱 조합 file 깊은바다 2016-03-24 557
유전 알고리즘을 이용한 우주선 게임 file 깊은바다 2016-03-24 603
유전 알고리즘을 사용한 인공진화 file 깊은바다 2016-03-24 415
유전 알고리즘의 소개 깊은바다 2016-03-24 3467
유전 알고리즘을 사용한 인공생태계 구현 file [1] 깊은바다 2016-03-24 870
자동 그림생성 프로그램 - Evolving Image file 깊은바다 2016-03-24 642