Skip to content

Instantly share code, notes, and snippets.

@nickstanisha
Last active January 24, 2016 20:19
Show Gist options
  • Save nickstanisha/d682ee43e9b12dd2b2b6 to your computer and use it in GitHub Desktop.
Save nickstanisha/d682ee43e9b12dd2b2b6 to your computer and use it in GitHub Desktop.
This notebook performs repeated Depth First Searches to estimate answers to this week's FiveThirtyEight riddle (see here: http://fivethirtyeight.com/features/night-falls-a-storm-rolls-in-can-you-cross-the-river/)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# River Crossing Riddle\n",
"<pre>\n",
"=============================&nbsp;\n",
" NORTH SHORE&nbsp;\n",
"=============================&nbsp;\n",
" | | |&nbsp;\n",
" [ ] ... [ ]&nbsp;\n",
" | | |&nbsp;\n",
" ... ... ...&nbsp;\n",
" | | |&nbsp;\n",
" [ ] ... [ ]&nbsp;\n",
" | | |&nbsp;\n",
"=============================&nbsp;\n",
" SOUTH SHORE&nbsp;\n",
"=============================&nbsp; \n",
"</pre>\n",
"This notebook numerically estimates the answer to [this](http://fivethirtyeight.com/features/night-falls-a-storm-rolls-in-can-you-cross-the-river/) riddle from The Riddler series at fivethirtyeight. To summarize:\n",
"\n",
"You are on the north shore at dusk, looking at an Nx(N+1) grid of islands separating you from the South Shore. You can hop from one island to another if they are neighbors (diagonals do not count). During the night a storm comes. During that storm each island has a 50% chance of being destroyed. What is the probability that you will be able to cross the river in the morning?\n",
"\n",
"Approach: DFS and see if we can get to one of the last N+1 islands"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from __future__ import division\n",
"import random"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def neighbors(i, N):\n",
" \"\"\" Args: i (int) : index of current island\n",
" N (int) : number of rows of islands (assumed Nx(N+1) grid\n",
" Returns:\n",
" neighbs (set) : indices of neighboring islands\n",
" \"\"\"\n",
" if i == 0:\n",
" return set(range(1, N+2))\n",
" if i == N*(N+1) + 1:\n",
" return set([i])\n",
" \n",
" neighbs = set([max(0, i-(N+1)), \n",
" min(N*(N+1) + 1, i+(N+1))])\n",
" if i % (N+1) > 1:\n",
" return neighbs.union(set([i-1, i+1]))\n",
" elif i % (N+1) == 1:\n",
" # Left column\n",
" return neighbs.union(set([i+1])) \n",
" else:\n",
" # Right column\n",
" return neighbs.union(set([i-1]))\n",
" \n",
"def madeAcross(N, p=0.5):\n",
" \"\"\"\n",
" Destroys islands w/50% probability, performs DFS\n",
" \n",
" Args: N (int) : number of rows of islands (assumed Nx(N+1) grid)\n",
" Returns: (bool) : True if path exists connecting shores, else False\n",
" \n",
" NOTE: Grid has a total size of N*(N+1) + 2. N*(N+1) for the islands\n",
" and one for each shore. Throughout, grid[0] is considered\n",
" to be the north shore and grid[N*(N+1) + 1] is considered\n",
" to be the soudh shore.\n",
" \"\"\"\n",
" isOpen = [random.random() < p for _ in xrange(N*(N+1) + 2)]\n",
" marked = [False for _ in xrange(N*(N+1) + 2)]\n",
" isOpen[0] = True\n",
" isOpen[-1] = True\n",
" \n",
" stack = [0]\n",
" marked[0] = True\n",
" while stack:\n",
" cur = stack.pop()\n",
" \n",
" # Return success if we are in the last row\n",
" if cur > (N-1)*(N+1):\n",
" return True\n",
" \n",
" for nei in neighbors(cur, N):\n",
" if isOpen[nei]:\n",
" if not marked[nei]:\n",
" stack.append(nei)\n",
" marked[nei] = True\n",
" return False"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Experiment and Plots"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"source": [
"import matplotlib\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2x3 Grid was Passable 57583/100000 times (57.583 %)\n",
"3x4 Grid was Passable 48552/100000 times (48.552 %)\n",
"4x5 Grid was Passable 41353/100000 times (41.353 %)\n",
"5x6 Grid was Passable 35743/100000 times (35.743 %)\n",
"6x7 Grid was Passable 31478/100000 times (31.478 %)\n",
"7x8 Grid was Passable 27293/100000 times (27.293 %)\n",
"8x9 Grid was Passable 24376/100000 times (24.376 %)\n",
"9x10 Grid was Passable 21328/100000 times (21.328 %)\n",
"10x11 Grid was Passable 18947/100000 times (18.947 %)\n",
"11x12 Grid was Passable 16594/100000 times (16.594 %)\n",
"12x13 Grid was Passable 14791/100000 times (14.791 %)\n",
"13x14 Grid was Passable 13002/100000 times (13.002 %)\n",
"14x15 Grid was Passable 11536/100000 times (11.536 %)\n",
"15x16 Grid was Passable 10028/100000 times (10.028 %)\n"
]
}
],
"source": [
"dist = np.array(range(2, 16))\n",
"prob = np.zeros(len(dist))\n",
"\n",
"for i, N in enumerate(dist):\n",
" EXP = 100000\n",
" count = 0\n",
" for _ in xrange(EXP):\n",
" if madeAcross(N):\n",
" count += 1\n",
" \n",
" prob[i] = count*100/EXP\n",
" print \"{}x{} Grid was Passable {}/{} times ({} %)\".format(N, N+1,\n",
" count,\n",
" EXP,\n",
" count*100/EXP)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nSdsXwOzoGJWpQDuCMUsFBDOtjlc3+M/3s6T/boo6WCR5PfqeF//vQqRSUiIjEjtFB1p+TPDBcm2R\nsRc3RX9PLfa6q+DLQalnRI8tJ0hg0gi6nv7K8b9xDzGzzOjjQQQfkP414j/6IVr878RLBMnAIxyn\nW+kod19G0FpxHkFLxZQig2hvIEhcVrr7lQSDkA9Grz0hdx8L/DkayzNmllPC5S8QJHi/isb8YvT4\nymiZh4Gh0dloYwnGwkws8vowg2aPjpOpBUwvMtD2aEtJQ2Chu+87zuuXRl9/MUC09ejsYtcc7z0R\nSVr6n0GkfIwgSCYGAIvNbCrBeJddBGNljooAV5vZTGA+wTf80e6+jmC8SQR4ONq1dLRrqlqxsppH\ny5hN0FKxmWAGTGntIvgAb2tmk8zsaPfUywTJQEOCLpris66Ke55gQG86Xw0AhqDV4gpgtJmNJUj2\n0im5O6V4K8PPCJK8usAfS3jdcIKEpSbB1Oc1AO7+KcFg6kbAUjObRDCr6vvA3hPUq7gZRR5POs7j\n43UrES33APDd6H8fC/jv93Ybwb/Bb8zsd6WMT6RSUiIjUnphZv38xzXu/gXB9OV/Enxj70rQndLf\n3dcWubSAoMsmFWhAMCbmjui5xwhaQwoJZtH8kWCKdMfoCrxHy72fIAnqQDAI9mJ3L7oAXvH4C4s9\nLozGvJdgKvAegrEk2dHja/lqvEhJ3UBHDQcOEUwX/zKhcvfXCVqlVhH829Qg+Pe59b9vcezYo/W6\nlSDhui46pfk/6hG9bhfwdvRY8RWYv0swUDidYLDuVGCgu28pck2Y93x6kXKLJi8zCOpeyH+Psyn6\n772eoAtuOdCFYBzQ74td/wzBe9uYIHk7Xnwnu7iiSMKIFBbqv3URCS86yHc1QWtRV3dfFOeQRCSJ\naUE8EQktushdb4LWoilKYkQk3tS1JCKl0ZKgm2kSXw1WFhGJG3UtiYiISMJSi4yIiIgkLCUyIiIi\nkrCUyIiIiEjCUiIjIiIiCUuJjIiIiCQsJTIiIiKSsJTIiIiISMJSIiMiIiIJS4mMiIiIJCwlMiIi\nIpKwlMiIiIhIwlIiIyIiIglLiYyIiIgkLCUyIiIikrCUyIiIiEjCUiIjIiIiCUuJjIiIiCQsJTIi\nIiKSsNLKszAz+wZwH1AYPVQLaAw0AX4ODARSgUfd/cnyjE1EREQST6SwsPDEV8WAmaUBk4BngXTg\nQuAioCYwDfiGu8+OS3AiIiKSEOLZtfQAsMXdnwYuA55z90J33w0MB4bGMTYRERFJAOXatXSUmdUl\n6GLqFj3UFFhf5JINQJfyjktEREQSS1wSGeBOYJS7r4s+P1bL0JGSblBYWFgYiUTKPDARERGJm1J/\nsMcrkbkG+E6R5+uARkWeNyZolTmuSCTCtm2fxSC0iq9eveqqexJS3ZOv7slab1Ddk7nupVXuiYyZ\n1QLaAFOLHH4DuNXMxgDVgWuBu8o7NhEREUks8WiRaQNsdPeiXUd/B1oB+QQzmJ5w98lxiE1EREQS\nSLknMtEp1e2KHTtCMPhXREREJDSt7CsiIiIJS4mMiIiIJCwlMiIiIpKwlMiIiIhIwlIiIyIiIglL\niYyIiIgkLCUyIiIikrCUyIiIiEjCUiIjIiIiCUuJjIiIiCQsJTIiIiKSsJTIiIiISMJSIiMiIiIJ\nS4mMiIiIJCwlMiIiIpKwlMiIiIhIwlIiIyIiIglLiYyIiIgkLCUyIiIikrCUyIiIiEjCUiIjIiIi\nCUuJjIiIiCQsJTIiIiKSsJTIiIiISMJSIiMiIiIJS4mMiIiIJCwlMiIiIpKwlMiIiIhIwlIiIyIi\nIglLiYyIiIgkLCUyIiIikrCUyIiIiEjCUiIjIiIiCUuJjIiIiCQsJTIiIiKSsJTIiIiISMJSIiMi\nIiIJS4mMiIiIJCwlMiIiIpKwlMiIiIhIwlIiIyIiIglLiYyIiIgkrLTyLtDMugB/AWoCh4G7gXnA\nH4GBQCrwqLs/Wd6xiYiISGIp1xYZM6sCvAP8zt17AL8BhgF3Aa2BjsApwL1m1qs8YxMREZHEU95d\nSwOBFe7+DoC7vwlcDVwGPOfuhe6+GxgODC3n2ERERCTBlHfXUjtgi5k9DeQBu4AfA02B9UWu2wB0\nKefYREREJMGUd4tMOjAIeMLdewOPAW8DGce49kh5BiYiIiKJp7xbZDYCS919NoC7j462zqwCGhW5\nrjFBq0yJ6tWrHpMgE4HqnpxU9+STrPUG1V3CKe9EZizwf2bW3d0/NrP+QAEwCrjNzMYA1YFrCQYA\nl2jbts9iGmxFVa9eddU9CanuyVf3ZK03qO7JXPfSKtdExt23mNmlwN/NrCqwn2Cg70ygDZBP0P30\nhLtPLs/YREREJPGU+zoy7j4F6HuMU98v71hEREQksWllXxEREUlYSmREREQkYSmRERERkYSlREZE\n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\neH1V+IAVFOTnMqaqFKsuY2yWBJuMBBkzuxNY7O43mVkucBNwDpAH3Ojut2eiLhERkZ6upOjgYLPt\n7dBjs6Qh9Nq0Dza1w0sYWz0Qqy6jZngJBfm9a7+otAYZMxsL3AKcCCyODs8ExgDjgFLgeTOb5+5z\n01mbiIhIHBUXFXK8DeF4O7CtgjeE3pr2+0Xl5+UypqqkbY5Nbwg26e6RuRy4A1iVdOx84HZ3bwWa\nzew+4GJAQUZEROQwDehXwPFWwfFWAYRgE3psos0wo2AzixBsaoeXYNEcm9rhJRTGbIfvtAYZd/8C\ngJmdmXR4JNCYdHs1MCGddYmIiPRWA/oVMKWugil1B4LNG4mhqMamtoX6eHYlpf0LuX7mSfSJUZjp\nCZN9O5qFtL8rd6yoKD7CpcSH2p6d1Pbsk63tBrW92x4bGF1dztkzwu3tb+/h1eWbWVy/mf37W6gc\nWkJejC7p7glBpgGoTLpdReiVOaSNG7d1S0E9XUVFsdqehdT27Gt7trYb1PZ0t71m6ABqou0RtmzZ\nkdbnTvZOAlxPCDKzgEvM7CGgGLgI+ExmSxIREZE4yFSQaU36/FagBlgIFAC3ufvTGalKREREYiUj\nQcbdL0n6fD9wZSbqEBERkXiLz2weERERkXYUZERERCS2FGREREQkthRkREREJLYUZERERCS2FGRE\nREQkthRkREREJLYUZERERCS2FGREREQkthRkREREJLYUZERERCS2FGREREQkthRkREREJLYUZERE\nRCS2FGREREQkthRkREREJLYUZERERCS2FGREREQkthRkREREJLYUZERERCS2FGREREQkthRkRERE\nJLYUZERERCS2FGREREQkthRkREREJLYUZERERCS2FGREREQkthRkREREJLYUZERERCS2FGREREQk\nthRkREREJLYUZERERCS2FGREREQkthRkREREJLYUZERERCS2FGREREQkthRkREREJLYUZERERCS2\nFGREREQkthRkREREJLYUZERERCS2FGREREQktvIzXUCCmb0X+C5QCCwCLnX37ZmtSkRERHqyHtEj\nY2aDgTuAC9z9GGAF8P3MViUiIiI9XY8IMsDZwIvuvjy6fSvwrxmsR0RERGKgpwSZkUBj0u3VQLGZ\nDchQPSIiIhIDPSXIpKpjf1qrEBERkVjpKZN9G4ATk26PAJrcfWcn98mpqCju3qp6MLU9O6nt2Sdb\n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\nowAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1d78ca90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"fig.set_figwidth(9)\n",
"fig.set_figheight(6.5)\n",
"fig.suptitle('Probability vs River Width', fontsize=14, fontweight='bold')\n",
"ax.set_xlabel('River Width (Islands)', fontsize=14)\n",
"ax.set_ylabel('Probability of Traveresal after Storm', fontsize=14)\n",
"ax.set_xlim([0, 16])\n",
"ax.set_ylim([0,70])\n",
"plt.xticks(fontsize=12)\n",
"plt.yticks(fontsize=12)\n",
"plt.plot(dist, prob)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"A related question we could ask is \"How weak does the storm have to be before we can almost certainly cross the river the following day?\" You could answer this question by applying [percolation theory](https://en.wikipedia.org/wiki/Percolation_theory) but we can also gain an estimate with the code we've already written."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"survival_prob = np.linspace(0, 1, 101)\n",
"perc_prob = np.zeros(len(survival_prob))\n",
"n_trials = 10000\n",
"N = 9\n",
"\n",
"for i, p in enumerate(survival_prob):\n",
" if p == 0:\n",
" perc_prob[i] = 0\n",
" elif p == 1:\n",
" perc_prob[i] = 1\n",
" else:\n",
" count = 0\n",
" for _ in xrange(n_trials):\n",
" if madeAcross(N, p):\n",
" count += 1\n",
" perc_prob[i] = count/n_trials"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1d8da438>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"fig.set_figwidth(9)\n",
"fig.set_figheight(6.5)\n",
"fig.suptitle('Traversal Probability vs Island Survival Probability (9x10 Grid)', fontsize=14, fontweight='bold')\n",
"ax.set_xlabel('Probability of Island Survival', fontsize=14)\n",
"ax.set_ylabel('Probability of Traveresal after Storm', fontsize=14)\n",
"ax.set_xlim([0, 100])\n",
"ax.set_ylim([-1,101])\n",
"plt.plot(100*survival_prob, 100*perc_prob)\n",
"plt.axvline(x=59, color='0.6', linestyle='--')\n",
"ax.annotate('59%', xy=(61, 35), fontsize=14, color='0.4')\n",
"plt.xticks(fontsize=12)\n",
"plt.yticks(fontsize=12)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This plot estimates the percolation threshold (the island survival probability above which you can almost certainly traverse from one side to the other) to be somewhere around 59%. This is good news since our example is a square lattice, and the [accepted percolation threshold for a square lattice is around 59.3%](https://en.wikipedia.org/wiki/Percolation_threshold)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment