GeneticAlgorithmas遗传演算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GeneticAlgorithmas遗传演算法.doc

PAGE 1 PAGE 15 Genetic Algorithms遺傳演算法 I. Introduction Derivative-Free Stochastic Methods Optimization A general-Purpose Optimization Tool Based on the Concept of Natural Selection and Evolutionary Processes 天擇 物競演化 First proposed and investigated by John Holland at the Univ. of Michigan in 1975 優勝劣敗 適者生存 如侏羅紀風光一時的恐龍 不適者淘汰 GA遺傳演算法可用來尋找一個問題(或函數)的近似最佳解 II. GA A. GA的基本想法 (1) 應用遺傳演算法求解「最佳化問題」之前,必須將所遭遇到的問題轉化成對應的函數,稱為適應函數(Fitness Function) 適應函數代表著系統對外在環境的適應能力(Fitness) 相當於該系統的性能指標(Performance Index) 適應函數值愈大表示該系統的性能愈好,反之,表示性能愈差 (2) 遺傳演算法的目的便是透過一些擬生物化的人工運算過程 如:重生(Reproduction)或選擇(Selection) 交配(Crossover; Mating) 依這些步驟進行演化 突變(Mutation) (3) 最後尋得適應函數的最佳解。 B. 簡易遺傳演算法(Simple Genetic Algorithm, SGA)的作法 運用遺傳演算法,設計者必須先決定 (一)適應函數 (Fitness Function) (二)編碼方式 (Coding) (三)解碼方式 (Decoding) (四)產生位元字串 (Bit String) (五)產生原始族群 (Initial Population) 遺傳演算法的基本運算子 (Genetic Operators) (1)重生(Reproduction)或稱為選擇(Selection) (2)交配(Crossover) (3)突變(Mutation) (一)定義適應函數(Fitness Function, Fitness Evaluation) 適應函數是遺傳演算法的性能指標(Performance Index) 例如: 1 適應函數= ? (目標值-輸出值)2 或 f(x1, x2) = x12 + 5x2, 其中xi稱為函數f的參數 遺傳演算法的目的就是要找到使f函數值為最大的參數向量(x1, x2) (二)決定編碼(Coding)的方式 (三)決定解碼(Decoding)的方式 為了有效的搜尋參數空間,首先要確認每個參數的搜尋範圍 再將每個參數以固定值的字串加以編碼 最簡單也最廣為使用的編碼方式是二進位編碼(Binary Coding) 在二進位編碼方式中,每個參數都預先被轉換成n位元的二進位數字 因此,如果函數f的某個參數xi的搜尋範圍界定於[ai, bi]之間 之間 及 那麼以二進位編碼之後,將迫使實際的xi值量化至 其中k是介於0到2n間的任一整數 例如:若ai=0, bi=4且n=5, 則 k介於0到32間的任一整數 則介於3/8~4/8之間的xi ,都將被編碼成相同的二進位碼00011 ? 參數的搜尋精度取決於編碼長度 愈長的編碼位元 得到愈高的解析度 當然耗費更多的記憶體 犧牲運算速度等代價 (三)產生位元字串(Bit String) 將每一個參數xi串起來構成一個參數的量x = (x1, x2, …, xm) 同時將每個參數所對應的二進位碼串成二進位字串,即 P = b11…b1n b21…b2n … bi1…bin … bm1…bmn (1) 其中bi1…bin其n個位元為xi所對應的二進位碼 對於有m個參數,每個參數用n個位元編碼的函數而言 其擁有長度為N=m?n的位元字串 因此公式(1)的二進制字串p便可改寫為 p = d1d2…dj…dN 其中dj?{0, 1}, j = 1, 2, …, N Example: 某個函數f(x1, x2),有2個參數x1和x2 其搜尋範圍為 0 ? x1 ? 1及-2 ? x2 ? 2 如果每個參數各以4位元加以編碼 則參數空間中的一點(x1, x2)=(

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档