距离敏感大小可变化的最优范围位置查询的计算方法_2

文档序号:9288443阅读:来源:国知局
,r〇) + (1_a)area(r,r〇)
[0036] dist(r,rD) =rD.x-r.x| +1rD.y-r.y
[0037] area(r,rD) =r. 1 ?r.w-rD. 1 ?rD.w
[0038] 以上公式定义了距离代价dist(r,r。)和矩形变大代价sizearea(r,r。),其中a 是一个可变参数,表示对某个代价的倾向性。例如a为1时只关心距离代价,而a为〇时 只关心矩形变大的代价。一个任意的矩形,都会有这两个属性代价,而总代价cost即这两 个属性代价的和。那么任意一个矩形就能够有一个判别标准的优劣值score:
[0039]
[0040] 其中0和y是系统参数,为了归一化整个公式。
[0041] 那么查询就被简化成为求一个最优的矩形,使得这个矩形的优劣值score值是最 尚的。
[0042] 下面结合附图和具体实施例对本发明作进一步详细描述。
[0043] 本发明包含以下具体步骤:
[0044] 1)为整个数据集建立一个网格,整个数据集中以查询点为中心,以最大矩形沉为 网格单元的大小构造一个网格,直至所有数据点都被这个网格所包含,参阅图2,为一个构 建网格的例子,用\ ,来代表每个网格单元,其中r^就是查询点的位置,而且每个网格单元 大小都是沉。另外,以查询点为中心自然地将整个网格分为四个象限。由于四个象限的计 算方法相似且对称所以以下都以第一象限为例。
[0045] 2)对于每个网格单元需要做映射,来保证不缺失任何可能的候选情况。并且为了 能够方便地减枝一整个网格单元,还需要计算这个网格单元的score上限。参阅图3,其示 意的映射存在第一象限中(所有象限都是向查询点的反方向映射),其中,关注右上角网格 单元的映射,pl,p2会向此单元提供横线和权值,同样的p4会提供纵线和权值,而p3只会 为其提供一个权值。利用这些权值和这个网格单元本身拥有的权值,可以计算一个score 上限,所有权值之和减去最小的距离代价得到一个score上限,这个上限指的是如果矩形 的右上角落在这个网格单元内,那么顶多能达到的score最高值。利用它能对网格单元进 行初步的剪枝。
[0046] score^Ni j) = 0 E w (p) - A distmin
[0047] 3)对于没有被剪枝的网格单元,为其内部所有的数据点构造横纵线。那么再加上 之前映射的横纵线,每个网格单元就拥有了一个横线集合和一个纵线集合。
[0048] 4)每个网格单元中,横线集合与纵线集合会相交得到一个交叉点集。在这些交叉 点中,需要去除大量无用交叉点,在这些交叉点的任意一条交叉线上没有数据点,或者数据 点离交叉点的距离分别大于识长和宽,则这些交叉点是没有用的。
[0049] 5)为剩下的所有交叉点构造最大矩形辑,构造方式是以交叉点为矩形远角,在本 实施例中是右上角(第一象限是右上角,第二象限是左上角;即离查询点最远的那个角), 并且以最大矩形识为大小构建一个矩形r,参阅图4中黑实线矩形即为一个交叉点构造的 最大矩形。并且用Quad-tree索引查询得到被这个矩形r所覆盖到的数据点。这些数据点 为下一步的回缩提供依据。
[0050] 6)为了进一步得到更好的矩形,我们需要对矩形进行缩小,缩小的过程中,首先 far-corner不能移动,其次矩形的长宽比例必须保持不变,参阅图5,在矩形回缩中,在碰 到一个数据点之前矩形r所获的权值并不会变,但是由于离查询点距离和矩形大小在时刻 变化,score值也会不同,此时当cost为最小时,score值即为最大。用k来表不r. 1,则可 以用这个唯一的变量来代表cost公式如下:
[0051]
[0052] area(k) =(k?k?ratio)-(rD. 1 ?rD.w)
[0053] cost(k) =adist(k) + (1-a)area(k)
[0054] 再对cost求一阶导,结果如下:
[0055]
[0056] 使之等于0,于是得到一个最值,此时k为:
[0057]
[0058] 进一步计算cost的二阶导数是恒大于0的(当a = 〇时容易验证k取最小时 cost最小),于是上述得到的最值是最大值,又知k的浮动范围大小,就可以得到这一步内 的cost的最小值及score的最大值。将其与当前最好的score比较,留下比较好的那个。 在碰到一个数据点之前,这一步矩形的收缩就完成了。遇到下一个数据点后矩形 r所获的 权值会减去这个数据点的权值,并再次进行回缩。最后保留最优的score值及距离这个矩 形的位置和大小。
[0059] 7)所有网格单元计算完毕后,算法最后输出一个最优的,也就是score值最高的 矩形,包括其位置和大小。
【主权项】
1. 一种距离敏感大小可变化的最优范围位置查询的计算方法,其特征在于该方法包括 W下具体步骤: 1) 为整个数据集建立一个网格; 2)对每个网格单元映射,计算score上限; 3)对每个网格单元在上限不低于当前最优的情况下,为网格内所有的数据点构建横纵 线; 4)所有横行与纵线交叉得到一个交叉点集,并除去无用的交叉点; 5. W每个交叉点为矩形远角far-corner构造一个最大矩形巧,并且用范围查询找到 在运个矩形范围内的所有数据点; 6)使每个最大矩形戴慢慢回缩,回缩的同时计算优劣值score ; 7)计算完所有网格单元,输出最优矩形的位置及其大小;其中: 所述步骤1)中,网格W查询点为中屯、,并且网格单元大小为最大矩形奶; 所述步骤2)中,网格单元的映射是指每个网格的相邻且离查询点较近的=个网格要 为当前网格提供横线纵线W及权值;每个网格单元的score上限是权值之和,再减去最小 的代价得到的理论上限; 所述步骤4)中,除去无用的交叉点是指:在交叉点的任意一条交叉线上没有数据点或 者数据点离交叉点的距离分别大于费长和宽,则运些交叉点是没有用的,需去除; 所述步骤5)中,W交叉点为far-corner化巧为大小构建一个矩形,其范围查询是利 用如ad-tree来进行; 所述步骤6)中,矩形回缩时保证长宽比不变,far-corner固定。
【专利摘要】本发明公开了一种距离敏感大小可变化的最优范围位置查询的计算方法,该方法包括以下步骤:为数据构造网格,每个网格单元进行映射,并构建横纵线得到交叉点集,为所有有效的交叉点定位构造一个最大矩形,并使其慢慢回缩直至找到一个最优的矩形大小及其位置。本发明能够灵活、方便的查询最优位置放置问题;通过遍历所有可能的情况,利用分治法,剪枝法能够在较快的时间,得出一个正确的结果。
【IPC分类】G06F17/30
【公开号】CN105005609
【申请号】CN201510396850
【发明人】林欣, 罗序辉, 邱鑫, 周慧君, 王桢, 陈黎
【申请人】华东师范大学
【公开日】2015年10月28日
【申请日】2015年7月8日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1