• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
73
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學

碩 士 論 文

運用螞蟻族群最佳化建構演化樹

ACO on Phylogenetic Tree Construction

系 所 別:資訊工程學系碩士班 學 號 姓 名:M09202018 廖國良

指 導 教 授: 吳哲賢 博士

中 華 民 國 九 十 四 年 六 月

(2)
(3)
(4)
(5)
(6)

運用螞蟻族群最佳化建構演化樹

研究生:廖國良 指導教授:吳哲賢 中華大學資訊工程研究所

摘 要

在本篇論文中,我們提出一個建構演化樹的方法。主要分為兩個部分:物種順 序最佳化、樹型結構最佳化。首先根據物種距離矩陣,利用螞蟻族群最佳化演算法,

有效率地解旅行銷售員問題,得到物種最佳順序。接著依照物種的最佳順序,改良 NJ 和 UPGMA 建構演化樹的方法,設計一個新的演算法來建立演化樹的樹型結構。

最後我們將我們所設計的演算法實作成程式,與 PHYLIP 和 MEGA 兩個演化樹建構 軟體作比較,執行後的結果顯示,我們的方法可以有效率地建立演化樹。

關鍵字: 演化樹、螞蟻族群最佳化、旅行銷售員問題

(7)

ACO on Phylogenetic Tree Construction

Student:Guo-Liung Liau Advisor:Dr. Jer-Shyan Wu Institute of Computer Science and Information Engineering

Chung Hua University

ABSTRACT

In this thesis, we propose one method to construct phylogenetic trees, including two major parts: leave order optimization and topology optimization. According to distance matrix, we first use ACO (Ant Colony Optimization) algorithm to solve TSP (traveling salesman problem), get the optimal leave order. And then, we modify NJ and UPGMA methods to design one new algorithm depending on the above order for phylogenetic tree topology. Finally, we compare the performances of our algorithm with PHYLIP and MEGA. The results show that our algorithm is efficient for phylogenetic tree construction.

Keywords: Phylogenetic Tree, Ant Colony Optimization, Traveling Salesmen Problem

(8)

誌 謝

本論文之能順利完成要感謝的人,實在很多。首先要感謝中華大學資工所生物 組我的指導老師吳哲賢教授,從研一論文題目的尋找,到研二論文題目的確定,研 究的過程到最後的定稿,皆蒙吳教授的細心指導,才使得本論文能完成。

然後是中華大學資工所生物組的老師,在修課上給予的指導與教誨,還要感謝 的是我的家人,由於你們的全力支持,使我能夠專心的在課業上作努力,今天才得 以完成碩士學位,僅能以此論文的完成來感謝你們為我所做的一切。

對於曾經幫助我的師長、學長、同學…等,在此一併致上謝意,因為有你們的 協助,才能順利克服各種困難,使得本論文能完成。

(9)

目 錄

中文摘要...Ⅰ 英文摘要...Ⅱ 誌謝...Ⅲ 目錄...Ⅳ 圖目錄...Ⅵ 表目錄...Ⅷ

第一章 緒論...…...1

1.1 研究背景..…..………...2

1.2 研究動機...…...…………... 4

1.3 研究目的………....…...…………...7

1.4 研究內容與流程.………8

第二章相關文獻回顧...…...11

2.1 演化樹的建構模組...…...12

2.2 演化樹建構的方法...…...……... 16

2.2 螞蟻理論…………...……... 18

第三章 樹型建構方法研究...…... 23

3.1 無權重群組算數平均法………. ... 24

3.2 相鄰連接法………... 26

第四章 ACO演化樹建構演算法…………... 29

4.1 演算法變數定義...………...30

4.2 演算法運算流程...………... 31

第五章 模式驗證與比較分析..…... 35

5.1 TSP效能的驗證………... 36

(10)

5.2 單組問題之驗證與比較…..………..….………..38

5.3 多組問題之驗證與比較..………...…... 45

第六章 結論與建議..…...…55

7.1 研究成果………55

7.2 未來研究方向………56

參考文獻...…...…57

(11)

圖目錄

圖1.1 兩種不同型式的演化樹...…...3

圖1.2 兩種不同演化樹評估方式…. ...…...…..5

圖1.3 演化樹轉漢米爾頓迴圈的概念...…...…...5

圖1.4 論文研究流程圖………...…...…8

圖2.1 無根距離演化樹...………….………...13

圖2.2 特徵演化樹圖形...…... ………...15

圖2.3 自然界的螞蟻如何去尋找最短的覓食路徑…….………..…….18

圖3.1 UPGMA執行步驟...…...………25

圖4.1 ACO演化樹建構演算法流程圖...……...…...31

圖4.2 2-opt例子...………..………...33

圖5.1 輸入資料的二維圖形...……….……...39

圖5.2 OPT執行結果...………...39

圖5.3 JAVA_NJ執行結果...….………...40

圖5.4 JAVA_UPGMA執行結果...………...40

圖5.5 ACO建構演化樹執行結果...………...40

圖5.6 PHYLIP_NJ執行結果...………...41

圖5.7 PHYLIP_UPGMA執行結果...…………...41

圖5.8 PHYLIP_ME執行結果...……...41

圖5.9 PHYLIP_FM執行結果...………...42

圖5.10 MAGA_NJ執行結果...………...42

圖5.11 MAGA_UPGMA執行結果...………...42

圖5.12 MAGA_ME執行結果...………...…...43

圖5.13 20組10個外部節點資料結果分析圖………...47

圖5.14 20組20個外部節點資料結果分析圖………49

圖5.15 20組50個外部節點資料結果分析圖………52

(12)

圖5.16 20組100個外部節點資料結果分析圖………..55 圖5.17 ACO演化樹建構演算法對NJ與UPGMA的改善率……….55

(13)

表目錄

表2.1 (A B C D E) 5個點的距離矩陣...………..…...13

表2.2 特徵值矩陣的表示表格.………...…………... 14

表2.3 ACO演算法的發展應用表…...…………...…..22

表5.1 我們設計的ACO程式執行TSP的效能...………37

表5.2 輸入資料的距離矩陣………..39

表5.3 ACO、PHYLIP、MEGA所求得的2S值……….44

表5.4 20組資料規模為10個外部節點執行結果表………46

表5.5 20組資料規模為20個外部節點執行結果表………48

表5.6 20組資料規模為50個外部節點執行結果表………51

表5.7 20組規模為100個外部節點資料執行結果表………..54

(14)

第 一 章 緒 論

DNA 或是蛋白質序列的演化分析,已經成為研究細菌到人類的生物演化史重要 的工具。從 n 個生物尋找他們之間的關係在計算生物學上是一個重要的議題。一群 生物之間演化關係的建立被定義為一棵演化樹。演化樹重建是困難的問題,由於可 行解的數量會隨著物種的增加而呈指數形式地成長。因此要解決的問題是如何在線 性成長的時間內求得指數成長的近似解。

(15)

1.1 背景

達爾文說明了物種的既存性狀經由天擇,被保留在後代族群中。往後近百年的 遺傳學研究知道基因的突變和重組、染色體的互換也會造成可遺傳性狀的變異。基 因突變在任何細胞內都可能發生,但只有發生在配子內時,突變後的基因才會遺傳 到下一代。突變基因的性狀表型,對既存生物體究竟是有利或有害,通常又與環境 的變動與否有關;有時原來有害的或中性的基因,在環境發生變化後,卻可能成為 適應新環境的有利基因。染色體的互換和基因的重組是指生物體進行有性生殖時,

親代兩者的遺傳物質傳遞到子代,形成新的組合;它可使後代的性狀組合增多,在 適應多變的環境上更為有利。

以分子的角度去看,構成生命的主角為胺基酸與蛋白質。簡單的說,生物的種 類與它所有的特質是由蛋白質所決定,而蛋白質中的胺基酸,則帶有組成此蛋白質 的密碼。我們常聽到的DNA與RNA就是核酸的兩個種類,而基因就是帶有生命密碼 的核酸片段。

基因是決定生物遺傳的基本單位,位於細胞核內的染色體中,決定了生物的性 狀,每個基因控制著人體上一種特徵,且基因之間會交互影響。以DNA序列為例:

腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)、鳥嘌呤(G)四個鹼基的排列,稱為基因遺傳密 碼。A、G、C、T之於生物;就好比「0」與「1」之於電腦,在生物的世界裡,小

