Counting Bloom Filter: Deletion & Counter Overflow
Interactive 3D counting Bloom filter: watch fixed-width counters rise as items are inserted, fall as they're deleted, and see how saturation at the counter's max value silently loses information -- producing false negatives after deletion.
A plain Bloom filter can never forget an item once it's inserted — its bit array only ever sets bits, so removing a member would risk erasing evidence other members still depend on. The counting Bloom filter fixes this by giving every slot a small saturating counter instead of a single bit: insertion increments k hashed counters, deletion decrements them, and membership still asks whether every hashed counter is non-zero. This simulator renders the counter array as a live 3D bar field — height and colour track each counter's value in real time — and lets you dial the counter width down to 2 bits to deliberately trigger the classic failure mode: once a counter saturates at its maximum value, further increments are silently lost, and a later deletion can zero it out while other inserted items that share that slot are still logically present, producing a false negative. Live readouts track the theoretical vs. measured false-positive rate, saturation events, and how many currently-inserted items the filter is (incorrectly) failing to recognise right now.
Interactive 3D counting Bloom filter: insert and delete items through fixed-width saturating counters and watch how overflow at the counter's max value silently loses information, causing false negatives after deletion.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install