Здесь есть аналогичный вопрос: Почему фильтру Блума нужно несколько Хеш-функции?, но у него есть выбранный ответ, который довольно расплывчатый и не полностью отвечает на мой вопрос:
Вместо использования k хеш-функций (или даже всего 2, как указано в этой статье: http://www.eecs.harvard.edu/~kirsch/pubs/bbbf/rsa.pdf ), могу ли я применить одно из следующих решений для реализации фильтра Блума?
- Введите хэш один раз, разбейте хэш на k разделов и используйте модуль m каждого из этих разделов в качестве значений моего индекса.
- Хэш-ввод один раз, затем модуль на k простых чисел, чтобы получить k значений индекса.
Оба эти решения эффективно реализуют k уникальных хэш-функций, или в каждом из них есть что-то принципиально неправильное? Является ли использование k уникальных хэш-функций строго лучше, чем указано выше?
h%p1
иh%p2
не являются независимыми. Знание(h+1)%p1
многое говорит вам о(h+1)%p2
. - person Raymond Chen   schedule 10.05.2016