유전자 알고리즘



유전자 알고리즘은 자연의 진화과정에 기초한 계산 모델로 존 홀랜드에 의해 1975년 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법의 하나입니다. 생물의 진화를 모방한 진화연산의 대표적인 기법으로, 실제 진화의 과정에서 많은 부분을 차용하였으며, 변이, 교배 연산등이 존재합니다. 또한 세대, 인구등의 용어도 문제 풀이 과정에서 사용됩니다. 

 

유전자 알고리즘은 선택,교배,돌연변이,대치의 과정이 있는데, 선택은 각각의 유전 정보에 대해 점수를 매겨서 가장 높은 점수를 가장 유전정보는 보존하고, 낮은 점수를 가진 유전정보는 버리는 방식을 말합니다.

 

교배를 위해서는 부모 유전자가 필요한데, 이는 이전 세대의 유전 정보를 임의로 선택하되, 높은 점수를 가진 유전 정보가 선택될 확률이 높게 설정해주어야 합니다. 부모 유전자로 부터 생성된 자식 유전자가 다음 세대에서 부모 유전자가 됩니다. 이렇게 반복하여 나중에는 모두 높은 점수를 갖는 유전정보가 나타나게 됩니다.

 

돌연변이는 진화와 관련이 있습니다. 돌연변이를 통해서 현재 유전 정보보다 높은 점수의 유전 정보를 가질 수 있게 할 수 있습니다. 하지만 더 안좋아 질 수 있으므로 돌연변이 발현 확률은 0.1% 미만으로 하는것이 적절합니다.

 

대치는 열등한 유전자를 좋은 유전자로 교환하는 것을 의미합니다.

유전자알고리즘_해밀턴회로.exe