当前位置:文档之家› Dijkstra算法

Dijkstra算法

最短路径—Dijkstra算法Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。

主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。

Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。

注意该算法要求图中不存在负权边。

问题描述:在无向图G=(V,E) 中,假设每条边E[i] 的长度为w[i],找到由顶点V0 到其余各点的最短路径。

(单源最短路径)2.算法描述1)算法思想:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S 中只有一个源点,以后每求得一条最短路径, 就将加入到集合S中,直到全部顶点都加入到S中,算法就结束了),第二组为其余未确定最短路径的顶点集合(用U表示),按最短路径长度的递增次序依次把第二组的顶点加入S中。

在加入的过程中,总保持从源点v到S中各顶点的最短路径长度不大于从源点v到U中任何顶点的最短路径长度。

此外,每个顶点对应一个距离,S中的顶点的距离就是从v到此顶点的最短路径长度,U中的顶点的距离,是从v到此顶点只包括S中的顶点为中间顶点的当前最短路径长度。

2)算法步骤:a.初始时,S只包含源点,即S={v},v的距离为0。

U包含除v外的其他顶点,即:U={其余顶点},若v与U中顶点u有边,则<u,v>正常有权值,若u不是v的出边邻接点,则<u,v>权值为∞。

b.从U中选取一个距离v最小的顶点k,把k,加入S中(该选定的距离就是v到k的最短路径长度)。

c.以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点u的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值的顶点k的距离加上边上的权。

d.重复步骤b和c直到所有顶点都包含在S中。

GPSR路由协议:(车载自组织网络中自适应路由协议研究_李诗雨)2>基于地理位置的路由随着科技的发展,现在的车辆通常都会具有全球定位系统,利用这个系统,车辆可以随时随地查找出自己的地理坐标。

于是越来越多的学者开始利用这些定位系统来制定新的路由,如Greedy Perimeter Stateless Routing(GPSR)}ZO}。

GPSR是影响最广和应用范围最大的一个路由协议。

它脱离了传统路由协议需要维护一个全局静态路由,需要时刻去查看该路由的有效性的方式,而开始将更多的注意力放到车辆四周的临近车辆,只依赖它们进行短距离的路由计算。

在GPSR协议中[[21],网络节点都可以通过GPS等方法获取自身的地理位置,源节点在发送数据时会在报文里加入目的节点的GPS坐标,在后面每一跳节点都会查找自己的邻居车辆,在其中找到一个距离目的节点在地理位置上最近的节点作为下一跳节点。

这种尽量沿直线最短距离传递的路由称为贪婪传递(Greedy Forwarding ),如图2-14的情况,假设F点为需要转发报文的中间节点,D点为需要接收报文的目的节点。

半径为R的圆是F节点无线传输最大的范围,A,B,C三个节点为F节点的邻居节点,由于A节点在物理位置上距离D节点最近,因此F节点会将报文传送给A节点。

贪婪传递数据传输延时小,健壮性好,只要网络一直连通,就一定能发现可达路由。

但是由于没有全局路由,有些情况数据会传达到某一节点而它没有距离目的节点更近的临接节点,导致数据无法再向前传输,这种节点称为空洞。

GPSR在公路中测试性能比较高,但是在城市场景中不尽如人意,因为城市中车辆密度比较高,GPSR将很难检测出距离最优的传递路由。

[22]而基于地理位置的典型路由协议——贪婪边界无状态协议(Greedy Perimeter Stateless Routing, GPSR)具有开销小、扩展性和适应性较好等优点。

因此针对GPSR路由协议的研究,使其更好地适应车载网络场景是本文的研究方向。

VADD:基于车载传感器网络的路口数据传输的算法研究_罗钰清基于道路DTN的VADD算法:VADD通过分析车辆的移动性和可被预测性,通过路由计算,规划处一条理论上的GPSR——机会路由相结合,基于路口JTAR:一:背景城市环境——车辆密度稀疏且各条道路上分布不均匀——解决路由中断和局部最大化问题。

V2I:车辆向固定设施进行消息投递目标节点位置不会发生变化,不需要位置服务提供移动节点的当前位置。

稀疏环境下——兼顾车辆密度和路径长度基于路口和车流量感知路由优点:A:计算各条路口的转发时延,使用Dijkstra算法给出全局最优路径B:道路邻接长度进行路由恢复C:路由循环问题建筑物阻挡——城市道路环境下,不同道路的车辆之间不能直接进行通信,通过位于路口的车辆。

二:转发时延——Dijkstra算法计算出道路最小时延和全局最优路径消息在车辆间——贪婪转发模式;位于路口的消息出现局部最大化,启动路由恢复模式最优下一跳路口选择:依据邻居路口至消息目标节点所需要的最小时延。

消息转发时延:(VADD和GyTAR)2.1贪婪直路转发模式:采用GPSR贪婪转发策略假如在最优路口方向没有邻居出现,将由车辆继续携带消息直到在最优路口方向出现新的邻居。

极端情况下,消息将由车辆一直携带,直到到达路口。

2.2路由恢复策略:GPSR引入“存储-携带-转发”作为基本策略。

适应频繁中断的网络环境。

出现问题:1)携带消息恰好进入最优方向道路,贪婪直路;2)否则路由恢复模式。

