engrXiv 10.31224/7306 · open source · MIT
Certified route planning under drifting costs.
A robot routing through terrain whose costs drift — mud after rain, traffic after an incident — can't answer the one question that matters: how good is my route, now that most of the map is stale? CERT-FLOW answers it every round, with a proof, and spends sensing exactly where the proof is loosest.
The problem
A scout vehicle maps a forest trail in winter; by summer the mud is gone and the costs have moved. A delivery robot's street graph drifts with every incident. D* Lite, A*, and friends re-find the shortest path on whatever costs they currently hold — silently, whether those costs are fresh or hours stale. The route looks optimal and may not be, with nothing to flag it.
The honest question is a certificate question: bound the true optimum from both sides, act only on what you can prove, and when the bound is too loose, spend a sensor reading exactly where it tightens fastest.
How it works
Each edge carries a point estimate, an observation age, and a drift-rate bound. Age-weighted non-exchangeable conformal prediction turns these into intervals that widen with staleness; two incremental searches bracket the optimum from below and above; the certificate either certifies (gap ≤ ε) or points the next sensor reading at the edge that shrinks the gap fastest. When the certificate proves the map is tight, that proof licenses lookup-speed preprocessing — revoked the instant drift exceeds tolerance.
Each paid observation is scored and weighted by age — exchangeability is never assumed.
The conformal quantile pays for noise; the drift term pays for staleness.
An optimistic ℓ-search and a conservative u-search, repaired incrementally on a flat-array engine.
At an honestly-annealed confidence that degrades visibly as the map ages — weak claims, not silence.
Route-critical, churn-aware sensing — certification is a rate, not a state (Theorem T2′).
When every interval is provably tight, an oracle / certified CH answers in ns–µs, revoked once drift exceeds τ.
See it move
Every clip replays a real run; the coverage and regret numbers are measured at render time, not staged (warm-up rounds are drawn as “no claim”, never counted as misses). A note on honesty: on a known static map every planner finds the same optimal path — so these show what actually differs under drift: certificate validity and sensing efficiency.
CERT's band contains the true optimum on every round it claims; AD*'s w-suboptimality band, trusting stale point estimates, drifts out of date.
Certificate validity on benchmark game-map geometry (DAO arena) under bounded drift — the result transfers off the synthetic grid.
Gap-directed sensing converges near a clairvoyant oracle; random / max-age / drive-blind wander at the same budget (mean over 15 seeds).
The same regret race on a cropped MovingAI arena: gap-directed sensing reaches the goal at the lowest travel-regret of any policy.
Exchangeable conformal (CIA, run with its own construction on the same city) covers on the static slice it assumes, then collapses as the calibration→test gap grows; CERT widens its interval to keep coverage. The price is paid in width, explicitly — never in coverage.
Rendered by scripts/viz_compare.py + the visualization suite — reproducible like every number on this page.
Where it stands
| property → | drift-aware intervals | path-cost certificate | online incremental | gap-directed sensing |
|---|---|---|---|---|
| D* Lite / AD* | ✕ | ✕ | ✓ | ✕ |
| Conformal sums (CIA, CQR-GAE) | ✕ | ✓ | ✕ | ✕ |
| TASP / FreMEn | ✓ | ✕ | ✕ | ✕ |
| CTP + sensing / IPP | ✕ | ✕ | ✕ | ✓ |
| 🏆 CERT-FLOW | ✓ | ✓ | ✓ | ✓ |
Every prior family misses at least two of the four properties whose conjunction CERT occupies. All per-condition numbers — marked ↑/↓ and ranked best→worst — are in docs/results.
The theory
Full statements + proofs in the theory companion (paper/theory.tex); working notes in docs/theory.
Honest boundaries
A certificate is only as trustworthy as its author's honesty about the edges. These are measured, documented, and shipped alongside the wins.
On a frozen, fully-known graph, optimized planners (Hub Labels, CH) answer in microseconds and CERT shouldn't be used — its value begins only when costs drift. CERT reaches that speed class only through proof, when the certificate says it's safe.
On a bare residual stream, our age-weighted quantile ties fixed-weight NexCP — the real edge over exchangeable conformal is the explicit ρ·age drift term and the sensing loop, not the weighting. Reported, not buried.
Where there is only one route, route-critical sensing provably cannot help — confirmed by a maze negative control. The claim's boundary, not a defect.
On a full year of forest-trail traversal costs, path-level coverage holds at 1.000 but the marginal edge guarantee strains slightly (0.87 vs 0.90) — real winter→summer shifts are harsher than bounded synthetic drift. An honest datapoint, not a perfect one.
Use it
# clone, install, test git clone https://github.com/Archerkattri/CERT-FLOW cd CERT-FLOW python -m venv cert_env && source cert_env/bin/activate pip install -e ".[dev,fast]" pandas h5py tables pytest # 227 tests · core sweep ≈ 100 s
Every figure and table regenerates from a script in scripts/; results live in docs/results/.
@article{attri2026certflow,
author = {Attri, Krishi},
title = {{CERT}: Certified Route Planning
under Drifting Costs},
year = {2026},
doi = {10.31224/7306}
}