バイナリコードとバイナリクエリ間の類似性の尺度としての加重ハミング距離は、ハミング距離よりも検索タスクで優れた精度を提供します。ただし、クエリまでの重み付きハミング距離が最小のK個のバイナリコードを効率的かつ正確に見つける方法は、未解決の問題のままです。この論文では、加重ハミング距離によってK最近傍バイナリコードの非網羅的検索を実行するための高速検索アルゴリズムを提案します。検索アルゴリズムは、ハッシュテーブルの直接バケットインデックスとしてバイナリコードを使用することにより、各ビットの重みの独立性特性に基づいてバケットをプローブするシーケンスを生成します。さらに、提案された検索アルゴリズムに基づく高速検索フレームワークは、長いバイナリコードの問題を解決するように設計されています。具体的には、長いバイナリコードはサブストリングに分割され、それらに複数のハッシュテーブルが構築されます。次に、検索アルゴリズムは、生成された部分文字列インデックスに従って候補を取得するためにバケットをプローブし、候補をマージすることによって最も近いバイナリコードを見つけるためのマージアルゴリズムが提案されます。理論的分析と実験結果は、検索アルゴリズムが他の非網羅的アルゴリズムと比較して検索精度を向上させ、線形スキャンベースラインよりも桁違いに高速な検索を提供することを示しています。
Weighted Hamming distance, as a similarity measure between binary codes and binary queries, provides superior accuracy in search tasks than Hamming distance. However, how to efficiently and accurately find K binary codes that have the smallest weighted Hamming distance to the query remains an open issue. In this paper, a fast search algorithm is proposed to perform the non-exhaustive search for K nearest binary codes by weighted Hamming distance. By using binary codes as direct bucket indices in a hash table, the search algorithm generates a sequence to probe the buckets based on the independence characteristic of the weights for each bit. Furthermore, a fast search framework based on the proposed search algorithm is designed to solve the problem of long binary codes. Specifically, long binary codes are split into substrings and multiple hash tables are built on them. Then, the search algorithm probes the buckets to obtain candidates according to the generated substring indices, and a merging algorithm is proposed to find the nearest binary codes by merging the candidates. Theoretical analysis and experimental results demonstrate that the search algorithm improves the search accuracy compared to other non-exhaustive algorithms and provides orders-of-magnitude faster search than the linear scan baseline.