Gerando funções de hash aleatórias para o algoritmo LSH Minhash

Estou programando um algoritmo minhashing em Java que exige que eu gere um número arbitrário de funções aleatórias de hash (240 funções hash no meu caso) e execute qualquer número de números inteiros por ele (2000 no momento).

Para fazer isso, tenho gerado números aleatórios a, bec (do intervalo de 1 a 2001) para cada uma das 240 funções de hash. Então, minha função hash retorna h = ((a * x) + b)% c, onde h é o valor de retorno ex é um dos números inteiros executados por ele.

Essa é uma implementação eficiente de hash aleatório ou existe uma maneira mais comum / aceitável de fazer isso?

Este post estava fazendo uma pergunta semelhante, mas ainda estou um pouco confuso com o teor da resposta:Implementação Minhash como encontrar funções hash para permutações

questionAnswers(2)

yourAnswerToTheQuestion