← All demos the budget solve · bb_core.js

Watch a race

Sampled paths under the solved wavefront policy, against the value the solver promised.

The solver prices path-time for your budget and returns a wavefront policy: one kill-below cutoff per time step. Here that policy is applied to actual sampled paths — a Poisson number of them, stepping through the same Markov chain the solver planned over. Paths dropping below the cutoff die (gray); survivors (blue) run to maturity, where the best of them, or the fallback at zero, is the payoff. Races replay continuously and the running mean accumulates.

10.0 100
solving…
What to look for: the running mean of realized maxima must converge to the solver's expected maximum, and the running mean of spent path-time to the solver's expected path-time. The readout monitors the z-score against a time-uniform confidence band of roughly 3.3–3.6 standard errors: under continuous monitoring a correct simulator crosses a plain 2-s.e. band infinitely often (the law of the iterated logarithm), so ordinary excursions past 2 prove nothing. A z-score that leaves the time-uniform band, or grows without shrinking back, falsifies the forward pass. The policy is generally a mixture of a few wavefront atoms (the dashed cutoffs, opacity by weight), and each path independently follows one of them; by Poisson thinning the sampled cloud then has exactly the mixture's intensity, so the targets are exact, not approximate.

Paths are sampled from the identical discrete transition kernel the solver plans over, so the comparison is exact in distribution: any persistent gap is a bug, not discretization. 50 time steps, 301 state points.