Mind Reader

You think you're random. You are not.

Runs in this tab keyboard Source ↗
Playable now Press R, P or S — or click below. Give it twenty rounds and watch the red line climb.
You
·
0
Throw something
0 draws · 0 rounds
Model
·
0
What it thinks it knows about you
no data yet
1

Is it actually beating you?

2

Which theory is winning

Seven experts each predict your next throw from a different angle. Every round they are scored on how surprised they were, and their weight is scaled accordingly. Watch which one takes over.

?

How it works

Humans cannot generate random sequences

Asked to be unpredictable, people over-alternate, avoid repeating themselves, and switch after losing. All of those are patterns, and patterns are learnable. You are not playing against a random number generator — you are playing against a model of your habits.

Seven experts, combined by multiplicative weights

Rather than pick one theory of how you play, the model runs several and lets the evidence decide. Each round every expert takes a loss equal to the surprise of what you actually threw, and its weight is scaled by exp(−η · loss) — the Hedge algorithm.

Hedge is the right combiner rather than "use whichever expert is best so far" because its regret against the best single expert grows as O(√(T log N)). The ensemble cannot end up much worse than whichever theory turns out to be right — including the uniform one.

Which is why it does not beat a coin

Played against a genuinely random opponent over twelve games of 300 rounds, it wins 32.9% — against a chance baseline of 33.3% — and the uniform expert ends up holding 90% of the weight. It correctly concludes there is nothing to learn.

That is the test that matters. Anything looks clever on biased data; a predictor that "beats" a fair coin is one that has fooled its own author. Against players with a pattern it is ruthless:

OpponentModel win rate
truly random32.9% (chance)
avoids repeating itself53.8%
70% rock79.2%
win-stay, lose-shift99.6%
cycles rock → paper → scissors99.6%
always rock100%

It commits before it sees you

The model picks its throw before your move is registered, and the committed move is only revealed afterwards. Choosing after would make it unbeatable and pointless — the claim is that it predicts, not that it peeks.

The hand shapes are not learned, and that's deliberate

Rock, paper and scissors are separated by which fingers are extended, which is a geometric question with an exact answer. Training a model to rediscover that would be ceremony. It measures extension against the hand's own palm width so it works at any distance, and returns nothing for an ambiguous shape rather than stealing a round off you.