5
アンチブルームフィルターはありますか?
A ブルームフィルタは、効率的にさまざまな値がすでに処理中に遭遇したかどうかを追跡することが可能となります。データアイテムが多数ある場合、ブルームフィルターを使用すると、ハッシュテーブルのメモリを大幅に節約できます。ハッシュテーブルと共有するブルームフィルターの主な機能は、アイテムが新しいものではない場合は常に「not new」と表示することですが、アイテムに「not new」のフラグが立てられる確率はゼロではありません「新しい場合でも。 逆の動作をする「アンチブルームフィルター」はありますか? 言い換えれば、アイテムが新しい場合は「新しい」と言う効率的なデータ構造がありますが、新しいものではないアイテムについては「新しい」と言うこともありますか? 以前に表示されたすべてのアイテムを(たとえば、並べ替えられたリンクリストに)保持することは最初の要件を満たしますが、大量のメモリを使用する場合があります。緩和された2番目の要件を考えると、それも不要であることを願っています。 より正式な治療、書き込み好む人のためにb(x)=1b(バツ)=1b(x) = 1ブルームフィルタを考えればxバツx新しいもので、b(x)=0b(バツ)=0b(x) = 0それ以外の場合は、書き込みn(x)=1n(バツ)=1n(x) = 1ならばxバツx本当に新しいとされn(x)=0n(バツ)=0n(x) = 0それ以外の場合。 次に、Pr[b(x)=0|n(x)=0]=1Pr[b(バツ)=0|n(バツ)=0]=1Pr[b(x) = 0 | n(x) = 0] = 1 ; Pr[b(x)=0|n(x)=1]=αPr[b(バツ)=0|n(バツ)=1]=αPr[b(x) = 0 | n(x) = 1] = \alpha ; Pr[b(x)=1|n(x)=0]=0Pr[b(バツ)=1|n(バツ)=0]=0Pr[b(x) = 1 | n(x) = 0] = 0; Pr[b(x)=1|n(x)=1]=1−αPr[b(バツ)=1|n(バツ)=1]=1−αPr[b(x) = 1 | n(x) …