Added cat commands to slides
[cipher-training.git] / unknown-word-probability-investigation.ipynb
1 {
2 "metadata": {
3 "name": "",
4 "signature": "sha256:6a52b786de0fbcf68d2da20d0ad155b76414b0e5add50e4d11d9f765911eb884"
5 },
6 "nbformat": 3,
7 "nbformat_minor": 0,
8 "worksheets": [
9 {
10 "cells": [
11 {
12 "cell_type": "code",
13 "collapsed": false,
14 "input": [
15 "%matplotlib inline\n",
16 "import matplotlib.pyplot as plt\n",
17 "from math import log10\n",
18 "from cipherbreak import *\n",
19 "from language_models import *"
20 ],
21 "language": "python",
22 "metadata": {},
23 "outputs": [],
24 "prompt_number": 1
25 },
26 {
27 "cell_type": "markdown",
28 "metadata": {},
29 "source": [
30 "# What fraction of possible words are present in the dictionary?"
31 ]
32 },
33 {
34 "cell_type": "code",
35 "collapsed": false,
36 "input": [
37 "fractions = [1.0]\n",
38 "for wordlen in range(1, 20):\n",
39 " known_words = len([w for w in keywords if len(w) == wordlen]) # Words in the dictionary\n",
40 " possible_words = 26 ** wordlen\n",
41 " fractions += [known_words / possible_words]\n",
42 "fractions"
43 ],
44 "language": "python",
45 "metadata": {},
46 "outputs": [
47 {
48 "metadata": {},
49 "output_type": "pyout",
50 "prompt_number": 2,
51 "text": [
52 "[1.0,\n",
53 " 1.0,\n",
54 " 0.34615384615384615,\n",
55 " 0.05974055530268548,\n",
56 " 0.007654668954168271,\n",
57 " 0.0005913456488541394,\n",
58 " 3.6129588927177356e-05,\n",
59 " 1.8010883826943671e-06,\n",
60 " 7.107795165409739e-08,\n",
61 " 2.4355817367258945e-09,\n",
62 " 7.469162662303339e-11,\n",
63 " 1.979378237044537e-12,\n",
64 " 4.875878520286003e-14,\n",
65 " 1.1095648437193016e-15,\n",
66 " 2.199659830168053e-17,\n",
67 " 4.185399254019551e-19,\n",
68 " 6.83349209784038e-21,\n",
69 " 1.199477188056649e-22,\n",
70 " 2.0013901045062867e-24,\n",
71 " 1.5656245928341226e-26]"
72 ]
73 }
74 ],
75 "prompt_number": 2
76 },
77 {
78 "cell_type": "markdown",
79 "metadata": {},
80 "source": [
81 "# Plot the fractions"
82 ]
83 },
84 {
85 "cell_type": "code",
86 "collapsed": false,
87 "input": [
88 "plt.plot(fractions)\n",
89 "plt.ylabel(\"Probability of word\")\n",
90 "plt.xlabel(\"Word length\")\n",
91 "plt.show()"
92 ],
93 "language": "python",
94 "metadata": {},
95 "outputs": [
96 {
97 "metadata": {},
98 "output_type": "display_data",
99 "png": "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\nkiRJqlX/D1Q+4n26HL3CAAAAAElFTkSuQmCC\n",
100 "text": [
101 "<matplotlib.figure.Figure at 0x7f9d3321cfd0>"
102 ]
103 }
104 ],
105 "prompt_number": 3
106 },
107 {
108 "cell_type": "markdown",
109 "metadata": {},
110 "source": [
111 "# Log plot"
112 ]
113 },
114 {
115 "cell_type": "code",
116 "collapsed": false,
117 "input": [
118 "plt.plot([log10(f) for f in fractions])\n",
119 "plt.plot([log10(f) for f in fractions], 'bo')\n",
120 "plt.ylabel(\"Log probability of word\")\n",
121 "plt.xlabel(\"Word length\")\n",
122 "plt.show()"
123 ],
124 "language": "python",
125 "metadata": {},
126 "outputs": [
127 {
128 "metadata": {},
129 "output_type": "display_data",
130 "png": "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\nSUVORK5CYII=\n",
131 "text": [
132 "<matplotlib.figure.Figure at 0x7f9d31cd14a8>"
133 ]
134 }
135 ],
136 "prompt_number": 4
137 },
138 {
139 "cell_type": "markdown",
140 "metadata": {},
141 "source": [
142 "# Guess some lines of best fit"
143 ]
144 },
145 {
146 "cell_type": "code",
147 "collapsed": false,
148 "input": [
149 "plt.plot([log10(f) for f in fractions], 'bo')\n",
150 "plt.plot([i for i in range(2,20)], [-(i-2) for i in range(2,20)], 'g-')\n",
151 "plt.plot([i for i in range(2,20)], [-(i-3)*1.5 for i in range(2,20)], 'r-')\n",
152 "plt.plot([i for i in range(2,20)], [-(i-2)*1.4 for i in range(2,20)], 'r^-')\n",
153 "plt.ylabel(\"Log probability of word\")\n",
154 "plt.xlabel(\"Word length\")\n",
155 "plt.show()"
156 ],
157 "language": "python",
158 "metadata": {},
159 "outputs": [
160 {
161 "metadata": {},
162 "output_type": "display_data",
163 "png": "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\nRK5CYII=\n",
164 "text": [
165 "<matplotlib.figure.Figure at 0x7f9d31d314a8>"
166 ]
167 }
168 ],
169 "prompt_number": 6
170 },
171 {
172 "cell_type": "code",
173 "collapsed": false,
174 "input": [
175 "' '.join(segment(sanitise('HELMU TSCOU SINSA REISU PPOSE KINDI NTHEI ROWNW AYBUT THERE ISLIT TLEWA RMTHI NTHEK INDNE SSIRE CEIVE ')))\n"
176 ],
177 "language": "python",
178 "metadata": {},
179 "outputs": [
180 {
181 "metadata": {},
182 "output_type": "pyout",
183 "prompt_number": 9,
184 "text": [
185 "'helmut s cousins are i suppose kind in their own way but there is little warmth in the kindness i receive'"
186 ]
187 }
188 ],
189 "prompt_number": 9
190 },
191 {
192 "cell_type": "code",
193 "collapsed": false,
194 "input": [],
195 "language": "python",
196 "metadata": {},
197 "outputs": []
198 }
199 ],
200 "metadata": {}
201 }
202 ]
203 }