几种 Proximity Graphs 的单调性分析

引言

最近,基于近邻图的近似最近邻搜索算法(ANNS)取得了最优的效率和精度权衡。在图索引上,路径的单调性对相关ANNS算法的搜索性能起着至关重要的影响。几种当前最优的ANNS算法比如HNSW,NSG普遍能使搜索路径尽可能的单调递减,从而避免由于“绕远路”而降低搜索效率。本文介绍的几种proximity graphs是这些ANNS算法的基础,与当前的实用算法相比,这些proximity graphs有着严格的形式化定义,这给理论分析相关性质带来便利,从而也给实用的ANNS算法提供理论保证和优化方向。接下来,我们主要分析proximity graphs的单调性,proximity graphs包括德劳内图(Delaunay Graph, 它与voronoi diagram对偶)、Relative Neighborhood Graph (RNG)、Gabriel Graph (GG)、Minimum Spanning Trees (MST)。

首先给出结论:Delaunay Graph 是单调的图,而RNG, GG和MST都不是单调的图。

何为图的单调性

在此之前,我们需要先了解一下什么是单调路径?对于图G上的一个m个依次邻接的顶点形成的路径 ( v 1 , v 2 , ⋯   , v m ) (v_{1},v_{2},\cdots, v_{m}) (v1,v2,,vm),若 d i s t ( v 1 , v m ) > d i s t ( v 2 , v m ) > ⋯ > d i s t ( v m − 1 , v m ) dist(v_1,v_m) > dist (v_2, v_m) > \cdots > dist(v_{m-1},v_m) dist(v1,vm)>dist(v2,vm)>>dist(vm1,vm),则该路径是一条单调路径 d i s t ( , ) dist(,) dist(,)表示两个顶点之间的距离。如果一个图G的任意两个顶点之间均存在单调路径,则图G便是单调图了。

如何证明一个图不是单调的

只需要举一个反例就行了。任意画几个点,分别根据RNG, GG和MST的定义建立相应的图结构,很容易找到不存在单调路径的例子。

证明DG是单调的

下面证明DG是单调的。在此之前先给出一个定理。

定理1. 对于DG中的任意两个顶点 v a v_a va v j v_j vj,存在一个德劳内边 e a k e_{ak} eak满足 d ( v k , v j ) < d ( v a , v j ) d(v_k, v_j) < d(v_a, v_j) d(vk,vj)<d(va,vj)

证明:给定在数据集S上的DG。 v a v_a va可能在DG的边界(如图1(a))或在DG的内部(如图1(b))两种情况。但无论哪一种情况, v a v_a va对应的Voronoi diagram(图1中虚线围成的绿色多边形区域,记为 V ( v a ) V(v_a) V(va))都不包含其它点(这是由定义保证的),所以 v j v_j vj一定落在 V ( v a ) V(v_a) V(va)外面。因此,连接 v a v_a va v j v_j vj的线段一定经过 V ( v a ) V(v_a) V(va)的至少一条边。记这条边为 e a k e_{ak} eak的垂直平分线 h a k h_{ak} hak v j v_j vj v k v_k vk h a k h_{ak} hak的同一侧,故 d ( v k , v j ) < d ( v a , v j ) d(v_k, v_j) < d(v_a, v_j) d(vk,vj)<d(va,vj)


图1 (a)$v_a$位于边界,(b)$v_a$位于内部

下面证明DG是单调的。

