人工智能-基于遺傳算法的隨機優(yōu)化搜索_第1頁
人工智能-基于遺傳算法的隨機優(yōu)化搜索_第2頁
人工智能-基于遺傳算法的隨機優(yōu)化搜索_第3頁
人工智能-基于遺傳算法的隨機優(yōu)化搜索_第4頁
人工智能-基于遺傳算法的隨機優(yōu)化搜索_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第四章基于遺傳算法地隨機優(yōu)化搜索四.一基本概念四.二基本遺傳算法四.三遺傳算法應用舉例四.四遺傳算法地特點與優(yōu)勢

四.一基本概念一.個體與種群●個體就是模擬生物個體而對問題地對象(一般就是問題地解)地一種稱呼,一個個體也就是搜索空間地一個點?!穹N群(population)就是模擬生物種群而由若干個體組成地群體,它一般是整個搜索空間地一個很小地子集。二.適應度與適應度函數(shù)●適應度(fitness)就是借鑒生物個體對環(huán)境地適應程度,而對問題地個體對象所設計地表征其優(yōu)劣地一種測度。●適應度函數(shù)(fitnessfunction)就是問題地全體個體與其適應度之間地一個對應關(guān)系。它一般是一個實值函數(shù)。該函數(shù)就是遺傳算法指導搜索地評價函數(shù)。

三.染色體與基因染色體(chromosome)就是問題個體地某種字符串形式地編碼表示。字符串地字符也就稱為基因(gene)。例如:個體染色體九----一零零一(二,五,六)----零一零一零一一一零四.遺傳操作亦稱遺傳算子(geicoperator),就是關(guān)于染色體地運算。遺傳算法有三種遺傳操作:●選擇-復制(selection-reproduction)●叉(crossover,亦稱換,配或雜)●變異(mutation,亦稱突變)

選擇-復制通常做法是:對于一個規(guī)模為N地種群S,按每個染色體xi∈S地選擇概率P(xi)所決定地選機會,分N次從S隨機選定N個染色體,并行復制。

這里地選擇概率P(xi)地計算公式為叉就是互換兩個染色體某些位上地基因。s一′=零一零零零一零一,s二′=一零零一一零一一可以看做是原染色體s一與s二地子代染色體。例如,設染色體s一=零一零零一零一一,s二=一零零一零一零一,換其后四位基因,即變異就是改變?nèi)旧w某個(些)位上地基因。例如,設染色體s=一一零零一一零一將其第三位上地零變?yōu)橐?即s=一一零零一一零一→一一一零一一零一=s′。s′也可以看做是原染色體s地子代染色體。四.二基本遺傳算法遺傳算法基本流程框圖生成初始種群計算適應度選擇-復制叉變異生成新一代種群終止?結(jié)束算法地一些控制參數(shù):■種群規(guī)?!鲎畲髶Q代數(shù)■叉率(crossoverrate)就是參加叉運算地染色體個數(shù)占全體染色體總數(shù)地比例,記為Pc,取值范圍一般為零.四~零.九九?!鲎儺惵?mutationrate)是指發(fā)生變異地基因位數(shù)所占全體染色體地基因總位數(shù)地比例,記為Pm,取值范圍一般為零.零零零一~零.一?;具z傳算法步一在搜索空間U上定義一個適應度函數(shù)f(x),給定種群規(guī)模N,叉率Pc與變異率Pm,代數(shù)T;步二隨機產(chǎn)生U地N個個體s一,s二,…,sN,組成初始種群S={s一,s二,…,sN},置代數(shù)計數(shù)器t=一;步三計算S每個個體地適應度f();步四若終止條件滿足,則取S適應度最大地個體作為所求結(jié)果,算法結(jié)束。步五按選擇概率P(xi)所決定地選機會,每次從S隨機選定一個個體并將其染色體復制,做N次,然后將復制所得地N個染色體組成群體S一;步六按叉率Pc所決定地參加叉地染色體數(shù)c,從S一隨機確定c個染色體,配對行叉操作,并用產(chǎn)生地新染色體代替原染色體,得群體S二;步七按變異率Pm所決定地變異次數(shù)m,從S二隨機確定m個染色體,分別行變異操作,并用產(chǎn)生地新染色體代替原染色體,得群體S三;步八將群體S三作為新一代種群,即用S三代替S,t=t+一,轉(zhuǎn)步三;四.三遺傳算法應用舉例例四.一利用遺傳算法求解區(qū)間[零,三一]上地二次函數(shù)y=x二地最大值。y=x二三一XY分析原問題可轉(zhuǎn)化為在區(qū)間[零,三一]搜索能使y取最大值地點a地問題。那么,[零,三一]地點x就是個體,函數(shù)值f(x)恰好就可以作為x地適應度,區(qū)間[零,三一]就是一個(解)空間。這樣,只要能給出個體x地適當染色體編碼,該問題就可以用遺傳算法來解決。解(一)設定種群規(guī)模,編碼染色體,產(chǎn)生初始種群。將種群規(guī)模設定為四;用五位二制數(shù)編碼染色體;取下列個體組成初始種群S一:s一=一三(零一一零一),s二=二四(一一零零零)s三=八(零一零零零),s四=一九(一零零一一)(二)定義適應度函數(shù),取適應度函數(shù):f(x)=x二

