一种路网距离计算中的代表元选取方法

文档序号:9787890阅读:340来源:国知局
一种路网距离计算中的代表元选取方法
【技术领域】
[0001] 本发明涉及最短距离计算预处理技术,尤其涉及一种路网距离计算中的代表元选 取方法。
【背景技术】
[0002] 随着当今移动互联网技术的飞速发展,基于位置的应用越来越多,而在位置应用 中大部分涉及距离查询,比如外卖应用等可能不关心最短路径应该怎么走,只需要知道在 实际路网中的最短距离即离谁最近即可。在现实生活中,路网数据规模越来越大,用户数量 越来越多,针对距离查询服务,如果每次用户查询都要重新计算一遍最短距离则耗费大量 的计算资源并且不能满足大量用户的同时查询,所以需要采用预处理的方式事先计算路网 中节点间的最短距离。
[0003] 在朴素的预处理中,对所有节点之间进行最短路径计算并保存,在一个10万节点 的路网上预处理结果需要大概80GB的内存保存,而预处理时间可能以天计,耗费大量资源, 而很多城市路网的节点数超过10万,所以我们不能使用朴素的预处理方法来处理路网数 据。在现实路网中,由于使用gps定位路网中节点或移动对象的位置是有一定误差的,路网 中路径长度的测量也是有误差存在,所以对节点间最短距离的计算可以允许误差存在。如 何在控制误差的前提下有效的进行预处理以节约大量的计算时间和空间消耗,是一个关键 问题。
[0004] 目前,针对路网的距离查询算法预处理不够高效,并且在查询时需要做进一步运 算,满足不了查询的实时性要求,同时误差也不能保证可控。

【发明内容】