路由恢复策略:当消息从路口J k被携带进入一条通往路口J t的非最优方向道路Skt,那么存在一个系数*满足:定理2:假设携带消息的车辆位于一条非最优道路Skt的位置Pt,令在此道路上从路口Jk到P。

的长度表示为IJk。

,那么该消息的最优下一跳路口可以表示为道路Skt的**的长度部分被定义为道路Skt的临界长度。

优点:降低路又恢复阶段的时延,从而降低消息投递时延。

2.路由循环及解决方案:1)位于路口的车辆在向最优下一跳路口进行转发时,在选择距离最优下一跳路口最近的邻居时,没有判断该邻居是否位于最优下一跳路口方向的道路。

因此,位于路口的车辆在选择下一跳邻居节点时,需要判断该邻居是否位于最优下一跳路口方向的道路。

如果所考察的邻居虽然距离最优下一跳路口是最近的,但如果不在最优方向的道路,则不向其转发。

2)二:城市车辆密度教稠密的环境下,可降低宽带竞争和包冲突,减小路由开销;根据节点所处位置及该节点的邻居节点所在的不同路口方向,可以将邻居节点划分为不同的区域。

邻居区域:位于同一道路的车辆和位于路口的车辆。

方案:对于一个节点A新产生的消息,或者接收到一个新的消息副本,只有在节点A的每个邻居区域中距离它最远的邻居才会被感染。

4.2GPSR路由算法的改进基于上述问题我们可以发现,GPSR路由协议在选择下一跳时,只依据邻居节点和目的节点的距离,而且忽略了建筑物的阻挡,道路拓扑结构问题。

在本文中提出一种改进方案,在贪婪转发模式下,选择下一跳节点时,除了考虑邻居节点与目的节点的距离之外,还引入邻居节点的速度方向。

在周边转发模式下,角度。

3.2.1DREAM路由协议3.2.2GPSR路由协议3.3基于地图的路由协议3.4本章小结2.3本章小结注:2.3.3路由技术在传统的有线网络中,路由算法的实现是通过网络中的路由器和交换机固定设备来完成的,车载网络Ad Hoc网络的特殊应用,它是由移动的节点之间形成的自组网络,具有节点移动性能高,无线带宽资源受限,通信链路存活时间短等特点,因此传统的基于距离矢量路由协议和基于链路状态路由协议己经不再适用,所以研究出如下功能的路由协议:检测网络拓扑结构变化情况;维护拓扑的连接;高度自适应功能。

此外,还要考虑多径路由、多播路由、稳定性路由和路由安全等问题。

目前已经有很多被大家接受的路由协议,如基于拓扑的路由协议DSR, AODV, DSDV, OLSR等,也有很多学者在这些协议的基础上进行分析和改进。

随着车载定位技术的不断发展,车载终端能够较精确地获得当前时刻的位置信息,结合这些信息可以有效地改善V ANET的路由性能,由于基于地理位置的路由协议是不必建立路由表或存储路径,并且每个节点仅需要依靠邻居节点的位置信息就可以决定下一跳节点,这样就能够较好地适应网络大小和拓扑结构变化的网络。

本文在后续章节将对车载路由协议作详细介绍。

基于地理路由协议GPSR的研究和改进_韩连胜———————具体流程基于地理位置的贪婪周边无状态路由算法理论及应用研究_王丽娟(博士论文,具体英文论文的翻译)2.2.1在上一章中对车载自组织网络路由算法优化的研究发现,在车载自组织网络路由算法的优化中,我们可以采用GPCR算法引入岔路口的车辆节点作为协调节点的方法,解决消息受道路两旁高大建筑物的阻挡和信号沿直线传播的问题;GSR算法中利用城市地图从整体上考虑消息转发路径并使用Dijkstra单源最短路径算法为消息投递过程选择最优路径的方法;A-STAR 算法中考虑道路上车辆节点密度并由此判断该道路连通性的优劣附以权重值的方法,解决真实道路场景中车辆密度分布不均问题;以及VADD算法引入的机会通信方式,采用“存储-携带-转发”的消息通信模式,解决车载网络链路不稳定,拓扑结构变化快等问题。

相关主题