最短路徑問題的求解.ppt

最短路徑問題的求解.ppt

ID:48883790

大?。?32.50 KB

頁數(shù):25頁

時間:2020-01-28

最短路徑問題的求解.ppt_第1頁
最短路徑問題的求解.ppt_第2頁
最短路徑問題的求解.ppt_第3頁
最短路徑問題的求解.ppt_第4頁
最短路徑問題的求解.ppt_第5頁
資源描述:

《最短路徑問題的求解.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、最短路徑問題的求解最短路徑是圖論中的一個重要問題,具有很高的實用價值,也是信息學(xué)競賽中常見的一類中等難度的題目,這類問題很能聯(lián)系實際,考察學(xué)生的建模能力,反映出學(xué)生的創(chuàng)造性思維,因為有些看似跟最短路徑毫無關(guān)系的問題,也可以歸結(jié)為最短路徑問題來求解。在帶權(quán)圖G=(V,E)中,若頂點Vi,Vj是圖G的兩個頂點,從頂點Vi到Vj的路徑長度定義為路徑上各條邊的權(quán)值之和。從頂點Vi到Vj可能有多條路徑,其中路徑長度最小的一條路徑稱為頂點Vi到Vj的最短路徑。一般有兩類最短路徑問題:一類是求從某個頂點(源點)到其它頂點(終

2、點)的最短路徑;另一類是求圖中每一對頂點間的最短路徑。對于不帶權(quán)的圖,只要人為的把每條邊加上權(quán)值1,即可當(dāng)作帶權(quán)圖一樣處理了。最短路徑問題的求解例1、假設(shè)A、B、C、D、E各個城市之間旅費如下圖紅色數(shù)字所示。某人想從城市A出發(fā)游覽各城市一遍,而所用旅費最少,試編程輸出結(jié)果。[問題分析]解這類問題時,很多同學(xué)往往不得要領(lǐng),采用窮舉法把所有可能的情況全部列出,再找出其中旅費最少的那條路徑;或者采用遞歸(深搜)找出所有路徑,再找出旅費最少的那條。但這兩種方法都是費時非常多的解法,如果城市數(shù)目多的話則很可能要超時了。

3、  實際上我們知道,遞歸(深搜)之類的算法一般用于求所有解問題(例如求從A出發(fā)每個城市都要走一遍一共有哪幾種走法?),所以這些算法對于求最短路徑這類最優(yōu)解問題顯然是不合適的。首先,對于這類圖,我們都應(yīng)該先建立一個鄰接矩陣,存放任意兩點間的數(shù)據(jù)(如距離、費用、時間等),以便在程序中方便調(diào)用,以下介紹幾種常見的、更好的求最短路徑問題的算法。最短路徑問題的求解一、寬度優(yōu)先搜索   寬搜也并不是解決這類問題的優(yōu)秀算法,這里只是簡單介紹一下算法思路,為后面的優(yōu)秀算法做個鋪墊。具體如下:   1、從A點開始依次展開得到AB

4、、AC、AD、AE四個新結(jié)點(第二層結(jié)點),當(dāng)然每個新結(jié)點要記錄下其旅費;   2、再次由AB展開得到ABC、ABD、ABE三個新結(jié)點(第三層結(jié)點),而由AC結(jié)點可展開得到ACB、ACD、ACE三個新結(jié)點,自然由AD可以展開得到ADB、ADC、ADE,由AE可以展開得到AEB、AEC、AED等新結(jié)點,對于每個結(jié)點也須記錄下其旅費;   3、再把第三層結(jié)點全部展開,得到所有的第四層結(jié)點:ABCD、ABCE、ABDC、ABDE、ABEC、ABED、……、AEDB、AEDC,每個結(jié)點也需記錄下其旅費;   4、再把第

5、四層結(jié)點全部展開,得到所有的第五層結(jié)點:ABCDE、ABCED、……、AEDBC、AEDCB,每個結(jié)點也需記錄下其旅費;   5、到此,所有可能的結(jié)點均已展開,而第五層結(jié)點中旅費最少的那個就是題目的解了。   由上可見,這種算法也是把所有的可能路徑都列出來,再從中找出旅費最少的那條,顯而易見也是一種很費時的算法。最短路徑問題的求解二、啟發(fā)式搜索   在寬度優(yōu)先搜索算法的基礎(chǔ)上,每次并不是把所有可展開的結(jié)點展開,而是對所有沒有展開的結(jié)點,利用一個自己確定的估價函數(shù)對所有沒展開的結(jié)點進(jìn)行估價,從而找出最應(yīng)該被展開的

6、結(jié)點(也就是說我們要找的答案最有可能是從該結(jié)點展開),而把該結(jié)點展開,直到找到目標(biāo)結(jié)點為止。   這種算法最關(guān)鍵的問題就是如何確定估價函數(shù),估價函數(shù)越準(zhǔn),則能越快找到答案。這種算法實現(xiàn)起來并不難,只不過難在找準(zhǔn)估價函數(shù),大家可以自已找相關(guān)資料學(xué)習(xí)和思考。最短路徑問題的求解三、等代價搜索法   等代價搜索法也是在寬度優(yōu)先搜索的基礎(chǔ)上進(jìn)行了部分優(yōu)化的一種算法,它與啟發(fā)式搜索的相似之處都是每次只展開某一個結(jié)點(不是展開所有結(jié)點),不同之處在于:它不需要去另找專門的估價函數(shù),而是以該結(jié)點到A點的距離作為估價值,也就是說

7、,等代價搜索法是啟發(fā)式搜索的一種簡化版本。它的大體思路是:   1、從A點開始依次展開得到AB(7)、AC(3)、AD(10)、AE(15)四個新結(jié)點,把第一層結(jié)點A標(biāo)記為已展開,并且每個新結(jié)點要記錄下其旅費(括號中的數(shù)字);   2、把未展開過的AB、AC、AD、AE四個結(jié)點中距離最小的一個展開,即展開AC(3)結(jié)點,得到ACB(8)、ACD(16)、ACE(13)三個結(jié)點,并把結(jié)點AC標(biāo)記為已展開;   3、再從未展開的所有結(jié)點中找出距離最小的一個展開,即展開AB(7)結(jié)點,得到ABC(12)、ABD(20

8、)、ABE(19)三個結(jié)點,并把結(jié)點AB標(biāo)記為已展開;   4、再次從未展開的所有結(jié)點中找出距離最小的一個展開,即展開ACB(8)結(jié)點,……;   5、每次展開所有未展開的結(jié)點中距離最小的那個結(jié)點,直到展開的新結(jié)點中出現(xiàn)目標(biāo)情況(結(jié)點含有5個字母)時,即得到了結(jié)果。最短路徑問題的求解小結(jié):由上可見,啟發(fā)式搜索和等代價搜索法并沒有象寬度優(yōu)先搜索一樣展開所有結(jié)點,只是根據(jù)某一原則(或某一估

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。