• 沒有找到結果。

演化式編碼最佳化設計

5.1 二階段之基因演算法

基因演算法被帶入兩階段的編碼策略,以處理龐大的排列與計算問題 。 依據每一個 階段的目標設定,各自使用一套獨立的基因演算法完成目標 。 第一套演化完成紋理圖樣 的排列,再交由第二套演化出對應的編號 。 以下為此兩套演算法的詳細規劃與設定:

5.1.1 染色體編碼

第一階段的基因演算法,目的在於排列環狀空間上的256LBP紋理圖樣 。 故染色 體以表達環狀排列作為設計 ,長度設置由256個基因組成,基因分別代表不同的 LBP 紋 理圖樣,種類不能重複 。 基因編號以0255表示256LBP圖樣 ,編號方式與LBP相 同,由權重累加所得,見於圖5.1 。 完整的第一階段的染色體描述如下: Chros1 = {G1,s1, G2,s1, · · · , GB,s1} ,其中Gi,s1 = [0, B − 1] ∈ N, i = 1, 2, · · · , B , 代表染色體內 的基因 ; B = 2P = 256 ,是針對P = 8個鄰近像素所能組成的圖樣種類 。

228 235 130 198

0 0 1

0 0

1 1 1

x

1 1 0

1 0

1 1 1

x

256ঁ

ঁঁঁ୷୷୷୷ӢӢӢӢ

5.1: 第一階段染色體編碼方式

325 975 522 101 256ঁঁঁঁ୷୷୷୷ӢӢӢӢ

5.2: 第二階段染色體編碼方式

第二階段的染色體編碼方式與第一階段有部分相似之處 , 由於目的是將上一階段排 列完成的256個圖樣進行編號對應,因此染色體設計由256個代表圖樣編號的基因所組成 , 並且有基因不得重複的限制 。 圖樣編號的範圍被允許做倍數放大 ,範圍內的整數可隨意 挑選使用 ,示意於圖5.2 。 而第二階段染色體描述為 : Chros2 = {G1,s2, G2,s2, · · · , GB,s2} , 當中的Gi,s2 = [0, α · (B − 1)] ∈ N, i = 1, 2, · · · , B為染色體基因 ; α表示編碼範圍地放 大倍數,為一正整數 ; B = 2P = 256 ,同前一階段是P = 8個鄰近像素能構成的圖樣種 類 。

5.1.2 適應性函數設計

在事先擬定的策略中 ,第一階段要求圖樣依連續性的變化排列 ;第二階段要求圖樣 編碼對應排列的連續性 ,是各階段適應性函數要導向的目標 。 因此第一階段適應性函數 在設計上, 圖樣將由整數的基因編號,解碼成二進制8位元型態,以利於相似性的估算 。 圖樣之間8個位元的變化次數 (即漢明距離) 將被計算, 並考量其變異數的最小化 。 而圖 樣間不同間距的影響也是設計的重點 ,並搭配不同的權重加以控制 。 第一階段是適應性 函數呈現如下:

f itnesss1 =

I

X

j=1

wj,s1· Intj,s1 + ws· S (5.1)

其中wj,s1為控制第j種排列間距所屬的權重 ; I為所有排列間距的種類數量 ; Intj,s1的描述

化來處理,以下為第二階段的適應性函數表示 :

228 235 130

ЬЬ ЬЬाााा୷୷୷Ӣ୷ӢӢӢ

ংং

ংᒧᒧᒧᒧ୷୷୷୷ӢӢӢӢ 3333

ংং

ংᒧᒧᒧᒧ୷୷୷୷ӢӢӢӢ 2222

5.6: 候選基因銜接示意

step 4: 屬於第一階段交配以下執行 a部分;第二階段則為 b 部分

a. 將兩條父代染色體中的基因, 依各自編號轉換回二進制八位元表示 。 計算將 兩條父代染色體中, 相鄰基因的平均位元變化次數(即平均漢明距離HDisave) , 作為一比較基準 。 另一方面,各自的候選基因也須計算與主要基因的漢明距 離HDisjcand1HDis

cand2 ,並與HDisave比較 。 相差存在最小值者 ,其所 代表的候選基因,便是銜接於子代染色體的下一個基因 。

b. 計算將兩條父代染色體中相鄰基因的平均距離 ,當作比較基準Disave 。 而後計 算各自候選基因與主要基因的距離Discand1Dis

cand2 , 並與Disave進行相差 。 相差後存在最小值者 ,其候選基因便是銜接於子代染色體的下一個基因 。

step 5: 檢驗子代染色體的基因數, 若低於總數256便將step 4選出的銜接基因設為主要 基因 ,並跳至step 2繼續執行 。

經由一次 step 1step 5 ,能產生一條子代染色體 ,若想讓同一組父代染色體產生更多 子代,重複執行此五個步驟即可 。 本論文一組父代繁衍兩個子代,因此每一次交配重複 執行上述流程兩次 。

5.1.4 突變

兩階段的突變採用相同的方式 ,而唯一需要注意的重點也與交配相同 ,染色體基因 不得重複,相應的突變方式敘述如下 :

step 1: 以隨機方式選出一條子代染色體, 之後再從這一條染色體選出一個受突變的基因,

以及一個搭配的基因 ,並將此兩基因組成一個突變的基因組 。

step 2: 受突變的基因與搭配的基因進行基因互換 ,以完成一次突變 。

5.1.5 重新啟動機制

對於陷入區域最佳的演化,利用重新啟動給予適度的擾動是必須的 。 本論文使用兩 種不同的觸發機制來啟用重新啟動功能,其一是對於定期檢查整個族群,觀察是否陷入 區域最佳,以決定觸發與否 ;其二為當演化每經歷一個代數周期 ,便強制觸發 。 第一種 機制設定的檢查代數為50,每經過50次演化便檢視族群中染色體的適性值 。 當適性值 較高的前端染色體相似度極高, 便隨機替換族群中80%的染色體, 並保留前三個較為優越 的個體 。 第二種機制設定500代為一個周期,當演化500次便強制重新啟動, 將族群內適 性值較差的50%條染色體進行汰換 。

相關文件