999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于移動(dòng)定位信息的最短路徑搜索算法

2009-04-29 00:00:00明,趙婉婷
電腦知識(shí)與技術(shù) 2009年32期

摘要:該文利用改進(jìn)的Dijkstra算法求出車(chē)輛行駛的最短路徑,并根據(jù)道路限定的車(chē)速,交通異常信息等對(duì)所求的最短路徑進(jìn)行分析,最終得到所用時(shí)間和距離最短的最短路徑。

關(guān)鍵詞:Dijkstra算法;最短路徑;交通異常信息

中圖分類(lèi)號(hào):TP31文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)32-9030-02

Based on the Mobile Pitch Information of the Algorithm for Shortest-path Searching

HU Ming, ZHAO Wan-ting

(Changchun University of Technology, Department of Computer Science and engineering, Changchun 130000, China)

Abstract: Make use of Dijkstra work out the shortest-path of the car run, and base the rate of the road limit, traffic exception information to analyses the shortest-path, at the end, find the shortest-path which use the least time and the shortest path.

Key words: dijkstra arithmetic; shortest-path; traffic exception information

隨著智能交通的發(fā)展和手機(jī)定位技術(shù)的不斷改進(jìn),利用GPS/GSM網(wǎng)絡(luò)定位技術(shù),可以對(duì)移動(dòng)目標(biāo)的運(yùn)動(dòng)軌跡及其速度、運(yùn)動(dòng)方向等參數(shù)進(jìn)行監(jiān)控和查詢(xún),同時(shí),根據(jù)所得到的車(chē)輛信息,可以搜索出車(chē)輛運(yùn)行的最短路徑,為出行者提供最便捷的到達(dá)目的的路徑,提高交通質(zhì)量。如何能在最短時(shí)間找出車(chē)輛行駛的最短路徑,如何能避免最短路徑中出現(xiàn)交通異常信息,這些問(wèn)題已經(jīng)成為當(dāng)下最需要解決的交通問(wèn)題[3]。交通信息系統(tǒng)中的最短路徑查詢(xún),具有一定的實(shí)時(shí)性,同時(shí)要求查詢(xún)的最短路徑在時(shí)間上、路徑上都是最短的。

目前,經(jīng)典的最短路徑算法為Dijkstra算法,他提出了一個(gè)按路徑長(zhǎng)度遞增的次序產(chǎn)生最短路徑的算法,但是,該算法是計(jì)算單點(diǎn)和多點(diǎn)之間的最短路徑,對(duì)于交通中點(diǎn)對(duì)點(diǎn)的最短路徑,該算法執(zhí)行了太多的無(wú)用操作,影響了計(jì)算的速度。

因此,在該算法的基礎(chǔ)上,調(diào)整點(diǎn)集,避免遍歷無(wú)用的點(diǎn)[5],并根據(jù)當(dāng)前的交通信息對(duì)得到的最短路徑進(jìn)行分析,判斷所得的最短路徑中是否有交通異常路徑,如果有,再次調(diào)整點(diǎn)集及路徑集,重新計(jì)算最短路徑,并根據(jù)道路限定的車(chē)速判斷行駛時(shí)間,最后根據(jù)時(shí)間條件和路徑條件選擇適當(dāng)?shù)淖疃搪窂健?/p>

1 Dijkstra算法

Dijkstra算法的基本思想是:設(shè)置一個(gè)集合S存放已經(jīng)找到最短路徑的頂點(diǎn),S的初始狀態(tài)只包含源點(diǎn)v,對(duì)vi<

Dijkstra算法的偽代碼描述如下:

1) 初始化數(shù)組dist、path和s;

2) while(s中的元素個(gè)數(shù)

i)在dist[n]中求最小值,其下標(biāo)為k(則vk 為正在生成的終點(diǎn));

ii) 輸出dist[j]和path[j];

iii) 修改數(shù)組dist和path;

iv) 將頂點(diǎn)vk 添加到數(shù)組s中;

對(duì)于算法中的數(shù)組及存儲(chǔ)結(jié)構(gòu)的設(shè)定見(jiàn)文獻(xiàn)[1]

2 改進(jìn)后的Dijkstra算法

2.1 算法分析

由于本文計(jì)算的是城市道路中的交通網(wǎng)絡(luò),因此在最短路徑計(jì)算中的圖應(yīng)改為一個(gè)非有向的帶權(quán)圖,同時(shí),路網(wǎng)表示的空間復(fù)雜度為O(an+bm),其中a,b為常數(shù),分別和路口、路段的信息量有關(guān)。