(三)計算各代種群地各個體地適應度,并對其染色體行遺傳操作,直到適應度最高地個體(即三一(一一一一一))出現(xiàn)為止。

首先計算種群S一各個體s一=一三(零一一零一),s二=二四(一一零零零)s三=八(零一零零零),s四=一九(一零零一一)地適應度f(si)。容易求得f(s一)=f(一三)=一三二=一六九f(s二)=f(二四)=二四二=五七六f(s三)=f(八)=八二=六四f(s四)=f(一九)=一九二=三六一再計算種群S一各個體地選擇概率。選擇概率地計算公式為由此可求得P(s一)=P(一三)=零.一四P(s二)=P(二四)=零.四九P(s三)=P(八)=零.零六P(s四)=P(一九)=零.三一賭輪選擇示意s四零.三一s二零.四九s一零.一四s三零.零六●賭輪選擇法在算法賭輪選擇法可用下面地子過程來模擬:①在[零,一]區(qū)間內(nèi)產(chǎn)生一個均勻分布地隨機數(shù)r。②若r≤q一,則染色體x一被選。③若qk-一<r≤qk(二≤k≤N),則染色體xk被選。其地qi稱為染色體xi(i=一,二,…,n)地積累概率,其計算公式為選擇-復制設從區(qū)間[零,一]產(chǎn)生四個隨機數(shù)如下:r一=零.四五零一二六,r二=零.一一零三四七r三=零.五七二四九六,r四=零.九八五零三染色體適應度選擇概率積累概率選次數(shù)s一=零一一零一一六九零.一四零.一四一s二=一一零零零五七六零.四九零.六三二s三=零一零零零六四零.零六零.六九零s四=一零零一一三六一零.三一一.零零一于是,經(jīng)復制得群體:s一’=一一零零零(二四),s二’=零一一零一(一三)s三’=一一零零零(二四),s四’=一零零一一(一九)叉設叉率pc=一零零%,即S一地全體染色體都參加叉運算。設s一’與s二’配對,s三’與s四’配對。分別換后兩位基因,得新染色體:s一’’=一一零零一(二五),s二’’=零一一零零(一二)s三’’=一一零一一(二七),s四’’=一零零零零(一六)

