遺傳算法初步
阿新 • • 發佈:2018-10-21
其他 cal 單個 目標 尋求 及其 組成 font 規模
遺傳算法基本原理
遺傳算法是從代表問題可能潛在解集的一個種群開始的,而一個種群則由經過基因編碼的一定數量的個體組成。每個個體實際上是染色體帶有特征的實體。作為多個基因的集合,單個染色體是遺傳物質的主要載體,其在種群中的命運由其基因組合決定。初始種群產生以後按照優勝劣汰、適者生存的原理,逐代演化產生出越來越好的近似解。在每一代,根據問題域中個體的適應度大小挑選個體,並借助代表於自然遺傳學的遺傳算子進行交叉和變異,產生出代表新的解集的種群。這個過程導致種群像自然進化一樣,後代種群比前代更加適應於環境,末代種群中最優個體經過解碼,可以作為問題的近似最優解。
遺傳算法采納了自然進化模型,如選擇、交叉、遷移、局域與鄰域等。與傳統搜索算法不同,遺傳算法是從一組隨機產生的初始解開始搜索過程 。種群中的每個個體是問題的一個解,稱為“染色體”,染色體是一串符號,比如二進制01串。這些染色體在後續叠代中不斷進化,稱為遺傳。在每一代中用適應度來測量染色體的好壞。生成的下一代染色體稱為後代。後代是由前一代染色體通過交叉或者變異運算形成的。新一代形成中,根據適應度的大小選擇部分後代,淘汰部分後代,從而保持種群大小的穩定性。適應度高的染色體被選中的概率高,這樣經過若幹代之後,算法收斂於最好的染色體,它很可能就是問題的最優解或次優解。
生物遺傳與遺傳算法概念比對
遺傳算法的基本步驟
- 確定參變量及其各種約束條件,即確定個體的表現形式和問題的解空間
- 建立優化模型,即確定出求解問題的目標函數和數學描述形式及量化方法
- 確定染色體的編碼方法,即確定個體的基因形式
- 確定編碼方法,即確定出個體的基因形式到個體的表現形式的對應關系和轉化方式
- 確定個體適應度的量化評價方法,即確定出目標函數值同個體適應度的轉化規則
- 設計遺傳算子,即確定出選擇算子,交叉算子和變異算子的具體操作方法
- 確定遺傳算法的有關運行參數,即確定出遺傳算法
遺傳算法流程圖
遺傳算法的特點
傳統的優化方法主要有三種:枚舉法、啟發式算法和搜索算法。隨著問題種類的不同以及問題規模的擴大,需要尋求一種能以有限的代價來解決搜索和優化的通用方法,遺傳算法正是為我們提供了一個有效的途徑,它不同於傳統的搜索和優化方法。主要區別在於:
1.自組織、自適應和自學習性
2.遺傳算法的本質並行性
3.遺傳算法不需要求導或其他的輔助知識,而只需要影響搜索方向的目標函數和相應的適應度函數
4.遺傳算法強調概率轉換規,而不是確定的轉換規則
5.遺傳算法可以更加直接的應用
6.遺傳算法對給定的問題,可以產生許多的潛在解,最終可以由使用者確定
遺傳算法的應用
遺傳算法提供了一種求解復雜系統問題的通用框架,它不依賴於問題的具體領域,對問題的種類有很強的魯棒性,所以廣泛應用於很多科學。
1.函數優化
2.組合優化
3.自動控制
4.人工生命
遺傳算法初步