Jump to a problem, path or page
Jump to a problem, path or page
01 · Frame the problem
Implement an insert-only Bloom filter for byte keys. Positive answers may be false positives; valid insertions must never become false negatives. Deletion is outside this model.
Membership answers are probabilistic in one direction: positives may be false, while inserted keys must not become negative under compatible state. Analyse bit count, hash count and update semantics before sizing storage.
02 · Find the design pressure
Begin with a fixed bit array and specified deterministic hashes. Clearing bits for deletion can erase evidence shared by other keys. Choose parameters for the expected population and verify positive answers against authoritative storage when correctness requires certainty.
03 · Define success
04 · Identify the correctness boundary
A key maps deterministically to k bit positions in an m-bit array. With compatible hashing and atomic bit setting, lookup can have false positives but not false negatives for inserted keys. Estimate false-positive rate as approximately (1 - exp(-k*n/m))^k, then validate actual workload assumptions.
05 · Make it concrete
A filter reports maybe-present for an unseen key; the caller confirms against authoritative storage. It reports definitely-absent only when a required bit is zero. Combining filters is valid only when their size and hash specification match. Clearing bits to delete one key can invalidate another key's membership.