[发明专利]多区域交叉复杂网络图中单源最短路径的计算方法在审
申请号: | 201611162027.6 | 申请日: | 2016-12-15 |
公开(公告)号: | CN106600062A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 阳西述 | 申请(专利权)人: | 湖南第一师范学院 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G06Q50/30 |
代理公司: | 长沙星耀专利事务所43205 | 代理人: | 姜芳蕊 |
地址: | 410205 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区域 交叉 复杂 网络图 中单源最短 路径 计算方法 | ||
技术领域
本发明属于通信网络技术领域,涉及一种多区域交叉复杂网络图中单源最短路径的计算方法。
背景技术
自然界与人类社会存在各种复杂图,如道路交通图、航线图、人际关系图等。每张图都可以看成由一些结点,以及连接些结点的边所组成,如果图中的每一条边都注明一定的权值(如距离、代价等),则是网络图。
从一结点出发到达另一结点的路径有许多条,设计一种计算从网络图中任一源结点出发到达其余各点最短路径的方法,是人们期盼已久的事情。现有的Dijkstra算法,就能实现这一期盼。
Dijkstra算法是将图中结点及所有边保存到一个邻接矩阵中,并用一个一维数组保存从源点到各结点的距离值,将所有结点划分为已标记集合和未标记集合。Dijkstra算法的步骤如下:
(1)初始化一维数组;
(2)将源点加入已标记集合;
(3)找出未标记集合中,与源点距离最近的结点,将它加入到已标记结点集合中;
(4)更新一维数组;
(5)若所有结点已全部加入到已标记集合中,则算法结束,否则转步骤(3)。
现在的数据通信路由器、GPS卫星导航等软件中广泛使用的OSPF(Open Shortest Path First,开放最短路径优先)协议,就采用了Dijkstra算法。这是区域访问不受限的情况。如果网络图分为多个区域,并且各区域间结点访问受限时,单源最短路径该如何计算呢?
现实中的网络图往往是比较复杂的,譬如网络图往往是划分区域的,区域之间常常有部分重叠(交叉)。从一结点能不能访问另一结点,它们之间的最短距离是多少,会受到源结点和目标结点所在区域的限制。例如,国与国之间的道路交通图(或航线图)就有部分重叠,从一个国家出发的车辆(或者飞机、轮船)只能到达规定范围内的目的地,超出规定范围的地方,即使有路径也不能达到。现有的单源最短路径算法——Dijkstra算法,只适应于将整个网络图看成是一个区域、不受区域限制的情况,它能够计算出从一结点到达其余各结点的最短路径出来。但是,自然界、人类社会实现中的网络图常常是划分区域的,区域之间会有一些重叠,结点之间的访问要受到结点所在区域的限制,而Dijikstra算法无法计算出来。
因此,急切需要一种可以在通信、交通、导航软件与社会复杂网络中应用的多区域交叉复杂网络当中的最短路径计算方法。
发明内容
为实现上述目的,本发明提供一种多区域交叉复杂网络图中单源最短路径的计算方法,能够根据源结点和目标结点所在区域,根据其相互访问是否受限情况,自动计算出从任意单一源点出发到达其余各结点的最短路径,解决了现有技术中的问题。
本发明所采用的技术方案是:
独特技术(1):复杂网络图各结点区域特征码的设置。复杂网络图每个区域要设一个不相同的区域特征码,任意两个区域的区域特征码,相互作按位逻辑与(and)运算,其结果必须为0。复杂网络图各结点区域特征码的确定,如果某结点只属于一个区域,则其区域特征码等于其所在区域的区域特征码,如果某结点同时属于几个区域,则将这几个区域的区域特征码作按位逻辑或运算,其结果就是该结点的区域特征码。
独特技术(2):结点之间的访问是否受限的计算方法。将源点的特征码和要访问结点的特征码作按位与(and)运算,如果结果不为0,则访问不受限(允许访问),如果结果为0,则访问受限(不允许访问)。例如结点X、Y、Z的区域特征码值分别为001、010、011,则X不能访问Y,却能够访问Z,因为001and 010=0、001and 011=1。
在以上2项独特技术的支持下,多区域交叉复杂网络图中单源最短路径的计算步骤如下:
步骤1,将复杂网络图的邻接矩阵用二维数组来存储,二维数组的下标表示结点的序号,复杂网络图的一条边用二维数组的一个元素表示,二维数组元素的值表示这条边的权值,用一维数组p[N]记录从源点x到达其余各点的距离,用另一个一维数组q[N]存储复杂网络图各个结点的区域特征码。
步骤2,将源点x纳入已计算结点集合,根据邻接矩阵二维数组的值、以及与源点x直接相连的结点是否受限制情况,初始化一维数组p[N]。
步骤3,在未计算结点集合中找到一个结点,使得该结点与已计算结点集合中有直接连接的边,且源点x到该结点的距离最小,且源点x访问该结点不受区域限制;
步骤4,将该结点纳入已计算结点集合,并更新p[N]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南第一师范学院,未经湖南第一师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611162027.6/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理