遺傳算法實(shí)驗(yàn)報(bào)告課件_第1頁
遺傳算法實(shí)驗(yàn)報(bào)告課件_第2頁
遺傳算法實(shí)驗(yàn)報(bào)告課件_第3頁
遺傳算法實(shí)驗(yàn)報(bào)告課件_第4頁
遺傳算法實(shí)驗(yàn)報(bào)告課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實(shí)驗(yàn)報(bào)告<遺傳算法>實(shí)驗(yàn)報(bào)告<遺傳算法>1遺傳算法1.遺傳算法的背景2.遺傳算法的國內(nèi)外發(fā)展情況3.遺傳算法的原理4.遺傳算法的步驟5.算法的結(jié)構(gòu)6.總結(jié)遺傳算法1.遺傳算法的背景21.遺傳算法的背景生物在自然界中的生存繁衍,顯示出了其對(duì)自然環(huán)境的自適應(yīng)能力。生物的進(jìn)化過程,主要是通過染色體之間的交叉和變異來完成的。它通過選擇淘汰,突然變異,基因遺傳等規(guī)律產(chǎn)生適應(yīng)環(huán)境的優(yōu)良物種。受其啟發(fā),人們致力于對(duì)生物各種生存特性的機(jī)理研究和行為模擬,為人工自適應(yīng)系統(tǒng)的設(shè)計(jì)和開發(fā)提供了廣闊的前景。1.遺傳算法的背景生物在自然界中的生存繁衍,顯示出了其對(duì)自然3自然界中的多種生物之所以能夠適應(yīng)環(huán)境而得以生存進(jìn)化,是和遺傳和變異生命現(xiàn)象分不開的。正是生物的這種遺傳特性,使生物界的物種能夠保持相對(duì)的穩(wěn)定;而生物的變異特性,使生物個(gè)體產(chǎn)生新的性狀,以致于形成新的物種,推動(dòng)了生物的進(jìn)化和發(fā)展就是這種生物行為的計(jì)算機(jī)模擬中令人矚目的重要成果?;趯?duì)生物遺傳和進(jìn)化過程的計(jì)算機(jī)模擬,遺傳算法使得各種人工系統(tǒng)具有優(yōu)良的自適應(yīng)能力和優(yōu)化能力。遺傳算法就是模仿自然界的生物進(jìn)化機(jī)制發(fā)展起來的隨機(jī)全局搜索和優(yōu)化方法,借鑒了達(dá)爾文的進(jìn)化論和孟德爾的遺傳學(xué)說。自然界中的多種生物之所以能夠適應(yīng)環(huán)境而得以生存進(jìn)化,是和遺傳42.遺傳算法的國內(nèi)外發(fā)展情況進(jìn)入90年代,遺傳算法迎來了興盛發(fā)展時(shí)期,無論是理論研究還是應(yīng)用研究都成了十分熱門的課題。隨著應(yīng)用領(lǐng)域的擴(kuò)展,遺傳算法的研究出現(xiàn)了幾個(gè)引人注目的新動(dòng)向:一是基于遺傳算法的機(jī)器學(xué)習(xí),這一新的研究課題把遺傳算法從歷來離散的搜索空間的優(yōu)化搜索算法擴(kuò)展到具有獨(dú)特的規(guī)則生成功能的嶄新的機(jī)器學(xué)習(xí)算法。2.遺傳算法的國內(nèi)外發(fā)展情況進(jìn)入90年代,遺傳算法迎來了興5這一新的學(xué)習(xí)機(jī)制對(duì)于解決人工智能中知識(shí)獲取和知識(shí)優(yōu)化精煉的瓶頸難題帶來了希望。二是遺傳算法正日益和神經(jīng)網(wǎng)絡(luò)、模糊推理以及混沌理論等其它智能計(jì)算方法相互滲透和結(jié)合,這對(duì)開拓21世紀(jì)中新的智能計(jì)算技術(shù)將具有重要的意義。三是并行處理的遺傳算法的研究十分活躍。這一研究不僅對(duì)遺傳算法本身的發(fā)展,而且對(duì)于新一代智能計(jì)算機(jī)體系結(jié)構(gòu)這一新的學(xué)習(xí)機(jī)制對(duì)于解決人工智能中知識(shí)獲取和知識(shí)優(yōu)化精煉的瓶6的研究都是十分重要的。四是遺傳算法和另一個(gè)稱為人工生命的嶄新研究領(lǐng)域正不斷滲透。所謂人工生命即是用計(jì)算機(jī)模擬自然界豐富多彩的生命現(xiàn)象,其中生物的自適應(yīng)、進(jìn)化和免疫等現(xiàn)象是人工生命的重要研究對(duì)象,而遺傳算法在這方面將會(huì)發(fā)揮一定的作用,五是遺傳算法和進(jìn)化規(guī)劃(EvolutionProgramming,EP)以及進(jìn)化策略(EvolutionStrategy,ES)等進(jìn)化計(jì)算理論日益結(jié)合。的研究都是十分重要的。73.遺傳算法的原理遺傳算法的思想源于生物遺傳學(xué)和適者生存的自然規(guī)律,是具有“生存+檢測(cè)”的迭代過程的搜索算法。它以一種群體中的所有個(gè)體為對(duì)象,并利用隨機(jī)化技術(shù)指導(dǎo)對(duì)一個(gè)被編碼的參數(shù)空間進(jìn)行高效搜索。其中,選擇、交叉和變異構(gòu)成了遺傳算法的遺傳操作;參數(shù)編碼、初始群體的設(shè)定、適應(yīng)度函數(shù)的設(shè)計(jì)、遺傳操作設(shè)計(jì)、控制參數(shù)設(shè)定五個(gè)要素3.遺傳算法的原理遺傳算法的思想源于生物遺傳學(xué)和適者生存的8組成了遺傳算法的核心內(nèi)容。遺傳算法的流程為:開始{選擇編碼方式;產(chǎn)生初始群體;計(jì)算初始群體的適應(yīng)度;若不滿足結(jié)束條件則循環(huán)執(zhí)行:{選擇操作;交換操作;變異操作;計(jì)算新一代群體的適應(yīng)度;}}結(jié)束組成了遺傳算法的核心內(nèi)容。9由此可以看出,從搜索角度,遺傳算法與傳統(tǒng)的搜索方法相比具有如下獨(dú)特的優(yōu)點(diǎn):①搜索過程不直接作用在變量上,不必非常明確描述問題的全部特征,可直接對(duì)結(jié)構(gòu)對(duì)象(集合、序列、矩陣、樹、圖、鏈和表)進(jìn)行操作,通用性強(qiáng),能很快適應(yīng)問題和環(huán)境的變化。②采用概率的變遷規(guī)則來指導(dǎo)搜索方向,而不采用確定性由此可以看出,從搜索角度,遺傳算法與傳統(tǒng)的搜索方法相比具10搜索規(guī)則;對(duì)搜索空間沒有任何特殊要求(如連通性、凸性等),只利用適應(yīng)性信息,不需要連續(xù)性、可導(dǎo)或單峰等其它輔助信息,適應(yīng)范圍更廣。③搜索過程是從一組解迭代到另一組解,采用同時(shí)處理群體中多個(gè)個(gè)體的方法,從多點(diǎn)進(jìn)行搜索,搜索的全局性強(qiáng),降低了陷入局部最優(yōu)解的可能性;具有隱并行性,非常適合于并行計(jì)算。搜索規(guī)則;對(duì)搜索空間沒有任何特殊要求(如連通性、凸性等),114.遺傳算法的步驟1.編碼:把所需要選擇的特征進(jìn)行編號(hào),每一個(gè)特征就是一個(gè)基因,一個(gè)解就是一串基因的組合。為了減少組合數(shù)量,在圖像中進(jìn)行分塊(比如5*5大小的塊),然后再把每一塊看成一個(gè)基因進(jìn)行組合優(yōu)化的計(jì)算。每個(gè)解的基因數(shù)量是要通過實(shí)驗(yàn)4.遺傳算法的步驟1.編碼:把所需要選擇的特征進(jìn)行編號(hào),每一122.初始群體(population)的生成:隨機(jī)產(chǎn)生N個(gè)初始串結(jié)構(gòu)數(shù)據(jù),每個(gè)串結(jié)構(gòu)數(shù)據(jù)稱為一個(gè)個(gè)體。N個(gè)個(gè)體,構(gòu)成了一個(gè)群體。GA以這N個(gè)串結(jié)構(gòu)數(shù)據(jù)作為初始點(diǎn)開始迭代。這個(gè)參數(shù)N需要根據(jù)問題的規(guī)模而確定。確定的。3.交換(crossover):交換(也叫雜交)操作是遺傳算法中最主要的遺傳操作。由交換概率(cP)挑選的每兩個(gè)父代通過將相異的部分基因進(jìn)行交換(如果交換全部相異的就變成了對(duì)方而2.初始群體(population)的生成:隨機(jī)產(chǎn)生N個(gè)初始13沒什么意義),從而產(chǎn)生新的個(gè)體??梢缘玫叫乱淮鷤€(gè)體,新個(gè)體組。4.適應(yīng)度值(fitness)評(píng)估檢測(cè):計(jì)算交換產(chǎn)生的新個(gè)體的適應(yīng)度。適應(yīng)度用來度量種群中個(gè)體優(yōu)劣(符合條件的程度)的指標(biāo)值,這里的適應(yīng)度就是特征組合的判據(jù)的值。這個(gè)判據(jù)的選取是GA的關(guān)鍵所在。合了其父輩個(gè)體的特性。交換體現(xiàn)了信息交換的思想。沒什么意義),從而產(chǎn)生新的個(gè)體??梢缘玫叫乱淮鷤€(gè)體,新個(gè)體組145.選擇(selection):選擇的目的是為了從交換后的群體中選出優(yōu)良的個(gè)體,使它們有機(jī)會(huì)作為父代為下一代繁殖子孫。遺傳算法通過選擇過程體現(xiàn)這一思想,進(jìn)行選擇的原則是適應(yīng)性強(qiáng)的個(gè)體為下一代貢獻(xiàn)的概率大,選擇實(shí)現(xiàn)了達(dá)爾文的適者生存原則。本文直接選取交換后的群體中具有最大適應(yīng)度的前N個(gè)個(gè)體作為下一代進(jìn)行繁殖。這一步驟的存在使得當(dāng)前群體是所有搜索過的解之中是最優(yōu)的前N個(gè)的集合。5.選擇(selection):選擇的目的是為了從交換后的群156.變異(mutation):變異首先在群體中隨機(jī)選擇一定數(shù)量個(gè)體,對(duì)于選中的個(gè)體以一定的概率(成為變異概率mP)隨機(jī)地改變串結(jié)構(gòu)數(shù)據(jù)中某個(gè)基因的值。同生物界一樣,GA中變異發(fā)生的概率很低,通常取值在0.001~0.01之間。變異為新個(gè)體的產(chǎn)生提供了機(jī)會(huì)。7.中止。規(guī)則有三種情況:(1)給定一個(gè)最大的遺傳代數(shù)MAXGEN(人為事先確定),算法6.變異(mutation):變異首先在群體中隨機(jī)選擇一定數(shù)16迭代在達(dá)MAXGEN時(shí)停止。(2)給定問題一個(gè)下界的計(jì)算方法,當(dāng)進(jìn)化中達(dá)到要求的偏差ε時(shí),算法終止。(3)當(dāng)監(jiān)控得到的算法再進(jìn)化已無法改進(jìn)解的性能,即解的適應(yīng)度無法再提高,此時(shí)停止計(jì)算。迭代在達(dá)MAXGEN時(shí)停止。175.算法的構(gòu)成結(jié)構(gòu)體structindividual{ charchrom[chromlength+1]; doublevalue; doublefitness;//適應(yīng)度}bestindividual/*最佳個(gè)體*/,worstindividual/*最差個(gè)體*/,currentbest/*當(dāng)前最佳*/,population[POPSIZE]/*全部個(gè)體*/;5.算法的構(gòu)成結(jié)構(gòu)體18種群初始化voidgenerateinitialpopulation(){ inti,j; for(i=0;i<popsize;i++) { for(j=0;j<chromlength;j++) { population[i].chrom[j]=(rand()%10<5)?'0':'1'; } population[i].chrom[chromlength]='\0'; }}種群初始化19計(jì)算函數(shù)值voidcalculateobjectvalue(){ inti; longtemp1,temp2;doublex1,x2; for(i=0;i<popsize;i++){temp1=decodechromosome(population[i].chrom,0,length1);temp2=decodechromosome(population[i].chrom,length1,length2);x1=4.096*temp1/1023.0-2.048;//temp的最大取值為1023,將其最大值換算為2.048x2=4.096*temp2/1023.0-2.048;//temp的最小取值為0,將其最小值算為-2.048population[i].value=100*(x1*x1-x2)*(x1*x1-x2)+(1-x1)*(1-x1);}}計(jì)算函數(shù)值20比例選擇算法voidselectoperator(){inti,index;doublep,sum=0.0;doublecfitness[POPSIZE];structindividualnewpopulation[POPSIZE];for(i=0;i<popsize;i++) {sum+=population[i].fitness;} for(i=0;i<popsize;i++) {cfitness[i]=population[i].fitness/sum;} for(i=1;i<popsize;i++) {cfitness[i]=cfitness[i-1]+cfitness[i];}

比例選擇算法21for(i=0;i<popsize;i++) {p=rand()%1000/1000.0; index=0; while(p>cfitness[index]) {index++;} newpopulation[i]=population[index]; } for(i=0;i<popsize;i++) { population[i]=newpopulation[i]; }}for(i=0;i<popsize;i++)22交叉算法voidcrossoveroperator(){ inti,j; intindex[POPSIZE]; intpoint,temp; doublep; charch; for(i=0;i<popsize;i++) {index[i]=i;} for(i=0;i<popsize;i++) {point=rand()%(popsize-i); temp=index[i];

交叉算法23index[i]=index[point+i]; index[point+i]=temp;} for(i=0;i<popsize-1;i+=2) {p=rand()%1000/1000.0; if(p<pc) {point=rand()%(chromlength-1)+1; //隨機(jī)交叉互換的一個(gè)點(diǎn) for(j=point;j<chromlength;j++) {ch=population[index[i]].chrom[j];population[index[i]].chrom[j]=population[index[i+1]].chrom[j];population[index[i+1]].chrom[j]=ch;}}}}index[i]=index[point+i];24變異操作voidmutationoperator(){inti,j;doublep; for(i=0;i<popsize;i++) {for(j=0;j<chromlength;j++) {p=rand()%1000/1000.0; if(p<pm) {population[i].chrom[j]=(population[i].chrom[j]=='0')?'1':'0'; } } }}變異操作256.總結(jié)其實(shí)這次實(shí)驗(yàn)對(duì)于我們來說還是很困難的,畢竟來說別人用接近一生的時(shí)間發(fā)明出來的算法我們不到一個(gè)月時(shí)間來研究。不過在經(jīng)過這段時(shí)間我們小組的努力之后,首先我們收獲最大的并不是對(duì)于這個(gè)算法的研究,而是團(tuán)隊(duì)的協(xié)作精神,如何去分配工作,一起經(jīng)歷談?wù)?,一起商量,一起研究,還一邊進(jìn)行辯論,我們很喜歡這種氣氛。其次對(duì)于遺傳算法我們也都有了各自的看法,這些理解都是完全屬于我們自己的。擁有這團(tuán)隊(duì)的感覺就是不一樣,大家一起來解決問題,再大的困難都不是事!??!實(shí)訓(xùn)很好,獲益良多啊。感謝老師讓我們有了這種機(jī)會(huì)。6.總結(jié)其實(shí)這次實(shí)驗(yàn)對(duì)于我們來說還是很困難的,畢竟來說別人用26實(shí)驗(yàn)報(bào)告<遺傳算法>實(shí)驗(yàn)報(bào)告<遺傳算法>27遺傳算法1.遺傳算法的背景2.遺傳算法的國內(nèi)外發(fā)展情況3.遺傳算法的原理4.遺傳算法的步驟5.算法的結(jié)構(gòu)6.總結(jié)遺傳算法1.遺傳算法的背景281.遺傳算法的背景生物在自然界中的生存繁衍,顯示出了其對(duì)自然環(huán)境的自適應(yīng)能力。生物的進(jìn)化過程,主要是通過染色體之間的交叉和變異來完成的。它通過選擇淘汰,突然變異,基因遺傳等規(guī)律產(chǎn)生適應(yīng)環(huán)境的優(yōu)良物種。受其啟發(fā),人們致力于對(duì)生物各種生存特性的機(jī)理研究和行為模擬,為人工自適應(yīng)系統(tǒng)的設(shè)計(jì)和開發(fā)提供了廣闊的前景。1.遺傳算法的背景生物在自然界中的生存繁衍,顯示出了其對(duì)自然29自然界中的多種生物之所以能夠適應(yīng)環(huán)境而得以生存進(jìn)化,是和遺傳和變異生命現(xiàn)象分不開的。正是生物的這種遺傳特性,使生物界的物種能夠保持相對(duì)的穩(wěn)定;而生物的變異特性,使生物個(gè)體產(chǎn)生新的性狀,以致于形成新的物種,推動(dòng)了生物的進(jìn)化和發(fā)展就是這種生物行為的計(jì)算機(jī)模擬中令人矚目的重要成果?;趯?duì)生物遺傳和進(jìn)化過程的計(jì)算機(jī)模擬,遺傳算法使得各種人工系統(tǒng)具有優(yōu)良的自適應(yīng)能力和優(yōu)化能力。遺傳算法就是模仿自然界的生物進(jìn)化機(jī)制發(fā)展起來的隨機(jī)全局搜索和優(yōu)化方法,借鑒了達(dá)爾文的進(jìn)化論和孟德爾的遺傳學(xué)說。自然界中的多種生物之所以能夠適應(yīng)環(huán)境而得以生存進(jìn)化,是和遺傳302.遺傳算法的國內(nèi)外發(fā)展情況進(jìn)入90年代,遺傳算法迎來了興盛發(fā)展時(shí)期,無論是理論研究還是應(yīng)用研究都成了十分熱門的課題。隨著應(yīng)用領(lǐng)域的擴(kuò)展,遺傳算法的研究出現(xiàn)了幾個(gè)引人注目的新動(dòng)向:一是基于遺傳算法的機(jī)器學(xué)習(xí),這一新的研究課題把遺傳算法從歷來離散的搜索空間的優(yōu)化搜索算法擴(kuò)展到具有獨(dú)特的規(guī)則生成功能的嶄新的機(jī)器學(xué)習(xí)算法。2.遺傳算法的國內(nèi)外發(fā)展情況進(jìn)入90年代,遺傳算法迎來了興31這一新的學(xué)習(xí)機(jī)制對(duì)于解決人工智能中知識(shí)獲取和知識(shí)優(yōu)化精煉的瓶頸難題帶來了希望。二是遺傳算法正日益和神經(jīng)網(wǎng)絡(luò)、模糊推理以及混沌理論等其它智能計(jì)算方法相互滲透和結(jié)合,這對(duì)開拓21世紀(jì)中新的智能計(jì)算技術(shù)將具有重要的意義。三是并行處理的遺傳算法的研究十分活躍。這一研究不僅對(duì)遺傳算法本身的發(fā)展,而且對(duì)于新一代智能計(jì)算機(jī)體系結(jié)構(gòu)這一新的學(xué)習(xí)機(jī)制對(duì)于解決人工智能中知識(shí)獲取和知識(shí)優(yōu)化精煉的瓶32的研究都是十分重要的。四是遺傳算法和另一個(gè)稱為人工生命的嶄新研究領(lǐng)域正不斷滲透。所謂人工生命即是用計(jì)算機(jī)模擬自然界豐富多彩的生命現(xiàn)象,其中生物的自適應(yīng)、進(jìn)化和免疫等現(xiàn)象是人工生命的重要研究對(duì)象,而遺傳算法在這方面將會(huì)發(fā)揮一定的作用,五是遺傳算法和進(jìn)化規(guī)劃(EvolutionProgramming,EP)以及進(jìn)化策略(EvolutionStrategy,ES)等進(jìn)化計(jì)算理論日益結(jié)合。的研究都是十分重要的。333.遺傳算法的原理遺傳算法的思想源于生物遺傳學(xué)和適者生存的自然規(guī)律,是具有“生存+檢測(cè)”的迭代過程的搜索算法。它以一種群體中的所有個(gè)體為對(duì)象,并利用隨機(jī)化技術(shù)指導(dǎo)對(duì)一個(gè)被編碼的參數(shù)空間進(jìn)行高效搜索。其中,選擇、交叉和變異構(gòu)成了遺傳算法的遺傳操作;參數(shù)編碼、初始群體的設(shè)定、適應(yīng)度函數(shù)的設(shè)計(jì)、遺傳操作設(shè)計(jì)、控制參數(shù)設(shè)定五個(gè)要素3.遺傳算法的原理遺傳算法的思想源于生物遺傳學(xué)和適者生存的34組成了遺傳算法的核心內(nèi)容。遺傳算法的流程為:開始{選擇編碼方式;產(chǎn)生初始群體;計(jì)算初始群體的適應(yīng)度;若不滿足結(jié)束條件則循環(huán)執(zhí)行:{選擇操作;交換操作;變異操作;計(jì)算新一代群體的適應(yīng)度;}}結(jié)束組成了遺傳算法的核心內(nèi)容。35由此可以看出,從搜索角度,遺傳算法與傳統(tǒng)的搜索方法相比具有如下獨(dú)特的優(yōu)點(diǎn):①搜索過程不直接作用在變量上,不必非常明確描述問題的全部特征,可直接對(duì)結(jié)構(gòu)對(duì)象(集合、序列、矩陣、樹、圖、鏈和表)進(jìn)行操作,通用性強(qiáng),能很快適應(yīng)問題和環(huán)境的變化。②采用概率的變遷規(guī)則來指導(dǎo)搜索方向,而不采用確定性由此可以看出,從搜索角度,遺傳算法與傳統(tǒng)的搜索方法相比具36搜索規(guī)則;對(duì)搜索空間沒有任何特殊要求(如連通性、凸性等),只利用適應(yīng)性信息,不需要連續(xù)性、可導(dǎo)或單峰等其它輔助信息,適應(yīng)范圍更廣。③搜索過程是從一組解迭代到另一組解,采用同時(shí)處理群體中多個(gè)個(gè)體的方法,從多點(diǎn)進(jìn)行搜索,搜索的全局性強(qiáng),降低了陷入局部最優(yōu)解的可能性;具有隱并行性,非常適合于并行計(jì)算。搜索規(guī)則;對(duì)搜索空間沒有任何特殊要求(如連通性、凸性等),374.遺傳算法的步驟1.編碼:把所需要選擇的特征進(jìn)行編號(hào),每一個(gè)特征就是一個(gè)基因,一個(gè)解就是一串基因的組合。為了減少組合數(shù)量,在圖像中進(jìn)行分塊(比如5*5大小的塊),然后再把每一塊看成一個(gè)基因進(jìn)行組合優(yōu)化的計(jì)算。每個(gè)解的基因數(shù)量是要通過實(shí)驗(yàn)4.遺傳算法的步驟1.編碼:把所需要選擇的特征進(jìn)行編號(hào),每一382.初始群體(population)的生成:隨機(jī)產(chǎn)生N個(gè)初始串結(jié)構(gòu)數(shù)據(jù),每個(gè)串結(jié)構(gòu)數(shù)據(jù)稱為一個(gè)個(gè)體。N個(gè)個(gè)體,構(gòu)成了一個(gè)群體。GA以這N個(gè)串結(jié)構(gòu)數(shù)據(jù)作為初始點(diǎn)開始迭代。這個(gè)參數(shù)N需要根據(jù)問題的規(guī)模而確定。確定的。3.交換(crossover):交換(也叫雜交)操作是遺傳算法中最主要的遺傳操作。由交換概率(cP)挑選的每兩個(gè)父代通過將相異的部分基因進(jìn)行交換(如果交換全部相異的就變成了對(duì)方而2.初始群體(population)的生成:隨機(jī)產(chǎn)生N個(gè)初始39沒什么意義),從而產(chǎn)生新的個(gè)體。可以得到新一代個(gè)體,新個(gè)體組。4.適應(yīng)度值(fitness)評(píng)估檢測(cè):計(jì)算交換產(chǎn)生的新個(gè)體的適應(yīng)度。適應(yīng)度用來度量種群中個(gè)體優(yōu)劣(符合條件的程度)的指標(biāo)值,這里的適應(yīng)度就是特征組合的判據(jù)的值。這個(gè)判據(jù)的選取是GA的關(guān)鍵所在。合了其父輩個(gè)體的特性。交換體現(xiàn)了信息交換的思想。沒什么意義),從而產(chǎn)生新的個(gè)體??梢缘玫叫乱淮鷤€(gè)體,新個(gè)體組405.選擇(selection):選擇的目的是為了從交換后的群體中選出優(yōu)良的個(gè)體,使它們有機(jī)會(huì)作為父代為下一代繁殖子孫。遺傳算法通過選擇過程體現(xiàn)這一思想,進(jìn)行選擇的原則是適應(yīng)性強(qiáng)的個(gè)體為下一代貢獻(xiàn)的概率大,選擇實(shí)現(xiàn)了達(dá)爾文的適者生存原則。本文直接選取交換后的群體中具有最大適應(yīng)度的前N個(gè)個(gè)體作為下一代進(jìn)行繁殖。這一步驟的存在使得當(dāng)前群體是所有搜索過的解之中是最優(yōu)的前N個(gè)的集合。5.選擇(selection):選擇的目的是為了從交換后的群416.變異(mutation):變異首先在群體中隨機(jī)選擇一定數(shù)量個(gè)體,對(duì)于選中的個(gè)體以一定的概率(成為變異概率mP)隨機(jī)地改變串結(jié)構(gòu)數(shù)據(jù)中某個(gè)基因的值。同生物界一樣,GA中變異發(fā)生的概率很低,通常取值在0.001~0.01之間。變異為新個(gè)體的產(chǎn)生提供了機(jī)會(huì)。7.中止。規(guī)則有三種情況:(1)給定一個(gè)最大的遺傳代數(shù)MAXGEN(人為事先確定),算法6.變異(mutation):變異首先在群體中隨機(jī)選擇一定數(shù)42迭代在達(dá)MAXGEN時(shí)停止。(2)給定問題一個(gè)下界的計(jì)算方法,當(dāng)進(jìn)化中達(dá)到要求的偏差ε時(shí),算法終止。(3)當(dāng)監(jiān)控得到的算法再進(jìn)化已無法改進(jìn)解的性能,即解的適應(yīng)度無法再提高,此時(shí)停止計(jì)算。迭代在達(dá)MAXGEN時(shí)停止。435.算法的構(gòu)成結(jié)構(gòu)體structindividual{ charchrom[chromlength+1]; doublevalue; doublefitness;//適應(yīng)度}bestindividual/*最佳個(gè)體*/,worstindividual/*最差個(gè)體*/,currentbest/*當(dāng)前最佳*/,population[POPSIZE]/*全部個(gè)體*/;5.算法的構(gòu)成結(jié)構(gòu)體44種群初始化voidgenerateinitialpopulation(){ inti,j; for(i=0;i<popsize;i++) { for(j=0;j<chromlength;j++) { population[i].chrom[j]=(rand()%10<5)?'0':'1'; } population[i].chrom[chromlength]='\0'; }}種群初始化45計(jì)算函數(shù)值voidcalculateobjectvalue(){ inti; longtemp1,temp2;doublex1,x2; for(i=0;i<popsize;i++){temp1=decodechromosome(population[i].chrom,0,length1);temp2=decodechromosome(population[i].chrom,length1,length2);x1=4.096*temp1/1023.0-2.048;//temp的最大取值為1023,將其最大值換算為2.048x2=4.096*temp2/1023.0-2.048;//temp的最小取值為0,將其最小值算為-2.048population[i].value=100*(x1*x1-x2)*(x1*x1-x2)+(1-x1)*(1-x1);}}計(jì)算函數(shù)值46比例選擇算法voidselectoperator(){inti,index;doublep,sum=0.0;doublecfitness[POPSIZE];structindividualnewpopulation[POPSIZE];for(i=0;i<popsize;i++) {sum+=population[i].fitness;} for(i=0;i<popsize;i++) {cfitness[i]=population[i].fitness/sum;} for(i=1;i<popsize;i++) {cfitness[i]=cfitness[i-1]+cfitness[i];}

比例選擇算法47for(i=0;i<popsize;i++) {p=rand()%1000/1000.0; index=0; while(p>cfitness[index]) {index++;} newpopulation[i]=population[index]; } for(i=0;i<popsize;i++) { population[i]=newpopulation[i]; }}for(i=0;i<popsize

溫馨提示

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

評(píng)論

0/150

提交評(píng)論