"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Solution\n",
"\n",
"twice.bar()\n",
"decorate_dice('Two dice')\n",
"twice.mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Exercise 2:** Suppose I roll two dice and tell you the result is greater than 3.\n",
"\n",
"Plot the `Pmf` of the remaining possible outcomes and compute its mean."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"7.393939393939394"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Solution\n",
"\n",
"twice_gt3 = d6.add_dist(d6)\n",
"twice_gt3[2] = 0\n",
"twice_gt3[3] = 0\n",
"twice_gt3.normalize()\n",
"\n",
"twice_gt3.bar()\n",
"decorate_dice('Two dice, greater than 3')\n",
"twice_gt3.mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Bonus exercise:** In Dungeons and Dragons, the amount of damage a [goblin](https://www.dndbeyond.com/monsters/goblin) can withstand is the sum of two six-sided dice. The amount of damage you inflict with a [short sword](https://www.dndbeyond.com/equipment/shortsword) is determined by rolling one six-sided die.\n",
"\n",
"Suppose you are fighting a goblin and you have already inflicted 3 points of damage. What is your probability of defeating the goblin with your next successful attack?\n",
"\n",
"Hint: `Pmf` provides comparator functions like `gt_dist` and `le_dist`, which compare two distributions and return a probability."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Solution\n",
"\n",
"damage = d6.add_dist(3)\n",
"damage.bar()\n",
"decorate_dice('Total Damage')"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solution\n",
"\n",
"hit_points = d6.add_dist(d6)\n",
"damage.ge_dist(hit_points)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The cookie problem\n",
"\n",
"`Pmf.from_seq` makes a `Pmf` object from a sequence of values.\n",
"\n",
"Here's how we can use it to create a `Pmf` with two equally likely hypotheses."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
"Bowl 1 0.6\n",
"Bowl 2 0.4\n",
"dtype: float64"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cookie"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Exercise 3:** Suppose we put the first cookie back, stir, choose again from the same bowl, and get a chocolate cookie. \n",
"\n",
"What are the posterior probabilities after the second cookie?\n",
"\n",
"Hint: The posterior (after the first cookie) becomes the prior (before the second cookie)."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
probs
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Bowl 1
\n",
"
0.428571
\n",
"
\n",
"
\n",
"
Bowl 2
\n",
"
0.571429
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Bowl 1 0.428571\n",
"Bowl 2 0.571429\n",
"dtype: float64"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solution\n",
"\n",
"cookie['Bowl 1'] *= 0.25\n",
"cookie['Bowl 2'] *= 0.5\n",
"cookie.normalize()\n",
"cookie"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Exercise 4:** Instead of doing two updates, what if we collapse the two pieces of data into one update?\n",
"\n",
"Re-initialize `Pmf` with two equally likely hypotheses and perform one update based on two pieces of data, a vanilla cookie and a chocolate cookie.\n",
"\n",
"The result should be the same regardless of how many updates you do (or the order of updates)."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"