基因演算法簡介
⼤大綱

• 簡介基因演算法	

• 優缺點	

• Live

Demo
先來上⼀一點⽣生物學
(。⼝口。)/
何謂基因
• ⼀一組特定的DNA序列	

• 序列的樣式會決定⽣生物

的⾏行為	

• 不同的⽣生物個體會有不

同的基因組合
基因演化
多組基因(⽣生物多樣性)	

天擇(適者⼦子孫滿堂)	

繁殖(將基因遺傳給後代)
交配(交換彼此的基因訊息)	

突變(出現親代沒有的基因訊息)
然後我們模仿這個過程
(。v。)/
定義基因
• ⼀一組特定的數字/字⺟母/⻤⿁鬼
A C 9 8 6 9 7 D 3
4 8 M 3 T Y B J X
P 9 C B G M D X P

東⻄西的序列	

• 序列的樣式會決定程式

的⾏行為	

• 不同的解個體會有不同

的基因組合
定義基因
• 遊戲AI的各種參數


(武器偏好,選擇不同⾏行為的機率...)	


A C 9 8 6 9 7 D 3
4 8 M 3 T Y B J X
P 9 C B G M D X P

• ⼯工廠⽣生產排序


(第⼀一班做產品A,第⼆二班做產品B...)	


• 考試卷選擇題的答案	

• 填字遊戲每個格⼦子要填

的字⺟母
基因演化
多組基因(⽣生物多樣性)	

天擇(適者⼦子孫滿堂)	

繁殖(將基因遺傳給後代)
交配(交換彼此的基因訊息)	

突變(出現親代沒有的基因訊息)
基因演化
多組基因	

天擇	


先隨機產⽣生多組基因組合

繁殖
1 C 9 8 6 9 7 D
2 8 M 3 T Y B J
3 9 C B G M D X
4 M 3 H Y 9 6 V
5 8 J R Y C Y 6
6 X X V Y 2 D Y
7 2 0 4 1 7 3 1

3
X
P
Y
6
Q
7
基因演化
多組基因	


把基因餵給天擇函數計算分數	

以此為天擇的結果

天擇	

繁殖
10
23
6
45
-7
8
12

1 C 9 8 6 9 7 D
2 8 M 3 T Y B J
3 9 C B G M D X
4 M 3 H Y 9 6 V
5 8 J R Y C Y 6
6 X X V Y 2 D Y
7 2 0 4 1 7 3 1

3
X
P
Y
6
Q
7
基因演化
多組基因	

天擇	

繁殖

把基因餵給天擇函數計算分數	

以此為天擇的結果
天擇函數可以是:	

	

 - AI 的殺敵次數	

- ⼯工廠⽣生產成本	

- 考卷分數
基因演化
多組基因	

天擇	

繁殖

依照天擇分數決定哪些

基因組可以當⽗父⺟母⽣生⼩小孩	

!

原則上:	

- 分數⾼高的被選到的機率⾼高	

- 照排名/分數排除弱基因	

- 其中有相當的隨機成分
基因演化
多組基因	

天擇	

繁殖

選出⽗父⺟母後進⾏行交配

隨機交換基因產⽣生⼦子代
8 M 3 T Y B

J

X P

8

J

3

4

7 D 3

4

9

3

6

9 B

C 9

8

6

9
基因演化
多組基因	

天擇	


依照⼀一定機率隨機突變基因

繁殖
8 M 3 T Y B

J

X P

8

J

3

4

7 D 3

4

9

3

6 V B

C 9

8

6

9
基因演化
多組基因	

天擇	

繁殖

繁殖出夠多的⼦子代	

然後開始第⼆二輪的天擇迴圈
1 C 9 8 6 9 7 D
2 8 M 3 T Y B J
3 9 C B G M D X
4 8 9 3 6 V B J
5 8 J R Y C Y 6
6 X X V Y 2 D Y
7 2 0 4 1 7 3 1

3
X
P
3
6
Q
7

3
K
4
4
C
G
3
基因演化
多組基因	


當迴圈終⽌止,到達演化終點	

最⾼高分者即為求得的解

天擇	

繁殖
演化終點

10
23
6
145
-7
8
12

1 C 9 8 6 9 7 D
2 8 M 3 T Y B J
3 9 C B G M D X
4 8 9 3 6 V B J
5 8 J R Y C Y 6
6 X X V Y 2 D Y
7 2 0 4 1 7 3 1

3
X
P
3
6
Q
7

3
K
4
4
C
G
3

勝
基因演化
多組基因	

天擇	

繁殖
演化終點

演化迴圈的終⽌止條件:	

!

天擇分數夠⾼高	

基因已經收斂不再變化	

超過時間	

記憶體不夠⽤用	

- 其他...
-
優缺點

• 能快速找到「良好」的解	


• 不⾒見得能取得「最佳解」	


• 能定義基因就能試著解	


• 不是每個問題都適⽤用	


• 實作通常不困難	


• 天擇函數影響效率	


• 論⽂文產⽣生器

• 需要調教參數
LIVE
DEMO

(。v。)/

|	

/
Q&A

基因演算法 2014-02-21