最短路徑問題的求解

最短路徑問題的求解

ID:38120071

大?。?32.84 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2019-05-26

最短路徑問題的求解_第1頁(yè)
最短路徑問題的求解_第2頁(yè)
最短路徑問題的求解_第3頁(yè)
資源描述:

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

1、第12卷增刊鄭州紡織工學(xué)院學(xué)報(bào)Vol.12Supplement2001年6月JOURNALOFZHENGZHOUTEXTILEINSTITUTEJune,2001文章編號(hào):10074945(2001)增刊011903最短路徑問題的求解王軍,王連圭(廣東省中山市中山學(xué)院信息與電子工程系,廣東中山528402)*摘要:文中就最短路徑問題進(jìn)行了研究,針對(duì)具體的引例提出了六種算法:寬度優(yōu)先搜索法、A算法、等代價(jià)搜索法、Warshall算法、動(dòng)態(tài)規(guī)劃法、標(biāo)號(hào)法等,詳盡分析了每種算法的內(nèi)容、適用性及優(yōu)缺點(diǎn).關(guān)鍵詞:最短路徑;解題方法

2、;算法分析中圖分類號(hào):O245文獻(xiàn)標(biāo)識(shí)碼:A最短路徑問題是一種最優(yōu)解問題,是近年來全國(guó)在學(xué)生((0,7,3,10,15),(7,0,5,13,12),(3,5,0,6,5),(10,13,6,挑戰(zhàn)杯、數(shù)學(xué)建模等競(jìng)賽中常見的一類中等程度的難題,也0,11),(15,12,5,11,0));是一個(gè)在交通運(yùn)輸、城市規(guī)劃以及計(jì)算機(jī)網(wǎng)絡(luò)規(guī)劃等工程實(shí)際以下是幾種解法:中具有重要指導(dǎo)意義的問題,甚至有時(shí)一些看似跟最短路徑問1寬度優(yōu)先搜索題無(wú)關(guān)的問題也可以歸結(jié)為最短路徑問題.下面就以具體引例來簡(jiǎn)要分析一下此類問題的算法.寬度優(yōu)先搜索并不是

3、一種很優(yōu)秀的算法,這里只是簡(jiǎn)單介引例1:假設(shè)A、B、C、D、E各個(gè)城市之間旅費(fèi)如圖1所紹一下它的算法.具體方法是:從A點(diǎn)開始依次展開得到示.某人想從城市A出發(fā)游覽各城市一遍,而所用費(fèi)用最少.試AB、AC、AD、AE四個(gè)新結(jié)點(diǎn)(第二層結(jié)點(diǎn)),當(dāng)然每個(gè)新結(jié)點(diǎn)要編程序輸出結(jié)果.記錄下其距離;再次以AB展開得到ABC、ABD、ABE三個(gè)新結(jié)點(diǎn)(第三層結(jié)點(diǎn)),而由AC結(jié)點(diǎn)可展開得到ACB、ACD、ACE三個(gè)新結(jié)點(diǎn),自然AD可以展開得到ADB、ADC、ADE,AE可以展開得到AEB、AEC、AED等新結(jié)點(diǎn),對(duì)于每個(gè)結(jié)點(diǎn)也須記錄下其距離;再把第三層結(jié)點(diǎn)全

4、部展開,得到所有的第四層結(jié)點(diǎn):ABCD、ABCE、ABDC、ABDE、ABEC、ABEDAEDB、AEDC,每個(gè)結(jié)點(diǎn)也需記錄下其距離;再把第四層結(jié)點(diǎn)全部展開,得到所有的第五層結(jié)點(diǎn):ABCDE、ABCED、、AEDBC、AEDCB,每個(gè)結(jié)點(diǎn)也需記錄下其距離;到此,所有可能的結(jié)點(diǎn)均已展開,而第五層結(jié)點(diǎn)中最小的那個(gè)就是題目的解了.由上可見,這種算法也是把所有的可能路徑都列出來再找最短的那條,圖1游覽點(diǎn)分布示意圖顯而易見這也是一種很費(fèi)時(shí)的算法.解這類題時(shí)很多人往往不得要領(lǐng),不少人采用窮舉法把所有可能的情況全部列出,再找出其中最短的那條路徑;

5、或是采用2A*算法遞歸或深度搜索,找出所有路徑,再找出最短的那條.這兩種方A*算法是在寬度優(yōu)先搜索算法的基礎(chǔ)上,每次都是利用法可見都是費(fèi)時(shí)非常多的解法,如果城市數(shù)目多的話則要花大一個(gè)自己確定的估價(jià)函數(shù)對(duì)所有沒展開的結(jié)點(diǎn)進(jìn)行估價(jià),從而量的運(yùn)行時(shí)間.實(shí)際上,遞歸、深度搜索等算法一般用于求所有找出最應(yīng)該被展開的結(jié)點(diǎn)(也就是說要找的答案最有可能是從解問題(例如求從A出發(fā)每個(gè)城市走一遍一共有哪幾種走法),[1]該結(jié)點(diǎn)展開),把該結(jié)點(diǎn)展開,直到找到目標(biāo)結(jié)點(diǎn)為止.而這幾種算法對(duì)于求最短路徑這類最優(yōu)解問題顯然是不合適的,以下介紹的幾種算法就要優(yōu)越很多.3等代

6、價(jià)搜索法首先,應(yīng)該先建立一個(gè)鄰接矩陣來存放任意兩點(diǎn)間的距離等代價(jià)搜索法也是基于寬度優(yōu)先搜索上進(jìn)行優(yōu)化的一種算數(shù)據(jù),以便在程序中方便調(diào)用,如下:法,它與A*算法有點(diǎn)相似,只不過它不需要去另找估價(jià)函數(shù),constdis:array[1..5,1..5]ofinteger=而是以該結(jié)點(diǎn)到A點(diǎn)的距離作為估價(jià)值,每次展開估價(jià)值最小收稿日期:20010308作者簡(jiǎn)介:王軍(1971),男,碩士,中山學(xué)院助教.王連圭為中山學(xué)院副教授,主要研究方向?yàn)榉蔷€性控制和魯棒控制.120鄭州紡織工學(xué)院學(xué)報(bào)

7、2001年第12卷的結(jié)點(diǎn).具體方法是:從A點(diǎn)開始依次展開得到AB(7)、AC看,可用一個(gè)數(shù)軸簡(jiǎn)單地表示這種算法:(3)、AD(10)、AE(15)四個(gè)新結(jié)點(diǎn),把第一層結(jié)點(diǎn)A標(biāo)記為己(1)以A點(diǎn)為0點(diǎn),展開與其相鄰的點(diǎn),并在數(shù)軸中標(biāo)出.展開,并且每個(gè)新結(jié)點(diǎn)要記錄下其距離(括號(hào)中的數(shù)字);把未展開過的AB、AC、AD、AE四個(gè)結(jié)點(diǎn)中距離最小的一個(gè)展開,即展開AC(3)結(jié)點(diǎn),得到ACB(8)、ACD(16)、ACE(13)三個(gè)結(jié)點(diǎn),并把結(jié)點(diǎn)AC標(biāo)記為己展開;再?gòu)奈凑归_的所有結(jié)點(diǎn)中找(2)因?yàn)镃點(diǎn)離起點(diǎn)A最近,因此可以斷

8、定C點(diǎn)一定是由出距離最小的一個(gè)展開,即展開AB(7)結(jié)點(diǎn),得到ABC(12)、A直接到C點(diǎn)這條路徑是最短的(因?yàn)锳、C兩點(diǎn)間沒有其它AB

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

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

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