ブルームフィルターの従来の分析は間違っていますか?


17

このホワイトペーパーでは、ブルームフィルターのエラー率の従来の分析は正しくないと主張し、実際のエラー率の長くて重要な分析を提供します。リンクされた論文は2010年に公開されましたが、ブルームフィルターの従来の分析は、さまざまなアルゴリズムとデータ構造のコースで教えられ続けています。

ブルームフィルターの従来の分析は実際に間違っていますか?

ありがとう!

回答:


36

従来の分析は問題ありません。「従来の」分析は、正しく説明されていれば、近似値です。これは、キーをフィルターにハッシュするときに0/1であると予想されるセルの数を計算し、それが実際の数であるかのように分析することに基づいています。要点は、0(または1)のセルの数が期待値に厳密に集中しているため、これは近似値であるということです。これはよく知られていましたが、Andrei Broderの調査記事でも確認できます。

このホワイトペーパーでは、実際にブルームフィルターのパフォーマンスはランダム変数(0/1エントリの実際の割合に対応)であり、何らかの理由でそのパフォーマンスを正確に計算する場合は、組み合わせを行う必要があります。より小さいフィルターの場合、間違いなく重要な違いが表示されます。

この論文の著者と話しました。彼らの分析はすべてうまくいっている(私はそれが深くも新しいものでもないと主張するだろうが)。「伝統的な分析が間違っている」という彼らの動機は、誇張されていたと思います。


15
宇宙に秩序が回復しました:)。そして、cstheoryへようこそ、マイケル。
Suresh Venkat 14

12

Michaelの答えに加えて、ハッシュ関数の範囲がばらばらになっているスプリットブルームフィルターの場合、従来の分析は、近似または濃度の境界なしで実際に正しいと言えます。これは、異なるハッシュ関数のエラー確率が相関するのではなく独立するためです。スプリットブルームフィルターのスペース/エラートレードオフは、従来のブルームフィルターと本質的に同じであるため、これは教育に適したバリエーションだと思います。


2
これは、ブルームフィルターを除いて、カウントミニスケッチと同じアイデアのようです。
templatetypedef 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.