¿Cuáles son los tipos más comunes de Bloom Filter y cómo funcionan?

La entrada de Wikipedia proporciona una buena explicación del filtro básico de Bloom y sus extensiones, incluido un análisis estadístico simple. Enlace: http://en.wikipedia.org/wiki/Blo…

El tipo más común de filtro Bloom es un conjunto de bits de tamaño n equipado con k funciones hash independientes. Cada una de estas funciones hash debe correlacionarse con un número entero en [1, n ]. Este filtro Bloom solo admite agregar objetos y buscar la presencia de un objeto en el conjunto.

La “firma” de un objeto se calcula calculando los k hashes separados del objeto, usando cada función hash independiente. Estos k enteros corresponderán a las posiciones de k bits en el conjunto de bits (tenga en cuenta que estas posiciones no son necesariamente únicas). Agregar el objeto implica simplemente establecer estos bits en 1, y buscar la presencia de un objeto implica verificar que todos los k bits estén establecidos en 1.

La idea detrás de por qué esto funciona es similar a cómo funciona una tabla hash; sin embargo, las colisiones se ignoran para un filtro Bloom. El uso de múltiples funciones hash ayuda al hacer que la probabilidad de una colisión sea mucho menos probable.

More Interesting

¿Qué área de finanzas NO se externalizará a computadoras y algoritmos en el futuro?

¿Cuál es la forma más eficiente de encontrar el número total de nodos en un sistema distribuido?

Visión por computadora: ¿Cuáles son algunas técnicas de detección de bordes ultrarrápidas y eficientes en memoria?

¿Qué necesitas saber para aprender algoritmos? Probé los algoritmos gratuitos de Coursera y el curso de estructuras de datos de Princeton y me perdí por completo.

Cómo diseñar una nueva función heurística admisible para un algoritmo A * para resolver el problema del mosaico deslizante

¿Cuál es el mejor algoritmo de eliminación para un árbol de búsqueda binario sin usar un nodo padre adicional?

¿Es suficiente el conocimiento del tamiz de Eratóstenes y la factorización prima al preparar los concursos de programación?

¿Cómo podría un algoritmo que crea un cambio en el comportamiento del consumidor crear valor?

¿Cuál es el mejor instituto para estructuras de datos y algoritmos en Hyderabad?

¿Cuáles son los algoritmos necesarios para resolver todos los problemas (usando C ++) en cualquier concurso de codificación competitivo?

Cómo clasificar 5 números, de mayor a menor, con sentencias if y no arrays en Java o Python

¿Cuáles son los principios fundamentales de los algoritmos en la programación de computadoras?

¿Cómo funciona la función Rolling Hash utilizada en el algoritmo Rabin Karp?

¿Se podría explicar y crear inteligencia artificial utilizando algoritmos?

Cómo construir un secuenciador de ADN