{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Some Variations of Banach's Matchbox Problem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Banach's matchbox problem is a good entry point into stochastic stopping problems. A man buys two matchbooks and puts one in each of his two pockets. He then selects a matchbox at random from either pocket, uses a single match, and then returns the matchbox to the same pocket. This problem is slightly different from the classic matchbox problem in that when the last match is taken, the sequence ends. In the classic problem, discovery of the empty box happens only when the empty box is selected **after** being emptied.\n", "\n", "The question is: **What is the probability of $k$ matches in the remaining matchbox? **\n", "\n", "The problem is given two matchbooks containing $n$ matches each and with a matchbook placed in both the left and right pockets, if a person reaches into one or the other pocket at random with equal probability, what is the probability of there being $k$ matches in the other pocket when the matchbook in the selected pocket is found to be empty? That is, the person keeps reaching alternatively and at random to sample a match from either pocket until one of the pockets is exhausted of matches.\n", "\n", "This is easy to code up in Python using a generator:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from __future__ import division\n", "from collections import Counter, OrderedDict\n", "import pandas as pd\n", "import random\n", "import numpy as np\n", "from scipy.misc import comb\n", "random.seed(12345)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def step(n=4):\n", " 'keep track of remaining matches in each matchbook'\n", " a = b = n\n", " while a>0 and b>0:\n", " if random.randint(0,1):\n", " a-=1\n", " else:\n", " b-=1\n", " yield (a,b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thus, suppose there are $n=4$ matches in each matchbook, then a valid sequence of draws from the `(left,right`) pocket is the following:\n", "\n", "`[(4, 3), (4, 2), (3, 2), (3, 1), (3, 0)]`\n", "\n", "This means that the first draw is from the right pocket leaving `3` matches there and `4` matches in the left pocket. The next draw again\n", "samples a match from the right pocket leaving `2` matches there and `4` in the left pocket. For the following draw, the left pocket is chosen leaving `3` matches there and `2` matches in the right pocket. This continues until the right pocket is emptied `(3,0)`. We can draw this sequence using the following code:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from __future__ import division\n", "%matplotlib inline\n", "from matplotlib.pylab import subplots,mgrid\n", "\n", "def draw_grid(n=4):\n", " 'draw square grid of `n` dimensions'\n", " fig,ax = subplots()\n", " i,j=mgrid[0:n+1,0:n+1]\n", " ax.scatter(i.flat,j.flat,alpha=.8,color='black')\n", " ax.set_aspect(1)\n", " ax.plot(0,0,'ow',mec='w'); # remove origin\n", " ax.plot([0,]*4,range(1,5),'or',mec='r',ms=10)\n", " ax.plot(range(1,5),[0,]*4,'or',mec='r',ms=10)\n", " return ax\n", "\n", "def draw_path(seq,ax,color='gray',alpha=0.5):\n", " x,y=zip(*seq)\n", " n = max(seq[0])\n", " ax.plot((n,)+x,(n,)+y,marker='o',markersize=20,\n", " alpha=alpha,color=color,lw=5)\n", " ax.set_title('Sequence Length=%d'%(len(x))) \n", " \n", "ax = draw_grid()\n", "draw_path([(4, 3), (4, 2), (3, 2), (3, 1), (3, 0)],ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the figure above, the red circles indicate the termination points where one of the pockets has been emptied. The `(4,4)` point is the starting point with incremental steps moving down and to the left until one of the red circles is encountered. The length of the sequence is indicated in the title. In this case it took five draws in total to exhaust one of the matchbooks and terminate the sequence.\n", "\n", "The classical matchbox problem is to find the probability of termination at a particular circle. For example, what is the probability that the sequence terminates with one match remaining in the other matchbook? In the figure above, this means terminating at `(1,0)` or `(0,1)`.\n", "\n", "Specifically, termination at `(1,0)` means accumulating four steps down and three steps left in any sequence. This is the same as the $n$ *choose* $k$ binomial coefficient $\\texttt{Binom}(n,k)$. We can compute this using `scipy` as the following with $n=7,k=3$:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "35\n" ] } ], "source": [ "print comb(7,3,exact=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The problem with this approach is that we can accidentally count paths that would have terminated earlier. For example," ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = draw_grid()\n", "draw_path([(3, 4), (3, 3), (2, 3), (2, 2), (1, 2), (1, 1), (1, 0)],ax)\n", "draw_path([(4,3), (4, 2), (4, 1), (4, 0), (3, 0), (2, 0), (1, 0)],ax,'blue',.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The blue path would never have gotten so long because it would have encountered the termination point at `(4,0)`. Thus, this straight-forward counting scheme would over-count by including these paths. The following figure shows these valid paths that terminate at `(1,0)`:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nwTYTdyeVVacAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "paths=[[(3, 4),(2, 4),(1, 4),(1, 3),(1, 2),(1, 1),(1, 0)],\n", "[(3, 4),(2, 4),(2, 3),(1, 3),(1, 2),(1, 1),(1, 0)],\n", "[(3, 4),(2, 4),(2, 3),(2, 2),(1, 2),(1, 1),(1, 0)],\n", "[(3, 4),(2, 4),(2, 3),(2, 2),(2, 1),(1, 1),(1, 0)],\n", "[(3, 4),(3, 3),(2, 3),(1, 3),(1, 2),(1, 1),(1, 0)],\n", "[(3, 4),(3, 3),(2, 3),(2, 2),(1, 2),(1, 1),(1, 0)],\n", "[(3, 4),(3, 3),(2, 3),(2, 2),(2, 1),(1, 1),(1, 0)],\n", "[(3, 4),(3, 3),(3, 2),(2, 2),(1, 2),(1, 1),(1, 0)],\n", "[(3, 4),(3, 3),(3, 2),(2, 2),(2, 1),(1, 1),(1, 0)],\n", "[(3, 4),(3, 3),(3, 2),(3, 1),(2, 1),(1, 1),(1, 0)],\n", "[(4, 3),(3, 3),(2, 3),(1, 3),(1, 2),(1, 1),(1, 0)],\n", "[(4, 3),(3, 3),(2, 3),(2, 2),(1, 2),(1, 1),(1, 0)],\n", "[(4, 3),(3, 3),(2, 3),(2, 2),(2, 1),(1, 1),(1, 0)],\n", "[(4, 3),(3, 3),(3, 2),(2, 2),(1, 2),(1, 1),(1, 0)],\n", "[(4, 3),(3, 3),(3, 2),(2, 2),(2, 1),(1, 1),(1, 0)],\n", "[(4, 3),(3, 3),(3, 2),(3, 1),(2, 1),(1, 1),(1, 0)],\n", "[(4, 3),(4, 2),(3, 2),(2, 2),(1, 2),(1, 1),(1, 0)],\n", "[(4, 3),(4, 2),(3, 2),(2, 2),(2, 1),(1, 1),(1, 0)],\n", "[(4, 3),(4, 2),(3, 2),(3, 1),(2, 1),(1, 1),(1, 0)],\n", "[(4, 3),(4, 2),(4, 1),(3, 1),(2, 1),(1, 1),(1, 0)]]\n", "\n", "ax = draw_grid()\n", "for i in paths:\n", " draw_path(i,ax,alpha=.1)\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's change our perspective slightly. Instead let's examine the probability of a sequence of a certain length and see if we can use that to answer the classic question. To start with, the following figure shows valid four-long sequences. The diagonal elements are indicated in green and these are the termination points for all four-long sequences. There are $2^4=16$ such sequences." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nBoD/Dy+l+hm56tpSAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = draw_grid()\n", "for i in zip(range(5)[::-1],range(5)):\n", " ax.plot(i[0],i[1],'sg',ms=15,alpha=.3)\n", "draw_path([(3,4),(2,4),(1,4),(0,4)],ax)\n", "draw_path([(4,3),(4,2),(4,1),(4,0)],ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because only two of the sixteen valid sequences result in termination, the probability of termination with a four-long sequence is $P_4 = \\frac{2}{16}= \\frac{1}{8}$. Now let's examine the diagonal elements with the following labels." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQMAAAEACAYAAAC3RRNlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAF0xJREFUeJzt3X901fWd5/HnOwJZfmUD1apH1h+9EVoKhWw1LWWHXKyd\n8Qdi3e3UpNtB5syZwx5gxhmq2Ol2FTln53Q6Lnt21LpdbY04xtKxp0J3OgVtTFPNXcOIdAgoEdTE\nKv4AIrkZm0DCe/+4X0IS8uOG+839fhNej3O+x5v7/dzv93Wvua98f3G+5u6IiBREHUBE4kFlICKA\nykBEAioDEQFUBiISUBmICAATwliImb0JHANOAifcvSyM5YpI/oRSBmRKIOnurSEtT0TyLKzdBAtx\nWSISgbC+wA48Y2Y7zexPQ1qmiORRWLsJi939kJldQKYUXnH350NatojkQShl4O6Hgv9+YGY/BcqA\nPmVgZvpHECIRcXcbbkzOuwlmNsXMpgWPpwK/DzQOEihW0z333BN5hrGQKa65lCm7KVthbBlcCPw0\n+Ms/AXjC3XeEsFwRyaOcy8Dd3wAWhpBFRCJ0Tp8OTCaTUUc4QxwzQTxzKVO4bCT7FDmtyMzztS4R\nOc3M8HwcQBSR8UFlICKAykBEAioDEQFUBiISUBmICKAyEJGAykBEAJWBiARUBiICqAxEJKAyEBFA\nZSAiAZWBiAAqAxEJqAxEBFAZiEhAZSAigMpARAIqAxEBVAYiElAZiAigMhCRgMpARACVgYgEQrkl\n+5iTTkNjcKPo+fNh2rRo84jEQGhlYGYFwD8Dv3X35WEtN1StrbB6NezcCS0tmecuvRSuugoeeghm\nzIg2n0iEQrvXopn9JfBZoGigMoj8XoutrfDFL8LLLw88v7QUfvlLFYKMO3m916KZzQJuAB4JY3mj\nYvXqwYsAMvPWrMlfnn5SqRSrVq1i1apVpFKpyHL0F8dcyjRK3D3nCfgHYCFQDmwbZIxHpq3NPZFw\nh6GnRMI9nc57vPr6ei8pKfFEIuGJRMJLSkq8vr4+7znGQi5lGrnguzfs9zjnLQMzuxF4z913AxZM\n8dLYePoYwVBaWk4fWMyjqqoq3J3i4mKKi4txd6qqqvKeYyzkUqbRE8YBxMXAcjO7AZgMTDezze6+\nov/ADRs29DxOJpMkk8kQVi8ivdXW1lJbWzvi14V2ABHAzMqBb3jcDiC2t8PChXDw4NDjEgnYvTvv\npxpTqRQrVqw4tTuFmbF582YWLVqU1xxjIZcyjVy2BxDPjTIAqKiALVuGHlNZCdXV+cnTTyqV6tm0\nXLlyZWx+keKYS5lGJpIyGHJFUZeBTi3KOUplMJDW1szpw4aGvhcdlZXBgw+qCGRcUhkMJZ2GvXsz\nj+fN0+XIMq6pDEQEyPMViCIy9qkMRARQGYhIQGUgIoDKQEQCKgMRAVQGIhJQGYgIoDIQkYDKQEQA\nlYGIBFQGIgKoDEQkoDIQEUBlICIBlYGIACoDEQmoDEQEUBmISEBlICKAykBEAiqDmNp+YDvlVeWj\nsuzj3ce58v4raTrSNCrLl7FJZRBT63asY2NyIwA1b9Rw7eZrOf+751NwbwHvpN8Z8rVNR5pY9INF\nnP/d8yn+TjHzvjePh196uGf+pPMmsf4L67ljxx2j+h5kbFEZxND2A9s50X2C8sszWwZTJ07ltgW3\n8fgtj2M2/B3vL552MX9/y9/zwZ0f8OE3P+TJ//Qk337u2zz7+rM9YyrmVVDzRg2vt74+au9DxpZz\nswzSaUilMlN7e9RpzrB1/1au/cS1PT9/btbn+KMFf8TcC+Zm9frphdNJzEz0KQ7D2H94f58xV19y\nNdv2bwsvuIxpE6IOkFetrbB6Nezc2fdei1ddBQ89FJt7Le46tIuvf+brOS9nwf9eQNORJjq7Opl/\n4Xwq51f2mT//4/PZdWhXzuuR8SHnMjCzQqAOmBQs7yl3vzfX5YZusLswHzyYmZqaYnMX5taOVooK\ni3Jezm/+y2/oPtlNXXMddc11TJ04tc/8osIi7SZIj5x3E9y9E1jq7qXAQuB6MyvLOVnYVq8e/Hbs\nkJm3Zk3+8vSTSqVYtWoVq1atYmLXRNo620JZ7nkF57H0iqW8/6/vs/FXG/vMa+tsY+bkmVnnSqVS\noWTKlTKNjlB2E9z9o+BhYbDMeN1hNZ3O7BoMp6Ehcwwhz3dlTqVSrFixglM3pv2g/QNqptewtmxt\naOvoOtnFa0df6/Nc4/uN3DT7pqxz1dTUsHnzZhYtWhRarpFSptETygFEMysws5eBd4Fn3D2Lb14e\nNTaePkYwlJaWzNg8q6qqwt0pLi6muLiYqS1TqXmzpme+u9PZ1UlHVwfuTkdXB51dnT2/fM0fNlNw\nbwF1zXUA7Di4g4a3GzjRfYKuk11sfXUrT+x5ghuuvKFnme3H22l4u4Hlc5ZnncvdqaqqGp0PIUvK\nNHrC2jI4CZSaWRHwtJnNdfd9/cdt2LCh53EymSSZTIax+nFnyqEpdHgHdc11LLlsCXXNdSx9bClm\nhplR8nclmBnP3fYcSy5bQvOxZmZMnsGCCxcAmc3/ddvX0XKshQkFE7hixhVs+oNNrFy4smcd1Xuq\nueaKa0jMTET0LmW01NbWUltbO/IXunuoE/DfgHUDPO+RSafdEwl3GHpKJDJj86y+vt5LSko8kUh4\nIpHwkpIS37Rtk5c/Wp7V6++uudvve+G+rNfX2dXps++f7fsP7x9xrvr6+qzXMxqUaeSC796w311z\nz2333szOB064+zEzmwxsB77j7j/vN85zXVdOKipgy5ahx1RWQnV1fvL0k0qlejYtV65cGZv9zTjm\nUqaRMTPcfdir1cIog/nAY2SOPxQAW9z9vw8wLtoyGOzU4imlpbE5tSgSpryVQbYiLwPIFMKaNZmz\nBr0vOiorgwcfVBHIuKQyGEo6DXv3Zh7Pm5f3U4ki+aQyEBEg+zI4N/+hkoicQWUgIoDKQEQCKgMR\nAVQGIhJQGYgIoDIQkYDKQEQAlYGIBFQGIgKoDEQkoDIQEUBlICIBlYGIACoDEQmoDEQEUBmISEBl\nICKAykBEAioDEQFUBiISUBnIiGw/sJ3yqvJRWfbx7uNcef+VNB1pGpXly9BUBjIi63asY2NyIwCb\nUpv47P/5LMXfKebi/3ExFU9V8NaxtwZ97Yu/fZFl1cu46L6LmPE3M7j64avZ+urWnvmTzpvE+i+s\n544dd4z6+5AzqQwka9sPbOdE9wnKL89sGZzoPsED1z/A+3e+z4E/O8CUiVNY9uSyQV9/9HdHqZhX\nwb41+2i9q5Vv/963qfxJJS+981LPmIp5FdS8UcPrra+P+vuRvs7Nm6ik09DYmHk8f77uqJSl1f+4\nGoDv3fi9AefvP7yfud+by5H1Ryj+N8VZLXPRDxZx66dv5S8+/xc9zy19bCk3z7m5z3Ny9nQTlYG0\ntmbutFxaCuXlmWnhwswdmltbo04Xe7sO7WLuBXMHnf/s688yq2hW1kXwbvu77H1/LwsvWtjn+fkf\nn8+uQ7tyyiojNyHXBZjZLGAzcCFwEnjY3f8u1+WGbrC7MB88mJmamnQX5mG0drRSVFg04Lz6t+r5\nq1/+FT/+wx9ntayPTnzEV378FW6acxPJy5N95hUVFmk3IQI5lwHQBaxz991mNg14ycx2uPurISw7\nPKtXD347dsjMW7MGqqvzl6mXVCpFVVUVACtXrmTRokWR5Oivd66Jn5pIW2fbGWN+3fxrvrzlyzyy\n/BGuK7lu2GWmO9Mse3IZF027iMe+/NgZ89s625g5eWZWmeLyWcUx04i5e6gT8DTwxQGe98i0tbkn\nEu4w9JRIuKfTeY9XX1/vJSUlnkgkPJFIeElJidfX1+c9x3C5ir5W5Lc8ckufMb947Rc+4zsz/OlX\nns5qmUc+OuJlD5f5137yNe8+2T3gmKVVS31T/aasMsXhs4pjpt6C796w391QjxmY2eXAQuDFMJeb\ns8ZGaGkZflxLy+kDi3lUVVWFu1NcXExxcTHu3vNXJkr9c01tmUrNmzU983+y7yd89amv8sR/fIKb\nP3nzGa9v/rCZgnsLqGuuA+C99vdY8ugS5l4wl8dveZwCO/PXr/14Ow1vN7B8zvKsMsXhs4pjprMR\nxm4CAMEuwlPA7e7ePtCYDRs29DxOJpMkk8mwVi95MOXQFDq8g7rmOpZctoQ7n7mT3534Hbc+dSsA\njmMY+9bsY1bRLJqPNTNj8gwWXLgAgO+/9H1eOfwKzceaeWrfUwAYxrd+71t88z98E4DqPdVcc8U1\nJGYmonmT40BtbS21tbUjf2E2mw/DTWRK5RdkimCwMaO2GTSsdFq7CSHl2rRtk5c/Wp7V6++uudvv\ne+G+rNfX2dXps++f7fsP7x9Rpqg/qzhm6o0sdxNCuc7AzDYDh9193RBjPIx1nbWKCtiyZegxlZU6\ngNhPHHMp08hke51BzmVgZouBOmAP4MH0LXf/Rb9x0ZbBYKcWTykt1alFGZfyVgbZirwMIFMIa9ZA\nQ8PpA4qXXgplZfDggyoCGZdUBkNJp2Hv3szjefN0ObKMayoDEQH0bxNEZIRUBiICqAxEJKAyEBFA\nZSAiAZWBiAAqAxEJqAxEBFAZiEhAZSAigMpARAIqAxEBVAYiElAZiAigMhCRgMpARACVgYgEVAYi\nAqgMRCSgMhARQGUgIgGVgYx52w9sp7yqfFSWfbz7OFfefyVNR5pGZflxojKQMW/djnVsTG4E4IGG\nB5jzwBxm/M0MLvjbC7j+ievZ896eQV/b0dXBV//hq8y+fzbnbTyPv/71X/eZP+m8Saz/wnru2HHH\nqL6HOFAZyJi2/cB2TnSfoPzyzJbBjVfeSOpPUrTe1cqhbxziS5/4EjdU3zDo6w1j8b9bzMM3Pczn\nLvncgGMq5lVQ80YNr7e+PirvIS7OzTJIpyGVykztA949XsaIrfu3cu0nru35+YoZVzBz8kwATvpJ\nCqyAd9Lv0H584P/PhRMKuf3zt1N+eTmFEwoHHDO9cDpXX3I12/ZvC/8NxMiEqAPkVWsrrF4NO3f2\nvdfiVVfBQw/pXotj0K5Du/j6Z77e57kXWl5g2ZPLaOtswzDWf2E90ybldgu9+R+fz65Du3JaRtyF\nUgZm9gNgGfCeu38mjGWGbrC7MB88mJmamnQX5jGotaOVosKiPs8tvnQxrXe10tbZxmO7H2NW0ayc\n11NUWDTudxPC2jJ4FLgf2BzS8sK3evXgt2OHzLw1a6C6On+ZekmlUlRVVQGwcuVKFi1aFEmO/uKY\nq3emiZ+aSFtn24DjigqLWFu2lpnfncncC+Yy5/w5Z73Ots62nt2P4TLF5XMaqVDKwN2fN7PLwljW\nqEinM7sGw2loyBxDyPNdmVOpFCtWrODUjWlramrYvHlz5L9QcczVP9MH7R9QM72GtWVrBxzf7d0c\n7z7OwdaDOZVB4/uN3DT7pqwyxeFzOhvnxgHExsbTxwiG0tKSGZtnVVVVuDvFxcUUFxfj7j1/ZaIU\nx1z9M01tmUrNmzU987//z9/n7ba3ATj80WHW/nwtkydM7jlT0PxhMwX3FlDXXNfzmuPdx+no6uCk\nn6TrZBedXZ10nezqmd9+vJ2GtxtYPmd5Vpni8DmdjbweQNywYUPP42QySTKZzOfqZRyacmgKHd5B\nXXMdSy5bws53drKxbiNtnW1MnzSdskvKeHbFs3xsyscAaD7WzIzJM1hw4YKeZcx5YA4txzJ/LJ5v\neZ57f3Uvty24jR/e/EMAqvdUc80V15CYmcj/GzwLtbW11NbWjvyF7h7KBFwG/MsQ8z0y6bR7IuEO\nQ0+JRGZsntXX13tJSYknEglPJBJeUlLi9fX1ec8xFnINlGnTtk1e/mh5Vq+/u+Zuv++F+7JeX2dX\np8++f7bvP7x/RJmi/px6C757w36HzYP9nFyZ2eXAz9x9/iDzPax1nZWKCtiyZegxlZU6gNhPHHMp\n08iYGe5uw44L4wtqZtVAEvgY8B5wj7s/2m9MtGUw2KnFU0pLdWpRxqW8lkE2Ii8DyBTCmjWZswa9\nLzoqK4MHH1QRyLikMhhKOg1792Yez5uX91OJIvmkMhARIPsyODeuMxCRYakMRARQGYhIQGUgIoDK\nQEQCKgMRAVQGIhJQGYgIoDIQkYDKQEQAlYGIBFQGIgKoDEQkoDIQEUBlICIBlYGIACoDEQmoDEQE\nUBmISEBlICKAykBEAioDEQFUBiISUBmICKAyEJHAhKgDSCCdhsbGzOP58+Nzy7c45lKm0ZHNfduH\nm4DrgFeBJuCuQcaEeMf5ceToUfeKCvdEwn3ixMyUSLjfemtmnnIpU46C797w3+NsBg25gMyuxgHg\nMmAisBv45ADj8vG+x5ajR91LSzP/GwaaSkuj+YWKYy5lOmv5LIPPA//U6+dvDrR1EKcySKfT3tHR\n4R0dHZ5Op6MLUlEx+C/SqamyUrmUKSfZlkEYBxAvAd7q9fNvg+diqb29nWnTplFYWEhhYSHTpk2j\nvb09/0HSadi5c/hxDQ2Qz3xxzKVMeXHOnU2YOHFiVs+NusZGaGkZflxLy+kDU/kQx1zKlBdhnE14\nG7i018+zgufOsGHDhp7HyWSSZDIZwupFpLfa2lpqa2tH/sJs9iWGmoDzOH0AcRKZA4ifGmBcPnaP\nhjXQMYJIjhuk05mjzsPtcyYSmbHnci5lygn5Ombg7t3AWmAHsBf4kbu/kutyR8upYwSdnZ10dnb2\nHEOIIAhcddXw48rK8nvOOo65lCk/smmMMCZismUQK3E9NRXHXMp01sjXqcVsJ5XBII4ezZx+6n/R\nSmVl9BcdxS2XMp2VbMvAMmNHn5l5vtY1JqXTsHdv5vG8efHZtIxjLmUaETPD3W3YcSoDkfEt2zI4\n564zEJGBqQxEBFAZiEhAZSAigMpARAIqAxEBVAYiElAZiAigMhCRgMpARACVgYgEVAYiAqgMRCSg\nMhARQGUgIgGVgYgAKgMRCagMRARQGYhIQGUgIoDKQEQCKgMRAVQGIhJQGYgIoDIQkUBOZWBmXzGz\nRjPrNrN/H1YoEcm/XLcM9gC3AL8KIUve1dbWRh3hDHHMBPHMpUzhyqkM3H2/u78GDHsftziK4/+4\nOGaCeOZSpnDpmIGIADBhuAFm9gxwYe+nAAf+q7v/bLSCiUh+hXJLdjN7DviGu+8aYozuxy4SkWxu\nyT7slsEIDLmybMKISHRyPbX4ZTN7C/g88H/N7J/CiSUi+RbKboKIjH15PZsQp4uUzOw6M3vVzJrM\n7K4oswR5fmBm75nZv0Sd5RQzm2VmNWa218z2mNmfxyBToZm9aGYvB5nuiTrTKWZWYGa7zGxb1FlO\nMbM3zew3wefVMNTYfJ9ajMVFSmZWADwA/AHwaaDSzD4ZZSbg0SBPnHQB69z908AiYE3Un5O7dwJL\n3b0UWAhcb2ZlUWbq5XZgX9Qh+jkJJN291N2H/JzyWgYxukipDHjN3Zvd/QTwI+DmKAO5+/NAa5QZ\n+nP3d919d/C4HXgFuCTaVODuHwUPC8kcBI98X9fMZgE3AI9EnaUfI8vv+bl60dElwFu9fv4tMfgl\njzMzu5zMX+IXo03Sszn+MvAu8Iy774w6E/A/gTuJQTH148AzZrbTzP50qIFhnloEdJHSeGRm04Cn\ngNuDLYRIuftJoNTMioCnzWyuu0e2eW5mNwLvuftuM0sS/ZZvb4vd/ZCZXUCmFF4JtkLPEHoZuPuX\nwl7mKHgbuLTXz7OC56QfM5tApgged/etUefpzd3bggveriPaffXFwHIzuwGYDEw3s83uviLCTAC4\n+6Hgvx+Y2U/J7CIPWAZR7iZE2Z47gRIzu8zMJgEVQByOABvx+qsC8ENgn7v/r6iDAJjZ+Wb2b4PH\nk4EvAa9Gmcndv+Xul7r7J8j8LtXEoQjMbEqwVYeZTQV+H2gcbHy+Ty3G4iIld+8G1gI7gL3Aj9z9\nlSiynGJm1UA9MNvMWszsj6PME2RaDPxn4Jrg1NQuM7su4lgXA8+Z2W4yxy+2u/vPI84UVxcCzwfH\nV/4f8DN33zHYYF10JCLAuXs2QUT6URmICKAyEJGAykBEAJWBiARUBiICqAxEJKAyEBEA/j/z66GC\nb+KQrQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = draw_grid()\n", "for i in zip(range(1,4)[::-1],range(1,4)):\n", " ax.text(i[0],i[1],'(%d,%d)'%i,fontsize=13,color='g')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the labels to compute the number of paths that terminate at each of the diagonal elements.\n", "\n", "| Label | Number of Paths|\n", "|-------|----------------|\n", "| (1,3) | $\\texttt{binom}(4,1)=4$|\n", "| (2,2) | $\\texttt{binom}(4,2)=6$|\n", "| (3,1) | $\\texttt{binom}(4,1)=4$|\n", "\n", "This means that there are `16-2=4+6+4=14` paths out of the initial group of `16` that have yet to terminate. Now, let's consider sequences of length five. The following figure shows the migration of paths to the next lower diagonal corresponding to the five-long sequences." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# construct matrix of indices for convenience\n", "i,j=np.meshgrid(range(5),range(4,-1,-1))\n", "m= i+1j*j\n", "\n", "ax = draw_grid()\n", "for i in np.diagonal(m,-1):\n", " ax.plot(i.real,i.imag,'sg',ms=15,alpha=.3)\n", "\n", "for i in np.diagonal(m,0):\n", " if i.real==0 or i.imag==0: continue\n", " ax.text(i.real,i.imag,'(%d,%d)'%(i.real,i.imag),fontsize=13,color='g')\n", "\n", "# add arrow markers\n", "heads=map(lambda i:(i.real,i.imag),np.diagonal(m,0))[1:-1]\n", "\n", "for i,j in heads:\n", " t=(i-1,j)\n", " ax.annotate(\"\",xy=(i-1,j),xytext=(i,j),\n", " arrowprops=dict(width=.5,color='green'),\n", " )\n", " ax.annotate(\"\",xy=(i,j-1),xytext=(i,j),\n", " arrowprops=dict(width=.5,color='green'),\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that two arrows end up at red termini. There are `28=2*14` paths in total (because each diagonal element can go either down or right). Of these `28`, eight terminate on a red circle. Thus, under these conditions, the probability of a terminating five-long sequence is therefore $p_5 = \\frac{8}{28}=\\frac{2}{7}$. Next, we can draw the next layer corresponding to six-long sequences." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAPj/a1z2S73q3q4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = draw_grid()\n", "for i in np.diagonal(m,-2):\n", "# if i.real==0 or i.imag==0: continue\n", " ax.plot(i.real,i.imag,'sg',ms=15,alpha=.3)\n", " \n", "for i in np.diagonal(m,-1):\n", " if i.real==0 or i.imag==0: continue\n", " ax.text(i.real,i.imag,'(%d,%d)'%(i.real,i.imag),fontsize=13,color='g')\n", "\n", "for i in np.diagonal(m,-2):\n", "# if i.real==0 or i.imag==0: continue\n", " ax.text(i.real-0.5,i.imag-0.5,'(%d,%d)'%(i.real,i.imag),fontsize=13,color='blue')\n", "\n", " \n", "# add arrow markers\n", "heads=map(lambda i:(i.real,i.imag),np.diagonal(m,-1))[1:-1]\n", "\n", "for i,j in heads:\n", " t=(i-1,j)\n", " ax.annotate(\"\",xy=(i-1,j),xytext=(i,j),\n", " arrowprops=dict(width=.5,color='green'),\n", " )\n", " ax.annotate(\"\",xy=(i,j-1),xytext=(i,j),\n", " arrowprops=dict(width=.5,color='green'),\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the last stage, there were `8` out of `28` paths that terminated. That leaves `20` paths still in play and therefore `40` paths on the indicated diagonal. In terms of our earlier accounting, we have\n", "\n", "| Label | Number of Paths|\n", "|-------|----------------|\n", "| (1,2) | 10|\n", "| (2,1) | 10|\n", "\n", "\n", "For the next layer, we have the following:\n", "\n", "| Label | Number of Paths|\n", "|-------|----------------|\n", "| (0,2) | 10|\n", "| (2,0) | 10|\n", "| (1,1) | 20|\n", "\n", "With this accounting, the probability of termination with a six-long\n", "sequence is $p_6=\\frac{20}{40}=\\frac{1}{2}$. Finally, because all paths going through `(1,1)` terminate at either `(1,0)` or `(0,1)`, we have $p_7=1$.\n", "\n", "To assemble all these results, recall we have\n", "$$ P_4=\\frac{1}{8}$$\n", "\n", "and also, because $p_4 = P(T_5| \\hat{T}_4)$ where $T_5$ is the probability of termination in five steps and $\\hat{T}_4$ is the probability of not terminating in four steps, we have\n", "\n", "$$ P_5 = p_5 (1-P_4) = \\frac{2}{7} \\frac{7}{8}=\\frac{1}{4}$$\n", "\n", "Likewise for $P_6$,\n", "\n", "$$ P_6 = p_6 (1-P_4)(1-p_5) = \\frac{1}{2}\\frac{7}{8}\\frac{5}{7} =\\frac{5}{16}$$\n", "\n", "Finally, for $P_7$, we have the following:\n", "\n", "$$ P_7 = p_7 (1-P_4)(1-p_5)(1-p_6) = 1\\frac{7}{8}\\frac{5}{7}\\frac{1}{2} =\\frac{5}{16}$$\n", "\n", "Note that\n", "\n", "$$ P_4+P_5+P_6+P_7 = 1 $$\n", "\n", "A quick simulation can bear this out. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Counter({4: 125, 5: 232, 6: 330, 7: 313})" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Counter([len(tuple(step())) for i in range(1000)])" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "We can automate this process in the following code" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from scipy.misc import comb\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 4 6 4 1]\n" ] }, { "data": { "text/plain": [ "(4, 4)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from __future__ import division\n", "n=4\n", "t = np.array([comb(n,i,exact=True) for i in range(n+1)],dtype=int)\n", "print t\n", "t[[0,-1]].sum()/t.sum()\n", "# split\n", "(t[1],t[-2])" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 4, 10, 10, 4])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from numpy.lib.stride_tricks import as_strided\n", "np.hstack([t[1],as_strided(t[1:-1],(2,3-2+1),(t.itemsize,)*2).sum(axis=1),t[-2]])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from scipy.misc import comb" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 4, 6, 4, 1]\n", "0.125\n" ] } ], "source": [ "x=[comb(4,i,exact=True) for i in range(5)]\n", "print x\n", "print x[0]*2/sum(x)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [], "source": [ "a = x.pop(0)\n", "b = x.pop()\n", "x=[ x[0] ]+[ sum(x[slice(i,i+2)]) for i in range(len(x)-1) ]+[ x[-1] ]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.285714285714\n" ] } ], "source": [ "print 2*x[0]/sum(x)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def probstop(n=4):\n", " o=OrderedDict()\n", " k=n\n", " x=[comb(n,i,exact=True) for i in range(n+1)]\n", " o[k]=2*x[0]/sum(x)\n", " while len(x)>2:\n", " a = x.pop(0)\n", " b = x.pop()\n", " x=[x[0]]+[sum(x[slice(i,i+2)]) for i in range(len(x)-1)]+[x[-1]]\n", " k+=1\n", " o[k]=2*x[0]/sum(x)\n", " assert o[k]>0\n", " p = OrderedDict()\n", " factor=1\n", " for k,v in o.iteritems():\n", " p[k]=factor*o[k]\n", " factor = factor*(1-v) \n", " return o,p" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [], "source": [ "o,p=probstop(30)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "OrderedDict([(30, 1.862645149230957e-09),\n", " (31, 2.7939677238464355e-08),\n", " (32, 2.1653249859809875e-07),\n", " (33, 1.1548399925231934e-06),\n", " (34, 4.763714969158173e-06),\n", " (35, 1.6196630895137787e-05),\n", " (36, 4.724017344415188e-05),\n", " (37, 0.0001214747317135334),\n", " (38, 0.000280910317087546),\n", " (39, 0.0005930328916292638),\n", " (40, 0.0011564141386770643),\n", " (41, 0.002102571161231026),\n", " (42, 0.003591892400436336),\n", " (43, 0.005802287723781774),\n", " (44, 0.008910656147236296),\n", " (45, 0.0130689623492799),\n", " (46, 0.01837822830367486),\n", " (47, 0.024864661822618928),\n", " (48, 0.032462197379530267),\n", " (49, 0.041004880900459284),\n", " (50, 0.05023097910306262),\n", " (51, 0.059798784646503116),\n", " (52, 0.0693122276584468),\n", " (53, 0.07835295300520073),\n", " (54, 0.08651471894324247),\n", " (55, 0.09343589645870187),\n", " (56, 0.0988264289467039),\n", " (57, 0.10248666705584109),\n", " (58, 0.10431678611040969),\n", " (59, 0.10431678611040969)])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(p.values())" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax=subplots()\n", "ax.plot(p.keys(),p.values(),'-o')" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w=pd.Series(Counter([len(tuple(step(30))) for i in range(5000)]))\n", "(w/5000.).plot(ax=ax,marker='s')" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fig" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax=subplots()\n", "ax.plot(p.keys(),np.cumsum(p.values()),'-o')\n", "ax.grid()" ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-1, 100.0, -1, 100.0)" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nnEchsucUKgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax=subplots()\n", "fig.set_size_inches((10,5))\n", "for i in range(150):\n", " x,y=zip(*tuple(step(100)))\n", " ax.plot(x,y,'o-',color='gray',alpha=.1/5.)\n", " ax.plot(x[-1],y[-1],'sg',alpha=.3)\n", "ax.set_aspect(1)\n", "ax.axis(xmin=-1,ymin=-1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "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 }