人鬼渡河MatlabGUI界面設(shè)計(jì)-副本_第1頁(yè)
人鬼渡河MatlabGUI界面設(shè)計(jì)-副本_第2頁(yè)
人鬼渡河MatlabGUI界面設(shè)計(jì)-副本_第3頁(yè)
人鬼渡河MatlabGUI界面設(shè)計(jì)-副本_第4頁(yè)
人鬼渡河MatlabGUI界面設(shè)計(jì)-副本_第5頁(yè)
已閱讀5頁(yè),還剩33頁(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)介

1、課課程程設(shè)設(shè)計(jì)計(jì)( (論論文文) )題題 目目人人鬼鬼渡渡河河問(wèn)問(wèn)題題姓姓 名名學(xué)學(xué) 號(hào)號(hào)指指 導(dǎo)導(dǎo) 老老 師師指指導(dǎo)導(dǎo)教教師師職職稱稱教教授授年年級(jí)級(jí)專專業(yè)業(yè)班班級(jí)級(jí)所所 在在 學(xué)學(xué) 院院理理學(xué)學(xué)院院2 20 01 14 4 年年 5 5 月月 2 25 5 日日II武漢工程大學(xué)課程設(shè)計(jì) (論文)目目錄錄目錄.I摘要.II前言.III1課題背景 .11.1背景 .11.2需求分析 .11.3 意義.11.4 文獻(xiàn)綜述 .22設(shè)計(jì)方案的解題思路 .32.1人鬼渡河的任務(wù)與規(guī)則要點(diǎn) .32.2人鬼渡河的安全性考慮 .32.3 安全狀態(tài)的描述 .42.4 安全條件形式化 .63 詳細(xì)設(shè)計(jì) .123

2、.1渡河策略的定義.123.2初始狀態(tài) 的定義123.3 人鬼渡河的 操作.133.4 可視化的設(shè)計(jì).144設(shè)計(jì)結(jié)果及分析 .184.1測(cè)試結(jié)果 .184.2 問(wèn)題解決 .225總結(jié).22致謝 .25參考文獻(xiàn) .26附錄 程序代碼 .27III武漢工程大學(xué)課程設(shè)計(jì) (論文)摘摘要要本課題主要是運(yùn)用 Matlab7.0 的強(qiáng)大功能來(lái)解決 多決策人鬼渡河 問(wèn)題。本文較詳細(xì)地介紹了這一程序的設(shè)計(jì)思想,功能結(jié)構(gòu)以及可視化界面 的設(shè)計(jì)。本文還給出了對(duì)這一程序的測(cè)試情況以及對(duì)測(cè)試結(jié)果的分析。關(guān)鍵詞關(guān)鍵詞:person,ghost,MatlabIV武漢工程大學(xué)課程設(shè)計(jì) (論文)前前言言本文詳細(xì)介紹了 多決策

3、人鬼渡河 問(wèn)題的設(shè)計(jì)與開發(fā)。 全文共5章。第1章介紹了 多決策人鬼渡河 問(wèn)題的背景,以及它所要實(shí)現(xiàn)的基本功能。并根據(jù)這些用戶需求,進(jìn)行了必要的需求分析,從而確定了該程序應(yīng)實(shí)現(xiàn)了一些基本功能。本章中,還簡(jiǎn)要地介紹了該程序開發(fā)的意義以及在整個(gè)開發(fā)過(guò)程中,我們所查閱并借用的一些參考文獻(xiàn)的主要內(nèi)容。第2章主要介紹了 多決策人鬼渡河 問(wèn)題程序 中各功能模塊的 總體框圖,這是全文的核心部分。第3章是多決策人鬼渡河 問(wèn)題程序的詳細(xì)設(shè)計(jì) ,我們給出了主要的編程思路。第4章是對(duì)所開發(fā)的 人鬼渡河 問(wèn)題程序的運(yùn)行測(cè)試。通過(guò)我們所設(shè)計(jì)的 最佳方案選擇程序 ,檢驗(yàn)程序是否達(dá)到了預(yù)定的設(shè)計(jì)要求 。第5章是對(duì)關(guān)于運(yùn)用 多

