1.執行遺傳演算法幾次,觀察進化過程的隨機性。它通常需要多少代來找到這個問題的乙個解?
2.擴大和減小種群規模。減小種群規模如何影響演算法的速度?它是否也影響找到乙個解需要的世代數?擴大種群規模如何影響演算法的速度?它如何影響找到乙個解需要的世代數?
3.將變異率設定為0。這將如何影響遺傳演算法尋找解的能力?使用高變異率,如何影響演算法?
4.使用低交叉率。低交叉率下,演算法表現如何?
5.嘗試用較短及較長的染色體,減少和增加問題的複雜性。在處理更短或更長的染色體時,不同的引數是否工作得更好?
6.啟用或不啟用精英,比較遺傳演算法的表現。
7.採用較高的精英主義值執行測試。這將如何影響搜尋表現?
《Java遺傳演算法程式設計》 2 9 小結
在本章中,你已經學會了實現遺傳演算法的基本知識。本章開頭的偽 提供了乙個通用的概念模型,針對本書其餘部分所有要實現的遺傳演算法 每個遺傳演算法將初始化並評估種群,然後進入乙個迴圈,進行交叉 變異和再評估。僅當終止條件滿足時,才退出迴圈。在本章中,你建立了遺傳演算法的支援元件,尤其是individua...
《Java遺傳演算法程式設計》 2 6 交叉方法
在交叉過程中,除了用不同的選擇方法,還有可用不同的方法在兩個個體之間交換遺傳資訊。不同的問題具有不太一樣的特點,採用特定的交叉方法更好。例如,全一 問題只要求完全由1構成的字串。字串 00111 與字串 10101 具有相同的適應度值,因為它們都包含3個1。對於這種型別的遺傳演算法,情況並非總是如此...
《Java遺傳演算法程式設計》 1 7 搜尋空間
在電腦科學中,如果處理優化問題時有許多候選解需要搜尋,我們就稱解的集合是 搜尋空間 搜尋空間內每個特定的點就是給定問題的乙個候選解。在這個搜尋空間中有距離的概念,相比位置遠離的解,位置彼此靠近的解更可能表現出相似的特徵。為了理解這些距離在搜尋空間中如何組織,請考慮下面使用二進位制遺傳表示的例子 10...