Java で、任意の数のランダム ハッシュ関数 (私の場合は 240 個のハッシュ関数) を生成し、任意の数の整数 (現時点では 2000 個) を実行する必要があるミンハッシュ アルゴリズムをプログラミングしています。
これを行うために、240 個のハッシュ関数のそれぞれに対して乱数 a、b、c (1 ~ 2001 の範囲) を生成してきました。次に、ハッシュ関数は h = ((a*x) + b) % c を返します。ここで、h は戻り値で、x はそれを通る整数の 1 つです。
これはランダムハッシュの効率的な実装ですか、それとももっと一般的/受け入れられる方法はありますか?
この投稿は同様の質問をしていましたが、回答の文言にまだ混乱しています: Minhash implementation how to find hash functions for permutations