4、決策解題思路 解決人鬼渡河 問(wèn)題程序開發(fā)過(guò)程的總結(jié)??偨Y(jié)了本次 課程設(shè)計(jì)的意義,以及 測(cè)試中所發(fā)現(xiàn)的一些問(wèn)題,有待進(jìn)一步改進(jìn)的地方。 重點(diǎn)還談到了 我在本次 課程設(shè)計(jì)中的收獲 與感想。全文的最后是致謝、參考文獻(xiàn)和程序的全部源代碼。XX2014-5-25 于武漢工程大學(xué)理學(xué)院1武漢工程大學(xué)課程設(shè)計(jì) (論文)1 課課題題背背景景1.11.1背景背景人鬼渡河問(wèn)題:有 3 個(gè)人帶著 3 個(gè)鬼要從河的東岸坐船擺渡到西岸,船很小,容量為 2(或 2 人,或 2 鬼,或 1 人和 1 鬼)。無(wú)論是在河的東岸還是西岸,一旦鬼數(shù)多于人數(shù),則人會(huì)被鬼丟到河中。試編程求出一種渡河方案。1.21.2需求分析需求分析根

5、據(jù)上面 給出的問(wèn)題,我們可以 運(yùn)用多決策解題思路 來(lái)解決。而且,我們必須通過(guò)程序來(lái)實(shí)現(xiàn)上面 人鬼渡河 問(wèn)題的最佳方案選擇。針對(duì)任務(wù)我們首先進(jìn)行形式化的分析,試圖建立一個(gè)個(gè)解決該題的數(shù)學(xué)模型。首先歸納人鬼渡河的規(guī)則,需從安全角度考慮:人身安全和船不能超載。1.31.3 意義意義關(guān)于多決策問(wèn)題 的相關(guān)知識(shí),是我們信息與計(jì)算科學(xué)專業(yè)必須了解的經(jīng)典算法之一。 它在程序中的作用肯定是毋庸置疑,對(duì)于我們以后的工作有時(shí)也有著指導(dǎo)作用。采用 Matlab 與算法與數(shù)據(jù)結(jié)構(gòu) 的思想,設(shè)計(jì)與開發(fā) 人鬼渡河 問(wèn)題的算法程序,有助于我們了解對(duì)該門課程的掌握程度及自身的運(yùn)用學(xué)習(xí)能力。2武漢工程大學(xué)課程設(shè)計(jì) (論文)1.

6、41.4 文獻(xiàn)綜述文獻(xiàn)綜述文獻(xiàn)1較詳細(xì)地介紹了多決策人鬼渡河問(wèn)題程序的設(shè)計(jì)與開發(fā)以及C+的一些基本知識(shí),它對(duì)于我們了解C+知識(shí),運(yùn)用 C+進(jìn)行算法與數(shù)據(jù)結(jié)構(gòu)有非常直接的幫助。文獻(xiàn)2介紹了 Matlab 程序設(shè)計(jì)的主要思想與方法,在解決多決策人鬼渡河問(wèn)題程序時(shí),我們參考該書中許多技巧、注意事項(xiàng)和可視化界面的設(shè)計(jì)等。3武漢工程大學(xué)課程設(shè)計(jì) (論文)2 設(shè)設(shè)計(jì)計(jì)方方案案的的解解題題思思路路2.12.1人鬼渡河的任務(wù)與規(guī)則要點(diǎn)人鬼渡河的任務(wù)與規(guī)則要點(diǎn)(1) 目標(biāo)是將東岸的 3 人 3 鬼通過(guò)一只小船轉(zhuǎn)移到西岸,希望以盡可能少的擺渡次數(shù)完成任務(wù)。(2) 船須有 1 人或 1 鬼來(lái)劃,船的容量有限,一次最

7、多只能坐不多于2人(或 2 鬼或 1 人 1 鬼)。(3) 無(wú)論是在河的東岸還是西岸,一旦鬼數(shù)多于人數(shù),則人被鬼丟到河中。(4) 怎樣渡河的大權(quán)掌握在人的手中。(5) 只求一種渡河方案。2.22.2人鬼渡河的安全性考慮人鬼渡河的安全性考慮定義變量: R表示東岸人數(shù) G表示東岸鬼數(shù) k表示船行次數(shù),從東岸到西岸或從西岸到東岸各計(jì)1 次。顯然,船從東到西, k 為奇數(shù);船從西到東, k 為偶數(shù)。定義向量為第 k 次行船的擺渡策略:kd =(,)kdkukv其中為上船人數(shù),為上船鬼數(shù)。kukv小船的容量為 2,因此令允許的擺渡策略集合為D:D= (u,v)| u=2, v=0;u=1, v=0;u=

8、1, v=1;u=0, v=1;u=0, v=2;4武漢工程大學(xué)課程設(shè)計(jì) (論文)說(shuō)說(shuō)明明:不存在 u=0,v=0 的情況,因?yàn)闆](méi)有劃槳者。狀態(tài)定義:擺渡過(guò)程中東岸的人數(shù)和鬼數(shù)視為一種狀態(tài),令表示第 kkS次擺渡前的狀態(tài) =(,)kSkukv經(jīng)過(guò)一次擺渡,東岸的人數(shù)和鬼數(shù)發(fā)生變化,會(huì)從一種狀態(tài)變?yōu)榱硪环N狀態(tài),稱之為狀態(tài)轉(zhuǎn)移。圖 2-1 為狀態(tài)轉(zhuǎn)移圖。 kS1kSk 為偶數(shù) +kdk 為奇數(shù) -kd圖 2-1 狀態(tài)轉(zhuǎn)移圖狀態(tài)轉(zhuǎn)移公式:= + * *1kSkSk) 1(kd安全渡河方案為多步?jīng)Q策問(wèn)題,決策的目標(biāo)是:選擇一系列的擺渡方案決策D(k=1,2,n),使?fàn)顟B(tài)kd SkS按照狀態(tài)轉(zhuǎn)移公式 =

