Probabilistic data structure · deterministic lab

Bloom Filter X-Ray

Watch every hash strike the bit array, then run seeded probes until a value that was never added slips through. The estimate is (1 − exp(−kn/m))k; the collision is real.

Bloom filter configuration

Changing m, k, or the seed clears the filter. That reset is what preserves the no-false-negative guarantee.

Occupancy0 / 128 · 0%
n / m0.000
Optimal k
Theoretical FPR0.00%
Measured FPR
Measured/theoretical error

Hash landing scanner

Each colored ray is one salted 32-bit hash. Repeated landings are valid collisions.

0 bit 1 bit current landing
Independent salted hashesseed xray-360
    Bit array128 zeroes
    READY
    The X-ray is waiting.

    Add a value, query one, or generate the deterministic dataset.

    Outcome decoder

    The lab keeps an exact side ledger only so it can reveal what the probabilistic filter cannot know.

    ✓ True positive0

    Filter says “maybe”; the exact ledger confirms the value was added.

    ✓ True negative0

    Filter says “definitely not”; at least one landing bit is zero.

    ! False positive0

    Filter says “maybe,” but other values happened to set every landing bit.

    × False negative0

    Filter says “no” for an inserted value. This should never happen here.

    Why false negatives should be zero: add and query run the same seeded hashes. Adding sets all k landing bits to 1, and this lab never clears an individual bit. A nonzero false-negative count means the invariant was broken.

    Event trace

    A bounded, deterministic log of configuration, inserts, probes, positions, and classifications.