21
基因演算法簡介

基因演算法 2014-02-21

  • Upload
    cqd

  • View
    904

  • Download
    0

Embed Size (px)

DESCRIPTION

基因演算法簡介

Citation preview

Page 1: 基因演算法 2014-02-21

基因演算法簡介

Page 2: 基因演算法 2014-02-21

•簡介基因演算法 •優缺點 •Live Demo

⼤大綱

Page 3: 基因演算法 2014-02-21

先來上⼀一點⽣生物學\(。⼝口。)/

Page 4: 基因演算法 2014-02-21

何謂基因

•⼀一組特定的DNA序列 •序列的樣式會決定⽣生物的⾏行為

•不同的⽣生物個體會有不同的基因組合

Page 5: 基因演算法 2014-02-21

多組基因(⽣生物多樣性) 天擇(適者⼦子孫滿堂) 繁殖(將基因遺傳給後代)

基因演化

交配(交換彼此的基因訊息) 突變(出現親代沒有的基因訊息)

Page 6: 基因演算法 2014-02-21

然後我們模仿這個過程\(。v。)/

Page 7: 基因演算法 2014-02-21

定義基因

•⼀一組特定的數字/字⺟母/⻤⿁鬼東⻄西的序列

•序列的樣式會決定程式的⾏行為

•不同的解個體會有不同的基因組合

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

Page 8: 基因演算法 2014-02-21

定義基因

•遊戲AI的各種參數(武器偏好,選擇不同⾏行為的機率...)

•⼯工廠⽣生產排序(第⼀一班做產品A,第⼆二班做產品B...)

•考試卷選擇題的答案 •填字遊戲每個格⼦子要填的字⺟母

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

Page 9: 基因演算法 2014-02-21

多組基因(⽣生物多樣性) 天擇(適者⼦子孫滿堂) 繁殖(將基因遺傳給後代)

基因演化

交配(交換彼此的基因訊息) 突變(出現親代沒有的基因訊息)

Page 10: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化

1 C 9 8 6 9 7 D 32 8 M 3 T Y B J X3 9 C B G M D X P4 M 3 H Y 9 6 V Y5 8 J R Y C Y 6 66 X X V Y 2 D Y Q7 2 0 4 1 7 3 1 7

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

Page 11: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化把基因餵給天擇函數計算分數 以此為天擇的結果

1023645-7812

1 C 9 8 6 9 7 D 32 8 M 3 T Y B J X3 9 C B G M D X P4 M 3 H Y 9 6 V Y5 8 J R Y C Y 6 66 X X V Y 2 D Y Q7 2 0 4 1 7 3 1 7

Page 12: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化把基因餵給天擇函數計算分數 以此為天擇的結果

天擇函數可以是: - AI 的殺敵次數 - ⼯工廠⽣生產成本 - 考卷分數

Page 13: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化依照天擇分數決定哪些基因組可以當⽗父⺟母⽣生⼩小孩 !

原則上: - 分數⾼高的被選到的機率⾼高 - 照排名/分數排除弱基因 - 其中有相當的隨機成分

Page 14: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化選出⽗父⺟母後進⾏行交配隨機交換基因產⽣生⼦子代

8 M 3 T Y B J X P

C 9 8 6 9 7 D 3 4

8 9 3 6 9 B J 3 4

Page 15: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化

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

8 M 3 T Y B J X P

C 9 8 6 9 7 D 3 4

8 9 3 6 V B J 3 4

Page 16: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化繁殖出夠多的⼦子代 然後開始第⼆二輪的天擇迴圈

1 C 9 8 6 9 7 D 3 32 8 M 3 T Y B J X K3 9 C B G M D X P 44 8 9 3 6 V B J 3 45 8 J R Y C Y 6 6 C6 X X V Y 2 D Y Q G7 2 0 4 1 7 3 1 7 3

Page 17: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化當迴圈終⽌止,到達演化終點 最⾼高分者即為求得的解

演化終點

10236

145-7812

1 C 9 8 6 9 7 D 3 32 8 M 3 T Y B J X K3 9 C B G M D X P 44 8 9 3 6 V B J 3 45 8 J R Y C Y 6 6 C6 X X V Y 2 D Y Q G7 2 0 4 1 7 3 1 7 3

Page 18: 基因演算法 2014-02-21

多組基因 天擇 繁殖

基因演化演化迴圈的終⽌止條件: !

- 天擇分數夠⾼高 - 基因已經收斂不再變化 - 超過時間 - 記憶體不夠⽤用 - 其他...

演化終點

Page 19: 基因演算法 2014-02-21

優缺點

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

•能定義基因就能試著解

•實作通常不困難

•論⽂文產⽣生器

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

•不是每個問題都適⽤用

•天擇函數影響效率

•需要調教參數

Page 20: 基因演算法 2014-02-21

LIVE DEMO

\(。v。)/|

/ \

Page 21: 基因演算法 2014-02-21

Q&A