ブルームフィルターの誤検知の数。
説明
Bloom Filterは、1970年にBurton Bloomによって開発されたランダム化されたクエリデータ構造です。 ブルームフィルターは、リクエストに対する誤った応答、いわゆる 誤検知操作。 つまり 要素を追加すると、ブルームフィルターが要素がベクトルに含まれているという回答を返す可能性がゼロではありませんが、存在しません。
大まかに言えば、ブルームフィルターは2つの可能な答えを返します。
- ベクトルに要素がありません
- 要素はおそらくベクトル内にあります
ブルームはそのような誤った答えの可能性を分析しましたが、彼の分析は間違っています。
ブルームフィルターの構成については説明しませんが、これについては、対応するブルームフィルターの記事またはWIKI Wikiで読むことができます:ブルームフィルター
はじめに
ブルームフィルターは、 n個の要素のセットSをビットベクトルにマッピングするデータ構造です




Bloomは、以下のように誤検知をカウントしました。
ベクトルBの任意のビットがゼロである確率は

したがって、特定のビットが1に設定される確率は

さあ、持ってきて



等しいと主張されている

何年も前に現れたこの証拠は間違っています。 エラーは、イベントが暗黙的に仮定されているという事実にあります




正確な式
ボールとバスケットの問題として誤検知の数を決定する問題をシミュレートします。 m-バスケットがあります。 私たちはknの白いボールをランダムなバスケットに投げます。 バスケットに少なくとも1つの白いボールが含まれている場合、バスケットを白と見なすことができます。 次に、 k- blackボールをバスケットに入れます。 イベントAで、各黒いボールが白いバスケットに置かれているとします。 このイベントの確率を計算します。

多くの白いバスケットはサブセットとして表すことができることに注意してください






私が固定されている場合、

どこで

- サイズknのセットから値iのセットへのマッピングの数
- サイズknのセットからサイズmのセットまでの関数の数
サイズknのセットからサイズiのセットへのマッピングの数は、式


サイズknのセットからサイズmのセットまでの関数の数は

次の式を組み合わせます。

最終結果
その結果、 kハッシュ関数を使用してn個の要素を追加するときのmビットのブルームフィルターの誤検出の確率は次のようになります。

この式は、元々ブルームが計算したほど単純ではありません。 さらに詳しく説明することなく、この記事の著者はこの式の上限と下限についても説明し、ブルームが推定した最初の式は下限としてのみ使用できるという結論に達します。

元の記事のテキスト:
ブルームフィルターの偽陽性率について