Top Banner
Superseding Nearest Neighbor Search on Uncertain Spatial Da tabases 何何何
27

Superseding Nearest Neighbor Search on Uncertain Spatial Databases

Feb 01, 2016

Download

Documents

dasan

Superseding Nearest Neighbor Search on Uncertain Spatial Databases. 何翊宇. Abstract :. 这篇论文提出一个新的论题,叫做 superseding nearest neighbor search . - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

Superseding Nearest Neighbor Search on Uncertain Spatial Da

tabases

何翊宇

Page 2: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

Abstract :• 这篇论文提出一个新的论题,叫做 superseding n

earest neighbor search.• 在不确定性数据集中,每一个事件都是用一个多

维的概率密度函数描述的。给定一个查询点 q ,一个 object 如果有非 0 的概率是 q 的 NN ,则这个 object 就是 q 的一个 NN 候选者。给定两个 NN 候选者 o1 和 o2 ,如果 o1 比 o2 点靠近 q 的概率大,则 o1 点取代 o2 点。一个 object 如果可以取代所有其他的 NN 候选者,它就是 q 的一个SNN 。有时候我们不能找到一个 NN 可以替代其他所有的 NN 候选者,在这种情况下,我们返回SNN—core ,包含了所有能够替代其他 NN 候选者的最小集合。

Page 3: Superseding Nearest Neighbor Search on Uncertain Spatial Databases
Page 4: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

NN search on precise data : 此处用到的方法叫 best-first(BF)-algorithm 。图中有 9 个

点, q 点是查询点,剩下还有 8 个点 A~H 是数据集。我们用面积最小的矩形将每两个点包围住。然后将矩形和 q点到这些矩形的距离记录到 R-tree 中。然后我们可以根据此求出这些点到 q 的距离。

A~H 按距离的排序: C,E,B,D,G,A,F,H

Page 5: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

BF 算法:

• BF 算法用到了一个 min-heap H 。H = {N5,N6}

H={N2,N6,N1}H={C,N6,N1,D}

C 就是要求的 Nearest Neighbor 。

Page 6: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

BF 算法:

BF 算法继续进行下去,将会把所有的点按照同 q 点的距离升序输出。

继续上图:H={N1,N6,D}H={N3,N1,D,N4}H={E,N1,D,N4,F}

此时就求得了第二近的点 E 。

Page 7: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

BF 算法疑问!

BF 算法如果再继续进行下去(论文没有写了)继续上页: H={N1,D,N4,F} H={B,D,N4,F,A}B 、 D 是第三个和第四个。 H={N4,F,A} H={G,F,A,H}得到最终结果为 C,E,B,D,G,F,A,H而从图中可以看出结果应该为 C,E,B,D,G,A,F,H

Page 8: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

NN Search on Uncertain Data :

定义: O . pdf ( x ) 是 o 出现在 x 点的概率。

• Expected-distance Principle: 求得距离到 q 点的期望值最小的点。(可能会有极端情况出现)

• PR-principle :求得成为 NN 的概率最大的点。

PR-principle 可以看做是在求解 top-1 。 PR-principle 和 SNN 互补。 PR-principle 求出 NN 点,而SNN 求出一个最佳 NN 候选者的集合 SNN-core 。

Page 9: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

两种 uncertain data :• 这两种算法(还有这篇论文的 SNN 算法)

都是求的第一种 uncertain data :数据确定,出现地点不确定。

• 除此之外还有一种不同的 uncertain data :数据不确定是否出现,但是一旦出现地点确定。

Page 10: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

问题描述及基础特性:

• maxdist 是 o 点到 q 点所有实例中最远的那个距离

• Minmax 是 Data 中所有的 object 的 maxdist 中最小的那个

Page 11: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

问题描述及基础特性:

• 如果 O 有任意一个实例小于 minmax , 说明当其他点都取 maxdist 的时候, O 将成为 NN ,所以 O 是 NN 候选者。

• 所以以 minmax 为半径, q 点为圆心做一个圆,在圆内部有实例的 object 就是 NN候选者,没有的就不是。

• RI-list 是所有 NN 候选者的实例按距离排序的一个集合。

• O<O’ 的定义: o 比 o’ 离 p 近 .

Page 12: Superseding Nearest Neighbor Search on Uncertain Spatial Databases
Page 13: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

问题描述及基础特性:

• O 出现在 O[i] 时比 O’ 更接近 p 的概率 , 可以看做是 O’ 的实例在 RI-list 内排在 O[i] 后面的概率。 O 取代 O’ 则有边从 O 指向 O’ 。

• 取代关系可以用图形来表示。(如前例)• SNN-core 的决定条件:SNN-core 内每一点都能够取代 SNN-core 以

外的点其真子集不能成为 SNN-core

Page 14: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

the full-graph approach :

• 先计算得出 superseding graph, 然后推算出 SNN-core 。(要将所有的 Object 画出来)

• First step : 通过 minmax 判定 NN 候选者。然后将每一个 NN 候选者的实