(16)

至病毒、細菌、螞蟻、昆蟲;大至人類、大象;都是以A、T、C、G這四個字母的 密碼形成,將遺傳訊息儲存於DNA序列中。當我們要建立演化樹的時候,我們就是 直接或是間接的分析這些基因的資料。

(a) (b)

圖 1.1:兩種不同型式的演化樹。(a)有根樹;(b)無根樹。

一般而言演化樹種類可以分為有根或是無根演化樹兩種(圖1.1):有根演化樹–

表示繼承的關係和演化的相對時間關係。無根演化樹–表示物種親疏關係。

(17)

1.2 研究動機

演化樹重建是困難的問題,因為可行解的數量會隨著物種的增加而呈指數形式 地成長。因此要解決的問題是如何在線性成長的時間內求得指數成長的近似解。在 文獻中,近似解演算法(approximation algorithm)大抵上可以概分成兩類:第一類為 經驗式法則(ad hoc heuristics),即針對問題特性,設計簡單的決策方法;在演化樹建 構 問 題 上 如 無 權 重 群 組 算 數 平 均 法 (UPGMA)[17] 、 相 鄰 連 接 法 (Neighbor-joining)[15]、Fitch-Margoliash(FM)[9]、最小進化法(ME)、最大吝嗇法(MP) 以及最大概率法(ML)[8]等。第二類則是一些通用型概念(meta-heuristics),可適用於 多種類型問題,而這些解題策略通常取材自各種自然或科學等領域,如遺傳演算法 (genetic algorithms, GA)、模擬退火法(simulated annealing, SA)、禁忌搜尋法(tabu search, TS)等。

對一棵演化樹來說,評估演化樹可以用物種與物種間的距離(dij)建構出來的分 枝的總和(S)。Minimum-evolution方法(Cavalli-Sforza and Edwards, 1967,[2]; Saitou and Imanishi, 1989,[14])就是選S值最小的當作最佳的演化樹。實際的演化樹在所有可能 的演化樹中預期S值真的是最小值(Rzhetsky and Nei, 1993)[13]。在不知道演化樹的內 部節點時有兩個方法可以用評估演化樹物種之間的關係來評估最佳的演化樹。一種 評估方式是物種(外部節點)間的距離兩兩相加(H. Carillo and D. Lipman, 1988)[1](圖

(18)

1.2(a)),可是這樣的評估方法會有分枝計算次數不同的問題。另一種是Korostensky and Gonnet, (2000)[10]所提出的評估標準:環狀加總。這樣每一個分枝都只被算兩 次,算出 來的總值 等於2S(圖1.2(b))。環狀加總評估會形成一個漢米爾頓迴圈 (Hamilton cycle)(圖1.3)。環狀加總評估的問題和找出經過N個城市每各城市只經過一 次的最短路徑一樣,而找出最小的S值就和解決旅行銷售員問題(TSP)一樣。所以我 們就可以把外部節點順序最佳化問題轉成TSP。而且TSP的研究已經有相當久的歷 史,可以在解決TSP中找一個比較好的方法。

(a) (b)

圖1.2 (a) dAB+dAC+dAD+dAE+dBA+dBC+dBD+dBE+dCA+dCB+dCD+dCE+dDA+dDB+dDC+dDE+dEA+dEB+dEC+dED. dAx,dBy,dCy,dDz,dEz計算8次,dxy計算10次,dxw,dwx計算12次。(b) dAB+dBC+dCD+dDE+dEA=2S.

dAx,dBy,dCy,dDz,dEz,,dxy,dxw,dwx 都計算2次。

圖1.3 路徑:A→B→C→D→E→A

螞蟻演算法[12]為一新近發展的求解近似解演算法,由Dorigo 等學者於1996 年 所提出(Dorigo et al., 1996)[5],此演算法利用自然界螞蟻出外覓食時, 會在行經巢 穴與食物間留下一種化學物質,稱為費洛蒙(pheromone),之後經過的螞蟻會遵循先

(19)

前螞蟻所留下較濃的費洛蒙濃度路徑前進,進而尋得最佳解,其精神在於善用既有 的經驗,並在可能的解答空間中探索新的可能解答(exploration)以及改善既有解答 (exploitation),以反覆的自我改善過程逼近最佳解。對於解決一些困難的組合最佳化 問題(combinatorial optimization problems)旅行銷售員問題(traveling salesman problem, TSP)(Dorigo et al., 1997)[4]已被證明有相當好的成效。

(20)

1.3 研究目的

演化樹的建構發展至今,已經衍生出許許多多的方法。每一種方法都有各自的 基礎支持著。我們做這個研究主要是希望,可以從許許多多舊有的方法中尋找出新 的方法。以下五點是我們的目的:

1.

彙析演化樹建構方法相關文獻。

2.

應用螞蟻族群最佳化之理論,建立螞蟻族群最佳化演算法。

3.

運用螞蟻族群最佳化演算法求出的外部節點順序來建構演化樹。

4.

利用程式語言(Java)編撰本研究所建立的演算法。

5.

利用隨機產生不同規模的問題,進行不同求解方法之效能比較,包括本研究所 建 立 的 演 算 法 與 無 權 重 群 組 算 數 平 均 法 (UPGMA) 、 相 鄰 連 接 法 (Neighbor-joining)、Fitch-Margoliash(FM)、最小進化法(ME)。

(21)

1.4 研究內容與流程

在做這個研究之前,我們必須先規劃好研究的流程。事先的規劃可以減少執行 時走錯方向,並可以確定我們是否達成每一各階段的目標與目的。

以下是研究的流程圖:

圖1.4 論文研究流程圖

(22)

我們根據論文研究流程圖,再詳細的解說論文研究每一個步驟的目標與目的。內容 如下:

1.

界定研究目的與範圍

本研究為運用螞蟻族群最佳化尋找最佳外部節點順序建立一個演化樹建構的演 算法,並以此演算法與其他演化樹建構演算法透過隨機產生的樣本,在不同規模的 分群數目下,分析各演算法之求解效能,並比較其優劣。

2.

回顧相關文獻

回顧國內外有關演化樹建構的演算法之文獻,以及對TSP與螞蟻族群系統的發 展過程進行研究,藉TSP與螞蟻族群最佳化確立本研究中演化樹的架構。

3.

建立螞蟻分群演算法

根據回顧相關文獻之整理,界定本研究所要使用的螞蟻族群最佳化的範圍,並 且根據其他演化樹建構演算法的精神,建立本研究的演化樹建構演算法。

4.

問題之驗證

利用隨機產生的樣本,建立一組不同規模的樣本,並透過與其它演化樹建構的 演算法比較,進而驗證本研究的演化樹建構演算法的精準性。

5.

其他演化樹建構演算法

(23)

根據回顧相關文獻之整理,與無權重群組算數平均法(UPGMA)、相鄰連接法 (Neighbor-joining)、Fitch-Margoliash(FM)、最小進化法(ME),挑選二個適當的演化樹 建構的演算法,在不同規模問題之比較中,作為比較的對象。

6.

單組不同規模問題之比較

此部分為採用TSPLIB資料樣本,建立不同資料規模的演化樹建構問題,將本研 究的演化樹建構演算法 從其他的演化樹建構演算法如︰無權重群組算數平均法

(UPGMA)、相鄰連接法(Neighbor-joining)、Fitch-Margoliash(FM)、最小進化法(ME)。

針對各演算法在求解過程中求得的最佳解之效能作一比較分析。

7.

多組不同規模問題之比較

此部分同樣採用隨機產生的樣本,建立不同資料規模的演化樹建構問題,將 本研究的演化樹建構演算法 從其他的演化樹建構演算法如︰無權重群組算數平均 法(UPGMA)、相鄰連接法(Neighbor-joining)、Fitch-Margoliash(FM)、最小進化法 (ME)。挑選二個適當的演化樹建構的演算法分別作求解的動作,並針對各演算法在 求解過程中求得的最佳解之效能作一比較分析。

8.

結論與建議

根據前述的分析結果提出本研究的結論,並對往後相關研究與發展提出建議,

以期獲得更完備的理論架構。

(24)

第 二 章 相關文獻回顧

