2015-09-11 49 views
0

如果我錯了,請糾正我,但我的理解是交叉往往會導致局部最優,而突變會增加搜索的隨機遊走,因此傾向於幫助逃避局部最優傾向。我通過閱讀以下內容獲得了這種見解:Introduction to Genetic AlgorithmsWikipedia's article on Genetic Operators結合多個遺傳算子

我的問題是,什麼是最好或最理想的方式來挑選哪些人通過交叉和哪些經歷了突變?這是否有一個經驗法則?什麼影響?

在此先感謝。這是一個非常具體的問題,對Google來說有點難(至少對我來說)。

回答

1

個人參加交叉操作必須考慮健身的選擇,那就是「更好的人更可能比劣質的個體更多的兒童節目。」: http://cswww.essex.ac.uk/staff/rpoli/gp-field-guide/23Selection.html#7_3

最常見的方式來執行此正在使用比賽選擇(參見維基百科)。

選擇變異的個體不應該考慮健身,實際上應該是隨機的。並且每代突變的元素數量(突變率)應該非常低,大約爲1%(或者可能落入隨機搜索): http://cswww.essex.ac.uk/staff/rpoli/gp-field-guide/24RecombinationandMutation.html#7_4

根據我的經驗,稍微調整比賽參數可能會導致最終結果(無論好壞)的實質性變化,所以在玩家選擇這些參數之前,通常是一個好主意,直​​到找到一個「甜蜜點」爲止。

+0

這是一個很好的答案。在我的講座中可能錯過了這些。但是你關於突變的說法以及它應該以非常低的速度發生,這是我的教授可能跳過的內容。謝謝! – oaskamay

+0

我從來沒有隨機選擇個體進行突變。我的GAs通常會選擇一個人,然後確定是否出現交叉。如果是這樣,我選擇另一個人,並交叉他們,生產孩子(ren)。然後,對於每個孩子(或者如果沒有發生xover,第一個選擇的個體),我確定它是否會發生變異。總之,每個人都是1)不交叉,不突變,或2)交叉,不突變,或3)不交叉,突變或4)交叉和突變。 GAs是一種鍊金術,你只需要嘗試一下適用於你的域的東西。 – zegkljan

+0

如果您逐一「拜訪」個人,您如何確定他們是否傾向於參與交叉?我的意思是,如果不知道相對適合度,聽起來很難。 –