發展粒子引導式演化策略演算法以處理實數參數之全域最佳化問題
105
0
0
全文
(2) 發展粒子引導式演化策略演算法以處理實數參數之全域最佳化問題 Particle Swarm Guided Evolution Strategy for Real-Parameter Optimization. 研 究 生:謝長泰. Student:Chang-Tai Hsieh. 指導教授:陳穎平. Advisor:Ying-Ping Chen. 國 立 交 通 大 學 資 訊 科 學 與 工 程 研 究 所 碩 士 論 文. A Thesis Submitted to Institute of Computer Science and Engineering College of Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master in Computer Science June 2006 Hsinchu, Taiwan, Republic of China 中華民國九十五年六月.
(3) 發展粒子引導式演化策略演算法以處理實數參數之 全域最佳化問題 學生:謝長泰. 指導教授:陳穎平 國立交通大學資訊科學與工程研究所 摘. 要. 遺傳演算法為一種模仿自然界演化現象所發展出的一套隨機搜尋的方 法,在這些方法中,又以演化策略與粒子最佳化演算法為兩個最熱門的研究主 題。這兩種方法皆為處理實數參數最佳化的問題,但其搜尋的行為卻迥然不 同。藉由觀察演化策略與粒子演算法的搜尋行為,我們發現兩者皆有其優點與 缺點。在演化策略中,起因於隨機擾動,突變運算子缺乏一個明顯的機制來引 導搜尋行為至預期會有較佳解的區域,除此之外,個體在搜尋空間中的移動行 為缺乏群體相互協調的機制,然而,其強大的篩選機制可將較好的個體保留至 下一代;在粒子演算法中,其搜尋機制使用群體合作的概念,每一個個體在搜 尋空間的移動行為將直接朝向預期會有較佳解的方向前進。本研究的目的試圖 將演化策略與粒子演算法做一個概念層級上的結合,我們引進粒子演算法中, 群體合作的機制,以此為概念來對於演化策略中偏向於隨機搜尋的突變運算子 進行突變方向上的引導。本文將提出一個新的突變機制,稱之為引導式突變, 結合引導式突變於傳統演化策略的搜尋架構下,進而發展出粒子引導式演化策 略的最佳化方法。效能評估將建立在一組精心設計的測試平台下,由實驗結果 得知所提的方法可達到良好的搜尋效能。. 關鍵字:演化計算、演化策略、引導式突變、突變運算、粒子演算法、 群體智能 i.
(4) Particle Swarm Guided Evolution Strategy for Real-Parameter Optimization. student : Chang-Tai Hsieh. Advisor : Ying-Ping Chan. Institute of Computer Science and Engineering National Chiao Tung University. ABSTRACT Evolutionary algorithms are stochastic search methods that mimic the metaphor of natural biological evolution. Among of these algorithms, evolution strategy (ES) and particle swarm optimization (PSO) are two of the most popular research topics. Both of ES and PSO are deal with real-parameter optimization problems but have different search behaviors. By observing the search behaviors of ES and PSO, we find both of them have strengths and weaknesses. In ES, the mutation operator lacks an explicit mechanism to guide the search into promising direction due to random variance. Moreover, there is no coordination in the movement of individuals within the search space. However, the powerful selection procedure allows solutions with superior characteristics to pass these from generation to generation. In the PSO, the search mechanism used the swarm cooperation concept. Each particle will move toward the direction which is expected to be good. The objective of this article is tried to combine ES and PSO at the concept level. We introduce the concept of swarm cooperation of PSO into the mutation operator of ES for reducing the disturbance of mutation in the mutation direction. We proposed a new mutation operator called guided mutation. Combining the guided mutation into the traditional ES framework and develop a new optimization algorithm called particle swarm guided evolution strategy. Numerical experiments are conducted on a set of carefully designed benchmark functions and demonstrate good performance achieved by the proposed methodology. Keyword : Evolutionary Computation , Evolution Strategy, Guided Mutation, Mutation Operator, Particle Swarm Optimization, Swarm Intelligence ii.
(5) 誌 謝 本篇論文之得以順利完成,首先要向我的指導教授-陳穎平老師,致上 最高的敬意,感謝老師在我的碩士生涯中耐心且專業的指導,讓我不僅在 學業上得到正確的研究技能及知識,且學習到待人謙卑及處事積極的態度。 由衷感激孫春在老師、鐘雲恭老師、洪炯宗老師在論文口試期間不吝 惠賜寶貴的意見,讓本論文之研究成果更趨於完善與流暢,而他們博學謙 恭的態度,亦是我未來值得仿效的榜樣。 感謝自然計算實驗室成員柏甫、明昌、志宇、秉竹、宏偉、盈吟、文 瑜等研究夥伴,以及欣諭、哲逸、智超、KIKI、明冠、大為、永發、智洋、 東昇、書楷、士弘等多位好友。因為有大夥的鼓勵與協助,使得求學的路 程,充滿溫馨及歡笑。 最後,感謝我的家人無私的奉獻與支持,給我勇往直前的力量,使我 可以全力衝刺學業。還有,感謝我的可愛女友-韋如,因為她的陪伴與關懷, 讓我的心滿溢著暖暖的幸福,讓我的生活不再是枯燥的 0 與 1。. 藉此論文付梓之際,再次向協助過我的朋友們,致上最真切的謝意。. 謝長泰. 謹誌. 民國九十五年六月三十日 於風城交大 iii.
(6) 目 錄 中文摘要 .....................................................................................................................................I 英文摘要 ................................................................................................................................... II 誌 謝 ........................................................................................................................................III 目 錄 ........................................................................................................................................IV 圖 目 錄 ..................................................................................................................................VI 表 目 錄 ................................................................................................................................ VII 第一章 1.1 1.2 1.3 第二章 2.1 2.2 2.3 2.4 2.5 第三章. 緒論 ........................................................................................................................1 研究動機與背景 ........................................................................................................1 研究目標 ....................................................................................................................3 論文架構 ....................................................................................................................4 背景知識與文獻探討 ............................................................................................5 演化式計算簡介 ........................................................................................................6 演化策略 .................................................................................................................. 11 粒子演算法 ..............................................................................................................24 相關文獻探討 ..........................................................................................................26 本章總結 ..................................................................................................................27 粒子引導式演化策略 ..........................................................................................28. 3.1 想法起源 ..................................................................................................................29 3.2 粒子演算法之引導概念 ..........................................................................................34 3.3 引導式突變 ..............................................................................................................35 3.4 視覺化評估與觀察 ..................................................................................................41 3.4.1 引導式突變與傳統突變方式之比較 ..............................................................42 3.4.2 引導式突變與關聯式突變分析 ......................................................................47 3.5 引導式演化策略 ......................................................................................................51 3.6 第四章. 本章總結 ..................................................................................................................56 實驗結果與效能分析 ..........................................................................................57. 4.1 實驗衡量標準 ..........................................................................................................57 4.2 測試函式 ..................................................................................................................59 4.3 實驗評比對象及參數設定 ......................................................................................63 4.4 實驗結果與效能分析 ..............................................................................................64 4.4.1 引導式演化策略與傳統演化策略比較 ..........................................................64 iv.
(7) 4.4.2 引導式演化策略與其他進階演算法比較 ......................................................72 4.5 本章總結 ..................................................................................................................74 第五章 5.1 5.2 5.3. 總結與未來工作 ..................................................................................................75 總結 ..........................................................................................................................75 未來工作 ..................................................................................................................77 主要總結 ..................................................................................................................78. 附錄一 CEC’05 25 個 TEST FUNCTIONS 之特性與定義 ..................................................80 附錄二 CEC’05 25 個 TEST FUNCTIONS 整體最佳解的個體目標變數與其適應值 ......92 附錄三 PSGES 所達到的最佳解之個體目標變數與其適應值 ...........................................93 參考文獻 ..................................................................................................................................94. v.
(8) 圖 目 錄 圖 2.1 演化計算通用示意圖 ..................................................................................................8 圖 2.2 (1+1)-ES 流程圖 ....................................................................................................... 11 圖 2.3 ES 基本演化流程 ......................................................................................................13 圖 2.4 單一突變強度之非關聯式突變 ................................................................................16 圖 2.5 n 維突變強度的非關聯式突變。 .............................................................................18 圖 2.6 關聯式突變。 ............................................................................................................20 圖 2.7 傳統演化策略流程圖。 ............................................................................................21 圖 2.8 粒子演算法移動示意圖 ............................................................................................25 圖 3.1 演化路徑示意圖 ........................................................................................................32 圖 3.2 引導式突變流程圖 ....................................................................................................38 圖 3.3 引導式突變與粒子移動行為比較 ............................................................................39 圖 3.4 傳統突變方式與引導式突變比較 ............................................................................40 圖 3.5 起始環境下個體的分布情形 ....................................................................................42 圖 3.6 n 維突變強度的非關聯式突變演化示意圖 .............................................................44 圖 3.7 關聯式突變演化示意圖 ............................................................................................45 圖 3.8 引導式突變演化示意圖 ............................................................................................46 關聯式突變 ( β =20 ) 演化示意圖 ..........................................................................49 圖 3.10 關聯式突變 ( β =36 0 ) 演化示意圖........................................................................50 圖 3.11 PSGES 概念示意圖 .................................................................................................54 圖 3.12 引導式演化策略流程圖 ............................................................................................55 圖 3.9. vi.
(9) 表 目 錄 表 2.1 演化策略、演化式規劃、基因演算法比較表 ........................................................9 表 2.2 演化式計算之優缺點比較表 ..................................................................................10 表 2.3 策略參數設定與其所對應的個體表示法整理 ......................................................23 表 4.1 25 個 test functions 特性分類..................................................................................60 表 4.2 最佳解、搜尋範圍與起始範圍定義表 ..................................................................61 表 4.3 25 個 test functions 之求解臨界值定義..................................................................62 表 4.4 實驗參數設定 ..........................................................................................................64 表 4.5 Results of Function 1-5 ............................................................................................66 表 4.6 Results of Function 6-10 ..........................................................................................67 表 4.7 Results of Function 11-15.........................................................................................68 表 4.8 Results of Function 16-20 ........................................................................................69 表 4.9 Results of Function 21-25 ........................................................................................70 表 4.10 ES、PLES 與 PSGES 平均效能表現 .....................................................................71 表 4.11 PSGES 與其他進階演算法比較 .............................................................................73. vii.
(10) 第一章 緒論 1.1 研究動機與背景 現實世界中眾多的問題最終仍歸結為最佳化問題,最佳化問題存在於 各個領域,對於其求解的方式,過去已有不少經典的演算法被提,對於某 些特定的問題上確實能得到較好的結果。但這些傳統的方法對於目標函式 有很大的限制,如連續、可微等。因此傳統方法對於問題的依賴性較強, 以一個二元數學函式為例,一般需要用到目標函式一階或二階偏微分才可 推導出來,而實際問題所遇到的目標函式往往更加複雜,有的甚至難以用 數學公式表達出,因此,光是利用數值方法很難求得最佳解。 近年來快速發展的演化計算,為一種借鑑於達爾文進化論[1]而模擬出 的一套隨機演算法,舉凡觀察自然、生物、與生命現象為手段,得到設計 可應用於搜尋 (Search)、設計 (Design)、與最佳化 (Optimization)等各類問 題之演算方法,皆屬於演化計算的研究領域。演化計算著眼於從一群(種族) 潛在解(個體)中尋找問題的最佳解,透過在當前的潛在解之間反覆地進行如 篩選、重組、突變等遺傳操作,來對於最佳解所在的位置逐步逼近。演化 計算在於應用問題方面,至今已成功的運用在許多不同領域的最佳化問題 上,如藥物設計、生物資訊、演化硬體、工業設計、電路設計、資料探勘、 財經分析等。 1.
(11) 演化策略(Evolution Strategy, ES)為演化計算的其中一個重要分支,其歷 史可回溯至 1960 年代,德國柏林大學 Schwefel 與 Rechenberg 兩位研究學 者為了解決工程上所遇到的最佳化問題進而發展出的一套最佳化演算法。 在演化策略中,個體以一個實數向量來表示,最佳化的過程主要以突變的 機制來進行,因此突變機制在 ES 中扮演著極為重要的角色,一個設計良好 的突變機制將對於搜尋效能有決定性的影響,在 ES 的研究範疇裡,大部分 的研究皆著重於突變機制下做探討與並加以改良以增進其效能。 另一方面,近年來興起的粒子演算法(Particle Swarm Optimization, PSO),由 Kennedy 和 Eberhart 於 1995 所提出,與 ES 同為實數參數最佳化 的方法,然其搜尋上的行為卻迥然不同,PSO 的概念源自群體行為理論, 啟發自觀察鳥群或魚群移動時,能透過個體間特別的訊息傳遞方式,使整 個群體朝預期會有較佳解的方向而去,為模仿此類生物行為反應來尋求完 成群體最大利益的方法。 經由對 ES 與 PSO 兩者的搜尋行為上做研究與探討,本論文的主要研 究動機,著眼於對傳統 ES 的突變行為做改良,緣起於觀察出 ES 中在突變 機制上的行為與限制,也就是突變行為以亂數決定所造成的不穩定性。故 在本論文中,試圖擷取 PSO 中群體間相互合作的群體智能,以此為「概念」 來對於偏向隨機搜尋的 ES 進行搜尋方向上的引導,賦予 ES 中個體突變的 行為參照群體智能所獲得的資訊,進而達到更有具系統化的突變能力。. 2.
(12) 1.2 研究目標 本論文的主要目的為擷取 PSO 中群體智能的搜尋概念,將其在搜尋行 為上的優點與傳統 ES 做概念層次上的結合,而非只是計算層次的結合。我 們將重點著重在傳統 ES 上的突變機制並加以修改,發展一個利用個體間交 互參照的訊息與群體於搜尋空間中所分布的行為與結構,使得 ES 在演化的 效能上能以更直接有效的方式達到最佳化的結果,並且設法降低在突變的 行為上以亂數決定所造成的不穩定性。 在我們的研究目標中,首先將提出一個結合 PSO 的搜尋概念,發展出 的一個在突變方向上具有引導性質的突變機制,我們將此稱作為引導式突 變,接著將引導式突變與 ES 中原有的搜尋架構做整合,進而提出一套新的 最 佳 化 演 算 法 , 稱 之 為 粒 子 引 導 式 演 化 策 略 (Particle Swarm Guided Evolution Strategy, PSGES),最後以一系列公正的測試函式來評量所提 PSGES 的效能,並以傳統 ES 與其他進階演算法做比較,分析與探討本文 所提的方法之效能與表現。. 3.
(13) 1.3 論文架構 本論文總共分成六個章節,其結構如下: z. 第一章為前言,此部份包含研究動機與背景、研究目標以及論文架構、 說明本研究的重要性以及本研究所要達成的目標。. z. 第二章為背景知識與文獻探討,此部份將對於與本研究有直接相關的背 景知識作說明,其中包括 ES 與 PSO,並敘述近年來的相關研究。. z. 第三章為本研究所提的 PSGES 之方法論,包含所提方法的想法起源, 與傳統方法的差異以及對於所提的方法之詳細論述。. z. 第四章為實驗結果與效能分析,此部份包含所要作為衡量標準的測試函 式、所提方法的實驗結果,並與其他方法的比較以及效能上分析與討論。. z. 第五章為本論文之結論以及未來工作。. 4.
(14) 第二章 背景知識與文獻探討 演化計算以觀察自然、生物、與生命現象為手段,得到設計可應用於 搜尋、設計、與最佳化等各類問題之演算方法或解題技術的原則或啟發。 ES 為演化式計算的一個重要分支,主要著重在實數參數最佳化的方法,最 佳化的過程主要利用突變的機制來逐步朝向最佳解前進,因此突變機制在 ES 中扮演相當重要的角色。本文所提的 PSGES,將對於傳統 ES 的突變機 制加以修改,目的為截取 PSO 中,群體間相互合作的概念行為,來增進 ES 中突變機制的效能,以期在個體突變的過程中,以更有系統的方式達到突 變的效果。 在本章中,首先將針對與本研究相關的背景知識作說明,分成以下四 個部份來闡述。第一節為演化式計算的基本簡介;第二節中,我們將對於 ES 的主要運作流程加以說明,其中包括編碼形式、重組、篩選、突變以及 自動調節機制(self-adaptation);第三節說明為 PSO 的運算模式;第四節為 與本研究相關的文獻探討。. 5.
(15) 2.1 演化式計算簡介 相對於古典的最佳化的技術,演化式計算為一門相當年輕的最佳化演 算法,主要為根據生物演化觀念所建構成的一種計算模式,利用達爾文進 化論中「適者生存,不適者淘汰 (survival of the fittest)」的理論[1],做為在 廣大空間的搜尋機制,藉此可求解各種困難的組合最佳化問題,找到問題 的最佳解。因此演化式計算可視為一個集合的統稱,依此模式下所發展出 的演算法通稱為演化式演算法 (Evolutionary Algorithm, EA),大致上可分類 成三大類,其中包括基因演算法 (Genetic Algorithm, GA)[2]、演化式規劃 (Evolutionary Programming, EP)[3] 與 演 化 策 略. (Evolution Strategies,. ES)[4],三者之間的差異如表 2.1 所示[5, 6]。 族群式 (Population Based)的演化觀念為演化式計算最主要的特色,一 個族群包含著許多個體,對於最佳化的問題上,個體經由特殊的編碼形式, 單一個體就代表著對此問題上的一個潛在解(genotype),個體則由基因變數 的表現型(phenotype)來表現對於最佳化問題上的適應能力。擁有較好適應能 力的個體將有更高的機會被保留並再次進行演化。仿照達爾文「物競天擇, 適者生存」的精神,演化式計算則運用此想法來達到最佳化的目的,對於 一個最佳化的問題,經由不斷的重組、突變、競爭與篩選,個體將逐漸地 朝向問題的最佳解前進,圖 2.1 為演化式計算的通用流程圖。其中最主要的. 6.
(16) 運作機制有下列四點: 一、. 重組: 在演化式計算中,重組機制 (Recombination)模仿自然界個 體交配的過程,利用重組所產生的子代,將保留部分父代 個體中的資訊。. 二、. 突變: 突變 (Mutation)為一個隨機擾動的行為,在最佳化的過程 中,藉由將個體進行突變運算,來對個體的基因變數產生 隨機的擾動,為造成個體彼此間差異的一個主要來源。. 三、. 競爭: 源自於達爾文「物競天擇」的觀念,個體間彼此相互競爭, 經由計算 (Evaluation)個體的適應能力來評判個體好與壞 的一個過程,擁有較佳適應能力的個體將有較高的機會被 保留下來。. 四、. 篩選: 源自於達爾文「適者生存」的觀念,擁有較佳適應能力的 個體將在篩選的機制 (Selection)下保留下來並成為下一代 的人口。. 7.
(17) 圖 2.1 演化計算通用示意圖. 8.
(18) 表 2.1 演化策略、演化式規劃、基因演算法比較表 ES. EP. GA. Representation. Real-valued. Real-valued. Binary-valued. Fitness is. Objective function value. Scaled objective function value. Scaled objective function value. Self-Adaptation. Standard deviations and rotation angles. None None (standard-EP),variances (meta-EP), correlation coefficients. Mutation. Gaussian, main operator. Gaussian, only operator Bit-inversion, background operator. Recombination. Discrete and intermediate. None. Selection. Deterministic, extinctive or based on preservation. Probabilistic, extinctive Probabilistic, based on preservation. Constraints. Arbitrary inequality constraints. None. Simple bounds by encoding mechanism. Theory. Convergence rate for special cased, (1+1)-ES , (1+λ )-ES , (1,λ )-ES , global. Convergence rate for special cases, (1+1)-EP , global. Schema processing theory, global convergence for elitist version. convergence for (1+1)-EP. convergence for (μ +λ )-ES. 9. z-point crossover, uniform crossover, only sexual, main operator.
(19) 演化式計算的優點在於對各種類型的最佳化問題都可以表現出一定的 求解能力,與傳統數學歸化法比較起來,演化式計算提供了較大的穩定性 (Stability)與強健性 (Robustness),尤其對於現實世界中較複雜的最佳化問 題,例如多變數問題、高度非線性問題以及不可微分的問題來說,演化式 計算都有較好的表現。然而,演化式計算的缺點之ㄧ,是只能找到一個近 似的最佳解,而較難逼近到真正的最佳解上面。表 2.2 為演化式計算的優缺 點比較。 在本論文提出的方法中,主要以演化式計算的一個重要分支:演化策 略 (Evolution Strategies, ES)作為研究的主軸,並試圖將其與近年來興起的 粒子演算法(Particle Swarm Optimization, PSO)在搜尋的概念上做結合,因此 在以下兩節中,我們將分別針對演化策略與粒子演算法的基本知識與相關 背景作說明。 表 2.2 演化式計算之優缺點比較表 Advantage z. z z. z z z. z z. Disadvantage. No presumptions w.r.t. problem space Widely applicable Low development & application costs Easy to incorporate other methods Solutions are imperpretable Can be run interactively, accommodate user proposed solutions Provides many alternative solutions Suitable for changing conditions. z. z z z. 10. No guarantee for optimal solution within finite time Weak theoretical basis May need parameter tuning Often computationally expensive.
(20) 2.2 演化策略 1960 年 代 早 期 , 德 國 人 Rechenberg 在 柏 林 工 業 大 學 (Technical University of Berlin, TUB),為了解決流體力學中模型控制裡實數參數最佳化 的問題,發展了第一個實驗性的演化策略方法,此為演化策略的開端。因 為體認到工程上的一些非線性模型的數值問題,無法用傳統的數學線性方 法求解。後來他與Schwefel 合作發明了一種新的方法,即為「演化策略」, 有關演化策略解決工程上非線性模型的數值問題其細節部份可參閱[7]。最 早的演化策略非常簡單,類似隨機區域搜尋,稱為 (1+1)-ES,其演化流程 如圖2.2所示。. 圖 2.2 (1+1)-ES 流程圖 11.
(21) ES 與其他遺傳演算法不同的地方,在於 ES 中個體的編碼是以實數 (real-valued)的方式來表示,因此更適合處理工程上實數最佳化的問題。對 於一個有 n 個參數需要被最佳化的問題,個體 I 直接以一個 n 維的實 數向量 x 來代表,稱之為目標變數 (objective variables)。除了目標變數之 外,每一個 I 的表示法中,還額外包含兩組策略參數 σ 與 α ,其功能 為調整目標變數中突變行為的依據,其中 σ 稱之為 step-sizes,用來調整 個體的突變強度, α 稱之為 rotation angles,用來調整個體的旋轉角度(或 突變方向)。結合目標變數與策略參數,單一個體 I 的表示法如下所示[5] I = (x ;σ ;α ) ∈. n. ×. nσ +. × [ − π , π ] nα. 其中 nσ ∈ {1,… ,n} ,代表 step-sizes 的個數; nα ∈ {0, (2n − nσ )(nσ − 1)/2} ,代表 rotation angles 的個數。依據不同突變機制的採用,其個體的表示法也有所 不同。ES 的基本演化流程與其他遺傳演算法類似,如圖 2.3 所示[5]。. 12.
(22) t:=0; initialize P(0):={a 1 (0), …, a μ (0)} ∈ I. μ. where I = n × n+σ ×[- π, π ] nα and a k = (x i, σ j, α j' ), i ∈ {1, …,n } j ∈ {1, …,n σ }, j' ∈ { 1,… ,nα }; or a k = (x i, σ i ), i ∈ {1, …,n}, j ∈ {1,… ,nσ }; evaluate P(0): { φ(a 1 (0)), …,φ(a μ (0))} where φ(a k (0)) = f(x k (0)); while (termination criterion ι (P(t)) ≠ ture) do recombine: a' k(t):=r'(P(t)) ∀ k ∈ {1,… ,λ }; mutate: a'' k(t):=m' {τ ,τ',β } (a' k (t)) ∀k ∈ {1,…,λ }; evaluate: P''(t):= {a'' 1 (t),… , a'' λ (t)}; { φ(a'' 1(t)), …,φ(a'' λ(t))} where φ(a'' k(t)) = f(x'' k(t)); select: P(t+1):= if ( μ, λ)- selection then s ( μ , λ ) (P''(t)); else s ( μ +λ ) (P(t) ∪ P''(t)); t:=t+1; end 圖 2.3 ES 基本演化流程. 由圖 2.3 的 ES 基本演化流程可發現,執行最佳化的運作機制主要發生於重 組 (recombination)、突變 (mutation)、篩選 (selection)三個遺傳操作,其中 又以突變的遺傳操作最為重要,以下針對這三種遺傳操作加以說明。. 13.
(23) 重 組 (Recombination) 重組的遺傳操作發生在至少兩個或兩個以上的個體,換句話說,在族 群式的演化策略(population-based evolution strategy) μ > 1 的情況下才可進 行重組,一次重組產生一個新的個體。重組的主要目的,為交換個體彼此 間資訊,以達到資訊流通的效果。一般的作法為先設定一個大於 1 的 ρ 值作為參與重組的父代個數,稱之為候選者(candidates)。演化策略有許多變 形的重組方式,Bäck[5]列出了下列五種較常使用的重組運算,如下所示 ⎧ xa,i ⎪ ⎪ xa,i or xb,i ⎪ x'i = ⎨(xa,i +xb,i )/2 ⎪ x or x bi ,i ⎪ ai ,i ⎪(xa ,i +xb ,i )/2 i ⎩ i. no recombination discrete intermediate. (1.1). global discrete global intermediate. 其中 x'i 為經重組後的子代第 i 個變數的值,xa,i 與 xb,i 代表從 ρ 個父代 中隨機挑選出兩個父代個體的第 i 個變數的值。. z. no recombination : x'i 的值由 xa,i 取得,無重組的動作發生。. z. discrete : x'i 的值隨機由 xa,i 或 xb,i 來產生。. z. intermediate : x'i 的值由 xa,i 與 xb,i 的平均值來決定。. z. global discrete : 與 discrete類似,但每個變數都需重新挑選兩個父代。. z. global intermediate : 與 intermediate類似,但每個變數都需重新挑選 兩個父代。. 14.
(24) 重組運算可同時作用於目標變數與策略參數,且可分別使用不同的重 組方式。一般來說,目標變數使用 discrete 或 global discrete 的重組方式; 策略參數 σ 使用 intermediate 或 global intermediate 的重組方式;策略參 數 α 的部份則偏向以 no recombination 的方式來進行。. 突 變 (Mutation). 突變為 ES 中最重要的運算,也是達到個體間差異的主要來源。相對於 重組運算利用已存在個體之間的資訊,彼此交換進行訊息的流通,突變則 是利用隨機擾動的方式產生一個含有新的資訊之個體。突變運算依據策略 參數個數的不同,將直接影響到個體所產生的突變行為。一般來說,對於 一個 n 維的問題上,我們可將個體的突變分成三個類型來討論:. 15.
(25) 單一突變強度之非關聯式突變 (Uncorrelated Mutation with One Step-Size). 在此突變機制下,策略參數的設定為 nσ =1 , nα =0 ,也就是說利用單一 step-size 來調整目標變數裡的每一個變數,因此個體的表示法如下 I = (x1 ,… ,xn ; σ ). 個體突變方式分成兩個步驟,第一先對策略參數 σ 進行突變,接著再利用 突變後的 σ 來調整目標變數 x 裡的每一個變數,其公式如下 σ (t+1)=σ ⋅ eτ ⋅N(0,1). (1.2). xit+1=xit +σ (t+1) ⋅ N i (0,1). 其中 Ni (0, 1) i ∈ 1,… ,n 是平均值為 0 ,標準差為 1 的常態分佈隨機變數 (normal distributed random variable) 。 τ ∝ 1/ n 代 表 著 σ. 的學習比率. (Learning Rate)。在這種突變機制下,我們只使用一個策略參數 σ 來對目 標變數的每一個變數來做調整,因此突變後的子代在解空間上的分布範圍 將形成一個以父代為中心的圓形區域。如下圖 2.4 所示 x2. σ. x1. Line of equal Mutation Probability density. 圖 2.4 單一突變強度之非關聯式突變 16.
(26) n 維突變強度之非關聯式突變 (Uncorrelated Mutation with n Step-Sizes). 相對於利用單一 step-size 來調整目標變數的每一個變數 xi , i ∈ 1,… ,n , 在某些情況下,我們希望對於目標變數的每一個變數 xi , i ∈ 1,… ,n 都單獨 地使用獨自的 step-size 來調整,因此策略參數的數目設定增加成 nσ =n , nα =0 ,個體的表示方式如下 I = (x1 ,… ,xn ; σ 1 ,… ,σ nσ ). 整體的突變機制有些許的變動,我們需要對 σ 中每個維度 σ i, i ∈ 1,… ,n 進 行突變,在利用突變後的 σ i 來調整目標變數的第 i 個變數值,如下所示. σ it+1=σ it ⋅ eτ' ⋅N(0,1)+τ ⋅ N (0,1) i. xit+1=xit +σ it+1 ⋅ N i (0,1). (1.3). 其中 Ni (0, 1) i ∈ 1,… ,n 是平均值為 0 ,標準差為 1 的高斯分佈隨機變數, τ' ∝ 1/ 2n 與 τ ∝ 1/ 2 n 分別代表全域學習率 (Global Learning Rate)與區. 域學習率 (Local Learning Rate),在 nσ =n 的情況下,由於使用個別的 step-size σ 1 ,… ,σ n 來調整其對應的目標變數 x1 ,… ,xn ,因此在搜尋空間上,突變後的. 子代將形成以父代為中心的橢圓形區域。如圖 2.5 所示。. 17.
(27) x2. σ2. σ1. x1. Line of equal Mutation Probability density. 圖 2.5 n 維突變強度的非關聯式突變。. 關聯式突變 (Correlated Mutation). 比較 nσ =1, nα =0 與 nσ =n , nα =0 兩種情況,雖說利用 n 個 step-sizes σ 1 ,… ,σ n 來調整各自調整目標變數 x1 ,… ,xn ,遠比只利用單一 step-size 來調整. 目標變數較為有效益。但在 nσ =n 的情況下仍然存在著些許的缺點,也就 是個體可突變的範圍,受限於座標軸系統造成突變橢圓與座標軸系統相依 的缺點,1981 年 Schwefel[8]提出了關連性突變的機制,其目的為希望突變 的橢圓區域能夠達到與座標軸系統獨立效果,此突變機制需要加入第二個 策略參數 α 。策略參數個數的設定變成 nσ =n , nα = n(n+1)/2 ,個體的表示 法如下 I = (x1 ,… ,xn ; σ 1 ,… ,σ nσ ; α 1 ,… ,α nα ). 突變的機制將變成先突變策略參數 σ ,再突變策略參數 α ,最後再對目標 變數 x 進行突變,其數學表示式如下 18.
(28) σ it+1 = σ it ⋅ eτ' ⋅ N(0,1) + τ ⋅ N (0,1) i. α t+1 = α tj + β ⋅ N j (0, 1) j. (1.4). x t+1 = x t + N (0, C( σ , α )). 其中 Ni (0, 1) i ∈ 1,… ,n , N j (0, 1) j ∈ 1,… ,n(n-1)/2 是平均值為 0 ,標準差為 1 的 高斯分佈隨機變數;τ' ∝ 1/ 2n 與 τ ∝ 1/ 2 n 分別代表著 σ 的全域學習率 (Global Learning Rate)與區域學習率 (Local Learning Rate) ,β ≈ 0.0873 ( 5 ) 為控制 α 的學習率; N(0, C( σ , α )) 為平均值為 0 ,標準差為協方差矩陣 (covariance matrix) C 的常態分佈所取樣的隨機變數向量,協方差矩陣 C 由突變後的 σ 與 α 所組成,其元素如下. c pq = σ i2 , c pq, p ≠ q. 其中,. ⎧0 ⎪ = ⎨1 2 2 ⎪⎩ 2 ( σ p − σ q )tan(2α pq ). c pq ( p ∈ {1,… n-1} ,. no correlations,. (1.5). correlations.. q ∈ {p+1,… ,n} ) 藉 由 旋 轉 角 度 向 量. αk. 1 2. ( k= (2n − p)(p+1) − 2n+q [9]) 來 表 示 可 將 一 個 非 關 聯 性 的 突 變 向 量 (uncorrelated mutation vector)轉換成一個具有關聯性的突變向量 (correlated mutation vector)。且能使得協方差矩陣具有正定的性質,並使得突變的橢圓 在座標軸上朝任意方向旋轉[9],圖 2.6 為個體突變行為的示意圖。. 19.
(29) x2. σ1. σ2. α 12. x1. Line of equal Mutation Probability density. 圖 2.6 關聯式突變。. 篩 選(Selection). 在 ES 中,篩選的運算可分為兩個主要的部份,一個為父代篩選(Parent Selection),另一個為倖存者篩選 (Survivor Selection)。所謂父代篩選,起因 於重組運算中,我們需要從 ρ 個候選者當中隨機挑選兩個至多個個體並參 與重組運算,在這些候選者當中,每個個體將有相同的機率被選上。倖存 者篩選又可分成兩個部份, ( μ , λ )-ES 及 ( μ+λ )-ES ,兩者主要差別在於 ( μ+λ )-ES 會將父代及子代族群一併進行評估;而 ( μ , λ )-ES 會忽略父代資. 訊,而只考慮子代族群進行評估,再將進行評估的集合中所有個體依適應 值排序,並挑選較佳的 μ 個體成為新的父代族群,進入下一代演化程序。 圖 2.7 為傳統演化策略的示意圖。. 20.
(30) 起始 μ 個父代. 適應值計算. 終止條件判斷 ?. Yes. No. 重組產生 λ 個 個體 t=t+1 對 λ 個個體進行 突變產生子代. 篩選出 μ 個個 體當父代. 圖 2.7 傳統演化策略流程圖。. 21. 結束.
(31) 自動調節機制 (self-adaptation). 在討論完 ES 的基本運作模式後,接者我們將重點放在 ES 最具特色的 一個機制:自動調節機制(self-adaptation)。 Self-adaptation 為演化策略中主要的一個特性,此機制賦予個體在最佳 化的過程當中,依當時的情況自動調節個體的突變行為至最佳的狀態,作 法為將策略參數依附在個體表示法中,利用目標變數與策略參數共同演化 的方式來達成。在 self-adaptation 的想法中,經由先突變策略參數及再突變 目標變數的方式,若先對策略參數進行突變後產生所謂好的策略值,將會 直接地反映在目標變數的突變行為上,因而產生一個較好的子代個體。策 略參數的品質好壞,則是間接地經由突變後產生子代的適應值(fitness value) 來衡量。 最佳化的過程中,若能迅速的調整策略參數達到所謂較好的設定值, 對其搜尋效能將有顯著的提升,在突變的架構下,影響 self-adaptation 調整 品質及速度的關鍵,主要來自於參與調整的策略參數個數 nσ 與 nα,表 2.3 歸納了三種最常使用的策略參數設定與其所對應的個體表示法。 在策略參數個數 nσ =1 , nα =0 ,也就是單一突變強度之非關聯式突變的 情況下,由於參與調整的策略參數只有一個,因此,self-adaptation 能迅速 且有效地將 step-size 調整至適合的強度;在 nσ =n , nα =0 的 n 維突變強度之. 22.
(32) 非關聯式突變地情況下,參與調整的策略參數個數與問題維度呈線性的成 長,self-adaptation 對策略參數的調整將比單一突變強度之非關聯式突變慢 了許多,不過由於其較具彈性的突變能力(每一個維度以獨自的 step-size 調 整),故其仍然可達到較好的搜尋結果;最後一個也是最複雜的一種突變方 式, nσ =n , nα =n(n-1)/2 的關聯性突變情況下,參與調整的策略參數在 nσ 的 部份與問題的維度呈線性成長,在 nα 的部份將與問題的維度呈現二次平方 項次型(quadric)的成長,即使在一個較低維度的問題上,對於所要調整的 rotation angles 卻已大大地超越 step-sizes 與目標變數所要調整的總和個數, 因而 self-adaptation 將導致緩慢的收斂現象,此現象也是關連性突變機制不 被廣泛使用的主要原因,即使其突變的能力上較前兩者更具彈性,本論文 的研究重點將特別針對此現象加以深入研究與探討,進而提出一個利用群 體智能的引導機制來對其作改良。. nσ. nα. Structure of individuals. Remark. 1. 0. (x1 ,… ,xn ; σ nσ ). Uncorrelated Mutation. n. 0. (x1 ,… ,xn ; σ 1 ,… ,σ nσ ). Uncorrelated Mutation. n. n(n-1)/2. (x1 ,…,xn ; σ1 ,…,σ nσ ; α1 ,…,αnα ). Correlated Mutation. 表 2.3 策略參數設定與其所對應的個體表示法整理. 23.
(33) 2.3 粒子演算法 由於本論文所提出的方法,主要為擷取粒子演算法(Particle Swarm Optimization, PSO)搜尋的概念[10, 11]來對於 ES 中的突變機制加以修改,在 提出本文的方法之前,我們將對 PSO 的基本特性以及其搜尋的主要精神做 描述,對於 PSO 的相關變形以及細節部份在[12]有完整的介紹。 PSO 的概念源自群體行為理論,啟發自觀察鳥群或魚群行動時,能透 過個體間特別的訊息傳遞方式,使整個團體朝預期會有較適合的方向、目 標而去,此概念為模仿生物行為的反應來尋求完成群體最大利益的方法。 PSO 的基本演算模式如下:首先以均勻分佈(uniform distribution)隨機產生初 始粒子群,每一個粒子都可視為所求解問題上的一個潛在解,粒子群會參 考粒子本身的最佳經驗,以及整個群體的最佳經驗,選擇修正其移動方式, 重複不斷地進行修正之後,預期粒子群將會逐漸朝向最佳解前進。PSO 的 主要運算公式可用兩個的式子表示:. t t v t+1 = v t + c1 ⋅ rand1t () ⋅ (x pbest − x t ) + c2 ⋅ rand 2t () ⋅ (xgbest − xt ). x t+1 = x t + v t+1. (1.6) (1.7). 其中 v 為粒子移動的速度, t 為演化的代數, c1 與 c2 為兩個大於零的控制 參數, rand() 為一個介於[0,1]的常態分布隨機變數, x 代表粒子目前在解空. 24.
(34) 間上的位置, x pbest 為粒子本身所達到的最佳解, xgbest 為整群粒子群所找到 的最佳解。依據此公式的計算方式,每一個粒子將會向 x pbest 及 xgbest 合成 向量的方向移動,以增加改善 x 的機會,同時又設計了隨機(stochastic)的 干擾量,以避免掉入局部最佳解(local optimum)。因此,粒子的向量修正原 則是取得鑽探搜尋 (exploitation search)以及探索搜尋 (exploration search)的 平衡,符合現代經驗法則(modern heuristics)之精神。由於實作簡單又具良好 的效能,至今已成為廣為熟知的最佳化技術。 圖 2.8 為粒子演算法中粒子移動行為的示意圖,每個粒子借由參照本身 所達最佳解與群體所達最佳解的位置,決定下一步所前進的方向與移動的 強度,我們若以整個群體的觀點來觀察粒子們移動的行為,會發現粒子群 們在移動的過程中,逐漸地朝向目前所找到的最佳解 pg 的方向再度聚集。 x2 最佳解所在位置 群體找到的最佳解 單一粒子所在位置 粒子移動方向. x1. 圖 2.8 粒子演算法移動示意圖. 25.
(35) 2.4 相關文獻探討 在這一節中,我們將對於近年來與本論文有關聯的相關研究做一個整 理與描述。ES與其他演化演算法不同之處,在於其研究發展完全建立在嚴 密的數值分析與機率理論上,對於其細節部份可參閱[13-19]。 起因於在突變運算上造成的過度隨機所產生的不穩定性,Ostermeier於 1994年提出derandomized approach[20]的想法來增進self-adaptation的效能。 Hansen於1996年引進了evolution path的概念[21],利用過去所經歷過的路 徑,來對於ES中個體下一步的突變機率分佈進行預測,並於2001年發展出 一套completely derandomized approach的方法[22],使用真正作用於目標變 數的變異量來對策略參數進行調整。 Hildebrand於1999年提出了Directed Mutation機制[23],其主要的想法為 利用一個非對稱性的突變機率分佈,使所產生的子代有較高的機率往適合 的方向進行突變。Zhang於2005年結合GA與EDA兩種不同的運算機制,利 用EDA所維持的適當解分布之機率模型中,作為一個全域搜尋的資訊,進 而提出了guided mutation的想法,來引導GA的突變行為。Miranda於2002年 提出了EPSO的方法[24, 25],在EPSO的想法裡,作者主要觀察到ES中的個 體之間,缺乏合作的機制但卻有強大的突變運算(self-adaptation)以及篩選能 力,PSO則是以群體合作的方式進行最佳化,但卻在對控制參數的調整上顯 的 較 為 薄 弱 , 因 而 將 ES 與 PSO 做 結 合 , 其 精 神 為 利 用 ES 領 域 的 Self-Adaptation機制,來對PSO中的所使用到的控制參數做調整。 26.
(36) 2.5 本章總結 在本章節中,我們首先介紹了傳統 ES 的歷史背景以及 ES 中相關的里 程碑。接著說明 ES 的演化機制以及重要組成,其中包括編碼形式、重組、 突變等重要的運算元。本論文中所提出的方法,與 PSO 有直接性的相關, 因此,對於 PSO 的運作機制及其特性做說明。最後的相關研究中,描述了 近年來 ES 的發展,並對與本論文有相關的研究做一概略性的描述。. 27.
(37) 第三章 粒子引導式演化策略 ES 至 1964 年被提出以來,許多改良的方法也陸續地被提出用以增進 ES 的演化效能,本章節將對於我們提出的方法,稱作粒子引導式演化策略 (Particle Swarm Guided Evolution Strategies, PSGES)做一個完整性的介紹。 PSGES 為針對實數問題上,所發展出的一套最佳化演算法,其主要精神為 將傳統的 ES 與目前較新穎的 PSO 做一個本質上及概念上的結合。目的為 擷取 PSO 中群體間資訊流通的機制,賦予 ES 中個體的突變運算達到更有 效率的突變行為。 以下將分節來對我們提出的方法作一個完整性的介紹,我們分成六個 小節討論: z. 第一節裡,我們將先敘述 PSGES 的想法起源,探討突變在搜尋行為上 的限制,並解釋如何加以修改來增進其搜尋效能。. z. 第二節中,說明如何運用 PSO 方向引導的概念與偏向隨機搜尋的突變 行為在方向上做結合。. z. 在第三節裡,我們將介紹一個新的突變機制,稱之為引導式突變(guided mutation),在本節中我們將說明如何修改傳統 ES 中的突變機制,使其 在突變的過程中具有引導的性質,以增進突變的效能。. z. 第四節以一個視覺化的實驗模擬並驗證引導式突變的搜尋效益,並與傳. 28.
(38) 統的突變機制做比較。 z. 第五節我們將引導式突變與傳統 ES 原有的搜尋架構做整合,完整的描 述 PSGES 的運作流程,並討論可能影響其效能的相關因素與組成。. z. 最後以第六節做為本章的總結。. 3.1 想法起源 回溯至 1960 年代,Schwefel 與 Rechenberg 以實驗性的方式作為啟發, 並提出 ES 以來,至今已有許多改良的方法陸續被提出,觀察 ES 的演化行 為,我們發現突變機制為演化策略中造成個體間差異的最主要來源,因此 一個設計良好的突變機制,將直接影響到 ES 的搜尋效能。近年來許多相關 研究皆為針對突變的機制著手[20, 26, 27],以期在突變的過程中更近一步地 增進其搜尋的效能。在我們的研究中,經由觀察傳統突變在搜尋行為上的 現象及其限制,因而提出一種新的突變機制,稱之為引導式突變(guided mutation),在介紹引導式突變之前,首先我們將對於傳統演化策略的突變機 制在搜尋行為上的現象作一番整理。 在傳統 ES 的架構下,策略參數為突變變異量調整的依據,根據不同的 突變行為而採用不同的策略參數設定,經由突變產生多個子代,利用篩選 的機制(Selection Operator)從突變後的子代中挑選一些較適合的解,擁有較 29.
(39) 好適應值的個體將與以保留,並成為下一代的人口。在此架構下,促使群 體往較好方向前進的動力,主要利用篩選機制來達成,在我們提出的引導 式突變的想法中,希望直接在突變的運算上,藉由參考某些啟發性的資訊 來引導個體往預期會有較佳解的方向產生突變,目的為避免將搜尋資源花 費在無效的突變運算上,進而有效的減輕篩選機制在挑選適合個體上的負 擔。 回顧第二章第二節,在關聯式突變的機制下,控制個體突變行為的策 略參數分成兩部份:step-sizes σ 與 rotation angles α 。Step-sizes σ 用來 調整個體向外擴展的突變強度;rotation angles α 則是用來調整個體在搜尋 空間上突變橢圓的旋轉角度,以此來決定個體的突變方向,個體將可達到 最具彈性的突變行為(突變橢圓與座標軸系統獨立的特性)。突變首先作用於 策略參數 σ ,用以調整個體的突變強度,接著再對於策略參數 α 進行突 變以決定個體的突變方向,然而由於參與調整策略參數 nα =n(n-1)/2 與所要 求解問題之維度呈現二次平方項次的成長,在決定個體突變方向上,若以 self-adaptation 機制運作,將不能夠立即且有效地將其做調整,故在突變方 向的決定上仍然存在著諸多不穩定的現象。在目前相關的研究當中,已有 許多理論證明 self-adaptation 在 nσ =1, nα =0 與 nσ =n, nα =0 兩種形式的突變機制 下,能夠有效調整突變強度至適當的強度大小,並對於其收斂的行為做理 論上的分析探討[28-30];然而自動調節機制同時作用於 σ 與 α 兩個部份. 30.
(40) (關連性突變),起因分析及計算上的複雜度,至今仍缺乏有力的理論證明[31, 32]。歸納其原因如下:. 1. 起因於突變的運算機制,為了達到有效自動調節機制同時作用於突變強 度與旋轉角度上,父代的人口數 ( μ ) 也必須要大幅度的增加,對於一個 n 維的問題,μ ≈ n 2 才能在合理的演化世代數中有效地調整旋轉角度至. 適當的值,在一般最常用的設定如 μ=15 , λ=100 的情況下,明顯的不能 達到此要求[9, 33]。. 2. 起因於關聯性突變的運算機制,旋轉角度與突變強度有密切的關連,也 就是說,對於所謂適合的旋轉角度設定將不能夠獨立地被判斷並做調整 [22]。. 3. 篩選機制在挑選適合的策略參數上將會造成錯誤判斷的情況。在關連性 突變下,突變強度與旋轉角度同為可被調整的策略參數,在某些情況 下,若個體有較好的表現,我們不能明確的指出是突變強度有較好的設 定亦或是旋轉角度有較好的設定,篩選機制在策略參數層級的篩選上將 會有高度擾動的情況產生[22]。. 31.
(41) 基於以上所描述的原因,關聯性突變的突變行為與座標軸獨立的優點 也相對的打折扣。我們將重點放在關聯性突變的旋轉角度上,在傳統的作 法裡,對於關聯性突變的旋轉角度設定,主要還是以實驗性所得的經驗法 則[34],利用 5 的角度量來做為高斯分佈的標準差,並對其做隨機的擾動以 決定個體下一步的旋轉角度,此方式須花費大量的計算成本來對於角度做 調整,搜尋的資源將花費在無效的突變行為上。是故,我們可以說關聯性 突變在方向的決定上,仍缺乏一種明顯且有效的機制來促使個體往適合的 方向進行突變。 起因於利用亂數來決定個體突變行為上所造成的不確定,因此有許多 不同的方法被提出以改良突變在方向決定上所造成的不穩定現象,2001 年 Hansen 與 Ostermeier 提出了一種 derandomized 的方法[22],其想法為利用 個體過去演化所經歷過的演化路線(Evolution Path),來預期最有可能發生最 佳解的方向,以此為根據來判定個體下一步可突變的方向與強度,如圖 3.1 所示。 step4 step3 step2 step1 Next mutation ellipse for each dimension of individual. 圖 3.1 演化路徑示意圖. 32.
(42) 在我們的想法中,同樣緣起於 self-adaptation 在大量旋轉角度的策略參 數需做調整的情況下,造成個體突變方向上的不穩定現象,因此在旋轉角 度 α 的調整,我們試圖引入另一種啟發式 (heuristics)的資訊以更具決定性 的方式來對旋轉角度上進行設定,而不以 self-adaptation 的方式來做調整。 此外,在 step-size 的部份,仍然保留使用 self-adaptation 來對其做調整。我 們的作法為對傳統突變機制加以修改,進而設計出一個新的突變機制,稱 之為引導式突變。引導式突變設法在旋轉角度的決定上消除其隨機擾動的 性質,更確切的說,我們希望保留個體的突變橢圓與座標軸獨立的特性, 並以更明確的方向引導資訊,希望在突變的機制下直接促使個體朝向預期 會有較佳解的方向前進。 有鑑於此,我們從傳統 ES 中,利用關聯性突變原有的機制出發,試圖 尋找一種不需人為介入且有效的輔助資訊來引導個體的突變行為,進而增 進 ES 的突變效能。在下一節裡我們將說明如何利用 PSO 之群體智能的引 導觀念,來做為方向引導上的輔助資訊,並說明如何與 ES 在「概念層次」 上做結合。. 33.
(43) 3.2 粒子演算法之引導概念 如上一節所提到,在關聯性突變的機制下,對於旋轉角度上的決定, 起因於亂數隨機地變動,因此個體在突變的行為上缺乏一個明顯的引導機 制來促使群體往較佳解的方向前進,在這一節中,我們將說明如何擷取 PSO 原有的「搜尋概念」 ,作為引導式突變中方向引導的資訊,並解釋如何與 ES 在搜尋行為上做結合。 如第二章第三節所提到,PSO 為近年來興起的一套實數參數最佳化演 算法,與 ES 比較,兩者皆為處理實數參數問題上所發展出來的最佳化方 法,然而其在搜尋行為上卻有顯著的不同。在 PSO 的搜尋行為中,粒子在 解空間上移動的方式相較於 ES 來說,在方向的決定上較具有明確的決定 性。同樣地,我們也可將決定粒子移動的行為分成兩個部分討論,第一為 移動強度的部分,第二為移動方向的部分。我們主要針對 PSO 在移動方向 的部份討論,對於移動強度的探討可參閱[35, 36]。在 PSO 的粒子移動的過 程裡,每一個粒子所前進的方向決定於自身所達的最佳解 pi 與全體所達 到的最佳解 pg ,若以整個群體的觀點來觀察粒子們移動的行為,會發現粒 子群們在移動的行為模式,會逐漸地朝向目前所找到的最佳解 pg 的方向 聚集。值得一提的是,對於一個最佳化的問題上,我們並不知道其真正最 佳解所在的位置,因此在粒子演算法尋找最佳解的「概念」上,我們可視. 34.
(44) pg 的所在位置當作目前最有可能產生最佳解的區域。因此,粒子在移動的. 過程中,依據其計算模型,粒子的移動行為將逐漸地被 ”引導” 至 pg 的 所在的方向。分佈於搜尋空間上的粒子,在此移動的過程中,若搜尋到另 一個比 pg 還要好的解 pg' ,整體粒子群們的行為,則是逐漸朝向 pg' 的 位置聚集,在這種運作模式類似於大部分隨機搜尋的演算法,也就是集中 較大比例的搜尋資源在預期較有可能產生最佳解的區域進行搜尋。以此方 式不斷地重複進行以期搜尋到真正最佳解的所在位置。此在方向上引導粒 子前進的特性為 PSO 中最基本也是最重要的搜尋精神。 在本文提出的 PSGES 裡,主要將粒子移動方式往 pg 聚集的「概念」 與傳統 ES 的突變行為結合,擷取 PSO 裡方向上的引導機制,彌補 ES 中以 亂數決定突變方向所造成的不穩定現象。在下一節中,我們將對於引導式 突變的運作方式與細部流程加以說明,並比較引導式突變與傳統突變在搜 尋行為上的差異。. 3.3 引導式突變 在本節中我們將對於本論文所提出的突變機制,稱之為引導式突變做 說明。綜合 3.1 與 3.2 節所做的描述,引導式突變為基於關聯式突變架構上, 賦予方向引導的另一種突變方式,在突變方向的決定上,模仿了 PSO 中粒 35.
(45) 子移動的「概念」 ,藉由群體合作的資訊來判定預期會有較好的方向,因此 在引導式突變架構下,個體突變不再是獨自地以隨機擾動的方式來決定, 而是在突變的過程中參考群體智能 (Swarm Intelligence)所得的資訊,用以 促使個體往適合方向前進的機制,與傳統突變的主要差異,為引導式突變 在個體演化的行為上,提高機率來突變至預期會有較佳解的區域,個體進 行突變的行為將有效降低突變至無效的搜尋空間上。以下將先說明引導式 突變的運作機制,接著比較引導式突變與傳統突變兩者之間的差異。 對於一個二維平面上的點,我們可利用下列式子求得兩向量的夾角 α=. pg ⋅ a pg × a. (2.1). 其中‘ ⋅ ’為向量內積, a 為目前個體在解空間上的位置, pg 為截至目前為 止群體所找到的最佳解, α g 為個體 a 與目前最佳解 pg 之間的向量夾 角,其中 α g ∈ [ -π , π ] 。對於一個 n 維的問題,兩兩座標軸一對,可利用上 列公式求得 n(n-1)/2 個旋轉角度,並以向量形式 α g 來表示。與關連性突 變不同的是,旋轉角度的決定為在突變的過程中,依據 pg 所在的位置做 立即的調整,個體突變的行為能及時依據群體在解空間中的分布行為來進 行反應,因此可大幅度降低需被調整的策略參數個數,個體 a 的編碼形式 可簡化為 a = (x1 ,… ,xn ; σ 1 ,… ,σ n ) = (x ; σ ) 。. 其中 x1 ,… ,xn 為目標變數, σ 1 ,… ,σ n 為每一個座標軸個別的突變強度。 36.
(46) 引導式突變的行為可細分成下列幾個步驟:. 步驟一:首先針對策略參數 σ 進行突變運算 σ it+1=σ it ⋅ eτ' ⋅N(0,1)+τ ⋅ N (0,1). (2.2). i. 其中 i ∈ 1,… ,n ,τ' ∝ 1/ 2n 與 τ ∝ 1/ 2 n 分別代表全域學習率與區域學習率 [34]。在此步驟中我們保留了傳統演化策略特有的 self-adaptation 來對於突 變強度做調整,因此對 step-size 的突變行為與傳統 ES 的運作機制相同。. 步驟二:計算個體 a 相對於目前最佳解 pg 之間的向量夾角 α g α g = Angle (pg , a). (2.3). 其中 α g = ( α 1 , α 2 ,… , α n(n-1)/2 ), α i ∈ [-π ,π ] , i=1,… ,n(n-1)/2 g. g. g. g. 步驟三:建立引導式旋轉矩陣 M n-1. M=∏. n. ∏M. p=1 q=p+1. 1 2. pq. ( α jg ). (2.4). 其中 j= (2n - p)(p+1)-2n+q [9]。旋轉矩陣 M pq ( α j ) 中,除了 m pp =mqq =cos( α j ) , g. g. m pq = -m pq = -sin( α jg ) 的元素有值之外,其餘形成一個 n × n 的單位矩陣。. 利用由左至右的矩陣乘法可以有效的建立出引導式關聯矩陣。. 步驟四:建立引導式策略向量 Gs = M ⋅ z 37. (2.5).
(47) 其中 z = (z1 ,… ,zn ) , zi ∼ σ i ⋅ N(0, 1) ,為一個平均值為 0,每一個維度以其所對 應的 step-sizes 作為標準差所取樣的高斯分佈隨機變數向量。 M ⋅ z 表示矩陣 相乘 ( Gs 為 n × 1 的向量)。. 步驟五:利用引導式策略向量 Gs ,建立引導式突變向量 Gm (2.6). Gm =Gs ⋅ N(0, 1). 其中 N(0, 1) 代表 n × 1 的向量,向量每一個維度是以平均值為 0,標準差為 1 所取樣的高斯分佈隨機變數 ( Gm 為 n × 1 的向量)。. 步驟六:利用引導式突變向量 Gm ,並對個體的目標變數 x 進行突變運算 (2.7). x' = x + Gm xGbest. Gm =N(0, G s ). σ i =σ i ⋅ eτ' ⋅ N(0,1)+τ ⋅N (0,1) i. Build Guided Strategy Parameter Vector. Mutate mutation strength. Calculate the Rotation Angles αj=. g pq ⋅ a pq g pq × a pq. Gs = M ⋅ N(0, σ ). Mutate Object Variable. Build Guided Rotation Matrix n-1. Build Guided Mutation Vector. x' = x + G m. n. M = ∏ ∏ M pq ( α j ) p=1 q=p+1. 圖 3.2 引導式突變流程圖 經由上列六個步驟,個體的突變橢圓將會轉往 pg 所在的方向,圖 3.2 為引導式突變的流程圖。相對於傳統突變方式以亂數來決定所造成的不穩 38.
(48) 定現象,引導式突變在個體突變行為上,模仿 PSO 中粒子逐漸往目前最佳 解聚集的特性,以此為概念,來引導個體突變的行為有更高的機率朝向預 期會有較佳解的方向前進。圖 3.3 為引導式突變與粒子演算法的示意圖。 傳統的突變方式偏向於單一個體在自己周圍隨機的搜尋,而引導式突變引 進 PSO 的引導觀念,利用群體智能所獲得的資訊,將在突變的效率上能更 有效的突變至預期會有較佳解的方向。圖 3.4 為傳統突變方式與引導式突變 的差異比較。 x2. x2. 最佳解所在位置. 最佳解所在位置 群體找到的最佳解. 群體找到的最佳解. 個體目前所在位置. 單一粒子所在位置. 個體下一步可突變 的範圍. 粒子移動方向. x1. x1. (a). (b). 圖 3.3 引導式突變與粒子移動行為比較。(a) 為粒子演算法粒子下一步移動 行為示意圖,方點為目前為止所找到的最佳解;(b) 引導式突變決定個體下 一步可突變的範圍示意圖。虛線橢圓為傳統的突變橢圓區域,灰色橢圓為 引導式突變的突變橢圓區域。. 39.
(49) x2. x2. σ. σ1. σ2. x1. (a) 單一突變強度的非關聯式突變. x2. x1. (b) n 維突變強度的非關聯式突變. x2 guided information. N(0, β ) β=5. x1. x1. (c) 關聯式突變機制. (d)引導式突變機制. 圖 3.4 傳統突變方式與引導式突變比較. 在引導式突變中,個體突變橢圓與座標軸獨立的優點仍與以保持,確 切地說,我們是以傳統關聯式突變機制作為基礎並加以修改,結合 PSO 的 搜尋「概念」進而發展出新的突變方式。我們保留 ES 中最主要的精神,也 就是利用 self-adaptation 來對於引導式突變的 step-sizes 做調整;對於方向的 40.
(50) 決定上,則是擷取 PSO 中,方向引導的概念機制來做決定。因此,在引導 式突變的行為上,為結合兩種實數參數最佳化方法,利用各自領域的主要 搜尋精神,所發展出另一種有效的突變機制,在下一節裡,我們將以一個 視覺化的角度,來觀察突變運算在被引導的情況下,其突變行為與傳統的 方式的比較。. 3.4 視覺化評估與觀察 為了有效驗證本文所提的引導式突變在搜尋效能上的可行性,這一節 裡,我們以一個視覺化的實驗方式來觀察並比較引導式突變與傳統突變方 式之間的差異。我們分成兩個部分來分析,第一個部分為觀察引導式突變 相較於 n 維突變強度的非關聯式突變與關連性突變的差異;在實驗的第二 個部份,我們觀察放寬旋轉角度限制後,關連性突變其突變橢圓分布行為。 為了觀察上的方便,以及突顯引導式突變在方向決定上與傳統突變方 式的不同,在本實驗的設計中,我們將不使用重組的機制,此外,每一個 個體利用突變機制產生 80 個子代,篩選機制將 80 個子代中擁有最佳適應 值的個體保留。我們以二維的 Sphere Model 作為目標函式,目標函式如公 式(2.8)所示,此為一個最小化的問題,最佳解位在 [0,0]的位置。 n. f(x)=∑ (xi )2 , n=2 i=1. 41. (2.8).
(51) 全部實驗皆以相同的初始條件作為起始環境,以此來觀察突變橢圓的分布 行為,其初始個體的分布行為如圖 3.4 所示。. 150. 100. 50. 0. -50. -100. -150 -150. -100. -50. 0. 50. 100. 150. 圖 3.5 起始環境下個體的分布情形. 3.4.1 引導式突變與傳統突變方式之比較 此實驗的目的主要著重在探討個體突變後子代的分布行為,比較在引 入 PSO 引導機制的概念下,引導式突變與傳統突變方式的差異。圖 3.6、圖 3.7 與圖 3.8 分別為 n 維突變強度的非關聯式突變、關聯式突變與引導式突 變的個體突變橢圓分佈情形。 在圖 3.6 的 n 維突變強度的非關聯式突變下,個體所產生的突變橢圓, 在突變的方向受限於座標軸系統,因此,只能夠朝向與座標軸相依的方向 42.
(52) 做調整,在此突變機制下,主要利用 self-adaptation 來對於 step-sizes 做調整。 在圖 3.7 的關聯式突變中,我們可觀察到其突變橢圓可達到與座標軸獨立的 特性,在方向的決定上,利用 5 的變異量來對旋轉角度做逐步調整, self-adaptation 雖然在某些情況下會調整 rotation angles 往適合的方向旋轉, 然受限於大量旋轉角度需被調整的情況下,篩選機制在策略參數層級造成 的高度不穩定性,在大部分的情況仍會造成旋轉錯誤情形,也就是說在突 變方向的決定上仍存在著高度不確定性的因子,放大了產生無效的突變行 為的機率。圖 3.8 為本文所提的引導式突變的突變橢圓分佈行為,擷取粒子 演算法中方向引導的概念,由圖中可觀察出個體突變橢圓分佈,在突變橢 圓旋轉的方向依據群體相互合作的資訊,來引導個體往預期會有較佳解的 方向,子代的個體將有更高的機率朝向適合的方向進行突變,因此能產生 更有效率的突變行為。. 43.
(53) 150. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -150 -150. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 1. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 3. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 50. 100. 150. -50. 0. 50. 100. 150. 100. 150. Generation 4. 150. -150 -150. 0. Generation 2. 150. -150 -150. -50. 100. 150. -150 -150. Generation 5. -100. -50. 0. 50. Generation 6. 圖 3.6 n 維突變強度的非關聯式突變演化示意圖. 44.
(54) 150. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -150 -150. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 1. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 3. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 50. 100. 150. -50. 0. 50. 100. 150. 100. 150. Generation 4. 150. -150 -150. 0. Generation 2. 150. -150 -150. -50. 100. 150. -150 -150. Generation 5. -100. -50. 0. 50. Generation 6. 圖 3.7 關聯式突變演化示意圖. 45.
(55) 150. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -150 -150. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 1. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 3. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 50. 100. 150. -50. 0. 50. 100. 150. 100. 150. Generation 4. 150. -150 -150. 0. Generation 2. 150. -150 -150. -50. 100. 150. -150 -150. Generation 5. -100. -50. 0. 50. Generation 6. 圖 3.8 引導式突變演化示意圖. 46.
(56) 3.4.2 引導式突變與關聯式突變分析 在視覺化觀察的第二部份,我們對於關聯式突變在 rotation angles 的改 變量(change rate)做探討。此實驗的觀察重點,在於觀察放大關聯性突變中, rotation angles 的學習率 β 值,對於個體的突變行為所造成的影響。一方 面,我們希望在 rotation angles 的改變量 (Change rate)越大越好,其原因是 可以在一次突變的行為中可達到較大的改變,並且以較短的時間來對於 rotation angles 做調整;然而另一方面,起因於篩選機制在策略參數層級的 挑選限制,rotation angles 的改變量必須有一個上限,否則對於所挑選的個 體 將 不 能 依 存 在 有 效 的 資 訊 上 而 造 成 隨 機 改 變 的 行 為 (Stochastic behavior)。在這個實驗中,我們放寬其對於 rotation angles 的限制,我們設 定 β 值為 20 度與 360 度,並觀察其演化的行為,圖 3.9 為 β =20 的關聯式突 變,圖 3.10 為 β =36 0 的關連性突變。在 β =20 的情況下,個體在單一一次突 變的旋轉角度變異量可有 20 的改變,在 β =36 0 的情況下,個體在單一一次 突變的旋轉角度變異量可有 36 0 的改變,也就是可在一次突變中,即可朝任 意方向旋轉。 由實驗圖中可發現,即使放寬了單一一次的突變行為對於其旋轉角度 上的限制,具有引導式的突變仍然較 β =20 與 β =36 0 的關聯式突變來的 有效率,主要的原因是引導式突變雖然單一一次的突變中放大了旋轉角度. 47.
(57) 的改變量,但其旋轉角度的決定依存在明確的引導資訊上,因此可同時實 現在旋轉角度的改變量大並以較短的時間來對於旋轉角度做調整,而又不 會有在方向上隨機改變的行為產生。. 48.
(58) 150. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -150 -150. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 1. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 3. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 50. 100. 150. -50. 0. 50. 100. 150. 100. 150. Generation 4. 150. -150 -150. 0. Generation 2. 150. -150 -150. -50. 100. 150. -150 -150. Generation 5. -100. -50. 0. 50. Generation 6. 圖 3.9 關聯式突變 ( β =20 ) 演化示意圖. 49.
(59) 150. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -150 -150. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 1. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 100. 150. -150 -150. -100. Generation 3. 150. 100. 100. 50. 50. 0. 0. -50. -50. -100. -100. -100. -50. 0. 50. 50. 100. 150. -50. 0. 50. 100. 150. 100. 150. Generation 4. 150. -150 -150. 0. Generation 2. 150. -150 -150. -50. 100. 150. -150 -150. Generation 5. -100. -50. 0. 50. Generation 6. 圖 3.10 關聯式突變 ( β =36 0 ) 演化示意圖. 50.
(60) 3.5 引導式演化策略 本論文的主要重點為藉由 PSO 中的引導觀念,與傳統 ES 做結合,進 而期望在求解問題的效率上能達到效能提升的效果。為了達到此目的,我 們特別針對突變運算做改良,並設計了引導式突變的機制。PSGES 主要是 將傳統 ES 的突變機制以引導式突變來取代,演化的流程有些許的更動,以 下將針對 PSGES 的運作機制加以說明。 不同於傳統 ES 單點各自搜尋的方式,PSGES 為一個利用群體合作的 觀念來引導整個群體往預期較有可能產生適合解的方向移動,因此一個族 群 式 (Population Based) 的 演 化 方 式 為 必 需 的 條 件 。 排 除 了 (1+1)-ES 與 (1+λ )-ES 兩種演化方式,我們所採取的是 ( μ , λ )-ES 來做為 PSGES 的基本架. 構。單一個體 I 的表示法分成目標變數 x 與 策略參數 σ 兩個部份 I = (x; σ ) = (x1 ,… ,xn ; σ 1 ,… ,σ n ). 除此之外,對於旋轉角度 α 的部分,由於是在演化的過程依據群體分佈的資 訊即時取的,因此在個體的表示法中可予以省略。 在最佳化的程序開始前,我們首先要對父代的群體產生起始化 P(0)={a1 (0),… ,aμ (0)}. 初始化的方式與傳統 ES 相同,起始點的位置可由使用者設定,對於一些有 明顯條件限制的問題來說,起始點的位置可在合理區域範圍(feasible region). 51.
(61) 內以 n 維的常態機率分佈 (Uniform Probability Distribution)隨機取得。給定 一個目標函式 (Object Function),對於父代的個體計算其適應值 (Fitness Value). f(a)=φ (x). (2.9). 模仿 PSO 的運作模式,我們將擁有最佳適應值的個體 g 記錄下來,並以 此點作為全域性引導的資訊。接著重複進行下列步驟直到中止條件達成為 止. 步驟一:利用重組運算產生 λ 個子代個體,。 步驟二:參考 pg 所在位置,對 λ 個子代個體進行引導式突變。 步驟三:計算 λ 個子代個體的適應值並予以排列,取得擁有最佳適 應值的個體 g' 。 步驟四:若 pg' 優於 pg ,則將 pg 替換成 pg' ,否則 pg 予以保留。 步驟五:利用篩選機制挑選擁有最佳適應值的 μ 個個體做為下一代 的父代人口群。 步驟六:若符合終止條件則停止最佳化過程,否則重複步驟一到五。. 52.
(62) 圖 3.11 為 PSGES 的概念示意圖,在 PSGES 的運作概念上,傳統 ES 所扮演的角色較偏向於單點的隨機區域搜尋,PSO 全域性最佳解引導的特 性,在 PSGES 中則扮演著偏向全域性搜尋的角色。結合了傳統 ES 中偏向 於區域搜尋的機制與 PSO 裡整體最佳解的全域性搜尋機制,在 PSGES 的演 化方式中,我們直接藉由將個體的突變橢圓轉向全域性最佳解的方向來達 成。因此,在決定個體 step-sizes 部份,利用傳統 ES 中的 self-adaptation 的 機制,將能有效的調節突變的強度並有利於區域搜尋的效能提升;在個體 突變的方向部份,個體所突變後的子代,相較於傳統 ES 來說,將有更高的 機率朝向預期會有較佳解的方向前進,此舉將有利於全域性的搜尋。整體 來說,對於個體突變的行為上,不再是單點隨機搜尋,而是參與了群體合 作的資訊,更近一步說,我們直接將 PSO 引導的觀念,利用在突變方向上 的引導來達成。圖 3.12 為引導式突變的流程圖。. 53.
(63) 引導式演化策略. 區域性單點搜尋. 全域性整體引導. 傳統演化策略. 粒子演算法. 圖 3.11 PSGES 概念示意圖. 54. 引導式突變.
數據
+7
相關文件
被賦予「算聖」之稱的關孝和,是和算史上最傑出的數學家之一,和算自他開始進入
2-1 化學實驗操作程序的認識 探究能力-問題解決 計劃與執行 2-2 化學實驗數據的解釋 探究能力-問題解決 分析與發現 2-3 化學實驗結果的推論與分析
在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研
在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研
並以較淺易的方式進行評估,為學生建立學習成就感。整體而言,大多數政治演變的課題,會以概覽式課題的方法處理,即教師
對任何input x, A’ 利用A, 先執行 個steps. 如 果這時候A accept x了, A’就accept x. 如果A還沒 accept x, A’就reject x. .
W ing )教授在美國電腦權 威期刊《 C ommunications of the
2 System modeling and problem formulation 8 3 Adaptive Minimum Variance Control of T-S Fuzzy Model 12 3.1 Stability of Stochastic T-S Fuzzy