2015-04-05 118 views
1

嗨,我絕對是初學者,我對遺傳算法中的迭代優化頗有理論質疑。遺傳算法 - 迭代優化

在遺傳循環(見下文)中,迭代優化邏輯上屬於哪裏?我不太確定,但我認爲它可能在人口初始化或突變,取決於給定的問題。

更具體的關於迭代優化算法 - 我想使用「爬山」或「模擬退火」。

我用這個模型作爲參考:

enter image description here

回答

2

嗯,有幾種可能性,基本上所有的人有意義。

如果在羣體初始化之後進行優化階段(在遺傳算法本身之前運行一次),那麼您得到的是已優化的初始羣體。這可能是有用的,因爲遺傳算法不必搜索這麼多,但它可能有害的方式,你優化某些局部最優,可能會失去有用的信息在這個過程中。

如果您在選擇前進行優化階段,您會得到一個所謂的memetic算法。 MA基於有機體在其整個生命週期中學習的事實(優化)。你有兩種方法可以做到這一點:

  1. 帶個人,優化它,並用其優化版本取代原來的個人。這就是所謂的「拉馬克式進化」,它基於這個想法(最初由Jean-Baptiste Lamarck在19世紀初),可以將學習到的特徵傳遞給後代。

  2. 讓一個人,優化它,但然後拋出優化的個人,但分配其適合原來,未優化的個人。在這個變體中,優化有效地成爲適應性評估過程的一部分。這被稱爲「鮑德溫效應」,它基於這個想法(最初由James Mark Ba​​ldwin在19世紀末),所學知識不能傳遞給後代,而遺傳信息則描述了學習的能力。順便說一下,這是自然進化實際工作的方式。

優化當然可以放在所有其他地方,但它不被使用(至少我不知道任何這種情況)。但是,您的問題和突變/交叉運算符可能會使這些地方的優化可能會有所幫助。或者你可以試着看看你得到了什麼。