遺傳演算法 - 適應度函式



簡單來說,適應度函式是一個函式,它將一個問題的候選解決方案作為輸入,並輸出該解決方案相對於所考慮的問題的“適應度”或“優劣”。

在遺傳演算法中,會重複計算適應度值,因此它應足夠快。適應度值的計算速度慢可能會對遺傳演算法產生不利影響,並使其異常緩慢。

在大多數情況下,適應度函式和目標函式是相同的,因為目標是最大化或最小化給定的目標函式。但是,對於具有多個目標和約束的更復雜問題,演算法設計者可能會選擇使用不同的適應度函式。

適應度函式應具備以下特徵 -

  • 適應度函式的計算應足夠快。

  • 它必須定量測量給定解決方案的適應度或從給定解決方案中產生的個體的適應度。

在某些情況下,由於手頭問題的固有複雜性,可能無法直接計算適應度函式。在這種情況下,我們會進行適應度近似以滿足我們的需求。

下圖顯示了 0/1 揹包問題的解決方案的適應度計算。它是一個簡單的適應度函式,僅將選取的物品的利潤值相加(這些物品帶有 1),從左到右掃描元素,直到揹包已滿。

Binary Representation
廣告
© . All rights reserved.