HomeAlgorithms & AICounting Bloom Filter: Deletion & Counter Overflow

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.

Algorithms & AI3DModerate60 FPS📱 Mobile-adapted⇄ 2D version
bloom-filter-probabilistic-membership-test ↗ Open standalone

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.

⚙ Under the hood

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.

bloom filterhashingprobabilistic data structuresalgorithmscounting filter

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)