[发明专利]基于地理网络的最短路径并行双向搜索通信方法有效
申请号: | 201310006533.6 | 申请日: | 2013-01-08 |
公开(公告)号: | CN103077235A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 孙文彬;吴立新;赵学胜;谭正龙;王江 | 申请(专利权)人: | 中国矿业大学(北京) |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 廖元秋 |
地址: | 100083 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 地理 网络 路径 并行 双向 搜索 通信 方法 | ||
技术领域
本发明属于最短路径并行双向搜索通信技术领域,尤其涉及一种基于地理网络的最短路径并行双向搜索的通信方法。
背景技术
最短路径问题是图论研究中的一个重要课题,自它被提出便得到各个领域的广泛的关注。因为它不仅是交通运输问题中的热点,而且在网络分析中起着关键的作用。应用领域包括网络优化、物流配送、交通运输、电子导航等。自从最短路径问题被提出,经历几十年的研究,研发出大量的搜索方法,建立起较为完善的理论体系。然而随着真实地理网络(具有地理属性的网络)规模越来越大,处理的数据量也急剧增大,传统最短路径串行搜索的性能已经不能满足现实需求。
近年来随着计算机硬件的不断发展,并行计算技术的不断推广,使得并行计算成为解决传统串行计算效率不高及内存受限的有效方法。其中最短路径并行双向搜索,大幅提升原有最短路径串行搜索的效率。
利用最短路径并行双向搜索的通信方法如图1所示,最短路径并行双向搜索是开辟两个进程,进程1和进程2均读取所有的数据,包括网络中所有的点的编号、点的经纬度坐标、点的标识以及各点之间的拓扑关系,构建出地理网络;各点的标识的状态分为永久标识和非永久标识,两个进程分别设置数组Index1、Index2来存储所有点的标识的状态,设定各点的标识的初始状态为非永久标识;进程1和进程2分别以源点A和终点B为中心,每次进程1搜索到一个新的点(用α表示)、进程2搜索到一个新的点(用β表示),如图1所示,进程1第一次搜索到的点为C和进程2第一次搜索到的点D,进程1根据点C的编号将点C在数组Index1中的标识改为永久标识,并将点C的编号通过消息传递模式发送给进程2,同时接收进程2发送过来的点的编号,根据接收的这个点的编号在数组Index1中查找该点的标识是否为永久标识,若为永久标识说明两个进程搜索到交点(即公共点),此时进程1返回消息给进程2,两个进程搜索可以终止,否则继续搜索。同时,进程2根据点D的编号将点D在数组Index2中的标识改为永久标识,并将点D的编号通过消息传递模式发送给进程1,同时接收进程1发送过来的点的编号,根据接收的这个点的编号在数组Index2中查找该点的标识是否为永久标识,若为永久标识说明两个进程搜索到交点(即公共点),此时进程2返回消息给进程1,两个进程搜索可以终止,否则继续搜索。由此可见,每次搜索之后都会进行一次通信,通信量为2个单位,进程间存在频繁的信息交换,产生了大量的通信时间,成为提高效率的主要瓶颈。
最短路径并行双向搜索是以圆形扩展方式向外搜索,如图2所示,进程1搜索的区域依次是图2中以A为圆心的同心圆,搜索到的点依次为C、E、G、...,进程2搜索的区域依次是图2中以B为圆心的同心圆,搜索到的点依次为D、F、H、...,在两个圆形区域没有重叠区域时,如图2中两个进程的前3个圆形区域,两个进程肯定不会搜索到公共点,直到图2中两个进程的第四个圆形区域,此时可能存在公共点。由此可见,在搜索区域未相交时,通信内容对搜索本身没有益处。但是由于并行技术的特点,仍然需要进行通信,判断是否搜索到公共点,从而保证搜索正确继续进行。
从以上最短路径并行双向搜索算法的实现可知,存在通信次数过多,以及必须进行一些无益的通信,这些情况都制约算法效率的提升。
发明内容
本发明的目的是为克服已有技术的不足,提出一种基于大规模地理网络的最短路径并行双向搜索算法的通信方法,该方法具有减少通信次数,以及减少无效通信量的特点,提升已有技术的效率。
本发明提出的一种基于地理网络的最短路径并行双向搜索通信方法,其特征在于,在源点开辟进程1、终点开辟进程2,两个进程同时进行搜索及双向通信;两个进程分别读取所有的数据,包括网络中所有的点的编号、点的经纬度坐标、点的标识以及各点之间的拓扑关系,构建出地理网络;设置通信粒度NUM为2以上的正整数;各点的标识的状态分为永久标识和非永久标识,两个进程分别设置数组Index1、Index2存储所有点的标识的状态,设定各点的标识的初始状态为非永久标识;设置两个进程的通信数组分别为Mess1、Mess2,两个数组的大小均为NUM;根据源点和终点的经纬度差值,选取差值大的经度或纬度来表示地理网络中各点的地理属性,并假设源点的地理属性值小于终点的地理属性值,进程1设置Mess1中各点地理属性值的最大值为参数Xmax、进程2设置Mess2中各点地理属性值的最小值为参数Xmin,并设置参数Xmax、参数Xmin的初始值为0;
对于进程1的通信,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学(北京),未经中国矿业大学(北京)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310006533.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车载USB充电器
- 下一篇:基材表面涂覆的干燥涂层厚度的测量方法