Dijkstra算法中計(jì)算一個(gè)點(diǎn)到其他點(diǎn)的最短路徑共需兩次循環(huán),時(shí)間復(fù)雜度為O(n2),這里由于需計(jì)算每一對(duì)頂點(diǎn)間的最短路徑,故需以每個(gè)頂點(diǎn)為原點(diǎn),執(zhí)行算法n次,總的執(zhí)行時(shí)間復(fù)雜度為O(n3)。

2.2 基本定義

1) 對(duì)于圖G=(V, E, w),設(shè)Vi={Vi∈V}是對(duì)圖G的一個(gè)劃分,當(dāng)且僅當(dāng):?坌Vα,Vβ∈Vi,其中Vα≠Vβ,即Vα∩Vβ=;

2) 對(duì)圖G=(V, E, w),Vi={Vλ}是其上∩的一個(gè)劃分,?坌Va,Vb∈Vi稱(chēng)E的子集Ei(Va,Vb)為塊Va到塊Vb的有效集,且?坌va∈Va,vb∈Vb,Ei+∈E∩W+(va,vb),其中W+(va,vb)是從點(diǎn) va到點(diǎn)vb的最短路徑,即Ei+∈Ei(Va,Vb)。

3) 設(shè)定Em=W+(va,vb)∈Ei(Va,Vb)為點(diǎn)va到點(diǎn)vb的最短路徑集,Vm∈Vi為點(diǎn)va到vb的最短路徑所經(jīng)點(diǎn)集。

4) 設(shè)Ee∈Ei(Va,Vb)為塊Va到塊Vb中出現(xiàn)異常的路徑集,Ve∈Vi為其中的異常點(diǎn)集。

5) 設(shè)Vc∈Vi,Ec∈Ei(Va,Vb)是塊Va到塊Vb中需要?jiǎng)h除的無(wú)用的點(diǎn)集和路徑集。

3.3 算法描述

1) //初始化

Em=;

Vm=;

2) //計(jì)算需刪除點(diǎn)集Vc和需刪除路徑集Ec并得到新的點(diǎn)集和路徑集Vi,

Ei(Va,Vb)

for(int i = 0;i

Dijkstra(G,Vi,Ei,Vmi,Emi);//通過(guò)Vi,Ei求最短路徑得到所經(jīng)路徑點(diǎn)集Vmi和路徑集Emi

if(i=0){

Vc=Vi-Vmi;

Ec=Ei-Emi;}

else

{Vc=(Vi-Vmi)∩Vc;

Ec=(Ei-Emi)∩Ec;}

Vi=Vi-Vc;

Ei=Ei-Ec;}

4 在交通系統(tǒng)中的應(yīng)用描述

在交通系統(tǒng)中應(yīng)用改進(jìn)后的Dijkstra算法可計(jì)算出最短路徑,但對(duì)于所得的最短路徑還要根據(jù)當(dāng)前交通信息做出分析,假設(shè)根據(jù)當(dāng)前時(shí)間點(diǎn),可取得交通異常信息(異常點(diǎn)集、異常路徑集和異常處理時(shí)間),因此,根據(jù)車(chē)速等信息得到的具體分析步驟如下:

1) 根據(jù)改進(jìn)后的算法求得最短路徑,得到所經(jīng)路徑的點(diǎn)集Vm及路徑集Em;

2) 判斷Vm中有否異常地點(diǎn)并判斷Em中有否異常路徑,即

if Vm∩Ve=,Em∩Ee=

then返回最短路徑集Em和路徑點(diǎn)集Vm,算法結(jié)束;

else執(zhí)行(3)

3) 計(jì)算起點(diǎn)Vs到異常點(diǎn)Ve之間路徑長(zhǎng)度Wse,并根據(jù)車(chē)速等信息計(jì)算tse=Wse/v,判斷tse與異常te大小:

If tse>te,則表明在車(chē)輛到達(dá)異常地段時(shí),異常情況已經(jīng)處理完畢,車(chē)輛可以正常通過(guò),則返回原最短路徑集Em和途徑點(diǎn)集Vm,算法結(jié)束;

Else執(zhí)行4)

4) 利用改進(jìn)的Dijkstra算法重新計(jì)算最短路徑,在計(jì)算時(shí),在子集Vi中去掉異常點(diǎn)集Ve,即Vi*=Vi-Ve,在子集Ei中去掉異常路徑集Ee,即Ei*=Ei-Ee,得到新的最短路徑集Em*和途徑點(diǎn)集Vm*;