建立演化樹的方法有許多種類,依照輸入資料的型式可以分為距離矩陣、特徵 矩陣與序列三種。我們所使用的方法是以距離矩陣做為輸入的資料,所以在這一章 節的一開始,我們會介紹常用的兩種以距離矩陣做為輸入資料的演化樹建構方法:

無權重群組算數平均法:UPGMA(unweighted pair group method usingarithmetic averages)、鄰接法:Neighbor-joining。在我們的研究中會應用到其他與演化樹建構 無直接關係的演算法,我們會稍微介紹一下螞蟻族群系統(ant colony system, ACS),

並介紹ACS最佳化成為螞蟻族群最佳化(ant colony optimization)演算法的歷史。

(25)

2.1 演化樹的建構模組

首先我們簡單介紹演化樹建構方法的建構模組。演化樹的建構模組依照輸入資 料的型式可以分為距離矩陣、特徵矩陣與序列三種:

1.

距離矩陣(distance matrix):

在距離矩陣中的距離代表著物種之間的親近疏遠關係,並不能代表物種之間母 代和子代的關係,而距離數值的大小即代表物種間的親疏關係量化的值,數值越大,

代表彼此在演化上的關係越疏遠;數值越小,代表彼此在演化上的關係越親近。

距離矩陣(Distance Matrix)就是物種間距離所形成的矩陣,在Distance Matrix 中,基本的輸入是一N*N 的矩陣,其中每一元素皆為實數,而矩陣中的元素Mij 則 定義為物種 i 與物種 j 間的距離,再此可以發現到一些特性:

1. dij≠0 for i≠j 在不同物種之間,彼此距離不等於0。

2. dij=0 for i=j 意即物種本身對於自身而言距離為0。

圖1.2的演化樹是一個沒有根的距離演化樹,各個端點間的距離僅代表著彼此的 相對位置,也就是物種關係距離量化的值,也代表物種之間的相近疏遠關係,並無 法顯示物種之間母代和子代的關係。

(26)

B C D E F G A 63 94 111 67 23 107 B 79 96 16 58 92

C 47 83 89 43

D 100 106 20

E 62 96

F 102

表2.1 (A B C D E) 5個點的距離矩陣。

圖2.1 無根距離演化樹。共有(A B C D E) 5個點的演化樹。

2.

特徵值矩陣(character state matrix):

生物在生理結構上和其他生物會有明顯不同的地方,像腳指頭的數目、鳥嘴的 形狀、有無翅膀、眼睛的顏色等;或是擁有特殊的基因片段與其他生物有明顯不同,

都可以作為一個特徵。將這些特徵集合在一起建立一個矩陣,就是特徵矩陣。

一個擁有n列(物種)和m行(特徵)的矩陣M,Mij表示物種i相對於特徵j的狀態。在

A

F

C D

B G E

25 9 14

40

15

18 10 8

20

8

12

(27)

此我們所介紹的矩陣一個特徵只含有兩種值:0–表示沒有此特徵;1–表示擁有此特 徵。事實上一個特徵有時並不一定只含有兩種值,有可能含有兩種以上的值。原則 上擁有相同特徵的物種在遺傳學上是較為相近的,不過也有例外,像蝙蝠和鳥一樣 擁有翅膀,但是卻不屬於鳥類,這種現象叫做「平行演化」。我們假設這種現象不 會發生,以減少不必要的麻煩。

表2.2 特徵值矩陣的表示表格。1 代表有此特徵,0 則代表沒有。我們自行編寫特徵演化樹程式輸 入資料執行顯示的畫面。

S1~S9 為物種名稱,C1~C15 為特徵名稱。由此表可看出,物種S8擁有C10、

C12、C13、C14 四種特徵。

特徵演化樹建立,依照character state matrix 可描繪出物種與物種間的關係,這 就是特徵演化樹。以圖1.3的表格為例,圖1.4是畫出的演化樹。

(28)

圖2.2 特徵演化樹圖形。藉由表2.2特徵表格建出的特徵演化樹。我們自行編寫特徵演化樹程式輸出 結果顯示的畫面。

我們可以看出物種S3有C3這個特徵,而且它還繼承了C6和C1這兩個特徵。在 圖1.4中S3是S1和S2的母代。S3經由演化,產生了C8這個特徵,而後又衍生出特徵 C4、C5,而成為物種S1。

3.

序列(sequence):

演化相近的生物有較相似的基因序列,因此我們可以分析各物種的基因序列來 判斷各物種間的關係。序列的分析主要分為機率和替換次數兩種:機率–Maximum likelihood 方法。替換次數–Maximum Parsimony方法。

(29)

2.2 演化樹建構的方法

在篇論文中我們主要是探討距離矩陣模組,所以我們介紹的方法也都是用距離 矩陣來建構演化樹。

1.

無權重群組算數平均法

無權重群組算數平均法:UPGMA(unweighted pair group method using arithmetic mean( Sneath and Sokal 1973) )[17]所建立的是有根的演化樹。 首先,對每一個輸入 的序列編號i,給定一個cluster(群組)Ci算出每個cluster 兩兩間的距離算出,將2個距 離最近的群組圈訂為另一群組;新的距離為原先的1/2;如此做下去;將全部的群組 圈訂完即為所求。

2.

相鄰連接法

相鄰連接法:Neighbor-joining (Saitou and Nei, 1987)[15]所建立的是無根的演化 樹。首先將樹狀結構設成一個星狀拓樸,之後依照計算後的結果選取配對的節點,

直到節點剩下3個。由於相鄰連法所建是無根的演化樹,所以剩下的3個節點就可以 決定演化樹的樹型。

(30)

3. Fitch-Margoliash(FM)

Fitch-Margoliash方法設法計算所有可能觀察到的距離相對於演化樹中所有可能 的路徑長度的偏差平方極小化,將演化樹中觀察到的雙重距離的合適度極大化 (Felsenstein, 1997)[8]。有一些變量,例如在對錯誤進行加權處理上不太一樣。對變 化的估計值並非是完全獨立的,因為所有的演化樹內部的分支中存在的錯誤都至少 被計算兩次(Rzhetsky and Nei, 1993)。

4.

最小演化法(ME)

最小演化方法首先使用同FM相同的方式計算出路徑長度,然後根據路徑長度最 佳化出最短路徑的演化樹;也就是說,它要求將觀察到的距離與相對基於演化樹的 距離偏差的平方最小化(Rzhetsky and Nei, 1993; Swofford et al., 1996; Felenstein, 1997)。與FM方法不同,ME方法並不使用所有可能的雙重序列距離和所有可能的相 關演化樹的路徑長度,而是先根據到外部節點的距離固定演化樹內部節點的位置,

然後根據這些觀察點之間的最小計算誤差,對演化樹內部節點的分支進行最佳化。

因此可以消除FM在計算上的誤差。

(31)

2.3 螞蟻理論

Dorigo et al.(1996)首次提出螞蟻系統(ant system, AS)。文章中描述螞蟻理論的基 本定義與演算步驟,在研究模式中提出螞蟻理論求解問題最佳化的方法,從模擬試 驗中,螞蟻在行走過的路徑上會留下一種化學物費洛蒙(pheromone),當眾多螞蟻通 過後會在最短路徑上留下濃度最高的費洛蒙,此路徑即為最佳解。而要把此螞蟻族 群間這種自我組織而能搜尋出最短路徑的能力轉換進入電腦系統時,必須加入部份 設定特性轉換成人工螞蟻的概念。在研究結果中利用螞蟻系統與其他啟發式演算法 如:模擬退火法(simulated annealing, SA)、禁忌搜尋法(tabu search, TS)比較三者間的 效率與效度,結果皆為螞蟻理論的表現比其他兩者來的優良。

圖2.3 自然界的螞蟻如何去尋找最短的覓食路徑。(A)螞蟻到達一個需要選擇的路口。(B)一些螞蟻選

(32)

擇上面的路而另一些螞蟻選擇下面的路。(C)螞蟻走的速度都一樣,因此選擇下面較短路徑的螞蟻走 到目的地會比選擇上面較長路徑的螞蟻快(D)費洛蒙累積的速率在較短的路上會比較高。路徑上直線 的數目相當於螞蟻遺留在路上費洛蒙量的比例。

