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

Superseding Nearest Neighbor Search on Uncertain Spatial Databases

  • Upload
    dasan

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

Superseding Nearest Neighbor Search on Uncertain Spatial Databases. 何翊宇. Abstract :. 这篇论文提出一个新的论题,叫做 superseding nearest neighbor search . - PowerPoint PPT Presentation

Citation preview

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 !