法律状态公告日
法律状态信息
法律状态
2020-06-23
未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20160831 终止日期:20190704 申请日:20130704
专利权的终止
2016-08-31
授权
授权
2013-10-30
实质审查的生效 IPC(主分类):G06F17/30 申请日:20130704
实质审查的生效
2013-09-25
公开
公开
技术领域
本发明涉及一种获取路网上复反向最远邻居的递进最远分区方法及系统。
背景技术
空间数据库(spaitial database)是指提供了空间数据类型(spatial database type,SDT)和相应实现支持的数据库(参见文献1:Güting R H.An introduction tospatial database systems[J].The VLDB Journal,1994,3(4):357-399)。随着移动计算与云计算的日益发展,空间相关算法的应用日益增多。距离查询(proximityquery)包括最近邻居(Nearest Neighbor)查询、反向最近邻居(Reverse NearestNeighbor)查询、反向最远邻居查询(Reverse Furthest Neighbor)等,是空间数据库查询中最常见的类型之一。本发明关注在路网(road network)数据库上的反向最远邻居(reverse furthest neighbor,RFN)查询,即给定一组路网上的数据集P与查询集Q,我们希望求取P中所有与Q相比距离q更远的点。该问题根据P与Q是否相同可划分为单反向最远邻与复反向最远邻问题。该问题在实践中拥有重大意义,例如在开设新的商店时,我们希望得知受某一竞争对手影响最小的点。如果我们将不同地点之间的影响程度以带权的边表示,这一问题就相当于在路网上求取以现有商户地点为查询点的单反向最远邻居问题。进一步说,寻找一个受现有的所有竞争对手相对影响最小的点,可以转化为目标点在这一路网上求以竞争对手地点为查询集Q的复反向最远邻居数量的最大化问题。
据我们所知,目前对于路网上单反向最远邻问题所提出的唯一解决方案是Tran等人对于路网上反向最远邻的研究,他们以路网中的每一个兴趣点为生成点预处理建立Voronoi分区,然后使用分区的邻接性质对分区进行遍历,以枚举查询点可能的反向最远邻居(reverse furthest neighbor)。但这一方法在路网中兴趣点数量大时,将与暴力算法没有本质区别。而对于复反向最远邻问题目前尚无有关解决方案。
在其他相关研究方面,最引人注意的是最近邻居(nearest neighbor)问题(参见文献2,文献3:Hjaltason G R,Samet H.Distance browsing in spatial databases[J].ACM Transactions on Database Systems(TODS),1999,24(2):265-318,文献4:Berchtold S,
欧氏空间上的最远邻居问题由Yao等人加以描述(参见文献15:Yao B,Li F,Kumar P.Reverse furthest neighbors in spatial databases[A].In2009:664-675)。他们提出了递进最远区(progressive furthest cell,PFC)算法与凸包最远区(convexhull furthest cell)算法以处理该问题。上述算法均基于最远Voronoi去的概念来确定某一点是否是查询点q的反向最远邻居。给定某一查询点q,它关于某个数据集Q的最远voronoi区fvc(q,Q)是一个多边形区域,该区域内的所有点都是q的反向最远邻居。PFC算法使用R-Tree索引,不断取数据点构建垂直平分线讲解空间分割并取较远的一侧来求取这一区域。而CHFC算法则利用凸包的性质对这一算法进行剪枝:如果q在查询集Q的凸包内,则问题一定无解,否则亦可以将搜索范围限制在Q与查询点q的凸包之内。Liu等人使用枢轴点和索引对这一算法进行了改进(参见文献16:Liu J,Chen H,Furuse K,etc.An efficientalgorithm for reverse furthest neighbors query with metric index[A].In Database andExpert Systems Applications[C],2010:437-451,文献17:Jianquan L.Efficient queryprocessing for distance-based similarity search[J].2012)。但由于路网上的点与R-Tree索引无直接关系,也没有严格定义的凸包,这些方法均无法直接应用于本发明所解决的问题。
相关的其它参考文献还包括:
文献18:Goldberg A V,Harrelson C.Computing the shortest path:A searchmeets graph theory[A].In Proceedings of the sixteenth annual ACM-SIAMsymposium on Discrete algorithms[C],2005:156-165;
文献19:Jing N,Huang Y-W,Rundensteiner E A.Hierarchical encoded pathviews for path query processing:An optimal model and its performance evaluation[J].Knowledge and Data Engineering,IEEE Transactions on,1998,10(3):409-432;
文献20:Erwig M,Hagen F.The graph Voronoi diagram with applications[J].Networks,2000,36(3):156-163;
文献21:Jung S,Pramanik S.An efficient path computation model forhierarchically structured topographical road maps[J].Knowledge and DataEngineering,IEEE Transactions on,2002,14(5):1029-1046;
文献22:Aurenhammer F.Voronoi diagrams-a survey of a fundamentalgeometric data structure[J].ACM Computing Surveys(CSUR),1991,23(3):345-405。
发明内容
本发明的目的在于提供一种获取路网上复反向最远邻居的递进最远分区方法及系统,能够在路网上快速搜索到查询点的单反向邻居。
为解决上述问题,本发明提供一种获取路网上复反向最远邻居的递进最远分区方法,包括:
对于给定路网G上的某一结点p和路网G上的所有结点VG,如果路网G上存在结点q,q与p的路网距离||q-p||不小于p到VG当中任何点p’的距离||p′-p||,则定义q为p相对于VG的最远邻居,记为fn(p,VG);
对于给定路网G上的所有结点VG和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有VG中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,VG)={p|p∈VG,fn(p,Q)=q};
对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于
为了获取fvc(q,Q),首先建立一个包含路网G上所有点VG的潜在解的集合,每次从Q的其余结点中取出一个结点q′,使用Erwig and Hagen算法根据所述潜在解的集合中每个潜在解到q和q′的距离将所述潜在解的集合划分为两部分后,将距离查询点q较近的部分从潜在解的集合中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点。
根据本发明的另一面,提供一种获取路网上复反向最远邻居的递进最远分区系统,包括:
第一定义模块,用于对于给定路网G上的某一结点p和路网G上的所有结点VG,如果路网G上存在结点q,q与p的路网距离||q-p||不小于p到VG当中任何点p’的距离||p′-p||,则定义q为p相对于VG的最远邻居,记为fn(p,VG);
第二定义模块,用于对于给定路网G上的所有结点VG和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有VG中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,VG)={p|p∈VG,fn(p,Q)=q};
第三定义模块,用于对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于
结果获取模块,用于获取fvc(q,Q),首先建立一个包含路网G上所有点VG的潜在解的集合,包括:每次从Q的其余结点中取出一个结点q′,使用Erwig andHagen算法根据所述潜在解的集合中每个潜在解到q和q′的距离将所述潜在解的集合划分为两部分后,将距离查询点q较近的部分从潜在解的集合中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点。
与现有技术相比,本发明通过对于给定路网G上的某一结点p和路网G上的所有结点VG,如果路网G上存在结点q,q与p的路网距离||q-p||不小于p到VG当中任何点p’的距离||p′-p||,则定义q为p相对于VG的最远邻居,记为fn(p,VG);对于给定路网G上的所有结点VG和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有VG中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,VG)={p|p∈VG,fn(p,Q)=q};对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于
附图说明
图1是本发明一实施例的复反向最远邻居问题(BRFN)示例;
图2是本发明一实施例的最远Voronoi区的获取图;
图3是在图3基础上的更小的最远Voronoi区的获取图;
图4是本发明一实施例的最远Voronoi图示意。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
本发明提供一种获取路网上复反向最远邻居的递进最远分区方法(Progressive Furthest Cell,PFC),包括:
步骤S1,如图1所示,对于给定路网G上的某一结点p和路网G上的所有结点VG,如果路网G上存在结点q,q与p的路网距离||q-p||不小于p到VG当中任何点p’的距离||p′-p||,则定义q为p相对于VG的最远邻居,记为fn(p,VG);
步骤S2,对于给定路网G上的所有结点VG和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有VG中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,VG)={p|p∈VG,fn(p,Q)=q};
步骤S3,对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于
步骤S4,为了获取fvc(q,Q),首先建立一个包含路网G上所有点VG的潜在解的集合,每次从Q的其余结点中取出一个结点q′,使用Erwig and Hagen算法根据所述潜在解的集合中每个潜在解到q和q′的距离将所述潜在解的集合划分为两部分后,将距离查询点q较近的部分从潜在解的集合中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点,具体的,如图2、图3、图4和表1所示,为了求得如图4所示的qi的最远Voronoi区,我们只需要使用Erwig and Hagen算法(参见文献20)将结点依照距离qi与qj(i≠j)的距离划分成如图2所示的两部分,并求取所有距离qi较远的那部分结点的交集,将距离qi较近的那部分结点的交集排除,然后在未排除的那部分结点的交集中采用本步骤的方法作如图3所示的进一步划分。
表1
表1中使用递进策略求解fvc(q,Q),维护一个集合S来保存潜在的解。在初始状态,S包含P中所有的解,每次迭代中,我们取出Q中一个结点q’,使用Erwig and Hagen算法(参见文献20)根据距离q和q’的距离将S划分为两部分,并删除距离查询点q较远的部分,在遍历了查询点的所有集合之后,集合S缩小至fvc(q,Q),在S为空时可以直接终止,另外,选择合适的遍历Q的顺序可以提高算法在无解时的性能。
实施例二
本发明还提供另一种获取路网上复反向最远邻居的递进最远分区系统,包括:
第一定义模块,用于对于给定路网G上的某一结点p和路网G上的所有结点VG,如果路网G上存在结点q,q与p的路网距离||q-p||不小于p到VG当中任何点p’的距离||p′-p||,则定义q为p相对于VG的最远邻居,记为fn(p,VG);
第二定义模块,用于对于给定路网G上的所有结点VG和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有VG中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,VG)={p|p∈VG,fn(p,Q)=q};
第三定义模块,用于对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于
结果获取模块,用于获取fvc(q,Q),首先建立一个包含路网G上所有点VG的潜在解的集合,包括:每次从Q的其余结点中取出一个结点q′,使用Erwig andHagen算法根据所述潜在解的集合中每个潜在解到q和q′的距离将所述潜在解的集合划分为两部分后,将距离查询点q较近的部分从潜在解的集合中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点。
本发明通过对于给定路网G上的某一结点p和路网G上的所有结点VG,如果路网G上存在结点q,q与p的路网距离||q-p||不小于p到VG当中任何点p’的距离||p′-p||,则定义q为p相对于VG的最远邻居,记为fn(p,VG);对于给定路网G上的所有结点VG和路网G上的查询集Q,定义q∈Q的复反向最远邻居是所有VG中距离q比Q中其它所有点都远的点的集合,即BRFN(q,Q,VG)={p|p∈VG,fn(p,Q)=q};对于路网G,某一查询集Q,构建路网G关于查询集Q的最远Voronoi图,定义某一查询点q∈Q在所述最远Voronoi图上的最远Voronoi区是这样一部分结点fvc(q,Q),满足对于fn(p,Q)=q,即所有fvc(q,Q)所包含的点p均以q作为其相对于Q的最远邻居,则BRFN(q,Q,VG)=fvc(q,Q);为了获取fvc(q,Q),首先建立一个包含路网G上所有点VG的潜在解的集合,每次从Q的其余结点中取出一个结点q′,使用Erwig and Hagen算法根据所述潜在解的集合中每个潜在解到q和q′的距离将所述潜在解的集合划分为两部分后,将距离查询点q较近的部分从潜在解的集合中删除,直至Q的所有其余结点q′都取出过后,所述最远Voronoi图中最终未删除的部分即为fvc(q,Q),其中,所述潜在解为路网G上的某一结点,能够在路网上快速搜索到查询点的单反向邻居。
实施例二的其它详细内容具体可参见实施例一,在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
机译: 串行传输系统,带有最远终端的返回信号发生器,用于将最远终端的返回信号/数据与任何指定的中间终端同步
机译: 多功能折叠自行车用作踏板车,在最远的踏板设置中,座椅表面和道路接触表面之间以及座椅表面和踏板之间的距离相等
机译: 多光束扫描仪具有带偏转系统的光学系统,可提供一致的偏转光束路径长度,到具有2个笔直截面的镜面的最远物体的路径,偏转点