1
私はBloomFilterを実装しており、[0、N]要素を追加し、フィルタに(n、oo)要素が含まれているかどうかを確認することで偽陽性の数を計算する必要があります。正しい偽陽性数を計算する際に問題が発生しています。私のループのたびに、possiblecontains()は私のフィルタに(n、oo)の要素が含まれていると私に伝えます。私は偽陽性に追加します。 しかし、私は16個の要素のフィルタを持っている場合例えば、私は10個の偽陽性を取得し、私はこのライブラリを使用していたすべてのヘルプはBloom Filter偽陽性
for (int numNotInFilter =size+1; numNotInFilter<2*size; numNotInFilter++)
{
if (myBloom.possiblyContains((const uint8_t*)(&numNotInFilter), sizeof(int)))
{
numOfFalsePositives+=1.0;
}
}
double RateOfFalsePositives = (numOfFalsePositives)/((2 * size) - 1);
あなたは 'RateOfFalsePositives'が0と1の間にあると思いましたか?これは整数型です。 – aschepler
私はそれを修正しました。私のループは正しいですか? –