第三章 基因程式 基因程式 基因程式 基因程式及基因表達程式 及基因表達程式 及基因表達程式 及基因表達程式規劃 規劃 規劃 規劃
第二節 基因表達程式規劃 基因表達程式規劃 基因表達程式規劃 基因表達程式規劃
第二節
第二節 第二節 基因表達程式規劃 基因表達程式規劃 基因表達程式規劃 基因表達程式規劃
基因表達程式規劃(Gene Expression Programming, GEP)[10]是在2001年由C.
Ferreira所 提 出 的 一 種 新 式 演 化 式 計 算 技 術 ,GEP結 合 基 因 演 算 法(Genetic Algorithm)[24]及基因程式規劃(Genetic Programming)之概念,以染色體之方式表 達樹狀結構,此方式使原本在基因程式規劃做交配及突變時,節點收尋使用鏈結 串列結構的時間複雜度O n 降低為使用陣列的
( )
O( )
1 ,對於演算法中大量交配及 突變之運算,對效能提昇有非常大的幫助。2.1 GEP中中中中染色體的表示染色體的表示染色體的表示染色體的表示
基因表達程式規劃之染色體表示方式是使用陣列型態來儲存樹狀結構,其儲 存 方 式 為 先 存放 樹 根(Root)再依 序 存 放 左 節 點(Left Node)與右 節 點(Right
Node),依廣度優先(Breath-first)方式將整顆樹走訪完畢為止,如圖3-2。
圖 3-2染色體儲存樹狀結構方式
基因表達程式規劃之染色體分為頭(Head, h)與尾巴 (Tail, t) 兩部分,如圖 3-3。 基因表達程式規劃在於演化時,葉節點若由運算子改變為運算元時,染色體長度 不足以存放額外的運算子,故尾巴的存放內容均存放運算子,使其可構成完滿二 元樹,而其長度關係如以下算式:
(
3 5 8× +)
×(
7÷2)
(3-1)圖 3-3完整染色體(h=10, t=11) 2.2 GEP中中中中演化方式演化方式演化方式演化方式
基因表達程式規劃之演化方式於染色體演化之後改變其樹狀結構,其染色體 演 化 的 方 式 分 為 三 種 , 突 變(Mutation) 、 轉 換(Transposition) 與 重 組
(Recombination)。基因表達程式規劃之突變方式是在染色體之頭中,將陣列元素
值以隨機產生之素質取代,完成後樹狀結構即產生變化,如圖3-4。轉換是針對 單一染色體做演化,如下圖3-5。重組(Recombination)則是針對整個族群之染色 體演化,重組方式為任取族群中兩條染色體,將染色體切割重組為一條新的染色 體,如圖3-6。
圖 3-4基因表達程式之突變
圖 3-5基因表達程式之轉換
圖 3-6基因表達程式之重組
2.3 GEP中中中中適應函數與演化流程適應函數與演化流程適應函數與演化流程適應函數與演化流程
適應函數或稱適應度(Fitness)為演化式計算中評估答案之指標,每個世代演化 完成後計算出各染色體之適應函數,在從中挑選出較好的染色體繼續演化直到某 染色體之適應函數達到終止條件為止。終止條件由使用者依造問題自行定義,使 用者可依照問題之誤差容許範圍設定終止條件,若將終止條件定為較嚴謹,相對 的演化次數較多,執行時間越久,故可依造問題之誤差容許範圍定義出最適合之 終止條件。基因表達程式之演化步驟如下,詳細演化流程圖如圖3-7。
Step 1:隨機產生族群數為K之條染色體,t1,...,tk Step 2:計算族群內ti之適應函數,1 i≤ ≤ k
Step 3:判斷適應函數是否符合終止條件,符合即結束演化,否則繼續Step 4
Step 4:保留較好的染色體做突變,轉換,重組等動作後跳至Step 2
Create Chromosomes of Initial Population
Express Chromosomes
Execute Each Program
Evaluate Fitness
Keep Best Program
Select Programs
Replication
Mutation
Transposition
Recombination
Prepare New Programs of Next Generation
Iterate or
Terminate End
圖 3-7基因表達程式演化流程圖