Calculadora de filtro de Bloom

Indica cuántos elementos guardará el filtro y qué tasa de falsos positivos aceptas, y obtén el número de bits, la memoria y el número óptimo de funciones hash. O cambia de modo para comprobar la tasa de falsos positivos de un filtro que ya tienes.

Calcular
%
Bits (m)9.585.059 bit
Funciones hash (k)7
Aproximadamente un falso positivo cada
100
Tamaño en bytes
1.198.133 B
Memoria
1,14 MiB
Bits por elemento
9,59
Tasa con estos m y k
1,0039 %

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo se usa

  1. En el modo Tamaño para una tasa objetivo, escribe el número de elementos y la tasa de falsos positivos en porcentaje (1 significa un «sí» erróneo por cada cien consultas de elementos ausentes).
  2. Lee el número de bits, la memoria en bytes, KiB o MiB y el número de funciones hash.
  3. En el modo Tasa de un filtro, escribe n, m en bits y k para obtener la tasa de falsos positivos y el k óptimo para ese tamaño.

Cómo funciona

Un filtro de Bloom es un array de m bits. Cada elemento activa k bits elegidos por k funciones hash, y una consulta comprueba esos k bits. Las fórmulas:

  • m = ⌈−n × ln p ÷ (ln 2)²⌉
  • k = round(m ÷ n × ln 2), como mínimo 1
  • p = (1 − e^(−k × n ÷ m))^k

Como m se redondea hacia arriba y k a un entero, la tasa real se aparta un poco del objetivo; la calculadora la muestra como Tasa con estos m y k.

Ejemplo

Un millón de elementos al 1 %:

  • m = 1.000.000 × 4,6052 ÷ 0,48045 = 9.585.058,4, redondeado hacia arriba a 9.585.059 bits;
  • memoria: 9.585.059 ÷ 8 = 1.198.133 bytes, es decir, 1,14 MiB;
  • k = 9,585 × 0,6931 = 6,64, redondeado a 7 funciones hash;
  • la tasa real con 7 funciones hash es 1,0039 %, aproximadamente un falso positivo cada 100 consultas.

Consejos

  • Duplicar el tamaño del filtro no reduce la tasa a la mitad, sino que la eleva al cuadrado (aproximadamente): el 1 % pasa a ser cerca del 0,01 %.
  • En el código bastan dos funciones hash para simular k: h1 + i × h2 para i = 0 … k − 1.
  • Si necesitas borrar elementos, mira los filtros de Bloom con contadores o los filtros cuckoo.

Preguntas frecuentes

¿Qué fórmulas usa?

Las estándar: m = −n × ln p ÷ (ln 2)² bits, redondeado hacia arriba; k = m ÷ n × ln 2 funciones hash, redondeado al entero más cercano; y la tasa de falsos positivos p = (1 − e^(−k × n ÷ m))^k, que también se usa para mostrar la tasa real tras redondear.

¿Cuántos bits por elemento necesito?

Unos 4,8 para el 10 %, 9,6 para el 1 %, 14,4 para el 0,1 % y 19,2 para el 0,01 %: cada vez que la tasa se divide por diez cuesta unos 4,8 bits más por elemento, sea cual sea el número de elementos.

¿Qué pasa si añado más elementos de los previstos?

La tasa de falsos positivos sube. Usa el modo Tasa de un filtro con tus m y k y el n mayor para ver cuánto.

¿Un filtro de Bloom puede dar falsos negativos?

No. Si un elemento se añadió, el filtro siempre dice que puede estar. Solo puede decir que sí a elementos que nunca se añadieron (falsos positivos), y un filtro de Bloom simple no permite borrar elementos.

Más en Desarrollo

Todas las herramientas de la categoría: Desarrollo ·Actualizado el 4 de noviembre de 2026

Opciones de privacidad

Google Analytics nos muestra qué herramientas se usan y si funcionan. Puede usar cookies. Tu elección se guarda en este navegador.