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

一种最大双色反向最近邻查询方法技术

技术编号:8105753 阅读:398 留言:0更新日期:2012-12-21 04:33
本发明专利技术提供一种有效降低算法搜索空间、节省存储空间、效率高的最大双色反向最近邻查询方法。包括以下步骤:步骤1,为每个客户点,查找在服务点集中的最近邻,生成最近位置圆域;步骤2,对每个最近位置圆域,生成所有的相交弧,通过对圆周进行扫描,找到影响最大的弧;步骤3,返回影响值的最大值,以及覆盖该弧的最近位置圆域集合。步骤2具体包括以下步骤:步骤21,查找所有与当前最近位置圆域相交的最近位置圆域,并存储在集合L中;步骤22,对L中的每个最近位置圆域,计算与当前最近位置圆域的交点及其弧度值;步骤23,按交点的弧度值对交点进行排序;步骤24,扫描交点,根据交点是对应弧的起点或终点,更新影响值。

【技术实现步骤摘要】

本专利技术属于移动互联网领域,具体涉及空间数据库的查询领域。
技术介绍
近年来,随着无线通信、移动互联网、遥感技术的不断发展,以及iPhone等智能手机的普及,人们可以非常方便地获得自己的空间位置信息,基于空间数据的查询或搜索应用受到了广泛的重视,另一方面,由于手机等移动终端有限的运算和存储能力,又对空间数据的查询技术提出了更高的要求。反向最近邻是空间数据库中一种重要的查询操作。点的反向最近邻集可以理解为 该点的影响区域,基于反向最近邻查询,有很多重要应用,如资源分配、区位选择、市场定位 等等。反向最近邻包含单色和双色两种,所谓单色,指的是数据集由同一种类型的数据点组成,而所谓的双色,是指数据由两种不同的点组成,如服务点(Server Point)和客户点(Client Point)。对任一客户点作双色最近邻查询,就是查找离该客户最近的服务点。对任一服务点作双色反向最近邻查询,就是查找所有以该服务点为双色最近邻的客户点。月艮务点的双色反向最近邻集,可以理解为该点的影响范围。最大双色反向最近邻查询问题(MaximizingBichromatic Reverse NearestNeighbor,简称为MaxBRNN)是由香港科技大学Prof Raymond Wong等人在数据库领域的顶级学术会议VLDB2009上提出。该查询基于双色反向最近邻,目的是从空间数据库中查询最大的位置区域,使得在该区域中任意新增加的一个位置点都具有最大的反向最近邻集。目前较好的查询方法是MaxOverlap算法,它改进了 2005年S. Cabello等人提出的查询方法Arrangement算法,是MaxBRNN问题第一个多项式时间复杂度的算法。MaxOverlap算法主要以NLC (Nearest Location Circle)的交点作为候选集,通过检查这些交点求得最优位置区域。2011年,Zhou等人提出了基于概率模型的MaxBRNN问题。该模型假定每个客户可能访问k-最近邻的服务点,并假设访问第k近的服务点的概率是pk,其中;f P, = I,这与 /=!Raymond假定客户总是访问其最近的服务点是不同的。该方法是用一个四叉树索引整个空间,然后不断对空间进行四叉划分,直到找到最优区域。不过,Zhou假定当有一个新的商店建立在客户的第i个最近位置圆域内时,只对第i个最近位置圆域有影响,这与实际的生活的经验不太相符,另外,在实际应用中,难以设置用户访问k-最近邻的服务点的概率。与Zhou的不断对空间进行四叉划分的方法不同(实质是用一个不断缩小的网格来探测最优区域),2011年,Da Yan等人中提出了用固定网格来探测最优区域的方法,解决MaxBRNN问题。由于网格的大小是固定的,对于一个网格,可能有一部分属于某个最近位置圆域,另一部分不属于某个最近位置圆域。因此,用该网格来探测最优区域,可能会有误差,所以该方法只是一种近似算法。MaxBRNN查询应用例子。在一个城市里有许多的便利商店,由于便利店提供的商品和价格差异不会很大,顾客去便利店购物主要考虑的还是距离因素,所以一般会选择距离最近的商店。如果现在想新建一间便利店,希望它能吸引最多的顾客,应该把便利店建在哪里。如图I所示,在空间中分别有商店P和顾客O两类点集,假设每个顾客选择离他最近的商店购物。则对每间商店P e P,它吸引的顾客正是他的双色反向最近邻BRNN(P,P)。例如图1(a)中,pi的双色反向最近邻为ol,o2 03,即BRNN(pl,P) = {ol,o2,o3},这表示pi是离01,02,03这三位顾客最近的商店,因此01,02,03会选择到口1去购物。同理,p2的双色反向最近邻为04,05,即BRNN(p2, P) = {o4, o5},因此o4, o5会选择离他们最近的p2。现在假设要建一间新的商店p3。若p3建在图1(b)所示的位置,则p3建立后,BRNN(p3, P U p3) = {ol, o2, o3},说明p3会取代pi成为离ol, o2, o3最近的商店,从而吸引ol,o2,o3 来光顾。在图 1(c)中,BRNN(p3,P U p3) = {ol,o2,o3,o4,o5},说明 p3 将会吸引ol,o2,o3,o4,o5 这五位顾客。同样在图 1(d)中,有 BRNN(p3,P U p3) = {ol, o2, o3, o4, o5},所以P3同样会吸引这五位顾客。上面这个例子说明了,选择不同的区位建立新的商店,最终所吸引的顾客数目很 可能不一样。我们当然希望新建的商店能吸引尽可能多的顾客。注意到在图1(c),(d)中,虽然选择的区位不同,但最终吸引的顾客是一样的,可见最优的点并不是唯一的。MaxBRNN查询就是要找出一个最大的区域,使得在该区域里的任意一点建立新的商店,都能吸引最多的顾客。MaxBRNN问题定义,其实质是一个选址问题如何选择地点新建一个服务点能服务最多的客户。给定欧几里德空间D中的有两类不同点集,其中一类是服务点集(Serverpoint set)P,另一类是客户点集(Client point set)O0对每个客户点o e O,可以给它关联一个权重值W(O),表示该客户点的顾客数量(比如居民区的居民数等)。服务点P的双色反向最近邻BRNN(p,P)代表着服务点吸引的客户点集合。事实上,很多区域R都具有相同的双色反向最近邻集(吸引的客户完全相同),这样的区域我们称为一致区域,并记其吸引的客户点集合为BRNN-R(R)。定义I.区域R是一致的,若R满足对Vpl,p2eR且pl,p2 P,有BRNN(pl,P U {pl})=BRNN(p2, P U {p2})。但是,一致区域R是非常之多的,例如一致区域的任意子区域也是一致区域。于是考虑引入最大一致区域的概念,就是说若不存在真包含R的一致区域,那么R是最大一致区域。定义2.最大一致区域对于一致区域R,若不存在R’满足1.R R’ 2.BRNN-R(R) =BRNN-R(R’),则称区域R为最大一致区域。可以看出,一致区域R满足,Vp ER,BRNN-R(R) =BRNN(p,R U {p})。而最大一致区域则是由所有满足BRNN-R (R) =BRNN (p, R U {p})的点p组成。另外,为了方便表示一致区域对客户的吸引能力,我们引入影响值的概念。比如商店客户这个例子,某一致区域R的影响值就是在该处新建商店吸引的客户人数。定义3.影响值对于一致区域R,它的影响值为LeBR ra-R(J0w(Q)5g卩所吸引客户的权重之和,记为I(R)。所谓MaxBRNN问题,就是找到一个最大的区域,能吸引最多的客户。定义4. MaxBRNN问题给定服务和客户点集P和0,求出具有最大影响值的最大一致区域R。下面结合图2的例子对上述定义定义3加以说明。如图2 (a)所示,R1、R2、R3分别是三个不同的区域。在图2 (b)中,Rl是一个一致区域,因为对于任意一个在Rl中新建的服务点(譬如P3),都有相同的BRNN,因此BRNN-R(Rl) = {ol, o2, o3, o4, o5}。类似地,如图2 (c)所示,R2也是一个一致区域,因为任意一个建在R2中的新服务点(譬如本文档来自技高网...

【技术保护点】
一种最大双色反向最近邻查询方法,其特征是,包括以下步骤:步骤1,为每个客户点,查找在服务点集中的最近邻,生成最近位置圆域;步骤2,对每个最近位置圆域,生成所有的相交弧,通过对圆周进行扫描,找到影响最大的弧;步骤3,返回影响值的最大值,以及覆盖该弧的最近位置圆域集合。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘玉葆李志杰陈程陈梓潼
申请(专利权)人:中山大学
类型:发明
国别省市:

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

1