2016-03-30 20 views
2

我有一個問題,我想根據一些適應度函數使用遺傳算法搜索3D空間中的最佳位置。因爲我正在尋找一個位置,所以我的染色體由3個浮點數表示。目前,交叉是通過從一個父母中取出1或2個數字並將剩餘的數字從另一個父母中取出來完成的。使用遺傳算法搜索3D位置

當像這樣交叉時,下一代將只包含與起始羣體中染色體具有相似X,Y或Z座標的位置。因此,沒有太多的變化是可能的。我的問題是,如果最好通過對我的染色體使用另一種表示法(例如位)來解決這個問題,那麼可以有更多的交叉點(也在浮點數內),或者是更好地設置突變率並使突變增加的更好的解決方案下一代更多的變化?

回答

1

假設有空間相關在立體空間和適應度函數值的點中,它似乎是您的交叉方法聽起來並不像它父母的preserves屬性這導致了良好的表型。隨機組合一些軸座標很可能會導致離父母雙方很遠的一個點,因此它的價值就像隨機突變步驟一樣多。

我會的事項如下:

  1. parthegenesis:允許單親產生的概率p位於隨機位置射線r的3D 內的孩子以父母爲中心的。有用的局部調整

  2. 交叉:孩子被定位在直線連接兩個父母,在隨機百分比值位置。

    • 取決於你做什麼,它可能是有用的,以便與
    • 您可以將相同領域的原則在此情況下,無論是在小概率P」負和> 100%的百分比值開始父母雙方的立場或對孩子的最終位置,這會佔有一定的隨機性
  3. 組合:概率p「」子位於Y之後我們目前的交叉規則,而不是我的交叉定義

  4. 隨機突變:概率P「」」孩子的完全改變一個或母公司更多的價值隨機

    結果
    • 替代方案:沿搜索在隨機位置引入新點,以保持多樣性在某個最小值附近

在一些實際應用中,我寧願不去掉目前人羣中最好的,只是爲了在基因池中保持最佳基因型。

+0

謝謝,很好的回答!給了我更多關於如何思考遺傳算法的見解。 – Wouter92