




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、滑塊問(wèn)題求解系統(tǒng)報(bào)告一、 設(shè)計(jì)任務(wù):以八數(shù)碼問(wèn)題為例設(shè)計(jì)一類滑塊問(wèn)題的求解系統(tǒng)初步掌握智能搜索算法中的 盲目搜索和啟發(fā)式搜索這兩類基本方淑時(shí)通過(guò)具體的問(wèn)題體會(huì)搜索算法攵 據(jù)結(jié)構(gòu)、程序設(shè)計(jì)等知識(shí)的綜合應(yīng)用。28312314 -484765765圖1 8數(shù)碼問(wèn)題示意圖二設(shè)計(jì)環(huán)境及使用說(shuō)明操作系統(tǒng)Windows Xp開(kāi)發(fā)平臺(tái)eclipse開(kāi)發(fā)語(yǔ)言:java三系統(tǒng)已實(shí)現(xiàn)的功能a)狀態(tài)設(shè)置欄:(如圖)(1)默認(rèn)終態(tài):本程序默認(rèn)終態(tài)為23456780手動(dòng)布局:狀態(tài)設(shè)臂隨機(jī)生成態(tài),空格用0表示導(dǎo)入布局:隨機(jī)生成:包括(起始狀態(tài))(目標(biāo)狀態(tài))生成,避免無(wú)解可以產(chǎn)生一個(gè)有解狀態(tài)八數(shù)碼建起始狀態(tài)目標(biāo)伏態(tài)避免無(wú)解議
2、勾選)(5)如下圖進(jìn)行導(dǎo)入操作:(單擊左框狀態(tài)設(shè)置欄的“導(dǎo)入布局”按鈕)23857641衲始伏蠱:23S7E5410.盲目搜索:-A*算法2當(dāng)前步數(shù)終點(diǎn)狀態(tài):124376560b)算法選擇區(qū)C)當(dāng)前步驟欄目:顯示當(dāng)前進(jìn)行的步數(shù)統(tǒng)計(jì)(如圖)當(dāng)前步數(shù)0d)操作欄執(zhí)行時(shí)間: 執(zhí)廳步數(shù): 已擴(kuò)展結(jié)點(diǎn): 未擴(kuò)展結(jié)點(diǎn).:j開(kāi)始攙索自動(dòng)滴示退出恢復(fù)初態(tài):演示后恢復(fù)到初始狀態(tài)開(kāi)始搜索:搜索是否有解及步數(shù)自動(dòng)演示:界面將實(shí)時(shí)顯示求解過(guò)程e)界面選擇輸入初始時(shí),每個(gè)格子均顯示所有數(shù)字,之后根據(jù)用戶選擇動(dòng)態(tài)更新候選數(shù)四算法思想及分析1采用算法 盲目搜索(深度優(yōu)先),啟發(fā)式搜索兩種2. 設(shè)計(jì)的思想(啟發(fā)函數(shù))a.啟發(fā)
3、函數(shù)一:f(n)=g(n)+h(n)其中g(shù) (n)為當(dāng)前節(jié)點(diǎn)深度,h (n)為直線距離b.啟發(fā)函數(shù)二:1 (7向下一次+ 1 (2向上一次+ 2 (4向左兩次+ 3 (6向右兩次,向上一次 + 2 (5向上一次向左一次二9f(n)=g(n)+h(n)其中g(shù) (n)為當(dāng)前節(jié)點(diǎn)深度,h (n)為曼哈頓距離 3數(shù)據(jù)結(jié)構(gòu)定義了一個(gè)結(jié)構(gòu)體,每個(gè)如左圖結(jié)點(diǎn)都包含如下信息:class Node/定義NOD結(jié)構(gòu)int Id;/當(dāng)前結(jié)點(diǎn)Dint arr=new int33;/八數(shù)碼狀態(tài)數(shù)組int FatherId;/父親結(jié)點(diǎn)的Dint g;/深度int f;/權(quán)值int h;/曼哈頓long hash;/哈希值
4、OPE表 :存放未檢查和擴(kuò)展的節(jié)點(diǎn)CLOSED存放已檢查和擴(kuò)展的節(jié)點(diǎn)規(guī)則:1. 從OPES中取出一個(gè)節(jié)點(diǎn),檢查其是否為目標(biāo)節(jié)點(diǎn),若是則搜索成功,返回 結(jié)果路徑。2. 將n放ACLOSgDo3. 擴(kuò)展的子節(jié)點(diǎn),檢杳重復(fù)性,放入PE表中。4)主要的實(shí)現(xiàn)框架兩個(gè)隨機(jī)狀態(tài)之間是否可達(dá),可以通過(guò)計(jì)算兩者的逆序值,若兩者奇偶性相同則可達(dá),否則兩個(gè)狀 態(tài)不可達(dá)。(關(guān)鍵算法)for(int i = 0;i<9;i+)for(i nt j = O;j<i;j+)if(startsi<startsj &&startsi!=0)coun t1+;/ 統(tǒng)計(jì)初始狀態(tài)的逆序數(shù)for(i
5、nt i = 0;i<9;i+)for(i nt j = O;j<i;j+)if(e ndsi<e ndsj&&en dsi!=O)cou nt2+;/統(tǒng)計(jì)目標(biāo)狀態(tài)的逆序數(shù)if(cou nt1%2=cou nt2%2)System.out.println(” 有解");return true;elseSystem.out.println(” 無(wú)解");return false;5.實(shí)現(xiàn)中遇到的問(wèn)題在做盲目搜索時(shí),因?yàn)槲疫x擇的是深度優(yōu)先搜索,所以就要用到當(dāng)時(shí)有自己定義一 個(gè)stack類,不過(guò)在這之后我在ava的API文檔中發(fā)現(xiàn)了有一個(gè)erto
6、r類,可以很方便的模按tacK新添時(shí)加入到最后,取數(shù)時(shí)從最后一個(gè)開(kāi)始取, 這樣就可以模擬stack了。6.部分關(guān)鍵代碼/=/進(jìn)行OPEN!排序操作/= public void QueueOpen()/=OPEN表排序,只用找 F值最小的設(shè)為第一個(gè) NODE=int min_flag=0; / 最小的位置int arr= new int 33;/初始化一個(gè)2維數(shù)組放結(jié)點(diǎn)Nodetemp =new Node(0,0,arr,0,0,0,0);/初始化一個(gè)結(jié)點(diǎn)結(jié)構(gòu),都是0,當(dāng)然只是初始化Node node_flag=(Node)open.get(0);/ 把OPE表的第一個(gè)拿岀來(lái)賦值給node_fl
7、agint minvalue=node_flag.f; /然后看看第一個(gè)的權(quán)值,暫且放 MINVALUE把第一個(gè)默認(rèn)是最小的,然后進(jìn)行更新for (int i=0;i< open.size();i+)/開(kāi)始比較了Node opei=(Node) open.get(i);/這里的get只是查看,所以沒(méi)有修改OPE表,我們目的是看哪個(gè)最小所以不要POPif (opei. f <minvalue)/找到一個(gè)比第一個(gè)更小的minvalue=opei.f; / 來(lái)了,進(jìn)行更新了min_flag=i;/記錄這個(gè)最小的位置在OPEf表的哪個(gè)地方temp=(Node)open.get(0); /把
8、OPE表的第一個(gè)放到 temp里面=也就是先記錄第一個(gè)結(jié)占八、open.setElementAt(Node)open.elementAt(min_flag),O);/ 好好講下這個(gè)函數(shù)方法了/這個(gè)括號(hào)里面什么意思呢?就是把OPEf表里面min_flag我們記錄的那個(gè)結(jié)點(diǎn)放到第一個(gè)位置(0代表OPEf第一個(gè)),前面vNODE指明/ 了他是一個(gè)結(jié)點(diǎn),是不是很明了了?open.setElementAt(temp,min_flag);/你把那個(gè)第一個(gè)放了最小的,我這個(gè)原本第一個(gè)放哪里?/當(dāng)然是放到那個(gè)min_flag的位置啦五.結(jié)果圖示及分析文燉殆朋主題狀瑟役豈起殆伏苗 口目標(biāo)杭謬謹(jǐn)免無(wú)解'12345678初舲我態(tài);C盲目攬素C打算去1匚當(dāng)前歩敢012345678辭點(diǎn)裁喜;目動(dòng)糧示退出六.算法效率 相同輸入:243185670相同輸出:635207481盲目搜索執(zhí)行時(shí)間:2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市再生水利用模式研究計(jì)劃
- 食品安全與超市工作場(chǎng)所的衛(wèi)生控制
- 針對(duì)不同年齡群體的認(rèn)知障礙預(yù)防措施
- 2025年福建南平綠發(fā)集團(tuán)有限公司招聘28人筆試參考題庫(kù)附帶答案詳解
- 財(cái)技相融財(cái)務(wù)報(bào)表分析與企業(yè)經(jīng)營(yíng)管理的融合策略
- 項(xiàng)目化美術(shù)教育與設(shè)計(jì)思維的融合趨勢(shì)
- 高效太陽(yáng)能技術(shù)研發(fā)進(jìn)展及產(chǎn)業(yè)前景
- 浙江鴨2025版高考?xì)v史大三輪復(fù)習(xí)下篇第一部分主題四中國(guó)傳統(tǒng)文化的傳承及中西方思想的交流與碰撞學(xué)案人民版
- 通史版2025版高考?xì)v史一輪復(fù)習(xí)第2部分第6單元近代中國(guó)的革命與近代道路抉擇第15講新文化運(yùn)動(dòng)三民主義和毛澤東思想教學(xué)案
- 跨境電商平臺(tái)下的銀行對(duì)公跨境支付服務(wù)模式創(chuàng)新
- 2025年紹興市上虞大眾勞動(dòng)事務(wù)代理(所)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 酒店會(huì)議接待服務(wù)方案
- 2025年人教版新教材英語(yǔ)小學(xué)三年級(jí)下冊(cè)教學(xué)計(jì)劃(含進(jìn)度表)
- 2025年山東商務(wù)職業(yè)學(xué)院高職單招高職單招英語(yǔ)2016-2024年參考題庫(kù)含答案解析
- 人工智能在企業(yè)人力資源招聘中的運(yùn)用研究
- 2023年2024年演出經(jīng)紀(jì)人之演出經(jīng)紀(jì)實(shí)務(wù)考試題庫(kù)附答案(達(dá)標(biāo)題)
- DG-T 076-2024 采茶機(jī)標(biāo)準(zhǔn)規(guī)范
- 《分娩機(jī)轉(zhuǎn)》課件
- 軍隊(duì)文職備考(面試)近年考試真題(參考300題)
- 金融業(yè)稅收優(yōu)惠政策指引
- 乳腺癌課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論