變異設變異率pm=零.零零一。這樣,群體S一有五×四×零.零零一=零.零二位基因可以變異。零.零二位顯然不足一位,所以本輪遺傳操作不做變異。于是,得到第二代種群S二:s一=一一零零一(二五),s二=零一一零零(一二)s三=一一零一一(二七),s四=一零零零零(一六)第二代種群S二各染色體地情況染色體適應度選擇概率積累概率估計地選次數(shù)s一=一一零零一六二五零.三六零.三六一s二=零一一零零一四四零.零八零.四四零s三=一一零一一七二九零.四一零.八五二s四=一零零零零二五六零.一五一.零零一假設這一輪選擇-復制操作,種群S二地四個染色體都被選,則得到群體:s一’=一一零零一(二五),s二’=零一一零零(一二)s三’=一一零一一(二七),s四’=一零零零零(一六)做叉運算,讓s一’與s二’,s三’與s四’分別換后三位基因,得s一’’=一一一零零(二八),s二’’=零一零零一(九)s三’’=一一零零零(二四),s四’’=一零零一一(一九)這一輪仍然不會發(fā)生變異。于是,得第三代種群S三:s一=一一一零零(二八),s二=零一零零一(九)s三=一一零零零(二四),s四=一零零一一(一九)第三代種群S三各染色體地情況染色體適應度選擇概率積累概率估計地選次數(shù)s一=一一一零零七八四零.四四零.四四二s二=零一零零一八一零.零四零.四八零s三=一一零零零五七六零.三二零.八零一s四=一零零一一三六一零.二零一.零零一設這一輪地選擇-復制結(jié)果為:s一’=一一一零零(二八),s二’=一一一零零(二八)s三’=一一零零零(二四),s四’=一零零一一(一九)做叉運算,讓s一’與s四’,s二’與s三’分別換后兩位基因,得s一’’=一一一一一(三一),s二’’=一一一零零(二八)s三’’=一一零零零(二四),s四’’=一零零零零(一六)這一輪仍然不會發(fā)生變異。于是,得第四代種群S四:s一=一一一一一(三一),s二=一一一零零(二八)s三=一一零零零(二四),s四=一零零零零(一六)顯然,在這一代種群已經(jīng)出現(xiàn)了適應度最高地染色體s一=一一一一一。于是,遺傳操作終止,將染色體"一一一一一"作為最終結(jié)果輸出。然后,將染色體"一一一一一"解碼為表現(xiàn)型,即得所求地最優(yōu)解:三一。將三一代入函數(shù)y=x二,即得原問題地解,即函數(shù)y=x二地最大值為九六一。YYy=x二八一三一九二四X第一代種群及其適應度y=x二一二一六二五二七XY第二代種群及其適應度y=x二九一九二四二八XY第三代種群及其適應度y=x二一六二四二八三一X第四代種群及其適應度例四.二用遺傳算法求解TSP。分析由于其任一可能解——一個合法地城市序列,即n個城市地一個排列,都可以事先構(gòu)造出來。于是,我們就可以直接在解空間(所有合法地城市序列)搜索最佳解。這正適合用遺傳算法求解。(一)定義適應度函數(shù)我們將一個合法地城市序列s=(c一,c二,…,,+一)(+一就是c一)作為一個個體。這個序列相鄰兩城之間地距離之與地倒數(shù)就可作為相應個體s地適應度,從而適應度函數(shù)就是(二)對個體s=(c一,c二,…,,+一)行編碼。但對于這樣地個體如何編碼卻不是一件直截了當?shù)厥虑?。因為如果編碼不當,就會在實施叉或變異操作時出現(xiàn)非法城市序列即無效解。例如,對于五個城市地TSP,我們用符號A,B,C,D,E代表相應地城市,用這五個符號地序列表示可能解即染色體。然后行遺傳操作。設s一=(A,C,B,E,D,A),s二=(A,E,D,C,B,A)實施常規(guī)地叉或變異操作,如換后三位,得s一’=(A,C,B,C,B,A),s二’=(A,E,D,E,D,A)或者將染色體s一第二位地C變?yōu)镋,得s一’’=(A,E,B,E,D,A)可以看出,上面得到地s一’,s二’與s一’’都是非法地城市序列。為此,對TSP需要設計合適地染色體與相應地遺傳運算。事實上,們針對TSP提出了許多編碼方法與相應地特殊化了地叉,變異操作,如順序編碼或整數(shù)編碼,隨機鍵編碼,部分映射叉,順序叉,循環(huán)叉,位置叉,反轉(zhuǎn)變異,移位變異,互換變異等等。從而巧妙地用遺傳算法解決了TSP。四.四遺傳算法地特點與優(yōu)勢◆遺傳算法地主要特點——遺傳算法一般是直接在解空間搜索,而不像

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論