第三章 理論基礎與研究方法
3.2 研究方法
3.2.5 遺傳式模糊推論系統
遺傳演算法又稱為基因演算法,係一種模擬生物進化法則的演算法,其中心 思想係基於「物競天擇,適者生存」而發展出來的尋優理論。由1960 年代美國 密西根大學教授Holland 及其團隊研發之成果,其概念為在尋優的過程中保留較 優良的基因,剔除較差的基因,而操作方式乃利用簡單的位元複製與交換來模擬 仿遺傳學中的複製、交配(Crossover)及突變(Mutation) 等三大法則,並以隨機選 取的方式在空間中快速搜尋全域最佳解。
遺傳演算法已被廣泛地應用在醫學、商學、工程及社會科學等各領域,許多 研究皆已證明其演算法具有一不錯的效率。遺傳演算法以族群(population)為基 礎,利用目標函數、適合函數、編解碼方式及三大基本運算元(operator)的方式來 求解,因其具有全域搜尋的優點,能將數值運算問題轉換成遺傳演算法則的模 式,找出問題的最佳解。以下對其基本概念作一介紹。
1. 求解流程
遺傳演算法乃係先行決定決策變數之編碼方式而產生出染色體的型態及長 度,接著透過選擇與複製、交配與突變等三大運算元的演算機制進行尋優,最後 再將尋求所得之決策變數值進行解碼,直到演化達到尋優最佳解的停止條件滿足 時,才完成演算求解的步驟。
圖3.5 遺傳演算法求解流程圖 2. 族群(Population)
族群乃係由一群由可行解進行編碼後所形成之染色體所組成,通常稱族群內 染色體的數目為族群規模,一般以50 個或 100 個族群數作為設定值,可以主觀 設定或試誤法求得最佳族群數目。若族群規模愈大,則一次所搜尋的可行解愈 多,達成收斂所需世代數便愈少,但每次搜尋時間則因而增長;反之相同。除族 群數必需事先設定外,一般初始族群多利用亂數產生機隨機產生,以作為遺傳演 算之起始。而本研究將以試誤法進行最佳族群數目之設定。
3. 編碼(Encoding)與解碼(Decoding)
遺傳演算法乃利用基因來代表原始問題的決策變數,所以在運算的過程中必 須將決策變數轉換成遺傳演算法的基因再進行演算,此即為編碼;當其演算完成 之後,必須再將基因轉換回決策變數的數值進行輸出,此即為解碼。本研究採用 一般常被應用之二進位編碼方式,即以0 或 1 之二進位法(Binary)來進行變數之 編碼與解碼,即某一染色體可表示成0100010010111,此即可代表一組可行解。
4. 目標函數(Objection Function)與適合函數(Fitness Function)
目標函數係求解最佳化問題中的一項評估準則,其多用以比較模式估計值與 實際數值之誤差程度,誤差愈小表示模式的解釋能力愈好。一般在求解最小化問 題時,適合函數多以目標函數的倒數來代表,而由適合函數求算出之適合度值 (Fitness Value)可用來判斷某一染色體適應環境的程度,適合度值愈高則表示在 世代繁衍的過程中,會被選中進行交配的機率愈高,亦代表其具有較優良的基因 特性。而本研究以誤差平方和作為本模式之目標函數。
5. 三大運算法則
由於遺傳演算法在尋找最佳解時,主要依靠複製、交配與突變等三大法則進 行運作,因而其決定了求解結果之精確性與效率【馮正民與邱裕鈞,2004】。以 下就【Goldberg, 1989】所提出之 SGAs (Simple GAs)為例,簡單說明三大法則之 運作方式:
(1) 選擇(Selection)或複製(Reproduction)
選擇與複製的機制是為了在每一世代的演化過程中,保留適應度較高的染色 體,淘汰適應度較低之染色體,再經過數個世代的繁衍,使其求解過程朝向最佳 解的方向演化。一般而言,選擇機制最常用的方法為蒙地卡羅輪盤式(Monte Carlo Wheel)加以篩選。染色體的適應度愈高,則其所占輪盤面積就愈大,反之則越小,
而輪盤面積愈大的染色體表示基因愈佳,被選為交換演算的機率也就越高,亦即 某一染色體被選中進行繁衍後代的機率為其適合度值占族群中所有染色體之適 合度值總合的比例,其公式如下:
( ) ∑
=
= n
i i j i
f m f
p
1
其中,
p ( ) m
i :第j 個染色體被選中的機率f :第
j j 個染色體的適合度值n:族群數 (2) 交配(Crossover)
交配乃依據所選定之選擇方式篩選出兩個欲進行交配的父代染色體,並透過 優生交配法產生兩個新的子代,經由保留前代優良基因的方式,再期望能配對產 生出新一代適應度更優秀的後代。運作時必須設定一機率(即交配率)來決定是否 進行配對,再藉由不同的基因交換法來產生後代。交配率的高低往往會嚴重影響 到父代是否能生存於下一世代的機率,故其設定值相當地重要,參考一般文獻多 設定交配率為0.7~0.9 間。一般以隨機方式產生 0-1 均一分配之亂數值,一旦該 數值低於所設定之交配率,則進行交配;反之,則保留被挑選到的基因不進行交 配,再加入到新的族群中。所以,其處理步驟為先決定族群進行隨機配對,再隨 機產生成對染色體之配對點(Cut Point)進行交配,並得到兩個新的染色體。一 般較常見的交換法為單點交配(Single Point Crossover)、多點交配(Multi Points Crossover)與均一交配(Uniform Crossover),如圖 3.6 所示。而本研究將採用 均一交配的方式進行遺傳演算機制。
圖3.6 交配方式示意圖
(3) 突變(Mutation)
依照前述的選擇與交配運算機制進行演算,雖能朝向最佳解的目標搜尋,但 仍容易陷入局部最佳解中,而無法找到全域最佳解。因此,加上突變機制後,便 能適度地跳脫父代的基因,避免族群內之染色體過於僵化,以確保在基因演算法 演化的過程中,能有機會搜尋到所有的可行解。突變的運作方式類似交配的方 式,亦以隨機方式產生一0-1 均一分配的亂數值,若其數值低於突變率,則該子 代進行突變;反之,則不進行突變,並保留其交配結果之基因組合。突變率設定 值之高低亦嚴重影響尋優效果,設定值過高會破壞父代遺傳給子代的優良基因,
設定值過低則無法發揮突變機制功用,一般文獻建議之設定範圍為0.01~0.1 間,
或族群數之倒數。而就常應用的突變方式,可分為基因突變(Gene Mutation)與 移轉突變(Shfit Mutation)兩種,其中基因突變又可分為單點突變或多點突變,
如圖3.7 所示。而本研究將以單點基因突變進行遺傳演算法的機制。
圖3.7 突變方式示意圖
二、遺傳式模糊推論系統(Genetic Fuzzy Inference System ; GFIS)
在工業工程與控制等相關領域中,已有許多研究與實務發展於將遺傳演算法 應用在模糊推論系統上,其藉由遺傳演算法之尋優能力,來解決邏輯推論規則建 構的最佳化問題。
RenHou 與 Zhang 於 1996 年提出以遺傳演算法作為設計模糊邏輯控制器的 基礎,其研究應用鐘形隷屬函數作為模糊化介面,控制器系統為多輸入單輸出,
以中心平均值法作為解模糊化的方式,且設計以最小化成本為目標函數。【Li, R.
and Zhang, Y., 1996】
Chin 與 Qi 於 1998 年研究以遺傳演算法來尋找知識庫中最佳的子規則,以 達到在固定的控制績效品質下,求得最小化規則數且符合最大化績效之邏輯規則 的目標。其特點乃藉用遺傳演算法之尋優特性來選擇較佳之規則參數,並於規則 前設計一0,1 位元數,其中 1 代表規則成立,0 代表該規則被拋棄。【Chin, T.C.
and Qi, X.M., 1998】
邱裕鈞與藍武王於 2001 年建立一套反覆演算求解的方式來修正遺傳式模糊 推論系統,其基本觀念為二階層式的數學規劃,上層係在下層的隸屬函數已知的 情況下,求解最佳組合的邏輯規則;下層則係在上層邏輯規則已知的情況下,再 求解最佳的隷屬函數參數。該研究並以 GM 理論模型來驗證 GFLC 之有效性,
證明利用遺傳演算法來建構 FLC 系統能獲得不錯之績效,然其並未引用實際資 料來加以驗證其真實性【邱裕鈞與藍武王,2001】。
賴建華研究以遺傳演算法來克服傳統模糊系統主觀設定邏輯規則及隷屬函 數的缺點,建構一個獨立路口適應性遺傳式模糊邏輯控制系統,以流量、停等車 輛數為狀態變數,綠燈延長時間為控制變數。該研究透過情境分析而得結果顯示 GFLC 模式比 Weber 模式之定時號誌及流量具尖離峰型態之一階段最佳時制為 佳,然而多階段最佳化時制卻比較差,可見該GFLC 模式之控制績效仍有改善空 間【賴建華,2003】。