9、 + * *1kSkSk) 1(kd由初始狀態(tài)=(3,3)經(jīng)有限步驟 n 到達(dá)1S =(0,0)1nS5武漢工程大學(xué)課程設(shè)計(jì) (論文)2.32.3安全狀態(tài)的描述安全狀態(tài)的描述下面我們用一些圖來(lái)形象地加以說(shuō)明,先看圖2-2,東岸狀態(tài)圖中的 10 個(gè)安全狀態(tài)。從東岸狀態(tài)圖分析有 3 類點(diǎn)是安全的:第 1 類:3 個(gè)人在東岸未動(dòng),有 4 個(gè)點(diǎn)。第 2 類:3 個(gè)人已不在東岸,有 4 個(gè)點(diǎn)。第 3 類:在東岸人數(shù)和鬼數(shù)相等,只有兩個(gè)點(diǎn)。(1,1)1 人 1 鬼;(2,2)2 人 2 鬼安全渡河要從第 1 類的 4 個(gè)點(diǎn)轉(zhuǎn)到第 2 類的 4 個(gè)點(diǎn),必須經(jīng)過(guò)第 3 類的 2個(gè)點(diǎn)。存在不安全的 6 個(gè)狀態(tài),

10、無(wú)論在東岸還是西岸鬼數(shù)多于人數(shù),人就慘了。東岸上的這 6 個(gè)狀態(tài)畫在圖 2-2 中圖 2-2 不安全和安全狀態(tài)圖 2-2 中,白點(diǎn)表示不安全狀態(tài),有6 個(gè);黑點(diǎn)表示安全狀態(tài),有10 個(gè)。6武漢工程大學(xué)課程設(shè)計(jì) (論文)2.42.4安全條件形式化安全條件形式化令 AQ=1 表示安全, AQ=0 表示不安全。下面我們將渡河問(wèn)題的安全條件形式化,見圖2-3. 將安全條件形式化AQ=( R=3 第一類安全點(diǎn)| R=0 第二類安全點(diǎn) 第 3 類安全點(diǎn)(人數(shù)等于鬼數(shù))圖 2-3 形式化的安全條件為了便于理解,我們先從初始狀態(tài)出發(fā)一步一步地走走看。有以下步驟:第 1 步:2 鬼上船西渡,東岸留 3 人 1

11、鬼(R=1)&(G=1)(R=2)&(G=2)7武漢工程大學(xué)課程設(shè)計(jì) (論文)第 2 步:1 鬼返回,東岸留 3 人 2 鬼第 3 步:2 鬼上船西渡,東岸有 3 人第 4 步:2 鬼上船東渡,東岸有 3 人 1 鬼第 5 步:2 人上船西渡,東岸有 1 人 1 鬼8武漢工程大學(xué)課程設(shè)計(jì) (論文)第 6 步:1 人 1 鬼上船東渡,東岸有 2 人 2 鬼第 7 步:2 人上船西渡,東岸有 2 鬼第 8 步:1 鬼上船東渡,東岸有 3 鬼9武漢工程大學(xué)課程設(shè)計(jì) (論文)第 9 步:2 鬼上船西渡,東岸有 1 鬼第 10 步:1 鬼上船東渡,東岸有 2 鬼第 11 步:2 鬼上船西

12、渡,東岸空10武漢工程大學(xué)課程設(shè)計(jì) (論文)安全渡河的關(guān)鍵點(diǎn)如圖 2-4:圖 2-4 安全渡河的關(guān)鍵點(diǎn)從起始狀態(tài)一步一步移到目標(biāo)狀態(tài),整個(gè)過(guò)程如圖2-6 所示。1d2d從東往西從西往東1ndnd()0 , 0從西往東從東往西1S2S3S1nSnS1nS圖 2-6 使用狀態(tài)轉(zhuǎn)移方程求解安全渡河問(wèn)題的多步?jīng)Q策(3,3)擺渡決策用結(jié)構(gòu)數(shù)組來(lái)描述,為編程方便無(wú)論是從東向西,還是從西向東,統(tǒng)一考慮一共有 6 個(gè)決策,從東岸擺渡到西岸有3 種可選決策( 0,-2),(-1,-1),(-2,0),依次令其為決策號(hào) 1,2,3;從西岸擺渡到東岸也有 3種可選決策( 0,1),(1,1),(1,0),依次依次令

13、其為決策號(hào)4,5,6.令 i 為決策號(hào),渡河策略: 從東往西 從西往東決策號(hào) i123456人 數(shù) d10-1-2011鬼 數(shù) d2-2-1011011武漢工程大學(xué)課程設(shè)計(jì) (論文)3 詳詳細(xì)細(xì)設(shè)設(shè)計(jì)計(jì)3.13.1渡河策略的定義渡河策略的定義d1=0,-1,-2,0,1,1;%渡河策略d2=-2,-1,0,1,1,0;3.23.2初始狀態(tài)的定義初始狀態(tài)的定義u=3;v=3;%初始狀態(tài)東岸有 3 人 3 鬼k=0;%初始狀態(tài)號(hào)flag1=0;flag2=0;%東岸尚未達(dá)到 1 人 1 鬼或 2 人 2 鬼狀態(tài)標(biāo)志3.33.3人鬼渡河的操作人鬼渡河的操作while (u=0&v=0) k=

14、k+1; if rem(k,2)=0 a=4;%k 為偶數(shù)表示船東渡,策略號(hào)從4 開始 else a=1;%k 為奇數(shù)表示船東渡,策略號(hào)從1 開始12武漢工程大學(xué)課程設(shè)計(jì) (論文) end for i=a:1:a+2%循環(huán),試探采用哪個(gè)決策能安全走一步 mu=u+d1(i);%按第 i 號(hào)策略走一步東岸的人數(shù) mv=v+d2(i);%按第 i 號(hào)策略走一步東岸的鬼數(shù) if mu3|mv3|mu0|mv3|mv3|mu0|mv3|mv3|mu0|mv3|mv3|mu0|mv3|mv3|mu0|mv0|(mu=3&mv=3) continue;%取消越界和重復(fù)(回歸起始狀態(tài)) end33武

15、漢工程大學(xué)課程設(shè)計(jì) (論文) if mu=3|mu=0|(mu=1&mv=1)|(mu=2&mv=2) AQ=1;%記錄四種狀態(tài)之一時(shí),安全信息AQ 為 1 else AQ=0; end if flag1=1&flag2=1 CHF=1;%記錄重復(fù)(達(dá)到過(guò) 1 人 1 鬼和 2 人 2 鬼的狀態(tài))時(shí)CHF 為 0 else CHF=0; end if mu=0|(AQ=1&CHF=0)%如果 3 人已到達(dá)西岸,或安全且不重復(fù) u=mu;v=mv;%存東岸人數(shù)和鬼數(shù) person(k)=u;ghost(k)=v;%存東岸人數(shù)和鬼數(shù) if u=1&v=1 f

16、lag1=flag1+1;%給達(dá)到 1 人 1 鬼的狀態(tài)加標(biāo)志 end if u=2&v=2 flag2=flag2+1;%給達(dá)到 2 人 2 鬼的狀態(tài)加標(biāo)志 end break; end34武漢工程大學(xué)課程設(shè)計(jì) (論文) end n=get(handles.listbox1,Value);%獲取繪圖符號(hào) 真值 Color=ox*p;%繪圖選擇顏色 axes(handles.axes1);%選定繪圖坐標(biāo)區(qū)域 axis(0,3,0,3) hold on grid on plot(person,ghost,Color(n) pause(0.5);end % - Executes on button press in pushbutton3.function pushbut

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論