A análise tradicional dos filtros Bloom está errada?


17

Este artigo afirma que a análise tradicional da taxa de erro nos filtros Bloom está incorreta e fornece uma análise longa e não trivial da taxa de erro real. O artigo vinculado foi publicado em 2010, mas vi que a análise tradicional dos filtros Bloom continuava sendo ensinada em vários cursos de algoritmos e estruturas de dados.

A análise tradicional dos filtros Bloom é realmente incorreta?

Obrigado!

Respostas:


36

A análise tradicional é boa. A análise "tradicional" é, se explicada corretamente, uma aproximação; baseia-se no cálculo do número esperado de células que é 0/1 quando você coloca as chaves no filtro e analisa como se esse fosse o número real. O ponto é que o número de células 0 (ou 1) está fortemente concentrado em torno de suas expectativas, portanto é uma boa aproximação. Isso era bem conhecido e acho que pode ser encontrado, mesmo em meu artigo de pesquisa com Andrei Broder.

Este artigo diz que realmente o desempenho de um filtro Bloom é uma variável aleatória (correspondente à fração real de 0/1) e, se você deseja calcular esse desempenho exatamente por algum motivo, precisa fazer as combinações. Para filtros menores, você verá uma diferença indiscutivelmente não trivial.

Eu conversei com os autores deste artigo. A análise deles é muito boa (embora eu diria que não é profunda ou nova); a motivação deles de que "a análise tradicional está errada" foi, penso eu, exagerada.


15
Agora a ordem foi restaurada no universo :). E bem-vindo à história, Michael.
Suresh Venkat

12

Deixe-me acrescentar à resposta de Michael que, para os filtros Bloom divididos , onde as funções hash têm intervalos disjuntos, a análise tradicional é realmente correta sem aproximação ou limites de concentração. Isso ocorre porque as probabilidades de erro para diferentes funções de hash se tornam independentes em vez de correlacionadas. A troca de espaço / erro dos filtros Bloom divididos é essencialmente a mesma dos filtros Bloom tradicionais, então acho que essa é uma boa variante para o ensino.


2
Parece a mesma ideia que o esboço de contagem-min, exceto nos filtros Bloom.
templatetypedef
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.