




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 計算智能是信息科學(xué)、生命科學(xué)、認(rèn)知科學(xué)等不同學(xué)科相互交叉的產(chǎn)物。它主要借鑒仿生學(xué)的思想,基于人們對生物體智能機理的認(rèn)識,采用數(shù)值計算的方法去模擬和實現(xiàn)人類的智能。 計算智能主要研究領(lǐng)域包括:神經(jīng)計算、進(jìn)化計算、模糊計算、免疫計算、DNA計算、粗糙集等。 4.1 概述 4.1.1 什么是計算智能 4.1.2 計算智能的產(chǎn)生與發(fā)展 4.1.3 計算智能與人工智能的關(guān)系 4.2 神經(jīng)計算 4.3 進(jìn)化計算 4.4 模糊計算 4.5 粗糙集第4章 計算智能14.1.1 什么是計算智能概念解釋 計算智能(Computational Intelligence,CI)目前還沒有一個統(tǒng)一的的定義,使用較多的
2、是美國科學(xué)家貝慈德克(J.C.Bezdek)從計算智能系統(tǒng)角度所給出的定義。 從計算智能系統(tǒng)角度 如果一個系統(tǒng)僅處理低層的數(shù)值數(shù)據(jù),含有模式識別部件,沒有使用人工智能意義上的知識,且具有計算適應(yīng)性、計算容錯力、接近人的計算速度和近似于人的誤差率這4個特性,則它是計算智能的。 從學(xué)科范疇看 計算智能是在神經(jīng)網(wǎng)絡(luò)(Neural Networks,NN)、進(jìn)化計算(Evolutionary Computation, EC)及模糊系統(tǒng)(Fuzzy System,FS)這3個領(lǐng)域發(fā)展相對成熟的基礎(chǔ)上形成的一個統(tǒng)一的學(xué)科概念。24.1.1 什么是計算智能 研究領(lǐng)域神經(jīng)網(wǎng)絡(luò) 是一種對人類智能的結(jié)構(gòu)模擬方法,
3、它是通過對大量人工神經(jīng)元的廣泛并行互聯(lián),構(gòu)造人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)去模擬生物神經(jīng)系統(tǒng)的智能機理的。進(jìn)化計算 是一種對人類智能的演化模擬方法,它是通過對生物遺傳和演化過程的認(rèn)識,用進(jìn)化算法去模擬人類智能的進(jìn)化規(guī)律的。模糊計算 是一種對人類智能的邏輯模擬方法,它是通過對人類處理模糊現(xiàn)象的認(rèn)知能力的認(rèn)識,用模糊邏輯去模擬人類的智能行為的。 綜合解釋 從貝慈德克的定義和上述學(xué)科范疇可以看出以下兩點: 第一,計算智能是借鑒仿生學(xué)的思想,基于生物神經(jīng)系統(tǒng)的結(jié)構(gòu)、進(jìn)化和認(rèn)知對自然智能進(jìn)行模擬的。 第二,計算智能是一種以模型(計算模型、數(shù)學(xué)模型)為基礎(chǔ),以分布、并行計算為特征的自然智能模擬方法。 34.1.2 計算
4、智能的產(chǎn)生與發(fā)展 1992年,貝慈德克在Approximate Reasoning學(xué)報上首次 提出了“計算智能”的概念。 1994年6月底到7月初,IEEE在美國佛羅里達(dá)州的奧蘭多市召開了首屆國際計算智能大會(簡稱WCCI94)。會議第一次將神經(jīng)網(wǎng)絡(luò)、進(jìn)化計算和模糊系統(tǒng)這三個領(lǐng)域合并在一起,形成了“計算智能”這個統(tǒng)一的學(xué)科范疇。 在此之后,WCCI大會就成了IEEE的一個系列性學(xué)術(shù)會議,每4年舉辦一次。1998年5月,在美國阿拉斯加州的安克雷奇市又召開了第2屆計算智能國際會議WCCI98。2002年5月,在美國州夏威夷州首府火奴魯魯市又召開了第3屆計算智能國際會議WCCI02。此外,IEEE還
5、出版了一些與計算智能有關(guān)的刊物。 目前,計算智能的發(fā)展得到了國內(nèi)外眾多的學(xué)術(shù)組織和研究機構(gòu)的高度重視,并已成為智能科學(xué)技術(shù)一個重要的研究領(lǐng)域。44.1.3 計算智能與人工智能的關(guān)系 目前,對計算智能與人工智能的關(guān)系有2種觀點,一種認(rèn)為計算智能是人工智能的一個子集,另一種認(rèn)為計算智能和人工智能是不同的范疇。 第一種觀點的代表人物是貝慈德克。他把智能(Intelligence,I)和神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)都分為計算的(Computational,C)、人工的(Artificial,A)和生物的(Biological,B)3個層次,并以模式識別(PR)為例,給出了下圖所示的智
6、能的層次結(jié)構(gòu)。 在該圖中,底層是計算智能(CI),它通過數(shù)值計算來實現(xiàn),其基礎(chǔ)是CNN;中間層是人工智能(AI),它通過人造的符號系統(tǒng)實現(xiàn),其基礎(chǔ)是ANN;頂層是生物智能(BI),它通過生物神經(jīng)系統(tǒng)來實現(xiàn),其基礎(chǔ)是BNN。 按照貝慈德克的觀點,CNN是指按生物激勵模型構(gòu)造的NN,ANN是指CNN+知識,BNN是指人腦,即ANN包含了CNN,BNN又包含了ANN。對智能也一樣,貝慈德克認(rèn)為AI包含了CI,BI又包含了AI,即計算智能是人工智能的一個子集。5CNNCPRCIANNAPRAIBNNBPRBI人類知識(+)傳感輸入知識(+)傳感數(shù)據(jù)計算(+)傳感器B生物的A符號的C數(shù)值的復(fù)雜性復(fù)雜性輸
7、入層次 貝慈德克的智能的3個層次4.1.3 計算智能與人工智能的關(guān)系6 第二種觀點是大多數(shù)學(xué)者所持有的觀點,其代表人物是艾伯哈特(R.C.Eberhart)。他們認(rèn)為:雖然人工智能與計算智能之間有重合,但計算智能是一個全新的學(xué)科領(lǐng)域,無論是生物智能還是機器智能,計算智能都是其最核心的部分,而人工智能則是外層。 事實上,CI和傳統(tǒng)的AI只是智能的兩個不同層次,各自都有自身的優(yōu)勢和局限性,相互之間只應(yīng)該互補,而不能取代。 大量實踐證明,只有把AI和CI很好地結(jié)合起來,才能更好地模擬人類智能,才是智能科學(xué)技術(shù)發(fā)展的正確方向。4.1.3 計算智能與人工智能的關(guān)系7結(jié)構(gòu): 胞體 軸突 樹突 突觸長度:
8、最長1米狀態(tài): 抑制 興奮細(xì)胞體軸突樹突突觸1. 生物神經(jīng)系統(tǒng)簡介生物神經(jīng)元的結(jié)構(gòu)10細(xì)胞結(jié)構(gòu) 細(xì)胞膜,細(xì)胞質(zhì),細(xì)胞核神經(jīng)遞質(zhì)傳遞 乙酰膽堿、兒茶酚胺類、氨基酸等信號跨膜轉(zhuǎn)導(dǎo) 離子通道基本狀態(tài): 抑制:-70毫伏 興奮:+40 毫伏靜息膜電位: -70毫伏動作電位: +40 毫伏工作方式: 刺激疊加 瞬間沖動細(xì)胞膜細(xì)胞質(zhì)細(xì)胞核1. 生物神經(jīng)系統(tǒng)簡介神經(jīng)細(xì)胞及工作方式111. 生物神經(jīng)系統(tǒng)簡介突觸聯(lián)結(jié)方式12 根據(jù)功能函數(shù)的不同,可得不同的神經(jīng)元模型。閾值型(Threshold) 這種模型的神經(jīng)元沒有內(nèi)部狀態(tài),作用函數(shù)f是一個階躍函數(shù),他表示激活值和輸出之間的關(guān)系。分段線性強飽和型(Linear
9、 Saturation) 這種模型又稱為偽線性,其輸入/輸出之間在一定范圍內(nèi)滿足線性關(guān)系,一直延續(xù)到輸出為最大值1為止。但當(dāng)達(dá)到最大值后,輸出就不再增。S型(Sibmoid) 這是一種連續(xù)的神經(jīng)元模型,其輸入輸出特性常用指數(shù)、對數(shù)或雙曲正切等S型函數(shù)表示。它反映的是神經(jīng)元的飽和特性.子閾累積型(Subthreshold Summation) 也是一個非線性函數(shù),當(dāng)產(chǎn)生的激活值超過T值時,該神經(jīng)元被激活產(chǎn)生個反響。在線性范圍內(nèi),系統(tǒng)的反響是線性的。f()1T12. 人工神經(jīng)網(wǎng)絡(luò)簡介常用的人工神經(jīng)元模型f()100f()10f()016 人工神經(jīng)網(wǎng)絡(luò)是一種對人工神經(jīng)元進(jìn)行互聯(lián)所形成的網(wǎng)絡(luò),它是對生
10、物神經(jīng)網(wǎng)絡(luò)的模擬。反映的是神經(jīng)元的飽和特性.2. 人工神經(jīng)網(wǎng)絡(luò)簡介人工神經(jīng)網(wǎng)絡(luò)及其分類人工神經(jīng)網(wǎng)絡(luò)的概念人工神經(jīng)網(wǎng)絡(luò)的分類按學(xué)習(xí)方法前饋網(wǎng)絡(luò)反饋網(wǎng)絡(luò)按拓?fù)浣Y(jié)構(gòu)有導(dǎo)師指導(dǎo)無導(dǎo)師指導(dǎo)按網(wǎng)絡(luò)性能連續(xù)型網(wǎng)絡(luò)離散型網(wǎng)絡(luò)174.2.2 人工神經(jīng)網(wǎng)絡(luò)的互聯(lián)結(jié)構(gòu) 人工神經(jīng)網(wǎng)絡(luò)的互連結(jié)構(gòu)(或稱拓?fù)浣Y(jié)構(gòu))是指單個神經(jīng)元之間的連接模式,它是構(gòu)造神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),也是神經(jīng)網(wǎng)絡(luò)誘發(fā)偏差的主要來源。從互連結(jié)構(gòu)的角度:1. 前饋網(wǎng)絡(luò)2. 反饋網(wǎng)絡(luò)單層前饋網(wǎng)絡(luò) 多層前饋網(wǎng)絡(luò) 單層反饋網(wǎng)絡(luò)多層反饋網(wǎng)絡(luò)僅含輸入層和輸出層,且只有輸出層的神經(jīng)元是可計算節(jié)點 除擁有輸入、輸出層外,還至少含有一個、或更多個隱含層的前向網(wǎng)絡(luò) 指不擁有隱含
11、層的反饋網(wǎng)絡(luò) 指擁有隱含層的反饋網(wǎng)絡(luò) (可含有反饋聯(lián)結(jié))(只包含前向聯(lián)結(jié)) 18 單層前饋網(wǎng)絡(luò)是指那種只擁有單層計算節(jié)點的前向網(wǎng)絡(luò)。它僅含有輸入層和輸出層,且只有輸出層的神經(jīng)元是可計算節(jié)點,如下圖所示x1X2X3xny1Y2ym權(quán)值wij輸出層輸入層圖4.8 單層前饋網(wǎng)絡(luò)結(jié)構(gòu)1. 前饋網(wǎng)絡(luò)單層前饋網(wǎng)絡(luò)(1/3) 其中,輸入向量為X=(x1,x2,xn);輸出向量為Y=(y1,y2,ym);輸入層各個輸入到相應(yīng)神經(jīng)元的連接權(quán)值分別是wij,i=1,2,.,n,j=1,2,., m。19人工神經(jīng)網(wǎng)絡(luò)模型 人工神經(jīng)網(wǎng)絡(luò)模型是指對網(wǎng)絡(luò)結(jié)構(gòu)、聯(lián)結(jié)權(quán)值和學(xué)習(xí)能力的總括。常用的網(wǎng)絡(luò)模型已有數(shù)十種。例如: 傳
12、統(tǒng)的感知機模型;具有誤差反向傳播功能的反向傳播網(wǎng)絡(luò)模型;采用多變量插值的徑向基函數(shù)網(wǎng)絡(luò)模型;建立在統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上的支撐向量機網(wǎng)絡(luò)模型;采用反饋聯(lián)接方式的反饋網(wǎng)絡(luò)模型;基于模擬退火算法的隨機網(wǎng)絡(luò)模型。重點討論 1. 感知器(Perceptron)模型 2. 反向傳播(BP)模型 3. 反饋網(wǎng)絡(luò)(Hopfield)模型4.2.3 人工神經(jīng)網(wǎng)絡(luò)的典型模型23 感知器是美國學(xué)者羅森勃拉特(Rosenblatt)于1957年為研究大腦的存儲、學(xué)習(xí)和認(rèn)知過程而提出的一類具有自學(xué)習(xí)能力的神經(jīng)網(wǎng)絡(luò)模型,其拓?fù)浣Y(jié)構(gòu)是一種分層前向網(wǎng)絡(luò)。它包括:單層感知器和多層感知器。 單層感知器是一種只具有單層可調(diào)節(jié)連接權(quán)值
13、神經(jīng)元的前向網(wǎng)絡(luò),這些神經(jīng)元構(gòu)成了單層感知器的輸出層,是感知器的可計算節(jié)點。 在單層感知器中,每個可計算節(jié)點都是一個線性閾值神經(jīng)元。當(dāng)輸入信息的加權(quán)和大于或等于閾值時,輸出為1,否則輸出為0或-1。 單層感知器的輸出層的每個神經(jīng)元都只有一個輸出,且該輸出僅與本神經(jīng)元的輸入及聯(lián)接權(quán)值有關(guān),而與其他神經(jīng)元無關(guān)。1. 感知器模型單層 感知器(1/7)24單層感知器的結(jié)構(gòu)如下圖x1x2xny1ym輸入層輸出層權(quán)值 wij輸入向量為X=(x1,x2,xn);輸出向量為Y=(y1,y2,ym);輸入層各個輸入到相應(yīng)神經(jīng)元的連接權(quán)值分別是wij,i=1,2,.,n,j=1,2,., m。 若假設(shè)各神經(jīng)元的閾
14、值分別是j,j=1,2,m,則各神經(jīng)元的輸出yj, j=1,2,.,m分別為 其中,由所有連接權(quán)值wji構(gòu)成的連接權(quán)值矩陣W為: 在實際應(yīng)用中,該矩陣是通過大量的訓(xùn)練示例學(xué)習(xí)而形成的1. 感知器模型單層感知器(2/7)25 使用感知器的主要目的是為了對外部輸入進(jìn)行分類。 羅森勃拉特已經(jīng)證明,如果外部輸入是線性可分的(指存在一個超平面可以將它們分開),則單層感知器一定能夠把它劃分為兩類。其判別超平面由如下判別式確定:1.感知器模型單層感知器(3/7) 作為例子,下面討論用單個感知器實現(xiàn)邏輯運算的問題。事實上,單層感知器可以很好地實現(xiàn)“與”、“或”、“非”運算,但卻不能解決“異或”問題。26例4.
15、1 “與”運算(x1x2)(0,0)(1,1)(0,1)(1,0)圖4.10 與運算問題圖示輸入輸出超平面閾值條件x1x2x1x2w1*x1+ w2* x2-=0 000w1*0+ w2*0 -0 0 010w1*0+ w2*1 -0 w2 100w1*1+ w2*0 -0 w1 111w1*1+ w2*1-0 w1+ w2 可以證明此表有解,例如取w1=1,w2=1,=1.5,其分類結(jié)果如右圖所示。 其中,輸出為1的用實心圓,輸出為0的用空心圓。后面約定相同。1. 感知器模型單層感知器(4/7)27例4.2 “或”運算(x1x2)輸入輸出超平面閾值條件x1x2x1x2w1*x1+ w2* x
16、2-=0 000w1*0+ w2*0 -0 0 011w1*0+ w2*1 -0 w2 101w1*1+ w2*0 -0 w1 111w1*1+ w2*1-0 w1+ w2 此表也有解,例如取w1=1,w2=1,=0.5,其分類結(jié)果如右圖所示。(0,1)(0,0)(1,0)圖4.11 或運算問題圖示(1,1)1. 感知器模型單層感知器(5/7)28例4.3 “非”運算(x1)輸入輸出超平面閾值條件x1x1w1*x1-=0 01w1*0 - 0 0 10w1*1 w1 此表也有解,例如取w1=-1,=-0.5,其分類結(jié)果如右圖所示。 圖4.12 非運算問題圖示011. 感知器模型單層感知器(6/
17、7)29例4.4 “異或”運算(x1 XOR x2)輸入輸出超平面閾值條件x1x2x1 XOR x2w1*x1+ w2* x2-=0 000w1*0+ w2*0 -0 0 011w1*0+ w2*1 -0 w2 101w1*1+ w2*0 -0 w1 110w1*1+ w2*1-w1+ w2 此表無解,即無法找到滿足條件的w1、w2和,如右圖所示。因為異或問題是一個非線性可分問題,需要用多層感知器來解決。(0,1)(0,0)(1,0)圖4.13 異或運算問題圖示(1,1)1. 感知器模型單層感知器(77)30 (2) 多層感知器 多層感知器是通過在單層感知器的輸入、輸出層之間加入一層或多層處理
18、單元所構(gòu)成的。其拓?fù)浣Y(jié)構(gòu)與圖5.9所示的多層前向網(wǎng)絡(luò)相似,差別也在于其計算節(jié)點的連接權(quán)值是可變的。 多層感知器的輸入與輸出之間是一種高度非線性的映射關(guān)系,如圖4.9所示的多層前向網(wǎng)絡(luò),若采用多層感知器模型,則該網(wǎng)絡(luò)就是一個從n維歐氏空間到m維歐氏空間的非線性映射。因此,多層感知器可以實現(xiàn)非線性可分問題的分類。例如,對“異或”運算,用圖4.14所示的多層感知器即可解決。 1. 感知器模型多層 感知器(1/2)31對BP網(wǎng)絡(luò)需說明以下兩點: 第一,BP網(wǎng)絡(luò)的每個處理單元均為非線性輸入/輸出關(guān)系,其作用函數(shù)通常采用的是可微的Sigmoid函數(shù),如:2. BP網(wǎng)絡(luò)模型模型說明 第二,BP網(wǎng)絡(luò)的學(xué)習(xí)過程
19、是由工作信號的正向傳播和誤差信號的反向傳播組成的。所謂正向傳播,是指輸入模式經(jīng)隱層到輸出層,最后形成輸出模式;所謂誤差反向傳播,是指從輸出層開始逐層將誤差傳到輸入層,并修改各層聯(lián)接權(quán)值,使誤差信號為最小的過程。34 Hopfield網(wǎng)絡(luò)是由美國加州工學(xué)院物理學(xué)家霍普菲爾特1982年提出來的一種單層全互連的對稱反饋網(wǎng)絡(luò)模型。它可分為離散Hopfield網(wǎng)絡(luò)和連續(xù)Hopfield網(wǎng)絡(luò),限于篇幅,本書重點討論離散Hopfield網(wǎng)絡(luò)。 離散Hopfield網(wǎng)絡(luò)的結(jié)構(gòu) 離散Hopfield網(wǎng)絡(luò)是在非線性動力學(xué)的基礎(chǔ)上由若干基本神經(jīng)元構(gòu)成的一種單層全互連網(wǎng)絡(luò),其任意神經(jīng)元之間均有連接,并且是一種對稱連接
20、結(jié)構(gòu)。一個典型的離散 Hopfidld網(wǎng)絡(luò)結(jié)構(gòu)如圖4-17所示。離散Hopfield網(wǎng)絡(luò)模型是一個離散時間系統(tǒng),每個神經(jīng)元只有0和1(或-1和1)兩種狀態(tài),任意神經(jīng)元i和j之間的連接權(quán)值為wij。由于神經(jīng)元之間為對稱連接,且神經(jīng)元自身無連接,因此有3. Hopfield網(wǎng)絡(luò)模型離散Hopfield網(wǎng)絡(luò)模型(1/2)由該連接權(quán)值所構(gòu)成的連接矩陣是一個零對角的對稱矩陣。35圖 417 離散Hopfield網(wǎng)絡(luò)的結(jié)構(gòu)ymY2Y1x1x2xn輸入層輸出層 在 Hopfidld網(wǎng)絡(luò)中,雖然神經(jīng)元自身無連接,但由于每個神經(jīng)元都與其他神經(jīng)元相連,即每個神經(jīng)元的輸出都將通過突觸連接權(quán)值傳遞給別的神經(jīng)元,同時每
21、個神經(jīng)元又都接受其他神經(jīng)元傳來的信息,這樣對每個神經(jīng)元來說,其輸出經(jīng)過其他神經(jīng)元后又有可能反饋給自己,因此Hopfidld網(wǎng)絡(luò)是一種反饋神經(jīng)網(wǎng)絡(luò) 3. Hopfield網(wǎng)絡(luò)模型離散Hopfield網(wǎng)絡(luò)模型(2/2)36 4.1 概述 4.2 神經(jīng)計算 4.3 進(jìn)化計算 4.3.1 進(jìn)化計算概述 4.3.2 遺傳算法 4.4 模糊計算 4.5 粗糙集第4章 計算智能37 進(jìn)化計算(Evolutionary Computation,EC)是在達(dá)爾文(Darwin)的進(jìn)化論和孟德爾(Mendel)的遺傳變異理論的基礎(chǔ)上產(chǎn)生的一種在基因和種群層次上模擬自然界生物進(jìn)化過程與機制的問題求解技術(shù)。它主要包括
22、 遺傳算法(Genetic Algorithm,GA) 進(jìn)化策略(Evolutionary Strategy,ES) 進(jìn)化規(guī)劃(Evolutionary Programming,EP) 遺傳規(guī)劃(Genetic Programming,GP)四大分支。其中,第一個分支是進(jìn)化計算中最初形成的一種具有普遍影響的模擬進(jìn)化優(yōu)化算法。因此我們主要討論遺傳算法。4.3 進(jìn)化計算38 進(jìn)化計算是一種模擬自然界生物進(jìn)化過程與機制進(jìn)行問題求解的自組織、自適應(yīng)的隨機搜索技術(shù)。它以達(dá)爾文進(jìn)化論的“物竟天擇、適者生存”作為算法的進(jìn)化規(guī)則,并結(jié)合孟德爾的遺傳變異理論,將生物進(jìn)化過程中的 繁殖(Reproduction)
23、 變異(Mutation) 競爭(Competition) 選擇(Selection)引入到了算法中。4.3.1 進(jìn)化計算概述1. 進(jìn)化計算及其生物學(xué)基礎(chǔ)(1/3) (1) 什么是進(jìn)化計算39(2) 進(jìn)化計算的生物學(xué)基礎(chǔ) 自然界生物進(jìn)化過程是進(jìn)化計算的生物學(xué)基礎(chǔ),它主要包括遺傳(Heredity)、變異(Mutation)和進(jìn)化(Evolution)理論。 遺傳理論 遺傳是指父代(或親代)利用遺傳基因?qū)⒆陨淼幕蛐畔鬟f給下一代(或子代),使子代能夠繼承其父代的特征或性狀的這種生命現(xiàn)象。 在自然界,構(gòu)成生物基本結(jié)構(gòu)與功能的單位是細(xì)胞(Cell)。 細(xì)胞中含有一種包含著所有遺傳信息的復(fù)雜而又微小
24、的絲狀化合物,人們稱其為染色體(Chromosome)。 在染色體中,遺傳信息由基因(Gene)所組成,基因決定著生物的性狀,是遺傳的基本單位。 染色體的形狀是一種雙螺旋結(jié)構(gòu),構(gòu)成染色體的主要物質(zhì)叫做脫氧核糖核酸(DNA),每個基因都在DNA長鏈中占有一定的位置。 一個細(xì)胞中的所有染色體所攜帶的遺傳信息的全體稱為一個基因組。4.3.1 進(jìn)化計算概述1. 進(jìn)化計算及其生物學(xué)基礎(chǔ)(2/3)40 變異理論 變異是指子代和父代之間,以及子代的各個不同個體之間產(chǎn)生差異的現(xiàn)象。變異是一種隨機、不可逆現(xiàn)象,是生物多樣性的基礎(chǔ)。 引起變異的主要原因: 雜交,是指有性生殖生物在繁殖下一代時兩個同源染色體之間的交
25、配重組。 復(fù)制差錯,是指在細(xì)胞復(fù)制過程中因DNA上某些基因結(jié)構(gòu)的隨機改變而產(chǎn)生出新的染色體。 進(jìn)化論 進(jìn)化是指在生物延續(xù)生存過程中,逐漸適應(yīng)其生存環(huán)境,使得其品質(zhì)不斷得到改良的這種生命現(xiàn)象。遺傳和變異是生物進(jìn)化的兩種基本現(xiàn)象,優(yōu)勝劣汰、適者生存是生物進(jìn)化的基本規(guī)律。 達(dá)爾文的自然選擇學(xué)說:在生物進(jìn)化中,一種基因有可能發(fā)生變異而產(chǎn)生出另一種新的基因。這種新基因?qū)⒁罁?jù)其與生存環(huán)境的適應(yīng)性而決定其增殖能力。通常,適應(yīng)性強的基因會不斷增多,而適應(yīng)性差的基因則會逐漸減少。通過這種自然選擇,物種將逐漸向適應(yīng)于生存環(huán)境的方向進(jìn)化,甚至?xí)葑兂蔀榱硪粋€新的物種,而那些不適應(yīng)于環(huán)境的物種將會逐漸被淘汰。4.3.
26、1 進(jìn)化計算概述1. 進(jìn)化計算及其生物學(xué)基礎(chǔ)(3/3)41 進(jìn)化計算自20世紀(jì)50年代以來,其發(fā)展過程大致可分為三個階段。 (1) 萌芽階段 這一階段是從20世紀(jì)50年代后期到70年代中期。20世紀(jì)50年代后期,一些生物學(xué)家在研究如何用計算機模擬生物遺傳系統(tǒng)中,產(chǎn)生了遺傳算法的基本思想,并于1962年由美國密執(zhí)安(Michigan)大學(xué)霍蘭德(Holland)提出。1965年德國數(shù)學(xué)家雷切伯格(Rechenberg)等人提出了一種只有單個個體參與進(jìn)化,并且僅有變異這一種進(jìn)化操作的進(jìn)化策略。同年,美國學(xué)者弗格爾(Fogel)提出了一種具有多個個體和僅有變異一種進(jìn)化操作的進(jìn)化規(guī)劃。1969年美國密
27、執(zhí)安(Michigan)大學(xué)的霍蘭德(Holland)提出了系統(tǒng)本身和外部環(huán)境相互協(xié)調(diào)的遺傳算法。至此,進(jìn)化計算的三大分支基本形成。 (2) 成長階段 這一階段是從20世紀(jì)70年代中期到80年代后期。1975年,霍蘭德出版專著自然和人工系統(tǒng)的適應(yīng)性(Adaptation in Natural and Artificial System),全面介紹了遺傳算法。同年,德國學(xué)者施韋費爾(Schwefel)在其博士論文中提出了一種由多個個體組成的群體參與進(jìn)化的,并且包括了變異和重組這兩種進(jìn)化操作的進(jìn)化策略。1989年,霍蘭德的學(xué)生戈爾德伯格(Goldberg)博士出版專著遺傳算法-搜索、優(yōu)化及機器學(xué)習(xí)
28、(Genetic Algorithm-in Search Optimization and Machine Learning),使遺傳算法得到了普及與推廣。4.3.1 進(jìn)化計算概述2. 進(jìn)化計算的產(chǎn)生與發(fā)展(1/2)42 (3) 發(fā)展階段 這一階段是從20世紀(jì)90年代至今。1989年,美國斯坦福(Stanford)大學(xué)的科扎(Koza)提出了遺傳規(guī)劃的新概念,并于1992年出版了專著遺傳規(guī)劃-應(yīng)用自然選擇法則的計算機程序設(shè)計(Genetic Programming :on the Programming of Computer by Means of Natural Selection)該書全
29、面介紹了遺傳規(guī)劃的基本原理及應(yīng)用實例,標(biāo)志著遺傳規(guī)劃作為計算智能的一個分支已基本形成。 進(jìn)入20世紀(jì)90年代以來,進(jìn)化計算得到了眾多研究機構(gòu)和學(xué)者的高度重視,新的研究成果不斷出現(xiàn)、應(yīng)用領(lǐng)域不斷擴大。目前,進(jìn)化計算已成為人工智能領(lǐng)域的又一個新的研究熱點。 4.3.1 進(jìn)化計算概述2. 進(jìn)化計算的產(chǎn)生與發(fā)展(2/2)43 進(jìn)化計算盡管有多個重要分支,但它們卻有著共同的進(jìn)化框架。 若假設(shè)P為種群(Population,或稱為群體),t為進(jìn)化代數(shù), P(t)為第t代種群 , 則進(jìn)化計算的基本結(jié)構(gòu)可粗略描述如下: 確定編碼形式并生成搜索空間; 初始化各個進(jìn)化參數(shù),并設(shè)置進(jìn)化代數(shù)t=0; 初始化種群P(0
30、); 對初始種群進(jìn)行評價(即適應(yīng)度計算); while(不滿足終止條件)do t=t+1; 利用選擇操作從P(t-1)代中選出P(t)代群體; 對P(t)代種群執(zhí)行進(jìn)化操作; 對執(zhí)行完進(jìn)化操作后的種群進(jìn)行評價(即適應(yīng)度計算); 可以看出,上述基本結(jié)構(gòu)包含了生物進(jìn)化中所必需的選擇操作、進(jìn)化操作和適應(yīng)度評價等過程。4.3.1 進(jìn)化計算概述3. 進(jìn)化計算的基本結(jié)構(gòu)44 遺傳算法的基本思想是從初始種群出發(fā),采用優(yōu)勝劣汰、適者生存的自然法則選擇個體,并通過雜交、變異來產(chǎn)生新一代種群,如此逐代進(jìn)化,直到滿足目標(biāo)為止。遺傳算法所涉及到的基本概念主要有以下幾個: 種群(Population):種群是指用遺傳算
31、法求解問題時,初始給定的多個解的集合。遺傳算法的求解過程是從這個子集開始的。 個體(Individual):個體是指種群中的單個元素,它通常由一個用于描述其基本遺傳結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)來表示。 染色體(Chromos):染色體是指對個體進(jìn)行編碼后所得到的編碼串。其中的每1位稱為基因,若干個基因構(gòu)成的一個有效信息段稱為基因組。 適應(yīng)度(Fitness)函數(shù):適應(yīng)度函數(shù)是一種用來對種群中各個個體的環(huán)境適應(yīng)性進(jìn)行度量的函數(shù)。 遺傳操作(Genetic Operator):遺傳操作是指作用于種群而產(chǎn)生新的種群的操作。標(biāo)準(zhǔn)的遺傳操作包括以下3種基本形式: 選擇(Selection) 交叉(Crosssover
32、) 變異(Mutation) 4.3.2 遺傳算法1. 遺傳算法的基本概念45 遺傳算法主要由染色體編碼、初始種群設(shè)定、適應(yīng)度函數(shù)設(shè)定、遺傳操作設(shè)計等幾大部分所組成,其算法主要內(nèi)容和基本步驟可描述如下: (1) 選擇編碼策略,將問題搜索空間中每個可能的點用相應(yīng)的編碼策略表示出來,即形成染色體; (2) 定義遺傳策略,包括種群規(guī)模N,交叉、變異方法,以及選擇概率Pr、交叉概率Pc、變異概率Pm等遺傳參數(shù); (3) 令t=0,隨機選擇N個染色體初始化種群P(0); (4) 定義適應(yīng)度函數(shù)f(f0); (5) 計算P(t)中每個染色體的適應(yīng)值; (6) t=t+1; (7) 運用選擇算子,從P(t-
33、1)中得到P(t); (8) 對P(t)中的每個染色體,按概率Pc參與交叉; (9) 對染色體中的基因,以概率Pm參與變異運算; (10) 判斷群體性能是否滿足預(yù)先設(shè)定的終止標(biāo)準(zhǔn),若不滿足則返回(5)。4.3.2 遺傳算法2. 遺傳算法的基本過程(1/2)46計算種群中各個個體的適應(yīng)度,并進(jìn)行評價滿足終止條件嗎?終止選擇交叉變異Y圖4-18 基本遺傳算法的算法流程圖編碼和生成初始種群N選擇 其算法流程如圖4-18所示。4.3.2 遺傳算法2. 遺傳算法的基本結(jié)構(gòu)(2/2)47 常用的遺傳編碼算法有霍蘭德二進(jìn)制碼、格雷碼(Gray Code)、實數(shù)編碼和字符編碼等。(1)二進(jìn)制編碼(Binary
34、 encoding) 二進(jìn)制編碼是將原問題的結(jié)構(gòu)變換為染色體的位串結(jié)構(gòu)。在二進(jìn)制編碼中,首先要確定二進(jìn)制字符串的長度l,該長度與變量的定義域和所求問題的計算精度有關(guān)。 例5.5 假設(shè)變量x的定義域為5,10,要求的計算精度為10-5,則需要將5,10至少分為600000個等長小區(qū)間,每個小區(qū)間用一個二進(jìn)制串表示。于是,串長至少等于20,原因是: 524288=219600000220=1048576這樣,對應(yīng)于區(qū)間5,10內(nèi)滿足精度要求的每個值x,都可用一個20位編碼的二進(jìn)制串來表示。 二進(jìn)制編碼存在的主要缺點是漢明(Hamming)懸崖。 例如,7和8的二進(jìn)制數(shù)分別為0111和1000,當(dāng)算
35、法從7改進(jìn)到8時,就必須改變所有的位。 4.3.2 遺傳算法3. 遺傳編碼(1/3)484.3.2 遺傳算法3. 遺傳編碼(2/3)(2) 格雷編碼(Gray encoding) 格雷編碼是對二進(jìn)制編碼進(jìn)行變換后所得到的一種編碼方法。這種編碼方法要求兩個連續(xù)整數(shù)的編碼之間只能有一個碼位不同,其余碼位都是完全相同的。它有效地解決了漢明懸崖問題,其基本原理如下: 設(shè)有二進(jìn)制串b1,b2,bn,對應(yīng)的格雷串為a1,a2,an,則從二進(jìn)制編碼到格雷編碼的變換為: (4.9)其中,表示模2加法。而從一個格雷串到二進(jìn)制串的變換為: (4.10) 例4.6 十進(jìn)制數(shù)7和8的二進(jìn)制編碼分別為0111和1000
36、,而其格雷編碼分別為0100和1100。49(3) 實數(shù)編碼(Real encoding) 實數(shù)編碼是將每個個體的染色體都用某一范圍的一個實數(shù)(浮點數(shù))來表示,其編碼長度等于該問題變量的個數(shù)。 這種編碼方法是將問題的解空間映射到實數(shù)空間上,然后在實數(shù)空間上進(jìn)行遺傳操作。由于實數(shù)編碼使用的是變量的真實值,因此這種編碼方法也叫做真值編碼方法。 實數(shù)編碼適應(yīng)于那種多維、高精度要求的連續(xù)函數(shù)優(yōu)化問題。 4.3.2 遺傳算法3. 遺傳編碼(3/3)50 適應(yīng)度函數(shù)是一個用于對個體的適應(yīng)性進(jìn)行度量的函數(shù)。通常,一個個體的適應(yīng)度值越大,它被遺傳到下一代種群中的概率也就越大。(1) 常用的適應(yīng)度函數(shù) 在遺傳算
37、法中,有許多計算適應(yīng)度的方法,其中最常用的適應(yīng)度函數(shù)有以下兩種: 原始適應(yīng)度函數(shù) 它是直接將待求解問題的目標(biāo)函數(shù)f(x)定義為遺傳算法的適應(yīng)度函數(shù)。例如,在求解極值問題時,f(x)即為x的原始適應(yīng)度函數(shù)。 采用原始適應(yīng)度函數(shù)的優(yōu)點是能夠直接反映出待求解問題的最初求解目標(biāo),其缺點是有可能出現(xiàn)適應(yīng)度值為負(fù)的情況。 4.3.2 遺傳算法4. 適應(yīng)度函數(shù)(1/5)51 標(biāo)準(zhǔn)適應(yīng)度函數(shù) 在遺傳算法中,一般要求適應(yīng)度函數(shù)非負(fù),并其適應(yīng)度值越大越好。這就往往需要對原始適應(yīng)函數(shù)進(jìn)行某種變換,將其轉(zhuǎn)換為標(biāo)準(zhǔn)的度量方式,以滿足進(jìn)化操作的要求,這樣所得到的適應(yīng)度函數(shù)被稱為標(biāo)準(zhǔn)適應(yīng)度函數(shù)fNormal(x)。例如下面
38、的極小化和極大化問題: 極小化問題 對極小化問題,其標(biāo)準(zhǔn)適應(yīng)度函數(shù)可定義為 (4.11)其中,fmax (x)是原始適應(yīng)函數(shù)f(x)的一個上界。如果fmax (x) 未知,則可用當(dāng)前代或到目前為止各演化代中的f(x)的最大值來代替。可見, fmax (x) 是會隨著進(jìn)化代數(shù)的增加而不斷變化的。 4.3.2 遺傳算法4. 適應(yīng)度函數(shù)(2/5)52 極大化問題 對極大化問題,其標(biāo)準(zhǔn)適應(yīng)度函數(shù)可定義為 (4.12)其中,fmin(x)是原始適應(yīng)函數(shù)f(x)的一個下界。如果fmin(x) 未知,則可用當(dāng)前代或到目前為止各演化代中的f(x)的最小值來代替。 4.3.2 遺傳算法4. 適應(yīng)度函數(shù)(3/5)
39、53(2) 適應(yīng)度函數(shù)的加速變換 在某些情況下,需要對適應(yīng)度函數(shù)進(jìn)行加速速度。 適應(yīng)度函數(shù)的加速變換有兩種基本方法 線性加速的適應(yīng)度函數(shù)的定義如下: f(x)=f(x)+其中,f(x)是加速轉(zhuǎn)換前的適應(yīng)度函數(shù); f(x)是加速轉(zhuǎn)換后的適應(yīng)度函數(shù);和是轉(zhuǎn)換系數(shù),它們應(yīng)滿足如下條件: 變化后得到的新的適應(yīng)度函數(shù)平均值要等于原適應(yīng)度函數(shù)的平均值。即 (4.13)其中,xi(i=1,n)為當(dāng)前代中的染色體。4.3.2 遺傳算法4. 適應(yīng)度函數(shù)(4/5)54 變換后所得到的新的種群個體所具有的最大適應(yīng)度要等于其平均適應(yīng)度的指數(shù)倍數(shù)。即有關(guān)系: (4.14) 式中,xi(i=1,n) 為當(dāng)前代中的染色體,
40、M是指將當(dāng)前的最大適應(yīng)度放大為平均值的M倍。目的是通過M拉開不同染色體適應(yīng)度值的差距。 非線性加速 冪函數(shù)變換方法 f(x)=f(x)k (4.15) 指數(shù)變換方法 f(x)=exp(-f(x) (4.16) 4.3.2 遺傳算法4. 適應(yīng)度函數(shù)(5/5)55 遺傳算法中的基本遺傳操作包括選擇、交叉和變異3種,而每種操作又包括多種不同的方法,下面分別對它們進(jìn)行介紹。(1). 選擇操作 選擇(Selection)操作是指根據(jù)選擇概率按某種策略從當(dāng)前種群中挑選出一定數(shù)目的個體,使它們能夠有更多的機會被遺傳到下一代中。 常用的選擇策略可分為比例選擇、排序選擇和競技選擇三種類型。 比例選擇 比例選擇方
41、法(Proportional Model)的基本思想是:各個個體被選中的概率與其適應(yīng)度大小成正比。 常用的比例選擇策略包括 輪盤賭選擇 繁殖池選擇4.3.2 遺傳算法5. 基本遺傳操作(1/11)56 輪盤賭選擇 輪盤賭選擇法又被稱為轉(zhuǎn)盤賭選擇法或輪盤選擇法。在這種方法中,個體被選中的概率取決于該個體的相對適應(yīng)度。而相對適應(yīng)度的定義為:其中,P(xi)是個體xi的相對適應(yīng)度,即個體xi被選中的概率;f(xi)是個體xi的原始適應(yīng)度;是種群的累加適應(yīng)度。 輪盤賭選擇算法的基本思想是:根據(jù)每個個體的選擇概率P(xi)將一個圓盤分成N個扇區(qū),其中第i個扇區(qū)的中心角為:再設(shè)立一個移動指針,將圓盤的轉(zhuǎn)動
42、等價為指針的移動。選擇時,假想轉(zhuǎn)動圓盤,若靜止時指針指向第i個扇區(qū),則選擇個體i。其物理意義如圖5-19所示。4.3.2 遺傳算法5. 基本遺傳操作(2/11)57P(x1)P(x2)P(xN)P(xi)2p(xi)圖4-19 輪盤賭選擇 從統(tǒng)計角度看,個體的適應(yīng)度值越大,其對應(yīng)的扇區(qū)的面積越大,被選中的可能性也越大。這種方法有點類似于發(fā)放獎品使用的輪盤,并帶有某種賭博的意思,因此亦被稱為輪盤賭選擇。4.3.2 遺傳算法5. 基本遺傳操作(3/11)58(2)交叉操作 交叉(Crossover)操作是指按照某種方式對選擇的父代個體的染色體的部分基因進(jìn)行交配重組,從而形成新的個體。交配重組是自然
43、界中生物遺傳進(jìn)化的一個主要環(huán)節(jié),也是遺傳算法中產(chǎn)生新的個體的最主要方法。根據(jù)個體編碼方法的不同,遺傳算法中的交叉操作可分為二進(jìn)制交叉和實值交叉兩種類型。 二進(jìn)制交叉 二進(jìn)制交叉(Binary Valued Crossover)是指二進(jìn)制編碼情況下所采用的交叉操作,它主要包括單點交叉、兩點交叉、多點交叉和均勻交叉等方法。4.3.2 遺傳算法5. 基本遺傳操作(4/11)59 單點交叉 單點交叉也稱簡單交叉,它是先在兩個父代個體的編碼串中隨機設(shè)定一個交叉點,然后對這兩個父代個體交叉點前面或后面部分的基因進(jìn)行交換,并生成子代中的兩個新的個體。假設(shè)兩個父代的個體串分別是: X=x1 x2 xk xk+
44、1 xn Y=y1 y2 yk yk+1 yn 隨機選擇第k位為交叉點,若采用對交叉點后面的基因進(jìn)行交換的方法,但點交叉是將X中的xk+1到xn部分與Y中的yk+1到y(tǒng)n部分進(jìn)行交叉,交叉后生成的兩個新的個體是: X= x1 x2 xk yk+1 yn Y= y1 y2 yk xk+1 xn 例4.7 設(shè)有兩個父代的個體串A=0 0 1 1 0 1 和B=1 1 0 0 1 0 ,若隨機交叉點為4,則交叉后生成的兩個新的個體是: A= 0 0 1 1 1 0 B= 1 1 0 0 0 1 4.3.2 遺傳算法5. 基本遺傳操作(5/11)60 兩點交叉 兩點交叉是指先在兩個父代個體的編碼串中隨
45、機設(shè)定兩個交叉點,然后再按這兩個交叉點進(jìn)行部分基因交換,生成子代中的兩個新的個體。 假設(shè)兩個父代的個體串分別是: X=x1 x2 xi xj xn Y=y1 y2 yi yj ,yn 隨機設(shè)定第i、j位為兩個交叉點(其中ijn),兩點交叉是將X中的xi+1到xj部分與Y中的yi+1到y(tǒng)j部分進(jìn)行交換,交叉后生成的兩個新的個體是: X= x1 x2 xi yi+1 yj xj+1 xn Y= y1 y2 yi xi+1 xj yj+1 yn 例4.8 設(shè)有兩個父代的個體串A= 0 0 1 1 0 1 和B= 1 1 0 0 1 0 ,若隨機交叉點為3和5,則交叉后的兩個新的個體是: A= 0 0
46、 1 0 1 1 B= 1 1 0 1 0 0 4.3.2 遺傳算法5. 基本遺傳操作(6/11)61 多點交叉 多點交是指先隨機生成多個交叉點,然后再按這些交叉點分段地進(jìn)行部分基因交換,生成子代中的兩個新的個體。 假設(shè)交叉點個數(shù)為m,則可將個體串劃分為m+1個分段,其劃分方法是: 當(dāng)m為偶數(shù)時,對全部交叉點依次進(jìn)行兩兩配對,構(gòu)成m/2個交叉段。 當(dāng)m為奇數(shù)時,對前(m-1)個交叉點依次進(jìn)行兩兩配對,構(gòu)成(m-1)/2個交叉段,而第m個交叉點則按單點交叉方法構(gòu)成一個交叉段。 下面以m=3為例進(jìn)行討論。假設(shè)兩個父代的個體串分別是X=x1 x2 xi xj xk xn和Y=y1 y2 yi yj
47、yk yn,隨機設(shè)定第i、j、k位為三個交叉點(其中ijkn),則將構(gòu)成兩個交叉段。交叉后生成的兩個新的個體是: X= x1 x2 xi yi+1 yj xj+1 xk yk+1 yn Y= y1 y2 yi xi+1 xj yj+1 yk xk+1 xn 例4.9 設(shè)有兩個父代的個體串A= 0 0 1 1 0 1 和B= 1 1 0 0 1 0 ,若隨機交叉點為1、3和5,則交叉后的兩個新的個體是: A= 0 1 0 1 0 0 B= 1 0 1 0 1 1 4.3.2 遺傳算法5. 基本遺傳操作(7/11)62 均勻交叉 均勻交叉(Uniform Crossover)是先隨機生成一個與父串
48、具有相同長度,并被稱為交叉模版(或交叉掩碼)的二進(jìn)制串,然后再利用該模版對兩個父串進(jìn)行交叉,即將模版中1對應(yīng)的位進(jìn)行交換,而0對應(yīng)的位不交換,依此生成子代中的兩個新的個體。事實上,這種方法對父串中的每一位都是以相同的概率隨機進(jìn)行交叉的。 例4.10 設(shè)有兩個父代的個體串A=001101和B=110010,若隨機生成的模版T=010011,則交叉后的兩個新的個體是A=011010和B=100101。即 A: 0 0 1 1 0 1 B: 1 1 0 0 1 0 T: 0 1 0 0 1 1 A:0 1 1 1 1 0 B:1 0 0 0 0 14.3.2 遺傳算法5. 基本遺傳操作(8/11)6
49、3 實值交叉 實值交叉是在實數(shù)編碼情況下所采用的交叉操作,主要包括離散交叉和算術(shù)交叉,下面主要討論離散交叉(部分離散交叉和整體離散交叉) 。 部分離散交叉是先在兩個父代個體的編碼向量中隨機選擇一部分分量,然后對這部分分量進(jìn)行交換,生成子代中的兩個新的個體。 整體交叉則是對兩個父代個體的編碼向量中的所有分量,都以1/2的概率進(jìn)行交換,從而生成子代中的兩個新的個體。 以部分離散交叉為例,假設(shè)兩個父代個體的n維實向量分別是 X=x1x2 xixkxn和Y=y1y2yiykyn,若隨機選擇對第k個分量以后的所有分量進(jìn)行交換,則生成的兩個新的個體向量是: X= x1 x2 xk yk+1 yn Y= y
50、1 y2 yk xk+1 xn 例4.11 設(shè)有兩個父代個體向量A=20 16 19 32 18 26和B=36 25 38 12 21 30,若隨機選擇對第3個分量以后的所有分量進(jìn)行交叉,則交叉后兩個新的個體向量是: A= 20 16 19 12 21 30 B= 36 25 38 32 18 26 4.3.2 遺傳算法5. 基本遺傳操作(9/11)64 (3) 變異操作 變異(Mutation)是指對選中個體的染色體中的某些基因進(jìn)行變動,以形成新的個體。變異也是生物遺傳和自然進(jìn)化中的一種基本現(xiàn)象,它可增強種群的多樣性。遺傳算法中的變異操作增加了算法的局部隨機搜索能力,從而可以維持種群的多樣
51、性。根據(jù)個體編碼方式的不同,變異操作可分為二進(jìn)制變異和實值變異兩種類型。 二進(jìn)制變異 當(dāng)個體的染色體采用二進(jìn)制編碼表示時,其變異操作應(yīng)采用二進(jìn)制變異方法。該變異方法是先隨機地產(chǎn)生一個變異位,然后將該變異位置上的基因值由“0”變?yōu)椤?”,或由“1”變?yōu)椤?”,產(chǎn)生一個新的個體。 例4.12 設(shè)變異前的個體為A=0 0 1 1 0 1,若隨機產(chǎn)生的變異位置是2,則該個體的第2位由“0”變?yōu)椤?”。 變異后的新的個體是A= 0 1 1 1 0 1 。4.3.2 遺傳算法5. 基本遺傳操作(10/11)65 實值變異 當(dāng)個體的染色體采用實數(shù)編碼表示時,其變異操作應(yīng)采用實值變異方法。該方法是用另外一個在
52、規(guī)定范圍內(nèi)的隨機實數(shù)去替換原變異位置上的基因值,產(chǎn)生一個新的個體。最常用的實值變異操作有: 基于位置的變異方法 該方法是先隨機地產(chǎn)生兩個變異位置,然后將第二個變異位置上的基因移動到第一個變異位置的前面。 例4.13 設(shè)選中的個體向量C=20 16 19 12 21 30,若隨機產(chǎn)生的兩個變異位置分別時2和4,則變異后的新的個體向量是: C= 20 12 16 19 21 30 基于次序的變異 該方法是先隨機地產(chǎn)生兩個變異位置,然后交換這兩個變異位置上的基因。 例4.14 設(shè)選中的個體向量D=20 12 16 19 21 30,若隨機產(chǎn)生的兩個變異位置分別時2和4,則變異后的新的個體向量是: D
53、= 20 19 16 12 21 304.3.2 遺傳算法5. 基本遺傳操作(11/11)66 例4.15 用遺傳算法求函數(shù) f(x)=x2的最大值,其中x為0,31間的整數(shù)。 解:這個問題本身比較簡單,其最大值很顯然是在x=31處。但作為一個例子,它有著較好的示范性和可理解性。 按照遺傳算法,其求解過程如下: (1) 編碼 由于x的定義域是區(qū)間0,31上的整數(shù),由5位二進(jìn)制數(shù)即可全部表示。因此,可采用二進(jìn)制編碼方法,其編碼串的長度為5。 例如,用二進(jìn)制串00000來表示x=0,11111來表示x=31等。其中的0和1為基因值。 (2) 生成初始種群 若假設(shè)給定的種群規(guī)模N=4,則可用4個隨機
54、生成的長度為5的二進(jìn)制串作為初始種群。再假設(shè)隨機生成的初始種群(即第0代種群)為: s01=0 1 1 0 1 s02=1 1 0 0 1 s03=0 1 0 0 0 s04=1 0 0 1 04.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(1/10)67 (3) 計算適應(yīng)度 要計算個體的適應(yīng)度,首先應(yīng)該定義適應(yīng)度函數(shù)。由于本例是求f(x)的最大值,因此可直接用f(x)來作為適應(yīng)度函數(shù)。即: f(s)=f(x)其中的二進(jìn)制串s對應(yīng)著變量x的值。根據(jù)此函數(shù),初始種群中各個個體的適應(yīng)值及其所占比例如表4-5所示。表4-5 初始種群情況表編號個體串(染色體)x適應(yīng)值百分比%累計百分比%選中次數(shù)S0101
55、1011316914.3014.301S02110012562552.8867.182S03010008645.4172.590S04100101832427.4110014.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(2/10) 可以看出,在4個個體中S02的適應(yīng)值最大,是當(dāng)前最佳個體。68 (4) 選擇操作 假設(shè)采用輪盤賭方式選擇個體,且依次生成的4個隨機數(shù)(相當(dāng)于輪盤上指針?biāo)傅臄?shù))為0.85、0.32、0.12和0.46,經(jīng)選擇后得到的新的種群為: S01=10010 S02=11001 S03=01101 S04=11001其中,染色體11001在種群中出現(xiàn)了2次,而原染色體01000則
56、因適應(yīng)值太小而被淘汰 4.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(3/10)69 (5) 交叉 假設(shè)交叉概率Pi為50%,則種群中只有1/2的染色體參與交叉。若規(guī)定種群中的染色體按順序兩兩配對交叉,且有S01與S02交叉,S03與S04不交叉,則交叉情況如表4-6所示。表4-6 初始種群的交叉情況表編號個體串(染色體)交叉對象交叉位 子代 適應(yīng)值S0110010S02310001289S0211001S01311010676S0301101S04N01101169S0411001S03N110016254.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(4/10)可見,經(jīng)交叉后得到的新的種群為: S0
57、1=10001 S02=11010 S03=01101 S04=1100170 (6) 變異 變異概率Pm一般都很小,假設(shè)本次循環(huán)中沒有發(fā)生變異,則變異前的種群即為進(jìn)化后所得到的第1代種群。即: S11=10001 S12=11010 S13=01101 S14=11001 然后,對第1代種群重復(fù)上述(4)-(6)的操作 4.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(5/10)71 其中若假設(shè)按輪盤賭選擇時依次生成的4個隨機數(shù)為0.14、0.51、0.24和0.82,經(jīng)選擇后得到的新的種群為: S11=10001 S12=11010 S13=11010 S14=11001可見,染色體11010被
58、選擇了2次,而原染色體01101則因適應(yīng)值太小而被淘汰。 編號個體串(染色體) x適應(yīng)值百分比%累計百分比%選中次數(shù)S11100011728916.4316.431S12110102667638.4354.862S1301101131699.6164.470S14110012562535.5310014.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(6/10) 對第1代種群,同樣重復(fù)上述(4)-(6)的操作。其選擇情況如表4-7所示。 表4-7 第1代種群的選擇情況表72可見,經(jīng)雜交后得到的新的種群為: S11=10010 S12=11001 S13=11001 S14=11010 可以看出,第3位
59、基因均為0,已經(jīng)不可能通過交配達(dá)到最優(yōu)解。這種過早陷入局部最優(yōu)解的現(xiàn)象稱為早熟。為解決這一問題,需要采用變異操作。編號個體串(染色體)交叉對象交叉位子代適應(yīng)值S1110001S12310010324S1211010S11311001625S13110101411001S132110106754.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(7/10) 對第1代種群,其交叉情況如表4-8所示。表4-8 第1代種群的交叉情況表73 它是通過對S14的第3位的變異來實現(xiàn)的。變異后所得到的第2代種群為: S21=10010 S22=11001 S23=11001 S24=11110
60、 接著,再對第2代種群同樣重復(fù)上述(4)-(6)的操作: 編號個體串(染色體)是否變異變異位子代適應(yīng)值S1110010N10010324S1211001N11001625S1311001N11001625S1411010Y3111109004.3.2 遺傳算法6. 遺傳算法應(yīng)用簡例(8/10)對第1代種群,其變異情況如表4-9所示。表4-9 第1代種群的變異情況表74其中若假設(shè)按輪盤賭選擇時依次生成的4個隨機數(shù)為0.42、0.15、0.59和0.91,經(jīng)選擇后得到的新的種群為: S21=11001 S22=10010 S23=11001 S24=11110編號個體串(染色體)x適應(yīng)值百分比%累
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品安全與藥品不良反應(yīng)的關(guān)聯(lián)性研究
- 足浴店的財務(wù)規(guī)劃與管理技巧
- 后現(xiàn)代別墅陳設(shè)搭配課件
- 八年級體育第4周教案
- 證明房產(chǎn)的合同范本
- 建設(shè)工程索賠的概念學(xué)習(xí)情境六建筑工程索賠課件
- 腦血管造影護(hù)理
- 針對跨國職場人員的定制化營養(yǎng)型食補計劃實踐研究
- 足浴與心理健康舒緩壓力的新方式
- 高效安檢航安知識庫的實踐應(yīng)用
- 第二章陸地和海洋【真題訓(xùn)練】(人教版)(原卷版)
- 小吃街概念性規(guī)劃
- 創(chuàng)新小白實操手冊 第2版 課件全套 吳雋 模塊1-8 人人皆可創(chuàng)新-商業(yè)呈現(xiàn)與商業(yè)計劃
- 2024年世界職業(yè)院校技能大賽高職組“關(guān)務(wù)實務(wù)組”賽項參考試題庫(含答案)
- 電商提成合同模板
- 正念八周課件
- 服務(wù)響應(yīng)時間和服務(wù)保障方案
- 蟾蜍毒抗病毒作用機制
- 光伏發(fā)電監(jiān)理合同協(xié)議
- 新能源汽車概論課件 3.1認(rèn)知純電動汽車
- 【數(shù)學(xué)】小學(xué)四年級口算題大全(10000道)
評論
0/150
提交評論