第三章 粒子引導式演化策略
3.3 引導式突變
在本節中我們將對於本論文所提出的突變機制,稱之為引導式突變做 說明。綜合3.1 與 3.2 節所做的描述,引導式突變為基於關聯式突變架構上,
賦予方向引導的另一種突變方式,在突變方向的決定上,模仿了PSO 中粒
子移動的「概念」,藉由群體合作的資訊來判定預期會有較好的方向,因此 在引導式突變架構下,個體突變不再是獨自地以隨機擾動的方式來決定,
而是在突變的過程中參考群體智能 (Swarm Intelligence)所得的資訊,用以 促使個體往適合方向前進的機制,與傳統突變的主要差異,為引導式突變 在個體演化的行為上,提高機率來突變至預期會有較佳解的區域,個體進 行突變的行為將有效降低突變至無效的搜尋空間上。以下將先說明引導式 突變的運作機制,接著比較引導式突變與傳統突變兩者之間的差異。
對於一個二維平面上的點,我們可利用下列式子求得兩向量的夾角
g
g
p a
p a
α = ⋅
× (2.1) 其中‘⋅ ’為向量內積,a 為目前個體在解空間上的位置,pg 為截至目前為 止群體所找到的最佳解,αg 為個體 a 與目前最佳解 pg 之間的向量夾 角,其中 αg∈
[
- , π π]
。對於一個 n 維的問題,兩兩座標軸一對,可利用上 列公式求得 n(n-1)/2 個旋轉角度,並以向量形式 αg 來表示。與關連性突 變不同的是,旋轉角度的決定為在突變的過程中,依據 pg 所在的位置做立即的調整,個體突變的行為能及時依據群體在解空間中的分布行為來進 行反應,因此可大幅度降低需被調整的策略參數個數,個體 a 的編碼形式 可簡化為 a = (x , ,x ; , , ) = (x ; )1 … n σ1 …σn σ 。
其中x , ,x1… n為目標變數,σ1, ,…σn為每一個座標軸個別的突變強度。
引導式突變的行為可細分成下列幾個步驟:
其中 z = (z , ,z ) , z1 … n i ∼σi⋅N(0, 1),為一個平均值為 0,每一個維度以其所對
Rotation Angles Build Guided Rotation Matrix
定現象,引導式突變在個體突變行為上,模仿PSO 中粒子逐漸往目前最佳 解聚集的特性,以此為概念,來引導個體突變的行為有更高的機率朝向預 期會有較佳解的方向前進。圖 3.3 為引導式突變與粒子演算法的示意圖。
傳統的突變方式偏向於單一個體在自己周圍隨機的搜尋,而引導式突變引 進 PSO 的引導觀念,利用群體智能所獲得的資訊,將在突變的效率上能更 有效的突變至預期會有較佳解的方向。圖3.4 為傳統突變方式與引導式突變 的差異比較。
最 佳 解 所 在 位 置 群 體 找 到 的 最 佳 解 單 一 粒 子 所 在 位 置 粒 子 移 動 方 向
x1
x2 最 佳 解 所 在 位 置
群 體 找 到 的 最 佳 解 個 體 目 前 所 在 位 置 個 體 下 一 步 可 突 變 的 範 圍
x1
x2
(a) (b)
圖3.3 引導式突變與粒子移動行為比較。(a) 為粒子演算法粒子下一步移動 行為示意圖,方點為目前為止所找到的最佳解;(b) 引導式突變決定個體下 一步可突變的範圍示意圖。虛線橢圓為傳統的突變橢圓區域,灰色橢圓為 引導式突變的突變橢圓區域。
σ
x1
x2
x1
x2
σ1
σ2
(a) 單一突變強度的非關聯式突變 (b) n 維突變強度的非關聯式突變
N(0, ) β β =5
x1
x2
guided information
x1
x2
(c) 關聯式突變機制 (d)引導式突變機制 圖 3.4 傳統突變方式與引導式突變比較
在引導式突變中,個體突變橢圓與座標軸獨立的優點仍與以保持,確 切地說,我們是以傳統關聯式突變機制作為基礎並加以修改,結合PSO 的 搜尋「概念」進而發展出新的突變方式。我們保留ES 中最主要的精神,也 就是利用self-adaptation 來對於引導式突變的 step-sizes 做調整;對於方向的
決定上,則是擷取 PSO 中,方向引導的概念機制來做決定。因此,在引導 式突變的行為上,為結合兩種實數參數最佳化方法,利用各自領域的主要 搜尋精神,所發展出另一種有效的突變機制,在下一節裡,我們將以一個 視覺化的角度,來觀察突變運算在被引導的情況下,其突變行為與傳統的 方式的比較。