Dorigo and Gambardella(1997) 針 對 AS 作 了 三 處 改 良 , 包 括 加 入 轉 換 規 則 (transition rule)、改變費洛蒙路徑更新方法及增加局部更新法(local updating),而發 展出螞蟻族群系統(ant colony system, ACS)演算法。在研究驗證部份,首先設計一小 規模(50 個城市)旅行銷售員問題(travailing salesman problem, TSP ),得到的結果與 其他啟發式演算法比較雖有較佳的效率與效度,但是差異不大;該研究利用過去 TSPLIB 國際題庫的大規模問題(城市數大於100)驗證資料,得到的結果顯示ACS具 有較佳的效率與效度。

Gambardella and Dorigo(1999)利用ACS 在求解TSP 問題中,對於路徑分成最佳 路經(best edges, BE)、可測試路徑(testable edges, TE)與無利益路徑(uninteresting

edges, UE),依據費洛蒙的特性螞蟻對於適當的路徑會累積較高的濃度,所以在一開 始所有路徑皆為最佳路徑,但是隨著時間的增加,較佳路徑的費洛蒙濃度相對其他 路徑來得高,因此依據螞蟻選取費洛蒙濃度較高的路徑行動可以得到我們所要的最 短路徑,並以不同問題規模來驗證演算法的效率。在該研究結論中提及對於如何避 免陷入局部最小值的陷阱和加速搜尋速度,提出利用增加人工螞蟻族群,使得一些 新的螞蟻會正確地決定局部最佳解,以此來改善局部最佳解的最佳路徑。

Dorigo and Di Caro(1999)對於螞蟻族群最佳化做一完整詳細的介紹,而螞蟻族 群最佳化對於解決NP-hard 問題的應用在過去相關文獻有不同方面之見解,本研究 針對過去各種方法做一整合的動作,該研究之目的在於整合過去有關螞蟻族群最佳 化的模式,並對於此演算法運用於TSP驗證效率與效度的方式做一完整的介紹與分

(33)

析。

Dorigo et al.(2000)對於整體螞蟻演算法的理論基礎與應用範疇提出一整理性的 研究,並且明確定義螞蟻理論屬於Stigmergy 形式的一種,Stigmergy 一詞為法國為 生物學家Pierre-Paul Grasse 提出,其精神在於模擬社群昆蟲自主組織的行為,經由 直接或非直接的方式達到分群分類之目的,而實際運用在人類日常生活上最明顯則 是網際網路,而螞蟻利用費洛蒙濃度達到找尋食物、分辨最短路徑等皆是屬於 Stigmergy 重要的部分,該研究主要目的在於闡述定義螞蟻演算法與利用一些簡例 說明螞蟻驗算法的效率與效度。

McMullen ( 2001 ) 運用螞蟻族群最佳化來處理即時生產系統(just-in-time, JIT) 問題,即時生產系統之目的在於穩定的保持最小投資,以求能夠在生產管理上保持 較大的彈性並且保持在市場上的競爭力,在研究模式中利用二維與三維資料並且針 對條件的不同來設計不同形式的ACO 演算法,並以這些ACO 演算法與其他啟發式 演算法比較其效率,在研究結果中得到ACO 演算法的表現令人滿意。

Gámez and Puerta(2002)運用螞蟻族群系統來解決貝氏網路問題,在研究模式 中,透過對於螞蟻族群系統的不同定義衍生出有些微差異的螞蟻族群系統,再利用 這些演算法與相同方式定義出的遺傳演算法式的演算法,做一比較分析,在研究結 果中得知螞蟻族群演算法有較優秀的效率,而在增加電腦CPU 運算時間到120秒,

其結果仍是螞蟻族群演算法有較佳的效率。

Randall and Lewis(2002)利用螞蟻族群最佳化演算法中平行處理(parallelization) 的特性來針對所設計的問題中每一步驟有眾多解的情形下,如何求得最佳解。由於 定義平行處理的效率是有困難的,因此研究模式是利用一些通用型法則的基本要素

(34)

來構建一平行處理的機制,發展出平行獨立螞蟻族群系統、平行交互作用螞蟻族群 系統、平行處理的螞蟻系統、平行求解要素評價和結合螞蟻與求解要素評價的平行 處理。在研究結果部分,實例驗證結果顯示在大樣本(樣本數大於200)可以得到理想 的效率,而平行處理的效率可以經由演算法的轉變進而轉換成能更同時處理更多樣 本的機制。

蕭宗勝[22]對螞蟻族群最佳化進行深入之研究。除了詳實探討螞蟻族群演算法 的特性外,也針對新的組合問題提出螞蟻族群演算法,以擴大螞蟻族群最佳化的應 用範圍;這包括了:最小節點覆蓋問題、基地台分配問題、遠端擴張樹問題與演化 樹建構問題。在實驗與驗證下證實,螞蟻族群演算法實是一成功的解題策略,對於 許多困難的組合問題,都能在短時間內取得優良之近似解,即使相較於其他近似解 法也毫不遜色。在一些問題的實驗上說明了只要能找到適當的圖形模式,螞蟻族群 演算法都能提供優良之解答。

藍坤銘(2002)基於過去眾多文獻中,幾乎只能看到螞蟻理論的求解品質,對於 螞蟻理論求解效率卻很少描述,本研究提出一種新的啟發式方法ARACS解決旅行者 推銷員問題,經由多個TSPLIB國際題庫之求解,證實結合順序樣式法和螞蟻理論之 啟發式方法比傳統螞蟻理論收斂速度更快,而同樣能保證得到相同最佳解品質。

ARACS 所採用的方法為擷取螞蟻前端搜尋所得之路徑順序為資料,進一步採用資 料挖掘的順序樣式法則,找出各城市之間的關聯性,建立費洛蒙素動態矩陣,避免 費洛蒙素更改時陷入局部最佳解。

(35)

作者

運用 方法

應用 範圍

驗證資料來源 比較之演算法 驗證後效率

Dorigo et al.(1996)

AS 求解 TSP

Oliver30 TS、SA、GA、

ES

AS 較佳

Dorigo and Gambardel la(1997)

ACS 求解 TSP

1. 設計一個50 城市數規模的 TSP 問題 2. TSPLIB國際 題庫

SA、NNs、EN、

SOM、EC、GA、

EP、AG、FI

在小規模(50)問題各演 算法差異不大,大規模 (100 以上)ACS 較佳

Dorigo and Di Caro(1999)

ACO 求解 TSP Randall

and Lewis

(2002) ACO 求解 TSP

設計多個不同 城市規模的 TSP問題

在大樣本(200)ACO較 佳

表2.3 ACO演算法的發展應用表

有關螞蟻理論的研究多為探討如何去改善在求解旅行銷售員問題的最佳解品質 與效率,因此我們使用螞蟻族群演算法計算演化樹外部節點順序,以求得最佳化的 外部節點順序。

(36)

第 三 章

樹型建構方法研究

在本篇論文中我們主要是探討距離矩陣模組,所以我們會介紹以距離矩陣做為 輸入資料來建構演化樹的二種方法:無權重群組算數平均法與相鄰連接法。這兩種 方法都有相當的歷史。因為這兩種演算法比較簡單,也常常被用來當做演化樹建構 程式實做的入門練習。在講解這兩種演化樹的過程中,相信可以比其他演算法容易 理解演化樹是如何被建構出來的。

(37)

3.1 無權重群組算數平均法

無權重群組算數平均法:UPGMA(unweighted pair group method using arithmetic

mean( Sneath and Sokal 1973) )所建立的是有根的演化樹。首先先對每一個輸入的序 列i編號,給定一個cluster(群組)Ci算出每個cluster 兩兩間的距離算出,將2個距離最 近的群組圈定為另一群組;新的距離為原先的1/2;如此做下去;將全部的群組圈定 完即為所求。

距離的公式與定義:

1. dij為Ci與Cj兩個群組間的距離。

2.C 與i C 表示在群組中Cj i與Cj序列的個數。

3.Ck:聯集2個群組Ci與Cj。 4.Cl:表示其他的群組。

(38)

圖3.1 UPGMA執行步驟 先將1 與2 群組圈選成一組(因為他們的距離最小),所得到的距離t1=t2=1/2 d12。依此類推接下去做4 、5 ;再作3 ;最後便可以得到演化樹。

(39)

3.2 相鄰連接法

相鄰連接法:Neighbor-joining (Saitou and Nei, 1987)所建立的是無根的演化樹。

