引自:http://www.cnhup.com/index.php/archives/elitist-preservation-in-genetic-algorithm/
遺傳算法(Genetic Algorithm)中的基因,並不一定真實地反映了待求解問題的本質,因此各個基因之間未必就相互獨立,如果只是簡單地進行雜交,很可能把較好的組合給破壞了,這樣就沒有達到累積較好基因的目的,反而把原本很好的基因給破壞了。精英保留策略可以避免最優個體不會因為雜交操作而被破壞。
“精英保留”(maintain the best solution found over time before selection)策略是De Jong針對遺傳算法提出來的。對遺傳算法來說,能否收斂到全局最優解是其首要問題。
Rudolph已經采用有限馬爾可夫鏈理論證明了僅采用交叉、變異和選擇(比例選擇法)三個遺傳算子的標准遺傳算法(Canonical Genetic Algorithm CGA),不能收斂到全局最優值。
CGA不能全局收斂的原因主要有兩個:
(1) 采用比例選擇法,由於存在統計誤差,依據產生的隨機數進行選擇,有可能會出現不正確地反映個體適應度的選擇,可能導致適應度高的個體也被淘汰掉;
(2) 交叉、變異算子可能會破壞掉個體中所隱含的高階(high-order)、長距(length)、高平均適應度模式(schema),可能導致當前群體中的最優個體在下一代群體中發生丟失,而且這種最優個體丟失現象會周而復始的出現在進化過程中。
為了防止當前群體的最優個體在下一代發生丟失,導致遺傳算法不能收斂到全局最優解,De Jong在其博士論文中提出了“精英選擇(elitist selection or elitism)”策略,也稱為“精英保留”(elitist preservation)策略。該策略的思想是,把群體在進化過程中迄今出現的最好個體(稱為精英個體elitist)不進行配對交叉而直接復制到下一代中。 這種選擇操作又稱為復制(copy)。
De Jong對精英選擇方法作了如下定義:
設到第t代時,群體中 a(t)為最優個體。又設A(t+1)為新一代群體,若A(t+1)中不存在比a(t)優的個體 ,則把a(t)加入到A(t+1)中作為A(t+1)的第n+1個個體,這里n為群體的大小。
為了保持群體的規模不變,如果精英個體被加入到新一代群體中,則可以將新一代群體中適應度值最小的個體淘汰掉。
(注解:一種做法,將精英個體放入到種群中,即種群規模為 N+1。 一種做法,保持種群規模,即將精英個體替換掉種群做的最差個體。)
精英個體是種群進化到當前為止遺傳算法搜索到的適應度值最高的個體,它具有最好的基因結構和優良特性。采用精英保留的優點是,遺傳算法在進化過程中,迄今出現的最優個體不會被選擇、交叉和變異操作所丟失和破壞。精英保留策略對改進標准遺傳算法的全局收斂能力產生了重大作用,Rudolph已經從理論上證明了 具有精英保留的標准遺傳算法是全局收斂的。
當然精英保留策略同樣可以應用於別的智能算法中。
替換最劣個體的方式如下:(不替換最差個體,直接加入種群的方法不具體介紹了)
與精英保留策略相近的一個概念 就是 精英選擇,其中不同的地方是 需要判斷 當前最優個體 是否優於 歷史最優個體, 在不優於歷史最優個體的情況下才進行替換。
精英選擇是遺傳算法中的一種選擇算子, 采用輪盤賭的為簡單遺傳算法,采用精英選擇的為 精英遺傳算法,e-GA 。