




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)八數(shù)碼游戲問(wèn)題一、八數(shù)碼游戲問(wèn)題簡(jiǎn)介九宮排字問(wèn)題(乂稱(chēng)八數(shù)碼問(wèn)題)是人工智能當(dāng)中有名的難題之一。問(wèn)題是在3X3方格盤(pán)上,放有八個(gè)數(shù)碼,剩下第九個(gè)為空,每一空格其上下左右的數(shù)碼可移至空格。(a)初始狀態(tài)圖(b)(a)初始狀態(tài)圖(b)目標(biāo)狀態(tài)八數(shù)碼游戲二、實(shí)驗(yàn)?zāi)康?熟悉人工智能系統(tǒng)中的問(wèn)題求解過(guò)程;.熟悉狀態(tài)空間的盲目搜索和啟發(fā)式搜索算法的應(yīng)用;.熟悉對(duì)八數(shù)碼問(wèn)題的建模、求解及編程語(yǔ)言的應(yīng)用。三、實(shí)驗(yàn)的思路八數(shù)碼問(wèn)題:在3X3的方格棋盤(pán)上,擺放著1到8這八個(gè)數(shù)碼,有1個(gè)方格是空的,其初始狀態(tài)如圖1所示,要求對(duì)空格執(zhí)行空格左移、空格右移、空格上移和空格下移這四個(gè)操作使得棋盤(pán)從初始狀態(tài)到目標(biāo)狀態(tài)。
2、例如:圖1八數(shù)碼問(wèn)題示意圖數(shù)碼結(jié)構(gòu)體數(shù)碼結(jié)構(gòu)體typedefstnictnode(intfonnNN;intevalue;intudirec;右stmctnodeparent;Graph;Giaph*QuMAX;隊(duì)歹ljGraph*StMAX;堆棧.啟發(fā)函數(shù)設(shè)定由八數(shù)碼問(wèn)題的部分狀態(tài)圖可以看出,從初始節(jié)點(diǎn)開(kāi)始,在通向目標(biāo)節(jié)點(diǎn)的路徑上,各節(jié)點(diǎn)的數(shù)碼格局同目標(biāo)節(jié)點(diǎn)相比較,其數(shù)碼不同的位置個(gè)數(shù)在逐漸減少,最后為零,因此可以把數(shù)碼不同的位置個(gè)數(shù)作為標(biāo)志一個(gè)節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)距離遠(yuǎn)近的一個(gè)啟發(fā)性信息,利用這個(gè)信息來(lái)擴(kuò)展節(jié)點(diǎn)的選擇,減少搜索范圍,提高搜索速度。.搜索過(guò)程:(搜索采用廣度搜索方式,利用待處理隊(duì)列
3、輔助,逐層搜索(跳過(guò)劣質(zhì)節(jié)點(diǎn))a、把初始數(shù)碼組壓入隊(duì)列;b、從隊(duì)列中取出一個(gè)數(shù)碼組節(jié)點(diǎn);c、擴(kuò)展子節(jié)點(diǎn),即從上下左右四個(gè)方向移動(dòng)空格,生成相應(yīng)子節(jié)點(diǎn):d、對(duì)子節(jié)點(diǎn)數(shù)碼組作評(píng)估,是否為優(yōu)越節(jié)點(diǎn),即其評(píng)估值是否小于等于其父節(jié)點(diǎn)加一,是則將其壓入隊(duì),否則拋棄。e、判斷壓入隊(duì)的子節(jié)點(diǎn)數(shù)碼組(優(yōu)越點(diǎn))的評(píng)估值,為零則表示搜索完成,退出搜索;f、跳到步驟2;四、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)/八數(shù)碼結(jié)構(gòu)體數(shù)碼組評(píng)估值,差距所屏蔽方向,防止往回推到上一狀態(tài),1上2下3左4父節(jié)點(diǎn)起始)五、實(shí)驗(yàn)過(guò)程及代碼#mclude設(shè)計(jì)了搜索深度范圍,防止隊(duì)列內(nèi)存越界#include#includedefineN3數(shù)碼組大小defineMa
4、x_Step50最大搜索深度defineMAX50typedefstinctnode/八數(shù)碼結(jié)構(gòu)體intformNN;數(shù)碼組intevahie;/評(píng)估值intudirect;所屏蔽方向,防止往回推到上已狀態(tài),1上2下3左4右stiuctnode*parent;父節(jié)點(diǎn)Graph;Graph*QuMAX;/隊(duì)歹ijGi-aph*StMAX;堆棧/打印數(shù)碼組voidPrint(Graph*The_graph)mtij;if(The_gi-aph=NULL)pnntf(”圖為空n)elsepnntffnM);for(i=0;iN;i+)(pmitf(n|tH);for(j=0;jfbrmij);遍歷打
5、印pinitfC,t|nn);pniitf(n|ttt差距:%dt|ir:The_graph-evahie);/差距顯示pnntffnM);/評(píng)價(jià)函數(shù)mtEvaluate(Graph*The_giaph,Graph*End_graph)intTalute=O;/差E巨數(shù)mtij;fbr(i=O;iN;i-H-)for(j=0;jfbmii|j!=End_giaph-fonnij)(valute+;The_giaph-evalue=xralute;returnvalute;/移動(dòng)數(shù)碼組Graph*Move(Graph*Tlie_giaph,mtDirect,intCreatNew_graph)G
6、raph*New_graph;intHasGetBlank=O;是否獲取空格位置intAbleMove=1;是否可移動(dòng)intfor(i=0;iN;i+)獲取空格坐標(biāo)ijfor(j=0;jfbimij=0)(HasGetBlaiik=l;break;if(HasGetBlank=l)break;prin氓”空格位置:%d,%dn”,i,j);t戶(hù)U=J;移動(dòng)空格switch(Direct)case1:/_Etj-sif(t_i=N)AbleMove=0;break;case3:/左if(U=N)AbleMove=0;break;if(AbleMove=0)不能移動(dòng)則返回原節(jié)點(diǎn)returnThe_
7、graph;)if(CreatNew_gi,aph=1)New_graph=(Graph*)malloc(sizeof(Graph);/生成節(jié)點(diǎn)for(x=0;xN;x+)(fbr(yO;yfbnnxy=The_graph-fomixy;/目制數(shù)碼組)elseNew_graph=The_graph;移動(dòng)后New_graph-fdmiij=New_gi-aph-fbnnt_itj;New_graph-fbnnt_it_j=O;/pnntf(移動(dòng)產(chǎn)生的新圖:n);/Print(New_graph);retiimNew_graph;/搜索函數(shù)Graph*Search(GraphBegin,Graph
8、*End)Graph*gl,*g2,*g;intStep=O;深度intDirect=O;方向inti;intfront,rear;fiont=i-eai-l-Jf隊(duì)列初始化g=NULL;reai+;入隊(duì)Qurear=Begin;while(rear!=fixmt)隊(duì)列不空f(shuō)hmHT;出隊(duì)gl=Qufront;“printf(開(kāi)始第d個(gè)圖ont);/Pimt(gl);for(i=1;iv=4;i+)分別從四個(gè)方向推導(dǎo)出新子節(jié)點(diǎn)(Duect=i;if(Du-ect=g1-udirect)跳過(guò)屏蔽方向contmue;g2=Move(gl,Direct,1);移動(dòng)數(shù)碼組if(g2!=gl)數(shù)碼組是否
9、可以移動(dòng)(可以移動(dòng)Evahiate(g2,End);評(píng)價(jià)新的節(jié)點(diǎn)pnntf(開(kāi)始產(chǎn)生的第d個(gè)圖:/Print(g2);if(g2-evalueevalue+1)是優(yōu)越節(jié)點(diǎn)g2-parent=gl;移動(dòng)空格switch(Direct)設(shè)置屏蔽方向,防止往回推(case1:/Jtg2-udirect=2;break;case2:下g2-udu,ect=l;break;case3:左g2-udkect=4;break;case4:右g2-udirect=3;break;)rear4-+;Qurear=g2;存儲(chǔ)節(jié)點(diǎn)到待處理隊(duì)列if(g2-evalue=0)為0則搜索完成(g=g2;/i=5;brea
10、k;)else(丘ee(g2);拋棄劣質(zhì)節(jié)點(diǎn)g2=NULL;)if(g!=NULL)為0則搜索完成(if(g-evalue=O)break;Step+;統(tǒng)計(jì)深度if(StepMax_Step)break;retiinig;mtmam(mtargc?constchar*argv口)/insertcodehere.GraphBegm_graph=2,8,3,1,6,4,7,0,5,0,0,NULL);/*IGraphBegm_graph=2,8,3,1,0,4,7,6,5,0,0,NULL);GraphBegm_graph=2,0,1,4,6,5,3,7,8,0,0,NULL);*/目標(biāo)數(shù)碼組Gr
11、aphEnd_graph=1,2,3,8,0,4,7,6,5,0,0,NULL);Evaluate(&Begin_gi,aph,&End_graph);/對(duì)初始的數(shù)碼組評(píng)價(jià)pnntf(初始數(shù)碼組:n”);Pnnt(&Begm_graph);pnntf(目標(biāo)數(shù)碼組An);Pnnt(&End_giaph);Graph*G,*P:inttop=-l;圖搜索G=Search(&Begm_graph,&End_graph);打印if(G)把路徑倒序P=G;壓棧while(P!=NULL)(top+;Sttop=P;P=P-parent;pnntf(yv-l)(P=Sttop;top-;Prmt(P);pniitf(nin);elseprmtf(搜索不到結(jié)果,深度為dW,Max_Step);設(shè)計(jì)搜索深度范圍主要是防止隊(duì)列內(nèi)存越界)retiim0;六、實(shí)驗(yàn)結(jié)果Cancer./桌面$gcc/I數(shù)碼.碼c:l:21:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)硬度計(jì)市場(chǎng)競(jìng)爭(zhēng)格局及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)男士護(hù)膚品行業(yè)競(jìng)爭(zhēng)狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)電熱線市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 上海工程技術(shù)大學(xué)《預(yù)防口腔醫(yī)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)藥科大學(xué)《工業(yè)網(wǎng)絡(luò)與組態(tài)技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中南大學(xué)《電動(dòng)汽車(chē)原理與設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)航空航天大學(xué)北方科技學(xué)院《初中道德與法治課程標(biāo)準(zhǔn)與教材》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧中醫(yī)藥大學(xué)杏林學(xué)院《電工儀表與測(cè)量》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西金融職業(yè)技術(shù)學(xué)院《化工熱力學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年安全員《A證》考試題庫(kù)
- 四川省瀘州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 《鄒忌諷齊王納諫》課件(共45張)
- 機(jī)械制圖教學(xué)課件(全套)
- 熱能與動(dòng)力工程測(cè)試技術(shù)- 液位測(cè)量
- 化學(xué)纖維精品課件
- 中式面點(diǎn)師初級(jí)(五級(jí))教學(xué)計(jì)劃、大綱
- QC成果構(gòu)造柱澆筑新技術(shù)的研發(fā)創(chuàng)新(附圖)
- 2020 ACLS-PC-SA課前自我測(cè)試試題及答案
- BIM技術(shù)應(yīng)用管理辦法
- 信息論與編碼第4章信息率失真函數(shù)
- 空間幾何向量法之點(diǎn)到平面的距離
評(píng)論
0/150
提交評(píng)論