Tabei et al., Single vs Multiple Sorting in All Pairs Similarity Searchのナイス メソッドの簡略化されたバージョンで、Hammingdist 1 のペアについては、次のようになります。
- 最初の 32 ビットですべてのビット文字列を並べ替える
- 最初の 32 ビットがすべて同じである文字列のブロックを見てください。これらのブロックは比較的小さくなります
- Hammingdist( 左 32 ) 0 + Hammingdist( 残り ) <= 1 について、これらのブロックのそれぞれを pdist します。
これは、ハミングディスト ( 左 32 ) 1 + ハミングディスト ( 残り ) 0 を持つ近くのペアのたとえば 32/128 の割合を逃します。これらが本当に必要な場合は、「最初の 32」->「最後の 32」で上記を繰り返します。
メソッドは拡張できます。たとえば、4 つの 32 ビット ワードで Hammingdist <= 2 を取ります。不一致は 2000 0200 0020 0002 1100 1010 1001 0110 0101 0011 のいずれかのように分割する必要があるため、2 つの単語は 0 でなければならず、同じように並べ替えます。
(ちなみに、sketchsort-0.0.7.tar は 99% src/boost/, build/, .svn/ です。)