CN102831162A - 一种最大双色反向最近邻查询方法 - Google Patents
一种最大双色反向最近邻查询方法 Download PDFInfo
- Publication number
- CN102831162A CN102831162A CN 201210250180 CN201210250180A CN102831162A CN 102831162 A CN102831162 A CN 102831162A CN 201210250180 CN201210250180 CN 201210250180 CN 201210250180 A CN201210250180 A CN 201210250180A CN 102831162 A CN102831162 A CN 102831162A
- Authority
- CN
- China
- Prior art keywords
- maximum
- point
- neighbor
- arest neighbors
- proximal
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 claims description 33
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000012467 final product Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 1
- 244000187801 Carpobrotus edulis Species 0.000 description 1
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000000088 lip Anatomy 0.000 description 1
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种有效降低算法搜索空间、节省存储空间、效率高的最大双色反向最近邻查询方法。包括以下步骤:步骤1,为每个客户点,查找在服务点集中的最近邻,生成最近位置圆域;步骤2,对每个最近位置圆域,生成所有的相交弧,通过对圆周进行扫描,找到影响最大的弧;步骤3,返回影响值的最大值,以及覆盖该弧的最近位置圆域集合。步骤2具体包括以下步骤:步骤21,查找所有与当前最近位置圆域相交的最近位置圆域,并存储在集合L中;步骤22,对L中的每个最近位置圆域,计算与当前最近位置圆域的交点及其弧度值;步骤23,按交点的弧度值对交点进行排序;步骤24,扫描交点,根据交点是对应弧的起点或终点,更新影响值。
Description
技术领域
本发明属于移动互联网领域,具体涉及空间数据库的查询领域。
背景技术
近年来,随着无线通信、移动互联网、遥感技术的不断发展,以及iPhone等智能手机的普及,人们可以非常方便地获得自己的空间位置信息,基于空间数据的查询或搜索应用受到了广泛的重视,另一方面,由于手机等移动终端有限的运算和存储能力,又对空间数据的查询技术提出了更高的要求。
反向最近邻是空间数据库中一种重要的查询操作。点的反向最近邻集可以理解为该点的影响区域,基于反向最近邻查询,有很多重要应用,如资源分配、区位选择、市场定位等等。反向最近邻包含单色和双色两种,所谓单色,指的是数据集由同一种类型的数据点组成,而所谓的双色,是指数据由两种不同的点组成,如服务点(Server Point)和客户点(Client Point)。对任一客户点作双色最近邻查询,就是查找离该客户最近的服务点。对任一服务点作双色反向最近邻查询,就是查找所有以该服务点为双色最近邻的客户点。服务点的双色反向最近邻集,可以理解为该点的影响范围。
最大双色反向最近邻查询问题(Maximizing Bichromatic Reverse Nearest Neighbor,简称为MaxBRNN)是由香港科技大学Prof Raymond Wong等人在数据库领域的顶级学术会议VLDB2009上提出。该查询基于双色反向最近邻,目的是从空间数据库中查询最大的位置区域,使得在该区域中任意新增加的一个位置点都具有最大的反向最近邻集。目前较好的查询方法是MaxOverlap算法,它改进了2005年S.Cabello等人提出的查询方法Arrangement算法,是MaxBRNN问题第一个多项式时间复杂度的算法。MaxOverlap算法主要以NLC(Nearest Location Circle)的交点作为候选集,通过检查这些交点求得最优位置区域。
2011年,Zhou等人提出了基于概率模型的MaxBRNN问题。该模型假定每个客户可能访问k-最近邻的服务点,并假设访问第k近的服务点的概率是pk,其中这与Raymond假定客户总是访问其最近的服务点是不同的。该方法是用一个四叉树索引整个空间,然后不断对空间进行四叉划分,直到找到最优区域。不过,Zhou假定当有一个新的商店建立在客户的第i个最近位置圆域内时,只对第i个最近位置圆域有影响,这与实际的生活的经验不太相符,另外,在实际应用中,难以设置用户访问k-最近邻的服务点的概率。
与Zhou的不断对空间进行四叉划分的方法不同(实质是用一个不断缩小的网格来探测最优区域),2011年,Da Yan等人中提出了用固定网格来探测最优区域的方法,解决MaxBRNN问题。由于网格的大小是固定的,对于一个网格,可能有一部分属于某个最近位置圆域,另一部分不属于某个最近位置圆域。因此,用该网格来探测最优区域,可能会有误差,所以该方法只是一种近似算法。
MaxBRNN查询应用例子。在一个城市里有许多的便利商店,由于便利店提供的商品和价格差异不会很大,顾客去便利店购物主要考虑的还是距离因素,所以一般会选择距离最近的商店。如果现在想新建一间便利店,希望它能吸引最多的顾客,应该把便利店建在哪里。
如图1所示,在空间中分别有商店P和顾客O两类点集,假设每个顾客选择离他最近的商店购物。则对每间商店p∈P,它吸引的顾客正是他的双色反向最近邻BRNN(p,P)。例如图1(a)中,p1的双色反向最近邻为o1,o2 o3,即BRNN(p1,P)={o1,o2,o3},这表示p1是离o1,o2,o3这三位顾客最近的商店,因此o1,o2,o3会选择到p1去购物。同理,p2的双色反向最近邻为o4,o5,即BRNN(p2,P)={o4,o5},因此o4,o5会选择离他们最近的p2。
现在假设要建一间新的商店p3。若p3建在图1(b)所示的位置,则p3建立后,BRNN(p3,P∪p3)={o1,o2,o3},说明p3会取代p1成为离o1,o2,o3最近的商店,从而吸引o1,o2,o3来光顾。在图1(c)中,BRNN(p3,P∪p3)={o1,o2,o3,o4,o5},说明p3将会吸引o1,o2,o3,o4,o5这五位顾客。同样在图1(d)中,有BRNN(p3,P∪p3)={o1,o2,o3,o4,o5},所以p3同样会吸引这五位顾客。
上面这个例子说明了,选择不同的区位建立新的商店,最终所吸引的顾客数目很可能不一样。我们当然希望新建的商店能吸引尽可能多的顾客。注意到在图1(c),(d)中,虽然选择的区位不同,但最终吸引的顾客是一样的,可见最优的点并不是唯一的。MaxBRNN查询就是要找出一个最大的区域,使得在该区域里的任意一点建立新的商店,都能吸引最多的顾客。
MaxBRNN问题定义,其实质是一个选址问题:如何选择地点新建一个服务点能服务最多的客户。给定欧几里德空间D中的有两类不同点集,其中一类是服务点集(Serverpoint set)P,另一类是客户点集(Client point set)O。对每个客户点o∈O,可以给它关联一个权重值w(o),表示该客户点的顾客数量(比如居民区的居民数等)。服务点p的双色反向最近邻BRNN(p,P)代表着服务点吸引的客户点集合。事实上,很多区域R都具有相同的双色反向最近邻集(吸引的客户完全相同),这样的区域我们称为一致区域,并记其吸引的客户点集合为BRNN-R(R)。
但是,一致区域R是非常之多的,例如一致区域的任意子区域也是一致区域。于是考虑引入最大一致区域的概念,就是说若不存在真包含R的一致区域,那么R是最大一致区域。
定义2.最大一致区域:对于一致区域R,若不存在R’满足:1.R R’2.BRNN-R(R)=BRNN-R(R’),则称区域R为最大一致区域。
可以看出,一致区域R满足,BRNN-R(R)=BRNN(p,R∪{p})。而最大一致区域则是由所有满足BRNN-R(R)=BRNN(p,R∪{p})的点p组成。
另外,为了方便表示一致区域对客户的吸引能力,我们引入影响值的概念。比如商店客户这个例子,某一致区域R的影响值就是在该处新建商店吸引的客户人数。
所谓MaxBRNN问题,就是找到一个最大的区域,能吸引最多的客户。
定义4.MaxBRNN问题:给定服务和客户点集P和O,求出具有最大影响值的最大一致区域R。
下面结合图2的例子对上述定义定义3加以说明。如图2(a)所示,R1、R2、R3分别是三个不同的区域。在图2(b)中,R1是一个一致区域,因为对于任意一个在R1中新建的服务点(譬如p3),都有相同的BRNN,因此BRNN-R(R1)={o1,o2,o3,o4,o5}。类似地,如图2(c)所示,R2也是一个一致区域,因为任意一个建在R2中的新服务点(譬如p4),,都具有相同的BRNN,即BRNN-R(R2)={o1,o2,o3,o4,o5}。但R1不是一个最大一致区域,因为存在R2,使得且BRNN-R(R2)=BRNN-R(R1)。R2是一个最大一致区域,因为不存在其它的一致区域R’,使得且BRNN-R(R’)=BRNN-R(R1)。如图2(b),(d)所示,R3不是一个一致区域,因为R3中存在两个点p3,p5,其中p3的双色反向最近邻为BRNN(p3,P∪{p3})={o1,o2,o3,o4,o5},而p5的双色反向最近邻为BRNN(p5,P∪{p5}={o1,o2,o3}。
定义5.最近位置圆域,即NLC(Nearest Location Circle):对于任一客户点o∈O,设离它最近的服务点为p,则以o为圆心,dist(o,p)(o,p的距离)为半径的圆,称为o的NLC。以oi为圆心所建的NLC圆ci与oi具有相同的权值。
在已有的MaxOverlap算法,Prof Raymond Wong等人已经证明如下定理:MaxBRNN问题所求的最优区域,是若干NLC的交集,并可由这些NLC表示出来。
因此,MaxOverlap算法主要思想就是查找相交NLC圆。
我们在实验中发现,如果客户和服务集的大小分别为|O|=180K,|P|=360K时,相交的NLC的个数约等于2000时,作为目前最有效的最大双色反向最近邻查询方法MaxOverlap算法(多项式时间复杂度)运行时间为1个多小时(约4500秒),并需要一百多兆的内存开销。这是很难满足诸多应急管理应用的。比如,在地震管理应用中,我们常常需要快速地处理MaxBRNN查询,以便更快地设置地震救助中心,从而更快开展救助工作。另一方面,在很多的移动应用中,我们常常只有有限的内存空间和运算能力去处理MaxBRNN查询。
发明内容
本发明提供一种有效降低算法搜索空间、节省存储空间、效率高的最大双色反向最近邻查询方法。
为解决上述技术问题,本发明提供一种最大双色反向最近邻查询方法,包括以下步骤:步骤1,为每个客户点,查找在服务点集中的最近邻,生成最近位置圆域;步骤2,对每个最近位置圆域,生成所有的相交弧,通过对圆周进行扫描,找到影响最大的弧;步骤3,返回影响值的最大值,以及覆盖该弧的最近位置圆域集合。步骤2具体包括以下步骤:步骤21,查找所有与当前最近位置圆域相交的最近位置圆域,并存储在集合L中;步骤22,对L中的每个最近位置圆域,计算与当前最近位置圆域的交点及其弧度值;步骤23,按交点的弧度值对交点进行排序;步骤24,扫描交点,根据交点是对应弧的起点或终点,更新影响值。
我们提出的MaxSegment算法基于相交弧的思想,通过把二维的NLC交点搜索问题转化归为一维的圆弧线段的扫描问题,从而可以大大减少了算法搜索空间和存储空间。
首先,我们把同一圆周上的点用极角弧度值表示,直接降了一维。用记号θi(q)用表示q点在圆ci中的极角。
下面结合图3加以解释。在图3(a)中,以ci的圆心为极点,以o1x方向为极轴,建立极坐标。o1q1与o1x所成极角为60°,即θ1(q1)=60°。同理,q2的极角为340°,即θ1(q2)=340°。在图3(b)中,以c2的圆心为极点,o2x方向为极轴,建立极坐标,则q1的极角为150°,θ2(q1)=150°。同理,q2的极角为250°,θ2(q2)=250°。
然后我们对相交弧进行标准化:1、弧的端点用极角表示;2、按逆时针方向,弧的第一个端点称为起点(head),第二个端点称为终点(tail),将弧转化为弧度区间;3、将跨越360°的划分为两个区间,如:(330°,30°)划分为(330°,360°)和(0°,30°)。
通过以上的技术处理,我们把两维平面上的圆弧,映射到一维[0,360]的实数空间中。
接下来,我们定义弧的影响值,并引入相交弧的概念。
定义6.给定一段弧e,弧e的影响值是包含e的所有NLC权重之和,记为I(e)。
定义7.给定c1和c2两个相交的NLC,我们称c2截c1的弧是c1上的一段相交(Intersection arc)。
我们提出的MaxSegment算法可以处理如下几种扩展:
(1)MaxBRkNN问题。在原来的MaxBRNN问题中,我们假定客户去最近的服务点。有实际应用当中,有时并不满足这个假设。如k-NN问题类似,MaxBRkNN引入了参数k,假定客户选择到第k近的服务点。因此,MaxBRkNN问题,就是希望找出最大的一致区域,使得在该区域中建立的新服务点的k-BRNN集具有最大影响值。在我们的MaxSegment算法中,只要把原来以客户点o到最近邻的距离建立NLC,改为以o的k最近邻为半径建立NLC,就可能通过相同的办法,找到MaxBRkNN问题的最优区域。
(2)Top-t MaxBRNN问题。在原来的MaxBRNN中,要返回的是一个具有最大影响力的最大一致区域。而在Top-t MaxBRNN中,引入了参数t,表示要返回影响力最大的前t个最大一致区域。在我们提出的MaxSegment算法中,我们可以用一个优先队列保存已查询到的最大t个区域。
(3)Top-t MaxBRkNN问题。Top-t MaxBRkNN是以上两个问题的组合。问题目的是找出t个最大一致区域,使得在该区域中建立的服务点,其BRkNN集的影响值是前t大的。
(4)Lp-norm空间扩展。
MaxBRNN问题最初提出时,是基于二维平面中的欧氏距离,即L2-norm空间。虽然这是我们平常使用得最广泛的距离空间,但在有些情况下,我们会对其它的Lp-norm空间感兴趣,如曼哈顿距离(L1-norm),切比雪夫距离(L∞-norm)等。
事实上,我们提出的MaxSegment可以适用于任意的闵可夫斯基空间中(Lp-normspace)。在距离空间D中,给定两个点q1=(x1,x2,…xn),q2=(y1,y2…yn),闵可夫斯基空间定义了两个点距离函数为当p分别取1,2,∞时,分别为曼哈曼哈顿距离,欧氏距离和切比雪夫距离。
在我们原来欧氏空间的问题上,MaxSegment算法对最优区域的查找依赖于NLC的概念。在其它的Lp-norm空间里,我们把NLC的概念作类似的推广,称为NLR(NearestLocation Region)。在原来欧氏空间中的MaxBRNN问题,因此两个NLC最多只有两个交点,我们提出了用这两个交点表示出相交弧,然后对NLC圆周进行一次线性扫描,通过依次访问这些交点,不断更新当前的影响值,最终找到最优区域。但在任意Lp空间中,两个NLR可能有多个,甚至无数个交点(如两个矩形的边重合了),如果还是通过依次访问这些交点来查找最优区域,计算量将会变得非常巨大。我们提出的方法是,虽然两个NLR可能有无穷的交点,但可以从中取出两个作为顶点。对NLR边界进行扫描时,只访问这些顶点即可。
下面,我们给出NLR的定义:
定义8NLR(Nearest Location Region):对于任一客户点o∈O,设离它最近的服务点为p,则以o为圆心,所有到o距离小于dist(o,p)的点,组成了o的NLR,用r表示,r和o具有相同的权重值。
定理1:对给定的距离空间D,MaxBRNN所求的最优区域,必定是其中若干个NLR的交集,可由这些NLR表示出来。
虽然两个NLR相交时,可能会有多个甚至无穷多个交点,但仍然可以只用其中两个交点,就可以唯一表示出两个NLR的相交边界。接下来,图4展示了如何把顶点,用一个实数表示。方法仍然和欧氏距离时类似,以客户点o为极点,建立极坐标,用顶点的极角表示该顶点。虽然在任意的Lp-norm空间中,不能保证NLR边上的点的极轴相等,但因为NLR都是星图(Star-shaped polygon),在同一个方向上,只有一个边界点,所以这种表示法仍然是唯一的。因此,我们可以重用类似的方法,解决Lp-norm空间下的MaxBRNN问题。
与现有最优技术MaxOverlap相比,MaxSegment算法创新之处在于,把最优区域的查找转化为对NLC圆周的扫描,只要对每个NLC的圆周扫描一次,就能找到最优区域,大大降低要搜索的空间。
算法 | 时间复杂度 | 空间复杂度 |
MaxOverlap | O(|O|*log|P|+m*|O|*log|O|+|O|*m2) | O(Rp+m|O|) |
MaxSegment | O(|O|*log|P|+|O|*log|O|+|O|*m*logm) | O(Rp+m) |
其中,|O|、|P|表示客户集和服务集的大小,m表示相交的NLC的最大个数,Rp表示R*-tree的大小。
可见,我们提出的MaxSegment算法在时间和空间复杂度上都要比MaxOverlap算法好。算法对比试验结果也证实了这点。
附图说明
图1是MaxBRNN应用的示意图;
图2是最大一致区域示意图;
图3是NLC圆周上的极角表示示意图;
图4是L1下顶点的极角表示示意图;
图5是MaxSegment算法示意图;
图6是数据集大小对算法的影响示意图;
图7是参数K对算法的影响示意图;
图8是参数K对(CA-GM)的影响示意图;
图9是参数t对(CA-GM)的影响示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步地详细说明。
我们基于相交弧提出的MaxSegment算法主要包括以下三个步骤:
步骤1:为每个客户点o∈O,查找在P中的最近邻,生成NLC;
步骤2:对每个NLC,生成所有的相交弧,通过对圆周进行扫描,找到影响值最大的弧。具体来说,有如下四小步:
2.1:查找所有与当前NLC相交NLC的储存在L中;
2.2:对L中的每个NLC,计算与当前NLC的交点,标记交点(起点/终点);
2.3:对交点进行排序;
2.4:扫描交点,根据交点的标记,更新影响值。
步骤3:返回影响值的最大值,以及覆盖该弧的NLCs集
下面通过一个例子,进一步解释MaxSegment算法的过程。
给定数据集O={o1,o2,o3,o4,o5,o6},P={p1,p2,p3,p4,p5,p6},如图5(a)所示。假设所有的客户权重等于1。根据MaxSegment算法描述,首先对6个客户点,查询其最近邻,生成六个权值为1的NLCs即c1,c2,c3,c4,c5,c6,结果如图5(b)所示。由于所有NLC权值都相等,随机选取c1进行初始化MaxInf=w(c1)=1,MaxS={c1}。
然后,查找与c1相交的所有NLCs,并储存在L中,此时L={c2,c3,c4}。然后计算c1与它们的相交弧,分别为e1=(310°,70°),e2=(140°,200°),e3=(230°,350°)。其中e1的起点大于终点,把它分成两段子弧e11=(0°,70°),e12(310°,360°)。所有的这些交点都储存在Q中。然后我们对Q进行排序,排序后的Q={0°,70°,140°,200°,230°,310°,350°,360°}。在线性扫描开始前,我们先初始化Inf=w(c1),S={c1}。然后,我们按顺序访问Q中的交点,更新影响值Inf和交集S,这是按0°到360°扫描圆周的过程。首先访问的是0°,它是e11的起点,更新Inf=2,S={c1,c2}。然后是70°,它是e11的终点,更新Inf=1,S={c1}。如此下去,最终在访问310°时,我们更新Inf=Inf+1=3,S={c1,c2,c3},找到c1上的最优弧。对c1的扫描过程中,Inf值的变化如图5(c)所示。
接着,我们对c2进行类似的扫描,也在c2中找到其最优弧,结果也是Inf=3,S={c1,c2,c3}。最终,算法对所有的NLC都进行扫描,并找到了全局的最优解,其影响值Inf=3,由S={c1,c2,c3}相交而成,这就是MaxBRNN问题中要查找的最优区域。
下面我们在看一个实际的例子。
我们分别使用CA,LB,GR和GM四组数据集,分别在California,LongBeach Country,Greece和Germany中,道路、河流节点的地理位置。表1给出了数据集的大小。原始的数据中,有一些是数据是矩形,我们以它的中点取代。所有数据的坐标值,我们都标准化到[0,10000]。由于实验要用到P和O集,我们对数据作了组合,最终得到四组数据:(P,O)=(CA,GR),(LB,GR),(CA,GM)和(LB,GM)。
表1.真实数据的大小
Dataset | CA | LB | GR | GM |
Cardinality | 62556 | 53145 | 23268 | 36334 |
对于生成数据,所有数据点的坐标都在[0,10000]的范围内。其中,P中的点服从均值为5000,标准差为2500的Gaussian分布。O中的点服从Zipfian分布,倾斜系数设为0.8。每个点的生成过程都可以看作是相互独立的事件。
表2.生成数据的默认大小
Dataset | O | P |
Default value | 50K | 100K |
在真实和生成数据中,客户点的权值,我们分别作了两种实验:权值都为1和权值可以是任意正数。由于在两种情况下,实验测试的结果很类似。在这里,我们只列出了权值为1的实验结果。前面我们提出了MaxBRNN的几种扩展,其中Top-t MaxBRkNN比是MaxBRNN,MaxBRkNN,Top-tMaxBRNN更一般的形式。其中参数k是指要最大化新建服务点的kBRNN集,参数t是指要找出最优的前t个区域。我们实验直接对Top-t MaxBRkNN问题进行测试,并考察了参数k,t对算法运行效果的影。
测试结果如图6和图7所示。图6(a)和图6(b)展示了生成数据集在|O|由20K到180K变化,|P|=2|O|时,算法运行效果。图6(a)显示,随着数据点的增多,两个算法的运行时间都增长。但在所有情况下,MaxSegment算法都比MaxOverlap要快。其中,当数据大小为180K时,MaxOverlap的运行时间为4500秒,MaxSegment算法的运行时间是70秒,比MaxOverlap要快60多倍。MaxOverlap和MaxSegment算法都要用到R*-tree树作为空间索引。除此之外,MaxOverlap算法还需要保存一个overlap table,其空间花费为O(m*|O|)。MaxSegment需要在扫描每个NLC的过程中,用一列表保存NLC的交点。由于对该NLC扫描完后,下次迭代可以重用该列表,所以空间花费只用O(m)。其中m是NLC的最大可能相交数目。图6(b)显示,MaxSegment算法所需的内存空间比MaxOverlap要少。
如图7(a)所示,MaxSegment和MaxOverlap算法的运行时间都随着k的增加而增加。这是因为,k的增加会使得NLC的半径增加,从而会有更多的NLC相交,使得算法时间复杂度中的m变大。但图7(a)也表明,MaxSegment算法对k的敏感度比MaxOverlap要小得多。当k由1增加到15时,MaxSegment的运行时间增加了不到10倍,而MaxOverlap的运行时间增加了近100倍。因此,MaxSegment算法对k有更好的可扩展的性。图7(b)表明,k的变化对MaxSegment算法的内存花费几时没影响,这是因为MaxSegment内存的主要开销是R*树,而k的大小与R*树是无关的。而MaxOverlap算法的内存消耗则随着k的增大而增大。这是因为,k的增加令到更多的NLC相交,而MaxOverlap保存一个记录NLC相交的overlap table。实验结果表明,MaxSegment算法对参数k的支持要比MaxOverlap好很多。
我们同样做了t从1,5,10和15变化时,两个算法的运行测试。结果表明,两个算法的运行时间和空间都几乎没有变化。这是因为算法对参数t的支持实现很简单,只需要增加一个队列保存最好的t个结果即可。
我们分别对前面绍介过的四组真实数据CA-GR,LB-GR,CA-GM和LB-GM进行了实验测试。实验结果与生成数据比较类似。图8和图9分别列出了在CA-GR这组数据中,k和t的变化效果。另外我们还在在CA-GR这组数据中,测试了k和t的变化,效果一致。
对于Lp-norm空间,我们选取了比较有代表性的L1作为测试,其实验结果和结论与欧氏空间是相似的,MaxSegment算法在时间和空间上,都比MaxOverlap算法有更好的表现。
以上所述仅为本发明的一个实例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种最大双色反向最近邻查询方法,其特征是,包括以下步骤:步骤1,为每个客户点,查找在服务点集中的最近邻,生成最近位置圆域;步骤2,对每个最近位置圆域,生成所有的相交弧,通过对圆周进行扫描,找到影响最大的弧;步骤3,返回影响值的最大值,以及覆盖该弧的最近位置圆域集合。
2.根据权利要求1所述的最大双色反向最近邻查询方法,其特征是,步骤2具体包括以下步骤:步骤21,查找所有与当前最近位置圆域相交的最近位置圆域,并存储在集合L中;步骤22,对L中的每个最近位置圆域,计算与当前最近位置圆域的交点及其弧度值;步骤23,按交点的弧度值对交点进行排序;步骤24,扫描交点,根据交点是对应弧的起点或终点,更新影响值。
3.根据权利要求1所述的最大双色反向最近邻查询方法,其特征是,所述查询方法应用于客户选择第k近的服务点,其中k为大于1的自然数。
4.根据权利要求1所述的最大双色反向最近邻查询方法,其特征是,所述查询方法应用于找出影响力最大的前t个最大一致区域,其中t为大于1的自然数。
5.根据权利要求1-4任一项所述的最大双色反向最近邻查询方法,其特征是,所述查询方法适用于闵可夫斯基空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210250180.XA CN102831162B (zh) | 2012-07-18 | 2012-07-18 | 一种最大双色反向最近邻查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210250180.XA CN102831162B (zh) | 2012-07-18 | 2012-07-18 | 一种最大双色反向最近邻查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102831162A true CN102831162A (zh) | 2012-12-19 |
CN102831162B CN102831162B (zh) | 2015-08-26 |
Family
ID=47334299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210250180.XA Active CN102831162B (zh) | 2012-07-18 | 2012-07-18 | 一种最大双色反向最近邻查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831162B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205574A (zh) * | 2016-12-20 | 2018-06-26 | 中国移动通信集团公司 | 一种实体渠道的业务覆盖范围的确定方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541922B (zh) * | 2010-12-24 | 2015-09-16 | 华东师范大学 | 一种基于不确定数据集的双色反最邻近查询的方法及装置 |
CN102253961A (zh) * | 2011-05-17 | 2011-11-23 | 复旦大学 | 基于Voronoi图的路网k聚集最近邻居节点查询方法 |
-
2012
- 2012-07-18 CN CN201210250180.XA patent/CN102831162B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205574A (zh) * | 2016-12-20 | 2018-06-26 | 中国移动通信集团公司 | 一种实体渠道的业务覆盖范围的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102831162B (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Batty et al. | The automatic definition and generation of axial lines and axial maps | |
US10034141B2 (en) | Systems and methods to identify home addresses of mobile devices | |
CN103810194A (zh) | 一种地理编码方法、位置查询系统及方法 | |
US10275403B2 (en) | Efficient database searching | |
CN103383682A (zh) | 一种地理编码方法、位置查询系统及方法 | |
CN107092623B (zh) | 一种兴趣点查询方法及装置 | |
CN105243114A (zh) | 一种选址分析方法及装置 | |
AU2020203554B2 (en) | Application of data structures to geo-fencing applications | |
Armenatzoglou et al. | Geo-social ranking: functions and query processing | |
CN110428386B (zh) | 地图网格合并方法、装置、存储介质、电子装置 | |
Demiryurek et al. | Indexing network voronoi diagrams | |
CN107169372A (zh) | 基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法 | |
US20220027427A1 (en) | Business searching methods and apparatuses, electronic devices and storage media | |
CN106488401B (zh) | 生成无缝相邻的地理围栏的方法及装置 | |
Verma et al. | A greedy approach for coverage hole detection and restoration in wireless sensor networks | |
CN103559209A (zh) | 一种Voronoi Diagram与虚拟网格结合的高效空间最近邻查询方法 | |
Ai et al. | A map generalization model based on algebra mapping transformation | |
Lin et al. | Privacy preserving reverse nearest-neighbor queries processing on road network | |
CN102831162A (zh) | 一种最大双色反向最近邻查询方法 | |
Arefin et al. | A Spatial Skyline Query for a Group of Users. | |
Li et al. | Fog-based pub/sub index with Boolean expressions in the internet of industrial vehicles | |
Liu et al. | A voronoi-based group reverse k farthest neighbor query method in the obstacle space | |
Li et al. | MapReduce-based computation of area skyline query for selecting good locations in a map | |
Um et al. | k-Nearest neighbor query processing algorithm for cloaking regions towards user privacy protection in location-based services | |
Huang et al. | EAR-Oracle: on efficient indexing for distance queries between arbitrary points on terrain surface |
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 |