Strategy & Theory intermediate

How an AI Learns to Beat You at Rock-Paper-Scissors

June 30, 2026

The first time a machine beats you at rock-paper-scissors, it feels like it's reading your mind. You throw rock, it had paper waiting. You switch to scissors, it shows up with rock. Three in a row and you start to wonder if the screen is somehow sneaking a look at your hand before you commit.

It isn't. The truth is smaller than that, and more humbling. The bot has no idea what you're about to throw. It can't see your hand and it isn't guessing your soul. It's keeping a ledger. Every throw you've ever made against it sits in a little table, sorted not by what you threw but by when — and that table is enough. The trick behind the curtain isn't prophecy. It's bookkeeping.

It isn't predicting the future. It's pricing your past.

Here is the only thing the bot actually believes about you: you are not random. That's it. That's the entire edge. It doesn't need to be right about your next move; it only needs you to be wrong about your own.

So it watches. Not your face — your sequence. It logs every throw and, crucially, the situation each throw came out of. Then it asks the one question that pays: after a situation like this one, what does this human tend to do?

Think of a card counter. He isn't predicting the next card; that's unknowable. He's tracking what's already gone so he knows which way the remaining deck is tilted, and he sizes his bet to the tilt. Or think of a market-maker quoting you a price. He doesn't know where the stock is going. He's seen ten thousand orders that look like yours, he knows the kind of trader who sends them, and he prices your order flow against the habit, not the hunch. The RPS bot is doing the cheaper version of the same job. It's pricing your order flow.

What you leak without knowing it

The leaks live in the conditional patterns — the things you do given what just happened. People are remarkably consistent here, and almost none of them know it.

After a win, most players repeat. They just took rock, rock felt lucky, rock comes again. After a loss, most players flinch away — they abandon the move that just got beaten and rotate to the one that would have beaten the thing that beat them. After a tie, people get itchy and switch, because two rocks in a row feels too obvious to do a third time, so they don't.

None of these are rules you agreed to. They're just the grain of the wood. The bot tallies them into a small model of you: after this player wins, he repeats 60% of the time; after he loses, he almost never repeats; after two of the same, he bolts. It's not a portrait. It's a frequency sheet. And a frequency sheet is all it takes, because the bot doesn't have to know what you'll throw — it only has to know what you throw more often than a third of the time. Anything above a third is a crack, and it pours its bet into the crack while staying balanced itself, so you get no frequency to read back.

The humbling part: it only wins because you leak

Now the part nobody wants to hear. Sit a genuinely random player down in front of this bot — someone throwing with a perfect inner coin, no memory, no flinch, no lucky rock — and the bot is helpless. It grinds to a coin flip. A third, a third, a third, forever. All that bookkeeping prices a pattern, and a random player has no pattern to price. The model of you goes blank because there's nothing to model.

So the bot isn't strong. You're leaky. It wins the exact amount you bleed and not a cent more. Strip your tendencies away and the most sophisticated reader on earth is left flipping a coin against you. This is the quiet thing the machine teaches: you can't beat it by reading it better. You beat it by becoming unreadable — and you can't, not really, which is the whole lesson and a deeper rabbit hole than the game looks.

You are reading your own work

If this sounds familiar, it should. It's the engine under the table in a far larger game.

A poker exploit engine does nothing more exotic than the RPS bot. It logs your actions by situation — what you do after you raise and get called, what you do on a blank turn, how often you fire the river when the draw bricks — and it builds the same kind of frequency sheet. Then it stops playing the balanced, unbeatable line (which, like equilibrium RPS, was only ever built to be safe) and starts playing the line that punishes your specific cracks. You c-bet too much, it floats wider. You give up too easily, it raises your air. It isn't reading your cards any more than the RPS bot reads your hand.

For the human version of this — how the machines read you and what it costs you across a real game — the same ledger runs, just deeper. It's reading your habits and pricing them — your order flow, one street at a time. When it seems to know your hand, what it actually knows is your frequencies. You are not reading its play. You are reading your own work, played back at you.

That's the whole spectrum in one idea — see how it generalizes in Information and Exploitation, the two Forces that govern every version of this from three throws to a full game tree. And if you want the deep end, where the same machinery runs over thousands of hands and the leaks are subtler and the money is real, there's the poker challenge.

But start small. Go play the bot itself — it'll show you its read as it goes, the running tally of what you do after a win, after a loss, after a repeat. Throw a hundred times and try to confuse it. Watch how hard "random" actually is. The machine isn't finding magic in you. It's finding your tells, the ones you didn't know you had, and holding up a mirror you can't argue with.