Portanto, os filtros Bloom são bem legais - são conjuntos que suportam a verificação de associação sem falsos negativos, mas com uma pequena chance de um falso positivo. Recentemente, porém, eu estava querendo um "filtro Bloom" que garanta o contrário: sem falsos positivos, mas potencialmente falsos negativos.
Minha motivação é simples: dado um grande fluxo de itens a serem processados (com duplicatas), gostaríamos de evitar o processamento de itens que já vimos antes. Não custa processar uma duplicata, é apenas uma perda de tempo. No entanto, se deixássemos de processar um elemento, seria catastrófico. Com um "filtro Bloom reverso", era possível armazenar os itens vistos com pouco espaço e evitar o processamento de duplicatas com alta probabilidade, testando a associação ao conjunto.
No entanto, parece que não consigo encontrar nada disso. Os mais próximos que encontrei são os " filtros Bloom retocados ", que permitem trocar falsos positivos selecionados por uma taxa de falsos negativos mais altos. No entanto, não sei o desempenho da estrutura de dados quando se deseja remover todos os falsos positivos.
Alguém viu algo assim? :)