例选出来。用 BF 算法实现。(本质上是求得 RI-list )• Second step : 将其表示到 superseding graph ,再确定 SNN ,方法如下: 在 superseding graph 中,有最少的 in-degre

e 的点是 SNN-core 。所有能取代 SNN-core成员的点属于 SNN-core 。(可以反证法证明)

Page 15: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

The Pipeline Approach :

• Full-graph 算法是一种低效的算法,因为它必须要遍历所有 NN 候选者的所有的实例,而在某些特定的情况下,这样会导致效率很低。如图。因此我们需要找到一个更加高效的方法。

Page 16: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

The Pipeline Approach :Pipeline 算法要管理一个集合 G* (与 SNN-core 关联):• 先将一个 unseen 点加入到 G* 中。然后从 RI-list 中从前往

后取。将取到的点 O 加入到 G* 中(符合以下条件: 1 、O 以前不在 G* 中。 2 、 O 没有被剪枝。 3 、 unseen 点仍在 G* 中(说明尚有点未加入))。

• 当 minmax-moment (每一个 object 的 maxdist 点都出现,得到了 minmax )出现以后,就将 unseen 点移走。(如果已经出现的每一个点都取代了 unseen ,也将 unseen 移走)

• 尽可能多的给出 G* 中点的关系。(每当一个点被 G* 中其他点取代,就将其移走)

• 当得出了 SNN-core 后,算法停止。( unseen 代表还有未出现的点可能可以出现到 G* 中)

Page 17: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

The Pipeline Approach :• Edge Phase :• 这个步骤的目的是将所有能够添加进 G* 的边添加进去。• 这个步骤使用了一个矩阵 low[i,j] 和一个数组 cnt[i] 。

• Low[i,j] 是一个 m*m 的方阵。随着实例的加入, low 在不停的更新。 m 是 object 的总数。 Low[i,j]储存当前 Oi 取代 Oj 的几率。

• i=j 时 Low[i,j]=0;(不能取代本身)• 因为 O1代表的是 unseen,第一行全部是 0,第一列代表了出现过的 O取代未出现过的点的最低的概率。

• 随着m 的增加,更新 low ,当 low[i,j]>0.5 的时候,在 G* 中增加一条从 Oi 到 Oj 的边。

Page 18: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

The Pipeline Approach :

• Cnt[m] 记录了 Oi至今为止有多少实例已经被遍历了(在此例中,后面的通用版此处会被修改) .O1 是 unseen 所以 cnt[1]=0 。

• 每次新增一个实例,将对应的 cnt[i] 加 1 ,如果此实例以前未出现过,就将 cnt扩大 1 ,然后赋值为 1 。对应的在 low 中新建一行和一列,新建行的前 m-1列用 low[i,1]对应初始化,新建列用 0初始化。然后在 low 中更新对应的列,采取以下公式):

Page 19: Superseding Nearest Neighbor Search on Uncertain Spatial Databases
Page 20: Superseding Nearest Neighbor Search on Uncertain Spatial Databases
Page 21: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

The Pipeline Approach :• Pruning Phase :• identify the smallest set Sret of vertices such tha

t, for any vertex o Sret and o_ V −Sret, G∈ ∈ ∗ has an edge from o to o_. We call Sret the ret∗

ention-set; all the vertices in V − Sret can be di∗scarded.

• Sret 可以通过像在 full superseding graph 中计算SNN-core 的方式计算获得: 先添加有最少的 indgree 的点,然后将可以取代它的点添加进去,然后将所有与它没有联系的点添加进去,直到无法再添加点。将不在 Sret 中的点移除。

Page 22: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

The Pipeline Approach :

• Validating Phase :• 这个步骤决定 G* 是否还可以缩小。(当无

法缩小的时候, G* 就是 SNN-core 的 S-graph ,算法结束)

• 当且仅当 G* 是强连通的时候, G* 是不可缩小的。

Page 23: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

• (前文提到的要修改处)如果将情况一般化。所有 Object 的实例不确定,出现几率不确定。 Full-graph 算法不用变。 Pipeline算法的 edge phase 中 cnt 数组改变,变成cnt[i]存放 Oi 的出现了的实例的出现几率,更改 low 的时候的算法改成:

其中表示 O 出现在 Oi 处的概率。

Page 24: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

Pipeline 与 full-graph 比较 :

1 : P 不需要输入全部的 O 和实例。2 : 计算时, F 的时间复杂度是 o ( n2 ), P 的

时间复杂度在没有剪枝情况下是 o ( n3 ),然而剪枝的时候要好很多。

3 : Full-graph 需要较多的 I/O 时间,而 CPU 时间比较少。

4 : Full-graph 更简单实现5 : Full-graph 在特定情况下( R-tree 可以快速有

效的遍历的时候(例如:内存数库))效率更高。

Page 25: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

Pipeline 与 full-graph 比较 :

Page 26: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

论文总结:

• SNN search 是解决不确定性问题的一种可行方法,这篇文章通过两种算法得出 SNN-core ,并对其效率进行了比较。

Page 27: Superseding Nearest Neighbor Search on Uncertain Spatial Databases

The end !