• 沒有找到結果。

第一章 序論

1.4 論文內容概述

本論文共分為五章:第一章為緒論,旨在說明研究動機、目的與研究方法系統架 構。第二章為遺傳程式規劃,藉由先介紹遺傳演算法再導入遺傳程式規劃以彰顯遺傳 程式規劃的獨特性。第三章為使用遺傳程式規劃產生技術交易法則,旨在說明根據問 題特性打造一個能夠套用遺傳程式規劃的環境。第四章為實驗結果與分析,針對找到 的技術交易法則以統計的方法觀察其特性。第五章為結論,旨在總結研究成果並提出 未來改進的方向。

5

第 二 章

遺傳程式規劃

進化型演算法(evolutionary algorithm)是一個使用生物演化機制為其關鍵元素,並 架構於電腦上解決問題的系統。在進化型演算法當中,遺傳演算法(Genetic Algorithms) 和遺傳程式規劃(Genetic Programming)緊密相關。遺傳程式規劃可視為遺傳演算法的擴 張,本章將說明如何藉由應用遺傳程式規劃來尋找給定問題的最佳解。

2.1 遺傳程式規劃簡介

遺傳程式規劃是Koza由遺傳演算法發展出的一套自動搜尋使用者定義問題的最佳 解的演算法則,其具有領域獨立的特性[16],在適當使用的條件下,能在解空間自動產 生幾乎完美的規則。既然遺傳程式規劃是承襲遺傳演算法而來,所以大致上運作流程 和想法概念是相同的,皆以仿生物演化機制為基礎,唯獨其所重「規劃」的部分,捨 棄遺傳演算法當中染色體長度固定、只由0、1字串所組成的單調染色體,取而代之的 是可加入元素、架構都更佳彈性的樹狀架構(genotype)[18],遺傳演算法中的染色體的 組成基因可以類比成樹狀架構的節點(node),樹的節點分為兩類:一類是終端節點;另 一類是函數節點。終端節點所能包含元素的集合稱作終端節點集合(terminal set),通常 是函數節點所需要的運算元,依需求可能是變數或常數;函數節點所能包含元素的集 合稱作函數節點集合(function set),其所包含的運算子和函數,依其應用領域的不同,

所代表的可以是邏輯運算(and, or, not)、比較運算(<、>)、算數運算(+、-、

×、÷、√)、數學函數(三角函數、指數函數、對數函數)以及根據問題特性自行定義 的函數。相較於遺傳演算法受限的二元字串,遺傳程式規劃在可表示解的架構與組成 元素具有相當程度的彈性,搜尋空間更大更完整,因此也更方便解決問題。

舉例來說,如圖2.1的算式樹(expression tree)就是一個典型在遺傳程式規劃中使用

的表示法,其中圖2.1(a)的a、b屬於終端集合的常數,x是終端集合的變數;+和×是函 數集合所能使用的算數運算運算子。圖2.1(b)則稍微複雜,m、n依然是終端集合的常 數,唯獨增加了函數集合可使用的元素sin和cos:

a x

+

b

sin cos +

m n

cos sin

m n

(a) (b)

a x

+

b

sin cos +

m n

cos sin

m n

(a) (b)

圖 2.1 算式樹:(a) ax + b(b) sin(m + n)

圖2.1(a)的算式樹可用來求線性回歸線:假設存在n筆資料(x1,y1), (x2,y2),…,(xn,yn),

我們希望求出y對x的線性回歸線y = ax + b,經由最小平方法,就可以找出一組a、b使 得式(2-1)降到最小:

(2-1)

=

+

n

i

i

i mx n

y

1

))2

( (

此題亦可藉由遺傳程式規劃求解,其適存度函數可定為誤差平方和的倒數,如(2-2)所 示:

))2