[0005] 本发明的目的是提供一种路网距离计算中的代表元选取方法,可以有效的选择代 表元,满足误差上限要求,并能并行处理,提升处理速度。
[0006] 本发明的目的是通过以下技术方案实现的:
[0007] -种路网距离计算中的代表元选取方法,包括:
[0008] 将整个路网抽象的图数据使用图划分方法划分成多份,且每一份均为一个连通的 子图;
[0009] 再基于确定的误差上限,为每一连通的子图中的节点均选取一个代表元,并保存 节点与代表元之间的映射关系。
[0010] 进一步的,所述将整个路网抽象的图数据使用图划分方法划分成多份,且每一份 均为一个连通的子图包括:
[0011] 采用一个开源的图划分工具Metis将整个路网抽象的图数据划分成多份,并使得 划分后的每一连通的子图所包含的节点数量相等或相近。
[0012] 进一步的,所述基于确定的误差上限,为每一连通的子图中的节点均选取一个代 表元包括:
[0013] 对于每一连通的子图,将所包含的节点按度大小从大到小进行排序,然后按顺序 选择节点,如果节点X没有被标记为已访问则标记该节点X为代表元,并对该节点X进行最短 路径扩展计算,将离该节点距离δ范围内其他未标记节点的代表元标记为该节点X,且将这 些节点标记为已访问;重复进行上述过程直到所有节点都被访问并且有代表元;
[0014] 其中,δ为误差上限的一半。
[0015] 进一步的,采用并行化方式,使每一连通的子图的代表元选取过程同时进行。
[0016] 由上述本发明提供的技术方案可以看出,基于图划分技术选取代表元,经预处理 后,可以在大规模路网上实时查询节点间的近似最短距离,查询结果满足设定的误差上限; 同时,通过代表元选择方法,在确保误差上限的基础上可以并行在划分后的每个连通子图 里选取,提升代表元选取效率;并且,查询节点间最短距离时,不需要再进行复杂运算,只需 要在预处理结果中查找即可,满足实时性要求,而查找结果满足误差上限。
【附图说明】
[0017] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 附图。
[0018] 图1为本发明实施例提供的一种路网距离计算中的代表元选取方法的流程图;
[0019] 图2为本发明实施例提供的近似距离误差上限示意图。
【具体实施方式】
[0020] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明的保护范围。
[0021] 本发明提出了基于图划分的代表元选取方法,涉及路网的最短距离计算和查询领 域,所解决的是路网最短距离实时查询问题;通过使用基于代表元的近似最短距离查询方 法为每个节点选择一个代表元代表本节点,这样可以预处理代表元之间的距离,通过其近 似的代表所有节点之间的最短距离,由于一个代表元可以在确定的误差上限下代表很多节 点,预处理数据量大大减少,节约了预处理时间和存储空间,从而满足了查询的实时性要 求。
[0022] 图1为本发明实施例提供的一种路网距离计算中的代表元选取方法的流程图。如 图1所示,其主要包括:
[0023]步骤1、将整个路网抽象的图数据使用图划分方法划分成多份,且每一份均为一个 连通的子图。
[0024]本发明实施例中,可采用一个开源的图划分工具Metis将整个路网抽象的图数据 划分成多份(记为η),并使得划分后的每一连通的子图所包含的节点数量相等或相近。
[0025]步骤2、基于确定的误差上限,为每一连通的子图中的节点均选取一个代表元,并 保存节点与代表元之间的映射关系。
[0026] 本发明实施例中,采用并行化方式,使每一连通的子图的代表元选取过程同时进 行。
[0027] 其具体实施过程如下:对于每一连通的子图,将所包含的节点按度大小从大到小 进行排序,然后按顺序选择节点,如果节点X没有被标记为已访问则标记该节点X为代表元, 并对该节点X进行最短路径扩展计算,将离该节点距离S范围内其他未标记节点的代表元标 记为该节点X,且将这些节点标记为已访问;重复进行上述过程直到所有节点都被访问并且 有代表元;其中,S为误差上限的一半。
[0028] 上述过程可表示为如下伪代码:
[0030] 通过上述步骤2后,可为每一连通的子图中每一节点选取一代表元,之后,再进行 后续预处理步骤,则可以在大规模路网上实时查询节点间的近似最短距离,同时,确保查询 结果满足设定的误差上限。后续预处理主要是计算代表元之间的最短距离并保存。
[0031] 另一方面,为了证明本发明实施例上述方案的误差可控。假设路网中有节点a和b, a的代表元为p,b的代表元为q,根据代表元的定义可知a和p的最短路径长度L ap小于S,b和q 的最短路径长度Lbq小于δ,则a和b的最短距离与p和q的最短距离最多相差2δ,可以用p和q的 最短距离L Pq近似的代表a和b的最短距离Lab。
[0032] 证明如下:
[0033] 反证法,如果| Lab-LPq | >2δ,先假设Lab>LPq即Lab-LPq>2S,则从 a到其代表元p经过了 Lap的距离,然后从p到q经过了LPq的距离,再从q到b经过了Lbq,因为"〈δ且L bq〈S,因此所有 这些距尚加起来Lap+LPq+Lbq〈Lpq+23〈Lab,则Lab不为ab之间的最短距1?,与已知假设矛盾,同 理可证,如果L ab〈LP<^ LPq_Lab>2S,则LPq不为p和q之间的最短距离,与假设矛盾。综上所述, Lab与LPq误差小于2δ,误差上限可控。上述证明过程不限制a和b是否在同一划分后的连通子 图中。
[0034] 本发明实施例的上述方案,主要具有以下有益效果:
[0035] 1)基于基于图划分技术选取代表元,经预处理后,可以在大规模路网上实时查询 节点间的近似最短距离,查询结果满足设定的误差上限。
[0036] 2)提出新的代表元选择算法,在确保误差上限的基础上可以并行在划分后的每个 连通子图里选取,提升代表元选取效率。
[0037] 3)查询节点间最短距离时,不需要再进行复杂运算,只需要在预处理结果中查找 即可,满足实时性要求,而查找结果满足误差上限。
[0038] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可 以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解, 上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易 失性存储介质(可以是CD-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0039] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范 围为准。
【主权项】
1. 一种路网距离计算中的代表元选取方法,其特征在于,包括: 将整个路网抽象的图数据使用图划分方法划分成多份,且每一份均为一个连通的子 图; 再基于确定的误差上限,为每一连通的子图中的节点均选取一个代表元,并保存节点 与代表元之间的映射关系。2. 根据权利要求1所述的方法,其特征在于,所述将整个路网抽象的图数据使用图划分 方法划分成多份,且每一份均为一个连通的子图包括: 采用一个开源的图划分工具Metis将整个路网抽象的图数据划分成多份,并使得划分 后的每一连通的子图所包含的节点数量相等或相近。3. 根据权利要求1所述的方法,其特征在于,所述基于确定的误差上限,为每一连通的 子图中的节点均选取一个代表元包括: 对于每一连通的子图,将所包含的节点按度大小从大到小进行排序,然后按顺序选择 节点,如果节点X没有被标记为已访问则标记该节点X为代表元,并对该节点X进行最短路径 扩展计算,将离该节点距离S范围内其他未标记节点的代表元标记为该节点X,且将这些节 点标记为已访问;重复进行上述过程直到所有节点都被访问并且有代表元; 其中,S为误差上限的一半。4. 根据权利要求1或3所述的方法,其特征在于,采用并行化方式,使每一连通的子图的 代表元选取过程同时进行。
【专利摘要】本发明公开了一种路网距离计算中的代表元选取方法,包括:将整个路网抽象的图数据使用图划分方法划分成多份,且每一份均为一个连通的子图;再基于确定的误差上限,为每一连通的子图中的节点均选取一个代表元,并保存节点与代表元之间的映射关系。通过采用本发明提供的方法,可以有效的选择代表元,满足误差上限要求,并能并行处理,提升处理速度。
【IPC分类】G06Q10/04
【公开号】CN105550765
【申请号】CN201510881782
【发明人】孙广中, 刘惠民, 周英华
【申请人】中国科学技术大学
【公开日】2016年5月4日
【申请日】2015年11月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1