• 遺傳算子

    編輯
    本詞條由“匿名用戶” 建檔。

    什么是遺傳算子

    編輯

    遺傳算子是一種操作者在使用遺傳算法來引導算法朝解決給定問題。共有三種主要類型的算子(變異、交叉和選擇),它們必須相互配合才能使算法成功。遺傳算子用于創建和維護遺傳多樣性(變異算子),將現有解決方案(也稱為染色體)組合成新解決方案(交叉)并在解決方案之間進行選擇(選擇)。在他的書中討論了遺傳編程的使用為了優化復雜問題,計算機科學家JohnKoza還確定了一個“反轉”或“置換”算子;然而,這個算子的有效性從來沒有被最終證明過,這個算子也很少被討論。

    變異(或類變異)算子被稱為一元算子,因為它們一次只對一條染色體進行運算。相比之下,交叉算子被稱為二元算子,因為它們一次對兩條染色體進行操作,將兩條現有的染色體組合成一條新的染色體。

    操作員

    編輯

    遺傳變異是進化過程的必要條件。遺傳算法中使用的遺傳算子類似于自然界中的遺傳算子:適者生存,或選擇;繁殖(交叉,也稱為重組);和突變。

    選擇

    選擇算子優先考慮更好的解決方案(染色體),允許他們將他們的“基因”傳遞給下一代算法。在傳遞給交叉算子之前,使用某種形式的目標函數(在遺傳算法中也稱為“適應度函數”)確定最佳解決方案。存在不同的選擇最佳解決方案的方法,例如,適應度比例選擇和錦標賽選擇;不同的方法可能會選擇不同的解決方案作為“最佳”。選擇算子也可以簡單地將當前一代的最佳解決方案直接傳遞給下一代而不進行變異;這被稱為精英主義或精英選擇。

    交叉

    交叉是采用一種以上的母體溶液(染色體)并從中產生子溶液的過程。通過重新組合部分好的解決方案,遺傳算法更有可能創建更好的解決方案。與選擇一樣,有許多不同的方法可以組合父解,包括邊緣重組算子(ERO)以及“剪切和拼接交叉”和“均勻交叉”方法。通常選擇交叉方法來與解決方案的染色體表示緊密匹配;當變量組合在一起作為構建塊時,這可能變得尤為重要,這可能會被不尊重的交叉操作員打斷。同樣,交叉方法可能特別適合某些問題;ERO通常被認為是解決旅行商問題的好選擇。

    突變

    變異算子鼓勵解決方案之間的遺傳多樣性,并試圖通過阻止解決方案變得過于接近來防止遺傳算法收斂到局部最小值。在改變當前的解決方案池時,給定的解決方案可能與之前的解決方案完全不同。通過變異解,遺傳算法可以僅通過變異算子達到改進的解。同樣,可以使用不同的突變方法;這些范圍從簡單的位突變(以低概率翻轉二進制字符串染色體中的隨機位)到更復雜的突變方法,這些方法可以用從均勻分布或隨機分布中選擇的隨機值替換解決方案中的基因。高斯分布。與交叉算子一樣,通常選擇變異方法來匹配染色體內解的表示。

    遺傳算子

    組合運算符

    編輯

    雖然每個算子都用于改進由單獨工作的遺傳算法產生的解決方案,但這些算子必須相互協作才能使算法成功找到好的解決方案。單獨使用選擇運算符將傾向于用總體中最佳解決方案的副本填充解決方案總體。如果在沒有變異算子的情況下使用選擇和交叉算子,算法將趨于收斂到局部最小值,即問題的一個很好但次優的解決方案。單獨使用變異算子會導致隨機游走通過搜索空間。只有同時使用這三個算子,遺傳算法才能成為一種耐噪聲的爬山算法,從而為問題提供良好的解決方案。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/124829/

    (4)
    詞條目錄
    1. 什么是遺傳算子
    2. 操作員
    3. 選擇
    4. 交叉
    5. 突變
    6. 組合運算符

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久