From: Neil Smith Date: Wed, 12 Feb 2014 22:24:25 +0000 (+0000) Subject: Investigation into unknown word probabilities X-Git-Url: https://git.njae.me.uk/?a=commitdiff_plain;h=7bfededb9542780a13f38527c8ff21e89d6c08af;p=cipher-tools.git Investigation into unknown word probabilities --- diff --git a/.gitignore b/.gitignore index 715720a..9f5e769 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ /tmp /__pycache__/* *pyc - +.ipynb* +*.sublime-workspace diff --git a/challenge7.ipynb b/challenge7.ipynb index 23723c2..d7d18f4 100644 --- a/challenge7.ipynb +++ b/challenge7.ipynb @@ -11,9 +11,6 @@ "cell_type": "code", "collapsed": false, "input": [ - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "\n", "from cipherbreak import *\n", "with open('2013/mona-lisa-words.txt') as f:\n", " mlwords = [line.rstrip() for line in f]\n", diff --git a/cipher.sublime-project b/cipher.sublime-project new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/cipher.sublime-project @@ -0,0 +1,2 @@ +{ +} diff --git a/unknown-word-probability-investigation.ipynb b/unknown-word-probability-investigation.ipynb new file mode 100644 index 0000000..75931f9 --- /dev/null +++ b/unknown-word-probability-investigation.ipynb @@ -0,0 +1,177 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "from math import log10\n", + "from cipherbreak import *\n", + "from language_models import *" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "fractions = [1.0]\n", + "for wordlen in range(1, 20):\n", + " known_words = len([w for w in keywords if len(w) == wordlen])\n", + " possible_words = 26 ** wordlen\n", + " fractions += [known_words / possible_words]\n", + "fractions" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 9, + "text": [ + "[1.0,\n", + " 1.0,\n", + " 0.34615384615384615,\n", + " 0.05974055530268548,\n", + " 0.007654668954168271,\n", + " 0.0005913456488541394,\n", + " 3.6129588927177356e-05,\n", + " 1.8010883826943671e-06,\n", + " 7.107795165409739e-08,\n", + " 2.4355817367258945e-09,\n", + " 7.469162662303339e-11,\n", + " 1.979378237044537e-12,\n", + " 4.875878520286003e-14,\n", + " 1.1095648437193016e-15,\n", + " 2.199659830168053e-17,\n", + " 4.185399254019551e-19,\n", + " 6.83349209784038e-21,\n", + " 1.199477188056649e-22,\n", + " 2.0013901045062867e-24,\n", + " 1.5656245928341226e-26]" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.plot(fractions)\n", + "plt.ylabel(\"Probability of word\")\n", + "plt.xlabel(\"Word length\")\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEMCAYAAADEXsFmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0lPW9x/H3QCJgSAMCiWSRAAlJIAtkNSA6gsjSa1TU\nEnvwIkZK6VHb2sWe3tMjtFahevSgUYsLilZzcQGDLUTZBitbuCGKdSNq04So1AApYQskmfvHmJGQ\nhMkyzzwzeT6vc3LMTJ555uucYT7z256fzel0OhEREcvrY3YBIiLiHxQIIiICKBBERORbCgQREQEU\nCCIi8i0FgoiIAAYHwm233UZERAQpKSkdHnPXXXcRHx9PWloa5eXlRpYjIiLnYWggzJ8/n5KSkg7/\nvn79ej777DMqKip46qmnWLRokZHliIjIeRgaCJMnT2bw4MEd/n3dunXMmzcPgJycHOrq6jh48KCR\nJYmISAdMHUOoqakhJibGfTs6OpoDBw6YWJGIiHUFmV3AuVfOsNlsbY5p7z4REfGsK1cnMrWFEBUV\nRXV1tfv2gQMHiIqKavdYp9PZ7Z8FC5w88UT3H9/bfu69917Ta+gtP3ot9Xr6809XmRoIeXl5vPDC\nCwDs2rWLQYMGERER4fXnueQSOCt3RESkHYZ2Gd18881s27aN2tpaYmJiWLJkCWfOnAFg4cKFzJo1\ni/Xr1xMXF0dISAjPPfecIXXExMDGjYacWkSk1zA0EIqKijweU1hYaGQJgCsQ1EL4jt1uN7uEXkOv\npXfp9TSXzdmdjiYfs9ls3eoPa/HZZ3D11fDFF14sSkTEz3X1s9MSgXDqFISFwcmT0EcX6xARi+jq\nZ6clPh7793cFgta8iYh0zBKBAJppJCLiiWUCISYGqqrMrkJExH9ZJhDUQhAROT/LBIJaCCIi52ep\nQFALQUSkY5YJBHUZiYicn2UCQV1GIiLnZ4mFaQBNTTBgABw7Bhdc4KXCRET8mBamdaBvXxg+HGpq\nzK5ERMQ/WSYQQN1GIiLnY6lA0MCyiEjHLBUImnoqItIxywWCuoxERNpnqUBQl5GISMcsFQhqIYiI\ndMxygaAWgohI+ywVCEOGQEMD1NebXYmIiP+xVCDYbGoliIh0xFKBAAoEEZGOWC4QNNNIRKR9lgsE\nzTQSEWmf5QJBLQQRkfZZLhA0hiAi0j5LBoK6jERE2rLMBjktjh2DYcPgxAnXNFQRkd5KG+R4MHCg\na+e02lqzKxER8S+WCwTQOIKISHssGQiaaSQi0pYlA0EDyyIibVkyENRCEBFpy5KBoDEEEZG2LBsI\n6jISEWnNkoGgLiMRkbYMDYSSkhISExOJj49n2bJlbf5eW1vLjBkzGD9+PMnJyTz//PNGluMWFQVf\nfw2NjT55OhGRgGDYSuWmpiYSEhLYtGkTUVFRZGVlUVRURFJSkvuYxYsX09DQwAMPPEBtbS0JCQkc\nPHiQoKCg1kV6caVyi8hI2L3b1X0kItIb+c1K5dLSUuLi4oiNjSU4OJj8/HyKi4tbHTN8+HCOHj0K\nwNGjRxkyZEibMDCKuo1ERFoz7NO3pqaGmLO+fkdHR7N79+5WxyxYsIApU6YQGRlJfX09r7zySofn\nW7x4sft3u92O3W7vUX0tA8sTJ/boNCIifsPhcOBwOLr9eMMCwdaJK8fdf//9jB8/HofDweeff860\nadN4//33CQ0NbXPs2YHgDWohiEhvc+6X5SVLlnTp8YZ1GUVFRVF91idudXU10dHRrY7ZsWMHN910\nEwCjR49m5MiRfPrpp0aV1IrWIoiItGZYIGRmZlJRUUFlZSWnT59m9erV5OXltTomMTGRTZs2AXDw\n4EE+/fRTRo0aZVRJrWgtgohIa4Z1GQUFBVFYWMj06dNpamqioKCApKQkVqxYAcDChQv57W9/y/z5\n80lLS6O5uZk//elPXHTRRUaV1Iq6jEREWrPcBjktvv4aUlPh3//26mlFRPxGVz87LRsIzc2ujXLq\n6lz/FRHpbfxmHYK/69MHoqPhwAGzKxER8Q+WDQTQTCMRkbNZPhA000hExMXSgaCZRiIi37F0IKiF\nICLyHUsHgloIIiLfsXQgaFBZROQ7lg+Eqirw/5UYIiLGs3QghIWBzQb/+Y/ZlYiImM/SgWCzqdtI\nRKSFpQMBNNNIRKSF5QNBM41ERFwsHwjqMhIRcbF8IFxyibqMRERAgaAWgojItzrcMa2srMx9LW2b\nzdbm7+np6YYW5isaVBYRcelwgxy73Y7NZuPkyZOUlZWRmpoKwL59+8jMzGTnzp2+K9KADXJanDwJ\ngwa5/tvH8u0lEelNvLZBjsPhYOvWrURGRrJ3717KysooKyujvLycyMhIrxTrDwYMcC1Q01aaImJ1\nHr8Tf/LJJ6SkpLhvJycn8/HHHxtalK+p20hE5DxjCC1SU1O5/fbbmTt3Lk6nk5dffpm0tDRf1OYz\nLWsRsrPNrkRExDweA+H555/niSeeYPny5QBcfvnlLFq0yPDCfEkzjUREPARCY2MjM2fOZOvWrdx9\n992+qsnn1GUkIuJhDCEoKIg+ffpQV1fnq3pMoctXiIh0ossoJCSElJQUpk2bRkhICOCayvToo48a\nXpyvqIUgItKJQJg9ezazZ892L07raKFaIFMLQUTkPAvTztbQ0MD+/fsBSExMJDg42PDCzmbkwjSA\npibXeoRjx+CCCwx7GhERn+rqZ6fHFoLD4WDevHmMGDECgKqqKlatWsUVV1zR/Sr9TN++cPHFUFMD\nI0eaXY2IiDk8BsLdd9/N22+/TUJCAgD79+8nPz+fvXv3Gl6cL7V0GykQRMSqPK5UbmxsdIcBwJgx\nY2hsbDS0KDNoLYKIWJ3HFkJGRkarlcovvfQSmZmZvqjNpzTTSESszuOgckNDA4WFhWzfvh2AyZMn\n85Of/IR+/fr5pEAwflAZoLAQPvoInnjC0KcREfGZrn52egyEzZs3M3HiRAYMGNDj4rrLF4FQXAzP\nPANvvmno04iI+IzXLn/dYtWqVaSlpZGTk8OvfvUr3nzzTY4cOdKjIv2RttIUEavr1DoEgC+//JLX\nXnuNhx56iC+//NKnA8u+aCHU1sKYMXD4sKFPIyLiM15vIbz44ossXLiQG264gU2bNnHHHXfwzjvv\ndOrkJSUlJCYmEh8fz7Jly9o9xuFwMGHCBJKTk7Hb7Z0u3NuGDIFTp1yL00RErMhjC2HIkCGMHj2a\nRYsWYbfbGdnJifpNTU0kJCSwadMmoqKiyMrKoqioiKSkJPcxdXV1TJo0ibfeeovo6Ghqa2sZOnRo\n2yJ90EIASEiAN96As0oUEQlYXm8h1NbWsnLlSk6dOsX//M//kJ2dzdy5cz2euLS0lLi4OGJjYwkO\nDiY/P5/i4uJWx7z88svccMMNREdHA7QbBr6ktQgiYmUeA6G+vp6qqir+9a9/UVlZSV1dHX06sRt9\nTU0NMTEx7tvR0dHU1NS0OqaiooLDhw9z5ZVXkpmZyYsvvtiN/wXv0VoEEbEyjwvTLrvsMiZNmsTk\nyZO544473N/mPenMFVHPnDnD3r172bx5MydOnCA3N5dLL72U+Pj4NscuXrzY/bvdbjdkvEFXPRWR\nQOZwOHA4HN1+vMdA2LdvX7dOHBUVRfVZn67V1dVtwiQmJoahQ4cyYMAABgwYwOWXX87777/vMRCM\nEhMDO3YY/jQiIoY498vykiVLuvR4z30/3ZSZmUlFRQWVlZWcPn2a1atXk5eX1+qYa6+9lnfffZem\npiZOnDjB7t27GTt2rFEleaQuIxGxMo8thG6fOCiIwsJCpk+fTlNTEwUFBSQlJbFixQoAFi5cSGJi\nIjNmzCA1NZU+ffqwYMECUwNBXUYiYmUdTju95557WLZsGa+88go/+MEPfF1XK76adnrsGISHw/Hj\n0Ms2hRMRC/LatNO//e1vOJ1OHnjgAa8UFggGDoT+/eHQIbMrERHxvQ67jGbOnMngwYM5duwYoaGh\nrf5ms9k4evSo4cWZoWUtgslLIkREfK7DFsKDDz5IXV0ds2bNor6+vtVPbw0D0MCyiFiXx0HldevW\ncfDgQfbs2QNAdnY24eHhhhdmFg0si4hVeZx2+sorr5Cdnc0rr7zC6tWryc7O5tVXX/VFbabQ5StE\nxKo8thDuu+8+9uzZ424VfPPNN0ydOpWbbrrJ8OLMEBMD3VyLJyIS0Dy2EJxOJ8OGDXPfHjJkiE+m\ngJpFXUYiYlUeWwgzZsxg+vTp/PCHP8TpdLJ69Wpmzpzpi9pMoS4jEbGqTu2Y9vrrr7N9+3YAJk+e\nzPXXX294YWfz1cI0gNOnXesRTp6Evn198pQiIobo6mdnp7fQNJMvAwEgMhJKS6GTF3YVEfFLXt8g\nx4rUbSQiVqRAaMcll2hxmohYj8dAWLduHc3Nzb6oxW+ohSAiVuQxEFavXk1cXBy//vWv+eSTT3xR\nk+l0+QoRsSKPgfDSSy9RXl7OqFGjuPXWW8nNzeWpp56ivr7eF/WZQmsRRMSKOjWGEBYWxo033sic\nOXP48ssvWbt2LRMmTODRRx81uj5TqMtIRKzIYyAUFxdz/fXXY7fbOXPmDHv27GHDhg3s27ePhx9+\n2Bc1+pwGlUXEijyuVF6zZg0///nPufzyy1vdf+GFF/LMM88YVpiZwsPh6FE4dcq1YY6IiBV4bCFE\nRES0CYN77rkHgKuuusqYqkzWp49rcdqBA2ZXIiLiOx4DYePGjW3uW79+vSHF+BN1G4mI1XTYZfTk\nk0/yxBNP8Pnnn5OSkuK+v76+nkmTJvmkODNpYFlErKbDQPjhD3/IzJkz+c1vfsOyZcvc18MIDQ1l\nyJAhPivQLAoEEbGaDgPBZrMRGxvL448/js1ma/W3w4cPc9FFFxlenJkuuQT27jW7ChER3+kwEG6+\n+Wb+9re/kZGR0SYQAP75z38aWpjZYmKguNjsKkREfEeXv+7Avn1w883w4Yc+fVoREa/p6mdnhy2E\nvR76S9LT0ztfVQDS5StExGo6bCHY7fZ2u4pabN261bCizmVGC8HphO99z7UWISzMp08tIuIV2jHN\ni8aNg//9Xzhr1q2ISMDwWpfRli1bmDJlCq+//nq7LYXZs2d3r8IA0jL1VIEgIlbQYSBs27aNKVOm\n8Oabb1o+EERErEBdRufxhz+4LnD3xz/6/KlFRHqsq5+dHq9lVFtby5133smECRNIT0/npz/9KYcO\nHepRkYFCLQQRsRKPgZCfn094eDhr1qzhtddeY9iwYcyZM8cXtZlOgSAiVuKxyyg5OZl//OMfre5L\nSUnhgw8+MLSws5nVZVRRATNmwOef+/ypRUR6zOtdRldffTVFRUU0NzfT3NzM6tWrufrqq3tUZKCI\njoaaGmhuNrsSERHjddhCGDhwoHt20fHjx+nTx5Udzc3NhISEUF9f77siTWohgGv3tH374OKLTXl6\nEZFu81oL4dixY9TX11NfX09zczONjY00NjbS3Nzc6TAoKSkhMTGR+Ph4li1b1uFxe/bsISgoiDVr\n1nS6cF/ROIKIWIXHPZUBjhw5QkVFBadOnXLfd+62mudqamrijjvuYNOmTURFRZGVlUVeXh5JSUlt\njrvnnnuYMWOGaa2A82kJhKwssysRETGWx0B4+umnefTRR6murmbChAns2rWL3NxctmzZct7HlZaW\nEhcXR2xsLOCarVRcXNwmEB577DFuvPFG9uzZ0/3/CwNpK00RsQqPg8rLly+ntLSU2NhYtm7dSnl5\nOWGduNpbTU0NMTEx7tvR0dHU1NS0Oaa4uJhFixYBnPdiemZRl5GIWIXHFkL//v0ZMGAAAKdOnSIx\nMZFPP/3U44k78+H+s5/9jKVLl7oHPs7XZbR48WL373a7Hbvd7vH83hATA37aeBERacXhcOBwOLr9\neI+BEBMTw5EjR7juuuuYNm0agwcPdncDnU9UVBTVZ321rq6uJjo6utUxZWVl5OfnA64V0Rs2bCA4\nOJi8vLw25zs7EHxJXUYiEijO/bK8ZMmSLj2+S9cycjgcHD16lBkzZnDBBRec99jGxkYSEhLYvHkz\nkZGRZGdnU1RU1GYMocX8+fO55ppr2r1onpnTTqur4dJLXesRREQCidcuf322srIy3n33XWw2G5dd\ndpnHMAAICgqisLCQ6dOn09TUREFBAUlJSaxYsQKAhQsXdrpIMw0fDt98A6dPQyf+t0VEApbHFsLv\nf/97Xn31VWbPno3T6aS4uJgbb7yR3/3ud76q0dQWAri6jd55BzrRUyYi4je8vmPamDFj2LdvH/37\n9wfg5MmTpKWlsX///p5V2gVmB8KkSbB0KUyebFoJIiJd5vVrGUVFRXHy5En37VOnTrUZHO7tNLAs\nIlbQ4RjCnXfeCUBYWBjjxo1zX9Bu48aNZGdn+6Y6P6G1CCJiBR0GQkZGBjabjczMTK677jr3ugK7\n3e6XC8iMFBMDn3xidhUiIsbqMBBuvfVW9+8NDQ3uMYPExESCg4MNL8yfXHIJvP222VWIiBjL47RT\nh8PBvHnzGDFiBABVVVWsWrWKK664wvDi/IW6jETECjzOMkpPT6eoqIiEhAQA9u/fT35+Pnv37vVJ\ngWD+LKNDh2DUKDh8GPr2Na0MEZEu8foso5YVxy3GjBlDY2Nj96oLUEOGQGQkvPee2ZWIiBjHY5dR\nRkYGt99+O3PnzsXpdPLSSy+RmZnpi9r8ytSpsHkzZGSYXYmIiDE8dhk1NDRQWFjI9u3bAZg8eTI/\n+clP6Nevn08KBPO7jADWroU//xneesvUMkREOs2rK5UbGxtJTk7mE5PnXPpDIBw54pptVFsLPsxC\nEZFu8+oYQlBQEAkJCfzrX//qcWGBbvBgSEyEXbvMrkRExBgexxAOHz7MuHHjyM7OJiQkBHClzrp1\n6wwvzt+0jCNYaMatiFiIxzGEbdu2AbRqdthsNp+uQ/CHLiOAjRth8WL4djhFRMSveW0M4eTJk/z5\nz3/ms88+IzU1ldtuu820Fcr+EggnTkB4OHz1FYSGml2NiMj5eW0MYd68eZSVlZGamsr69ev55S9/\n6ZUCA9mFF0JWlmtvBBGR3qbDFkJKSgoffPAB4JptlJWVRXl5uU+La+EvLQSA++5zrVh++GGzKxER\nOT+vtRCCgoLa/d3qWgaWRUR6mw5bCH379uXCCy903z558iQDBgxwPchm4+jRo76pEP9qITQ2wtCh\nsH+/azxBRMRfdfWzs8Ov/k1NTV4pqLcJCoLLL4etW2HOHLOrERHxHo8Xt5O21G0kIr2RAqEbFAgi\n0hspELph3Dg4fhwqK82uRETEexQI3WCzwZQpaiWISO+iQOgmdRuJSG/j8VpG/sCfpp22qKyESy91\nXcbCZjO7GhGRtry+haa0LzYWQkLgww/NrkRExDsUCD2gbiMR6U0UCD2gQBCR3kRjCD3wzTcQH+/a\nVlOXexIRf6MxBB8aNgxGjID/+z+zKxER6TkFQg+p20hEegsFQg9NnQqbNpldhYhIz2kMoYfq62H4\ncPj3v107qomI+AuNIfhYaCikpcH27WZXIiLSMwoEL9A4goj0BoYHQklJCYmJicTHx7Ns2bI2f3/p\npZdIS0sjNTWVSZMmsW/fPqNL8joFgoj0BoaOITQ1NZGQkMCmTZuIiooiKyuLoqIikpKS3Mfs3LmT\nsWPHEhYWRklJCYsXL2bXrl2ti/TjMQSAhgbXtppVVTB4sNnViIi4+NUYQmlpKXFxccTGxhIcHEx+\nfj7FxcWtjsnNzSUsLAyAnJwcDhw4YGRJhujXDyZOBIfD7EpERLrP0PW1NTU1xMTEuG9HR0eze/fu\nDo9/9tlnmTVrVrt/W7x4sft3u92O3W73Vple0dJtdP31ZlciIlblcDhw9OCbqaGBYOvCdaG3bt3K\nypUr2d7BdJ2zA8EfTZ0Kc+eaXYWIWNm5X5aXLFnSpccb2mUUFRVFdXW1+3Z1dTXR0dFtjtu3bx8L\nFixg3bp1DA7QTvjx411rEWpqzK5ERKR7DA2EzMxMKioqqKys5PTp06xevZq8vLxWx1RVVTF79mz+\n8pe/EBcXZ2Q5hurbF668ErZsMbsSEZHuMbTLKCgoiMLCQqZPn05TUxMFBQUkJSWxYsUKABYuXMjv\nf/97jhw5wqJFiwAIDg6mtLTUyLIM0zKOcMstZlciItJ1unSFF+3f7wqFqiptqyki5vOraadWEx/v\n+m9Fhbl1iIh0hwLBi2w2rVoWkcClQPAyBYKIBCqNIXjZl19CSopre80+ilsRMZHGEEwWGQnh4fDe\ne2ZXIiLSNQoEA6jbSEQCkQLBAAoEEQlEGkMwwJEjMGIE1NbCBReYXY2IWJXGEPzA4MGQkADnbOsg\nIuLXFAgGUbeRiAQaBYJBFAgiEmg0hmCQEycgIgK++goGDjS7GhGxIo0h+IkLL4TMTHjnHbMrERHp\nHAWCgdRtJCKBRIFgIAWCiAQSjSEYqLERhg51XQ572DCzqxERq9EYgh8JCoLJk2HrVrMrERHxTIFg\nMHUbiUigUCAYbOpU2LTJ7CpERDxTIBgsORmOHYPKSrMrERE5PwWCwbStpogECgWCDygQRCQQaNqp\nD1RWwqWXui5jYbOZXY2IWIWmnfqh2FgICYEPPzS7EhGRjikQfETdRiLi7xQIPpKXBw8/DNu3m12J\niEj7gswuwCr+67+guRluvBFuvRWWLNH2miLiX9RC8KG8PHj/ffjoI8jJ0ZiCiPgXBYKPhYfDG2/A\nnXeC3Q6PPOJqOYiImE3TTk30xRfw3//t6jp6/nm45BKzKxKR3kTTTgPIqFGwbRtcfbVrd7W//AV6\nYe6JSIBQC8FPlJfD3Lkwbhw8+SQMGWJ2RSIS6NRCCFATJkBZGURHQ1oavPWW2RWJiNWoheCHtmxx\nTU3Ny4M//QkuvNDsikQkEKmF0AtMmQL79sF//uNqOZSWml2RiFiBoYFQUlJCYmIi8fHxLFu2rN1j\n7rrrLuLj40lLS6O8vNzIcgLKoEHw4ovwhz/ANde4FrKdOeOdczscDu+cSPRaepleT3MZFghNTU3c\ncccdlJSU8NFHH1FUVMTHH3/c6pj169fz2WefUVFRwVNPPcWiRYuMKidg/eAHsHcv7NgBkya5ZiJt\n3uxa1HboUPdmJekfnffotfQuvZ7mMuzSFaWlpcTFxREbGwtAfn4+xcXFJCUluY9Zt24d8+bNAyAn\nJ4e6ujoOHjxIRESEUWUFpKgoKCmBZ56B9evh66+/+zl2DCIi4OKLW/8MH972Po1FiMj5GBYINTU1\nxMTEuG9HR0eze/duj8ccOHBAgdAOmw0WLHD9nO3UKfj3v117LZwdFB98ABs3fnf7q69cC+AiIlxj\nE2vWQJ8+bX9stvbvP/cYT/s6dGbfh96wN8T+/a7ZYeIdej2/M2eOayq6LxkWCLZO/ms/dwS8o8d1\n9nzSsYYGqK93/f7NN0vMLaYX2b9fr6U36fV0+etf4ZZbfPuchgVCVFQU1dXV7tvV1dVER0ef95gD\nBw4QFRXV5lxWmnIqImIWwwaVMzMzqaiooLKyktOnT7N69Wry8vJaHZOXl8cLL7wAwK5duxg0aJC6\ni0RETGJYCyEoKIjCwkKmT59OU1MTBQUFJCUlsWLFCgAWLlzIrFmzWL9+PXFxcYSEhPDcc88ZVY6I\niHji9GMbNmxwJiQkOOPi4pxLly41u5yAN2LECGdKSopz/PjxzqysLLPLCTjz5893hoeHO5OTk933\nHTp0yHnVVVc54+PjndOmTXMeOXLExAoDS3uv57333uuMiopyjh8/3jl+/Hjnhg0bTKwwcFRVVTnt\ndrtz7NixznHjxjmXL1/udDq7/v7025XKnVnHIF1js9lwOByUl5dTquXPXTZ//nxKSkpa3bd06VKm\nTZvG/v37mTp1KkuXLjWpusDT3utps9m4++67KS8vp7y8nBkzZphUXWAJDg7mkUce4cMPP2TXrl08\n/vjjfPzxx11+f/ptIJy9jiE4ONi9jkF6xqkB+m6bPHkygwcPbnXf2Wtp5s2bxxtvvGFGaQGpvdcT\n9B7tjosvvpjx48cDMHDgQJKSkqipqeny+9NvA6G9NQo1NTUmVhT4bDYbV111FZmZmTz99NNml9Mr\nnL2QMiIigoMHD5pcUeB77LHHSEtLo6CggLq6OrPLCTiVlZWUl5eTk5PT5fen3waC1h143/bt2ykv\nL2fDhg08/vjj/P3vfze7pF7FZrPpfdtDixYt4p///Cfvvfcew4cP5xe/+IXZJQWUY8eOccMNN7B8\n+XJCQ0Nb/a0z70+/DYTOrGOQrhk+fDgAw4YN4/rrr9c4ghdERETw9ddfA/DVV18RHh5uckWBLTw8\n3P3Bdfvtt+s92gVnzpzhhhtu4JZbbuG6664Duv7+9NtA6Mw6Bum8EydOUP/tMuXjx4/z9ttvk5KS\nYnJVgS8vL49Vq1YBsGrVKvc/ROmer776yv372rVr9R7tJKfTSUFBAWPHjuVnP/uZ+/4uvz8Nnw/V\nA+vXr3eOGTPGOXr0aOf9999vdjkB7YsvvnCmpaU509LSnOPGjdPr2Q35+fnO4cOHO4ODg53R0dHO\nlStXOg8dOuScOnWqpp12w7mv57PPPuu85ZZbnCkpKc7U1FTntdde6/z666/NLjMg/P3vf3fabDZn\nWlpaqym7XX1/BsSOaSIiYjy/7TISERHfUiCIiAigQBARkW8pEEREBFAgSC/x85//nOXLl7tvT58+\nnQVnbS/3i1/8gkceeaRb53Y4HFxzzTWdvr+niouLW123y263U6ZtxMQHFAjSK1x22WXs2LEDgObm\nZg4dOsRHH33k/vvOnTuZNGlSp87V3NxsSI2dtXbt2la1a/Wz+IoCQXqF3Nxcdu7cCcCHH35IcnIy\noaGh1NXV0dDQwMcff0x6ejqbN28mPT2d1NRUCgoKOH36NACxsbH85je/ISMjg1dffZWSkhKSkpLI\nyMhg7dq1Hp//+PHj3HbbbeTk5JCens66desAeP7555k9ezYzZ85kzJgx3HPPPe7HPPvssyQkJJCT\nk8OPfvQj7rzzTnbu3Mmbb77Jr371K9LT0/niiy8AePXVV8nJySEhIYF3333X2y+fCGDgBjkivhQZ\nGUlQUBA7gveeAAADEklEQVTV1dXs3LmT3Nxcampq2LlzJ9/73vdITU2lqamJ+fPns2XLFuLi4pg3\nbx5PPvkkP/3pT7HZbAwdOpSysjJOnTrFmDFj2Lp1K6NHj2bOnDkev6X/8Y9/ZOrUqaxcuZK6ujpy\ncnK46qqrAHj//fd57733uOCCC0hISOCuu+7CZrNx3333UV5ezsCBA5kyZQrjx48nNzeXvLw8rrnm\nGmbPnu0+f1NTE7t372bDhg0sWbKEjRs3Gvp6ijWphSC9xsSJE9mxYwc7duwgNzeX3NxcduzY4e4u\n+vTTTxk5ciRxcXGA63LA77zzjvvxc+bMAeCTTz5h5MiRjB49GoC5c+d6vCTz22+/zdKlS5kwYQJX\nXnklDQ0NVFVVYbPZmDp1KqGhofTr14+xY8dSWVlJaWkpV1xxBYMGDSIoKIibbrqp1XOc+3wt4ZCe\nnk5lZWWPXyuR9qiFIL3GpEmT2L59Ox988AEpKSnExMTw0EMPERYWxm233dbmeKfT2eqbf0hISLvn\n7exi/jVr1hAfH9/qvt27d9OvXz/37b59+9LY2NimxXHuc5z795ZztDxexAhqIUivMXHiRP76178y\nZMgQbDYbgwcPpq6ujp07dzJx4kTGjBlDZWUln3/+OQAvvvgiV1xxRZvzJCYmUllZ6e6/Lyoq8vjc\n06dP59FHH3XfLi8vB9oPE5vNRlZWFtu2baOuro7GxkZef/11dwiEhoZy9OjRrr8AIj2kQJBeIzk5\nmUOHDnHppZe670tNTWXQoEFcdNFF9O/fn+eee46bbrqJ1NRUgoKC+PGPfwy0/kbev39/nnrqKb7/\n/e+TkZFBREREu2MIZ19f/ne/+x1nzpwhNTWV5ORk7r333jbHnC0yMpLf/va3ZGdnc9lllzFy5EjC\nwsIAyM/P58EHHyQjI8MdSuc+r4gRdHE7EZMcP36ckJAQGhsbmT17NgUFBVx77bVmlyUWphaCiEkW\nL17MhAkTSElJYdSoUQoDMZ1aCCIiAqiFICIi31IgiIgIoEAQEZFvKRBERARQIIiIyLcUCCIiAsD/\nA6P5Ivy3tPMPAAAAAElFTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.plot([log10(f) for f in fractions])\n", + "plt.plot([log10(f) for f in fractions], 'bo')\n", + "plt.ylabel(\"Log probability of word\")\n", + "plt.xlabel(\"Word length\")\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.plot([log10(f) for f in fractions], 'bo')\n", + "plt.plot([i for i in range(2,20)], [-(i-2) for i in range(2,20)], 'g-')\n", + "plt.ylabel(\"Log probability of word\")\n", + "plt.xlabel(\"Word length\")\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n/w+H/CoI41pxawAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 41 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.plot([log10(f) for f in fractions], 'bo')\n", + "plt.plot([i for i in range(2,20)], [-(i-2) for i in range(2,20)], 'g-')\n", + "plt.plot([i for i in range(2,20)], [-(i-3)*1.5 for i in range(2,20)], 'r-')\n", + "plt.ylabel(\"Log probability of word\")\n", + "plt.xlabel(\"Word length\")\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file