CN103336827A - 获取路网上复反向最远邻居的暴力搜索方法及*** - Google Patents
获取路网上复反向最远邻居的暴力搜索方法及*** Download PDFInfo
- Publication number
- CN103336827A CN103336827A CN201310280245XA CN201310280245A CN103336827A CN 103336827 A CN103336827 A CN 103336827A CN 201310280245X A CN201310280245X A CN 201310280245XA CN 201310280245 A CN201310280245 A CN 201310280245A CN 103336827 A CN103336827 A CN 103336827A
- Authority
- CN
- China
- Prior art keywords
- road network
- farthest
- neighbours
- oppositely
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种获取路网上复反向最远邻居的暴力搜索方法及***,本发明通过使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG),能够在路网上快速搜索到查询点的单反向邻居。
Description
技术领域
本发明涉及一种获取路网上复反向最远邻居的暴力搜索方法及***。
背景技术
空间数据库(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,C,Keim D A,etc.A cost model for nearest neighbor search inhigh-dimensional data space[A].In Proceedings of the sixteenth ACMSIGACT-SIGMOD-SIGART symposium on Principles of database systems[C],1997:78-86,文献5,文献6:Jagadish H,Ooi B C,Tan K-L,etc.iDistance:An adaptiveB+-tree based indexing method for nearest neighbor search[J].ACM Transactions onDatabase Systems(TODS),2005,30(2):364-397,文献7:Tao Y,Papadias D,ShenQ.Continuous nearest neighbor search[A].In Proceedings of the28th internationalconference on Very Large Data Bases[C],2002:287-29)与反向最近邻居(参见文献8:Korn F,Muthukrishnan S.Influence sets based on reverse nearest neighborqueries[J].ACM SIGMOD Record,2000,29(2):201-212,文献9:Singh A,Ferhatosmanoglu H,Tosun AHigh dimensional reverse nearest neighborqueries[A].In Proceedings of the twelfth international conference on Information andknowledge management[C],2003:91-98,文献10:Tao Y,Papadias D,Lian X.Reverse kNN search in arbitrary dimensionality[A].In Proceedings of the Thirtiethinternational conference on Very large data bases-Volume30[C],2004:744-755,文献11:Achtert E,C,P,etc.Efficient reverse k-nearest neighbor searchin arbitrary metric spaces[A].In Proceedings of the2006ACM SIGMODinternational conference on Management of data[C],2006:515-526,文献12:Sankaranarayanan J,Samet H.Distance oracles for spatial networks[A].In DataEngineering,2009.ICDE'09.IEEE25th International Conference on[C],2009:652-663)问题。以R-Tree(参见文献13:Guttman A.R-trees:a dynamic indexstructure for spatial searching[M].ACM,1984)为基础的深度(参见文献2:Roussopoulos N,Kelley S,Vincent F.Nearest neighbor queries[A].In1995:71-79)与广度(参见文献5:Cui B,Ooi B C,Su J,etc.Contorting high dimensional data forefficient main memory KNN processing[A].In Proceedings of the2003ACMSIGMOD international conference on Management of data[C],2003:479-490)优先搜索、增量欧氏限制(Incremental Euclidean Restriction)、增量网络扩展(Invremental Network Expansion,参见文献14:Papadias D,Zhang J,Mamoulis N,etc.Query processing in spatial network databases[A].In2003:802-813)与Voronoi图相关的技术(参见文献8~12)被广泛用于解决欧氏空间(Euclidean space)与路网上的相应问题,但由于反向最远邻居问题不具有最近邻居问题所具有的本地性特点,这些解决方案难以应用在本发明所解决的问题上。
欧氏空间上的最远邻居问题由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};
步骤三:使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG);
步骤四:重复所述步骤三,直到获取到每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG)。
根据本发明的另一面,提供一种获取路网上复反向最远邻居的暴力搜索***,包括:
第一定义模块,用于对于给定路网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};
搜索模块,用于获取每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG),获取每一个查询点q的复反向最远邻居包括:使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG)。
与现有技术相比,本发明通过步骤一:对于给定路网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};步骤三:使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG);步骤四:重复所述步骤三,直到获取到每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG),能够在路网上快速搜索到查询点的单反向邻居。
附图说明
图1是本发明一实施例的复反向最远邻居问题(BRFN)示例。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
本发明提供一种获取路网上复反向最远邻居的暴力搜索方法,包括:
步骤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,使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG);具体的,作为代表性的最短路径算法,Dijkstra算法由E.W.Dijkstra在1959年提出,算法使用标记方法从源点开始,每次扩展距离已标记集合最近的点,从而求得到已知点的最短路径(可参见文献1);
步骤S4,重复所述步骤S3,直到获取到每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG)。具体的,本实施例中通过遍历每一个结点d∈VG来检查它是否是查询点q的反向最远邻居,以d为源点执行Dijkstra算法,如果在q被访问前Q中的所有结点均被访问,可以确定p∈BRFN(q,Q,VG)。
实施例二
本发明还提供另一种获取路网上复反向最远邻居的暴力搜索***,包括:
第一定义模块,用于对于给定路网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};
搜索模块,用于获取每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG),获取每一个查询点q的复反向最远邻居包括:使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG)。
本发明通过步骤一:对于给定路网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};步骤三:使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG);步骤四:重复所述步骤三,直到获取到每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG),能够在路网上快速搜索到查询点的单反向邻居。
实施例二的其它详细内容具体可参见实施例一,在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (2)
1.一种获取路网上复反向最远邻居的暴力搜索方法,其特征在于,包括:
步骤一:对于给定路网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};
步骤三:使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG);
步骤四:重复所述步骤三,直到获取到每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG)。
2.一种获取路网上复反向最远邻居的暴力搜索***,其特征在于,包括:
第一定义模块,用于对于给定路网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};
搜索模块,用于获取每一个查询点q的复反向最远邻居,即p∈BRFN(q,Q,VG),获取每一个查询点q的复反向最远邻居包括:使用Dijkstra算法以每一个d∈VG作为源点进行一次扩展,直到Q中的所有点被访问到为止,若q在Q中的所有点被全部遍历之前被访问到,则q并非d的最远邻居,从而d不属于q的反向最远邻居;若q在Q中的其他点被全部遍历之后仍未被访问到,则确定d为p,p∈BRFN(q,Q,VG)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310280245.XA CN103336827B (zh) | 2013-07-04 | 获取路网上复反向最远邻居的暴力搜索方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310280245.XA CN103336827B (zh) | 2013-07-04 | 获取路网上复反向最远邻居的暴力搜索方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103336827A true CN103336827A (zh) | 2013-10-02 |
CN103336827B CN103336827B (zh) | 2016-11-30 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156756A (zh) * | 2011-05-16 | 2011-08-17 | 复旦大学 | 一种基于图嵌入的在道路网络中查找最优路径的方法 |
CN102637227A (zh) * | 2012-03-29 | 2012-08-15 | 武汉大学 | 基于最短路径的土地资源评价因子作用域划分方法 |
CN103020130A (zh) * | 2012-11-20 | 2013-04-03 | 北京航空航天大学 | 一种面向城市路网的位置服务中支持区域的k最近邻查询方法 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156756A (zh) * | 2011-05-16 | 2011-08-17 | 复旦大学 | 一种基于图嵌入的在道路网络中查找最优路径的方法 |
CN102637227A (zh) * | 2012-03-29 | 2012-08-15 | 武汉大学 | 基于最短路径的土地资源评价因子作用域划分方法 |
CN103020130A (zh) * | 2012-11-20 | 2013-04-03 | 北京航空航天大学 | 一种面向城市路网的位置服务中支持区域的k最近邻查询方法 |
Non-Patent Citations (1)
Title |
---|
王宝文 等: "路网上的单色和双色反k最远邻查询", 《计算机工程与设计》, vol. 33, no. 8, 16 August 2012 (2012-08-16) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nutanong et al. | The v*-diagram: a query-dependent approach to moving knn queries | |
Xuan et al. | Voronoi-based multi-level range search in mobile navigation | |
CN106897374B (zh) | 一种基于轨迹大数据最近邻查询的个性化推荐方法 | |
CN103744934A (zh) | 一种基于位置敏感哈希的分布式索引方法 | |
Al-Khalidi et al. | Approximate algorithms for static and continuous range queries in mobile navigation | |
Nutanong et al. | Memory-efficient algorithms for spatial network queries | |
Zhou et al. | Efficient approaches to k representative g-skyline queries | |
CN103345509A (zh) | 获取路网上复反向最远邻居的层次分区树方法及*** | |
Sun et al. | On efficient aggregate nearest neighbor query processing in road networks | |
Yin et al. | Efficient trajectory compression and range query processing | |
CN104809210A (zh) | 一种基于分布式计算框架下海量数据加权top-k查询方法 | |
John et al. | Dynamic sorting and average skyline method for query processing in spatial-temporal data | |
CN103336827B (zh) | 获取路网上复反向最远邻居的暴力搜索方法及*** | |
CN103336827A (zh) | 获取路网上复反向最远邻居的暴力搜索方法及*** | |
CN103365984B (zh) | 获取路网上单反向最远邻居的地标方法及*** | |
Huang et al. | Processing continuous K-nearest skyline query with uncertainty in spatio-temporal databases | |
CN103324746B (zh) | 获取路网上复反向最远邻居的递进最远分区方法及*** | |
CN103336825A (zh) | 获取路网上单反向最远邻居的暴力搜索方法及*** | |
Ding et al. | Efficient k-dominant skyline query over incomplete data using MapReduce | |
Zeng et al. | Application of processing technology based on skyline query in computer network | |
Jiang et al. | Tree index nearest neighbor search of moving objects along a road network | |
Sasaki et al. | Sky R-tree: an index structure for distance-based top-k query | |
Xu | Trip similarity computation for context-aware travel recommendation exploiting geotagged photos | |
CN103365983A (zh) | 获取路网上单反向最远邻居的层次分区方法及*** | |
Ihm et al. | Grid‐PPPS: A Skyline Method for Efficiently Handling Top‐k Queries in Internet of Things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161130 Termination date: 20190704 |