遺傳演算法 - 變異



變異簡介

簡單來說,變異可以定義為染色體中一個小的隨機調整,以獲得新的解。它用於維護和引入遺傳種群的多樣性,通常以較低的機率應用 – pm。如果機率很高,則遺傳演算法會簡化為隨機搜尋。

變異是與遺傳演算法的“探索”搜尋空間相關的部分。據觀察,變異對於遺傳演算法的收斂至關重要,而交叉則不然。

變異運算元

在本節中,我們將描述一些最常用的變異運算元。與交叉運算元一樣,這不是一個詳盡的列表,遺傳演算法設計人員可能會發現這些方法的組合或特定於問題的變異運算元更有用。

位元翻轉變異

在這種位元翻轉變異中,我們選擇一個或多個隨機位元並翻轉它們。這用於二進位制編碼的遺傳演算法。

Bit Flip Mutation

隨機重置

隨機重置是整數表示中位元翻轉的擴充套件。在此,從允許值的集合中隨機選擇一個值並將其分配給隨機選擇的基因。

交換變異

在交換變異中,我們在染色體上隨機選擇兩個位置,並交換其值。這在基於排列的編碼中很常見。

Swap Mutation

擾亂變異

擾亂變異在排列表示中也很流行。在此,從整個染色體中選擇基因的一個子集,並隨機擾亂或洗牌它們的值。

Scramble Mutation

倒位變異

在倒位變異中,我們像擾亂變異一樣選擇基因的一個子集,但我們不是洗牌子集,而只是反轉子集中的整個字串。

Inversion Mutation
廣告