证明:我们只需证明DG中的任意两个点 v a v_a va v j v_j vj,总存在一条由 v a v_a va v j v_j vj的单调路径。若 v j v_j vj v a v_a va的邻居,则单调路径是显然的。接下来,我们考虑 v a v_a va v j v_j vj不邻接的情况。根据定理1,存在一条边 e a k 1 e_{ak_1} eak1,满足 d ( v k 1 , v j ) < d ( v a , v j ) d(v_{k_1},v_j) < d(v_a,v_j) d(vk1,vj)<d(va,vj),存在边 e k 1 k 2 e_{k_{1}k_2} ek1k2,满足 d ( v k 2 , v j ) < d ( v k 1 , v j ) d(v_{k_2}, v_j) < d(v_{k_1},v_j) d(vk2,vj)<d(vk1,vj) … …,最终,存在边 e k i j e_{k_ij} ekij,满足 d ( v j , v j ) < d ( v k i ) , v j ) d(v_j, v_j) < d(v_{k_i)},v_j) d(vj,vj)<d(vki),vj)。从而路径 ( v a , v k 1 , ⋯   , v k i , v j ) (v_a, v_{k_1}, \cdots,v_{k_i},v_{j}) (va,vk1,,vki,vj)满足 d ( v a , v j ) > d ( v k 1 , v j ) > d ( v k 2 , v j ) > ⋯ > d ( v k i , v j ) > d ( v j , v j ) d(v_a, v_j) > d(v_{k_1}, v_j) > d(v_{k_2},v_j) > \cdots > d(v_{k_i},v_j) > d(v_j, v_j) d(va,vj)>d(vk1,vj)>d(vk2,vj)>>d(vki,vj)>d(vj,vj),即是一条单调路径。

RNG几乎是单调的

虽然不能确保RNG是单调的,但在大部分情况下RNG是单调的,而且RNG是几乎所有单调图的子图。


图2 边$e_{ik}$不属于RNG

如图2所示,边 e i j ∈ e_{ij} \in eij RNG,则 l u n e ( i , j ) lune(i,j) lune(i,j)(红色圆弧包围的部分)是空的,即里面没有其它点(RNG的定义决定的)。因此,一条从 v i v_i vi v j v_j vj且不包含 e i j e_{ij} eij的单调路径的中间点必然落在红色圆弧上,即图3所示的 v k 1 v_{k_1} vk1


图3 边$e_{ij}$是冗余边

在图3中, ( v i , v k 1 , v j ) (v_i, v_{{k_1}},v_j) (vi,vk1,vj)是单调路径,此时, e i j e_{ij} eij就是冗余边,因为可通过其它单调路径由 v i v_i vi v j v_j vj。因此,就RNG而言,若存在冗余边,则可替代单调路径的中间点必须落在图2的红色圆弧上,发生这种情况的概率是非常小的。

参考文献

Kurup, G. D. (1992). A database organized on the basis of similarities with applications in computer vision.

博客地址:mzwang.top

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 红外线接近传感器(Infrared Proximity Sensor)是一种基于红外线技术的传感器,能够检测到物体与传感器之间的距离。它通过发射红外线并接收反射回来的红外线信号来测量物体与传感器之间的距离。当物体靠近传感器时,反射回来的红外线信号强度会变强,传感器会输出一个信号告诉系统有物体靠近了。 红外线接近传感器广泛应用于自动控制和机器人领域,例如在机器人的导航系统中可以用来检测障碍物,以便机器人能够避开障碍物。此外,红外线接近传感器还可以用于触摸屏的自动亮度调节、自动门的控制以及电子设备的自动休眠等场景。 ### 回答2: 红外线近距传感器是一种光电传感器,使用红外线技术来检测物体的接近和存在。它通常由红外发射器和接收器组成。发射器发射出红外线光束,接收器接收光束并测量其反射或被物体吸收的程度。 红外线近距传感器的工作原理是通过监测发射器发出的红外线光束是否被物体反射或阻挡来判断物体的接近情况。传感器可以探测到物体离传感器的距离,以及物体是否存在于特定的区域内。 红外线近距传感器在许多应用中发挥着重要的作用。它们被广泛用于安全系统中,用于检测人员或物体的接近。比如,当人们靠近自动门时,红外线传感器会探测到他们的存在并触发门的打开机制。 此外,红外线近距传感器还可以用于避障机器人、自动照明、电子设备控制等领域。例如,在避障机器人中,红外线传感器可以帮助机器人检测障碍物并避免碰撞。 红外线近距传感器不受光线的干扰,因此在低光环境下也可以正常工作。它们通常具有快速的响应时间和较高的精度。 总的来说,红外线近距传感器通过利用红外线技术来检测物体的接近和存在,具有广泛的应用领域和高度的可靠

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值