Genetic Algorithm (GA)목 차Genetic Algorithm 이란 ?? Algorithm 흐름도 특징Genetic Algorithm 란 ??Michigan 대학의 John Holland 에 의해서 개발. 자연 진화의 과정을 모방하여 컴퓨터로 최적화 문제나 탐색문제의 해를 구하는 알고리즘. 기존의 최적화 알고리즘은 목적 함수를 미분해서 탐색을 수행하는 반면, 유전자 알고리즘은 선택, 교차, 돌연변이 연산자와 적합도를 이용해서 탐색을 수행.유전자 알고리즘의 흐름도적합도 평가시 작초기 집단 생성선택교 차돌연변이적합도 평가끝종결조건NoYes개체의 표현개체의 표현유전자형의 설정 단계. 문제의 가능한 해를 유전자(염색체) 형태로 표현하는 것. 변수 x 의 실수 값을 표현하기 위한 염색체로서 아래의 표현을 사용. 이진수 표현 : Binary Encoding, *************01100001001 과 같은 2진 방식. 순열 표현 : Permutation Encoding, 순열을 유전자형으로 가짐. 1234,2341,1324 ··· ··· 와 같은 방식. 실수 표현 : Value Encoding, 실수 하나를 하나의 유전자형으로 사용. 주로 2진 방식을 사용하는 Binary Encoding 을 많이 사용.초기 집단 생성초기 개체 집단의 생성 단계. 1단계에서 결정한 유전자형의 구조를 가지는 개체를 집단의 크기만큼 무작위로 생성. 생성된 개체들은 초기집단을 구성.적합도 평가각 세대의 개체들 중 주어진 환경에 잘 적응하는 것과 그렇지 못한 것을 구분하는 단계. 최적화 문제의 목적함수의 점수(objective score) 로부터 각 개체가 선택되어질 확률(적합도)를 결정. 예) f(x) = x2[0 ≤ x ≤ 31] 이라는 환경이 있고 01101, 11000, 01000, 10011 이 네 개체가 있는 집단이 있다면 ..f(x)0 ≤ x ≤ 31f(x) = x2[0 ≤ x ≤ 31]적합도개체환경예제위의 개체들을 2진수 → 10진수 로 바꾸어 본다면 01101 = 13 (13)2 = 169 11000 = 24 (24)2 = 576 01000 = 8 (8)2 = 64 10011 = 19 (19)2 = 361 01000은 살아 남기 힘들고, 11000은 잘 적응할 것임. 따라서, 01000은 도태를 하고 11000은 자손을 생산하게 됨. (선택) 이와 같은 과정을 거쳐 먼 훗날에는 11111 이라는 개체가 탄생하게 될 것임.선택적합도 점수에 따라서 다음 세대를 생성하기 위해 우수한 개체를 선택. 우수한 개체는 많이 선택 되어 복제되고 반면 성능이 나쁜 개체는 도태 됨. 룰렛 휠 방법(Roulette Wheel Method) 우수형질은 할당된 영역을 넓게 함으로써 다음 세대의 개체 생산의 가능성을 크게 하는 것.100.030.95.549.214.4확률(%)*************69적합도*************0001101개체Total4321No.교차개체들끼리 유전자 배열을 서로 섞는 과정. 교차 대상의 개체를 선택. (1개 혹은 2개 이상의 개체를 선택) 유전자 배열 중 임의의 위치 k를 선택하고, 개체들간의 유전자 배열을 바꿈.돌연변이두 개체를 아무리 교차를 한다 해도 한계가 존재 하는데 그 과정에서 생김. 유전자 배열 중의 유전자를 바꾸는 연산자. 돌연변이가 발생하는 확률은 0.01 확률을 너무 높게 설정하면 무작위 탐색이 될 수 있으므로 적절하게 요구.유전자 알고리즘의 특징하나의 해를 다루기 보다는 집단을 취급함. 해를 나타내는 파라미터를 염색체 형태로 코드화하여 이용한다. 결정론적인 규칙이 없고 확률적 연산자를 사용하여 수행된다. 어려운 비선형 문제에서 최적 해를 찾는데 적합하다. 선로 라우팅, 적응제어, 게임놀이, 인지 모델링, 운송문제, 순회 판매원문제, 최적제어문제 등 …{nameOfApplication=Show}