2012-02-11 17 views
-3

imブルームフィルタを使用したシミュレート集合交差近似。私はフィルターに値をハッシュするための単純なハッシュ関数をたくさん試してみました。衝突を避けることはできません。誰かが普遍的なハッシュ関数を提案しました。しかし、それはどのように動作するのかわからない。私のプログラムは、単にキーをハッシュ関数に渡すように設計されており、ハッシュ関数はハッシュを返します。誰でもコードを教えてくれますか? ありがとうCのブルームフィルタのための汎用ハッシュ関数の実装

+0

何を、具体的には、問題はありますか? –

+1

あなたは間違ったトラックに乗っています。完璧な普遍的なハッシュ関数があれば、ブルームフィルターを使用するのは無意味です。 *不完全なものがある場合に便利です。ユニバーサルなものでなければ、ハッシュ関数のセットが必要です。 –

答えて

0

ブルームフィルタで使用するとハッシュ関数が衝突する心配はありません。この場合、衝突を処理する必要はありません。ちょうどkを得るためには、要素を挿入するときにmビットの配列にkビットをセットする関数があります。クエリの時点で、すべてのkハッシュ関数を使用して、すべてのkビットをチェックします。それらのいずれかが設定されていない場合、検索は偽です。それらのすべてが設定されている場合は、何も結論できません(偽陽性の結果)。これは明らかにウィキで説明されています

http://en.wikipedia.org/wiki/Bloom_filter

関連する問題