5) 根據(jù)車(chē)速計(jì)算走新的路徑所需時(shí)間tm*,以及走舊的路徑加上等待事故處理時(shí)間tm+te,判斷大小,決定取哪條路徑,即

If tm*>tm+te,走原來(lái)的路徑,返回原最短路徑集Em和途徑點(diǎn)集Vm,算法結(jié)束;

Else 走新得到的最短路徑,返回新的最短路徑集Em*和途徑點(diǎn)集Vm*,回到步驟2),直至算法結(jié)束。

5 仿真實(shí)驗(yàn)

圖1為長(zhǎng)春市某地區(qū)地圖,現(xiàn)要求求出從南湖廣場(chǎng)(A點(diǎn))至長(zhǎng)飛醫(yī)院(B點(diǎn))的最短路徑。利用GIS地圖信息,根據(jù)改進(jìn)后的Dijkstra算法,將地圖中的路徑集{Ei},地點(diǎn)點(diǎn)集{ Vi}定義如下:

{Ei}={南湖大路,前進(jìn)大街,繁榮路,福搶劫,南湖新村西街,南湖新村中街,南湖新村東街,湖濱街,人民大街……};

{Vi}={南湖廣場(chǎng),松花江大學(xué),吉林省郵電學(xué)校,吉林大學(xué),東北師范大學(xué)第二附屬小學(xué),吉林省第二實(shí)驗(yàn)學(xué)校,技工學(xué)校,長(zhǎng)春華僑飯店,大佛寺,吉林省實(shí)驗(yàn)中學(xué),長(zhǎng)春市育文中學(xué),吉林省總工會(huì),長(zhǎng)飛醫(yī)院,威尼斯花園……};

假定交通異常信息中的Ve,Ee以及異常處理時(shí)間如下:

Ve={吉林省實(shí)驗(yàn)中學(xué),吉林省郵電學(xué)校,吉林省第二實(shí)驗(yàn)學(xué)校};

Ee={前進(jìn)大街與繁榮路交匯路段,南湖新村西街,南湖大路與人民大街交匯路段};

{te}={吉林省實(shí)驗(yàn)中學(xué)te=15min,吉林省郵電學(xué)校te=5min,吉林省第二實(shí)驗(yàn)學(xué)校te=8min}。

利用改進(jìn)的Dijkstra算法計(jì)算最短路徑,得到第一個(gè)最短路徑集及途經(jīng)點(diǎn)集如下:

Em1={南湖大路,人民大街};

Vm1={南湖廣場(chǎng),省吉林省實(shí)驗(yàn)中學(xué),偉峰國(guó)際商務(wù)廣場(chǎng),長(zhǎng)飛醫(yī)院};

根據(jù)現(xiàn)有的交通異常信息對(duì)得到的最短路徑進(jìn)行分析,在分析步驟2)中,由于結(jié)果集合和異常集合交集不為空,因此根據(jù)車(chē)速判斷時(shí)間,按照異常處理時(shí)間判斷執(zhí)行步驟4),重新計(jì)算最短路徑,得到第二個(gè)最短路徑集及途經(jīng)點(diǎn)集如下:

Em2={前進(jìn)大街,繁榮路,人民大街};

Vm2={南湖廣場(chǎng),吉林省郵電學(xué)校,東北師范大學(xué)第二附屬小學(xué),威尼斯花園,長(zhǎng)飛醫(yī)院};

再次根據(jù)現(xiàn)有交通異常信息對(duì)得到的最短路徑進(jìn)行分析,發(fā)現(xiàn)結(jié)果集仍與異常集合有交集,因此再次執(zhí)行上述步驟,按照分析條件再次執(zhí)行步驟4),得到第三個(gè)最短路徑集及途經(jīng)點(diǎn)集如下:

Em3={南湖大路,南湖新村東街,繁榮路,人民大街};

Vm3={南湖廣場(chǎng),南湖社區(qū)商場(chǎng),吉林省第四人民醫(yī)院,東北師范大學(xué)第二附屬小學(xué),威尼斯花園,長(zhǎng)飛醫(yī)院};

再次分析,此時(shí)結(jié)果集與異常集合交集為空,因此將第三次計(jì)算得到的結(jié)果作為最終結(jié)果。

6 總結(jié)

