What is the chance of four of a kind with 4 dice in three rolls?
Roll 4 dice. Keep every die showing your most common face and re-roll the rest, up to three rolls in all. How often do you end with all 4 the same?
simulated: 10.2080% ± 0.0133% (95%), 2,041,605 of 20,000,000 games
The chance of rolling four of a kind with 4 dice in three rolls (keeping your most common face between rolls) is 10.203%. Worked out exactly and confirmed by 20,000,000 simulated games that you can replay on this page.
What the computer did
- Games
- 20,000,000 (1,000 chunks of 20,000, in 1 segment)
- Compute
- 0.03 CPU-hours; 0.00 hours on arm64, 16 cores, Darwin 25.5.0
- Engines
- Python 3.14.8; every segment is spot-checked by replaying chunks in the other language
- Ran
- 2026-10-31T14:35:44Z to 2026-10-31T14:35:52Z
- Seed
- 61888033 (from this page's address); chunk k uses xoshiro128** seeded by splitmix32(seed ⊕ k·0x9E3779B1)
- Exact method
- Markov chain over every possible roll
- Code
- sims/rng.py sha256 b81126f5f114cdf1…
sims/kinds/dice.py sha256 8eb1c4cbdc0ad59a…
site_src/sims.js sha256 5cd91ae0e3f8246e…
All 1 segments of this run
Three checks your browser runs
The totals add up. Adding up every published chunk…
It agrees with the exact answer. Your browser is working out the exact answer by a separate method…
The chunks are real. Pick chunks below and your browser replays them from the published seed. Each must match to the last game.
Replay any chunk
The run is split into 1,000 chunks of 20,000 games. Each chunk has its own random stream, built from the seed and the chunk number, so any one of them can be replayed alone. Your browser picks which ones at random, so the run could not have been prepared for your choice.
No chunks replayed yet. Each cell above is a chunk; replayed ones turn solid.
| Chunk | Published | Your browser | All counts | Games | ms |
|---|
What your replays rule out
Suppose someone had made up a share of the chunks instead of running them. These are the chances your replays so far would have landed on at least one made-up chunk.
Breakdown against the exact answer
| Outcome | Simulated | Exact | Off by (std. errors) |
|---|---|---|---|
| All 4 the same on roll 1 | 0.4621% | 0.4630% | -0.54 |
| All 4 the same on roll 2 | 3.4123% | 3.4079% | +1.08 |
| All 4 the same on roll 3 | 6.3336% | 6.3318% | +0.33 |
| Ended with a best group of 3 | 40.6204% | 40.6343% | -1.26 |
| Ended with a best group of 2 | 47.0284% | 47.0197% | +0.78 |
| Ended with a best group of 1 | 2.1432% | 2.1433% | -0.05 |
Independent simulations by local models
Each model below was given only the rules of this family of questions, in plain English, and asked to write its own simulation. It never saw our code. Its program was run in a sandbox on two test cases and compared with the exact answers.
- gemma4:26b agrees z = -0.06; z = +1.30
- gpt-oss:20b agrees z = +1.57; z = -0.79
- qwen2.5-coder:7b disagrees z = -4.95; z = +69.90
- qwen3.6:27b-mlx agrees z = +1.24; z = -0.09
What a match proves, and what it doesn't
- A matching chunk proves those games come from the published code and seed. Nobody could guess every count exactly without playing the games.
- It does not prove the code plays the game described. That is what the exact answer and the independent simulations are for.
- The run (Python) and the replay (JavaScript) were written by the same author, so they are two copies of one program. Their agreement shows the numbers were computed, not invented.
- One reader replaying a few chunks rules out large fakes, not small ones. Every reader's replays are added up, so together they cover the ledger.
Related questions
- What is the chance of four of a kind with 4 dice in two rolls?
- What is the chance of five of a kind with 5 dice in one roll?
- What is the chance of four of a kind with 4 dice in one roll?
- What is the chance of five of a kind with 5 dice in two rolls?
- What is the chance of three of a kind with 3 dice in three rolls?
- What is the chance of five of a kind with 5 dice in three rolls?