- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
演算法原理 – 基因演算法(GA).docx
演算法原理 – 基因演算法(GA)基因演算法(Genetic Algorithm)是由Holland在1975年時提出,Holland將達爾文進化論中的「物競天擇」的想法抽象化;用來生物演化的過程。有趣的是,基因演算法在發明的最初,並非運用在搜尋最佳解,而是應用於人工智慧的領域,直到1980年代,方有學者將基因演算法應用於搜尋最佳解等其他的研究領域。基因演算法的求解過程並非如同貪婪演算法般一步一步往最佳解的方向前進,基因演算法在一開始會視問題的特性,使用不同的方式將問題的求解區域編碼成染色體,也就是映射到另一個求解區域,接著散佈一個「族群」的染色體在函數的多處,如下圖之後開始計算每個個體─染色體─的適應能力決定是否要在此區域繼續找尋最佳解,此行為就像自然界在挑選較為優良、適此環境的個體存活下來繼續繁衍後代,此步驟我們稱為「複製」(Reproduction)或「選擇」(Selection)。在求解過程中,每個染色體會彼此交換基因找尋最佳解,此步驟我們稱之為「交配」(Crossover)。想當然爾,每個染色體找到的解也有可能是區域最佳解,因此基因演算法也有跳脫區域最佳解的機制─突變(Mutation),此機制是隨機改變染色體中的基因,使其跳脫區域最佳解。以下是基因演算法的流程圖基因的編碼方式將每一個染色體編碼,是我們的首要任務!此動作可以將問題轉至基因演算法的求解空間,在演算的最後,則透過反向運算,將答案從求解空間取出,轉回問題所在的空間並化為我們所需要的解的形式。如何將一個問題所需處理的資料編碼(Encode),使之成為染色體,是一個關鍵議題,至於要將資料編碼成何種類完全依據問題的特性與目的而定。編碼方式有許多種,最常見的有四種:二元編碼(Binary Encoding)、排列編碼(Permutation Encoding)、實數編碼(Value Encoding)、樹狀編碼(Tree Encoding)。二元編碼,即將資料轉為二進位的字元所構成的字串,例如:100110111100110、……等。二元編碼是較容易實行與適合絕大多數的最佳化問題,因此傳統上多使用二元編碼。排列編碼,即將資料轉為一組有序的數字,例如:136549、2741389、……等。排列編碼較適於有序或序列的問題,像是銷售員的問題。實數編碼,即將資料轉為一組數字或是其它型態─像是字元、整數、浮點數、實數、任何物件等等─的資料,例如:1.2563 2.6589 3.0599 4.1250 5.3698、HDSOAKFAOJKIDOLDMDKWSAKLMFIEK、(down),(left),(upward),(forward)、……等等,實數編碼能夠應用在具有較複雜數值的問題。樹狀編碼,即將資料使用樹狀結構表示資料,我們可以使用它來表示函數、規則或是程式的一些指令等等。繞射光學元件設計多使用二元編碼與實數編碼,本文是使用實數編碼,直接將相位當成基因的編碼。選擇\複製選擇機制是模擬大自然中,對環境適應度較佳的個體將存活下來,並繁衍後代。所以,基因演算法中的選擇機制,將依據每一個個體的適應值高低,決定其繁衍子代的多寡。適應值高的個體,其染色體在下一個世代中將被大量複製,反之,適應值低的染色體,將被淘汰掉。常用的有輪盤式隨機選擇(roulette wheel selection)、競賽選擇(tournament selection)與精英制(elitism selection)。輪盤式隨機選擇,是指每個個體被挑選到的機率與其適應值高低成正比;每個個體被挑選到的機率為 其中,為第 個個體被挑選中的機率, 為該個體的適應值,為每個個體適應值之總合。此舉彷若將不同的個體,製成一個輪盤,並依個自的適應值高低決定其在輪盤上的面積,接著以投擲飛標的方式選擇將何者放入交配池內。競賽選擇為將族群中的個體隨機分成數個部份,並使每個部份的個競爭,競爭中勝出者即複製至交配池中,重複上述動作直至交配池中的數目達到預設值,即停止選擇之機制。精英制是指,在每次選擇時,將此世代中適應值最佳的個體直接放至交配池中,接著以輪盤式隨機選擇,挑選剩下的個體,直至交配池中的數目達到預設值,即停止選擇之機制。由於輪盤制是以「機率」來挑選,所以還是有可能全部都挑中適應值不佳者。為了確保將優良之基因遺傳至子代,本文使用是精英制,在每次選擇時,從此世代中,分別挑選出適應值最佳、方均根誤差最小、訊雜比最高的的個體直接放至交配池中,再以輪盤式隨機選擇,挑選剩下的個體,直至交配池中的數目達到預設值。交配交配的基制,是指染色體彼此交換資訊,相當於在解空間做大範圍的搜尋,因此交配運算子主要使基因重組,交配的方式有許多種,而且,當我們使用不同的編碼方式,亦有不同的交配方式,通常每個編碼方式都適用,且最常用的編碼方式有單點
原创力文档


文档评论(0)