← 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. Verdicts are issued only at doubling checkpoints (32, 64, 128, … races), each an empirical-Bernstein bound for payoffs bounded by the grid edge, with levels summing to 1%: a correct simulator shows FAILED with probability at most 1% over the whole session, however long you watch. The z-score is informational only; it wanders past 2 routinely under continuous monitoring, and that proves nothing. 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.