




已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)用文檔人工智能實(shí)驗(yàn)報(bào)告學(xué) 號(hào): 姓 名: 實(shí)驗(yàn)名稱: 遺傳算法 實(shí)驗(yàn)日期: 2016.1.5 【實(shí)驗(yàn)名稱】 遺傳算法 【實(shí)驗(yàn)?zāi)康摹空莆者z傳算法的基本原理,熟悉遺傳算法的運(yùn)行機(jī)制,學(xué)會(huì)用遺傳算法來(lái)求解問(wèn)題?!緦?shí)驗(yàn)原理】遺傳算法(Genetic Algorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過(guò)程的計(jì)算模型,是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法。遺傳算法是從代表問(wèn)題可能潛在的解集的一個(gè)種群開(kāi)始的,而一個(gè)種群則由經(jīng)過(guò)基因編碼的一定數(shù)目的個(gè)體組成。每個(gè)個(gè)體實(shí)際上是染色體帶有特征的實(shí)體。在一開(kāi)始需要實(shí)現(xiàn)從表現(xiàn)型到基因型的映射即編碼工作。由于仿照基因編碼的工作很復(fù)雜,我們往往進(jìn)行簡(jiǎn)化,如二進(jìn)制編碼,初代種群產(chǎn)生之后,按照適者生存和優(yōu)勝劣汰的原理,逐代演化產(chǎn)生出越來(lái)越好的近似解,在每一代,根據(jù)問(wèn)題域中個(gè)體的適應(yīng)度大小選擇個(gè)體,并借助于自然遺傳學(xué)的遺傳算子進(jìn)行組合交叉和變異,產(chǎn)生出代表新的解集的種群。這個(gè)過(guò)程將導(dǎo)致種群像自然進(jìn)化一樣的后生代種群比前代更加適應(yīng)于環(huán)境,末代種群中的最優(yōu)個(gè)體經(jīng)過(guò)解碼,可以作為問(wèn)題近似最優(yōu)解。遺傳算法程度流程圖為:【實(shí)驗(yàn)內(nèi)容】題目:已知f(x)=x*sin(x)+1,x0,2p,求f(x)的最大值和最小值。 數(shù)據(jù)結(jié)構(gòu):struct poptype double genelength;/染色體double realnumber;/對(duì)應(yīng)的實(shí)數(shù)xdouble fitness;/適應(yīng)度double rfitness;/相對(duì)適應(yīng)度double cfitness;/累計(jì)適應(yīng)度;struct poptype populationpopsize+1;/最后一位存放max/minstruct poptype newpopulationpopsize+1;/染色體編碼:,變量長(zhǎng)度為2 ,取小數(shù)點(diǎn)后6位,由于因此,染色體由23位字節(jié)的二進(jìn)制矢量表示,則X與二進(jìn)制串()2之間的映射如下: ; 適應(yīng)度函數(shù):由于要求f(x)的最值,所以適應(yīng)度函數(shù)即可為f(x)。但為了確保在輪賭法選擇過(guò)中,每個(gè)個(gè)體都有被選中的可能性,因此需要將所有適應(yīng)度調(diào)整為大于0的值。因此,設(shè)計(jì)求最大值的適應(yīng)度函數(shù)如下: 將最小問(wèn)題轉(zhuǎn)化為求-f(x)的最大值,同理,設(shè)計(jì)最小值的適應(yīng)度函數(shù)如下: 種群大小:本實(shí)驗(yàn)?zāi)J(rèn)為50,再進(jìn)行種群初始化。 實(shí)驗(yàn)參數(shù):主要有迭代數(shù),交叉概率,變異概率這三個(gè)參數(shù)。一般交叉概率在0.6-0.9范圍內(nèi),變異概率在0.01-0.1范圍內(nèi)??梢酝ㄟ^(guò)手動(dòng)輸入進(jìn)行調(diào)試。 主要代碼如下:void initialize()/種群初始化srand(time(NULL);int i,j;for(i=0;ipopsize;i+)for(j=0;j23;j+)populationi.genej=rand()%2;void transform()/染色體轉(zhuǎn)化為實(shí)數(shù)xint i,j;for(i=0;i=popsize+1;i+)populationi.realnumber=0;for(j=0;j23;j+)populationi.realnumber+=populationi.genej*pow(2,j); populationi.realnumber=populationi.realnumber*2*pi/(pow(2,23)-1); void cal_fitness()/計(jì)算適應(yīng)度int i;for(i=0;ipopsize;i+)populationi.fitness=populationi.realnumber*sin(populationi.realnumber)+6;void select()/選擇操作int mem,i,j,k;double sum=0;double p;for (mem=0;mempopsize;mem+)sum+=populationmem.fitness;for (mem=0;mempopsize; mem+)populationmem.rfitness=populationmem.fitness/sum;population0.cfitness=population0.rfitness;for (mem=1;mempopsize;mem+) populationmem.cfitness=populationmem-1.cfitness+populationmem.rfitness;for (i=0;ipopsize;i+) /輪賭法選擇機(jī)制p=rand()%1000/1000.0;if (ppopulation0.cfitness)newpopulationi=population0;elsefor (j=0;j=populationj.cfitness&ppopulationj+1.cfitness)newpopulationi=populationj+1; for (i=0;ipopsize;i+)/復(fù)制給下一代 populationi=newpopulationi; void cross()/交叉操作int i, mem, one;int first = 0; double x;for(mem=0;mempopsize;mem+)x = rand()%1000/1000.0;if (xpcross)+first;if (first%2=0) Xover(one,mem);/個(gè)體間染色體進(jìn)行交叉函數(shù)else one=mem; void mutate()/變異操作int i, j,t;double x;for (i=0;ipopsize;i+)for(j=0;jlength;j+)x=rand()%1000/1000.0; if (xpvariation) if(populationi.genej) populationi.genej=0;else populationi.genej=1; void cal_max()/計(jì)算最大值int i;double max,sum=0;int max_m;max=population0.fitness;for(i=0;ipopulationi+1.fitness)if(populationi.fitness=max)max=populationi.fitness;max_m=i; else if(populationi+1.fitness=max)max=populationi+1.fitness;max_m=i + 1; if(maxpopulationpopsize.fitness)iteration=0;for (i=0;ilength;i+)populationpopsize.genei=populationmax_m.genei;populationpopsize.fitness=populationmax_m.fitness; for (i=0;ilength;i+)sum=populationpopsize.genei-populationmax_m.genei;if(sum=0) iteration+
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車(chē)輛事故賠償協(xié)議合同
- 農(nóng)林經(jīng)濟(jì)管理專(zhuān)業(yè)人才培養(yǎng)與學(xué)科發(fā)展
- 別墅區(qū)物業(yè)管理合同
- 農(nóng)產(chǎn)品化生產(chǎn)基地建設(shè)合同
- 公司的場(chǎng)地租賃協(xié)議
- 業(yè)務(wù)委托外包處理合同
- 輕質(zhì)材料出租合同協(xié)議
- 造橋技術(shù)轉(zhuǎn)讓合同協(xié)議
- 更改性名協(xié)議書(shū)
- 車(chē)輛維修合同補(bǔ)充協(xié)議
- 北京市昌平區(qū)2023-2024學(xué)年六年級(jí)下學(xué)期語(yǔ)文期末畢業(yè)考試試卷(含答案)
- GB/T 20014.28-2025良好農(nóng)業(yè)規(guī)范第28部分:棉花控制點(diǎn)與符合性規(guī)范
- 2025年福建省福州市電子信息集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 運(yùn)輸公司2024年防汛工作方案
- 公衛(wèi)重精培訓(xùn)試題及答案
- 產(chǎn)品返修合同范例
- 中華農(nóng)耕文化歷史與現(xiàn)實(shí)知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春中國(guó)農(nóng)業(yè)大學(xué)
- 人工智能技術(shù)在田徑領(lǐng)域的創(chuàng)新應(yīng)用分析
- 酒店防汛知識(shí)培訓(xùn)課件
- 2025年中考英語(yǔ)第一次模擬考試(廣州卷)(含答案+解析)2025年中考英語(yǔ)逆襲沖刺中考模擬真題速遞(廣州專(zhuān)用)
- 設(shè)備采購(gòu)方案投標(biāo)文件(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論