版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)四:Floyd 算法、實(shí)驗(yàn)?zāi)康睦肕ATLAB實(shí)現(xiàn)Floyd算法,可對輸入的鄰接距離矩陣計(jì)算圖中任意 兩點(diǎn)間的最短距離矩陣和路由矩陣,且能查詢?nèi)我鈨牲c(diǎn)間的最短距離和路由。、實(shí)驗(yàn)原理Floyd算法適用于求解網(wǎng)絡(luò)中的任意兩點(diǎn)間的最短路徑:通過圖的權(quán)值矩陣 求出任意兩點(diǎn)間的最短距離矩陣和路由矩陣。優(yōu)點(diǎn)是容易理解,可以算出任意兩 個(gè)節(jié)點(diǎn)之間最短距離的算法,且程序容易實(shí)現(xiàn),缺點(diǎn)是復(fù)雜度達(dá)到,不適合計(jì)算 大量數(shù)據(jù)。Floyd算法可描述如下: 給定圖G及其邊(i , j )的權(quán)wi, j (1 <i<n ,1 <j <n)F0:初始化距離矩陣 W(0)和路由矩陣R(°)
2、。其中:%若叨E f有邊) 丁若務(wù)任E 無邊)若匸/ (對用線元索)F1:已求得W(k-1)和R(k-1),依據(jù)下面的迭代求W(k)和R(k)噹二1何(屹7就T *賊穿)F2 :若kwn,重復(fù)F1;若k>n,終止。三、實(shí)驗(yàn)內(nèi)容1、用MATLAB仿真工具實(shí)現(xiàn)Floyd算法:給定圖G及其邊(i , j )的權(quán)wi , j (1 <i<n ,1 <j<n),求出其各個(gè)端點(diǎn)之間的最小距離以及路由。(1) 盡可能用M函數(shù)分別實(shí)現(xiàn)算法的關(guān)鍵部分,用 M腳本來進(jìn)行算法結(jié)果驗(yàn)證;(2)分別用以下兩個(gè)初始距離矩陣表示的圖進(jìn)行算法驗(yàn)證:Q 100 100 1.2 9.2 100 0.
3、5 "1000 100 5 1003.1 2100 100 0 100 1004 1.50 0.5 2 1.5 100 100 10010.5 0 100 100 1.2 9.2 1002 100 0 100 5 100 3,1L2 5 100 O6J 100 100護(hù)=1.5 100 1000 100 100 49.2 100 100'6.7 0 15.6 100100 1.2 5 100 0' 6.7 100100 3.1 4 100 15.6 0 100100 9.2 100 100 6.7 0 15.60.5 2 L5 100 100 100 0100 100
4、 3J 4 100 15,6 0 J分別求出 W(7)和R(7)。2、根據(jù)最短路由矩陣查詢?nèi)我鈨牲c(diǎn)間的最短距離和路由(1)最短距離可以從最短距離矩陣的9(i,j)中直接得出;(2) 相應(yīng)的路由則可以通過在路由矩陣中查找得出。由于該程序中使用的是前向矩陣,因此在查找的過程中,路由矩陣中r(i,j)對應(yīng)的值為Vi到Vj路由上的下一個(gè)端點(diǎn),這樣再代入r(r(i,j),j),可得到下下個(gè)端點(diǎn),由此不斷循環(huán)下去,即可找到最終 的路由。(3) 對圖1,分別以端點(diǎn)對V4和V6, V3和V4為例,求其最短距離和路由;對 圖2,分別以端點(diǎn)對V1和V7,V3和V5,V1和V6為例,求其最短距離和路由。3、輸入一鄰
5、接權(quán)值矩陣,求解最短距離和路由矩陣,及某些點(diǎn)間的最短路徑。四、采用的語言MatLab源代碼:【func1.m 】fun ctio n w r = fun c1(w)n=le ngth(w);x = w;r = zeros(n,1);% 路由矩陣的初始化for i=1:1:nfor j=1:1:nif x(i,j)=infr(i,j)=O;elser(i,j)=j;end.endend;%迭代求出k次w值for k=1: na=w;s = w;for i=1:nfor j=1: nw(i,j)=mi n( s(i,j),s(i,k)+s(k,j);end%根據(jù)k-1次值和k次w值求出k次r值 f
6、or i=1:nfor j=1: nif i=jr(i,j)=O;elseif w(i,j)<a(i,j)r(i,j)=r(i,k);elser(i,j)=r(i,j);endendendend;【func2.m 】fun ctio n P u=fu nc2(w,k1,k2)n = len gth(w);U = w;m = 1;while m <= nfor i = 1:n;for j = 1:n;U(i,j) = U(i,m) + U(m,j);endendend m = m + 1;endu = U(k1,k2);P1=zeros(1, n);k = 1;P 1(k) = k2
7、;V = on es(1, n) * 100;kk = k2;while kk=k1for i = 1:nV(1,i) = U(k1,kk) - w(i,kk);if V(1,i) = U(k1,i)P 1(k+1)=i;kk=i;k=k+1;endendk=1;wrow = find(P 1=0);for j=le ngth(wrow):(-1):1P(k) = P1(wrow(j);k=k+1;endP;【m1.m】w1=0 100 100 1.2 9.2 100 0.5;100 0 100 5 100 3.1 2;100 100 0 100 100 4 1.5;1.2 5 100 0 6
8、.7 100 100;9.2 100 100 6.7 0 15.6 100;100 3.1 4 100 15.6 0 100;0.5 2 1.5 100 100 100 0;w2=0 0.5 2 1.5 100 100 100;0.5 0 100 100 1.2 9.2 100;2 100 0 100 5 100 3.1;r = zeros( n,1);%路由矩陣的初始化1.5 100 100 0 100 100 4;100 1.2 5 100 0 6.7 100;100 9.2 100 100 6.7 0 15.6;100 100 3.1 4 100 15.6 0;W1 R1 = fun c
9、1(w1)W2 R2 = fun c1(w2)【m2.m】for j=1:nw=i nput('輸入權(quán)值矩陣w=');k1=i nput('輸入端點(diǎn)1:k1=');k2=i nput('輸入端點(diǎn)2:k2=');W R = fun c1(w)P u=fu nc2(w,k1,k2);disp('k1、k2 間最短路:,num2str(P);disp('k1、k2 間最短距離:,num2str(u);五、數(shù)據(jù)結(jié)構(gòu)1.主要函數(shù)最短距離、路由函數(shù):fun cti on w r = fun c1(w) n=le ngth(w);for i=1
10、:1:nfor j=1:1:nif x(i,j)=100r(i,j)=0;elser(i,j)=j;end,end end;%迭代求岀k次w值 for k=1: na=w;s = w;for i=1: nfor j=1:nw(i,j)=mi n( s(i,j),s(i,k)+s(k,j);endend%根據(jù)k-1次值和k次w值求岀k次r值for i=1: nif i=jr(i,j)=O;elseif w(i,j)va(i,j)r(i,j)=r(i,k);elser(i,j)=r(i,j);endendend end;最短路徑函數(shù):fun ctio n P u=fu nc2(w,k1,k2) n
11、 = len gth(w);U = w;m = 1;while m <= nfor i = 1:n;forj = 1:n;U(i,j) = U(i,m) + U(m,j);endendendm = m + 1;end u = U(k1,k2);P1=zeros(1, n);k = 1;P1(k) = k2;V = on es(1, n) * 100;kk = k2;while kk=k1for i = 1:nV(1,i) = U(k1,kk) - w(i,kk);if V(1,i) = U(k1,i)P1(k+1)=i;kk=i;k=k+1;endend end k=1;wrow = f
12、in d(P1=0);for j=le ngth(wrow):(-1):1P(k) = P1(wrow®);k=k+1;endP;2.算法的流程圖Floyd算法:II 結(jié)束六、實(shí)驗(yàn)結(jié)論與分析Cornnnand Windown.1W102. 50002. 00001.20007.&0005.SOOOO.SOOO2. 500003-50003. 700010*40003.10002-00001 OCO'O3. 500003.20009.90004.00001.E00OL 2C003.70003. 200000*7000S.30001.7000二 900010. 40009
13、.90006.7000013.50008.40005,0003* 0004- 00006.S00013*500005" 1000仇 50002. 00001.EOOO1.70003. 40005.10000R11420通過上圖可知,V4V6之間最短距離是6.8,最短路由是 V4 >V1 >V7>V2 >V6,3和V4之間最短距離是3.2,最短路由是V3 >V7 >V1 >V4Cornftiand Window¥200.50003. OOOO1.50fl01, VOCOS, 40005.10000.500002. 50002.0000
14、L 20IC07- 90005.SOOO2.00002.500003.甜前3. 70010. 40003. 10001.50002.0000玄 500003- 2000乳 90004.00001.70001.20003. 70003. 20()006. 70006. 3000S.40007.900010.40009.90006, ;0<30013.50005.10005.eooo3. 10004.00006. SOflO13. 50000E20254通過上圖可知,,點(diǎn)對V1V7之間最短距離是5.1,最短路由是V1 >V3端點(diǎn)對V1和V6之間最短距離是8.4,最短路由是V1 >
15、V2 >V5 >V6>V7端點(diǎn)對V3和V5之間最短距離是3.7,最短路由是V3 >V1 >V2 >V5» 2tt.兀収酋駆降*=0 inf inf 5 inffe汕端點(diǎn)l;Jtl=rinf irf 0 3 irf Lnf Lnf .inf 9 15 4 fli 15 4 inf 0 inf iirf; inf irrf lO :nf 0V 二0 InLLnf呂In£:nfInf03InfInf:n£hi!3015e&4Inf0Inf:nfInf Inf10Lif:nfTn-fInf12InfInfCt -0審12b*bIS26ISJ1ft1c2350151e3i70u13:3 310;5niLA352112n 一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省江門市新會(huì)區(qū)崖南鎮(zhèn)田邊小學(xué)2024-2025學(xué)年五年級(jí)上學(xué)期11月期中語文試題
- 禮物籌備方案
- 天津行政職業(yè)能力模擬45
- 2014年05月10日下午廣東省省直機(jī)關(guān)公務(wù)員面試真題
- 2010年3月11日海關(guān)面試真題
- 關(guān)于成立人工智能公司商業(yè)計(jì)劃書
- 2007年山西省公務(wù)員面試真題
- 內(nèi)蒙古行政職業(yè)能力模擬75
- 海南省行政職業(yè)能力測驗(yàn)真題2016年
- 心理健康教育談話記錄
- 部編版《道德與法治》二年級(jí)上冊第9課《這些是大家的》課件(共50張課件)
- 全國高中青年數(shù)學(xué)教師優(yōu)質(zhì)課大賽一等獎(jiǎng)《函數(shù)的單調(diào)性》課件
- 財(cái)務(wù)管理期末考試試卷及答案
- 飛機(jī)加油車壓力控制原理
- 列舉課件郭建湘
- 專業(yè)導(dǎo)論(酒店管理)教案.doc
- 開展基本草原劃定工作實(shí)施方案
- 水工環(huán)地質(zhì)考試試卷( A 卷)
- 口腔科常用操作規(guī)范(完整版)
- 有機(jī)化學(xué):第一章 緒論
- 菏澤市公立醫(yī)療機(jī)構(gòu)基本情況一覽表
評(píng)論
0/150
提交評(píng)論