[发明专利]一种有权有向动态网络上的最短路径估算方法在审
申请号: | 201410189825.2 | 申请日: | 2014-05-07 |
公开(公告)号: | CN103970856A | 公开(公告)日: | 2014-08-06 |
发明(设计)人: | 史晓薇;金俊挺;李翠平;陈红 | 申请(专利权)人: | 中国人民大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京纪凯知识产权代理有限公司 11245 | 代理人: | 徐宁;孙楠 |
地址: | 100872 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 有权 动态 网络 路径 估算 方法 | ||
技术领域
本发明涉及一种最短路径估算方法,特别是关于一种有权有向动态网络上的最短路径估算方法。
背景技术
如今,越来越多的应用中需要计算有权有向动态网络上的最短路径(SP)。交通路网的权重代表交通拥堵程度,基于当前交通状况计算出的两个地点间的最短路径可以用于导航去目的地的最快路径。同样地,如Facebook,Twitter,LinkedIn等社交网络中,连接两个用户的边的权重代表两个用户的亲密程度,权重值越小,两个用户的联系越亲密,基于用户间的联系计算出的两用户之间的最短路径可以帮助一个用户快速认识另一个用户,由于动态网络的规模急剧增加,并且动态网络中的用户关系都是有方向且随时间变化的,因此实时计算出动态网络中用户间的最短路径是非常必要的。
目前,计算最短距离通用的算法是基于三角不等式并利用landmark来估算的,这种算法虽然查询效率很高,但存在不能返回最短路径且不能适用于动态图的缺点。还有一些研究成果提出的基于sketch索引的可处理大规模网络的算法,虽然可以估算最短距离,也可以得到最短距离对应的最短路径,但这类算法存在不适用于有权图的缺点。计算有权图上最短路径的通用算法是Dijkstra算法,Dijkstra算法能够计算得到有权图上最短路径的最优解,但当有权图规模增大时,Dijkstra算法的时间复杂度呈指数级增加,计算效率很低。为克服Dijkstra这类静态算法的弊端,一些学者研究出可以尽量缩短重新计算最短路径的动态算法,早期的动态算法只能解决单源点最短路径问题,后来的动态算法可以计算出任意点对间的近似最短路径,但每次调用动态算法只能解决一条边插入、删除或者一条边权值增加、减少的问题,这类动态算法的查询效率虽然相对于Dijkstra算法有所提高,但仍不尽如人意。
发明内容
针对上述问题,本发明的目的是提供一种查询效率高、扩展性强的有权有向动态网络上的最短路径估算方法,该方法针对有权有向动态网络,能够一次解决多条边增删、权值变化等问题。
为实现上述目的,本发明采取以下技术方案:一种有权有向动态网络上的最短路径估算方法,其包括以下步骤:1)以有权有向动态网络中每一点为树根节点,构建包括若干正向最短路径树和若干反向最短路径树的初始树结构;2)有权有向动态网络的结构发生变化时,对有权有向动态网络中的初始树结构进行实时更新;3)根据更新后的树结构,对有权有向动态网络中任意两节点e到f的最短路径和最短距离进行查询,找出节点e到节点f的最短路径。
所述步骤1)中,构建包括若干正向最短路径树和若干反向最短路径树的初始树结构,其构建过程为:采用MaxDegree最大度方法,在有权有向动态网络中选取若干点作为landmark叶子节点,以有权有向动态网络中每一点为树根节点;对于每一树根节点,计算其到所有landmark叶子节点的最短路径,构成该树根节点的正向最短路径树;对于每一树根节点,计算所有landmark叶子节点到该树根节点的最短路径,构成该树根节点的反向最短路径树。
所述步骤2)中,对有权有向动态网络中的初始树结构进行实时更新,其具体包括以下步骤:(1)将点的增加和减少以及边的插入和删除处理成相应边权值的变化,相应边权值的变化和权值改变的边一起构成权值增加的边集E+和权值减小的边集E-;(2)在有权有向动态网络中找出权值增加的边集E+中的边,将这些边的权值更改为变化后的权值,并实时更新有权有向动态网络中的初始树结构;(3)在有权有向动态网络中找出权值减少的边集E-中的边,将这些边的权值更改为变化后的权值,并实时更新有权有向动态网络中的初始树结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民大学,未经中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410189825.2/2.html,转载请声明来源钻瓜专利网。