第二章、 背景知識與相關文獻
2.2 基因演算法
基因演算法為演化式演算法(evolutionary algorithm)中最著名也是使用最多的 方法。1975年,由John Holland在其著作“Adaptation in Natural and Artificial Systems"中奠定了基因演算法的基礎[16],根據達爾文進化論「適者生存,不適 者淘汰」的道理,藉由生物交配、突變、選擇的方式尋得適當的問題最佳解,為 一種有效的最佳化收尋方法。近年來被廣泛的應用於收尋各類問題的最佳解,並 結合其他方法,如類神經網路、模糊理論、增強式學習等,應用在影像處理、醫 學、機器人學、建築學等領域。
2.2.1 基本運作原理
基因演算法採用三種基本的運作機制以模仿自然遺傳的過程,包括複製 (reproduction)、交配(crossover)、突變(mutation),在合理的時間範圍內求得近似最 佳解,其基本步驟如下所式:
編碼(encoding):將問題的解答以一長串數字或是字元所組成的序列。
初始化(initialization):隨機產生一定數量的個體,有時候操作者也可以干 預隨機產生的過程,讓第一代的族群就擁有著部份優化的個體。
評估(assess):經由適應性函式(fitness function)的或代價函數(cost function) 評估,來分辨個體的好壞。 選擇(selection) :選擇是依據每一物種的適應程度來決定下一代中應被淘 汰或複製且保留的個數多寡的一種運算過程。選擇過程有兩種形式:
(a) 輪盤式選擇(roulette wheel selection):在每一代的演化過程中,首先依 每個染色體的適應函數值的大小來分割輪盤的位置,適應函數值越大的 話,則在輪盤上佔有的面積比例也越大,每個物種在輪盤上佔有的面積 比例越大代表被挑選到交配池中的機率越大,然後隨機選取輪盤的一
點,其所對應的物種即被選入到交配池中。
(b) 競爭式選擇(tournament selection):在每一代的演化過程中首先隨機地 選取兩個或更多的染色體,具有最大適應函數值的染色體即被選中送至 交配池中。
交配(crossover):交配運算式,依據交配率從染色體中隨機地任意兩個字 元串,經彼此交換字元串的某些位元資訊而產生兩個新位元字串的一種過 程,一般而言交配運算可以用三種方式進行交配:(a)單點交配(b)雙點交配(c) 均勻交配。
突變(mutation):突變的過程是隨機的選取一物種的字串,並隨機選取突 變點,並改變物種字串裡的位元資訊突變過程發生機率由突變機率所控制。突變過程可以針對單一位元或對整個字串進行突變演算,對於二進制的位元 字串就是將字串的0變1,1變成0。
淘汰(natural selection):透過適應性函式評估新的個體,弱勢的個體將會 被淘汰掉。保留下較好的個體行程新的一個世代。 終止條件(termination):終止的條件主要有三種:第一種,適應值達到特 定標準。第二種,演化到一定代數。第三種,族群演化達到收斂的穩定狀態。
基因演算法的處理流程圖如圖- 4所示。最初,隨機初始化產生規模為N的群體 稱為第0代,然後去評估每一個個體(染色體)得到適應值(fitness value)。接著根據既 定的挑選機制來複製個體進行遺傳演化。最典型的做法是根據個體的適應值,每 一次挑選兩個個體當做雙親,適應值較高者被挑選的機率大於適應值較低者,因 此高適應值的個體有較高的機會繁衍後代。雙親根據交配機率決定是否要進行交 配產生子代,產生後的子代再根據突變機率決定是否要做進一步的突變。交配是 主要的遺傳運算,而突變只是次要的動作。產生後的子代或原來的雙親 (沒有進行 交配或突變者)共同組成下一世代,如此繼續進行直到滿足終止條件為止。
染色體編碼
初始化
評估適應度
輸出最佳解 滿足終 止條件
選擇 交配 突變 產生新一代
YES NO
圖- 4 基因演算法流程圖
2.2.2 基因演算法相關文獻
近年來有許多學者提出結合基因演算法與模糊控制(Fuzzy Control)來優化機器 人控制的方法,[13]將基因演算法應用在修改輸入、輸出的模糊控制歸屬函數,他 們使用Matlab 應用程式 Kiks II 來模擬 Khepera II 機器人,最後再將結果應用在實 體Khepera II 機器人身上,並發現這個方法的效果優於 FLC。
同樣是要計算出合適的模糊控制歸屬函數,[48]將基因演算法用在最佳化模糊 歸屬函數的寬度與中心值。[46]在染色體的表示上採用 0 與 1 的二位元表示法,成 功地組合出不同的歸屬函數,以利基因演算法做計算。[37]將基因演算法的染色體 切為三大區塊,分別控制機體是否採用此項規則、控制模糊歸屬函數的輸出入參 數、控制過程和結果的模糊參數,再用多點交配加速基因演算法演化。除了改變 歸屬函數的方法外,[21]更使用基因演算法去尋找計算適用於每個模糊規則的最佳 權重參數,並比較直接式基因演算法與增量式基因演算法的效能。
目前對於機器人在物件追跡與避障上有相當多的成果。其中,[35]藉由模糊理 論來完成車體跟蹤與避開障礙,使導航車跟蹤領航車,在距離與角度皆為模糊的
資訊下,完成跟蹤任務。[4]使用了李亞普諾夫系統(Lyapunov function)在動態障礙 的環境下完成目標追蹤與避障。[15]使用了類神經網路完成機動型機器人走訪房間 的任務。在感測器上,[11][24]以影像處理來當作機器人追蹤物件與導航的感測。
[10]利用單眼視覺對於視線內的特定圖形範圍進行距離與角度的判斷,並利用模糊 理論進行路徑規劃對於輪型機器人進行控制。另外也有以雙眼視覺計算出目標物 的角度來做模糊控制的相關研究[3]。
在 影 像 處 理 方 面 ,[18]使用單眼視覺一維投影法(1-dimensional projection algorithm)提取出球體的影像位置。球體定位後,需要鎖定目標的物件。[1]提出預 估模板匹配(expectation-based template matching)的方式,達到機器人追蹤並鎖定目 標的目的,實現導航與圖像物件追蹤的整合。最後在實際運用上,[30]更利用影像 擷取步行影像特色,來實現跟隨人類的輪椅機器人。