13 Probability using combinations
13 Probability using combinations#
%%html
<iframe width="700" height="400" src="https://www.youtube.com/embed/Xqfcy1rqMbI/" frameborder="0" allowfullscreen></iframe>
import itertools
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats, special
flips = np.arange(1, 9, 1)
total_outcomes = 2 ** 8
c = list(itertools.combinations(flips, 3))
c
[(1, 2, 3),
(1, 2, 4),
(1, 2, 5),
(1, 2, 6),
(1, 2, 7),
(1, 2, 8),
(1, 3, 4),
(1, 3, 5),
(1, 3, 6),
(1, 3, 7),
(1, 3, 8),
(1, 4, 5),
(1, 4, 6),
(1, 4, 7),
(1, 4, 8),
(1, 5, 6),
(1, 5, 7),
(1, 5, 8),
(1, 6, 7),
(1, 6, 8),
(1, 7, 8),
(2, 3, 4),
(2, 3, 5),
(2, 3, 6),
(2, 3, 7),
(2, 3, 8),
(2, 4, 5),
(2, 4, 6),
(2, 4, 7),
(2, 4, 8),
(2, 5, 6),
(2, 5, 7),
(2, 5, 8),
(2, 6, 7),
(2, 6, 8),
(2, 7, 8),
(3, 4, 5),
(3, 4, 6),
(3, 4, 7),
(3, 4, 8),
(3, 5, 6),
(3, 5, 7),
(3, 5, 8),
(3, 6, 7),
(3, 6, 8),
(3, 7, 8),
(4, 5, 6),
(4, 5, 7),
(4, 5, 8),
(4, 6, 7),
(4, 6, 8),
(4, 7, 8),
(5, 6, 7),
(5, 6, 8),
(5, 7, 8),
(6, 7, 8)]
len(c) / total_outcomes
0.21875
special.comb(len(flips), 3) / total_outcomes
0.21875