Чи неправильний традиційний аналіз фільтрів Bloom?


17

У цій роботі стверджується, що традиційний аналіз коефіцієнта помилок у фільтрах Bloom є неправильним, тож надається тривалий і нетривіальний аналіз фактичної частоти помилок. Зв'язаний документ був опублікований у 2010 році, але я бачив, як традиційний аналіз фільтрів Bloom продовжував викладатися в різних алгоритмах та курсах структури даних.

Традиційний аналіз фільтрів Bloom справді невірний?

Спасибі!

Відповіді:


36

Традиційний аналіз прекрасний. "Традиційний" аналіз - це, якщо він пояснений правильно, наближення; він заснований на обчисленні очікуваної кількості комірок, що дорівнює 0/1, коли ви хешуєте ключі у фільтр, а потім аналізуєте так, ніби це було фактичне число. Справа в тому, що кількість комірок, які дорівнюють 0 (або 1), щільно сконцентровані навколо їх очікування, тому це точне наближення. Це було добре відомо, і я думаю, це можна знайти навіть у моїй статті опитування з Андрієм Бродером.

У цьому документі йдеться про те, що дійсно ефективність фільтра Bloom є випадковою змінною (що відповідає дійсній частці записів 0/1), і якщо ви хочете обчислити цю продуктивність саме з якихось причин, вам потрібно зайнятись комбінаторикою. Для менших фільтрів ви побачите, мабуть, нетривіальну різницю.

Я спілкувався з авторами цього документу. Їх аналіз все добре і добре (хоча я б стверджував, що він не є глибоким чи новим); їх мотивація того, що «традиційний аналіз неправильний» була, я думаю, перебільшеною.


15
Порядок відновлено у Всесвіті :). І ласкаво просимо в теорію, Майкл.
Суреш Венкат

12

Дозвольте додати до відповіді Майкла, що для розділених фільтрів Bloom, де хеш-функції мають розрізнені діапазони, традиційний аналіз справді правильний без наближення чи будь-яких меж концентрації. Це тому, що ймовірності помилок для різних хеш-функцій стають незалежними, а не співвідносяться. Компроміс простору / помилок для розділених фільтрів Bloom по суті такий же, як і для традиційних фільтрів Bloom, тому я думаю, що це хороший варіант для викладання.


2
Це здається такою ж ідеєю, як ескіз підрахунку хвилин, за винятком фільтрів Bloom.
templatetypedef
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.