How small a water-main leak can pressure sensors find, and does a changepoint detector beat a threshold or CUSUM?
research/infra-waterloss
Water-leak detection from pressure residuals on EPANET's Net3 (WNTR): at a 5% weekly false-alarm budget, 5 sensors and 10% demand error, CUSUM finds all leaks the sensors can see at 4% of demand but 8% at 1% (3% of all leaks); demand error, not sensor noise or detector choice, sets the limit (simulated leaks; BattLeDIM L-Town was unreachable).
What it found
WNTR simulates one week of hourly pressures on EPANET’s Net3 (92 junctions) with leaks of 0.25–4 % of mean demand (1.7–28 L/s) opened at hour 96 at 60 random junctions, against a nominal model whose demands are wrong (node error sd 5–20 %, system-wide AR(1) error sd 1–5 %) and sensors with noise 0.05–1 m. A moving-average threshold, CUSUM and PELT (changepoint) each get a threshold calibrated on 120 leak-free weeks to at most 5 % of weeks with any alarm, with and without a regression on a noisy inflow meter. With 5 greedily placed sensors and base demand error, the best detector (flow-adjusted CUSUM) finds 100 % of the leaks the sensors can see (28 % of locations) at 4 % of demand but only 8 % at 1 % and 85 % at 2 %, and across all leak locations 3 % at 1 % and 38 % at 4 %. Demand error moves the result far more than sensor noise (covered 2 % leaks: 92 % at low demand error, 85 % at base, 8 % at high), and averaging 15 sensors instead of 5 hurts. PELT did not beat CUSUM on 2 % leaks in any condition at the same false-alarm budget. Limits: the BattLeDIM L-Town network and its leak schedule could not be downloaded here, so there is no comparison with the competition’s methods; Net3 is a textbook network; leaks are simulated, demand error and inflow-meter noise (0.5 %) are assumed and swept, not measured; 60 locations per size, so rates carry binomial error of up to ±0.12.
A figure from its own output
Paper, code and results
More in Detection & tolerances
- Reproducible operators and refereed trainingMeasured float32 reduction-order drift, RepOps-style canonical order, Merkle-committed training traces with a teacher-forced referee; per-step tolerance is a cumulative hidden-deviation budget.
- How many honest runs does a slashing tolerance need?Calibrating slashing tolerances from honest runs: split-conformal false-slash law
(n+1-k)/(n+1)is exact but only ~51–56% of calibration sets are ≤ α, PAC safety needsn ≥ ln δ/ln(1−α)(459 at 1%/1%), the margin is cheater hiding room (×1.26 at n=2000, Pareto-3), Gaussian plug-ins over-slash skewed drift up to 17×, pooled hardware calibration over-slashes the noisy class 4.8× and lets the quiet class hide 2.9×. - Should drift tolerances be per layer or on the total?Per-layer vs total drift tolerances: a tolerance per layer admits
L·c(L,α)σvsz_α√L σon the total (6.6× at L=16), the sum test ignores how a cheat is spread while the max test catches 2.7σ in one layer but lets 16σ through spread over all, and a union test caps the hidden budget at the sum test's. - How well does Freivalds' check work in floating point?Freivalds' matrix-product check in floating point: rank-one corruption missed with probability exactly
erf(t/(√2F))(worst case for fixed norm),erf^mfor m probes, Rademacher probes stuck at ½ for any size, measured float32 noise floor, and1/erfgrinding tries when the probe is hashed from the result. - How many skipped training steps hide in the loss noise?Detecting skipped training steps from the loss alone: hidden compute is the loss curve inverted at the noise band (
f* = 1−(1+(e^q−1)/r)^{−1/β}), grows as reducible loss falls, seed noise sets a floor no eval size removes, simulation matches within 1.5 points, and the loss test is worth ≈4.4 step audits at best. - How much can a provider steal by serving a cheaper model?Detecting a provider that serves a cheaper model on a fraction of queries: mixture e-process (valid under peeking), delay
∝ 1/(f p² χ²), so the cheater's best response is to leak rarely and steal∝ √NnotN; closed-form audit rate and cost-optimal check rate(hK/2Nc)^{2/3}.
All 14 Detection & tolerances projects →
Other research topics
Proper scoring & elicitation28Effort & peer prediction9Verification games & slashing19Detection & tolerances14Markets as routers13Prediction-market design9Paying contributors8Decentralised training systems23Digital twins & sim-to-real164LLM chip design loops40Robot manufacturing loops53Ambient AI assistant46Self-replicating manufacturing34Simulation-first design64Engineered clothing45Task-specific AI accelerators40Algorithmic chip-design loops42Open-source purpose-built robots44The software-engineering loop43Adversarial human imitation41Open-source residential construction41Autonomous multi-angle capture34Sensing, imaging and 3D31Energy supply and dense energy storage39Robot societies among people31Agentic co-design of low-cost robots27Laundry-hanging robots25Machine learning on qualitative data23Robots on the building site27Civilizations & group psychology1History & human sciences1
Produced with AI assistance (Claude). Results are from the code in this repository and are simulated or stylised unless the abstract says otherwise; nothing here implies affiliation with or endorsement by any lab, researcher or company cited. MIT licensed.