本節書摘來異步社群《java遺傳算法程式設計》一書中的第1章,第1.6節,作者: 【英】lee jacobson(雅各布森) , 【美】burak kanber(坎貝爾),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
遺傳算法建立在生物進化的概念上,是以,如果你熟悉進化的術語,可能在學習遺傳算法時會發現術語有所重疊。這種領域間的相似性是當然的,因為進化算法,确切來說是遺傳算法,類似于自然界中發現的過程。
術語
在更深入遺傳算法領域之前,我們先了解一些基本的語言和術語,這很重要。随着本書的推進,我們會根據需要引入更複雜的術語。下面是一些較常見的術語的清單,可供參考。
種群:這就是一個候選解集合,可以有變異和交叉這樣的遺傳操作應用于它們。
候選解:給定問題的一個可能的解。
基因:組成染色體的不可分割的建構塊。經典的基因包含0或1。
染色體:染色體是一串基因。染色體定義了一個特定的候選解。用二進制編碼一個典型的染色體可能包含 “01101011”這樣的内容。
變異:一個過程,其中候選解中的基因被随機改變,以建立新的性狀。
交叉:其中染色體被組合以建立新的候選解決方案的方法。這有時稱為重組。
選擇:這是選擇的候選解,繁殖下一代解的技術。
适應度:一個評分,衡量候選解适合給定問題的程度。