通過(guò)將Dijkstra算法進(jìn)行改進(jìn),并將得到的最短路徑與異常信息進(jìn)行分析,可以得到現(xiàn)實(shí)生活中真實(shí)的最短路徑。此方法能過(guò)避免現(xiàn)實(shí)中出現(xiàn)的很多交通異常狀況,為交通出行者提供具有一定實(shí)時(shí)性和實(shí)效性的交通信息,因此在現(xiàn)實(shí)中,此方法有一定的可推廣性。但是由于現(xiàn)實(shí)生活中地圖信息復(fù)雜,在應(yīng)用此方法的時(shí)候可能會(huì)對(duì)定義的路徑集合與地點(diǎn)點(diǎn)集的生成有一定的影響,同時(shí)計(jì)算量也比較龐大,因此在未來(lái)的研究中,對(duì)于地圖信息與數(shù)據(jù)的結(jié)合仍需改進(jìn)。

參考文獻(xiàn):

[1] 王紅梅,胡明,王濤.數(shù)據(jù)結(jié)構(gòu)(C++版)[M].北京:清華大學(xué)出版社,2005:211-212.

[2] 王峰,游志勝等.Dijkstra及基于Dijkstra的前N條最短路徑算法在智能交通系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2006(9):203-208.

[3] 臧利林,賈磊.城市交通智能控制優(yōu)化算法[J].中國(guó)公路學(xué)報(bào),2006,19(6):97-101.

[4] 柳春光,褚雪松,何雙華.交通系統(tǒng)智能決策的算法研究[J].自然災(zāi)害學(xué)報(bào),2007,16(3):132-136.

[5] 葉青,陳閎中.智能交通中的高效最短路徑搜索算法[J].計(jì)算機(jī)工程與應(yīng)用 2007,43(9):205-207.

[6] 張海林,顧一中.智能交通中GPS移動(dòng)系統(tǒng)設(shè)計(jì)方案研究[J].微計(jì)算機(jī)信息 2007,23(4):231-232.

[7] 史樂(lè),李輝,原江波.基于消息通信的多智能體系統(tǒng)的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用,2008,28(2):531-534.

主站蜘蛛池模板: 国产欧美在线观看精品一区污| 成人午夜网址| 亚洲高清中文字幕在线看不卡| 国产成人亚洲精品蜜芽影院| 亚洲免费三区| 欧美19综合中文字幕| 97色伦色在线综合视频| 91在线国内在线播放老师 | 日韩人妻无码制服丝袜视频| 国产精品久久久久久影院| 精品人妻无码中字系列| 试看120秒男女啪啪免费| 中国国产A一级毛片| 91无码视频在线观看| 亚洲男人天堂2018| 亚洲欧美在线看片AI| 91精品国产综合久久香蕉922 | 亚洲精品大秀视频| 尤物国产在线| 亚洲免费毛片| www.精品国产| 日本不卡视频在线| 亚洲成人在线免费| 无遮挡国产高潮视频免费观看 | 波多野结衣一区二区三区四区| 国产偷倩视频| 国产尤物jk自慰制服喷水| 四虎国产精品永久在线网址| 伊人91在线| 熟女日韩精品2区| 久久美女精品国产精品亚洲| 亚洲中文制服丝袜欧美精品| 免费一极毛片| 九九视频在线免费观看| 国产成年女人特黄特色毛片免 | 草逼视频国产| 欧美www在线观看| 久久精品一品道久久精品| 国产在线精品网址你懂的| 久久精品国产电影| A级毛片无码久久精品免费| 3344在线观看无码| 精品国产污污免费网站| 国产黑人在线| 一级毛片免费播放视频| 男女猛烈无遮挡午夜视频| 国产一区免费在线观看| 91精品国产综合久久香蕉922| 国产区在线观看视频| 国产在线啪| 成人午夜久久| 无码电影在线观看| 国产精品亚洲欧美日韩久久| 一区二区三区成人| 99伊人精品| 日韩欧美91| 国产福利在线免费观看| 亚洲性网站| 九九精品在线观看| 色窝窝免费一区二区三区| 噜噜噜久久| 狠狠干欧美| 最近最新中文字幕在线第一页| 国产精品无码翘臀在线看纯欲| 欧美第九页| 久久久波多野结衣av一区二区| 国产精品第一区在线观看| 日韩AV无码一区| 色哟哟色院91精品网站| 91成人试看福利体验区| 国产激情在线视频| 天堂av高清一区二区三区| 成人免费网站在线观看| 中国丰满人妻无码束缚啪啪| 国产成人精品一区二区秒拍1o| 91久久偷偷做嫩草影院精品| jizz在线免费播放| 婷婷色丁香综合激情| 日韩成人午夜| 精品国产美女福到在线不卡f| 亚洲精品色AV无码看| 国产性生大片免费观看性欧美|