• 沒有找到結果。

第三章 模糊邏輯系統與遺傳演算法

3.5 DNA 遺傳演算法

DNA 遺傳演算法是改善傳統遺傳演算法而來的,相較於傳統遺傳演算法,

DNA 遺傳演算法顯得更趨近自然現象,可使問題的解易形成全域最佳解,而非 區域最佳解。DNA 遺傳演算法的編碼方式是直接以四種不同的鹼基序列進行編 碼,與生物染色體的編碼一樣,而非二進制或整數方式來編碼,更能體現生物演 化過程。處理相同問題時,其演化過程也相對於傳統遺傳演算法來的好且快。在 生物操作方面,則與傳統遺傳演算法大致相同,基本上有著選擇淘汰、交配及突 變,還有其他的操作方式像是加入病毒和酵素等,也有相關文獻探討及提出[49]。

3.5.1 DNA 遺傳演算法之理論背景

DNA(Deoxyribonucleic acid,去氧核醣核酸)為組成染色體的重要成分,而 染色體具有生物的遺傳訊息。DNA 由四個鹼基序列的核甘酸所組成[50],

Adenine (A)、Guanine (G)、Cytosine (C)和 Thymine (T),在染色體裡包含有許多 基因(Gene),為一個有著 A、G、C、T 的串列組合,其中,每三個主要成分組

基因包含著生物中的遺傳訊息,由 A、G、C、T 串列編碼而成。一條染 色體由數十萬種不同的基因所構成,每個基因又是由許多鹼基序列排列而成,

藉此可產生多樣性的染色體族群,再透過遺傳演化的方式獲得問題中的最佳 解,進而處理非線性系統的問題。

3.5.2 DNA 遺傳演算法之演化操作

與傳統遺傳演算法不同的是,DNA 遺傳演算法是以四個鹼基序列 A、G、

C、T 編碼出不同的基因組合,而成為多樣化的染色體族群;接著透過與遺傳演 算法相同的生物操作:交配及突變,產生最佳的子代[51]。

1. 交配:如同傳統遺傳演算法一樣,DNA 遺傳演算法的交配方式也是 較常採用單點或二點交配,不一樣的是DNA 遺傳演算法與真實生物 體一般,交換的是其鹼基序列,更能使得演化過程更貼近自然狀況。

這是一種交換DNA 染色體基因的生物操作過程,其相對應的關係如 圖3-11 所示,圖 3-12(a)和(b)分別表示單點交配與二點交配的過程,

不過在許多文獻中顯示在DNA 染色體的交配過程中,使用二點交配 方式有著較好的效果。

圖3-11 DNA 中染色體與基因的關係

(a)

(b)

圖3-12 DNA 染色體的交配操作 (a)單點交配、(b)二點交配

2. 突變:在突變機率下,任意選定 DNA 染色體中的一點,將其鹼基序 列改變為其他三種,例如將A 改成 G 或 C 或 T 的過程,稱為突變,

如圖3-13 所示。

圖3-13 DNA 染色體的突變操作

此外,因為DNA 遺傳演算法是根據生物體所產生的,所以其編碼方式也 會比傳統遺傳演算法多變。近年來亦有文獻指出以病毒操作與酵素操作的編碼 方式,使模糊邏輯系統演化出更好的模糊規則。以下將簡略地說明病毒操作與 酵素操作:

1. 病毒(Virus):此生物操作方式,就是以病毒侵入的方式來改變 DNA 染色體的鹼基序列,侵入點並無限制,而病毒的表示方式也是一串鹼 基序列,所以染色體侵入病毒之後,整體長度變長了。其操作方式如 圖3-14 所示。

圖3-14 DNA 染色體的病毒操作

2. 酵素(Enzyme):又稱之為酶,是利用其合成的操作方式來改變 DNA 染色體的鹼基序列。首先酵素確定兩個鹼基序列,如 AGT(Ser)和 GGT(Gly),接著在染色體中選定兩個合成點放入酵素,則兩酵素間 的鹼基序列便會被合成,並隨著酵素消失掉。所以DNA 染色體加入 酵素後,整體長度縮短了,其操作方式如圖3-15 所示。

圖3-15 DNA 染色體的酵素操作

總而言之,DNA 遺傳演算法的編碼有著以下特色:(1) 對於知識的表示 方式是靈活的;(2) 編碼可產生冗長與重疊的染色體;(3) 其產生的染色體長度 是可變的;(4) 對於交配點的選定是沒有限制的。本論文將利用上述的交配與突 變操作來進行全向輪移動機器人的路徑規劃。

相關文件