Method

How a replayable simulation works

A simulation answers a probability question by playing the game many times and counting. The trouble with publishing one is that a reader has to take the count on trust. This site publishes the run in a form a reader can check.

Chunks with their own random streams

Each run is split into chunks (usually 1,000). Chunk k draws its random numbers from its own stream: xoshiro128**, seeded through splitmix32 from the page's seed combined with k. Every operation is 32-bit integer arithmetic, and dice and names are drawn by rejection rather than by remainder, so a browser reproduces each draw exactly. The site publishes every chunk's counts.

The three checks

  1. Totals. Your browser adds up every chunk and confirms the result equals the headline counts.
  2. The exact answer. Where one exists, your browser computes it by a separate method with no random numbers (a Markov chain, an exact recursion, or a counting formula) and confirms the simulation lands within chance of it.
  3. Replays. You pick chunks, or let your browser pick them at random. It replays each from scratch, and every count must match.

What the replays add up to

If a fraction f of chunks had been invented, a single random replay would land on one with probability f, and n replays would miss them all with probability (1 − f)n. A handful of replays rules out large-scale invention. Small edits need many replays to rule out, so the site records every reader's replays and shows the running total on each page. The server compares each reported replay with the published chunk. When a reader reports a mismatch, the server replays that chunk itself before counting it, so a broken browser or a false report can't mark a good chunk as bad.

The tally of matching replays is only as honest as the readers reporting them: someone could report a match without replaying anything. That is why your own replays, run in your own browser, are what you should trust.

Independent simulations

The run and the replay are two copies of one program, so a match proves the numbers were computed, not that the program plays the right game. Two things check the program itself: the exact answer wherever one exists, and simulations written independently by local language models from the plain-English rules alone. Their results, code included, are on the model scoreboard.

Where there is no exact answer

For some questions, like a Secret Santa hat draw with more than 14 people, the exact method takes too long. There the simulation stands alone. It earns trust by matching the exact answer at every size where one can be computed, by agreeing with the independent simulations, and by being replayable.

The code

Every file whose fingerprint (sha256) appears in a receipt is published under code/.