版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
計算智能是信息科學、生命科學、認知科學等不同學科相互交叉的產(chǎn)物。它主要借鑒仿生學的思想,基于人們對生物體智能機理的認識,采用數(shù)值計算的方法去模擬和實現(xiàn)人類的智能。計算智能主要研究領域包括:神經(jīng)計算、進化計算、模糊計算、免疫計算、DNA計算、粗糙集等。
2.1概述
2.1.1什么是計算智能
2.1.2計算智能的產(chǎn)生與發(fā)展
2.1.3計算智能與人工智能的關系
2.2進化計算第2講計算智能之進化計算1計算智能是信息科學、生命科學、認知科學等不同學科相2.1.1什么是計算智能
概念解釋
計算智能(ComputationalIntelligence,CI)目前還沒有一個統(tǒng)一的的定義,使用較多的是美國科學家貝慈德克(J.C.Bezdek)從計算智能系統(tǒng)角度所給出的定義。從計算智能系統(tǒng)角度如果一個系統(tǒng)僅處理低層的數(shù)值數(shù)據(jù),含有模式識別部件,沒有使用人工智能意義上的知識,且具有計算適應性、計算容錯力、接近人的計算速度和近似于人的誤差率這4個特性,則它是計算智能的。從學科范疇看計算智能是在神經(jīng)網(wǎng)絡(NeuralNetworks,NN)、進化計算(EvolutionaryComputation,EC)及模糊系統(tǒng)(FuzzySystem,FS)這3個領域發(fā)展相對成熟的基礎上形成的一個統(tǒng)一的學科概念。22.1.1什么是計算智能
概念解釋計算智能(Com2.1.1什么是計算智能
研究領域神經(jīng)網(wǎng)絡
是一種對人類智能的結構模擬方法,它是通過對大量人工神經(jīng)元的廣泛并行互聯(lián),構造人工神經(jīng)網(wǎng)絡系統(tǒng)去模擬生物神經(jīng)系統(tǒng)的智能機理的。進化計算
是一種對人類智能的演化模擬方法,它是通過對生物遺傳和演化過程的認識,用進化算法去模擬人類智能的進化規(guī)律的。模糊計算
是一種對人類智能的邏輯模擬方法,它是通過對人類處理模糊現(xiàn)象的認知能力的認識,用模糊邏輯去模擬人類的智能行為的。綜合解釋從貝慈德克的定義和上述學科范疇可以看出以下兩點:第一,計算智能是借鑒仿生學的思想,基于生物神經(jīng)系統(tǒng)的結構、進化和認知對自然智能進行模擬的。第二,計算智能是一種以模型(計算模型、數(shù)學模型)為基礎,以分布、并行計算為特征的自然智能模擬方法。
32.1.1什么是計算智能
研究領域神經(jīng)網(wǎng)絡32.1.2計算智能的產(chǎn)生與發(fā)展
1992年,貝慈德克在《ApproximateReasoning》學報上首次提出了“計算智能”的概念。
1994年6月底到7月初,IEEE在美國佛羅里達州的奧蘭多市召開了首屆國際計算智能大會(簡稱WCCI’94)。會議第一次將神經(jīng)網(wǎng)絡、進化計算和模糊系統(tǒng)這三個領域合并在一起,形成了“計算智能”這個統(tǒng)一的學科范疇。在此之后,WCCI大會就成了IEEE的一個系列性學術會議,開始是4年舉辦一次,現(xiàn)在是每2年舉辦一次。1998年5月,在美國阿拉斯加州的安克雷奇市又召開了第2屆計算智能國際會議WCCI’98。2002年5月,在美國夏威夷州首府火奴魯魯市又召開了第3屆計算智能國際會議WCCI’02。WCCI’2014在北京召開。此外,IEEE還出版了一些與計算智能有關的刊物:IEEETrans.NeuralNetworks,IEEETrans.FuzzySystems,IEEETrans.EvolutionaryComputation。目前,計算智能已成為智能科學技術一個重要的研究領域。42.1.2計算智能的產(chǎn)生與發(fā)展1992年,貝慈德2.1.3計算智能與人工智能的關系
目前,對計算智能與人工智能的關系有2種觀點,一種認為計算智能是人工智能的一個子集,另一種認為計算智能和人工智能是不同的范疇。第一種觀點的代表人物是貝慈德克。他把智能(Intelligence,I)和神經(jīng)網(wǎng)絡(NeuralNetwork,NN)都分為計算的(Computational,C)、人工的(Artificial,A)和生物的(Biological,B)3個層次,并以模式識別(PR)為例,給出了下圖所示的智能的層次結構。在該圖中,底層是計算智能(CI),它通過數(shù)值計算來實現(xiàn),其基礎是CNN;中間層是人工智能(AI),它通過人造的符號系統(tǒng)實現(xiàn),其基礎是ANN;頂層是生物智能(BI),它通過生物神經(jīng)系統(tǒng)來實現(xiàn),其基礎是BNN。按照貝慈德克的觀點,CNN是指按生物激勵模型構造的NN,ANN是指CNN+知識,BNN是指人腦,即ANN包含了CNN,BNN又包含了ANN。對智能也一樣,貝慈德克認為AI包含了CI,BI又包含了AI,即計算智能是人工智能的一個子集。52.1.3計算智能與人工智能的關系目前,對計算智能CNNCPRCIANNAPRAIBNNBPRBI人類知識(+)傳感輸入知識(+)傳感數(shù)據(jù)計算(+)傳感器B~生物的A~符號的C~數(shù)值的復雜性復雜性輸入層次
貝慈德克的智能的3個層次2.1.3計算智能與人工智能的關系6CNNCPRCIANNAPRAIBNNBPRBI人類知識知識
第二種觀點是大多數(shù)學者所持有的觀點,其代表人物是艾伯哈特(R.C.Eberhart)。他們認為:雖然人工智能與計算智能之間有重合,但計算智能是一個全新的學科領域,無論是生物智能還是機器智能,計算智能都是其最核心的部分,而人工智能則是外層。事實上,CI和傳統(tǒng)的AI只是智能的兩個不同層次,各自都有自身的優(yōu)勢和局限性,相互之間只應該互補,而不能取代。大量實踐證明,只有把AI和CI很好地結合起來,才能更好地模擬人類智能,才是智能科學技術發(fā)展的正確方向。2.1.3計算智能與人工智能的關系7第二種觀點是大多數(shù)學者所持有的觀點,其代表人物是艾伯
2.1概述
2.2進化計算
2.2.1進化計算概述
2.3.2遺傳算法第2講計算智能之進化計算82.1概述第2講計算智能之進化計算8
進化計算(EvolutionaryComputation,EC)是在達爾文(Darwin)的進化論和孟德爾(Mendel)的遺傳變異理論的基礎上產(chǎn)生的一種在基因和種群層次上模擬自然界生物進化過程與機制的問題求解技術。它主要包括遺傳算法(GeneticAlgorithm,GA)進化策略(EvolutionaryStrategy,ES)進化規(guī)劃(EvolutionaryProgramming,EP)遺傳規(guī)劃(GeneticProgramming,GP)四大分支。其中,第一個分支是進化計算中最初形成的一種具有普遍影響的模擬進化優(yōu)化算法。因此我們主要討論遺傳算法。2.2進化計算9進化計算(EvolutionaryComputat
進化計算是一種模擬自然界生物進化過程與機制進行問題求解的自組織、自適應的隨機搜索技術。它以達爾文進化論的“物竟天擇、適者生存”作為算法的進化規(guī)則,并結合孟德爾的遺傳變異理論,將生物進化過程中的繁殖(Reproduction)變異(Mutation)競爭(Competition)選擇(Selection)引入到了算法中。2.2.1進化計算概述1.進化計算及其生物學基礎(1/3)(1)什么是進化計算10進化計算是一種模擬自然界生物進化過程與機制進行問題(2)進化計算的生物學基礎
自然界生物進化過程是進化計算的生物學基礎,它主要包括遺傳(Heredity)、變異(Mutation)和進化(Evolution)理論。
①遺傳理論
遺傳是指父代(或親代)利用遺傳基因?qū)⒆陨淼幕蛐畔鬟f給下一代(或子代),使子代能夠繼承其父代的特征或性狀的這種生命現(xiàn)象。在自然界,構成生物基本結構與功能的單位是細胞(Cell)。細胞中含有一種包含著所有遺傳信息的復雜而又微小的絲狀化合物,人們稱其為染色體(Chromosome)。在染色體中,遺傳信息由基因(Gene)所組成,基因決定著生物的性狀,是遺傳的基本單位。染色體的形狀是一種雙螺旋結構,構成染色體的主要物質(zhì)叫做脫氧核糖核酸(DNA),每個基因都在DNA長鏈中占有一定的位置。一個細胞中的所有染色體所攜帶的遺傳信息的全體稱為一個基因組。2.2.1進化計算概述1.進化計算及其生物學基礎(2/3)11(2)進化計算的生物學基礎2.2.1進化計算概述11②變異理論
變異是指子代和父代之間,以及子代的各個不同個體之間產(chǎn)生差異的現(xiàn)象。變異是一種隨機、不可逆現(xiàn)象,是生物多樣性的基礎。
引起變異的主要原因:雜交,是指有性生殖生物在繁殖下一代時兩個同源染色體之間的交配重組。復制差錯,是指在細胞復制過程中因DNA上某些基因結構的隨機改變而產(chǎn)生出新的染色體。
③進化論
進化是指在生物延續(xù)生存過程中,逐漸適應其生存環(huán)境,使得其品質(zhì)不斷得到改良的這種生命現(xiàn)象。遺傳和變異是生物進化的兩種基本現(xiàn)象,優(yōu)勝劣汰、適者生存是生物進化的基本規(guī)律。
達爾文的自然選擇學說:在生物進化中,一種基因有可能發(fā)生變異而產(chǎn)生出另一種新的基因。這種新基因?qū)⒁罁?jù)其與生存環(huán)境的適應性而決定其增殖能力。通常,適應性強的基因會不斷增多,而適應性差的基因則會逐漸減少。通過這種自然選擇,物種將逐漸向適應于生存環(huán)境的方向進化,甚至會演變成為另一個新的物種,而那些不適應于環(huán)境的物種將會逐漸被淘汰。2.2.1進化計算概述1.進化計算及其生物學基礎(3/3)12②變異理論2.2.1進化計算概述12
進化計算自20世紀50年代以來,其發(fā)展過程大致可分為三個階段。
(1)萌芽階段這一階段是從20世紀50年代后期到70年代中期。20世紀50年代后期,一些生物學家在研究如何用計算機模擬生物遺傳系統(tǒng)中,產(chǎn)生了遺傳算法的基本思想,并于1962年由美國密執(zhí)安(Michigan)大學霍蘭德(Holland)提出。1965年德國數(shù)學家雷切伯格(Rechenberg)等人提出了一種只有單個個體參與進化,并且僅有變異這一種進化操作的進化策略。同年,美國學者弗格爾(Fogel)提出了一種具有多個個體和僅有變異一種進化操作的進化規(guī)劃。1969年美國密執(zhí)安(Michigan)大學的霍蘭德(Holland)提出了系統(tǒng)本身和外部環(huán)境相互協(xié)調(diào)的遺傳算法。至此,進化計算的三大分支基本形成。
(2)成長階段這一階段是從20世紀70年代中期到80年代后期。1975年,霍蘭德出版專著《自然和人工系統(tǒng)的適應性(AdaptationinNaturalandArtificialSystem)》,全面介紹了遺傳算法。同年,德國學者施韋費爾(Schwefel)在其博士論文中提出了一種由多個個體組成的群體參與進化的,并且包括了變異和重組這兩種進化操作的進化策略。1989年,霍蘭德的學生戈爾德伯格(Goldberg)博士出版專著《遺傳算法----搜索、優(yōu)化及機器學習(GeneticAlgorithm----inSearchOptimizationandMachineLearning)》,使遺傳算法得到了普及與推廣。2.2.1進化計算概述2.進化計算的產(chǎn)生與發(fā)展(1/2)13進化計算自20世紀50年代以來,其發(fā)展過程大致可分(3)發(fā)展階段
這一階段是從20世紀90年代至今。1989年,美國斯坦福(Stanford)大學的科扎(Koza)提出了遺傳規(guī)劃的新概念,并于1992年出版了專著《遺傳規(guī)劃----應用自然選擇法則的計算機程序設計(GeneticProgramming:ontheProgrammingofComputerbyMeansofNaturalSelection)》該書全面介紹了遺傳規(guī)劃的基本原理及應用實例,標志著遺傳規(guī)劃作為計算智能的一個分支已基本形成。進入20世紀90年代以來,進化計算得到了眾多研究機構和學者的高度重視,新的研究成果不斷出現(xiàn)、應用領域不斷擴大。
2.2.1進化計算概述2.進化計算的產(chǎn)生與發(fā)展(2/2)14(3)發(fā)展階段2.2.1進化計算概述14
進化計算盡管有多個重要分支,但它們卻有著共同的進化框架。若假設P為種群(Population,或稱為群體),t為進化代數(shù),P(t)為第t代種群,則進化計算的基本結構可粗略描述如下:
{確定編碼形式并生成搜索空間;初始化各個進化參數(shù),并設置進化代數(shù)t=0;初始化種群P(0);
對初始種群進行評價(即適應度計算);
while(不滿足終止條件)do{t=t+1;
利用選擇操作從P(t-1)代中選出P(t)代群體;對P(t)代種群執(zhí)行進化操作;對執(zhí)行完進化操作后的種群進行評價(即適應度計算);
}}
可以看出,上述基本結構包含了生物進化中所必需的選擇操作、進化操作和適應度評價等過程。2.2.1進化計算概述3.進化計算的基本結構15進化計算盡管有多個重要分支,但它們卻有著共同的進化
遺傳算法的基本思想是從初始種群出發(fā),采用優(yōu)勝劣汰、適者生存的自然法則選擇個體,并通過雜交、變異來產(chǎn)生新一代種群,如此逐代進化,直到滿足目標為止。遺傳算法所涉及到的基本概念主要有以下幾個:種群(Population):種群是指用遺傳算法求解問題時,初始給定的多個解的集合。遺傳算法的求解過程是從這個子集開始的。個體(Individual):個體是指種群中的單個元素,它通常由一個用于描述其基本遺傳結構的數(shù)據(jù)結構來表示。染色體(Chromos):染色體是指對個體進行編碼后所得到的編碼串。其中的每1位稱為基因,若干個基因構成的一個有效信息段稱為基因組。適應度(Fitness)函數(shù):適應度函數(shù)是一種用來對種群中各個個體的環(huán)境適應性進行度量的函數(shù)。遺傳操作(GeneticOperator):遺傳操作是指作用于種群而產(chǎn)生新的種群的操作。標準的遺傳操作包括以下3種基本形式:選擇(Selection)交叉(Crosssover)變異(Mutation)2.2.2遺傳算法1.遺傳算法的基本概念16遺傳算法的基本思想是從初始種群出發(fā),采用優(yōu)勝劣汰、適者
遺傳算法主要由染色體編碼、初始種群設定、適應度函數(shù)設定、遺傳操作設計等幾大部分所組成,其算法主要內(nèi)容和基本步驟可描述如下:
(1)選擇編碼策略,將問題搜索空間中每個可能的點用相應的編碼策略表示出來,即形成染色體;
(2)定義遺傳策略,包括種群規(guī)模N,交叉、變異方法,以及選擇概率Pr、交叉概率Pc、變異概率Pm等遺傳參數(shù);
(3)令t=0,隨機選擇N個染色體初始化種群P(0);
(4)定義適應度函數(shù)f(f>0);
(5)計算P(t)中每個染色體的適應值;
(6)t=t+1;
(7)運用選擇算子,從P(t-1)中得到P(t);
(8)對P(t)中的每個染色體,按概率Pc參與交叉;
(9)對染色體中的基因,以概率Pm參與變異運算;
(10)判斷群體性能是否滿足預先設定的終止標準,若不滿足則返回(5)。2.2.2遺傳算法2.遺傳算法的基本過程(1/2)17遺傳算法主要由染色體編碼、初始種群設定、適應度函數(shù)計算種群中各個個體的適應度,并進行評價滿足終止條件嗎?終止選擇交叉變異Y圖2-18基本遺傳算法的算法流程圖編碼和生成初始種群N選擇
其算法流程如圖2-18所示。2.2.2遺傳算法2.遺傳算法的基本結構(2/2)18計算種群中各個個體的適應度,并進行評價滿足終止條件嗎?終止選
常用的遺傳編碼算法有霍蘭德二進制碼、格雷碼(GrayCode)、實數(shù)編碼和字符編碼等。(1)二進制編碼(Binaryencoding)
二進制編碼是將原問題的結構變換為染色體的位串結構。在二進制編碼中,首先要確定二進制字符串的長度l,該長度與變量的定義域和所求問題的計算精度有關。例5.5
假設變量x的定義域為[5,10],要求的計算精度為10-5,則需要將[5,10]至少分為6×105個等長小區(qū)間,每個小區(qū)間用一個二進制串表示。于是,串長至少等于20,原因是:
524288=219<600000<220=1048576這樣,對應于區(qū)間[5,10]內(nèi)滿足精度要求的每個值x,都可用一個20位編碼的二進制串<b19,b18,…,b0>來表示。
二進制編碼存在的主要缺點是漢明(Hamming)懸崖。例如,7和8的二進制數(shù)分別為0111和1000,當算法從7改進到8時,就必須改變所有的位。
2.2.2遺傳算法3.遺傳編碼(1/3)19常用的遺傳編碼算法有霍蘭德二進制碼、格雷碼(Gray2.2.2遺傳算法3.遺傳編碼(2/3)(2)格雷編碼(Grayencoding)
格雷編碼是對二進制編碼進行變換后所得到的一種編碼方法。這種編碼方法要求兩個連續(xù)整數(shù)的編碼之間只能有一個碼位不同,其余碼位都是完全相同的。它有效地解決了漢明懸崖問題,其基本原理如下:設有二進制串b1,b2,…,bn,對應的格雷串為a1,a2,…,an,則從二進制編碼到格雷編碼的變換為:
(2.9)其中,⊕表示模2加法(等同于異或運算)。而從一個格雷串到二進制串的變換為:
(2.10)
例2.6
十進制數(shù)7和8的二進制編碼分別為0111和1000,而其格雷編碼分別為0100和1100。202.2.2遺傳算法(2)格雷編碼(Grayencodi(3)實數(shù)編碼(Realencoding)
實數(shù)編碼是將每個個體的染色體都用某一范圍的一個實數(shù)(浮點數(shù))來表示,其編碼長度等于該問題變量的個數(shù)。這種編碼方法是將問題的解空間映射到實數(shù)空間上,然后在實數(shù)空間上進行遺傳操作。由于實數(shù)編碼使用的是變量的真實值,因此這種編碼方法也叫做真值編碼方法。實數(shù)編碼適應于那種多維、高精度要求的連續(xù)函數(shù)優(yōu)化問題。
2.2.2遺傳算法3.遺傳編碼(3/3)21(3)實數(shù)編碼(Realencoding)2.2.2遺
適應度函數(shù)是一個用于對個體的適應性進行度量的函數(shù)。通常,一個個體的適應度值越大,它被遺傳到下一代種群中的概率也就越大。(1)常用的適應度函數(shù)
在遺傳算法中,有許多計算適應度的方法,其中最常用的適應度函數(shù)有以下兩種:
①原始適應度函數(shù)它是直接將待求解問題的目標函數(shù)f(x)定義為遺傳算法的適應度函數(shù)。例如,在求解極值問題時,f(x)即為x的原始適應度函數(shù)。采用原始適應度函數(shù)的優(yōu)點是能夠直接反映出待求解問題的最初求解目標,其缺點是有可能出現(xiàn)適應度值為負的情況。
2.2.2遺傳算法4.適應度函數(shù)(1/5)22適應度函數(shù)是一個用于對個體的適應性進行度量的函數(shù)。②標準適應度函數(shù)在遺傳算法中,一般要求適應度函數(shù)非負,并其適應度值越大越好。這就往往需要對原始適應函數(shù)進行某種變換,將其轉換為標準的度量方式,以滿足進化操作的要求,這樣所得到的適應度函數(shù)被稱為標準適應度函數(shù)fNormal(x)。例如下面的極小化和極大化問題:極小化問題對極小化問題,其標準適應度函數(shù)可定義為
(2.11)其中,fmax(x)是原始適應函數(shù)f(x)的一個上界。如果fmax(x)未知,則可用當前代或到目前為止各演化代中的f(x)的最大值來代替??梢?,fmax(x)是會隨著進化代數(shù)的增加而不斷變化的。
2.2.2遺傳算法4.適應度函數(shù)(2/5)23②標準適應度函數(shù)2.2.2遺傳算法23
極大化問題對極大化問題,其標準適應度函數(shù)可定義為
(2.12)其中,fmin(x)是原始適應函數(shù)f(x)的一個下界。如果fmin(x)未知,則可用當前代或到目前為止各演化代中的f(x)的最小值來代替。
2.2.2遺傳算法4.適應度函數(shù)(3/5)24極大化問題2.2.2遺傳算法24(2)適應度函數(shù)的加速變換在某些情況下,需要對適應度函數(shù)進行加速速度。適應度函數(shù)的加速變換有兩種基本方法線性加速的適應度函數(shù)的定義如下:
f’(x)=αf(x)+β其中,f(x)是加速轉換前的適應度函數(shù);f’(x)是加速轉換后的適應度函數(shù);α和β是轉換系數(shù),它們應滿足如下條件:
①變化后得到的新的適應度函數(shù)平均值要等于原適應度函數(shù)的平均值。即
(2.13)其中,xi(i=1,…,n)為當前代中的染色體。2.2.2遺傳算法4.適應度函數(shù)(4/5)25(2)適應度函數(shù)的加速變換2.2.2遺傳算法25
②變換后所得到的新的種群個體所具有的最大適應度要等于其平均適應度的指數(shù)倍數(shù)。即有關系:(2.14)式中,xi(i=1,…,n)為當前代中的染色體,M是指將當前的最大適應度放大為平均值的M倍。目的是通過M拉開不同染色體適應度值的差距。非線性加速冪函數(shù)變換方法
f’(x)=f(x)k(2.15)
指數(shù)變換方法
f’(x)=exp(βf(x))(2.16)2.2.2遺傳算法4.適應度函數(shù)(5/5)26②變換后所得到的新的種群個體所具有的最大適應度要等于
遺傳算法中的基本遺傳操作包括選擇、交叉和變異3種,而每種操作又包括多種不同的方法,下面分別對它們進行介紹。(1).選擇操作
選擇(Selection)操作是指根據(jù)選擇概率按某種策略從當前種群中挑選出一定數(shù)目的個體,使它們能夠有更多的機會被遺傳到下一代中。常用的選擇策略可分為比例選擇、排序選擇和競技選擇三種類型。
①比例選擇
比例選擇方法(ProportionalModel)的基本思想是:各個個體被選中的概率與其適應度大小成正比。常用的比例選擇策略包括輪盤賭選擇繁殖池選擇2.2.2遺傳算法5.基本遺傳操作(1/11)27遺傳算法中的基本遺傳操作包括選擇、交叉和變異3種,而②輪盤賭選擇
輪盤賭選擇法又被稱為轉盤賭選擇法或輪盤選擇法。在這種方法中,個體被選中的概率取決于該個體的相對適應度。而相對適應度的定義為:其中,P(xi)是個體xi的相對適應度,即個體xi被選中的概率;f(xi)是個體xi的原始適應度。輪盤賭選擇算法的基本思想是:根據(jù)每個個體的選擇概率P(xi)將一個圓盤分成N個扇區(qū),其中第i個扇區(qū)的中心角為:再設立一個移動指針,將圓盤的轉動等價為指針的移動。選擇時,假想轉動圓盤,若靜止時指針指向第i個扇區(qū),則選擇個體i。其物理意義如圖2-19所示。2.2.2遺傳算法5.基本遺傳操作(2/11)28②輪盤賭選擇2.2.2遺傳算法28P(x1)P(x2)P(xN)……P(xi)2πp(xi)圖2-19輪盤賭選擇
從統(tǒng)計角度看,個體的適應度值越大,其對應的扇區(qū)的面積越大,被選中的可能性也越大。這種方法有點類似于發(fā)放獎品使用的輪盤,并帶有某種賭博的意思,因此亦被稱為輪盤賭選擇。2.2.2遺傳算法5.基本遺傳操作(3/11)29P(x1)P(x2)P(xN)……P(xi)圖2-19輪盤(2)交叉操作
交叉(Crossover)操作是指按照某種方式對選擇的父代個體的染色體的部分基因進行交配重組,從而形成新的個體。交配重組是自然界中生物遺傳進化的一個主要環(huán)節(jié),也是遺傳算法中產(chǎn)生新的個體的最主要方法。根據(jù)個體編碼方法的不同,遺傳算法中的交叉操作可分為二進制交叉和實值交叉兩種類型。
①二進制交叉
二進制交叉(BinaryValuedCrossover)是指二進制編碼情況下所采用的交叉操作,它主要包括單點交叉、兩點交叉、多點交叉和均勻交叉等方法。2.2.2遺傳算法5.基本遺傳操作(4/11)30(2)交叉操作2.2.2遺傳算法30
單點交叉
單點交叉也稱簡單交叉,它是先在兩個父代個體的編碼串中隨機設定一個交叉點,然后對這兩個父代個體交叉點前面或后面部分的基因進行交換,并生成子代中的兩個新的個體。假設兩個父代的個體串分別是:
X=x1x2…xkxk+1…xnY=y1y2…ykyk+1…yn
隨機選擇第k位為交叉點,若采用對交叉點后面的基因進行交換的方法,但點交叉是將X中的xk+1到xn部分與Y中的yk+1到y(tǒng)n部分進行交叉,交叉后生成的兩個新的個體是:
X’=x1x2…xk
yk+1…yn
Y’=y1y2…yk
xk+1…xn
例2.7
設有兩個父代的個體串A=001101
和B=110010
,若隨機交叉點為4,則交叉后生成的兩個新的個體是:A’=001110
B’=110001
2.2.2遺傳算法5.基本遺傳操作(5/11)31單點交叉2.2.2遺傳算法31
兩點交叉
兩點交叉是指先在兩個父代個體的編碼串中隨機設定兩個交叉點,然后再按這兩個交叉點進行部分基因交換,生成子代中的兩個新的個體。假設兩個父代的個體串分別是:
X=x1x2…xi…xj…xnY=y1y2…yi…yj…,yn
隨機設定第i、j位為兩個交叉點(其中i<j<n),兩點交叉是將X中的xi+1到xj部分與Y中的yi+1到y(tǒng)j部分進行交換,交叉后生成的兩個新的個體是:
X’=x1x2…xi
yi+1…yjxj+1…xn
Y’=y1y2…yi
xi+1
…
xjyj+1…yn
例2.8
設有兩個父代的個體串A=001101和B=110010,若隨機交叉點為3和5,則交叉后的兩個新的個體是:A’=001011B’=1101002.2.2遺傳算法5.基本遺傳操作(6/11)32兩點交叉2.2.2遺傳算法32
多點交叉多點交是指先隨機生成多個交叉點,然后再按這些交叉點分段地進行部分基因交換,生成子代中的兩個新的個體。假設交叉點個數(shù)為m,則可將個體串劃分為m+1個分段,其劃分方法是:當m為偶數(shù)時,對全部交叉點依次進行兩兩配對,構成m/2個交叉段。當m為奇數(shù)時,對前(m-1)個交叉點依次進行兩兩配對,構成(m-1)/2個交叉段,而第m個交叉點則按單點交叉方法構成一個交叉段。下面以m=3為例進行討論。假設兩個父代的個體串分別是X=x1x2…xi…xj…xk…xn和Y=y1y2…yi…yj…yk…yn,隨機設定第i、j、k位為三個交叉點(其中i<j<k<n),則將構成兩個交叉段。交叉后生成的兩個新的個體是:
X’=x1x2…xiyi+1…yj
xj+1…xk
yk+1…yn
Y’=y1y2…yi
xi+1…xjyj+1…yk
xk+1…xn
例2.9
設有兩個父代的個體串A=001101和B=110010,若隨機交叉點為1、3和5,則交叉后的兩個新的個體是:A’=010100
B’=101011
2.2.2遺傳算法5.基本遺傳操作(7/11)33多點交叉2.2.2遺傳算法33
均勻交叉均勻交叉(UniformCrossover)是先隨機生成一個與父串具有相同長度,并被稱為交叉模版(或交叉掩碼)的二進制串,然后再利用該模版對兩個父串進行交叉,即將模版中1對應的位進行交換,而0對應的位不交換,依此生成子代中的兩個新的個體。事實上,這種方法對父串中的每一位都是以相同的概率隨機進行交叉的。例2.10
設有兩個父代的個體串A=001101和B=110010,若隨機生成的模版T=010011,則交叉后的兩個新的個體是A’=011010和B’=100101。即
A:001101B:110010T:010011A’:01111
0
B’:10000
12.2.2遺傳算法5.基本遺傳操作(8/11)34均勻交叉2.2.2遺傳算法34②實值交叉實值交叉是在實數(shù)編碼情況下所采用的交叉操作,主要包括離散交叉和算術交叉,下面主要討論離散交叉(部分離散交叉和整體離散交叉)。部分離散交叉是先在兩個父代個體的編碼向量中隨機選擇一部分分量,然后對這部分分量進行交換,生成子代中的兩個新的個體。整體交叉則是對兩個父代個體的編碼向量中的所有分量,都以1/2的概率進行交換,從而生成子代中的兩個新的個體。以部分離散交叉為例,假設兩個父代個體的n維實向量分別是X=x1x2…xi…xk…xn和Y=y1y2…yi…yk…yn,若隨機選擇對第k個分量以后的所有分量進行交換,則生成的兩個新的個體向量是:
X’=x1x2…xk
yk+1…ynY’=y1y2…yk
xk+1…xn例2.11
設有兩個父代個體向量A=201619321826和B=362538122130,若隨機選擇對第3個分量以后的所有分量進行交叉,則交叉后兩個新的個體向量是:A’=20161912
21
30B’=36253832
18
26
2.2.2遺傳算法5.基本遺傳操作(9/11)35②實值交叉2.2.2遺傳算法35
(3)變異操作
變異(Mutation)是指對選中個體的染色體中的某些基因進行變動,以形成新的個體。變異也是生物遺傳和自然進化中的一種基本現(xiàn)象,它可增強種群的多樣性。遺傳算法中的變異操作增加了算法的局部隨機搜索能力,從而可以維持種群的多樣性。根據(jù)個體編碼方式的不同,變異操作可分為二進制變異和實值變異兩種類型。
①二進制變異當個體的染色體采用二進制編碼表示時,其變異操作應采用二進制變異方法。該變異方法是先隨機地產(chǎn)生一個變異位,然后將該變異位置上的基因值由“0”變?yōu)椤?”,或由“1”變?yōu)椤?”,產(chǎn)生一個新的個體。例2.12
設變異前的個體為A=001101,若隨機產(chǎn)生的變異位置是2,則該個體的第2位由“0”變?yōu)椤?”。變異后的新的個體是A’=011101。2.2.2遺傳算法5.基本遺傳操作(10/11)36(3)變異操作2.2.2遺傳算法36
②實值變異當個體的染色體采用實數(shù)編碼表示時,其變異操作應采用實值變異方法。該方法是用另外一個在規(guī)定范圍內(nèi)的隨機實數(shù)去替換原變異位置上的基因值,產(chǎn)生一個新的個體。最常用的實值變異操作有:
基于位置的變異方法該方法是先隨機地產(chǎn)生兩個變異位置,然后將第二個變異位置上的基因移動到第一個變異位置的前面。例2.13
設選中的個體向量C=201619122130,若隨機產(chǎn)生的兩個變異位置分別時2和4,則變異后的新的個體向量是:C’=2012
16192130基于次序的變異該方法是先隨機地產(chǎn)生兩個變異位置,然后交換這兩個變異位置上的基因。例2.14
設選中的個體向量D=201216192130,若隨機產(chǎn)生的兩個變異位置分別時2和4,則變異后的新的個體向量是:D’=2019161221302.2.2遺傳算法5.基本遺傳操作(11/11)37②實值變異2.2.2遺傳算法37例2.15
用遺傳算法求函數(shù)
f(x)=x2的最大值,其中x為[0,31]間的整數(shù)。解:這個問題本身比較簡單,其最大值很顯然是在x=31處。但作為一個例子,它有著較好的示范性和可理解性。按照遺傳算法,其求解過程如下:(1)編碼
由于x的定義域是區(qū)間[0,31]上的整數(shù),由5位二進制數(shù)即可全部表示。因此,可采用二進制編碼方法,其編碼串的長度為5。例如,用二進制串00000來表示x=0,11111來表示x=31等。其中的0和1為基因值。
(2)生成初始種群
若假設給定的種群規(guī)模N=4,則可用4個隨機生成的長度為5的二進制串作為初始種群。再假設隨機生成的初始種群(即第0代種群)為:
s01=01101s02=11001s03=01000s04=100102.2.2遺傳算法6.遺傳算法應用簡例(1/10)38例2.15用遺傳算法求函數(shù)2.2.2遺傳算法38(3)計算適應度
要計算個體的適應度,首先應該定義適應度函數(shù)。由于本例是求f(x)的最大值,因此可直接用f(x)來作為適應度函數(shù)。即:
f(s)=f(x)其中的二進制串s對應著變量x的值。根據(jù)此函數(shù),初始種群中各個個體的適應值及其所占比例如表2-5所示。表2-5初始種群情況表編號個體串(染色體)x適應值百分比%累計百分比%選中次數(shù)S01011011316914.3014.301S02110012562552.8867.182S03010008645.4172.590S04100101832427.4110012.2.2遺傳算法6.遺傳算法應用簡例(2/10)可以看出,在4個個體中S02的適應值最大,是當前最佳個體。39(3)計算適應度編號個體串(染色體)x適應值百分比(4)選擇操作
假設采用輪盤賭方式選擇個體,且依次生成的4個隨機數(shù)(相當于輪盤上指針所指的數(shù))為0.85、0.32、0.12和0.46,經(jīng)選擇后得到的新的種群為:
S’01=10010S’02=11001S’03=01101S’04=11001其中,染色體11001在種群中出現(xiàn)了2次,而原染色體01000則因適應值太小而被淘汰2.2.2遺傳算法6.遺傳算法應用簡例(3/10)40(4)選擇操作2.2.2遺傳算法40(5)交叉
假設交叉概率Pi為50%,則種群中只有1/2的染色體參與交叉。若規(guī)定種群中的染色體按順序兩兩配對交叉,且有S’01與S’02交叉,S’03與S’04不交叉,則交叉情況如表2-6所示。表2-6初始種群的交叉情況表編號個體串(染色體)交叉對象交叉位子代適應值S’0110010S’02310001289S’0211001S’01311010676S’0301101S’04N01101169S’0411001S’03N110016252.2.2遺傳算法6.遺傳算法應用簡例(4/10)可見,經(jīng)交叉后得到的新的種群為:S’’01=10001S’’02=11010S’’03=01101S’’04=1100141(5)交叉編號個體串(染色體)交叉對象交叉位子
(6)變異
變異概率Pm一般都很小,假設本次循環(huán)中沒有發(fā)生變異,則變異前的種群即為進化后所得到的第1代種群。即:
S11=10001S12=11010S13=01101S14=11001然后,對第1代種群重復上述(4)-(6)的操作
2.2.2遺傳算法6.遺傳算法應用簡例(5/10)42(6)變異2.2.2遺傳算法42
其中若假設按輪盤賭選擇時依次生成的4個隨機數(shù)為0.14、0.51、0.24和0.82,經(jīng)選擇后得到的新的種群為:
S’11=10001S’12=11010S’13=11010S’14
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東外語外貿(mào)大學附屬科學城實驗學校臨聘教師招聘備考題庫及答案詳解參考
- 翻轉課堂在小學科學實驗教學中的實踐研究課題報告教學研究課題報告
- 2025年溫州市燃氣集團有限公司面向社會公開招聘一線生產(chǎn)作業(yè)崗位人員56名備考題庫附答案詳解
- 2025年海南州殘疾人綜合服務中心人員招聘備考題庫附答案詳解
- 2025年昆明元朔建設發(fā)展有限公司收費員招聘9人備考題庫完整參考答案詳解
- 2025廣東深圳市龍崗區(qū)耳鼻咽喉醫(yī)院招聘8人筆試重點題庫及答案解析
- 項目建設安全措施承諾書(6篇)
- 冬天的雪花寫物作文11篇
- 智慧醫(yī)院建設標準協(xié)議
- 網(wǎng)絡工程師性能維護專家績效評定表
- 足療卡銷售高轉化話術
- 2025年山西省朔州市公安輔警招聘知識考試題(含答案)
- 濕疹患者護理查房
- 買院子合同協(xié)議書
- 2025至2030中國融媒體行業(yè)市場深度分析及前景趨勢與投資報告
- 2026年江蘇農(nóng)牧科技職業(yè)學院單招職業(yè)技能測試模擬測試卷附答案
- 2026年南京交通職業(yè)技術學院單招職業(yè)傾向性測試題庫附答案
- 2025吐魯番市高昌區(qū)招聘第二批警務輔助人員(165人)筆試考試參考試題及答案解析
- 江蘇省徐州市2026屆九年級上學期期末模擬數(shù)學試卷
- 癲癇常見癥狀及護理培訓課程
- 2025年南陽市公安機關招聘看護隊員200名筆試考試參考試題及答案解析
評論
0/150
提交評論