当前位置: 首页 > 专利查询>复旦大学专利>正文

基于Voronoi图的路网k聚集最近邻居节点查询方法技术

技术编号:6885985 阅读:500 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于空间数据库技术领域,具体涉及一种基于Voronoi图的路网k聚集最近邻居节点查询(k-ANN)方法。其步骤为:首先通过R树索引求出每一个查询点的第一个最近邻居节点(1-NN),然后构造一个优先级队列存储所有查询点的1-NN,权值为查询点到目标节点的当前聚集距离,接着按照某种顺序在路网Voronoi图的基础上对某个查询点进行扩展,更新这个查询点下一个NN的聚集距离,对优先级队列进行插入或更新等操作,直到发现队首的目标节点被所有查询点扩展到,那么该目标节点就是1-ANN。从队列中删除1-ANN后,第二次满足条件的是2-ANN,依此类推。本发明专利技术在用户查询的响应时间和页面访问量上有着出色的性能。

【技术实现步骤摘要】

本专利技术属于空间数据库
,具体涉及一种在路网中解决A聚集最近邻居节点查询方法。
技术介绍
道路网络中的A最近邻居节点α-ΝΝ)查询及其变种越来越受到研究者们的关注。 其中,k聚集最近邻居节点α-ΑΝΝ)查询能为多个查询点返回聚集距离最小的前A个被查对象,因此具有较高的研究价值及广阔的应用前景。目前解决该查询问题的主要方法是根据Α*算法在路网上通过逐步扩展来搜寻结果,这样会导致响应时间很长,不能满足用户的需求。本专利技术所涉及的正是为了解决这个问题。空间数据库领域最开始关注于欧氏空间,最近几年对道路网络的研究越来越受到关注。相比于欧氏空间,在路网环境下处理查询更为复杂。因为无论是目标节点还是查询点都被限制在某条路径上,在路径外的目标节点和查询点是没有意义的,这样两节点之间的距离为它们最短路径中各路径的权值总和;而在欧氏空间中,目标节点和查询点可以任意分布在二维或高维空间中,两节点之间的距离为它们的直线距离。道路网络可以用一张带权值的无向图来表示,其中,路网中的路口被视为无向图中的顶点,路网中的路径为无向图中的边。我们可以表示一个路网{V, M,r是路口的集合,万是路径的集合。目标节点的集合/7 二 fIP1, P2,.., Pj。不同于常规的i-NN查询以及其他的变种,A-ANN查询中有多个查询点。此夕卜, 々-ANN查询所返回的结果依赖于特定的聚集函数。聚集函数通常有求和C / )、最大值 Oa^)和最小值( i/7)三种。对于不同的聚集函数,查询结果及其意义不同。不妨拿多个人员聚餐作为一个例子,μ 函数使得所有人员到餐馆的总距离和最小,这样可以确保总成本最低;而ffl^函数使得到达餐馆所花时间最多(相对于其他人员)的那个人员的时间值最小,这样可以确定聚餐的最早开始时间;最后函数使得其中一个人的到达成本(到达时间)最小(最早),这样可以尽早地点菜。如附图说明图1所示为一个模拟处理后的路网图。空心顶点巧,…,表示道路的路口, 图中的每条边都表示一条道路,边上的权值表示从该条道路的一个路口到另一个路口所花的时间;点A,P2, A为目标节点,也即我们要查找的节点,比如上文例子中的餐馆。此外, 还有分别位于Ci1和q2这两个位置的查询点,现在假如我们想要知道对于查询点q” Q2的 2-ANN结果。不妨令集合/7 = [P1, P2,仏},集合々=[Q1, Q2], dist (Pi,必表示从查询点集合々到目标节点A.的聚集距离。不难发现,当聚集函数为仰 时,必对0^,Q) = 18, Clistip2, Q) = 17, Clistip3, Q) = 20,所以对于集合々的2-ΑΝΝ为[ρ2,外丨。当聚集函数为 max 騎,dist ip” Q) = IQ, dist (ρ2, Q) = Wdistip3, Q) = 13,2_ANN 为[ρ” ζ 』,当聚集函数为組·/ 时,必对(^,Q) = 8, distip2, Q) = 4,dist{p3, Q) = 7,2_ΑΝΝ 为{/7力 P3) ο一个路网Voronoi图(NVD)是由路网#和目标节点集合P共同决定的。图2是一3个图1的NVD例子,在NVD中,由边和虚线所围起来的区域称为路网Voronoi格(Network Voronoi Cell,NVC),每一个NVC对应一个目标节点,可以相应表示为NVP Coi),目标节点称为对应NVC的生成点,所有生成点的集合也就是目标节点的集合。因为我们可以描述一个 NVD 为=NVD (P) = {NVP (P1),NVP ( ),…,NVP ipn)}。目前解决道路网络中的左-ANN查询的方法主要有三种。第一种为 IER{Incremental Euclidean Restriction),利用R树对目标节点进行索引,利用一个优先级队列存储所有查询点到目标节点的聚集欧氏距离,IER要利用A*算法计算所有查询点到目标节点的聚集路网距离,同时更新目前的最佳聚集路网距离值知对_必对,直到ifeifo Q)(查询点到/7的空间聚集距离)< best—dist^±0注意该算法利用的一个重要性质是查询点7到目标节点的欧氏空间距离(直线距离)要小于等于它们之间的路网距离。这种方法在路网距离不是很接近于欧氏距离时,性能表现较差。第二种方法称为TA(Threshc)Id Algorithm),该方法纯粹利用A*算法对各查询点在路网上进行扩展,其关键是利用了阈值Γ对算法进行控制。这种方法虽然对路网距离与欧氏距离的关系不敏感,但查询响应时间较长,用户可能难以接受。第三种方法是 CE (Concurrent Expansion),它与第二种方法的区别是求路网聚集距离的时机不同。这种方法的性能表现比TA更差。上述三种方法均存在较大的缺陷,因此亟需要提出一种查询时间响应快的方法以满足用户的要求。本专利技术提出的方法是在基于NVD中々NN查询的基础上的。在NVD中解决i-NN查询问题的方法主要包含两个过程过滤过程和精确计算过程。在过滤过程中会生成一个候选集合,候选集合中包含了所有的可能成为下一个NN的目标节点。每当获得查询点的下一个NN时,过滤过程会把所有与该下一个NN相邻的NVC加入到候选集合中,我们可以通过R 树索引找到查询点的1-NN。精确计算过程会计算查询点到新加入到候选集合NVC的距离,同时会更新查询点到边界点的距离,该过程的思想类似于伪Tfeira算法。第个NN所在的NVC —定是与 ^-NN中某个NVC是相邻的,这个性质确保了该方法的正确性。
技术实现思路
本专利技术的目的在于提出一种查询时间响应快的路网k聚集最近邻居节点α-ΑΝΝ) 查询方法,以满足用户的要求。本专利技术提出的解决i-ANN查询的方法,是一种预处理的方法。我们利用路网NVD 的特点,把路网模型转化为NVD的模型,在NVD的模型基础上解决々-ANN查询。在介绍本专利技术的
技术实现思路
之前,需要给出一些常见符号的定义。符号定义表如表1所示。表1.符号说明符号描述P目标节点的集合Q查询点的集合,化{&,-,qjSi已经计算出的查询点Qi的所有最近邻居节点的集合P Hnn查询点 A 的 I-NNC^7im [P、Piknn查询点A的第A个最近邻居节点dist^某个目标节点当前到所有查询点的聚集距离本文档来自技高网
...

【技术保护点】
1.一种基于Voronoi图的路网k聚集最近邻居节点查询方法,其特征在于具体步骤为:(a)通过空间数据库索引查找出每一个查询点的1-NN,然后初始化每一个查询点的扩展集合Si = {pi1nn},pi1nn表示查询点qi的第一个NN;(b)初始化一个优先级队列H,H中的元素形式为(pi,distagg),其中,pi为目标节点,distagg表示pi当前到所有查询点的聚集距离;(c) 按照某种策略不断计算某个查询点qi的下一个NN,用p'表示,把p'加入qi的扩展集合Si;如果p'在队列H中,那么更新目标节点p'的distagg,否则计算p'的当前聚集距离distagg,接着把(p', distagg)插入队列;(d)在处理完目标节点p'之后,对于每次出队的元素,判断其目标节点是否被所有的查询点扩展到;如果不是的话,对于出队元素的目标节点,更新它的当前聚集距离distagg,然后再插入队列;如果是的话,那么第一个出队元素的目标节点是1-ANN,第二个出队元素的目标节点是2-ANN;依次类推,得到k-ANN;其中, NN表示最近邻居节点,ANN 表示聚集最近邻居节点。

【技术特征摘要】
1.一种基于Voronoi图的路网A聚集最近邻居节点查询方法,其特征在于具体步骤为(a)通过空间数据库索引查找出每一个查询点的1-NN,然后初始化每一个查询点的扩展集合Si = \PnJ ,Pilnn表示查询点的第一个NN ;(b)初始化一个优先级队列H,H中的元素形式为(p”diStaJ,其中,为目标节点, diStagg穌Pi当前到所有查询点的聚集距离;(c)按照某种策略不断计算某个查询点&的下一个NN,用//表示,把//加入&的扩展集合A ;如果//在队列//中,那么更新目标节点//的 、 _,否则计算//的当前聚集距离必对_,接着把ip', distagg)插入队列;(d)在处理完目标节点//之后,对于每次出队的元素,判断其目标节点是否被所有的查询点扩展到;如果不是的话,对于出队元素的目标节点,更新它的当前聚集距离 、 _, 然后再插入队列;如果是的话,那么第一个出队元素的目标节点是1-ΑΝΝ,第二个出队元素的目标节点是2-ΑΝΝ ...

【专利技术属性】
技术研发人员:孙未未朱良荆一楠毛鼎鼎陈楚南陈坤杰
申请(专利权)人:复旦大学
类型:发明
国别省市:31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1