Testing Probabilities¶
This worksheet is designed to test out what “very large” means when looking at particular outcomes. Recall that if you have $n_r$ possible outcomes for a given outcome labeled $r$ when there are $N$ total possible outcomes, such that
$$ N = \sum_r n_r $$then the probability that you will obtain outcome $r$ is
$$ P_r = \frac{n_r}{N}. $$In reality, however, if you perform an event $M$ times (say flip a coin, roll a die, etc.), then you’ll obtain each outcome $m_r$ times, where this could be any value, even zero, regardless of what you would expect probabilistically. The fraction of outcomes that correspond to $r$ is given by $m_r/M$, where I dub this an “experimental probability.” This is generally different every time you perform some number $M$ of experiments. Only in the limit $M\to\infty$ will this “experimental probability” correspond to the actual probability $P_r$.
In this worksheet, you can decide how many outcomes there are (flipping a coin = 2 outcomes, rolling a six-sided die = 6 outcomes, etc.), and then decide how many total times you will choose a result (that is, how many coins will you flip, dice you will roll, and so forth).
Skip down to the “Run calculations” section if you just wish to test the code. In that case, you can just click “Run all” in the Cell menu above (if you are using CoLab, this is in the Runtime menu). This will run the line that states
run_experiments()
and then you’ll be prompted to enter $n$, the number of outcomes, and then $M$, the number of times you’ll choose those outcomes (e.g., how many coins flipped or dice rolled).
You can also change what you see in the input line to look like
run_experiments(n=4,M=10)
where the number after $n=$ is the number of outcomes and that after $M=$ is the number of times they are chosen. This particular choice would give a simulation of rolling a four-sided die 10 times. After you have run the notebook once, you can then add lines below and hit “shift-enter” to run other experiments.
Things to try out:
Run the “experiments” for a fixed $n$ and increasing $N$. Tabulate the results and see how they approach the theoretical probability.
Go to the the “Functions” section and determine how to make each outcome occur with a different probability. Currently all outcomes are equally likely.
Functions¶
In this section, we have imported libraries that we need in order to simulate these outcomes. If you’re only interested in playing around with the results, just “run” the entire notebook and move to the next section. If you’re interested in coding and wish to modify this, have at it!
Run calculations¶
Type
run_experiments( )
and hit Enter to test this out. If you do this, you’ll be asked for the number of outcomes ($n$) and the number of total “flips” ($N$). Alternatively you could type
run_experiments(n = 2, M = 100)
to simulate flipping 100 coins (so there are two outcomes) or say
run_experiments(n = 6, M = 100)
to roll 100 six-sided dice.
You will then see the results in the form:
The outcome r = ## occurs #### times.
P(exp) = ##
P(th) = ##
for each outcome. P(exp) is the fraction of results that occurred (so an “experimental” probability) and P(th) is the theoretical probability you would calculate. Note in all cases, we consider all individual outcomes equally likely.
Test out the same setup (same number of outcomes) for larger and larger values of $M$, to see that the experimental and theoretical probabilities agree.