Place your bets

The puck moves; bet on where it lands next. A taller stack means a bigger share, and every stack within ε of the ball pays.

?
see
auto
Place your stacks Tap the felt where you think the puck will land. Drag the felt to turn the table, pinch to zoom, and tap a stack to change its height.
—paid —score ?

?

edit
run
Game settings

The table

—

The math

        

Next position = this matrix × current position. The exporter checks every table is linear before the page sees it.

Preset predictors

One click lays the whole hand; a second click takes it back while the table still holds it untouched.

This run

Runs are pre-recorded draws: Run 3 plays the same noise every time, so only your stacks change. Export records the run, which is what lets the script replay it.

Restart asks for a second press; there is no undo. Keep my layout still applies to the new run.

Table display

Same game either way; the flat table needs no GPU.

What am I actually doing?

Three things on this screen are the three things the package is made of, and the page is a second, visible implementation of the same rule.

the moving pucka stochastic dynamical system with a known drift — the table you picked your stacksa probabilistic predictor: a pmf over where the puck will be, whose heights are its weights the payoutthe epsilon-logarithm score: log of the share of your bet that landed within ε

The table's own movement is given — that is the setting: the nominal model is known, the noise is not. Only the percentages on the stacks matter: a weight on its own is a free parameter, which is why the page never asks you to pick one.

Data

so far — average paid a round—
so far — average score—
par — the best any hand could average—
gap to par—
growth a round — the rate that compounds—

Paid is what a round gave back; score is log of it. The average score is a rate — raise e to it for the growth a round. The average payout does not compound.

This hand, stack by stack

Take your bets with you

Nothing is saved anywhere. Copy puts one hand on the clipboard; Export downloads the run. Score either with python experiments/pmf_betting/run.py --bets your_file.json.

running self-check…