{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PHYS201 PHYSICS IIA - *Python Lab 4*\n", "\n", "*Alexei Gilchrist*, 2014\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Remember to execute the cells as you go!*" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "1 Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this lab we will explore sequences of random numbers. Random numbers play a crucial role in computational science. Apart from obvious application in statistics, probability theory, and gambling, random numbers are used as the basis of techniques for numerical integration and optimisation, two tasks that have a wide range of application. They are used heavily in cryptographic protocols. Statistical physics abandons tracking each and every atom and instead treats with statistical quantities - but to be able to simulate such systems we need to sample from random numbers with a given distribution. Quantum mechanics predicts the results of measurements as probabilities - again to simulate quantum systems on a computer we need to be able to handle random numbers. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To give you an idea of their importance, there are various sources where you can obtain random numbers as a commodity, often having to buy them when you want large amounts:\n", "\n", "* [Random.org](http://www.random.org) - random numbers generated from atmospheric noise\n", "* [Hotbits](http://www.fourmilab.ch/hotbits/) - from radioactive decay\n", "* [ANU Quantum Random Numbers Server](http://qrng.anu.edu.au/index.php) - from quantum vacuum fluctuations\n", "* [randomnumbers.info](http://www.randomnumbers.info) - from photons at a beamsplitter\n", "* [QRNG Service](http://qrng.physik.hu-berlin.de) - from photon arrival times\n", "* [A Million Random Digits with 100000 Normal Deviates (Paperback)](http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477) - I suggest you read the book reviews before buying :)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll only be taking a very shallow look at the subject of randomness, this lab is geared to getting you more familiar with using Python to solve problems than to teach you probability theory.\n", "\n", "*Bits of the material below originally appeared in a course at the University of Queensland, run by Prof. P. Drummond and A. Gilchrist.*" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "2 Pseudo random number generators (PRNG)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.display import Image \n", "Image('http://imgs.xkcd.com/comics/random_number.png') " ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "png": "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\n", "prompt_number": 16, "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generating random numbers in software is really convenient, but the first thing to realise about these random number generators is, well, they are not. The numbers produced are the result of a deterministic algorithm and, while it looks random and hard to predict, if you knew the input parameters then you would be able to reproduce the numbers exactly. This is why they are called *pseudo-random number generators* or PRNGs. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are various properties that a PRNG should have:\n", "\n", "* **Uniformity**. The sequence of pseudo random numbers should sample its space uniformly leaving no holes or sparsenesses or overly sampled regions. \n", "* **Uncorrelated Sequences**. A sequence of pseudo random numbers should not show any correlations with another sequence of pseudo random numbers. \n", "* **Long Period**. Sequences from PRNGs generally repeat themselves after some period. It is essential that this period is sufficiently long for the desired purpose. In fact it has been discovered as a good rule-of-thumb that if the period of a PRNG is $m$ then it is best to use only the first $\\sqrt{m}$ elements of the sequence to avoid any correlations. \n", "* **Efficiency**. The PRNG should be computationally efficient. In large Monte Carlo simulations one can literally use up billions random numbers. Thus computational overheads in calculating sequences should be minimized. " ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "2.1 Linear Congruential Generators" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Linear Congruential Generators (LCG) were introduced by D.H. Lehmer in 1948.\n", "The sequence is given by\n", "\n", "\\begin{equation}\n", "x_{n+1}=(ax_{n}+c)mod\\: m\n", "\\end{equation}\n", "\n", "where the *modulus* $m$ has $m>0$, the *multiplier* $a$ has $0 Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a function `lcg` that takes five parameters `m`, `a`, `c`, `x0`, and `N`, and returns a `numpy` array with `N` elements where the first element is `x0` and each one thereafter is the next one in the sequence for a linear congruential generators with `m`, `a`, `c`. Test it by reproducing the two sequences above." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "2.2 Numpy's random module" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `numpy.random` module contains various functions to generate and manipulate random numbers. Numpy uses the [Mersenne Twister](http://en.wikipedia.org/wiki/Mersenne_twister) algorithm to generate pseudo-random numbers. You can find more information in the official documentation [numpy.random documentation](http://docs.scipy.org/doc/numpy/reference/routines.random.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Mersenne Twister has a long period: $2^{19937}-1$. To get an idea of how large this is, evaluate the following:" ] }, { "cell_type": "code", "collapsed": false, "input": [ " 2**19937-1" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This number lies between a *googol* $10^{100}$ and a *googolplex* $10^{\\mathrm{googol}}=10^{10^{100}}$. The terms where coined in 1938 by 9-year-old Milton Sirotta, nephew of American mathematician Edward Kasner. Initially a googleplex was \"one, followed by writing zeroes until you get tired\", then it got formalised to $10^{10^{100}}$. Carl Sagan has estimated that it's physically impossible to write it down as stated as it requires more space and time than the Universe. Incidentally, where do you think Google got it's name? " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll import the module" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from numpy import random" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and now we can generate uniformly random numbers using the `rand()` function which takes the size of the array to return as argument" ] }, { "cell_type": "code", "collapsed": false, "input": [ "random.rand(10)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a 5x5 array of random numbers distributed between 100 and 150 based on `random.rand()`" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "3 Testing randomness" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "3.1 Visual inspection" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One of the simplest ways of testing randomness is by visual inspection. Our eyes are very good at picking up visual patterns so we can make use of that ability in checking random sequences which should *not* have a pattern. If we see a pattern then it's a poor random number generator! For example we can check to see how each number $x_n$ is correlated with the number $m$-th along the sequence $x_{x+m}$, by plotting $x_n$ vs $x_{n+m}$. Idealy there should not be a pattern. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check nearest neighbour corellations for `numpy`'s `rand` function:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "v=random.rand(5000)\n", "plt.plot(v[:-1],v[1:],'.')" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compare this with a some poor choice of LCG (this has the same number of points plotted as the above graph!)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "x0 = 1\n", "m = 2**31-1+3\n", "v = [x0]\n", "for jj in range(5000):\n", " x1 = 16807*x0%(m)\n", " v.append(x1/float(m))\n", " x0=x1\n", "\n", "plt.plot(v[:-1],v[1:],'.')" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The fact that it doesn't fill the space in the same way means that only relatively small set of values is being produced." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This simple visual analysis has also been used to demonstrate that the rand() function from PHP on Microsoft Windows was a rather bad implementation (at least in 2008, details in [PhP rand on MS Windows](http://www.random.org/analysis/#visual)):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Image('http://www.random.org/analysis/randbitmap-wamp.png') " ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "png": "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\n", "prompt_number": 17, "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider two LCGs $A$ and $B$:\n", "\n", "* $A$ has parameters $m=2^{31}-1$, $a=16807$, $c=0$, $x_0=1$\n", "* $B$ has parameters $m=2^{31}$, $a=2^{16}+3$, $c=0$, $x_0=1$\n", "\n", "Using your `lcg` method, make sure that the 10,001'th number is 1043618065 for A, and 1623524161 for B. Show this below." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following piece of code generates an array with 1000 random numbers and plots $x_n$, $x_{n+1}$, and $x_{n+2}$ as a 3-D scatter plot. Note the `ax.azim` setting which sets the viewpoint angle. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from mpl_toolkits.mplot3d import Axes3D\n", "v = random.rand(1000)\n", "\n", "fig = plt.figure(figsize=(6,6))\n", "ax = fig.add_subplot(111, projection='3d', aspect='equal')\n", "ax.scatter(v[0:-2],v[1:-1],v[2:], zdir='z', s=2)\n", "ax.azim = 45\n", "ax.elev = 20" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot each of the two LCGs $A$ and $B$ above viewed from angles 20,40,60, and 80 degrees and check if there are any problems with the LCGs - which is a bad implementation?" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: the bad algorithm is called RANDU and was brought out by IBM in the early 1960s and its use became widespread. The choice of modulus and multiplier was primarily to simplify the computation, but the result was to produce a poor PRNG. The other more modern algorithm is quite popular and has been extensively studied and seems to provide reasonable pseudo-random number sequence." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "3.2 Histogram" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another quick an ready test is to plot the sequence of numbers in a histogram. If the random numbers are uniformly distributed than we expect a uniform (ish) histogram." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use `plt.hist` with 10 bins, to plot the numbers produced `random.rand()`. How many numbers do you need to use to get a histogram that is approximately flat in the graph?" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "3.3 Statistical tests" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are many statistical tests that can be applied to random number generators. Bear in mind though that ultimately the numbers are *not* random so it will always be possible to design a test which the sequence would fail. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This level of analysis if beyond this unit though so we'll move along..." ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "4 Other Distributions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are various techniques for changing variables so that uniformly distributed random numbers end up with another distribution. There are also tricks that can be used to efficiently generate various special distributions such as the Normal distribution. The `random` module can generate numbers from a large number of distributions, for instance `beta`, `exponential`, `gamma`, `poisson`, `normal`, ... Take a look at the documentation for more details.\n", "\n", "Here is an example of the Poisson distribution:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.hist(random.poisson(lam=2.0,size=3000),10)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Von Neuman rejection method is a very general way of producing random numbers according to some given distribution. It's also really simple to understand, though it may be very inefficient for some distributions. Say we want to produce random numbers according to some function $f(x)$, with $a\\le x\\le b$. Also, let's say that the maximum of the function in this interval is $c$:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " function\n", " Created with Sketch (http://www.bohemiancoding.com/sketch)\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " a\n", " \n", " \n", " b\n", " \n", " \n", " x\n", " \n", " \n", " f(x)\n", " \n", " \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can generate the random numbers distributed as $f(x)$ in the following way:\n", "\n", "* generate a uniform random number $x$ in the range $a$ to $b$\n", "* generate a uniform random number $y$ in the range 0 to $c$\n", "* if $y\\le f(x)$ we keep the $x$ otherwise we reject it.\n", "* repeat until you have enough numbers\n", "\n", "You can see that the first two steps generate a random point $(x,y)$ in a box of size $c\\times(b-a)$. We only keep the point if it is at or below the function." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider the following function: $f(x) = \\sin^2(x)+\\cos^2(3x)$ which looks like" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x = np.arange(0,2*np.pi,0.1)\n", "plt.plot(x,np.sin(x)**2+np.cos(3*x)**2)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use the Von Neuman rejection method to produce a list of 100,000 numbers that are distributed according to $f(x)$. Show that this is the case using a histogram with 60 bins." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "5 Central Limit Theorem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An important result in statistics is the *Central Limit Theorem* which states that the average of independent random numbers each drawn from distributions which have a mean and variance, will seem to be drawn from a nomal distribution as more and more numbers are included in the average.\n", "\n", "For example, pick 10 random numbers that are uniformly distributed and calculate the mean (add them all together and divide by ten) - this is one sample. Repeat the process till you have a large number of samples. Now if you look at the distribution of samples, with a histogram for instance, then it will look like a Normal distribution." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Demonstrate the central limit theorem with numbers drawn from (a) the uniform distribution, and (b) the power distribution $p(x) = 5x^{4}$. You already know how to draw from the uniform distribution, the power distribution is shown below." ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.hist(random.power(5,1000))" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "6 One time pads" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The final application of random numbers we turn to is cryptography. Here, probably the only really secure cryptographic protocol is one-time pads. The idea behind one-time pads is quite simple. Lets assume a message is made of the characters a-z and spaces so that there are a total of 27 possible characters. \n", "\n", "* We take the message and reduce it to a sequence of integers so that 'a'=0, 'b'=1, ... , ' '=26. \n", "* To encode a message that is 15 characters long we generate 15 random integers between 0 and 26. This random sequence is the cryptographic key - *keep it safe*.\n", "* To each character we add the corersponding random integer in the key modulo 27 - this has the potential to map any character to any other character and so will encrypt the message with random shifts.\n", "* Now convert the integers back to letters (this step is not really necessary)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We could start to implement the algorithm by figuring out how to convert characters to integers and vice versa. The `index` method on python lists is perfect for this. First put the alphabet we are using in a list:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "alphabet = list('abcdefghijklmnopqrstuvwxyz ')" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can convert a character to the position integer:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "alphabet.index('c')" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and an integer to a character:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "alphabet[2]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now if we wanted to encode the message 'attack now' which is length 10, we can easily generate a suitable one time pad of the right length with:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "message = 'attack now'\n", "pad = random.randint(0,26,len(message))\n", "print pad" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Write *two* matched methods - one to encode a message given a key (of the same length), and one to decode the encrypted message given the same key. Illustrate the methods by encrypting 'attack now' and decrypting it." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ " Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can get an idea of why one-time pads are secure from the following. Imagine we are trying to crack the encoded message you generated in the previous exercise. Illustrate the following with your decoding method:\n", "\n", "* Figure out what the key should be to 'decode' the message to say 'make peace' \n", "* Figure out another sequence that will decode the message to some other 10-letter phrase that you want\n", "\n", "If every random sequece is equaly likely, then every message that fits in 10 spaces is equaly likely too!" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }