第九章  基因演算法則.

Slides:



Advertisements
Similar presentations
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Advertisements

本章結構 前言 符號介紹與立透法則 指數機率分配 基本無限來源模式 基本有限來源模式 等候系統的經濟分析-最佳化 進階等候模式 16-1.
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
第二章 太陽能電池的基本原理 及其結構 2-1 太陽能電池的基本原理 2-2 太陽能電池的基本結構 2-3 太陽能電池的製作.
Advanced Chemical Engineering Thermodynamics
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
1 Advanced Chemical Engineering Thermodynamics Appendix BK The Generalized van der Waals Partition Function.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
第 4 章 迴歸的同步推論與其他主題.
第一章 信號與系統初論 信號的簡介與DSP的處理方式。 系統特性與穩定性的判定方法。 以MATLAB驗證系統的線性、非時變、因果等特性。
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
第一章 演算法:效率、分析與量級 1.1演算法 1.2發展有效率演算法的重要性 1.3演算法的分析 1.4量級(Order)
2009fallStat_samplec.i.1 Chap10 Sampling distribution (review) 樣本必須是隨機樣本 (random sample) ,才能代表母體 Sample mean 是一隨機變數,隨著每一次抽出來的 樣本值不同,它的值也不同,但會有規律性 為了要知道估計的精確性,必需要知道樣本平均數.
具備人臉追蹤與辨識功能的一個 智慧型數位監視系統 系統架構 在巡邏模式中 ,攝影機會左右來回巡視,並 利用動態膚色偵測得知是否有移動膚色物體, 若有移動的膚色物體則進入到追蹤模式,反之 則繼續巡視。
© The McGraw-Hill Companies, Inc., 2008 第 6 章 製造流程的選擇與設計.
1 第四章 多變數函數的微分學 § 4.1 偏導數定義 定義 極限值 ■. 2 定理 極限值的基本定理 (1) 極限值的唯一性 : 若 存在,則 其值必為唯一。 (2) 若 且 ( 與 為常數 ) , 則 且 為常數且.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology MATLAB 操作與 系統動態模擬 SIMULINK 李達生.
7.1 背景介紹 7.2 多解析度擴展 7.3 一維小波轉換 7.4 快速小波轉換 7.5 二維小波轉換 7.6 小波封包
選舉制度、政府結構與政 黨體系 Cox (1997) Electoral institutions, cleavage strucuters, and the number of parties.
CH 15- 元件可靠度之驗證  驗證方法  指數模式之可靠度驗證  韋式模式之可靠度驗證  對數常態模式之可靠度驗證  失效數為零時之可靠度估算  各種失效模式之應用.
Fugacity Coefficient and Fugacity
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
觀測量的權 權的觀念與計算.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
: Expect the Expected ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11427: Expect the Expected 解題者:李重儀 解題日期: 2008 年 9 月 21 日 題意:玩一種遊戲 (a game.
Chapter 3 Entropy : An Additional Balance Equation
1 第七章 植基於可調整式量化表及離散餘 弦轉換之浮水印技術. 2 Outlines 介紹 介紹 灰階浮水印藏入 灰階浮水印藏入 灰階浮水印取回 灰階浮水印取回 實驗結果 實驗結果.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
介紹不同坐標系之間的轉換 以LS平差方式求解坐標轉換參數
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
演算法課程 (Algorithms) 國立聯合大學 資訊管理學系 陳士杰老師 Course 7 貪婪法則 Greedy Approach.
JAVA 程式設計與資料結構 第十六章 Hash Tables. Introduction Hash Tables 結構為一個 Array ,稱之為 Bucket array 。 如果想要新增一個物件,要根據這個物件的特性 將其加入 Hash Table 內。 Bucket Array 用 A 來代替,其.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1/17 A Study on Separation between Acoustic Models and Its Application Author : Yu Tsao, Jinyu Li, Chin-Hui Lee Professor : 陳嘉平 Reporter : 許峰閤.
2005/7 Linear system-1 The Linear Equation System and Eliminations.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
冷凍空調自動控制 - 系統性能分析 李達生. Focusing here … 概論 自動控制理論發展 自控系統設計實例 Laplace Transform 冷凍空調自動控制 控制系統範例 控制元件作動原理 控制系統除錯 自動控制理論 系統穩定度分析 系統性能分析 PID Controller 自動控制實務.
連續隨機變數 連續變數:時間、分數、重量、……
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
: Wine trading in Gergovia ★★☆☆☆ 題組: Contest Volumes with Online Judge 題號: 11054: Wine trading in Gergovia 解題者:劉洙愷 解題日期: 2008 年 2 月 29 日 題意:在 Gergovia.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
財務管理概論 劉亞秋‧薛立言 合著 (東華書局, 2007)
幼兒行為觀察與記錄 第八章 事件取樣法.
CH 14-可靠度工程之數學基礎 探討重點 失效時間之機率分配 指數模式之可靠度工程.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

第九章  基因演算法則

9.1 引言 最佳化的設計法則可分為兩類: (1) 第一類是特定型最佳化法則: 由於是針對某些特定的函數特性所發展出來,因此目標函數 (object function) 必須滿足某些特性,如線性、非時變、可微分等,微分法及梯度法屬於此類。 (2) 第二類是廣義型最佳化法則: 不論目標函數的特性為何,皆不用修改設計法則,隨機搜尋及基因演算法則皆屬此類。 基因演算法則的搜尋速度比隨機搜尋更有效率;而就系統效能而言,特定型最佳化法則效率較高但僅能處理特定系統;廣義型最佳化法則的應用範圍較廣但效率較低。

9.2 基因演算法則 基因演算法則的基本理論是由 Holland 於 1975 年首先提倡,是基於自然選擇過程的一種最佳化搜尋機構。 9.2 基因演算法則 基因演算法則的基本理論是由 Holland 於 1975 年首先提倡,是基於自然選擇過程的一種最佳化搜尋機構。 其基本精神在於仿效生物界中物競天擇、優勝劣敗的自然進化法則。 基因演算法則的三個主要運算子為複製 (reproduction)、交配 (crossover)、以及突變 (mutation)。 應用基因演算法則來解最佳化問題的基本精神為:將所要搜尋的所有參數編碼成稱為染色體 (chromosonl)的離散 (discrete) 或二元 (binary) 字串 (string) 來代表參數的值;如此隨機地重覆產生N個初始物種(字串),然後依據求解之條件來設計適應函數 (fitness function),適應函數值高的物種將被挑選至交配池 (mating pool) 中,此即複製過程,再依交配及突變過程的運算,即完成一代的基因演算法則,如此重覆下去以產生適應性最強的物種 。

圖9.1:基因演算法之演化流程圖。

複製 (reproduction) (1) 複製是依據每一物種的適應程度來決定其在下一子代中應被淘汰或複製的個數多寡的一種運算過程,其中適應程度的量測則是由適應函數來反應。 (a) 輪盤式選擇: 在每一代的演化過程中,首先依每個物種(字串)的適應函數值的大小來分割輪盤上的位置,適應函數值越大則在輪盤上佔有的面積也越大,每個物種在輪盤上所佔有的面積比例也就代表其被挑選至交配池的機率;然後隨機地選取輪盤上的一點,其所對應的物種即被選中送至交配池中。 (b)競爭式選擇:在每一代的演化過程中,首先隨機地選取兩個或更多個物種(字串),具有最大適應函數值的物種即被選中送至交配池中。 由於競爭式選擇所需的計算量較少、且可以藉由一次選取物種個數的多寡來控制競爭的速度,因此我們建議採用競爭式選擇。

交配 (crossover) (1) 交配過程是隨機地選取交配池中的兩個母代物種字串,並且彼此交換位元資訊,進而組成另外兩個新的物種。 交配過程發生的機率由交配機率所控制。 而交配過程有三種型式:(a)單點交配、(b)兩點交配、及(c)字罩交配。

(a) 單點交配 在所選出的兩字串中,隨機地選取一交配點,並交換兩字串中此交配點後的所有位元。 圖9.2:單點交配過程示意圖。

(b) 兩點交配 在所選出的兩字串中,隨機地選取兩個交配點,並交換兩字串中兩個交配點間的所有位元。 圖9.3:兩點交配過程示意圖。

(c) 字罩交配 首先產生與物種字串長度相同的字罩當作交配時的位元指標器,其中字罩是隨機地由 0 與 1 所組成,字罩中為 1 的位元即是兩物種字串彼此交換位元資訊的位置。 圖9.4:字罩交配過程示意圖。

突變 (mutation) 圖9.5:單點突變過程示意圖。 突變過程是隨機地選取一物種字串並且,隨機地選取突變點,然後改變物種字串裡的位元資訊。 突變過程發生的機率由突變機率所控制。 突變過程可以針對單一位元、或對整個字串進行突變運算、或以字罩突變方式為之。 對於二進制的位元字串而言就是將字串中的 0 變成 1, 1 變成 0。 圖9.5:單點突變過程示意圖。

範例9.1:手算範例 (1) 假設所處理的函數是 f(x)=x2,為了說明方便起見,我們將變數 x 的範圍限制在,希望能找到在限制範圍內的函數最大值,我們選定以五個位元來編碼變數 x,並將交配機率設定為 1.0 ,突變機率設定為 0.1, 步驟一、產生初始族群:我們設定族群數目的大小為 4,隨機地產生如表9.1所示四個字串: 字串編號 1 01110 14 2 11000 24 3 10001 17 4 00111 7

範例9.1:手算範例 (2) 步驟二、複製過程:由於我們所要最佳化的函數是單調遞增的,所以我們可以直接以此函數當做為適應函數 步驟三、交配過程 : 在初始族群中的第一個字串被複製一個至交配池中,第二個字串被複製二個至交配池中,第三個字串被複製一個至交配池中,第四個字串則被淘汰,我們投擲兩個公平的硬幣以決定交配池中的字串應如何配對,結果如表9.3所示,交配池中的第一個字串與第二個字串交配,第三個字串與第四個字串交配;而交配點的選擇也是以投擲兩個公平的硬幣來作決定,結果如表9.3所示。 x f(x) 複製個數 14 196 0.18 0.71 1 24 576 0.52 2.07 2 17 289 0.26 1.04 7 49 0.04

範例9.1:手算範例 (3) 步驟四、突變過程:突變過程的作法是將字串中的基因隨機地由 0 變 1 或由 1 變 0,由於我們設定的突變機率為 0.1,而族群中的基因總數為族群大小乘上每個字串的編碼位元數,也就是 4  5 = 20,因此,族群中將被突變的基因總數為 20  0.1 = 2,亦即,有兩個基因將被突變。我們隨機地挑選一個字串中的一個基因來作突變,舉例來說,我們突變第一個字串中的第三個基因,則: 突變前:01000 突變後:01100 步驟五、終止搜尋 :判斷目前的最佳適應涵數值是否以達所須要的標準,若是,則終止搜尋;若否,則回到步驟二,以進行下一代的演化。 交配池 配對 交配點 下一子代 x f(x) 01110 2 01000 8 64 11000 1 11110 30 900 4 11001 25 625 10001 3 10000 16 256

9.3 基因演算法則之主要特性 基因演算法則是以參數集合之編碼進行運算而不是參數本身,因此可以跳脫搜尋空間分析上的限制。 9.3 基因演算法則之主要特性 基因演算法則是以參數集合之編碼進行運算而不是參數本身,因此可以跳脫搜尋空間分析上的限制。 基因演算法則同時考慮搜尋空間上多個點而不是單一個點,因此可以較快地獲得整體最佳解 (global optimum),同時也可以避免陷入區域最佳值 (local optimum)的機會,此項特性是基因演算法則的最大優點。 基因演算法則只使用適應函數的資訊而不需要其它輔助的資訊(例如梯度),因此可以使用各種型態的適應函數,並可節省計算機資源避免繁複的數學運算。 基因演算法則使用機率規則方式去引導搜尋方向,而不是用明確的規則,因此較能符合各種不同類型的最佳化問題。

9.4 基因演算法則之細部探討 (1) 參數設定 : (1)編碼範圍 , (2)字串長度 , (3)族群大小 , (4)交配機率 , (5)突變機率 , (6)適應函數之設計 編碼及解碼過程 :假設受控系統中有三個參數要編碼,三個參數值均界於 [0,1] 之間,且每個參數使用五個位元加以編碼,則二進制字串編碼流程如下: 隨機設定三個變數值於 [0,1] ,假設: 則編碼為: 最後的字串為: 00001 00010 00100. 而解碼流程則以反對順序即可完成。

9.4 基因演算法則之細部探討 (2) 字串長度 : 長度越長則精準度越高,但所須的編碼、解碼運算也相對增加。 9.4 基因演算法則之細部探討 (2) 字串長度 : 長度越長則精準度越高,但所須的編碼、解碼運算也相對增加。 交配機率 : 交配率越高,則新物種進入族群的速度越快,整個搜尋最佳值的速度也越快。 突變機率 : 突變是一項必須的運算過程,因為在複製及交配過程中可能使得整個族群裡,所有字串中的某一特定位元皆一樣。 避免陷入區域最佳值 : ;須視所搜尋空間的維度及參數範圍大小與編碼時所採用的精確度(字串長度)一起考量。 適應函數之設計原則 : 原則上,適應函數須能反應出不同物種間適應程度的差異即可 。 搜尋終止之條件 : 對於某些線上即時系統而言;為了結省時間,當適應函數值到達系統要求後即可終止搜尋程序。

9.5 適應函數的調整 (1) 有可能在前面幾次演化過程中,已出現一些表現特別優良的染色體,根據複 製的原理,這些特別優良的染色體會被大量地複製於交配池中,導致染色體的多樣性 (diversity)降低。 有可能在經過許多代的演化以後,交配池中的染色體種類仍然有很多種,整體的平均適應值與交配池中表現最好的適應值,相差不大,因此,根據複製的表現,這個表現最好的染色體,並不會有大量的子代被複製於交配池中。 為了避免上述兩種現象,適應函數的調整變得頗為重要,目前較常使用的適應函數調整法有以下三種:線性調整(Linear scaling) 、Sigma截取(Sigma truncation) 、乘冪調整(Power law scaling)

線性調整 (Linear scaling) 我們將適應函數值依照下列線性方程式予以轉換: 我們選擇參數 a 與 b 使得: 其中是調整後最大適應函數值與調整前的平均適應函數值的倍數。 圖9.6:適應函數值的調整示意圖。

Sigma截取 and 乘冪調整 Sigma截取 : Forrest 建議使用族群適應函數值的變異數資訊,在做適應函數的調整前先予以前處理。其作法是將調整前的適應函數值依下列式子減去一常數值: 其中參數 c 的選擇是族群適應函數值的變異數的一個倍數。「Sigma截取」可以避免調整過後的適應函數值會產生負值。 乘冪調整: Gillies 建議使用乘冪的方式來調整適應函數值,使得調整過後的適應函數值是調整前的適應函數值的乘冪,如下所示:

9.7 實數型基因演算法則 (1) 基因演算法則在編碼及解碼的運算上相當地耗時,尤其是當目標函數參數增多時,編碼及解碼所需的浮點數運算將嚴重地減緩搜尋程式的執行速度。 而且編碼時所使用的字串長度若不夠,將可能使基因演算法則雖然搜尋到系統整體最佳值出現的區域,但由於準確度不足的關係,只能搜尋到整體最佳值的附近而無法真正搜尋到整體最佳值。 除此之外,大部份自然界中的最佳化問題的參數型式皆為實數參數,因此我們最好是直接以實數參數來運算,而不是透過離散式的編碼型式。 直接以實數運算的好處是,不但可以免去做編碼及解碼運算,而且可以提高系統準確度。

9.7 實數型基因演算法則 (2) 實數型的基因演算法則之基本精神如下: 9.7 實數型基因演算法則 (2) 實數型的基因演算法則之基本精神如下: 物種型式 : 物種是由所處理的最佳化問題之參數所組成的向量;染色體的表現方法,就是以 x=(x1, x2, …, xp) 的形式出現至交配池中。 實數型的複製過程 : 將所要複製的物種,一部份採用完全複製;其餘部份則加入微量的雜訊。 圖9.11:「炸彈效應」示意圖。

9.7 實數型基因演算法則 (3) 實數型的交配過程 : 交配的過程會使得兩個物種之間的距離變得更近或更遠。  是隨機選取的微量正實數。 9.7 實數型基因演算法則 (3) 實數型的交配過程 : 交配的過程會使得兩個物種之間的距離變得更近或更遠。  是隨機選取的微量正實數。 圖9.12:交配過程所造成物種移轉的情形。

9.7 實數型基因演算法則 (4) 實數型的突變過程 : 突變過程為隨機選取一個物種,並且加入微量或較大量的雜訊即可;但所加入的雜訊必須使新的字串仍然保留在所定的參數範圍中。 其中 s 控制所加入雜訊之大小。 圖9.13:突變過程所造成物種移轉的情形。

範例9.4:模糊控制器的設計 (1) 我們希望能夠設計一控制器,使得倒車入庫能以自動化方式完成,目地是要將電腦模擬車順利地停入所指定的位置 圖9.14:模擬之倒車入庫系統示意圖。

範例9.4:模糊控制器的設計 (2) 實際收集了26個成功的範例來讓網路學習。其中實數型基因演算法則的參數設定為:族群大小:2000 , 交配機率:0.6 , 突變基率:0.0333 。 圖9.15:以初始狀態=(0,30)、(15,120)、以及(12.5,30)時, 模型車倒車入庫的軌跡圖。 圖9.16:以初始狀態=(3.5,35)、以及(12.5,125)時, 模型車倒車入庫的軌跡圖。