[发明专利]一种有权有向动态网络上的最短路径估算方法在审
申请号: | 201410189825.2 | 申请日: | 2014-05-07 |
公开(公告)号: | CN103970856A | 公开(公告)日: | 2014-08-06 |
发明(设计)人: | 史晓薇;金俊挺;李翠平;陈红 | 申请(专利权)人: | 中国人民大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京纪凯知识产权代理有限公司 11245 | 代理人: | 徐宁;孙楠 |
地址: | 100872 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 有权 动态 网络 路径 估算 方法 | ||
1.一种有权有向动态网络上的最短路径估算方法,其包括以下步骤:
1)以有权有向动态网络中每一点为树根节点,构建包括若干正向最短路径树和若干反向最短路径树的初始树结构;
2)有权有向动态网络的结构发生变化时,对有权有向动态网络中的初始树结构进行实时更新;
3)根据更新后的树结构,对有权有向动态网络中任意两节点e到f的最短路径和最短距离进行查询,找出节点e到节点f的最短路径。
2.如权利要求1所述的一种有权有向动态网络上的最短路径估算方法,其特征在于:所述步骤1)中,构建包括若干正向最短路径树和若干反向最短路径树的初始树结构,其构建过程为:
采用MaxDegree最大度方法,在有权有向动态网络中选取若干点作为landmark叶子节点,以有权有向动态网络中每一点为树根节点;
对于每一树根节点,计算其到所有landmark叶子节点的最短路径,构成该树根节点的正向最短路径树;
对于每一树根节点,计算所有landmark叶子节点到该树根节点的最短路径,构成该树根节点的反向最短路径树。
3.如权利要求1或2所述的一种有权有向动态网络上的最短路径估算方法,其特征在于:所述步骤2)中,对有权有向动态网络中的初始树结构进行实时更新,其具体包括以下步骤:
(1)将点的增加和减少以及边的插入和删除处理成相应边权值的变化,相应边权值的变化和权值改变的边一起构成权值增加的边集E+和权值减小的边集E-;
(2)在有权有向动态网络中找出权值增加的边集E+中的边,将这些边的权值更改为变化后的权值,并实时更新有权有向动态网络中的初始树结构;
(3)在有权有向动态网络中找出权值减少的边集E-中的边,将这些边的权值更改为变化后的权值,并实时更新有权有向动态网络中的初始树结构。
4.如权利要求3所述的一种有权有向动态网络上的最短路径估算方法,其特征在于:所述步骤(2)中,采用以下方法实时更新有权有向动态网络中的初始树结构,其具体包括以下步骤:
(Ⅰ)采用DASPInc算法对有权有向动态网络中每一个初始正向最短路径树SPT进行实时更新,不同的初始正向最短路径树SPT并行更新,其具体包括:
①如果某初始SPT中的任一树边对应权值增加的边集E+中一权值增加的边,则从该初始SPT上删除该树边;该完整的初始SPT被分解成一棵包含根节点的树以及一些离散的树或节点,这些离散的树和节点构成受影响的节点集N;
②将节点集N中的节点状态设置为open,初始SPT中不受影响的节点的状态设置为closed;如果受影响且状态为open的节点a至少有一个受影响且状态为closed的父节点p或者至少有一个不受影响的父节点p,则将节点a作为边界点,将使得根节点到父节点p的距离d(p)与父节点p到节点a的距离w(p,a)之和最小的父节点p作为候选最短路径父节点,将min(d(p)+w(p,a))作为候选最短距离,并将根节点到节点a的距离d(a)设置为min(d(p)+w(p,a)),该候选最短距离对应的路径作为候选最短路径;
③将每个边界点a、候选最短路径父节点p和候选最短距离d(a)以形式(a,p,d(a))入链表Q;
④对链表Q是否为空进行判断,如果链表Q为空,则完成对初始SPT的更新;如果链表Q不为空,则从链表Q中找出候选最短距离最小的元素,并将该元素以形式(y,x,d(y))出链表Q,其具体包括:
首先,将节点y的分支连接于节点y的候选最短路径父节点x,并将节点y的状态更改为closed;
其次,对于状态更改为closed的节点y在有权有向网络上的每条出边,其指向的节点q,如果根节点到节点y的距离d(y)与节点y到节点q的距离w(y,q)之和小于根节点到节点q的距离d(q),即d(y)+w(y,q)<d(q),则将根节点到节点q的距离d(q)更改为d(y)+w(y,q),并将(q,y,d(q))入链表Q;
⑤重复步骤④,直到链表Q为空,完成对初始SPT的更新;
(Ⅱ)采用DASPInc’算法对有权有向动态网络中每一个初始反向最短路径树RSPT进行实时更新,不同初始反向最短路径树RSPT并行更新,其具体包括:
①如果某初始RSPT中的任一树边对应权值增加的边集E+中一权值增加的边,则从该初始RSPT上删除该树边;该完整的初始RSPT被分解成一棵包含根节点的树以及一些离散的树或节点,这些离散的树和节点构成受影响的节点集N’;
②将节点集N’中的节点状态设置为open,初始RSPT中不受影响的节点的状态设置为closed;如果受影响且状态为open的节点a’至少有一个受影响且状态为closed的子节点p’或者至少有一个不受影响的子节点p’,则将节点a’作为边界点,将使得子节点p’到根节点的距离d(p’)与节点a’到子节点p’的距离w(a’,p’)之和最小的子节点p’作为候选最短路径子节点,将min(d(p’)+w(a’,p’))作为候选最短距离,并将节点a’到根节点的距离d(a’)设置为min(d(p’)+w(a’,p’)),将该候选最短距离对应的路径作为候选最短路径;
③将每个边界点a’、候选最短路径子节点p’和候选最短距离d(a’)以形式(a’,p’,d(a’))入链表Q;
④对链表Q是否为空进行判断,如果链表Q为空,则完成对初始RSPT的更新;如果链表Q不为空,则从链表Q中找出候选最短距离最小的元素,并将该元素以形式(y’,x’,d(y’))出链表Q,其具体包括:
首先,将节点y’的分支连接于节点y’的候选最短路径子节点x’,并将节点y’的状态更改为closed;
其次,对于状态更改为closed的节点y’在有权有向网络上的每条入边,其指出的节点q’,如果节点y’到根节点的距离d(y’)与节点q’到节点y’的距离w(q’,y’)之和小于节点q’到根节点的距离d(q’),即d(y’)+w(q’,y’)<d(q’),则将节点q’到根节点的距离d(q’)更改为d(y’)+w(q’,y’),并将(q’,y’,d(q’))入链表Q;
⑤重复步骤④,直到链表Q为空,完成对初始RSPT的更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民大学,未经中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410189825.2/1.html,转载请声明来源钻瓜专利网。