首先將樹狀結構設成一個星狀拓樸,之後依照計算後的結果選取配對的節點,直到 節點剩下3個。由於相鄰連法所建是無根的演化樹,所以剩下的3個節點就可以決定 演化樹的樹型。

相鄰連接法選取配對節點的公式:

( ) ( )

,

1, , 1, ,

1 1 1

2 2

2 2

i j ik jk ij xy

k x x i j y y i j

s d d d d

π π π

π

π = ≠ = ≠

= + + +

∑ ∑ ∑

公式3.1 選取Sij最小值的i,j節點,選取Sij最小值可轉換成選Qij最小值。

( ) ( )

( )

1 1

1 1

1 1

2 2 2

2

ij ij xy

x y

ij ij ix jy

x y

S Q d

Q d d d

π π

π π

π π

π

= =

= =

= +

− −

= − − −

∑∑

∑ ∑

公式3.2

選取Qij最小值可轉換成選

( )

1 1

/ 2

ij ix jy

x y

Mij d d d

π π

π

= =

⎛ ⎞

= −⎜⎜⎝

+

⎟⎟⎠ − 最小值。之後會產生新

的節點m,因此我們要更新距離矩陣,還有給定m點到i,j的距離。

新節點m與其他節點k的距離:

( ) ( )

0 .5 , , , ,

k m m i m j ij

d

=

d

+

d

d w h e r e m

π m

k i j

公式3.3

新節點m與其節點i,j的距離:

(40)

( ) ( )

/ 2 / 2 2

1 1

2 , 2

im ij i j

jm ij im

i ik j jk

k k

d d r r

d d d

where r d r d

π π

π

π ∈ π ∈

= + − −

= −

= =

公式3.4

下面是一個相鄰連接法的範例:

1.初始距離矩陣

2.計算Mij

3.初始星狀拓樸

(41)

4.由Mij矩陣,選取最小值MAB = -13,更新距離矩陣。

5.更新樹狀結構

6.重複1~5步驟直到剩下3節點,就完成了。( PHYLIP 執行結果)

(42)

第 四 章

ACO演化樹建構演算法

本演算法係依據Dorigo 等學者修正螞蟻系統(ant system)所發展出的螞蟻族群 最 佳 化 (ant colony optimization, ACO)(Dorigo et al., 1999) 與 UPGMA 和 Neighbor-joining為基礎,所建構出的演化樹建構演算法。首先用ACO求出所有物種 的最佳權重,並求得所有物種的排列順序。再以所求得的所有物種排列順序作為基 礎,來建構演化樹的樹型。

(43)

4.1 演算法變數定義

1.

螞蟻族群最佳化

k

P :螞蟻 k 從位置 r 到位置 s 的機率。 rs

τrs:螞蟻從位置 r 到位置 s 遺留費洛蒙量濃度的函數。

ηrs:螞蟻從位置 r 到位置s 期望值的函數。在TSP 可定義為ηrs =

( )

drs 1,其中d rs 為兩資料節點 r, s 之間的歐基里德距離。

( )

Jk r :螞蟻k走到位置 r 後,其它未走過位置的函數。

α : τ 的參數。

β : η 的參數。

k

τrs

Δ :螞蟻 k 遺留在位置 r 到位置 s 邊上費洛蒙量的濃度。

ρ:費洛蒙濃度殘留係數。

ξk:螞蟻 k 所走的路徑長度跟其它螞蟻走的路徑長度比例。

ω:費洛蒙量。

2.

樹型建構

d :兩資料物種 i, j 之間的歐基里德距離。 ij

(44)

4.2 演算法運算流程

本節會詳細的介紹論文演算法的程序,並且一一的將程序列出,運算的流程圖:

圖4.1 ACO演化樹建構演算法流程圖

輸入相關參數

隨機放置螞蟻

螞蟻搜尋外部節點順序

更新費洛蒙濃度

所有螞蟻搜尋結束

更新費洛蒙濃度

符合螞蟻終止條件

是 否

選取節點 更新距離矩陣

符合樹型建構終止條件

是 完成演化樹建構

(45)

演化樹建構流程圖內容如下:

步驟一:輸入相關參數–包含螞蟻數目m、費洛蒙蒸發比率ρ、α與β值。

步驟二:隨機放置螞蟻–將m隻螞蟻隨機放置在節點上。

步驟三:螞蟻搜尋外部節點順序–每隻螞蟻隨即依據當時的資料節點蒐集狀況,計 算轉換機率,以便選擇下一個所蒐集的資料節點,逐步完成路徑選擇動作。依據ACO 中轉換規則來計算螞蟻移動分群的機率,計算公式如下:

( ) ( ) ( ) ( )

( )

( )

0

k

r s r s

k

k r u r u

r s u J r

if s J r

p

o th e r w is e

α β

α β

τ η τ η

⎧ ∈

= ⎨ ⎪⎪

⎪ ⎪⎩

g

g

公式4.1[4][5]

( )

{ }

m ax

k

k s J r rs

k k rs rs

m p if q m

S p if p q

⎧ = ∈ >

⎪⎨ ≥

⎪⎩ 公式4.2

0< < q 1

第k隻螞蟻在位置r選取下一個位置 s 的公式。

步驟四:區域更新費洛蒙濃度–當螞蟻 k 完成路徑時,更新它遺留在路徑上的費洛 蒙量。計算公式如下:

( ) ( ) ( )

( ) ( ) ( )

1

1

, tour done by ant k 0

m k

rs rs rs

k

k rs k

t t t

if r s L t

where t

otherwise

τ ρ τ τ

ω τ

=

+ ← +

⎧ ∈

= ⎨ ⎪

⎪ ⎩

g V

V

公式4.3[4][5]

步驟五:所有螞蟻搜尋結束–判斷所有螞蟻是否在這一回合都完成路徑,如果沒有

(46)

就換下一隻螞蟻執行第二步驟,如果所有螞蟻都結束就換下一步驟。

步驟六:全域更新費洛蒙濃度–當所有螞蟻完成路徑時,依照螞蟻所行走的路徑長 度比例更新它遺留在路徑上的費洛蒙量。計算公式如下:

( ) ( ) ( ) ( ) ( ) ( )

1

1

, tour done by ant k 0

m k

rs rs rs k

k

k rs k

k

t t t

if r s L t

where t

otherwise currentpathlength worstpathlength

bestpathlength worstpathlength

τ ρ τ τ ξ

ω τ

ξ

=

+ ← +

⎧ ∈

= ⎨⎪

⎪⎩

= −

g V g

V

公式4.4

步驟七:符合螞蟻終止條件、修正路徑–螞蟻終止的條件是所有的螞蟻都完成指定 的回合數,如果沒有完成所指定的回合數就執行第二步驟,如果完成就換下一步驟。

在每一隻螞蟻和所有螞蟻都完成路徑時,修正路徑。更新的方式用2-opt。方式如下:

圖4.2 2-opt例子,d(a,b) + d(c,d) < d(a,d) + d(b,c)。

步驟八:選取節點–在這一個步驟就已經完成外部節點順序最佳化,接下來就是演 化樹樹型建構部分。依照ACO得到最佳外部節點順序選取距離最短兩個節點。

步驟九:更新距離矩陣–節點選擇後,選取兩個節點更新成一個新的節點。計算新 的節點與其他節點之間的距離。首先,假設有π 節點,π =M。所有的節點依照ACO 演算法排列順序。我們依照節點選擇選取節點i和節點j,之後會產生一個新的節點 k。更新新節點和剩下的節點之間的距離,新節點k和節點i、j的距離更新公式如下︰

(47)

( ) ( )

0 .5 , , , ,

k m m i m j ij

d = d + dd w h e r e m ∈ π mk i j

( ) ( )

/ 2 / 2 2

1 1

2 , 2

ik ij i j

jk ij ik

i im j jm

m m

d d r r

d d d

where r d r d

π π

π

π

π

= + − −

= −

= =

− ∑ − ∑

公式4.5

以上為ACO建構演化樹的運算流程,接下來章節將對於演算法的可靠性,透過 小規模問題採用窮舉法找出最佳分群結果,進而驗證ACO建構演化樹演算法的可靠 性;再透過不同資料規模與不同節點分布與其他演化樹建構演算法的比較分析,來 驗證演算法的適用性。

