-
[NENGA] Lecture7 - Genetic Algorithms@UoP.lecture note 2018. 1. 14. 03:30
◈ TB2 >
TB1에서는 Neural Network을 배웠다면, TB2에서는 Genetic Algorithm 배울 예정.
3월까지 제출해야하는 Coursework와 학기말 Exam이 있을 것.
1. Auxiliary reproductive operators
1-1. Inversion 도치 알고리즘Binary는 2진법, GA에서는 상동 염색체를 뜻한다.도치 알고리즘은 Binary가 아닌 Unary 즉 단일 염색체일 때 적용되는 알고리즘으로, 부모 염색체에서 무작위로 선택한 구간을 역순으로 나열하여 자식 염색체를 얻는 것이다.위 그림에서 부모 염색체에서 무작위로 지정된 efg 구간 원소들이 도치에 의해 역순으로 나열되어 gfe 순서로 자식 염색체에 나타난 것을 확인할 수 있다.
** offspring : 자식
1-2. Partially matched crossover (PMX) 부분 일치 교차 알고리즘
부모 염색체가 상동인 경우, 무작위로 지정된 구간을 서로 교환하여 자식 염색체를 얻는 알고리즘이다.
위 그림과 같이 abcdefghij, jehibcafgd 라는 부모 상동 염색체가 있을 때, 4-7 구간을 임의로 지정했다고 생각해보자.
그러면 두 부모의 해당 구간에 해당하는 원소들을 이용해 exchange map을 만들 수 있고, 부모의 원소에 이 exchange map을 대입하여 새로운 자식 염색체를 얻을 수 있다.
자식 A'는 부모 A로부터 만들어진 것으로, 부모의 각 원소들이 map에 의해 a는 g로, b는 e로, c는 f로, d는 i로 치환된 것을 확인할 수 있다. exchange map에 정의되어있지 않은 h와 j는 치환되지 않고 부모 원소가 그대로 자식에게 전해졌다.
2. Basic theory of GA
각각의 염색체들은 {0,1,*}를 이용한 스키마로 표현될 수 있다. 여기서 *는 don't care로 0, 1 둘 다 취할 수 있음을 뜻한다.
예를 들어 *000라는 스키마가 있다면, 1000, 0000이라는 염색체를 포함하는 것이다. 또한 염색체의 자릿수가 m개라면 이 염색체에 대해 2^m개의 스키마가 존재할 수 있다.
1****라는 스키마가 있다면 이는 맨 앞자리가 무조건 1이어야한다는 뜻이고, 맨 앞자리가 1인 최소 이진수는 10000=16이고 최대 이진수는 11111=31이므로 왼쪽 그래프의 16~31까지의 수를 커버할 수 있다.
질문에서 물어보는 plane은 *1*plane!!
2.1 Schema properties
스키마는 order, defining length라는 속성을 갖는다.
order : o(S)는 정의된 스키마의 자릿수,
defining length : d(S)는 정의된 스키마의 마지막 자리번호 - 첫번째 자리번호
o(1*0****) = 2
d(1*0****) = 2
d(1******) = 0
2.2 Schema Theorem
3. implicit Parallelism
길이가 m개인 n개의 염색체가 있다면, n개 염색체 전체에 적용가능한 스키마의 갯수는 최소 2^m개부터 최대 n(2^m)개까지임.
n개의 스키마가 모두 같을때가 최소이고, n개 스키마가 전부 다를때 최대이다.
또한 스키마가 존재하고 crossover 등 연산될 때, 이 스키마가 온전히 살아남을 수도 있지만 스키마의 중간이 breaking point가 되어 파괴될 수도 있다.
이에 따라 우리는 각 스키마의 destroying probability 와 survivng probability를 계산할 수 있다.
길이가 m인 염색체가 있을때, 선택할 수 있는 원소와 원소사이 breaking point는 m-1개이다.
ex) m=6이면 [*/*/*/*/*/*] 선택가능한 breaking point(/) => 5개
그러므로 스키마가 파괴될 확률은 스키마의 defining length / m-1. 스키마의 defining length가 길수록 연산될 때 쪼개지기 쉽다.
파괴와 생존이 반대개념이기 때문에 스키마의 생존확률은 1-destroying probability이 된다.
Example>. 길이가 8인 스키마 S1, S2가 있다. o(S)는 모두 2이고, d(S1)=5, d(S2)=2일 때 S1, S2로 가능한 스키마 예를 들고 각 스키마의 파괴, 생존확률을 구하라.
Sol>. S1의 예 = 1****0**
S2의 예 = ****1*1*
destroying probability를 P(s)라 하면
P(S1) = d(S1) / (8-1) = 5/7
따라서 surviving probability = 1-P(S1) = 2/7
같은 방법으로
P(S2) = d(S2) / (8-1) = 2/7, S2의 생존확률은 5/7
'@UoP.lecture note' 카테고리의 다른 글
[NETFUN] Interconnections (part2) (0) 2018.01.17 [NETFUN] Network Routing Basics (0) 2018.01.16 [COSINE] Introduction to Intermediate Networks (0) 2018.01.16 [COMROB] Lecture - Robot Architecture and Popular SW Frameworks (0) 2018.01.15 [COSINE] Week1: Introduction (0) 2017.10.04 댓글