• 沒有找到結果。

第二章 文獻探討

2.5 基因演算法(Genetic Algorithm)

根 (Root Mean Square, RMS)和誤差均方根(Root Mean Square Error, RMSE)決定 第n層較佳之輸出變數個數 F ,以作為第n+1層之候選輸入變數,其中 F 小於

2.5 基因演算法(Genetic Algorithm)

基因演算法[6][10]的基本概念是根據達爾文提出的「物競天擇説」,適者生 存,不適者洮汰,經由此自然演化過程,留下較佳之後代。生物演化的目地在於 比上一代更能適應目前的環境,基因演算法就是要將生物界演進的機制應用在找 尋最佳解上,進而所發展出的尋優演算法,此種方法採取隨機的搜尋方式,優點 在於避免只找尋到區域最佳解(local optimum),可獲得全域(global optimum ),基

因演算法常被使用在排程、途程選擇或是最佳化問題上。基因演算法經由長時間 發展,具備完整的理論基礎及架構,擁有強大搜尋最佳解之功能。

2.5.1 基因演算法演算流程

首先要將問題編碼成數值型或是二元字串,稱之為染色體(chromosome),而 染色體是由多個基因所組成,數值型編碼是直接以數字排列作為染色體的編碼方 式,二元編碼是指利用二進位方式進行編碼。接著計算其事先所訂定的適合度函 數(fitness function),檢測其適合度是否為佳,若是適合度不佳則需進行複製 (reproduction)、交配(Crossover)、突變(Mutation)等動作,動作完成後則需再次計 算其適合度函數,不斷重覆以上流程直到其適合度函數符合問題要求為止,即為 搜尋到最佳解。其基本流程架構如圖2-7 所示:

圖2. 7 基因演算法基本流程架構圖 是 將初始解

進行編碼

計算其適合度 函數

是否符合

問題要求 達終止條件

停止運算

否 進行複製、交配、

突變

2.5.2 複製

複製是將族群裡的所有染色體照特定的選擇方式來挑選染色體進行複製,挑 選的原則是要保存優良的染色體可以繼續被複製被保留,所以必須挑選適合度高 的染色體來進行複製,在挑選染色體的方法一般有兩種:(1) 輪盤式選擇,(2) 競 爭式選擇。兩種方式以下個別簡短的作說明:

(1) 輪盤式選擇

輪盤式的選擇先將所有染色體求出其適合度值,各染色體依據個適合值的大 小來決定輪盤上所佔有面積之大小,所佔面積越大,代表被選擇複製進入交配池 的機率就越大。此種挑選方式使得交配池中擁有大小適合值的染色體,亦即適合 值低的也有機會被選入進行交配,使最佳解不落入區域最佳解中。

(2) 競爭式選擇

競爭式選擇首先也要求出各染色體適合度值,所謂競爭式選擇是指將適合值 最佳的染色體直接複製放入交配池中進行交配,並將適合值符合的染色體一同放 入交配池中,此種挑選染色體的方式可確保優良的染色體不會被剔除,可幫助演 算法收斂的速度。

2.5.3 交配

交配提供染色體基因一個互相交換的機制,以增大搜尋空間。交配後的子代 擁有母代混合的特性,而交配的主要目地是要繁衍優良的子代,使子代擁有母代 所共有的優點,當然缺點也會一同出現,而當一子代擁有太多缺點即為不良子 代,便會被淘汰。交配是以隨機的方式在交配池中選取兩個不同的染色體進行交 配,經過交配後所產生之染色體稱為子代。交配池中的每對染色體不一定都會進 行交配,是否進行交配是以交配率來作決定的。

交配的機率若是越高,得到新子代進入族群的機會便越大,使得搜尋到最佳 解的速度也越快。交配率設太高或太低都有其缺點在,如果交配率太高,將導致 在族群中優良物種被取代的速度比新物種進入族群的速度快,使得原本交配的意

義不存在。若是交配率過低,會始得新物種進入的速度變慢,導致搜尋到最佳解 的速度也會相當緩慢。

2.5.4 突變

突變是必須的,因為在複製與交配的過程中,有可能產生在位元組合中的位 元皆相同,如此一來交配就無法產生新的物種,因此需要少量的突變程序,突變 與否則是由突變率來判斷。突變也是用來跳脫區域解的一個重要步驟,使得搜尋 的空間更為廣大,以逼進全域最佳解。突變通常可分為單點突變、雙點突變、轉 置突變以及隨機選取突變。

2.5.5 適合度函數

在生物界中,適應性越強的物種存活的機率越高,在基因演算法中亦然,染 色體的適合度是一個重要的評估機制,適應能力經由適合度函數計算表示,適合 度越高表其適應性越佳。

2.5.6 基因演算法主要特性

一、基因演算法是以參數集合之編碼進行運算而不是參數本身,因此可以跳 脫搜尋空間分析上的限制。

二、基因演算法同時考慮搜尋空間上多個點而不是單一個點,因此可以較快 地獲得全域最佳解,同時也可避免陷入區域最佳解的機會,此為基因演算法最大 之優點。

三、基因演算法只使用適合度函數的資訊而不需要其它輔助的資訊(例如梯 度),因此可以使用各種型態的適合函數,並可節省計算機資源避免繁複的數學 運算。

四、基因演算法使用機率規則方式去引導搜尋方向,而不是用明確的規則,

因此較能符合各種不同類型的最佳化問題。

相關文件