(48)

第 五 章

模式驗證與比較分析

本章節將首先對於我們所改良的ACO做TSP效能的驗證。之後再對第四章所構 建出的ACO建構演化樹演算法,透過隨機產生的二維資料節點;做不同大小問題之 驗證與比較,並且在單組樣本問題中解釋整個演算法的運算步驟,利用窮舉法來証 明ACO建構演化樹演算法結果會趨近於最佳解。並與PHYLIP、MEGA 3.0、BIONJ 等程式的執行結果做比較,在求解是否有較佳的表現結果;在多組樣本問題中採用 2S值分析方法,並且依照不同大小規模來比較分析各演化樹建構演算法的建構演化 樹結果。

本研究中ACO建構演化樹演算法 為利用JAVA程式語言編寫而成,在單組樣本 問題比較中得到各程式計算的樹狀結果,並計算樹狀結果的2S值。在多組樣本問題 比較中選取二種合適的演化樹建構演算法也用JAVA程式語言編寫成,分別計算各 演算法對設定問題的2S值,進而對不同演化樹建構演算法進行比較分析。

(49)

5.1 TSP效能的驗證

本研究為運用螞蟻族群最佳化尋找最佳外部節點順序建立一個演化樹建構的演 算法,因此尋找最佳外部節點順序是本研究最重要的部分。所以我們首先驗證我們 設計的演算法所尋找的外部節點順序與最佳順序是否相符。

1. 參數設定

ACO中最重要的兩個參數α與β,本研究中為固定 α=7,β= 4,其他相關 參數如費洛蒙衰退參數ρ=0.8,螞蟻數=( No. of taxa ) / 3,回合數為=30,更新費 洛蒙濃度=10000。

2. 模式驗證

本節首先利用隨機產生之資料規模為10個城市的二維資料作為模式驗證的依 據。因為在13個城市之內的問題可以在可接受的時間內完成。之後城市數目較大的 問題我們從TCPLIB中找到29到200個節點之間的問題做模式驗證的依據。我們設計 的ACO程式在200個城市內的TSP問題,在10回合內就會收斂。

(50)

問題 Bays29 swiss42 att48 KroA100 kroA150 KroA200

最佳解 2020 1273 10628 21282 26524 29368

ACO解 2020 1273 10628 21282 26632 29906 ACO 執行

時間(Sec) <1 1 1 12 40 84

ACO 誤差

0% 0% 0% 0% 0.4% 1.8%

表5.1 我們設計的ACO程式執行TSP的效能

(51)

5.2單組問題之驗證與比較

本節首先利用隨機產生之資料規模為10個外部節點的二維資料作為模式驗證的 依據,利用窮舉法找出最佳演化樹的結果,再利用本研究所提出的ACO建構演化樹 演算法,來證明ACO建構演化樹演算法的求解結果會趨近於最佳解,以證明其可靠 性。

1. 參數設定

ACO中最重要的兩個參數α與β,本研究中為固定α為7,β為4,其他相關參 數如費洛蒙衰退參數ρ為0.8,螞蟻數為( No. of taxa ) / 3,回合數為5,更新費洛蒙 濃度為10000。

2. 模式驗證

本節一開始將利用亂數取一組資料規模為10個外部節點的二維資料,利用窮舉 法來找出最佳的外部節點順序結果,並利用本研究所提出的ACO建構演化樹演算法 與其他建構演化樹演算法做比較。由實驗結果數據可以得到ACO建構演化樹演算法 的求解結果會趨近於最佳解。下面為所利用之資料節點分布情形和所形成的距離矩 陣:

(52)

圖5.1 輸入資料的二維圖形

0.0000 0.7681 0.5974 0.3072 0.2615 1.0453 0.6389 0.2422 0.8039 0.4651 0.7681 0.0000 0.5980 0.4954 0.8069 0.2839 0.1532 0.6201 0.0866 0.7773 0.5974 0.5980 0.0000 0.3588 0.4268 0.7641 0.5890 0.3569 0.6807 0.2523 0.3072 0.4954 0.3588 0.0000 0.3179 0.7582 0.3960 0.1277 0.5493 0.3673 0.2615 0.8069 0.4268 0.3179 0.0000 1.0553 0.7139 0.1903 0.8656 0.2241 1.0453 0.2839 0.7641 0.7582 1.0553 0.0000 0.4338 0.8765 0.2867 0.9852 0.6389 0.1532 0.5890 0.3960 0.7139 0.4338 0.0000 0.5236 0.1655 0.7241 0.2422 0.6201 0.3569 0.1277 0.1903 0.8765 0.5236 0.0000 0.6763 0.2785 0.8039 0.0866 0.6807 0.5493 0.8656 0.2867 0.1655 0.6763 0.0000 0.8509 0.4651 0.7773 0.2523 0.3673 0.2241 0.9852 0.7241 0.2785 0.8509 0.0000

表5.2 輸入資料的距離矩陣

3. 驗證結果

圖5.2 OPT 2S最佳值 = 2.7944 樹型︰((5,((8,1),6)),((((3,7),0),(4,9)),2))

(53)

圖5.3 JAVA_NJ 2S值 = 3.2802 樹型︰((2,9),(((0,4),7),(((1,(5,8)),6),3)))

圖5.4 JAVA_UPGMA 2S值 = 3.4307 樹型︰((((1,8),6),5),(((0,(3,7)),(4,9)),2))

圖5.5 ACO建構演化樹 2S值 = 2.7944 樹型︰((5,((8,1),6)),((((3,7),0),(4,9)),2))

(54)

圖5.6 PHYLIP_NJ 2S值=3.2802 樹型︰(4,(7,((((1,(5,8)),6),3),(2,9))),0)

圖5.7 PHYLIP_UPGMA 2S值=3.4307 樹型︰((((0,(3,7)),(4,9)),2),(((1,8),6),5))

圖5.8 PHYLIP_ME 2S值=3.8994 樹型︰((8,5),((((7,4),0),(9,2)),((6,3),1)))

(55)

圖5.9 PHYLIP_FM 2S值=3.7790 樹型︰((((8,1),6),5),((9,2),(((7,3),4),0)))