( (

1 n mx

yii + (2-2)

平方效應可用來凸顯誤差及避免回傳負的適存度,如此,能夠使得誤差平方和越小的 解就越容易被挑中。

由於遺傳程式規劃所需的計算能量相當巨大,直到1990年代只要都還是只能解決 相對解單的問題。然而近幾年來,伴隨著遺傳程式規劃技術的日漸縝密與快速計算所 需的耗費降低,遺傳程式規劃應用層面更加廣泛,也更能解決相對艱澀的問題[19]。

如同以上所討論的,要使用遺傳程式規劃來搜尋最佳解,最重要的是要預先定義 可能解的組成元素以及評估適存度的計算方式:可能解的終端及函數節點集合若其包

7

含的元素不夠豐富,自然地在搜尋空間不夠大的情況下不可能找到全域最佳解,反 之,若終端及函數節點包含的元素過於複雜,尤其是當複雜的函數或甚至其結合體會 使用相當多的節點、族群大小通常也不知該如何因應作調整時的情況發生時,龐大的 計算壓力會造成不成比例的時間及金錢上的耗費,另外,解的複雜度提高使得其可讀 性降低,我們也無法藉由解的形式來瞭解此問題的特性,在找尋交易法則的事例中,

應該也不會有人敢用自己無法理解、和自身經驗扯不上邊的交易法則[22];評估適存度 的計算方式決定了演化方向以及目標,適存度評估是一個人要能夠把他想要的結果恰 當地轉換成遺傳程式規劃能懂的程式語言的途徑,因此相當依賴使用者的領域知識和 經驗,在不同應用領域中,舉例來說,送貨員所能耗費的時間和油料、圖形辨識的準 確度,參數如何最佳化以及電路中控制器的響應,這些問題都要能夠想到一個適當的 適存度函數後才能套用遺傳程式規劃,尤其在許多可能存在的條件限制下要準確定義 是相當困難的。就實際層面考慮一個工程上的問題,當要設計合成一些類比或數位電 路,像是運算放大器、控制器或濾波器時,首先就要先將執行訊號處理的元件的數學 模型建構在函數集合中,像是積分器、微分器、相位落後控制器、相位超前控制器、

加法器、減法器或是更細節像是電容和電感的數學模型等,當要合成一個特定電路時 就必須考慮要把什麼元件和模組引進函數集合中,引進多餘元件和模組徒增等待時間 或在最終解中發現莫名的電路組合;若不足則只能落入局部最佳解,之後透過適存度 函數得到的結果,可能是所需元件的規格,市場上可能買不到或所費不貲,如此可能 又必須回頭琢磨適存度函數。

其餘要決定的還有 遺傳程式規劃所需的控制參數和終止條件:前者最重要的就是 族群數量,其中一個決定的方法就是取決於我們到底想花多少時間與金錢來求解問 題,其餘控制參數還有演化世代數、突變機率、解的最大深度(depth)和節點數以及其 他根據特定問題的領域知識來訂定的參數;後者會依問題不同而改變條件,通常要由 問題的本質來設計,並沒有一個定論什麼條件一定能用或什麼條件一定不能用。

一旦有了解的樹狀結構及組成元素、適存度函數、控制參數和終止條件,遺傳程 式規劃就可以進行其固有的操作模式,經由隨機初始族群,搭配其特有的選擇、交 配、突變操作反覆地改進演化其個體,直到全域最佳解產生。

2.2 遺傳程式規劃流程

2.2.1

初始化

遺傳程式規劃的既定進程開始於隨機產生首代可能解候選人的族群,族群大小要 根據問題的本性來決定,通常數百至數千都有可能,至於每個個體的大小和形狀幾乎 相異,其節點數和深度若有需要則可由使用者限制,節點之間的連結必須是要有意義 的,因此必須明確界定任一節點所能挑選的元素集合。由於第零代族群意味著在搜尋 空間中盲目隨機地找可能解,因此,一般來說在被適存度函數評估後給定的適存度都 是相對差勁的。在領域知識的引導下,我們會儘量在所有可能解存在的空間中灑下希 望的種子,期待這些種子能夠茁壯到局部最佳解,之後再經由局部最佳解挑出全域最 佳解。

2.2.2

選擇

如同在遺傳演算法當中所討論的,一般來說,我們希望經由選擇的機制選中適存 度高的個體(即仿生物界的天擇機制),但是又希望能夠保持基因的多樣性以免陷於 局部最佳解,如此心猿意馬的心態就會造成選擇壓力(selection pressure)。選擇壓力定 義為已存在群體中到底是多好的個體被選中,如此就會造成可能無法看見全域最佳解 的壓力:選擇壓力越大,代表挑中群體中適存度越高的個體,一個極端的例子是如果 永遠都只選擇族群中適存度最高的個體,選擇壓力就會變得非常非常大,因為幾乎沒 有在其餘搜尋空間中作搜索的動作。選擇壓力的大小是影響基因池(genetic pool)收斂速 度的主要原因,越大的選擇壓力會增加過早收斂到局部最佳解的機會,過小的選擇壓 力則會花費不必要的等待收斂的時間。換句話說,我們必須要在「向外探索」和「向 內取用」間取得一個平衡點;在已有族群中取得適應力高的個體的同時也要向外探頭 看看搜尋空間的其餘部分。因為不得不依賴它驅動族群的演化,因此我們需要一個能 夠保持族群基因多樣性且提供一定收斂速度的選擇方案(selection scheme)。

一般會將選擇方案分為兩類:一種是和適存度成正比的「適存度正比選擇法」

(fitness-proportionate selection),另一種是「排名依據選擇法」。適存度正比選擇法如 式(2-3)所描述:

9

=

= P

k k i i

f p f

1

(2-3)

pi代表族群中第i個個體被選中的機率,fi代表族群中第i個個體的適存度,在族群數量P 固定的條件下,pi和fi成正比。

由於適存度正比選擇法直接使用原始的適存度(raw fitness)為其選擇依據,因此會 造成對適存度評估函數過於敏感且容易產生導致基因池過早收斂的結果,特別當適存 度函數傳回一個負數值時,適存度正比選擇法根本就無法使用。輪盤選擇法(roulette-wheel selection)是一個典型且廣為使用的適存度正比選擇方案,依據每個解的適存度佔 總適存度的比例來決定各個解佔據輪盤區塊的大小,如圖2.2所示:

個體的適存度 a : 3 b : 2 c : 2 d : 1 a

b c

d

個體的適存度 a : 3 b : 2 c : 2 d : 1 a

b c

d

圖 2.2 輪盤選擇法

排名依據選擇法改善了適存度正比選擇法的缺點,其選擇依據並不是靠未經處理 的適存度,而是使用個體在族群中的排名,如此一來選擇壓力就不再和適存度密切相 關 , 而 是 和 被 選 中 的 個 體 相 對 的 排 序 有 關 。 t- 人 錦 標 賽 選 擇 法 (t-way tournament

排名依據選擇法改善了適存度正比選擇法的缺點,其選擇依據並不是靠未經處理 的適存度,而是使用個體在族群中的排名,如此一來選擇壓力就不再和適存度密切相 關 , 而 是 和 被 選 中 的 個 體 相 對 的 排 序 有 關 。 t- 人 錦 標 賽 選 擇 法 (t-way tournament

相關文件