Add files via upload
This commit is contained in:
@@ -1150,55 +1150,10 @@
|
|||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"We see that out of these 8 possibilities, if the number of people in the room (the last number in each tuple) \n",
|
"We see that out of these 7 possibilities, if the number of people in the room (the last number in each tuple) \n",
|
||||||
"were anything other than 13, then the friend (who can observe the number of people in the room) would know the ages. Since the `friend2` statement professes continued ignorance, it must be that the number of people in the room is 13. Then the `parent3` statement makes it clear that there can't be 6-year-old twins as the oldest children; it must be 2-year-old twins with an oldest age 9."
|
"were anything other than 13, then the friend (who can observe the number of people in the room) would know the ages. Since the `friend2` statement professes continued ignorance, it must be that the number of people in the room is 13. Then the `parent3` statement makes it clear that there can't be 6-year-old twins as the oldest children; it must be 2-year-old twins with an oldest age 9."
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 34,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"{('B', 'B', 'W'),\n",
|
|
||||||
" ('B', 'W', 'B'),\n",
|
|
||||||
" ('B', 'W', 'W'),\n",
|
|
||||||
" ('W', 'B', 'W'),\n",
|
|
||||||
" ('W', 'W', 'B'),\n",
|
|
||||||
" ('W', 'W', 'W')}"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 34,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"import itertools\n",
|
|
||||||
"\n",
|
|
||||||
"states = {(a, b, c) \n",
|
|
||||||
" for a in 'BW' for b in 'BW' for c in 'BW' \n",
|
|
||||||
" if not (a == b == c == 'B')}\n",
|
|
||||||
"\n",
|
|
||||||
"def logical_hats(states):\n",
|
|
||||||
" return hear(states, response1, resonse2, response3)\n",
|
|
||||||
" \n",
|
|
||||||
"def no_response(states):\n",
|
|
||||||
" \"There is no response if no logician has a \"\n",
|
|
||||||
" \n",
|
|
||||||
"def response1(state): \n",
|
|
||||||
" (a, b, c) = state\n",
|
|
||||||
" return not (b == c == 'B')\n",
|
|
||||||
"\n",
|
|
||||||
"def response2(state):\n",
|
|
||||||
" True\n",
|
|
||||||
" \n",
|
|
||||||
"\n",
|
|
||||||
"hear(states, response1)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|||||||
Reference in New Issue
Block a user