圖5.10 MAGA_NJ 2S值=3.3519 樹型︰(((((0,4),7),(2,9),3),(6,(1,(5,8))))

圖5.11 MAGA_UPGMA 2S值=3.0947 樹型︰((((3,7),0),(4,9),2),(5,(6,(1,8))))

(56)

圖5.12 MAGA_ME 2S值=3.0947 樹型︰(((((0,4),7),(2,9)),3),(6,(1,(5,8))))

由執行結果可以得到PHYLIP的NJ、UPGMA程式執行結果,和我們用java 所寫 出NJ、UPGMA程式執行的結果一樣。2S值愈小所得到的物種相鄰關係也愈正確,

演化樹也愈正確。當2S值在最小的時候,可以找到最佳的演化樹。由結果可以得到 在外部節點個數10個的時候,我們提出的方法和最佳解得到的樹形一模一樣,而 NJ、UPGMA、ME、FM執行的結果即使在外部節點個數只有10個的時候和最佳值 還是有差異。

之後利用亂數取資料規模不同外部節點的二維資料,將本研究所提出的ACO建 構演化樹演算法與其他建構演化樹演算法做比較。由實驗結果數據可以得到ACO建 構演化樹演算法的求解結果比其它演算法所求的解更佳。

(57)

No. of

taxa\method ACO PHY_NJ PHY_UPGMA PHY_ME PHY_FITCH MEGA_NJ MEGA_UPGMA MEGA_ME

10 2.79 3.28 3.43 3.8994 3.779 3.3519 3.0947 3.3519

20 3.98 4.82 6.24 5.506 4.8767 5.3523 5.9928 5.6183

50 5.36 7.53 9.24 10.6597 9.2129 7.7064 8.4609 8.3098

100 7.91 11.47 13.71 15.8594 12.3857 11.2078 13.2937 12.3252

相對比值 0.26 0.38 0.44 0.33 0.27 0.34 0.32

表5.3(a) ACO、PHYLIP、MEGA所求得的2S值,ACO對PHYLIP、MEGA 2S相對比值。

No. of

taxa\method ACO PHY_NJ PHY_UPGMA PHY_ME PHY_FITCH MEGA_NJ MEGA_UPGMA MEGA_ME

10 2.7944 3.2802 3.4307 3.8994 3.779 3.3519 3.0947 3.3519

20 3.9854 4.8251 6.2492 5.506 4.8767 5.3523 5.9928 5.6183

50 5.3657 7.5301 9.243 10.6597 9.2129 7.7064 8.4609 8.3098

100 7.9132 11.473 13.7119 15.8594 12.3857 11.2078 13.2937 12.3252

相對比值 0.26 0.38 0.44 0.33 0.27 0.34 0.32

表5.3 (b) ACO、PHYLIP、MEGA計算的時間,ACO對PHYLIP、MEGA的相對時間比值。

(58)

5.3 多組問題之驗證與比較

由上一節實驗結果可得PHYLIP_ME、MEGA_ME的解幾乎介於PHYLIP_NJ、

PHYLIP_UPGMA、PHYLIP_NJ、PHYLIP_UPGMA所得的解之間。我們自行編寫的 NJ 、 UPGMA 所 求 得 的 解 與 PHYLIP_NJ 、 PHYLIP_UPGMA 、 PHYLIP_NJ 、 PHYLIP_UPGMA所得的解相近。因此我們在做多組問題之驗證與比較時,就只執 行我們編寫的ACO建構演化樹演算法、NJ、UPGMA三個程式。

5.3.1 小規模問題

本節首先利用隨機產生之資料規模為10個外部節點的二維資料作為模式驗證的 樣本;接著,運用資料規模為20個外部節點的二維資料共30組樣本與其他演化樹建 構演算法進行比較分析。

1. 參數設定

ACO中最重要的兩個參數α與β,本研究中固定參數α為 7,β為 4,其他相 關參數如費洛蒙衰退參數ρ為0.8,螞蟻數為10,回合數為5,更新費洛蒙濃度為 10000。

(59)

2. 驗證結果

組別 ACO NJ UPGMA OPT

1 2.7944 3.2802 3.4307 2.7944 2 2.7505 3.2089 3.060 2.7505 3 3.3211 3.9727 4.1581 3.3211 4 2.7947 3.3247 3.4136 2.7947 5 3.0312 3.3588 3.8949 3.0312 6 3.2040 3.7901 4.0439 3.2040 7 3.0910 3.6771 4.1600 3.0910 8 2.4865 2.5812 3.1929 2.4865 9 2.8630 3.6143 3.6433 2.8630 10 2.9009 3.9620 3.3992 2.9009 11 2.6914 2.9246 3.3858 2.6914 12 2.8603 3.2724 3.1868 2.8603 13 2.852 3.3011 3.6688 2.852 14 2.9350 3.4592 3.7275 2.9350 15 2.8812 3.1775 4.0087 2.8812 16 3.5510 4.0648 4.3994 3.5510 17 3.0788 3.4861 4.2487 3.0788 18 3.2124 3.4052 4.0888 3.2124 19 2.8992 3.4468 3.8916 2.8992 20 2.6232 3.6093 3.4935 2.6232

表5.4 20組資料規模為10個外部節點執行結果表。

(60)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 組別

2S 值

ACO NJ UPGMA OPT

圖5.13 20組10個外部節點資料結果分析圖

為了證明ACO建構演化樹演算法較其它二種分群演算法有較佳的2S值,本研究 利用亂數產生20 組資料規模為20 筆資料的樣本,資料樣本於三種演算法計算結果 的2S值,如表所示:

(61)

3. 驗證結果

組別 螞蟻最佳化 相鄰連接法 無權重群組算數平均法

1 4.0478 5.1133 5.5986

2 3.3509 4.4708 4.4833

3 4.4063 5.9076 6.5455

4 3.7591 5.1556 5.9776

5 4.4394 5.1556 5.9776

6 4.3425 5.7434 5.8040

7 3.8588 5.2251 5.2801

8 4.0093 5.0005 6.0011

9 4.5925 5.2205 6.7284

10 3.3894 4.7288 4.4090

11 4.0825 4.7169 5.4575

12 4.1573 4.761 5.8850

13 4.0689 5.4442 5.1754

14 4.4080 5.3715 5.8593

15 3.1682 3.9447 4.9640

16 3.5487 4.8066 5.1744

17 3.8287 4.7128 5.2685

18 3.7475 4.6023 5.4916

19 4.1149 4.5391 5.5387

20 4.6134 5.1439 6.0583

表5.5 20組資料規模為20個外部節點執行結果表。

(62)

0 1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 組別

2S 值

ACO NJ UPGMA

圖5.14 20組20個外部節點資料結果分析圖

根據本節分析結果可以得到在外部節點數目為20時,NJ和UPGMA所求得的2S 值相差不大。而ACO所求得的2S值明顯的都小於NJ和UPGMA所求得的2S值。在改 善率方面,ACO對NJ有19.877%的平均改善率;ACO對UPGMA有28.4244%的平均 改善率。

5.3.2 中規模問題

由小規模問題驗證可以得到2S值愈小所建構的演化樹相鄰物種之間的關係愈 正確。由結果分析我們可以知道ACO與NJ、UPGMA相比可以求得較小的2S值。我 們希望透過中規模的問題可以驗證ACO與NJ、UPGMA相比也可以求得較小的2S值。

1. 參數設定

在ACO中α為 7,β為 4,其他相關參數如費洛蒙衰退參數ρ為0.8,而螞蟻數

(63)

為17,回合數30,更新費洛蒙濃度為10000。

2. 模式驗證

本節利用亂數取20組資料規模為50個外部節點的二維資料,利用本研究所提出 的ACO建構演化樹演算法與NJ、UPGMA做比較來證明ACO建構演化樹演算法的求 解結果會趨近於最佳解。

(64)

3. 驗證結果

組別 ACO NJ UPGMA

1 5.7159 7.6729 8.6538

2 6.2947 6.8346 8.8164

3 6.5150 8.6093 10.3033

4 5.9596 8.6230 9.1283

5 5.9240 7.9310 10.5188

6 6.2843 8.3623 9.2214

7 5.6903 7.8069 7.8814

8 6.1087 8.2731 9.7829

9 6.5874 7.9005 9.4152

10 6.0706 8.4850 8.6808

11 5.7447 8.1381 8.8123

12 6.3801 8.6229 10.5637

13 6.3377 8.5231 9.4382

14 6.5626 8.9829 9.9241

15 6.0209 8.0291 8.9730

16 6.1505 8.2761 9.2907

17 6.1690 7.8568 7.9976

18 6.4359 8.3832 9.2594

19 5.7170 8.1488 9.1321

20 6.6722 8.7853 10.5696

表5.6 20組資料執行結果表。

(65)

0 2 4 6 8 10 12

1 3 5 7 9 11 13 15 17 19

組別

2S值

ACO NJ UPGMA

圖5.15 20組50個外部節點資料結果分析圖

根據本節分析結果可以得到在外部節點數目為50時,ACO所求得的2S值比外部 節點數目為20時更明顯的小於NJ和UPGMA所求得的2S值。在改善率方面,ACO對 NJ有24.9042%的平均改善率;ACO對UPGMA有33.8167%的平均改善率。ACO對 NJ、UPGMA的平均改善率在中規模資料結果比小規模資料結果增加5%左右。

5.3.3 大規模問題

由中規模問題驗證可以得到規模愈大ACO與NJ、UPGMA改善率愈大。我們希 望透過大規模的問題可以驗證ACO對NJ、UPGMA的改善率隨規模愈大改善率也愈 大。

1. 參數設定

在ACO中α為 7,β為 4,其他相關參數如費洛蒙衰退參數ρ為0.8,而螞蟻數

(66)

為33,回合數為30,更新費洛蒙濃度為10000。

2. 模式驗證

本節利用亂數取20組資料規模為100個外部節點的二維資料,利用本研究所提出 的ACO建構演化樹演算法與NJ、UPGMA做比較來證明ACO建構演化樹演算法的求 解結果會趨近於最佳解。

(67)

3. 驗證結果

組別 ACO NJ UPGMA

1 8.4767 11.5891 13.4079

2 7.8585 11.5059 12.7689

3 8.3962 10.6899 12.5297

4 8.4620 12.0406 12.5115

5 8.5501 11.8381 12.7906

6 7.5403 10.7506 12.1728

7 7.5229 11.2315 12.8819

8 7.6421 11.7662 11.2925

9 7.8999 10.7193 12.9803

10 8.4241 11.5208 13.3367 11 8.3150 11.6288 13.2910 12 8.3860 11.5221 12.7353 13 7.9724 11.7944 12.0507 14 7.8852 10.9592 12.6138 15 7.7760 10.9819 13.1607 16 8.1329 11.5439 13.0913 17 8.1531 12.1901 12.7817 18 7.6503 11.4672 12.0363 19 8.2960 11.9223 13.6052 20 7.8944 11.4652 12.1187

表5.7 20組資料執行結果表。

(68)

0 2 4 6 8 10 12 14 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 組別

2S值

ACO NJ UPGMA

圖5.16 20組100個外部節點資料結果分析圖

根據本節分析結果可以得到在外部節點數目為100時,ACO所求得的2S值比外 部節點數目為50時更明顯的小於NJ和UPGMA所求得的2S值。在改善率方面,ACO 對NJ有29.6315%的平均改善率;ACO對UPGMA有36.5615%的平均改善率。ACO對 NJ、UPGMA的平均改善率在大規模資料結果比中規模資料結果增加4%左右。

根據本章分析結果可以得到,隨著外部節點的增加,我們所設計的ACO演化樹 建構演算法對其它演化樹建構方法的改善率也會跟著增加。

0 5 10 15 20 25 30 35 40

10 20 50 100

taxa數目

改善%

對NJ改善率 對UPGMA改善率

圖5.17 ACO演化樹建構演算法對NJ與UPGMA的改善率

(69)

第 六 章 結 論

6.1 研究成果

本研究從2S值的觀點去評估演化樹的好壞,因此只要使用相同的距離矩陣建構 演化樹,不同的演化樹建構方法都可以相互做比較。使得不同演化樹建構方法的比 較可以有一個共同的評估方法。我們所設計的螞蟻族群最佳化演算法可以在收斂速 度和求解的能力上達到平衡。taxa數目在小於200個的時候,在10回合內就收斂並有 機會可以找到最佳解。在演化樹的樹型方面可以透過二維的圖形判斷演化樹的樹型 是否合理。

由第五 章 ,程式 執 行後的 數 據比較 , 我們可 以 得到本 研 究的方 法 比NJ、

UPGMA、ME,和FM演化樹建構方法可以找到更好的演化樹。

(70)

6.2 未來研究方向

本研究所提出的演算法還是有需要改進的地方。ACO演算法參數的設定影響解 的正確率,如何讓演算法自動取得最佳的參數設定是未來研究的方向。

在尋找最佳外部節點順序上可結合螞蟻理論與遺傳演算法利用螞蟻理論中費洛 蒙更新觀念與遺傳演算法之選擇、交配、突變的特性,在考慮執行速度與解的精確 度下發展出混合演算法來求解最佳外部節點順序。

(71)

參考文獻

[1] H. Carillo, and D. Lipman. “The multiple sequence alignment problems in biology”, SIAMJ. Appl. Math, 48(5), pp. 1073-1082, 1988

[2] L. Cavalli-Sforza, and A. Edwards, “Phylogenetic analysis: models and estimation procedures”, Evolution, vol. 32, pp. 233 –257, 1967.

[3] H. Deitel, and P. Deitel, “Java How to Program, Fifth Edition”, Prentice Hall, 2003.

[4] M. Dorigo, and L. M. Gambardella, “Ant colony system: A cooperative learning approach to the traveling salesman problem”, IEEE Transactions on Evolutionary Computation, Vol. 1, No. 1, pp. 53–66, 1997.

[5] M. Dorigo, V. Maniezzo, and A. Colorni, “The ant system: Optimization by a colony of cooperating agents”, IEEE Transactions on Systems, Man, and Cybernetics - Part B, Vol. 26, No. 1, pp. 29–42, 1996.

[6] A. Dress, and M. Steel, “Convex tree realization of partitions”, Applied Mathematics Letters, vol. 5, pp. 3-6, 1993.

[7] G. Estabrook, C. Johnson, and F. McMorris, “An idealized concept of the true cladistic character”, Mathematical Biosciences, vol. 23, pp. 263-272, 1975.

[8] J. Felsenstein, “Maximum-likelihood estimation of evolutionary trees from continuous characters”, American Journal of Human Genetics, vol. 25, pp. 471-492, 1973.

[9] W. M. Fitch, and E. Margoliash, ”The construction of phylogenetic trees”, Science, vol. 155, pp. 279-284, 1967.

(72)

[10] C. Korostensky, and G. H. Gonnet, “Using traveling salesman problem algorithms for evolutionary tree construction”, Bioinformatics, vol. 16, pp. 619-627, 2000.

[11] S. Lin, “Computer solutions of the traveling salesman problem”, Bell Systems Technical Journal, vol. 23, pp. 2245-2269, 1965.

[12] M. Nei, “Molecular population genetics and evolution”, North-Holland, Amsterdam, The Netherlands, 1975.

[13] A. Rzhetsky, and M. Nei, “Theoretical foundation of the minimum-evolution method of phylogenetic inference”, Molecular Biology and Evolution, vol. 10, pp.

1073-1095, 1993.

[14] N. Saitou, and T. Imanishi, “Relative efficiencies of the Fitch-Margoliash, maximum- parsimony, maximum-likelihood, minimum-evolution, and neighbor- joining methods of phylogenetic tree construction in obtaining the correct tree”, Molecular Biology and Evolution, vol. 6, pp. 514-525, 1989.

[15] N. Saitou, and M. Nei, “The neighbor-joining method: a new method for reconstructing phylogenetic trees”, Journal of Molecular Evolution, vol. 4, pp.

406-25, 1987.

[16] D. D. Sankoff, “Minimal mutation trees of sequences”, SIAM Journal on Applied Mathematics, 106 vol. 28, pp. 35-42, 1975.

[17] Sneath, and Snokal. “Unweighted Pair Group Method with Arithmetic Mean”, Numerical Taxonomy. W.H. Freeman and Company, San Francisco, pp. 230-234.

1973.

[18] R. R. Sokal, and C. D. Michener, “A statistical method for evaluating systematic relationships”, University of Kansas Science Bulletin, vol. 28, pp. 1409 –1438, 1958.

(73)

[19] J. Thorne, H. Kishino, and J. Felsenstein, “Inching toward reality: An improved likelihood model of sequence evolution”, Journal of Molecular Biology, vol. 34, pp.

3-16, 1993.

[20] 周世章,「應用螞蟻族群系統構建群落分析演算法」,逢甲大學資訊管理研究所 碩士論文,台中市,2004。

[21] 蔡懷寬,「以TSP為基礎之演化式策略解生物資訊上生物晶片,定序,序列比對及 演化學的問題」,台灣大學資訊工程學研究所博士論文,台北市,2003。

[22] 蕭宗勝,「螞蟻族群演算法應用在組合問題之研究」,銘傳大學資訊管理研究 所碩士論文,台北市,2002。

[23]黃正綱,「運用多用途經驗法則建構演化樹」,銘傳大學資訊工程學系碩士論 文,台北市,2003。

參考文獻

相關文件

This theorem does not establish the existence of a consis- tent estimator sequence since, with the true value θ 0 unknown, the data do not tell us which root to choose so as to obtain

The disadvantage of the inversion methods of that type, the encountered dependence of discretization and truncation error on the free parameters, is removed by

Tseng, Growth behavior of a class of merit functions for the nonlinear comple- mentarity problem, Journal of Optimization Theory and Applications, vol. Fukushima, A new

Chen, The semismooth-related properties of a merit function and a descent method for the nonlinear complementarity problem, Journal of Global Optimization, vol.. Soares, A new

Qi (2001), Solving nonlinear complementarity problems with neural networks: a reformulation method approach, Journal of Computational and Applied Mathematics, vol. Pedrycz,

Huang, A nonmonotone smoothing-type algorithm for solv- ing a system of equalities and inequalities, Journal of Computational and Applied Mathematics, vol. Hao, A new

Fukushima, On the local convergence of semismooth Newton methods for linear and nonlinear second-order cone programs without strict complementarity, SIAM Journal on Optimization,

Convergence of the (block) coordinate descent method requires typi- cally that f be strictly convex (or quasiconvex or hemivariate) differentiable and, taking into account the