Genetic Algorithm(유전 알고리즘이란)
자연계에 일어나는 진화를 모방하는 알고리즘!!
예를 들어 잘 생각해보면 납작한 바퀴벌레만 살아남은 이유가 있음..
안납작한 바퀴벌레는 멸종..
이렇게 자연계에 일어나는 진화를 모방하여 최적의 해를 찾아내는 것
EX) y = x^2 의 해를 GA로 구해보자
(우리는 이미 x=0, y=0일때 가장 작은 값을 가지면서 해가 성립함을 알 고 있다.)
fitness function => 최소값 을 찾고자 하는 함수
예제에서 fitness function은 y=x^2 이다.
variable은 fitness function에서 보면 하나이다.
만약 y=x1^2+x^2이면 variable은 두개
어떻게 GA가 진행 되는지 적어보면
x= 3, 5 , 2 , 10, 4.3 <- population size가 5개
y= 9, 25, 4, 100, 18.49
가장 작은 y를 두개 선택 4,9 <-selection 선택
4,9를 만든 x값 2,3을 이제 값을 적당히 섞음 ... crossover(교배)
2세대 (2,3을 부모로 해서 자식만듬)
x= 2.1 2, 2.5 , 3, 2.8
깔끔하게 정리하면...
여기서 가장 값이 작은 4를 best fitness라 하며 4를 만든 2를 best indivisual 이라고 한다.
진화를 획기적으로 하는 원동력은 돌연변이!!
영어로는 mutation
이렇게 점점 세대가 갈 수록 x값들이 작아지고 있음을 알 수 있다.. 이렇게 문제 해결해 간다
계산량이 많아 그렇지 GA로 못 푸는 문제가 거의 없다...
GA 신봉
자연계에 일어나는 진화를 모방하는 알고리즘!!
예를 들어 잘 생각해보면 납작한 바퀴벌레만 살아남은 이유가 있음..
안납작한 바퀴벌레는 멸종..
이렇게 자연계에 일어나는 진화를 모방하여 최적의 해를 찾아내는 것
EX) y = x^2 의 해를 GA로 구해보자
(우리는 이미 x=0, y=0일때 가장 작은 값을 가지면서 해가 성립함을 알 고 있다.)
fitness function => 최소값 을 찾고자 하는 함수
예제에서 fitness function은 y=x^2 이다.
variable은 fitness function에서 보면 하나이다.
만약 y=x1^2+x^2이면 variable은 두개
어떻게 GA가 진행 되는지 적어보면
x= 3, 5 , 2 , 10, 4.3 <- population size가 5개
y= 9, 25, 4, 100, 18.49
가장 작은 y를 두개 선택 4,9 <-selection 선택
4,9를 만든 x값 2,3을 이제 값을 적당히 섞음 ... crossover(교배)
2세대 (2,3을 부모로 해서 자식만듬)
x= 2.1 2, 2.5 , 3, 2.8
깔끔하게 정리하면...
여기서 가장 값이 작은 4를 best fitness라 하며 4를 만든 2를 best indivisual 이라고 한다.
진화를 획기적으로 하는 원동력은 돌연변이!!
영어로는 mutation
이렇게 점점 세대가 갈 수록 x값들이 작아지고 있음을 알 수 있다.. 이렇게 문제 해결해 간다
계산량이 많아 그렇지 GA로 못 푸는 문제가 거의 없다...
GA 신봉
댓글
댓글 쓰기