• 沒有找到結果。

人工智慧領域中,遺傳演算法被認為是相當重要的一項研究。在 1975 年由密西根大 學的 Holland 所提出,依據達爾文進化論中「物競天擇,適者生存」理論而來。遺傳演 算法借鑑生物演化的規則,模擬自然界演化過程所建立之計算模式。演化的過程可細分 為:選擇(selection)、交配(crossover)與突變(mutation)三項主軸來完成(Bäck, Fogel

& Michalewicz [47-48]; De Jong [49]; Goldberg [50]; Mitchell [51]; Srinivas & Patnaik [52] )。

遺傳演算法適合用於有效地解決最佳化問題,透過將問題的可能解答編碼表示成 為染色體,產生一定數量的候選解族群(population of candidate solutions)進行演化。

Pereira [53]指出,財務領域研究中,染色體由二進制表示法組成效果會優於其他表示方 法,透過連續數代的演化過程將不適應的因素淘汰,保留較佳的基因組成延續至後代。

對每一代產生的候選解評估個體的環境適應值,在當前的候選解中隨機挑選產生可能的 最佳解,經過評估與演化產生新的子代完成演化目的。

遺傳演算法的演化方式眾多,本論文依據過去相關文獻之成果設定演化步驟。首 先,以隨機方法產生一組可能的候選解,將根據最佳化問題定義之適應函數(fitness function)計算出每組個體的適應值。選擇較為優秀的候選解作為演化親代有利於複製 良好基因以找出最佳解。常見的選擇方法有輪盤法 [50](roulette wheel)及競賽法 [51]

(tournament)兩種,本論文以競賽法選擇演化親代,隨機挑選兩組染色體進行評估,

保留適應值較佳的染色體作為演化親代。兩組親代透過交配及突變的演化過程產生新的 子代,當所產生之子代數目與親代相同時,一個世代的演化完成。再經由定義的判斷準 則決定是否繼續進行演化過程或終止演化。演化流程如圖 5 所示:

圖 5. 遺傳演算法流程圖

其 中 , 交 配 為 演 化 過 程 中 相 當 重 要 的 關 鍵 之 一 , 如 以 單 點 交 配 ( one point crossover)、雙點交配(two point crossover)或均勻交配(uniform crossover)方法 [51],

對篩選出較優秀的兩組親代進行交配。本論文設定交配機率(crossover rate)為 70%,

使用單點交配進行演化。單點交配的方法如圖 6 所示,隨機產生基因中的交配位置,當 符合交配條件的情況出現,將兩組基因組成對調,產生新一代具有可能是優秀條件基因 之個體。當演化結果漸趨收斂,可以預見所產生個體之基因組成將非常相似,因此透過 此交配方式同樣能夠保留優秀的基因組成傳遞至新一代個體,維持良好的適應成果。

圖 6. Crossover 示意圖

15

為避免因初始值設定為隨機產生候選解進行演化,其演化結果受初始值內在特性影 響導致缺乏完整代表性,遺傳演算法採用模擬生物突變機制解決可能出現的區域最佳解 問題及增加染色體之多樣性。當符合突變條件之下,對子代的基因進行突變。本論文設 定的突變機率(mutation rate)為 5%,二進制編碼的突變機制採取 0/1 互換方法,藉由 突變機制改變其基因表現。如圖 7 所示,原本基因表現為 1 的基因單元,經由突變機制 使其基因表現反轉為 0,反之亦然。

圖 7. Mutation 示意圖

藉由上述演化過程,遺傳演算法便能夠有效率的找出特定條件下符合整體情況的近 似最佳解。然而,演化的終止條件如何定義也是十分重要的環節之一,傳統上依照個體 間的收斂情形來判定演化是否完成,當群體收斂至某種程度下便可認定已達成演化目 的。但基於計算的複雜度考量,本論文以統計實驗結果決定演化的終止世代數目作為終 止條件。從實驗的觀察可以發現,絕大多數候選解在設定的終止條件下皆趨近收斂。 圖 8 為遺傳演算法的完整步驟。

圖 8. 遺傳演算法步驟

步驟 1. 隨機產生一組有l 個個體的初始族群,每個個體各自存在n-bits 的遺傳型基因(染色體)。

步驟 2. 評估每個個體的適應性強度。

步驟 3. 重複如下運算直到有l 個後代子孫被產生:

i. 選擇一對雙親來交配。

ii. 採取變異的操作(包含基因突變與重組)。

步驟 4. 以此l 個新產生的子孫取代原有l 個個體的初始族群,成為一個新的族群。

步驟 5. 回到第二步驟,直到終止條件結束。

16

17

相關文件