이 글에서는 저자가 직접 개발한 유전 알고리즘을 이용한 진화 연산에 대해 이야기합니다. 예제를 이용해 알고리즘의 기능을 설명하고, 실제 적용 가능한 경우를 설명합니다.
GA는 자연 자체에서 빌린 원칙을 포함합니다. 유전과 가변성의 원리이죠. 유전은 유기체가 자신의 특성과 진화적 특성을 자손에게 전이하는 능력입니다. 이 능력 덕분에 모든 생물은 자손에게 종의 특성을 남깁니다.
살아있는 유기체에서 유전자의 다양성은 개체군의 유전적 다양성을 보장하며 무작위로 나타납니다. 자연은 미래를 예측하지 못하기 때문입니다(기후 변화, 식량 감소/증가, 경쟁 종의 출현 등). 이 가변성은 새로운 특성을 가진 생물의 출현을 가능하게 하여 새롭고 변경된 서식지 조건에서 생존하고 자손을 남기게 도와줍니다.
생물학에서는 돌연변이의 출현으로 인해 발생하는 가변성을 돌연변이라고 하고 교배에 의한 추가 유전자 교차 조합으로 인한 가변성을 조합이라고 합니다. 이러한 변형은 모두 GA에서 구현됩니다. 또한 자연적(자발적) 및 인공적(유도적) 돌연변이(DNA의 뉴클레오타이드 서열 변화)의 자연적 메커니즘을 모방하는 돌연변이 유발에 대한 구현도 이루어집니다.
알고리즘의 기준에서 가장 간단한 정보 전달 단위는 유전자</ b0>입니다. 유전의 구조적 및 기능적 단위로, 특정 특성 또는 속성의 개발을 제어하죠. 우리는 함수의 각 변수를 유전자라고 부를 것입니다. 유전자는 숫자로 나타나죠. 함수의 유전자 변수 세트는 염색체</ b1>의 특징입니다.
열의 형태로 염색체를 표현하기로 합시다. 그러면 함수 f(x)=x^2의 염색체는 다음과 같습니다.
그림 1. 함수 f(x)=x^2의 염색체
f(x) 함수의 0번째 인덱스 값이 개인의 적응으로 불리는(해당 함수를 적합성 함수 'FF</ b0>'라고 부르고 함수 값은 'VFF</ b1>'로 표시). 염색체는 1차원 배열에 저장하는 것이 편합니다. 이건 double Chromosome [] 배열이죠.
새로운 기고글 유전 알고리즘-쉬워요 가 게재되었습니다:
이 글에서는 저자가 직접 개발한 유전 알고리즘을 이용한 진화 연산에 대해 이야기합니다. 예제를 이용해 알고리즘의 기능을 설명하고, 실제 적용 가능한 경우를 설명합니다.
GA는 자연 자체에서 빌린 원칙을 포함합니다. 유전과 가변성의 원리이죠. 유전은 유기체가 자신의 특성과 진화적 특성을 자손에게 전이하는 능력입니다. 이 능력 덕분에 모든 생물은 자손에게 종의 특성을 남깁니다.
살아있는 유기체에서 유전자의 다양성은 개체군의 유전적 다양성을 보장하며 무작위로 나타납니다. 자연은 미래를 예측하지 못하기 때문입니다(기후 변화, 식량 감소/증가, 경쟁 종의 출현 등). 이 가변성은 새로운 특성을 가진 생물의 출현을 가능하게 하여 새롭고 변경된 서식지 조건에서 생존하고 자손을 남기게 도와줍니다.
생물학에서는 돌연변이의 출현으로 인해 발생하는 가변성을 돌연변이라고 하고 교배에 의한 추가 유전자 교차 조합으로 인한 가변성을 조합이라고 합니다. 이러한 변형은 모두 GA에서 구현됩니다. 또한 자연적(자발적) 및 인공적(유도적) 돌연변이(DNA의 뉴클레오타이드 서열 변화)의 자연적 메커니즘을 모방하는 돌연변이 유발에 대한 구현도 이루어집니다.
알고리즘의 기준에서 가장 간단한 정보 전달 단위는 유전자</ b0>입니다. 유전의 구조적 및 기능적 단위로, 특정 특성 또는 속성의 개발을 제어하죠. 우리는 함수의 각 변수를 유전자라고 부를 것입니다. 유전자는 숫자로 나타나죠. 함수의 유전자 변수 세트는 염색체</ b1>의 특징입니다.
열의 형태로 염색체를 표현하기로 합시다. 그러면 함수 f(x)=x^2의 염색체는 다음과 같습니다.
그림 1. 함수 f(x)=x^2의 염색체
f(x) 함수의 0번째 인덱스 값이 개인의 적응으로 불리는(해당 함수를 적합성 함수 'FF</ b0>'라고 부르고 함수 값은 'VFF</ b1>'로 표시). 염색체는 1차원 배열에 저장하는 것이 편합니다. 이건 double Chromosome [] 배열이죠.
작성자: Andrey Dik