Paritian

Programación

Calculadora de Filtro de Bloom (Tamaño, Funciones Hash, Tasa de Falsos Positivos)

Cuántos bits, cuánta memoria y cuántas funciones hash necesita un filtro de Bloom para guardar un número de elementos con una tasa de falsos positivos aceptable.

Resultados

Tamaño del vector de bits 9.585.059 bit
Memoria 1,14 MiB
Número de funciones hash 7
Bits por elemento 9,59
Tasa de falsos positivos con ese número entero de funciones 0,01004
Cómo varía
MemoriaTasa de falsos positivos que acepta 0,000 – 0,200. Memoria: 2,28526 → 0,399331Memoria00,511,522,50,0500,1000,1500,200Tasa de falsos positivos que acepta

La línea discontinua marca el valor que ha escrito.

Qué hace esta herramienta

Un filtro de Bloom responde a «¿está este elemento en el conjunto?» con «seguro que no» o «probablemente sí», usando un pequeño vector de bits y varias funciones hash. Para n elementos y una tasa de falsos positivos p, el tamaño óptimo es m = −n ln p ÷ (ln 2)² bits, y el mejor número de funciones es k = (m ÷ n) ln 2, lo que da unos 1,44 × log₂(1 ÷ p) bits por elemento. Una tasa del 1 % cuesta unos 9,6 bits por elemento y una del 0,1 % unos 14,4, sean cuales sean los elementos. La tasa de falsos positivos sube deprisa si inserta más elementos de los previstos, y un filtro de Bloom estándar no permite borrar.

Fórmula

m = −n ln p ÷ (ln 2)² · k = (m ÷ n) ln 2 · p = (1 − e^(−k n ÷ m))^k

Variables

SímboloSignificadoUnidad
nnNúmero de elementos a guardar—
ppTasa de falsos positivos que acepta—
MTamaño del vector de bitsbit
MBMemoriaMiB
KNúmero de funciones hash—
BPBits por elemento—
PRTasa de falsos positivos con ese número entero de funciones—

Ejemplo resuelto

  • Número de elementos a guardar1.000.000
  • Tasa de falsos positivos que acepta0,01
  • Tamaño del vector de bits9.585.059 bit
  • Memoria1,14 MiB
  • Número de funciones hash7
  • Bits por elemento9,59
  • Tasa de falsos positivos con ese número entero de funciones0,01004

Limitaciones

  • El resultado es una estimación basada solo en los valores introducidos. Las situaciones reales suelen incluir factores que esta calculadora desconoce.
  • La fórmula supone condiciones ideales: sin pérdidas por fricción, sin resistencia del aire y sin pérdidas de rendimiento salvo que las introduzca.