- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
201017 探讨基因演算法在太空船生存游戏的适存函数 以静态和动态
探討基因演算法在太空船生存遊戲的適存函數
學生:葉靜蓉 指導教授:李昆翰 老師
摘要:
關鍵字
基因演算法、適存函數
動機背景:
近年來一般傳統的遊戲已漸漸不能滿足玩家的胃口,因此人工智慧(Artificial Intelligence, AI)的技術開始應用遊戲中,群體行為Steering Behavior)、有限狀態機Finite-State Machine)、模糊狀態機Fuzzy-State Machine)等。而近年來能自主學習的遊戲AI類神經網路Neural Networks)和基因演算法Genetic Algorithms),來提升遊戲的耐玩度。其中以基因演算法來說,使用達爾文的進化論為藍圖,與生物在自然界中的生存模式相似,具體而明確,尤其我們人類在繁衍下一代時,更是重視基因,因此以基因演算法做為本文討論的核心。
許多遊戲都有與太空船生存遊戲類似的情境,如:貪食蛇、及時戰略遊戲、射擊遊戲等以碰撞偵測為應用基礎,在隨機產生的危險中,強化個體部分,以增加生存能力。
基因演算法主要的架構有基因編碼方式、適應函數、挑選機制級交配與突變機制。諸如太空船生存遊戲這類的遊戲中如何強化基因是最重要、最需要拿出來探討的地方。強化基因最重要的地方就在適應函數的設計,因此本文以探討適存函數為主軸。
在太空船生存遊戲這款經典遊戲中,我們所知道的是工程師已經設計好的適存函數,然而我們並不知道工程師為何要如此設計這個函數?設計這個適存函數有何考量?因此我們要來探討如何設計這個遊戲的適存函數。目的:太空船生存遊戲,由於生存空間有限,敵人會自行移動,此時適應函數的設計,將會影響到太空船生存能力探討不同的適存函數,對太空船的適應能力與存活度有何影響。
相關研究:
問題的目標函數可用來評估個體的適應度(itness),但是每一問題的屬性未必相同,所以有些問題的目標函數要調整後才能適用。根據過去的文獻資料,有兩種基本的線性調整(Linear scaling)類型(Glodberg, 1989; Michalewicz, 1992; Gen and Cheng, 1997):
(1)靜態比率調整(Static scaling)
(2)動態比率調整(Dynamic scaling)
最簡單的靜態比率調整,是將目標函數做線性轉換,因此又稱線性調整,即g = α f + β,其中f是原目標函數,g是調整後的適應函數,α與β是參數。而動態比率調整,是動態線性轉換,即g = α f + βt,其中βt隨著每一個世代而動態變化。
Forrest提出Sigma truncation(Gen and Cheng 1977):
g = f - ( f1 - c × σ) ,其中f1=群體平均值,σ=群體適應值的變異數,c =常數
Gillies提出ower law scaling(Gne and Cheng, 1977):
g=fk,Gillies建議k=1.005。
舉例來說,Breaking Vigenere Cipher適應函數的設計,不但影響到 GA 的執行績效,也關係著破解密碼的正確性,因此適應函數所定義的內涵,代表鑰匙的正確程度,也就是染色體的適應值。假設 P = p1, p2, … , pn 是明文的字元串,而 C = c1, c2, …, cn是所對應密文的字元串,K = k1, k2, … , kd 是鑰匙參數,d 是鑰匙的長度。當 GA 從某一代的群體取得一個鑰匙參數 (染色體) K ,會將 C 解密成P’,其計算程序是:P’ = Dk(C) = p’1, p’2, … , p’n。我們定義一個陣列Match[1…d] 做為鑰匙參數比對成功的計數器,其中Match[i] 是鑰匙參數中第 Ki 與第Ki+1 個字元成功比對的次數。每一個染色體的適應值的計算方法是:Fitness = Fitness + Match[i] × Match[i],1 ≦ i ≦ d。例如:我們先用染色體解出第一和第二字元,並把這兩個字元視為是一個 “字彙”,將此字彙和常用資料庫裡面的單字做字串比對 (attern Matching),找出子字串出現的頻率,並給予評分。下列表說明了 “PL” 這個字彙的比對過程以及所獲得的分數,此分數經過加總後就是染色體的適應值。
處理過的常用資料庫 A P P L E 分數 第1次比對 P L 0 第2次比對 P L 0 第3次比對 P L 0 第4次比對 P L 1 第5次比對 P L 0 第6次比對 P L 0 子字串PL的比對過程
理論基礎:
基因演算法(Genetic Algo
文档评论(0)