{{ drag.type === 'make' ? '🏀' : '❌' }} {{ drag.type === 'make' ? 'Make' : 'Miss' }}
Probability Simulation

Uniform Model: Coin Flip

A fair coin has a 50% chance of landing on Heads. This is the Theoretical Probability. Let's see what happens in a real experiment.

Tap to Flip ({{ flips.length }}/10)
Theoretical (Heads): 50%
Experimental (Heads): {{ flips.length > 0 ? Math.round((headsCount / flips.length) * 100) + '%' : '--%' }}
{{ headsCount }} H
{{ flips.length - headsCount }} T

Non-Uniform Model: Basketball

A player makes {{ bballTarget }}% of their free throws. Build a spinner model to simulate this.

Drag to Build
🏀 Make
 
Miss
Spinner Slots (Each slot = 25%)
Current Model: {{ currentSpinnerPercent }}% Make
Perfect model!

Law of Large Numbers

You built a {{ bballTarget }}% model. Running it 4 times won't always give perfect results. Let's run it many times!

Slide to Spin {{ simCount }} Spins
10 1000

Simulation Results

Theoretical
{{ bballTarget }}%
Experimental
{{ simPercent }}%
🏀 Makes ({{ simResults.makes }}) {{ simPercent }}%
❌ Misses ({{ simResults.misses }}) {{ (100 - simPercent).toFixed(1) }}%
Notice how close the experimental probability gets to the theoretical probability at 1000 spins!

Build a Lottery Model

A lottery has a {{ lotteryTarget }}% chance of winning. Using a 100-ticket model, how many winning tickets should there be?

Tap to Select ({{ lotteryCount }} / {{ lotteryTarget }})

You Did It!

You've built probability models, simulated experiments, and proved the Law of Large Numbers!

Key Takeaways:

  • Uniform Model: All outcomes are equally likely (Coin flip).
  • Non-Uniform Model: Outcomes have different probabilities (Basketball).
  • Simulation: The more trials you run, the closer experimental results get to theoretical predictions!