




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、格+式格+式2專業(yè)資料整理2專業(yè)資料整理1專業(yè)資料整理人工智能的主要內(nèi)容和方法人工智能(ArtificialIntelligence,簡稱Al)是50年代興起的一門新興邊緣學(xué)科,二十世紀七十年代以來被稱為世界三大尖端技術(shù)之一(空間技術(shù)、能源技術(shù)、人工智能),也被認為是二十一世紀三大尖端技術(shù)之一(基因工程、納米科學(xué)、人工智能)。廣義的講,人工智能是關(guān)于人造物的智能行為,而智能行為包括知覺、推理、學(xué)習(xí)、交流和在復(fù)雜環(huán)境中的行為。人工智能的一個長期目標是發(fā)明出可以像人類一樣或能更好地完成以上行為的機器;另一個目標是理解這種智能行為是否存在于機器、人類或其他動物中。目前能夠用來研究人工智能的主要物質(zhì)手
2、段以及能夠?qū)崿F(xiàn)人工智能技術(shù)的機器就是計算機,人工智能的發(fā)展歷史是和計算機科學(xué)與技術(shù)的發(fā)展史聯(lián)系在一起的。除了計算機科學(xué)以外,人工智能還涉及信息論、控制論、自動化、仿生學(xué)、生物學(xué)、心理學(xué)、數(shù)理邏輯、語言學(xué)、醫(yī)學(xué)和哲學(xué)等多門學(xué)科。一、AI的主要內(nèi)容人工智能研究的主要內(nèi)容包括:知識表示、自動推理和搜索方法、機器學(xué)習(xí)和知識獲取、知識處理系統(tǒng)、自然語言理解、計算機視覺、智能機器人、自動程序設(shè)計等方面。知識表示是人工智能的基本問題之一,推理和搜索都與表示方法密切相關(guān)。常用的知識表示方法有:邏輯表示法、產(chǎn)生式表示法、語義網(wǎng)絡(luò)表示法和框架表示法等。常識,自然為人們所關(guān)注,已提出多種方法,如非單調(diào)推理、定性推理
3、就是從不同角度來表達常識和處理常識的。問題求解中的自動推理是知識的使用過程,由于有多種知識表示方法,相應(yīng)地有多種推理方法。推理過程一般可分為演繹推理和非演繹推理。謂詞邏輯是演繹推理的基礎(chǔ)。結(jié)構(gòu)化表示下的繼承性能推理是非演繹性的。由于知識處理的需要,近幾年來提出了多種非演繹的推理方法,如連接機制推理、類比推理、基于示例的推理、反繹推理和受限推理等。搜索是人工智能的一種問題求解方法,搜索策略決定著問題求解的一個推理步驟中知識被使用的優(yōu)先關(guān)系??煞譃闊o信息導(dǎo)引的盲目搜索和利用經(jīng)驗知識導(dǎo)引的啟發(fā)式搜索。啟發(fā)式知識常由啟發(fā)式函數(shù)來表示,啟發(fā)式知識利用得越充分,求解問題的搜索空間就越小。典型的啟發(fā)式搜索方
4、法有A*、AO*算法等。近幾年搜索方法研究開始注意那些具有百萬節(jié)點的超大規(guī)模的搜索問題。機器學(xué)習(xí)是人工智能的另一重要課題。機器學(xué)習(xí)是指在一定的知識表示意義下獲取新知識的過程,按照學(xué)習(xí)機制的不同,主要有歸納學(xué)習(xí)、分析學(xué)習(xí)、連接機制學(xué)習(xí)和遺傳學(xué)習(xí)等。知識處理系統(tǒng)主要由知識庫和推理機組成。知識庫存儲系統(tǒng)所需要的知識,當(dāng)知識量較大而又有多種表示方法時,知識的合理組織與管理是重要的。推理機在問題求解時,規(guī)定使用知識的基本方法和策略,推理過程中為記錄結(jié)果或通信需設(shè)數(shù)據(jù)庫或采用黑板機制。如果在知識庫中存儲的是某一領(lǐng)域(如醫(yī)療診斷)的專家知識,則這樣的知識系統(tǒng)稱為專家系統(tǒng)。為適應(yīng)復(fù)雜問題的求解需要,單一的專家
5、系統(tǒng)向多主體的分布式人工智能系統(tǒng)發(fā)展,這時知識共享、主體間的協(xié)作、矛盾的出現(xiàn)和處理將是研究的關(guān)鍵問題。二、AI的研究方法格+7格+7專業(yè)資料整理專業(yè)資料整理既為人工智能的最終研究目標打好基礎(chǔ),又能創(chuàng)造出短期效益,這是選擇人工智能研究最佳方法的標準。盡管人工智能已經(jīng)創(chuàng)造了一些實用系統(tǒng),但這些遠未達到人類的智能水平。在過去的幾十年里涌現(xiàn)出了大量的方法,大致可分為兩大類。第一類包括符號處理的方法。它們基于Newell和Simon的物理符號系統(tǒng)的假說。大多數(shù)被稱為“經(jīng)典的人工智能”均在其指導(dǎo)之下。這類方法中,突出的方法是將邏輯操作應(yīng)用于說明性知識庫。這種風(fēng)格的人工智能運用說明語句來表達問題域的“知識”
6、,這些語句基于或?qū)嵸|(zhì)上等同于一階邏輯中的語句,采用邏輯推理可推導(dǎo)這種知識的結(jié)果。這種方法有許多變形,包括那些強調(diào)對邏輯語言中定義域的形式公理化的角色的變形。當(dāng)遇到“真正的問題”,這一方法需要掌握問題域的足夠知識,通常就稱作基于知識的方法。在大多數(shù)符號處理方法中,對需求行為的分析和為完成這一行為所做的機器合成要經(jīng)過幾個階段。最高階段是知識階段,機器所需知識在這里說明。接下來是符號階段,知識在這里以符號組織表示(例如:列表可用列表處理語言LISP來描述),同時在這里說明這些組織的操作。接著,在更低級的階段里實施符號處理。多數(shù)符號處理采用自上而下的設(shè)計方法,從知識階段向下到符號和實施階段。第二類包括
7、所謂的“子符號”方法。它們通常采用自下而上的方式,從最低階段向上進行。在最低層階段,符號的概念就不如信號這一概念確切了。在子符號方法中突出的方法是“Animatapproach”。偏愛這種方式的人們指出,人的智能經(jīng)過了在地球上十億年或更長時間的進化過程,認為為了制造出真正的智能機器,我們必須沿著這些進化的步驟走。因此,我們必須集3格+式格+式4專業(yè)資料整理4專業(yè)資料整理中研究復(fù)制信號處理的能力和簡單動物如昆蟲的支配系統(tǒng),沿著進化的階梯向上進行。這一方案不僅能在短期內(nèi)創(chuàng)造實用的人造物,又能為更高級智能的建立打好堅實的基礎(chǔ)。第二類方法也強調(diào)符號基礎(chǔ)。在物理基礎(chǔ)假說中,一個agent不采用集中式的模
8、式而運用其不同的行為模塊與環(huán)境相互作用來進行復(fù)雜的行為。機器與環(huán)境的相互作用產(chǎn)生了所謂的“自然行為(emergentbehavior)”。一個agent的功能可視作該系統(tǒng)與動態(tài)環(huán)境密切相互作用的自然屬性。agent本身對其行為的說明并不能解釋它運行時所表現(xiàn)的功能;相反,其功能很大程度上取決于環(huán)境的特性。不僅要動態(tài)的考慮環(huán)境,而且環(huán)境的具體特征也要運用于整個系統(tǒng)之中。由子符號派制造的著名樣品機器包括“神經(jīng)網(wǎng)絡(luò)(Neuralnetwork)”。根據(jù)模擬生物進化方面的進程,一些有意思的機器應(yīng)運而生,包括:Sexualcrossover、Mutation和Fitness-proportionalrep
9、roduction。其他自下而上,含animat風(fēng)格的方法是基于控制理論和動態(tài)系統(tǒng)地分析。介于自上而下和自下而上之間的方法是一種“環(huán)境自動機(situatedautomata)”的方法。Kaelbling和Rosenschein建議編寫一種程序設(shè)計語言來說明agent在高水平上所要求的行為,并編寫一編譯程序,以從這種語言編寫的程序中產(chǎn)生引發(fā)行為的線路。格+式格+式i 專業(yè)資料整理i 專業(yè)資料整理RBF網(wǎng)絡(luò))ylXnbX1b0ymh)X2RBF網(wǎng)絡(luò)的工作原理徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(RadialBasisFunctionNeuralNetwork,RBF)是一徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)MATLAB仿真種前饋神
10、經(jīng)網(wǎng)絡(luò),一般為三層結(jié)構(gòu),如下圖:i(x-CiciWWRh*mm上圖所示為nhm結(jié)構(gòu)的RBF網(wǎng)絡(luò),即網(wǎng)絡(luò)具有n個輸入,h個隱節(jié)點,m個輸出。其中x=(xXX)TERn為網(wǎng)絡(luò)輸入矢量,WERnXm為輸i,2,n出權(quán)矩陣,bb為輸出單元偏移,y=(yyy)T為網(wǎng)絡(luò)輸出,(*)為第0,mi,2,mii個隱節(jié)點的激活函數(shù)。圖中輸出層節(jié)點中的工表示輸出層神經(jīng)元采用線性激活函數(shù)(輸出神經(jīng)元也可以采用其他非線性激活函數(shù),如Sigmoidal函數(shù))。RBF網(wǎng)絡(luò)的最顯著的特點是隱節(jié)點的基函數(shù)采用距離函數(shù)(如歐式距離),并使用徑向基函數(shù)(如Gaussian高斯函數(shù))作為激活函數(shù)。徑向基函數(shù)關(guān)于n維空間的一個中心點具
11、有徑向?qū)ΨQ性,而且神經(jīng)元的輸入離該中心點越遠,神經(jīng)元的激活程度就越低。隱節(jié)點的這個特性常被稱為“局部特性”。因此RBF網(wǎng)絡(luò)的每個隱節(jié)點都具有一個數(shù)據(jù)中心,上圖中c就是網(wǎng)絡(luò)中第i格+式RBF網(wǎng)絡(luò)格+式RBF網(wǎng)絡(luò)格+式RBF網(wǎng)絡(luò) 專業(yè)資料整理 專業(yè)資料整理ii 專業(yè)資料整理個隱節(jié)點的數(shù)據(jù)中心值,則表示歐式范數(shù)。徑向基函數(shù)(*)可以取多種形式:i1.Gaussian函數(shù)_t2/812i(t)e2.Reflectedsigmoidal函數(shù)(t)i1/(1t2/82)亠ei丿3.逆Multiquadric函數(shù)(t)二1/(ti以上三式中的8稱為該基函數(shù)的擴展常數(shù)(Spread)或?qū)挾?。顯然i小,徑向基函
12、數(shù)的寬度就越小,基函數(shù)就越具有選擇性。與輸出節(jié)點相連的隱層第i個隱節(jié)點的所有參數(shù)可用三元組(ci,8i,CO)i表示。每個隱層神經(jīng)元都對輸入x產(chǎn)生一個響應(yīng)(i,且響應(yīng)特性成徑向?qū)ΨQ(即是一個個同心圓),而神經(jīng)網(wǎng)絡(luò)的輸出則是所有這些響應(yīng)的加權(quán)和,因此第k個輸出可表示為yk由于每個神經(jīng)元具有局部特性,最終整個RBF網(wǎng)絡(luò)也呈現(xiàn)“局部映射”特性,即RBF網(wǎng)絡(luò)是一種局部相應(yīng)神經(jīng)網(wǎng)絡(luò)。這意味著如果神經(jīng)網(wǎng)絡(luò)有較大的輸出,必定激活了一個或多個隱節(jié)點。RBF網(wǎng)絡(luò)的聚類學(xué)習(xí)算法結(jié)構(gòu)設(shè)計,即如何確定網(wǎng)絡(luò)隱c及擴展常數(shù)8;輸出權(quán)值修正。RBF網(wǎng)絡(luò)的學(xué)習(xí)算法應(yīng)該解決以下問題節(jié)點數(shù)h;確定各徑向基函數(shù)的數(shù)據(jù)中心如果知道了
13、網(wǎng)絡(luò)的隱節(jié)點數(shù)、數(shù)據(jù)中心和擴展常數(shù),RBF網(wǎng)絡(luò)從輸入到輸出就成了一個線性方程組,此時權(quán)值學(xué)習(xí)可采用最小二乘法。RBF網(wǎng)絡(luò)最常用的學(xué)習(xí)算法有聚類方法、梯度訓(xùn)練方法及OLS優(yōu)選算法。下面將詳細介紹最經(jīng)典的RBF網(wǎng)絡(luò)學(xué)習(xí)算法一聚類方法,并進行MATLAB仿真。聚類方法的思路是先用無監(jiān)督學(xué)習(xí)(用k-means算法對樣本輸入進行聚類)方法確定RBF網(wǎng)絡(luò)中h個隱節(jié)點的數(shù)據(jù)中心,并根據(jù)各數(shù)據(jù)中心之間的距離確定隱節(jié)點的擴展常數(shù),然后用有監(jiān)督學(xué)習(xí)(梯度法)訓(xùn)練各隱節(jié)點的輸出權(quán)值。假設(shè)XXX為樣本輸入,相應(yīng)的樣本輸出(教師信號)為yyy,網(wǎng)絡(luò)中第j個隱節(jié)點1,2,N1,2,N的激活函數(shù)為(*)k為迭代次數(shù),第k次
14、迭代時的聚類中心為c(k),c(k),c(k),相應(yīng)的聚j12,h類域為s(k),s(k),,s(k)。k-means聚類算法確定RBF網(wǎng)絡(luò)數(shù)據(jù)中心c和擴展常數(shù)S的12hii步驟如下:算法初始化:選擇h個不同的初始聚類中心,并令k=1。初始聚類中心的方法很多,比如,從樣本輸入中隨機選取,或者選擇前h個樣本輸入,但這h個初始數(shù)據(jù)中心必須取不同值。計算所有樣本輸入與聚類中心的距離|Xj-ci(k)|,i=1,2,h,jij=1,2,N。對樣本輸入X按最小距離原則對其進行分類:即當(dāng),h時,Xjji(xj)=min|Xj-ci(k)|,即被歸為第i類,即Xes(k)ojii=1,2,i重新計算各類的新
15、的聚類中心:格+式格+式O丄ID-|格式RBF網(wǎng)絡(luò) 專業(yè)資料整理 專業(yè)資料整理 專業(yè)資料整理1X,i1,2,c(k1)二h二iNiX(k)i式中,Ni為第i個聚類域3(k)中包含的樣本數(shù)。i如果c(k+1)#c(k),轉(zhuǎn)到步驟(2),否則聚類結(jié)束,轉(zhuǎn)到步驟(6)。ii根據(jù)各聚類中心之間的距離確定各隱節(jié)點的擴展常數(shù)。隱節(jié)點的擴展常數(shù)取s=Kd,其中d為第i個數(shù)據(jù)中心與其他最近的數(shù)據(jù)中心之間的距iii離,即di二minicj-ci(k),K稱重疊系數(shù)。331,2,A則HWRnXh。如果RBF網(wǎng)絡(luò)的當(dāng)前權(quán)值為3=331,2,)T(待定),則對所有樣本,網(wǎng)絡(luò)輸出矢量為為逼近誤差,則如果給定了教師信號y
16、=(yyy)t并確定1,2,m一旦各隱節(jié)點的數(shù)據(jù)中心和擴展常數(shù)確定了,輸出權(quán)矢量3h)T就可以用有監(jiān)督學(xué)習(xí)方法(如梯度法)訓(xùn)練得到,但更簡潔的方法是使用最小二乘方法(LMS)直接計算。假定當(dāng)輸入為X,i=l,2,i個隱節(jié)點的輸出如下式所示:h二(ijj則隱層輸出陣為hij了H,便可通過最小化下式求出網(wǎng)絡(luò)的輸出權(quán)值:y-y通常3可用最小二乘法求得二HyRBF網(wǎng)絡(luò)式中,H為H的偽逆,即爲H(HtH)iHt三、RBF網(wǎng)絡(luò)MATLAB仿真實例題目:基于聚類方法的y=sinx函數(shù)逼近解:RBF網(wǎng)絡(luò)隱層采用標準Gaussian徑向基函數(shù),輸出層采用線性激活函數(shù),即f(u)二u。數(shù)據(jù)中心和擴展常數(shù)用聚類方法
17、得到,輸出權(quán)值和偏移采用廣義逆方法求解。隱節(jié)點數(shù)(即聚類數(shù))取10個訓(xùn)練樣本。MATLAB程序:functionmain()SamNum=200;TestSamNum=201;InDim=1;ClusterNum=10;Overlap=1.0;10,初始聚類中心取前%訓(xùn)練樣本數(shù)%測試樣本數(shù)%樣本輸入維數(shù)%隱節(jié)點(聚類樣本)數(shù)%隱節(jié)點重疊系數(shù)K%根據(jù)目標函數(shù)獲得樣本輸入輸出rand(state,sum(100*clock);%resetsthegeneratortoadifferentstateeachtime%且state不同產(chǎn)生的偽隨機序列順序不同SamIn=14*rand(1,SamNum
18、)-7;TestSamIn=-7:0.07:7;TestSamOut=sin(TestSamIn);%7-(-7)/0.07+1=201個樣本SamOut=sin(SamIn);格+式RBF網(wǎng)絡(luò)格+式RBF網(wǎng)絡(luò)專業(yè)資料整理專業(yè)資料整理figureholdongridplot(SamIn,SamOut,b+)plot(TestSamIn,TestSamOut,k-)%繪制目標函數(shù)曲線xlabel(Inputx);ylabel(Outputy);title(基于聚類的RBF網(wǎng)絡(luò)對函數(shù)y=sinx的逼近曲線)Centers=SamIn(:,1:ClusterNum);%初始聚類中心取前10個訓(xùn)練樣本
19、NumberInClusters=zeros(ClusterNum,1);%各類中的樣本數(shù),初始化為0IndexInClusters=zeros(ClusterNum,SamNum);%各類所含樣本的索引號while1,NumberInClusters=zeros(ClusterNum,1);IndexInClusters=zeros(ClusterNum,SamNum);%按最小距離原則對所有樣本進行分類fori=1:SamNumAllDistance=dist(Centers,SamIn(:,i);%求歐幾里德距離MinDist,Pos=min(AllDistance);NumberInC
20、lusters(Pos)=NumberInClusters(Pos)+1;%求各類樣本的個數(shù)IndexInClusters(Pos,NumberInClusters(Pos)=i;end%報存舊的聚類中心OldCenters=Centers;%重新計算各類的聚類中心格+式格+式專業(yè)資料整理專業(yè)資料整理%計算各隱節(jié)點的擴展常數(shù)(寬度)5iAllDistances=dist(Centers,Centers);Maximum=max(max(AllDistances);fori=1:ClusterNumAllDistances(i,i)=Maximum+1;endSpreads=Overlap*mi
21、n(AllDistances);%計算各隱節(jié)點的輸出權(quán)值Distance=dist(Centers,SamIn);SpreadsMat=repmat(Spreads,1,SamNum);W2Ex=SamOut*pinv(HiddenUnitOutEx);W2=W2Ex(:,1:ClusterNum);B2=W2Ex(:,ClusterNum+1);W2HiddenUnitOut=radbas(Distance./SpreadsMat)HiddenUnitOutEx=HiddenUnitOutRBF網(wǎng)絡(luò)fori=1:ClusterNumIndex=IndexInClusters(i,1:Numb
22、erInClusters(i);Centers(:,i)=mean(SamIn(:,Index);end%判斷新舊聚類中心是否一致,如果是,則聚類結(jié)束EqualNum=sum(sum(Centers=OldCenters);%新舊聚類中心一致的個數(shù)ifEqualNum=InDim*ClusterNum,break,endendKdi,其中di是Cj-Ci(k)的最小歐式距離%求隱節(jié)點數(shù)據(jù)中心間的距離(矩陣)%找出其中最大的一個距離%某一類的中心到自身的歐式距離是0,%但要找隱節(jié)點間的最小距離,%因此將對角線上的0替換為較大的值%以隱節(jié)點間的最小距離作為擴展常數(shù)%計算各樣本輸入離各數(shù)據(jù)中心的距離
23、%repmat徑向基函數(shù)j(.)%計算隱節(jié)點輸出陣ones(SamNum,1)%考慮偏移%求廣義輸出權(quán)值。pinv求偽逆格+式格+式專業(yè)資料整理專業(yè)資料整理10格+式RBF網(wǎng)絡(luò)格+式RBF網(wǎng)絡(luò)專業(yè)資料整理專業(yè)資料整理B2%測試TestDistance二dist(Centers,TestSamln);TestSpreadsMat二repmat(Spreads,1,TestSamNum);TestHiddenUnitOut二radbas(TestDistance./TestSpreadsMat);TestNNOut二W2*TestHiddenUnitOut+repmat(B2,l,TestSamN
24、um);plot(TestSamIn,TestNNOut,r-)四、輸出結(jié)果當(dāng)隱節(jié)點重疊系數(shù)K為1時,W2=Columns1through80.97591.19561.24020.95091.39990.03110.13590.9232Columns9through100.79130.1700B2=0.8289基干聚類的REiF網(wǎng)塔對函數(shù)嚴:砒的逼近曲垛W,O丄ID-|格式RBF網(wǎng)絡(luò)W,O丄ID-|格式RBF網(wǎng)絡(luò)格+式RBF網(wǎng)絡(luò) #專業(yè)資料整理 專業(yè)資料整理 專業(yè)資料整理當(dāng)隱節(jié)點重疊系數(shù)K為2時,W2=Columns1through80.78531.57407.6555T.73260.0156
25、0.0815Tl.83861.0188Columns9through109.3149T.0047B2=T.3042Hlnd3Q_!片i】iiiliB后4-202460inputx五、結(jié)果分析RBF網(wǎng)絡(luò)的學(xué)習(xí)過程與BP網(wǎng)絡(luò)的學(xué)習(xí)過程類似,兩種網(wǎng)絡(luò)中隱節(jié)點的非線性變換作用都是把線性不可分問題轉(zhuǎn)化為線性可分問題,因此均可用于函數(shù)逼近和分類。兩者的主要區(qū)別在于各使用不同的激勵函數(shù),BP網(wǎng)絡(luò)中隱層節(jié)點使用的是Sigmoid函數(shù),其值在輸入空間中無限大的范圍內(nèi)為非零值,因而是一種全局逼近的神經(jīng)網(wǎng)絡(luò);而RBF網(wǎng)絡(luò)中的激勵函數(shù)是Gaussian函數(shù),是一種局部逼近的神經(jīng)網(wǎng)絡(luò),其對于輸入空間的某個局部區(qū)域只有少
26、數(shù)幾個連接權(quán)影響網(wǎng)絡(luò)的輸出,因而與BP網(wǎng)絡(luò)相比,RBF網(wǎng)絡(luò)學(xué)習(xí)速度更快。聚類方法的優(yōu)點是能根據(jù)各聚類中心之間的距離確定各隱節(jié)點的擴展常數(shù),缺點是確定數(shù)據(jù)中心時只用到了樣本輸入信息,而沒有用到樣本輸出信息;另外聚類方法也無法確定聚類的數(shù)目(RBF網(wǎng)絡(luò)的隱節(jié)點數(shù))。格+式格+式格+式 專業(yè)資料整理 專業(yè)資料整理 專業(yè)資料整理遺傳算法遺傳算法MATLAB仿真一、遺傳算法(GA)的基本思想基于達爾文進化論中的適者生存、優(yōu)勝劣汰的基本原理,按生物學(xué)的方法將問題的求解表示成“種群(Population)”(用計算機編程時,一般使用二進制碼串表示),從而構(gòu)造出一群包括N個可行解的種群,將它們置于問題的“環(huán)境
27、”中,根據(jù)適者生存原則,對該種群按照遺傳學(xué)的基本操作,不斷優(yōu)化生成新的種群,這樣一代代地不斷進化,最后收斂到一個最適應(yīng)環(huán)境的最優(yōu)個體上,求得問題的最優(yōu)解。遺傳算法可以形式化的描述如下:GA=(P(0),N,l,s,g,p,f,t)其中,P(0)=(P1(0),P2(0),Pn(0),表示初始種群;N表示種群中含有個體的個數(shù);l表示二進制串的長度;s表示選擇策略;g表示遺傳算子,通常它包括有選擇(繁殖)算子Qr、雜交算子Qc和變異算子Qm;p表示遺傳算子的操作概率,它包括選擇概率Pr、Pc和變異概率Pm;f是適應(yīng)度函數(shù);t是終止準則。二、Holland遺傳算法(SGA)該算法的操作對象是一群被稱
28、為種群的二進制位串(稱為染色體、個體)。這里的每個染色體都對應(yīng)求解問題的一個解。SGA的基本思想是:從初始種群出發(fā),采用基于適應(yīng)度比例的選擇策略在當(dāng)前種群中選擇個體,使用雜交和變異來產(chǎn)生下一代種群。如此一代代演化下去,直至滿足期望的終止條件為止。遺傳算法執(zhí)行一個簡單的遺傳算法時,需要做以下的準備工作:根據(jù)問題的要求選取設(shè)計變量(即明確需要優(yōu)化的參數(shù)或方案),變量的取值范圍構(gòu)成問題的解空間。這是一個具體問題的數(shù)學(xué)抽象的過程。確定變量的約束條件。確定編碼方案。遺傳算法求解問題不是直接作用在問題的解空間上,而是利用解的某種編碼表示。通常解(變量)空間中的一個解(變量)被編碼成一個串,它是由組成這個解
29、(變量)的一系列有效信息組成。確定適應(yīng)度函數(shù)。適應(yīng)度值是對解的質(zhì)量的度量,它是遺傳算法對種群中的個體執(zhí)行各種遺傳操作的唯一的依據(jù)。確定選擇策略。個體的適應(yīng)度值是策略中的主要依據(jù),該步驟使適應(yīng)度值大的解在下一代有較大的存活概率。這種輪盤賭的選擇策略具有正反饋特征,在自然界中也屢屢出現(xiàn)這樣的現(xiàn)象,最后的結(jié)局是可怕的。實際設(shè)計中還可以選擇錦標賽選擇策略或者排序選擇策略等。確定控制參數(shù)。它主要包括種群規(guī)模、執(zhí)行不同遺傳操作的概率以及其它一些輔助性控制參數(shù)。設(shè)計遺傳算子。進化算法中的遺傳算子包括繁殖(選擇)、雜交變異等操作。確定算法的條件終止準則。三、Holland遺傳算法流程圖O丄ID-|格式遺傳算法
30、O丄ID-|格式遺傳算法 專業(yè)資料整理 專業(yè)資料整理選擇一個個體執(zhí)行變異電交叉選擇兩個個體1i:=i+1r執(zhí)行巨交到新種群將兩個后代插入新種群插入到新種群四、遺傳算法MATLAB仿真實例例:求下列函數(shù)的最大值f(x)=10*sin(5x)+7*cos(4x),xE0,10o格+式格+式W,O丄ID-|格式 專業(yè)資料整理 專業(yè)資料整理fori=1:py 專業(yè)資料整理遺傳算法其中將x的值用一個10位的二值形式表示。解:分為八個部分:1初始化(編碼)initpopm函數(shù)的功能是實現(xiàn)群體的初始化,popsize表示群體的大小,chromlength表示染色體的長度(二值數(shù)的長度),長度大小取決于變量的
31、二進制編碼的長度(在本例中取10位)。子程序文件名:initpopm%初始化functionpop二initpop(popsize,chromlength)pop二round(rand(popsize,chromlength);%rand隨機產(chǎn)生每個單元為0,1行數(shù)為popsize,列數(shù)為chromlength的矩陣,%round對矩陣的每個單元進行取整。產(chǎn)生初始種群。2.計算目標函數(shù)值將二進制串b9b8b0轉(zhuǎn)化為相應(yīng)的十進制,即9TOC o 1-5 h z(-bbb:八.b2i)、98”0Ji10(=x2i0子程序文件名:decodebinarym%產(chǎn)生2、2飛n-1)1的行向量,然后求和,
32、將二進制轉(zhuǎn)化為十進制functionpop2=decodebinary(pop)px,py=size(pop);%求pop行和例數(shù)遺傳算法popl(:,i)=2八(pyl)*pop(:,i);py=py-l;endpop2二sum(popl,2);%求popl的每行之和找到相應(yīng)的實數(shù)x,即x0.0 x101012其中0.0為區(qū)間0,10的左邊界,10為區(qū)間長度。decodechrom.m函數(shù)的功能是將染色體(或二進制編碼)轉(zhuǎn)換為十進制,參數(shù)spoint表示待解碼的二進制串的起始位置(對于多個變量而言,如有兩個變量,采用20位表示,每個變量10位,則第一個變量從1開始,另一個變量從11開始。本例
33、為1),參數(shù)length表示所截取的長度(本例為10)。子程序文件名:decodechrom.m%將二進制編碼轉(zhuǎn)換成十進制functionpop2=decodechrom(pop,spoint,length)pop1=pop(:,spoint:spoint+length-1);pop2=decodebinary(pop1);計算目標函數(shù)值calobjvalue.m函數(shù)的功能是實現(xiàn)目標函數(shù)的計算。子程序文件名:calobjvalue.m%實現(xiàn)目標函數(shù)的計算functionobjvalue=calobjvalue(pop)temp1=decodechrom(pop,1,10);%將pop每行轉(zhuǎn)化成
34、十進制數(shù)格+式格+式 專業(yè)資料整理 專業(yè)資料整理遺傳算法x=templ*10/(2J0T);%將二值域中的數(shù)轉(zhuǎn)化為變量域的數(shù)objvalue=10*sin(5*x)+7*cos(4*x);%計算目標函數(shù)值3.計算個體的適應(yīng)值子程序文件名:calfitvalue.m%計算個體的適應(yīng)值functionfitvalue=calfitvalue(objvalue)globalCmin;Cmin=0;px,py=size(objvalue);fori=1:pxifobjvalue(i)+Cmin0temp=Cmin+objvalue(i);elsetemp=0.0;endfitvalue(i)=temp
35、;endfitvalue=fitvalue;4.選擇復(fù)制選擇或復(fù)制操作是決定哪些個體可以進入下一代。程序中采用輪盤賭式選擇法進行選擇,這種方法較易實現(xiàn)。遺傳算法根據(jù)方程pi=fi/工fi二fi/fsum,選擇步驟:在第t代,由上式計算fsum和pi產(chǎn)生0,1的隨機數(shù)rand(.),求s=rand(.)*fsum求pi$s中最小的k,則第k個個體被選中進行N次2)、3)操作,得到N個個體,成為第t=t+1代種群子程序文件名:selection.m%選擇復(fù)制functionnewpop=selection(pop,fitvalue)totalfit=sum(fitvalue);%求適應(yīng)值之和fit
36、value=fitvalue/totalfit;%單個個體被選擇的概率fitvalue=cumsum(fitvalue);%如fitvalue=1234,則cumsum(fitvalue)=13610px,py=size(pop);ms=sort(rand(px,1);%從小到大排列fitin=1;newin=1;whilenewin=pxif(ms(newin)fitvalue(fitin)newpop(newin,:)=pop(fitin,:);newin=newin+1;elsefitin=fitin+1;格+式遺傳算法格+式遺傳算法 專業(yè)資料整理 #專業(yè)資料整理endend5交叉交叉(
37、crossover),群體中的每個個體之間都以一定的概率pc交叉,即兩個個體從各自字符串的某一位置,(一般是隨機確定)開始互相交換,這類似生物進化過程中的基因分裂與重組。例如,假設(shè)2個父代個體x1,x2為:x1=0100110;x2=1010001。從每個個體的第3位開始交叉,交叉后得到2個新的子代個體yl,y2分別為:y1=0100001;y2=1010110。這樣2個子代個體就分別具有了2個父代個體的某些特征。利用交叉我們有可能由父代個體在子代組合成具有更高適合度的個體。事實上交叉是遺傳算法區(qū)別于其它傳統(tǒng)優(yōu)化方法的主要特點之一。子程序文件名:crossover.m%交叉functionnewpop=crossover(pop,pc)px,py=size(pop);newpop=ones(size(pop);fori=1:2:px-1if(randpc)cpoint=round(rand*py);newpop(i,:)=pop(i,1:cpoint)pop(i+1,cpoint+1:py);newpop(i+1,:)=pop(i+1,1:cpoint)pop(i,cpoint+1:p
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城管校園周邊管理制度
- 地產(chǎn)公司手續(xù)管理制度
- 公司薪酬獎勵管理制度
- 安順小區(qū)安全管理制度
- 工廠柜子鑰匙管理制度
- 公共停車服務(wù)管理制度
- 化工公司應(yīng)急管理制度
- 黨員教師食堂管理制度
- 庫房衛(wèi)生打掃管理制度
- 中醫(yī)助理醫(yī)師考試試題及答案
- 最簡單裝修合同協(xié)議書
- DB32/T 4622.4-2023采供血過程風(fēng)險管理第4部分:血液成分制備和供應(yīng)風(fēng)險控制規(guī)范
- 2025年供應(yīng)鏈管理專業(yè)考試試題及答案
- 消防監(jiān)護人考試題及答案
- GB 35181-2025重大火災(zāi)隱患判定規(guī)則
- 2025山東能源集團營銷貿(mào)易限公司招聘機關(guān)部分業(yè)務(wù)人員31人易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年漳州市招聘中小學(xué)幼兒園教師真題
- 漢代文化課件圖片高清
- 2025河南中考:政治必背知識點
- 互聯(lián)網(wǎng)公司網(wǎng)絡(luò)安全工程師入職培訓(xùn)
- 【四川卷】【高二】四川省成都市蓉城名校聯(lián)盟2023-2024學(xué)年高二下學(xué)期期末聯(lián)考數(shù)學(xué)試題
評論
0/150
提交評論