Я пытаюсь реализовать алгоритм Count-Min Sketch в Scala, поэтому мне нужно для генерации k попарно независимых хеш-функций.
Это более низкий уровень, чем все, что я когда-либо программировал раньше, и я мало что знаю о хэш-функциях, кроме как из классов алгоритмов, поэтому мой вопрос: как мне сгенерировать эти k попарно независимых хеш-функций?
Должен ли я использовать хеш-функцию, такую как MD5 или MurmurHash? Я просто генерирую k хеш-функций вида f(x) = ax + b (mod p)
, где p — простое число, а a и b — случайные целые числа? (т. е. универсальное семейство хеширования, которое все изучают в алгоритмах 101)
Я ищу больше простоты, чем чистой скорости (например, я возьму что-то в 5 раз медленнее, если это проще реализовать).