Generieren von zufälligen Hash-Funktionen für den LSH-Minhash-Algorithmus

Ich programmiere einen Minhashing-Algorithmus in Java, der es erfordert, dass ich eine beliebige Anzahl zufälliger Hash-Funktionen (in meinem Fall 240 Hash-Funktionen) generiere und eine beliebige Anzahl von ganzen Zahlen durchlaufe (im Moment 2000).

Zu diesem Zweck habe ich für jede der 240 Hash-Funktionen Zufallszahlen a, b und c (im Bereich von 1 bis 2001) generiert. Dann gibt meine Hash-Funktion h = ((a * x) + b)% c zurück, wobei h der Rückgabewert ist und x eine der ganzen Zahlen ist, die durchlaufen werden.

Ist dies eine effiziente Implementierung von zufälligem Hashing oder gibt es eine allgemeinere / akzeptablere Möglichkeit, dies zu tun?

In diesem Beitrag wurde eine ähnliche Frage gestellt, aber der Wortlaut der Antwort verwirrt mich immer noch ein wenig:Minhash-Implementierung zum Auffinden von Hash-Funktionen für Permutationen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage