• 沒有找到結果。

基因表達程式規劃 (gene expression programming, GEP)[24] 是在 2001 年由 Ferreira 所提出的一種新式演化式計算技術,GEP 結合基因演算法及基因程式規劃之概 念,以染色體代替了樹狀結構來表示方程式的數學式。原本的 GP 使用鏈結串列 實現樹狀結構,而 GEP 採用陣列結構,並以廣度優先的方式還原為 GP 的樹狀 結構,如圖2.13所示,進行交配與突變等演化過程中,GP 的時間複雜度為 O(n),

GEP 為 O(1),因此 GEP 具有較高的計算效率。

GEP 之染色體分為頭 (head) 與尾巴 (tail) 兩部分,在演化中,葉節點若由運算 子改變為運算元時,染色體長度不足以存放額外的運算子,故尾巴的存放內容均 存放運算子,使其可構成完滿二元樹;頭的長度決定尾巴的長度,而其長度關係 如公式 (2.3)。

t = h(nmax− 1) + 1 (2.3) 其中 t 為尾巴長度,h 為頭長度,nmax 為此染色體中所有運算子的最大運算元數 量 (maximum arity)。以圖 2.13為例,最大運算元數量為 2,頭的長度為 7,尾巴的 長度為 8,長度關係可表示為 8 = 7(2− 1) + 1。

Na tio

na

l U

niversity of Kao hsiung

GEP 之演化方式於染色體演化之後改變其樹狀結構,其染色體演化的方式分 為突變、轉換 (transposition) 與重組 (recombination):

• 突變:在染色體陣列中隨機選擇位置,若所選位置在頭部,則將該陣列員素 質隨機以運算元、運算子取代;若選擇位置在尾部,則隨機產生運算元取 代,如圖2.14所示。

圖 2.14: 突變

• 轉換:隨機挑選染色體中的片段,並複製此片段隨機插入至頭部任一位置,

如圖2.15所示。

• 重組:在族群中隨機挑選兩條染色體,並選擇任意位置作為重組點,在重組 點切斷染色體並交換,產生新的染色體,步驟如圖2.16所示。

GEP 中 的 適 性 值 (fitness) 為 演 化 式 計 算 中 評 估 答 案 之 指 標,通 常 使 用 均 方差指標 (mean squared error,以下簡稱 MSE) 來衡量染色體優劣;有時還會使 用 平 均 絕 對 誤 差 (mean absolute error, 以 下 簡 稱 MAE),與 平 均 絕 對 百 分 比 誤 差 (mean absolute percent error,以下簡稱 MAPE) 指標來進一步分析效果。如公

Na tio

na

l U

niversity of Kao hsiung

圖 2.15: 轉換

圖 2.16: 重組

Na tio

na

l U

niversity of Kao hsiung 者 Alejandro Sosa-Ascencio 等人 [26] 利用 GEP 對股票走勢進行迴歸分析,並與 SVM 等方法比較,GEP 具有較好的預測準確度。學者 J Mwaura[27] 等人利用改 良的多輸出 moGEP 使迴歸模型更精確,並使機器人不同場中更準確的控制。學 者 Chou[28] 將基於基因規劃的符號式迴歸引擎應用在全球定位系統的座標軸轉換 上,得到的實驗結果顯示基因演算法的確可以解決實際的迴歸問題。學者 Alireza

Na tio

na

l U

niversity of Kao hsiung

圖 2.17: 基因表達程式演化流程圖

Tashakori Abkenar[29] 等人利用 GEP 分析電動船的能源消耗,使燃料電池能夠根 據能源使用情形快速調節燃料使用。為了解決複雜的複迴歸問題,演化式計算例 如基因演算法或是基因規劃便適合從大量且多維度的資料之中尋找出合適的迴歸 公式,因此本論文採用演化式基因表達程式規劃的技術進行分散式系統之模型建 立。

Na tio

na

l U

niversity of Kao hsiung

相關文件