利用远端 SAT 实现更快的邻近搜索
1. 引言
邻近搜索旨在从集合中找出与给定查询相近的对象。在精确查询的度量距离场景下,若数据库规模庞大或距离函数计算成本高昂,顺序扫描查询方式将难以扩展,此时就需要使用索引。
1.1 复杂度模型
该问题的分析颇具挑战性,目前文献中尚未有能为已知索引技术提供最坏情况保证的成本模型。专家们普遍认为,度量公理过于薄弱,难以产生适用于该问题的复杂度概念。同时,存在一些难以索引的度量数据库实例,即使是选择性查询,所有数据算法最终也可能需要遍历整个数据库,这就是所谓的“维度诅咒”。
1.2 索引技术
- 枢轴表 :是一种常见的通用索引方法。
- 空间分区 :将空间划分为紧凑区域,通常采用递归方式,为每个区域存储一个代表对象(“中心”)以及一些额外数据,以便在查询时快速排除该区域。代表性技术包括几何近邻访问树(GNAT)、聚类列表(LC)、空间近似树(SAT 和 DSAT)。
- 结合方法 :一些数据结构将空间分区和存储到枢轴的距离这两种思路结合起来,如 D - 索引和 PM - 树。
2. 空间近似树(SAT)
SAT 是一种旨在从空间上接近查询的索引数据结构,其构建过程如下:
1. 选择一个元素 a 作为根节点。
2. 定义根节点 a 的邻居集合 N(a),其中的元素 x 比 N(a) 中其他元素更接近 a。
3. 将不在 N(a) ∪{a} 中的元素分配给
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



