Page 131 - 《软件学报》2026年第3期
P. 131

1094                                                       软件学报  2026  年第  37  卷第  3  期


                 该全局距离. 在新增一条连接时, 仅需以           O(1) 的复杂度更新这两个统计量. 该方式使得全局平均距离通过较少计
                 算获得, 避免了重新计算全局距离的开销.

                                      最小距离、最大距离平均距离         节点间的平均距离度量区域覆盖情况

                                                                   A        B

                                               A
                                                                             ...
                                                                       C


                                      (a) 基于邻居平均距离的α剪枝        (b) 基于区域平均距离的α剪枝
                                              图 7 局部过度致密区域的识别方法

                    基于以上指标, 我们设定了区域邻居平均距离与全局平均距离的比较规则, 用于识别低密度区域. 具体识别方
                 式如下: 新插入节点      v 的区域邻居平均距离       area_mean_dist 与该层的全局平均距离      global_mean_dist[l] 满足如下
                 不等式:

                                             area_mean_dist < β·global_mean_dist[l]                   (4)
                    若符合公式     (4) 则判定节点   v 当前处于局部致密区域. 对于新写入的向量, 在满足公式                 (4) 时, 为其应用修正
                 的启发式剪枝规则.
                    识别的精准度与阈值参数          β  的设定紧密相关, 这也直接决定了算法对局部致密区域的敏感度. β                   为控制识别
                 敏感度的超参数, 数据无关的         β  值难以感知不同数据集的内在分布特性. 为此, 本文应用数据驱动的                   β  值自适应选
                 择方法: 在构建索引时, 从向量中抽取一定量样本数据, 并计算每个样本向量的区域邻居平均距离                              area_mean_dist
                 与全局邻居平均距离        global_mean_dist[level] 的比值. 然后, 分析数据的分布情况, 选择合适的分位数作为           β  的取
                 值. 该方法使得    β  不再是一个经验性的固定值, 而是能够反映当前数据集实际分布与内在统计特性的动态参数. 此
                 设计确保优化策略的激活具备明确的量化依据.
                  3.2   双重剪枝的邻居选择策略
                    针对识别到的致密区域节点, 本文采用一种双重剪枝的邻居选择策略. 该策略的核心在于融合两种规则的剪
                 枝结果, 在提升连接多样性的同时, 保留关键的枢纽向量, 从而实现局部拓扑的修复和选择高质量邻居.
                    ● 双重剪枝的邻居选择策略. 对于新写入节点, 算法协同应用原生与修正的剪枝规则, 保留潜在的有效连接,
                 以提升稀疏连接情况下邻居的质量.
                    (1) 原生剪枝规则 (α=1): 即标准的     HNSW  启发式剪枝规则. 此规则所选的候选邻居集合记为                C original .
                    (2) 修正剪枝规则 (α>1): 如图   8 所示, 该规则通过引入一个大于         1 的剪枝因子    α, 选择性地放宽了剪枝条件. 其
                 具体规则如下: 对于待插入节点         v, 仅当一个候选邻居      v'与结果集   R  中某个已选邻居    v i 满足  α·dist(v ,v i ) > dist(v ,v)
                                                                                             ′
                                                                                                      ′
                 时, v'才被视为冗余邻居并予以剪枝. 此规则用于筛选出一组更具方向多样性的候选邻居集合, 记为                            C alpha .

                                         B            A                B          A


                                           G                            G
                                                   C                            C
                                                       局部调整参数α
                                                        扩大搜索范围
                                      E                            E
                                               D                            D


                                                 图 8 修正的启发式剪枝规则
   126   127   128   129   130   131   132   133   134   135   136