Por lo tanto, los filtros Bloom son bastante geniales: son conjuntos que admiten la verificación de membresía sin falsos negativos, pero con una pequeña posibilidad de un falso positivo. Recientemente, sin embargo, he estado buscando un "filtro Bloom" que garantice lo contrario: sin falsos positivos, pero potencialmente falsos negativos.
Mi motivación es simple: dada una gran cantidad de elementos para procesar (con duplicados), nos gustaría evitar el procesamiento de elementos que hemos visto antes. No hace daño procesar un duplicado, es solo una pérdida de tiempo. Sin embargo, si descuidamos procesar un elemento, sería catastrófico. Con un "filtro de Bloom inverso", se podrían almacenar los elementos vistos con poco espacio encima y evitar el procesamiento de duplicados con alta probabilidad al probar la membresía en el conjunto.
Sin embargo, parece que no puedo encontrar nada por el estilo. Lo más cercano que he encontrado son los " filtros Bloom retocados ", que permiten intercambiar falsos positivos seleccionados por una tasa de falsos negativos más alta. Sin embargo, no sé qué tan bien funciona su estructura de datos cuando uno quiere eliminar todos los falsos positivos.
¿Alguien ha visto algo como esto? :)