See More

{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Modeling and Simulation in Python\n", "\n", "Rabbit example\n", "\n", "Copyright 2017 Allen Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0)\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# If you want the figures to appear in the notebook, \n", "# and you want to interact with them, use\n", "# %matplotlib notebook\n", "\n", "# If you want the figures to appear in the notebook, \n", "# and you don't want to interact with them, use\n", "# %matplotlib inline\n", "\n", "# If you want the figures to appear in separate windows, use\n", "# %matplotlib qt5\n", "\n", "# To switch from one to another, you have to select Kernel->Restart\n", "\n", "%matplotlib inline\n", "\n", "from modsim import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook develops a simple growth model, like the ones in Chapter 3, and uses it to demonstrate a parameter sweep.\n", "\n", "The system we'll model is a rabbit farm. Suppose you start with an initial population of rabbits and let them breed. For simplicity, we'll assume that all rabbits are on the same breeding cycle, and we'll measure time in \"seasons\", where a season is the reproductive time of a rabbit.\n", "\n", "If we provide all the food, space and other resources a rabbit might need, we expect the number of new rabbits each season to be proportional to the current population, controlled by a parameter, `birth_rate`, that represents the number of new rabbits per existing rabbit, per season. As a starting place, I'll assume `birth_rate = 0.9`.\n", "\n", "Sadly, during each season, some proportion of the rabbits die. In a detailed model, we might keep track of each rabbit's age, because the chance of dying is probably highest for young and old rabbits, and lowest in between. But for simplicity, we'll model the death process with a single parameter, `death_rate`, that represent the number\n", "of deaths per rabbit per season. As a starting place, I'll assume `death_rate = 0.5`.\n", "\n", "Here's a system object that contains these parameters as well as:\n", "\n", "* The initial population, `p0`,\n", "* The initial time, `t0`, and\n", "* The duration of the simulation, `t_end`, measured in seasons." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value
t00.0
t_end10.0
p010.0
birth_rate0.9
death_rate0.5
\n", "
" ], "text/plain": [ "t0 0.0\n", "t_end 10.0\n", "p0 10.0\n", "birth_rate 0.9\n", "death_rate 0.5\n", "dtype: float64" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "system = System(t0 = 0, \n", " t_end = 10,\n", " p0 = 10,\n", " birth_rate = 0.9,\n", " death_rate = 0.5)\n", "\n", "system" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a version of run_simulation, similar to the one in Chapter 3, with both births and deaths proportional to the current population." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def run_simulation(system):\n", " \"\"\"Runs a proportional growth model.\n", " \n", " Adds TimeSeries to `system` as `results`.\n", " \n", " system: System object with t0, t_end, p0,\n", " birth_rate and death_rate\n", " \"\"\"\n", " results = TimeSeries()\n", " results[system.t0] = system.p0\n", " for t in linrange(system.t0, system.t_end):\n", " births = system.birth_rate * results[t]\n", " deaths = system.death_rate * results[t]\n", " results[t+1] = results[t] + births - deaths\n", " system.results = results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can run the simulation and display the results:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value
010.000000
114.000000
219.600000
327.440000
438.416000
553.782400
675.295360
7105.413504
8147.578906
9206.610468
10289.254655
11404.956517
\n", "
" ], "text/plain": [ "0 10.000000\n", "1 14.000000\n", "2 19.600000\n", "3 27.440000\n", "4 38.416000\n", "5 53.782400\n", "6 75.295360\n", "7 105.413504\n", "8 147.578906\n", "9 206.610468\n", "10 289.254655\n", "11 404.956517\n", "dtype: float64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_simulation(system)\n", "system.results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the simulation actually runs one season past `t_end`. That's an off-by-one error that I'll fix later, but for now we don't really care.\n", "\n", "The following function plots the results." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def plot_results(system, title=None):\n", " \"\"\"Plot the estimates and the model.\n", " \n", " system: System object with `results`\n", " \"\"\"\n", " newfig()\n", " plot(system.results, 'bo', label='rabbits')\n", " decorate(xlabel='Season', \n", " ylabel='Rabbit population',\n", " title=title)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's how we call it." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_results(system, title='Proportional growth model')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's suppose our goal is to maximize the number of rabbits, so the metric we care about is the final population. We can extract it from the results like this:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def final_population(system):\n", " t_end = system.results.index[-1]\n", " return system.results[t_end]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And call it like this:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "404.95651696640027" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "final_population(system)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To explore the effect of the parameters on the results, we'll define `make_system`, which takes the system parameters as function parameters(!) and returns a `System` object:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def make_system(birth_rate=0.9, death_rate=0.5):\n", " \n", " system = System(t0 = 0, \n", " t_end = 10,\n", " p0 = 10,\n", " birth_rate = birth_rate,\n", " death_rate = death_rate)\n", " return system" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can make a `System`, run a simulation, and extract a metric:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "404.95651696640027" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "system = make_system()\n", "run_simulation(system)\n", "final_population(system)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To see the relationship between `birth_rate` and final population, we'll define `sweep_birth_rate`:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def sweep_birth_rate(birth_rates, death_rate=0.5):\n", " \n", " for birth_rate in birth_rates:\n", " system = make_system(birth_rate=birth_rate,\n", " death_rate=death_rate)\n", " run_simulation(system)\n", " p_end = final_population(system)\n", " plot(birth_rate, p_end, 'gs', label='rabbits')\n", " \n", " decorate(xlabel='Births per rabbit per season',\n", " ylabel='Final population')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first parameter of `sweep_birth_rate` is supposed to be an array; we can use `linspace` to make one." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0. , 0.05, 0.1 , 0.15, 0.2 , 0.25, 0.3 , 0.35, 0.4 ,\n", " 0.45, 0.5 , 0.55, 0.6 , 0.65, 0.7 , 0.75, 0.8 , 0.85,\n", " 0.9 , 0.95, 1. ])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "birth_rates = linspace(0, 1, 21)\n", "birth_rates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can call `sweep_birth_rate`.\n", "\n", "The resulting figure shows the final population for a range of values of `birth_rate`.\n", "\n", "Confusingly, the results from a parameter sweep sometimes resemble a time series. It is very important to remember the difference. One way to avoid confusion: LABEL THE AXES.\n", "\n", "In the following figure, the x-axis is `birth_rate`, NOT TIME." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgEAAAFhCAYAAADp+nmmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8TPf+P/DXCAktWWcsJVGVO+GKkZHYEtVm+YZoUYpS\nUkQSoZa6VYJaLolSytUQBEVQqkpFcK2XiraWkNijlsjYgkwGIZjE5/eHX6adJmFCZiI5r+fjkcfD\nnM/nzHmfjzbn5XM2mRBCgIiIiCSnUlkXQERERGWDIYCIiEiiGAKIiIgkiiGAiIhIohgCiIiIJKpy\nWRdgCQ8fPsTJkyehUChgZWVV1uUQERGZXX5+Pm7dugV3d3dUrVq1yD6SCAEnT55Enz59yroMIiIi\ni1u9ejW8vLyKbJNECFAoFACeDkTt2rXLuBoiIiLzu3HjBvr06WM4BhZFEiGg4BRA7dq1Ua9evTKu\nhoiIyHKedRpcEiGAiIioIhi0eVCxbYs6LSrx9/HuACIiIoliCCAiIpIohgAiIiKJYgggIiKSKIYA\nIiIiiWIIICIikijeIkhERFROvMhtgM/CmQAiIiKJYgggIiKSKIYAIiIiiWIIkLjg4GCMGjWq2PYN\nGzbAzc0NeXl5xfZp2rQpNmzYYI7yiIjIjBgC6KWdOHEC3bp1AwDcv38fy5YtK+OKiIjIFLw7oJSV\n9ssdypuDBw9i2bJlGDBgQFmXQkREz8GZgArEzc0Ny5cvR/v27dG/f38AwMWLFxEeHo7WrVvD09MT\nffr0walTp4zWE0JgxowZaN26NVq3bo3x48fj4cOHRn0OHDiAoKAgqNVq9OjRA2fOnDHa7o8//og1\na9Zg6NChyMzMRNOmTbFt2zY8evQIkydPRtu2bdGsWTP4+flh4cKFEEKYfTyIiOjZGAIqmPXr12P+\n/PmGKfkRI0bAzs4Oe/fuxYEDB1CvXj0MGzbMaJ29e/eidu3a2LdvH1asWIE9e/Zg7ty5Rn1++OEH\nrFixAvv378cbb7yBsLAw6PV6oz69e/fG4MGDUatWLZw4cQJBQUFYsWIFkpOTsXHjRqSmpmLu3LmI\nj4/H/v37zTsQRET0XAwBFUzbtm3h6uoKmUwGAFizZg2mTp2KqlWromrVqujYsSOuXr2KW7duGdap\nVasW+vXrBxsbG7i5uaFz587YtWuX0fdGRESgZs2aqF69OgYPHoxbt24hNTX1ufXcvXsXlSpVQtWq\nVQE8vYjwwIEDaNeuXSnuNRERvQheE1DBODs7G30+duwY5s+fj/Pnz+PRo0eGafhHjx4Z+vzjH/8w\nWqd+/fq4fv260bK/9nnzzTcBADdu3HhuPX369MH+/fvx9ttvo0WLFvDx8UGnTp3g5ORUov0iIqLS\nx5mACsba2trw50uXLmHw4MFQq9XYtWsXTpw4gQULFhRap2DW4K9sbGxK3KcoderUwaZNmxAfHw9P\nT09s2rQJgYGBOHHihCm7Q0REZsQQUIGdPn0aer0egwYNgr29PQAUOYV/6dIlo8/p6emoU6dOsX3S\n09MBALVr135uDQ8ePMDDhw+hUqkQERGBDRs2oHHjxti0aVNJd4eIiEqZxU8HXLx4ETNnzkRKSgr0\nej3eeustDB48GL6+vgCAxMRELF26FOnp6VAoFAgKCsLw4cNhZWUFANBoNIiOjsbx48chhECzZs0w\nfvz4QtPgZeVVug2wYEySk5PRtm1b7NmzB4cPHwYAXL9+HfXq1QPwdEzXrl2Lbt264fz580hISEBw\ncLDRdy1YsACTJk2CjY0N5s2bh/r168Pd3b3QNqtVq4a7d+8iMzMTNWrUwKeffgoHBweMHz8eTk5O\nuHz5Mq5fv46goCAz7z0RET2PRWcCnjx5gtDQUFStWhXbtm3Dr7/+iqCgIAwbNgwXL17EoUOHEBkZ\nifDwcBw8eBAxMTFISEgwTGHr9XqEhYXB1tYWiYmJ2L59OxwcHBAaGlroSnWC4V/f48aNQ9u2bfHL\nL79g3rx58PT0RFhYGA4dOgQA6NixIy5cuIC3334bISEhCAwMRFhYmOF7qlSpgg8//BAff/wx2rZt\ni1u3bmHevHlFniIIDAyEQqGAv78/NmzYgOnTp+Px48cICgpCs2bNEBoais6dO6N3794WGwciIiqG\nsKBbt24JpVIp9u7da1j28OFDoVQqxZYtW8SwYcPE4MGDjdZZvny5aNmypcjPzxd79uwRjRo1Elqt\n1tCenZ0tGjduLHbu3FnsdjUajVAqlUKj0ZT+ThEREb2CTDn2WXQmQC6Xw9PTE+vXr4dWq4Ver8ea\nNWvg4OCAVq1aISUlBSqVymgdlUoFnU6H9PR0pKSkwMXFBQ4ODoZ2e3t7ODs7m3S7GhEREf3J4tcE\nxMTEICwsDG3atIFMJoODgwPmzp0LJycnaLVa2NnZGfUvOOBrtVpkZ2cXai/ok5WVZZH6iYiIKgqL\nzgQ8fvwYoaGhaNCgAZKSknDkyBEMHToUEREROH/+/Et9d1Hnp4mIiKh4Fg0Bv//+O06fPo1x48ZB\noVCgevXq6NOnD+rVq4effvoJcrkcOp3OaJ3s7GwAgEKhgJOTU6H2gj5yudwi+0BERFRRWPzuAADI\nz883Wp6fnw8hBNRqdaFz+8nJyVAoFHBxcYFarYZGozGa+r99+zYyMjLg5eVl/h0gIiKqQCwaApo3\nbw65XI5Zs2YhOzsbjx49wrp163Dp0iV06NAB/fr1Q1JSErZu3YrHjx/jxIkThtfSymQy+Pj4wNXV\nFdHR0cjOzoZWq0VUVBSUSiW8vb0tuStERETlnkVDgK2tLZYuXQqdTof33nsPXl5eWL16NebNmwcP\nDw94eHhg9uzZiI2NRfPmzTFs2DAEBwcjJCQEAGBlZYW4uDjk5ubCz88PAQEByMvLQ1xcnOFhQkRE\nRGQamRAV/8XuV65cgb+/P3bv3m14Sh4REVFFZsqxj+8OICIikiiGACIiIoliCCAiIpIohgAiIiKJ\nYgggIiKSKIYAIiIiiWIIICIikiiGACIiIoliCCAiIpIohgAiIiKJYgggIiKSKIYAIiIiiWIIICIi\nkiiGACIiIoliCCAiIpIohgAiIiKJYgggIiKSKIYAIiIiiWIIICIikiiGACIiIoliCCAiIpIohgAi\nIiKJqmzJjR0+fBghISGFlufl5eGDDz7AV199hcTERCxduhTp6elQKBQICgrC8OHDYWVlBQDQaDSI\njo7G8ePHIYRAs2bNMH78eDg7O1tyV4iIiMo9i84EtGjRAidOnDD62bNnD2xtbdG1a1ccOnQIkZGR\nCA8Px8GDBxETE4OEhAQsWLAAAKDX6xEWFgZbW1skJiZi+/btcHBwQGhoKPR6vSV3hYiIqNwr89MB\nkyZNQlBQEFq2bIlVq1ahXbt2CAoKgrW1Ndzc3NC/f3+sXLkST548QVJSEi5fvoyxY8fC0dERtra2\nGDNmDDQaDfbt21fWu0JERFSulGkI2LNnD44ePYpRo0YBAFJSUqBSqYz6qFQq6HQ6pKenIyUlBS4u\nLnBwcDC029vbw9nZGampqRatnYiIqLwrsxDw5MkTzJ49G+Hh4ahevToAQKvVws7OzqhfwQFfq9Ui\nOzu7UHtBn6ysLPMXTUREVIGUWQjYsWMHMjMz0adPn1L5PplMVirfQ0REJBVlFgISEhLg5+cHGxsb\nwzK5XA6dTmfULzs7GwCgUCjg5ORUqL2gj1wuN2/BREREFUyZhICcnBz88ssvCAgIMFquVqsLndtP\nTk6GQqGAi4sL1Go1NBqN0dT/7du3kZGRAS8vL4vUTkREVFGUSQg4c+YM9Ho9GjdubLS8X79+SEpK\nwtatW/H48WOcOHECy5Ytw4ABAyCTyeDj4wNXV1dER0cjOzsbWq0WUVFRUCqV8Pb2LotdISIiKrfK\nJATcvHkTAODk5GS03MPDA7Nnz0ZsbCyaN2+OYcOGITg42PCAISsrK8TFxSE3Nxd+fn4ICAhAXl4e\n4uLiDA8TIiIiItPIhBCirIswtytXrsDf3x+7d+9GvXr1yrocIiIiszPl2FfmDwsiIiKissEQQERE\nJFEMAURERBLFEEBERCRRDAFEREQSxRBAREQkUQwBREREEsUQQEREJFEMAURERBLFEEBERCRRDAFE\nREQSxRBAREQkUQwBREREEsUQQEREJFEMAURERBLFEEBERCRRDAFEREQSxRBAREQkUQwBREREEsUQ\nQEREJFEMAURERBLFEEBERCRRDAFEREQSVSYhYMOGDejQoQOaNm0Kf39/LF++3NCWmJiIrl27Qq1W\nIzAwEHPmzEF+fr6hXaPRICIiAt7e3mjTpg0iIiKg0WjKYC+IiIjKN4uHgC1btmDGjBmYMGECkpOT\nMW3aNPzwww84efIkDh06hMjISISHh+PgwYOIiYlBQkICFixYAADQ6/UICwuDra0tEhMTsX37djg4\nOCA0NBR6vd7Su0JERFSuVbb0BufPn4/Q0FD4+PgAAFq1aoVt27YBAIYPH4527dohKCgIAODm5ob+\n/fsjNjYWQ4YMQVJSEi5fvow1a9bAwcEBADBmzBh4e3tj3759CAgIsPTuEBERFWnQ5kHFti3qtMiC\nlRTPpBDw4MEDxMfHIyUlBTqdrsg+a9eufe733Lx5ExcuXMBrr72G3r17Iy0tDXXr1kV4eDg6deqE\nlJQUfPzxx0brqFQq6HQ6pKenIyUlBS4uLoYAAAD29vZwdnZGamoqQwAREVEJmBQCJk+ejISEBDRs\n2BCOjo4vvLEbN24AAH744QfMnDkTzs7OWL9+PUaNGoU6depAq9XCzs7OaJ2CA75Wq0V2dnah9oI+\nWVlZL1wXERGRFJkUAn755RdMnz4dH3zwwUttTAgBAAgODoabmxsA4JNPPsGmTZuwYcOGl/pumUz2\nUusTERFJjUkXBubn58PLy+ulN1azZk0AMJrOBwAXFxdkZmZCLpcXOt2QnZ0NAFAoFHBycirydER2\ndjbkcvlL10dERCQlJoWAdu3a4eDBgy+9sZo1a8Le3h4nTpwwWn758mXUrVsXarUaqampRm3JyclQ\nKBRwcXGBWq2GRqMxmvq/ffs2MjIySiWkEBERSYlJpwN69+6NadOm4eLFi2jWrBlee+21Qn3atm37\n3O+xsrLCgAEDsHjxYrRq1QpeXl748ccfcebMGURHR+PRo0fo27cvtm7dioCAAKSlpWHZsmUICQmB\nTCaDj48PXF1dER0djQkTJkAIgaioKCiVSnh7e5d874mIiCTMpBDQt29fAMDp06eNlstkMgghIJPJ\ncObMGZM2OGjQIOTl5WHs2LHIyspCgwYNsHjxYjRu3BgAMHv2bHz77bcYPXo05HI5goODERISAuBp\niIiLi8OUKVPg5+cHmUwGb29vxMXFwcrKyuSdJiIiMrdX5TbAZ5GJgqv1nuHQoUPP/aKWLVuWSkHm\ncOXKFfj7+2P37t2oV69eWZdDRERkdqYc+0yaCXiVD/BERET0Ykx+YuCxY8fw/fff48yZM7h//z5q\n1KgBlUqF/v37w9XV1Zw1EhERkRmYdHfA3r170adPHxw6dAj169dHixYtULduXezduxcffvghjh07\nZu46iYiIqJSZNBOwYMECdO3aFVOnTkWlSn/mhvz8fHzxxReYM2cO4uPjzVYkERERlT6TZgLS0tIQ\nEhJiFACAp1frDxo0qNB9/0RERPTqMykEyGQy5OXlFf0FlSz+NmIiIiIqBSYdwd3d3REbG1soCOj1\nesyfPx/u7u5mKY6IiIjMx6RrAkaMGIEBAwbg7bffhru7O6pXr4579+7h5MmTePjwIb777jtz10lE\nRESlzKSZAC8vL/z0008ICAhAVlYWTp06Ba1Wi8DAQPz0009o3ry5ueskIiKiUmbycwKUSiWmTp1q\nzlqIiIjIgooNAUlJSWjdujUqV66MpKSk536RKS8QIiIioldHsSEgNDQUBw4cgJOTE0JDQw0vCypK\nSV4gRERERK+GYkNAfHw87OzsDH8mIiKiiqXYEPDXlwZdu3YNHTt2hLW1daF+N27cwH//+1++ZIiI\niKicMenugLFjxyInJ6fItlu3bmHOnDmlWhQRERGZ3zPvDggODjZcC/Dpp5+iSpUqRu1CCKSnp8PW\n1tasRRIREVHpe+ZMQNeuXVG/fn0AT18WlJeXZ/STn5+PJk2a4Ouvv7ZIsURERFR6njkT0K1bN3Tr\n1g3p6emYP38+/8VPRERUgZh0TcDKlSuLDQDXrl1DUFBQqRZFRERE5mfyEwP37t2L/fv3Q6fTGZYJ\nIXD+/HncunXLLMURERGR+ZgUAtatW4eJEydCLpdDq9VCoVDgzp07ePjwITw8PPg4YSIionLIpNMB\n8fHxmDBhApKSkmBjY4NVq1bh2LFjmDVrFipVqgQvLy9z10lERESlzKSZAI1GA19fXwBPHxGcn58P\nmUyG999/H48ePcLkyZMxf/58kzbo5+eHzMxMVKpknD8SEhLQoEEDJCYmYunSpUhPT4dCoUBQUBCG\nDx8OKysrQy3R0dE4fvw4hBBo1qwZxo8fD2dn55LsNxERkeSZNBNQuXJlPHz4EABgZ2eHGzduGNpa\nt26NgwcPlmijU6dOxYkTJ4x+GjRogEOHDiEyMhLh4eE4ePAgYmJikJCQgAULFgAA9Ho9wsLCYGtr\ni8TERGzfvh0ODg4IDQ2FXq8vUQ1ERERSZ1II8PDwwOzZs3Hv3j24ublh8eLFhlCwa9cu2NjYlEox\nq1atQrt27RAUFARra2u4ubmhf//+WLlyJZ48eYKkpCRcvnwZY8eOhaOjI2xtbTFmzBhoNBrs27ev\nVGogIiKSCpNCwLBhw/D7779Dq9Wif//++P3339GyZUt4eXlh+vTp6NSpU4k2um3bNnTs2BGenp7o\n1q0bdu3aBQBISUmBSqUy6qtSqaDT6ZCeno6UlBS4uLjAwcHB0G5vbw9nZ2ekpqaWqAYiIiKpM+ma\nAA8PD+zduxdVq1ZF/fr1sXbtWmzZsgV5eXnw8PDAe++9Z/IGlUol6tevjxkzZsDa2horV67E0KFD\nsXbtWmi1WsObCwsUHPC1Wi2ys7MLtRf0ycrKMrkGIiIiKsFzAqpXr274c9OmTdG0adMX2uDChQuN\nPg8ePBg7duzAunXrXuj7Cshkspdan4iISGqKDQGzZ882+UtkMhlGjhz5wkW4uLggMzMTcrnc6GFE\nAJCdnQ0AUCgUcHJyKtRe0Ecul7/w9omIiKSo2BAQFxdn8peYGgI0Gg2+++47jBw50ugxxBcvXkSL\nFi1ga2tb6Nx+cnIyFAoFXFxcoFarsXDhQmRlZcHJyQkAcPv2bWRkZPBZBURERCVUbAg4e/ZsqW9M\nLpdj9+7duHv3Lr788kvY2Njgu+++w6VLlzB37lzcvXsXffv2xdatWxEQEIC0tDQsW7YMISEhkMlk\n8PHxgaurK6KjozFhwgQIIRAVFQWlUglvb+9Sr5eIiKgiM+nugNJSrVo1LFu2DPfv30dQUBDatGmD\nAwcOYNWqVXjrrbcMtyLGxsaiefPmGDZsGIKDgxESEgIAsLKyQlxcHHJzc+Hn54eAgADk5eUhLi7O\n8DAhIiIiMo1MCCGe1+mTTz557hfFx8eXSkHmcOXKFfj7+2P37t2oV69eWZdDRERkdqYc+0y6O0Cv\n1xe6+v7+/ftIT09H7dq10ahRo5evloiIiCzKpBCwZs2aIpdnZ2djzJgxaN++fakWRUREROb3UtcE\nODg44LPPPsO3335bWvUQERGRhbz0hYFVqlTB9evXS6MWIiIisiCTTgckJSUVWiaEwJ07d7B69Wq8\n8cYbpV4YERERmZdJISA0NBQymQxF3Uhga2uLr7/+utQLIyIiIvMyKQQUdfufTCZDjRo1UL9+fVSr\nVq3UCyMiIiLzMikEtGzZ0tx1EBERkYWZ/BbBnTt3YvPmzdBoNLhz5w7s7e3RsGFDdOvWDW3atDFn\njURERGQGJt0dsHTpUgwbNgwnT57EG2+8AU9PT9SuXRuHDx9GSEgIVqxYYe46iYiIqJSZfE1AWFgY\nPv/880JtM2bMwHfffYd+/fqVenFERERkPibNBOh0OnTv3r3Itp49e0Kn05VqUURERGR+JoUANzc3\n3Lhxo8i2GzduoHHjxqVaFBEREZmfSacDpkyZgujoaNy7dw8eHh6oUaMGHjx4gCNHjmD58uWIjIzE\n48ePDf2tra3NVjARERGVDpNCwEcffYRHjx7hyJEjhdqEEOjdu7fhs0wmw+nTp0uvQiIiIjKLEj0x\nkIiIiCoOk0LAsGHDzF0HERERWZjJDwvKycnBtm3bcObMGdy/fx81atSASqVC+/btYWNjY84aiYiI\nyAxMCgEXLlxAv379cPv2bdSoUQOvv/46cnJysGrVKsyfPx/x8fGoVauWuWslIiKiUmTSLYLffPMN\n6tati23btuHw4cPYu3cvjhw5goSEBFSrVo1vESQiIiqHTAoBR44cwfjx49GgQQOj5UqlEl9++SWS\nkpLMUhwRERGZj0mnA3Jzc2Fra1tkW82aNfHgwYNSLYqIiMhSBm0eVGzbok6LLFiJ5Zk0E1C/fn1s\n27atyLYtW7agfv36L7Tx5ORkNG7cGDExMYZliYmJ6Nq1K9RqNQIDAzFnzhzk5+cb2jUaDSIiIuDt\n7Y02bdogIiICGo3mhbZPREQkZSbNBHzyySeYOHEiTpw4AbVajerVq+PevXs4evQo9u3bh6ioqBJv\n+OHDhxg3bhxef/11w7JDhw4hMjISM2fOhL+/Py5duoSIiAhUqVIFQ4cOhV6vR1hYGFQqFRITE1G5\ncmV89dVXCA0NRWJiIqpUqVLiOoiIiKTKpBDQs2dPAE9fKbxnzx7D8jfffBPR0dHo1q1biTc8e/Zs\nNGjQADVr1jQsW7VqFdq1a4egoCAAT99Z0L9/f8TGxmLIkCFISkrC5cuXsWbNGjg4OAAAxowZA29v\nb+zbtw8BAQElroOIiEiqTH5OQM+ePdGzZ0/k5OTg/v37eP3111G9evUX2uiRI0ewadMmJCQkYNSo\nUYblKSkp+Pjjj436qlQq6HQ6pKenIyUlBS4uLoYAAAD29vZwdnZGamoqQwAREVEJmBwCAODcuXPQ\naDS4e/cu7O3t4erqCmdn5xJtMDc3F+PGjcOYMWMKPVtAq9XCzs7OaFnBAV+r1SI7O7tQe0GfrKys\nEtVBREQkdSaFAI1Gg2HDhiEtLQ1CCMNymUwGtVqNmTNnom7duiZtcPbs2XjzzTdf6BTCs/DdBkRE\nRCVjUgiYOHEi7t69i6ioKDRp0gSvvfYa7t+/j5MnTyI2NhYTJ07E0qVLn/s9BacBNm/eXGS7XC6H\nTqczWpadnQ0AUCgUcHJyKtRe0Ecul5uyK0REREYq+m2Az2JSCDh69CiWLFmCFi1aGC1v3LgxnJ2d\nERERYdLGfvrpJzx48ACdO3c2LMvJycHx48exZ88eqNVqpKamGq2TnJwMhUIBFxcXqNVqLFy4EFlZ\nWXBycgIA3L59GxkZGfDy8jKpBiIiInrKpBBQvXp1KBSKIttq1apldJvfs0RGRmLEiBFGy0aMGAEP\nDw+Ehobi6tWr6Nu3L7Zu3YqAgACkpaVh2bJlCAkJgUwmg4+PD1xdXREdHY0JEyZACIGoqCgolUp4\ne3ubVAMRERE9ZdLDgrp164affvqpyLb169fjww8/NGljdnZ2qF27ttGPtbW1IWR4eHhg9uzZiI2N\nRfPmzTFs2DAEBwcjJCQEAGBlZYW4uDjk5ubCz88PAQEByMvLQ1xcHKysrEzcZSIiIgIAmfjrlX7F\niIuLw9q1a1G9enWo1WrUqFEDubm5OHz4MO7cuYNOnTqhUqWneUImk2HkyJFmL7wkrly5An9/f+ze\nvRv16tUr63KIiIjMzpRjn0mnA2bPnm3487lz5wq1L1myxPDnVzEEEBERUWEmhYCzZ8+auw4iIiKy\nMJOuCSAiIqKKhyGAiIhIohgCiIiIJIohgIiISKIYAoiIiCSq2LsDLl26VKIvatCgwUsXQ0RERJZT\nbAgICgoq0Zv5zpw5UyoFERERkWUUGwK++uorS9ZBREREFlZsCOjatatJX3D//n3s3Lmz1AoiIiIi\nyzDpiYEFsrOzodPpDJ+FEEhOTkZUVBQ++OCDUi+OiIiIzMekEHD16lUMHz4cp0+fLrJdrVaXalFE\nRERkfibdIvj1119DJpNh0qRJqFKlCj7//HN89tlnaNiwIT766CPEx8ebu04iIiIqZSaFgOTkZEye\nPBm9evWClZUV2rdvj0GDBiEhIQFXr15FQkKCueskIiKiUmZSCNDpdFAoFAAAa2tr5ObmPl25UiWM\nHDkSixYtMl+FREREZBYmhYBatWrhxIkTAICaNWvi8OHDhrbKlSsjMzPTPNURERGR2Zh0YeD777+P\nf/3rX0hISIC/vz9mzpyJ27dvw87ODhs3boSrq6u56yQiIqJSZlIIGD58OKpUqQI7OzuEh4cjLS0N\nCxcuhBAC9evXR3R0tLnrJCIiolJmUgiwsrLC0KFDDZ8XLFiAnJwc5OXlwd7e3mzFERERkfmU6GFB\nAKDX6yGEgLW1NaytrfH48WMATy8YJCIiovLDpBCQnp6OKVOmICUlxXBnwF/JZLJiHyREREREryaT\nQsCECRNw8eJFdOnSBY6OjiV6u+Df/fHHH/jmm29w7NgxPHjwAK6urvj0008REBAAAEhMTMTSpUuR\nnp4OhUKBoKAgDB8+HFZWVgAAjUaD6OhoHD9+HEIINGvWDOPHj4ezs/ML10RERCRFJoWAkydPYvHi\nxfDy8nqpjeXm5qJv377o0qULZs2aBWtrayxduhTDhw9HQkICtFotIiMjMXPmTPj7++PSpUuIiIhA\nlSpVMHToUOj1eoSFhUGlUiExMRGVK1fGV199hdDQUCQmJqJKlSovVR8REZGUmPScgBo1akAul7/0\nxnJzczFq1CiMHDkS1atXh7W1Nfr27Yv8/HycO3cOq1atQrt27RAUFARra2u4ubmhf//+WLlyJZ48\neYKkpCRcvnwZY8eOhaOjI2xtbTFmzBhoNBrs27fvpesjIiKSEpNCQI8ePfDjjz++9MYcHR3Ro0cP\nVKtWDcBJyu/FAAAfEUlEQVTTtxLGxsaidu3aaNOmDVJSUqBSqYzWUalU0Ol0SE9PR0pKClxcXODg\n4GBot7e3h7OzM1JTU1+6PiIiIikx6XSAvb091qxZg4MHD8LDwwOvvfaaUbtMJsPIkSNLtGF3d3fo\n9Xo0bdoU3333HRwcHKDVamFnZ2fUr+CAr9VqkZ2dXai9oE9WVlaJtk9ERCR1JoWAvz4M6OTJk4Xa\nXyQEnDx5ElqtFqtXr8bHH3+MtWvXlmj9omogIiIi05kUAs6ePWuWjTs6OmLYsGHYuXMn1q5dC7lc\nDp1OZ9QnOzsbAKBQKODk5FSovaBPaVyzQEREJCUmXRNQWnbv3g0/Pz88evTIaPnjx49hZWUFtVpd\n6Nx+cnIyFAoFXFxcoFarodFojKb+b9++jYyMjJe+c4GIiEhqip0J6NWrF+Li4mBra4tevXo994tM\nmc5Xq9XIzc3FlClT8MUXX6BatWpYu3YtMjIyEBgYCADo27cvtm7dioCAAKSlpWHZsmUICQmBTCaD\nj48PXF1dER0djQkTJkAIgaioKCiVSnh7e5dgt4mIiKjYEPDXe+5L6/57R0dHxMfHY8aMGfD19UWl\nSpXw1ltvYd68efDw8AAAzJ49G99++y1Gjx4NuVyO4OBghISEAHj6DoO4uDhMmTIFfn5+kMlk8Pb2\nRlxcnOFhQkRERGQamRBClHUR5nblyhX4+/tj9+7dqFevXlmXQ0REZHamHPuKnQlYvXo1unfvDhsb\nG6PlqampaNy4MV8YREREFjdo86Bi2xZ1WmTBSiqGYi8MjIqKQk5OTqHlAwYMQGZmplmLIiIiIvMr\nNgQUd5ZAAmcPiIiIJMGitwgSERHRq4MhgIiISKIYAoiIiCSq2BAgk8n4PH4iIqIKrNhbBIUQ6NSp\nU6Eg8PDhQ3z00UeoVOnP/CCTybB//37zVUlERATeBljaig0BXbt2tWQdREREZGHFhoCvvvrKknUQ\nERGRhfHCQCIiIoliCCAiIpIohgAiIiKJYgggIiKSKIYAIiIiiWIIICIikiiGACIiIoliCCAiIpIo\nhgAiIiKJYgggIiKSKIYAIiIiiWIIICIikiiLh4CsrCyMHTsWbdu2RfPmzdGzZ0/89ttvhvbExER0\n7doVarUagYGBmDNnDvLz8w3tGo0GERER8Pb2Rps2bRAREQGNRmPp3SAiIir3LB4ChgwZgps3b2Lj\nxo347bff0KpVKwwZMgSZmZk4dOgQIiMjER4ejoMHDyImJgYJCQlYsGABAECv1yMsLAy2trZITEzE\n9u3b4eDggNDQUOj1ekvvChERUblm0RBw7949NGzYEOPGjYNCoYCNjQ3CwsLw4MEDHD9+HKtWrUK7\ndu0QFBQEa2truLm5oX///li5ciWePHmCpKQkXL58GWPHjoWjoyNsbW0xZswYaDQa7Nu3z5K7QkRE\nVO5ZNATUqFED06ZNQ8OGDQ3LCqbya9eujZSUFKhUKqN1VCoVdDod0tPTkZKSAhcXFzg4OBja7e3t\n4ezsjNTUVMvsBBERUQVRphcG5uTkYOzYsfD390fTpk2h1WphZ2dn1KfggK/VapGdnV2ovaBPVlaW\nRWomIiKqKMosBFy9ehW9e/eGk5MTZs2a9dLfJ5PJSqEqIiIi6SiTEHD8+HH06NEDnp6eiIuLw2uv\nvQYAkMvl0Ol0Rn2zs7MBAAqFAk5OToXaC/rI5XLzF05ERFSBWDwEnDt3DmFhYQgPD8fkyZNRpUoV\nQ5tarS50bj85ORkKhQIuLi5Qq9XQaDRGU/+3b99GRkYGvLy8LLYPREREFUFlS24sPz8fkZGR6NGj\nB/r371+ovV+/fujbty+2bt2KgIAApKWlYdmyZQgJCYFMJoOPjw9cXV0RHR2NCRMmQAiBqKgoKJVK\neHt7W3JXiIjoGQZtHlRs26JOiyxYCT2LRUPAsWPHcOrUKZw7dw4rVqwwauvSpQuioqIwe/ZsfPvt\ntxg9ejTkcjmCg4MREhICALCyskJcXBymTJkCPz8/yGQyeHt7Iy4uDlZWVpbcFSIionLPoiHAy8sL\naWlpz+wTGBiIwMDAYtvr1KljeHgQERERvTi+O4CIiEiiGAKIiIgkiiGAiIhIohgCiIiIJMqiFwYS\nEZE08DbA8oEzAURERBLFEEBERCRRDAFEREQSxRBAREQkUQwBREREEsUQQEREJFEMAURERBLFEEBE\nRCRRDAFEREQSxRBAREQkUQwBREREEsUQQEREJFEMAURERBLFtwgSEUncoM2Dim3j2wArNs4EEBER\nSRRDABERkUQxBBAREUkUQwAREZFEWTwEaDQaBAcHw83NDVeuXDFqS0xMRNeuXaFWqxEYGIg5c+Yg\nPz/faN2IiAh4e3ujTZs2iIiIgEajsfQuEBERVQgWDQE7d+7ERx99hDfeeKNQ26FDhxAZGYnw8HAc\nPHgQMTExSEhIwIIFCwAAer0eYWFhsLW1RWJiIrZv3w4HBweEhoZCr9dbcjeIiIgqBIveIqjT6bB6\n9Wpcv34dP//8s1HbqlWr0K5dOwQFBQEA3Nzc0L9/f8TGxmLIkCFISkrC5cuXsWbNGjg4OAAAxowZ\nA29vb+zbtw8BAQGW3BUiogqDtwFKl0VnAnr06IEGDRoU2ZaSkgKVSmW0TKVSQafTIT09HSkpKXBx\ncTEEAACwt7eHs7MzUlNTzVo3ERFRRfTKXBio1WphZ2dntKzggK/VapGdnV2ovaBPVlaWRWokIiKq\nSF6ZEPAyZDJZWZdARERU7rwyIUAul0On0xkty87OBgAoFAo4OTkVai/oI5fLLVIjERFRRfLKhAC1\nWl3o3H5ycjIUCgVcXFygVquh0WiMpv5v376NjIwMeHl5WbpcIiKicu+VCQH9+vVDUlIStm7diseP\nH+PEiRNYtmwZBgwYAJlMBh8fH7i6uiI6OhrZ2dnQarWIioqCUqmEt7d3WZdPRERU7lj0FsH27dvj\n2rVrEEIAADp06ACZTIYuXbogKioKs2fPxrfffovRo0dDLpcjODgYISEhAAArKyvExcVhypQp8PPz\ng0wmg7e3N+Li4mBlZWXJ3SAiKhN82x+VNouGgO3btz+zPTAwEIGBgcW216lTx/DwICIiIno5r8zp\nACIiIrIshgAiIiKJYgggIiKSKIYAIiIiiWIIICIikiiL3h1AREQvjrcBUmnjTAAREZFEMQQQERFJ\nFE8HEBGZAZ/uR+UBZwKIiIgkiiGAiIhIohgCiIiIJIohgIiISKIYAoiIiCSKdwcQkaTxKn6SMoYA\nIiIzYICg8oCnA4iIiCSKMwFEVG5w6p6odHEmgIiISKIYAoiIiCSKpwOIyCw4dU/06mMIIJI4qR+s\npbCPRMUplyEgNzcXM2bMwC+//II7d+7A1dUVw4cPh4+PT1mXRgTAfAdWqR+wiah0lcsQMGXKFJw+\nfRpLly7FG2+8gY0bNyIiIgKbNm3CW2+9VaLvMscv1fJ0AGCtPLASkXSVuxBw584dbN68Gf/5z3/Q\noEEDAECvXr2wdu1arF27FuPGjSvjConIXBjKiEpXubs74NSpU9Dr9WjatKnRcpVKhdTU1DKqioiI\nqPwpdyFAq9UCAOzt7Y2WOzg4ICsrqyxKIiIiKpfK3emAZ5HJZGVdAhH9f5y6J3r1lbsQ4OTkBADQ\n6XSoVauWYXl2djbkcnlZlUVUbvFgTSRd5S4EuLu7w9raGikpKWjfvr1h+dGjR+Hr61uGlRH9yVwH\nVh6wiag0yYQQoqyLKKnJkyfjyJEjiImJQe3atfH9999j3rx5SExMRN26dQv1v3LlCvz9/bF7927U\nq1evDComIiKyLFOOfeVuJgAAxo0bh6+//hoff/wx7t+/j8aNG2PJkiVFBgAAyM/PBwDcuHHDkmUS\nERGVmYJjXsExsCjlciagpI4cOYI+ffqUdRlEREQWt3r1anh5eRXZJokQ8PDhQ5w8eRIKhQJWVlZl\nXQ4REZHZ5efn49atW3B3d0fVqlWL7COJEEBERESFlbuHBREREVHpYAggIiKSKIYAIiIiiWIIICIi\nkiiGACIiIomSTAjIzc3F5MmT4efnB09PT3z00Uc4cOBAsf0PHDiAXr16wcvLC76+vpg4cSJyc3Mt\nWHH5UNJx3bZtG7p27Qq1Wo127dph6tSpHNcilHRc/2rgwIFwc3Mzc4XlU0nHNTMzE5999hk8PT3R\nvHlzhIaGQqPRWLDiV19Jx3T58uXo0KEDPDw88O6772LSpEm4e/euBSsuPzQaDYKDg+Hm5oYrV648\ns+8LH7OERERGRorOnTuLixcviocPH4o1a9YId3d3ceHChUJ9L126JNzd3UV8fLx48OCByMjIEF27\ndhWRkZFlUPmrrSTjum/fPtGkSROxbds2odfrxblz50S7du1EdHR0GVT+aivJuP7VunXrhKenp1Aq\nlRaqtHwpybg+fvxYvP/++2L06NEiKytLZGVlifHjx/P3wN+UZEzXrVsnVCqV+O2330ReXp64dOmS\n6Nixoxg9enQZVP5q27Fjh2jTpo0YPXq0UCqVQqPRFNv3ZY5ZkggBOp1ONGnSROzcudNoeZcuXYo8\nAE2fPl107tzZaNnOnTvFP//5T5GVlWXWWsuTko5rQkKCWLBggdGyqKgo0alTJ7PWWd6UdFwLXLt2\nTbRo0UIsXryYIaAIJR3XLVu2iJYtW4rc3FxLlVjulHRMJ06cKLp37260bObMmaJDhw5mrbM8Wrdu\nnbh48aI4cODAc0PAyxyzJHE64NSpU9Dr9WjatKnRcpVKhdTU1EL9U1JSoFKpCvXNy8vDqVOnzFpr\neVLSce3UqRMiIiKMlmk0GtSpU8esdZY3JR3XAl9++SW6d+9eaD16qqTj+vvvv6Nx48ZYuHAh3n77\nbbRp0waff/45srKyLFXyK6+kY/p///d/+OOPP3DgwAHo9XpoNBrs3bsXQUFBliq53OjRowcaNGhg\nUt+XOWZJIgRotVoAgL29vdFyBweHIv+H1mq1sLOzK9QXAH8B/EVJx/XvNm7ciKSkJHz66admqa+8\nepFxXbduHa5du4YRI0aYvb7yqqTjev36dRw7dgyVK1fGjh07sHr1apw/fx7/+te/LFJveVDSMW3b\nti1Gjx6NQYMGoWnTpggICMA//vEPDB061CL1VlQvc8ySRAh4FplMZtb+UvW8cVqyZAmmTJmC//zn\nP4USLBWvqHG9du0aZs6ciWnTpsHGxqYMqir/ihpXIQQcHBwwdOhQVKtWDW+99RZGjhyJ33//Hdev\nXy+DKsuXosZ069at+M9//oMFCxYgNTUVW7ZsweXLlzF+/PgyqFAanve7WBIhwMnJCQCg0+mMlmdn\nZ0MulxfqL5fLi+wLAAqFwkxVlj8lHVcAePLkCcaPH48VK1ZgxYoVCAgIMHud5U1Jx7XgNIBarbZI\nfeVVSce1Zs2ahf515ezsDICvJS9Q0jFdvnw5OnbsiLfffhs2NjZwdXVFREQENm7ciJycHIvUXBG9\nzDFLEiHA3d0d1tbWSElJMVp+9OjRIl+vqFarC53PSk5OhrW1Nc+3/kVJxxUAJk6ciNTUVKxfv54z\nAMUoybhevXoVBw4cwPr169GqVSu0atUKQ4YMAQC0atUKW7ZssVjdr7qS/vfq5uaGy5cv4969e4Zl\nGRkZAIB69eqZt9hyoqRjmp+fjydPnhgty8vLM2uNUvBSx6zSuIqxPJg0aZJ47733xMWLF8WDBw/E\nkiVLhIeHh7hy5YpITU0V7du3F1evXhVCCKHRaESzZs3EsmXLRG5urrhw4YIICgoS//73v8t4L149\nJRnXHTt2iBYtWogbN26UcdWvPlPHNS8vT1y/ft3oZ+vWrUKpVIrr16+LBw8elPWuvFJK8t+rTqcT\nbdq0Ef/617+ETqcTGo1GdO7cWQwdOrSM9+LVUpIxXbRokfD09BS//fab0Ov1IiMjQ3z44YciLCys\njPfi1VXU3QGlecySTAh49OiRmDp1qmjdurVo2rSp6Nmzpzhy5IgQQojff/9dKJVKkZ6ebuh/6NAh\n0b17d+Hu7i68vb3FtGnTxKNHj8qq/FdWSca1X79+olGjRsLd3b3Qz5UrV8pyN145Jf3v9a8K2qmw\nko5rWlqaCA4OFs2aNRNeXl5iwoQJ4t69e2VV/iupJGOq1+vFokWLRIcOHYRKpRItW7YUX375pdBq\ntWW5C6+kwMBA4e7uLpo0aSKUSqVo0qSJcHd3F+PHjy/VY5ZMCCHMOEtBREREryhJXBNAREREhTEE\nEBERSRRDABERkUQxBBAREUkUQwAREZFEMQQQERFJFEMAVSiRkZFwc3Mz/DRu3Bg+Pj4IDw/HwYMH\njfr6+flh5MiRJd6Gm5sbYmJiSqvkcmnDhg1wc3PDhQsXiu1z5coVuLm5Yc2aNc/8rhf9eyCil1e5\nrAsgKm2Ojo5ISEgA8PRdBVevXsX8+fMxYMAAbNy4EW5ubgCA9evXo0qVKs/8Lo1Gg4CAAKSlpZm9\nbqn6+9/DmDFjUK9ePQwbNqwMqyKSBs4EUIVTqVIlKBQKKBQK1KpVC82bN8e0adOQn5+PX375xdDP\n0dERNWrUeOZ3HTt2zNzlSt7f/x445kSWwxBAkvLX957/dRq6YOp6/fr16NmzJ9zd3fHNN9/giy++\nAPD0FEBkZKTRdy1evBhvv/023N3d0bt3b8PLZQDg7NmzCAsLQ+vWraFSqdCxY0esXLnymbX5+flh\n0qRJWL58Od599100bdoUPXr0wIkTJ4z67du3Dx9//DFatGgBT09PDB482GjbBVP1v/zyC/z8/NC7\nd+8it3fw4EG4ubnhv//9L9577z28++67AJ6+0GXOnDnw8/NDkyZN4OPjg+HDh+PKlSuFvuP69esY\nOHAgPDw80KpVK0yfPh35+flGfR49eoSJEyeiZcuW8PDwwJAhQ4zecf7Xv4eCl/bMmzcPbm5uRW6z\nLMZKCIGFCxeiffv2UKlUaN26NYYOHQqNRmPo8/jxY8yZMwdBQUFQqVTw9fXF3LlzjV6QY8rYPn78\nGNOnT4efnx+aNm0KHx8fjBkzxvBWOAC4c+cOvvzyS/j4+MDd3R1+fn745ptv8PjxY6MxmjFjBlat\nWgV/f380a9YMH374YaGX/ZDEme3Bx0RlYMyYMcLb29toWWZmphgxYoR49913xZ07dwzLfX19xWef\nfSaEePoCDqVSKYKCgsTGjRvF1atXxb1790R0dLRQKpXi5s2b4u7du0IIYeg3Y8YMceHCBbF//37R\nqlUrMXDgQMN3v/POO+Kzzz4T586dExqNRvzwww+iSZMmYsuWLcXW7uvrK9555x0xevRo8ccff4jU\n1FTxwQcfCG9vb8OLgA4ePCgaNWokPv/8c3H+/HmRkpIievXqJd555x2Rk5MjhBDip59+EkqlUvTt\n21ccPnxY3Lp1q8jtFTx/vGvXruJ///uf4cVOMTExokmTJmL79u3i2rVrIjU1VXTr1k107drVsG7B\nNt5//32RmJgo0tPTxbJly4Sbm5tYunSp0Zi+8847IjY2Vly8eFHs3r1btGzZUgwaNKjIv4cbN24I\npVIppk+fLm7evCny8vJeibFat26d8PDwEDt37hRXr14VqampIjg4WAQFBRn6jBs3TqhUKvHjjz+K\ny5cvi02bNonmzZuLadOmGfqYMrZz5swRbdu2Fb/++qu4du2aOHz4sHj//feN/vvq1auXaNeundi9\ne7fIyMgQGzduFB4eHmLChAlGY9S+fXsxatQokZaWJo4fPy7at28vAgICitxHkiaGAKpQxowZI9zc\n3ISHh4fw8PAQTZs2FUqlUgQEBIjjx48b9S0qBBR8LjB79uxCL+NRKpXiww8/NFr25ZdfCk9PTyGE\nELdv3xZKpbLQAf/UqVPi5s2bxdbu6+srWrZsafTSj19//VUolUqxa9cuIYQQAwcOFP7+/kYHxytX\nrohGjRqJVatWCSH+PLB9//33xQ+U+DMEzJw502h5VlaWuHDhgtGy77//XiiVSpGVlWW0jYIDfoH+\n/fuLzp07CyH+HNO/HvCFECI2NlY0atRIZGdnG/a7YNz1er1QKpXi22+/fWbtlh6rSZMmGR3whXg6\nTidOnBD5+fnixo0bolGjRoXqnj9/vmjSpIkhQJoytqGhoUYHfCGEuH79ujh79qwQQojk5GShVCrF\nf//7X6M+s2bNEk2aNDEEHF9fX+Hj42M0RnFxcUbbIuKFgVTh2Nvb44cffjB8zsrKwu7du9G3b198\n9dVX6NixY7HrNmnSxKRteHh4GH12dHQ0vHfe0dERarUakydPxtmzZ9G2bVuo1Wr885//fO73Fryf\n/e/1FEw7Hz9+HIGBgbCysjL0qVu3LlxcXHD69OkX2pe/97OxsUFCQgJ2796NzMxM6PV6w5R2dnY2\nHB0dDX3VarXRum5ubli1apXRsqL6PHnyBJcuXSrUVhKWHCtfX1+sW7cO/fv3R5cuXdC6dWvUqVPH\nMBYnT57EkydP4O3tbbRemzZtMHfuXKSlpcHLy8uksfX398ekSZMwfPhwdOjQAa1atULt2rVRu3Zt\nw7YAoHnz5kbbatasGfR6PS5cuACVSmXYr7+OUUG9Op3O6O+RpIshgCocKysr1K9f3/C5fv36aN68\nOXQ6Hf7973+jffv2RgeGv3r99ddN2kbVqlWLbZPJZFi6dCni4+Oxbds2LFq0CDVq1ECPHj0wcuRI\no1/Kf1e9enWjz6+99hoA4O7duwCAnJwc/Pzzz9iyZYtRv4cPHxrtc0n25e/9Ro0ahQMHDuCLL75A\nixYtUK1aNezYsQOzZs0qtO7fL6ysVq2a0YGtqH2qVq0aACA3N9ek+opjybF65513EB8fj/j4eERH\nR+PevXto1qwZxowZA09PT+Tk5AAAQkJCUKnSn5daif//ktZbt24BMG1se/XqhVq1auH777/H2LFj\n8fjxY7Ru3Rrjx4+Hq6urYVt/3/+Cfbh//36hMSkgk8mM6iJiCCDJcHd3x/r165GZmYk33njDrNt6\n/fXXMXjwYAwePBg3b97E5s2bMXfuXFStWhUjRowodr2/HxgLfqEXXNBoa2uLtm3bFnn73LOCialy\ncnLwv//9D4MGDUJwcLBh+ZMnT4rs/+DBg0KfbWxsULnyn79a/r5PBeuYGlKKY+mx8vLygpeXF/Ly\n8pCcnIx58+YhLCwMe/fuhZ2dHQBg1qxZUCqVhdZ1cnIq0dj6+vrC19cXjx8/xq+//opvvvkG4eHh\n2L17tyF43bt3zxCoCj4DhYMZ0bPw7gCSjEuXLsHa2troDgFTleRfTpmZmdi6davhc82aNTFw4ED4\n+PgUunr9744fP45Hjx4ZPp86dQoA0LBhQwBPT0NcvHgR9evXN/rJy8uDXC4vyS4VSa/XQwhhNEb5\n+fmG5y783ZEjR4w+nz59Gq6urs/tY2VlhQYNGhRbhynjbcmx2r9/P/744w8AQOXKldGqVSuMHTsW\n9+/fx6VLl+Du7g4rKytkZmYabcvJyQlVqlRB9erVTRrbJ0+eYMeOHbh27RoAwNraGu+++y6GDx+O\nq1evIisrC+7u7gCA5ORkoxqPHTuGatWqFRp/omdhCKAK58mTJ7h165bh5+LFi1i+fDlWr16NwYMH\nF5oifZaCf+Ht3LkTFy9eNGmdu3fv4vPPP8esWbNw/vx5XL9+Hbt27cLRo0fRunXrZ65bpUoVfPnl\nl/jjjz+QmpqKGTNmoE6dOob1QkNDcfbsWURHR+PcuXO4dOkS5s2bh06dOhU62L4IBwcHvPnmm9iw\nYQPS0tJw+vRpDBo0CJ6engCAo0ePGqajAeDnn3/Gjh07kJGRgSVLluDQoUPo1q2b0XeePXsWS5cu\nxeXLl7Fr1y7Ex8cjICAAtra2hbZfuXJlvP7660hJScHZs2cNU/tlPVYbNmzA0KFDkZSUhGvXruHc\nuXNYtmwZ5HI5GjZsCLlcju7duyMmJgabN2+GRqPBsWPHMHjwYAwYMAB6vd6ksX3w4AGWLFmCzz77\nDEeOHMH169dx6tQprF27FkqlEk5OTlCr1WjZsiWmT5+Offv2ISMjAz/88ANWr16NTz75pFRmhEg6\neDqAKhytVou2bdsaPlevXh1vvfUWpk6dWugA9Tzvvfcefv75Z4wcORK+vr6YN2/ec9f5xz/+gYUL\nF2LBggX4/vvvkZ+fj7p162LgwIEYOHDgM9f18vLCP//5T4SFheH27dto3LgxYmNjDdcweHl5YfHi\nxYiJicG6desghEDjxo0xf/58tGrVqkT7VpyZM2di8uTJ6NGjB2rVqoXw8HB06dIFf/zxB6ZMmWI0\n1T958mTExMTg6NGjqFatGsLDw9GnTx+j7/v0009x/PhxdO/eHXq9Hu3atcOUKVOK3f7gwYMRGxuL\nPn36YMmSJcVePGjJsZo6dSpmzZqF8ePHIysrC7a2tmjWrBm+++47w7n5iRMnQi6XY86cOcjMzET1\n6tXxzjvvYObMmYYnIpoytvPnz8eMGTMwYsQI3LlzBw4ODmjVqhWmTJliOKdf0Gfs2LG4e/cu6tSp\ng6FDhyI0NLRE+0UkE7xChOiV4Ofnh2bNmmHOnDllXcorj2NFVDp4OoCIiEiiGAKIiIgkiqcDiIiI\nJIozAURERBLFEEBERCRRDAFEREQSxRBAREQkUQwBREREEsUQQEREJFH/D01FBMQVDoBTAAAAAElF\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "birth_rates = linspace(0, 1, 21)\n", "sweep_birth_rate(birth_rates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The code to sweep the death rate is similar." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def sweep_death_rate(death_rates, birth_rate=0.9):\n", " \n", " for death_rate in death_rates:\n", " system = make_system(birth_rate=birth_rate,\n", " death_rate=death_rate)\n", " run_simulation(system)\n", " p_end = final_population(system)\n", " plot(death_rate, p_end, 'r^', label='rabbits')\n", " \n", " decorate(xlabel='Deaths per rabbit per season',\n", " ylabel='Final population')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here are the results. Again, the x-axis is `death_rate`, NOT TIME." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nMXHiRJw6dQoAMGTIEFy9ehV9+/bFhAkT4OXlhYkTJ6rHadSoEYYPH4433ngDffr0we3bt/H1119X\neTjCy8sLMpkMnp6e2LlzJ+bPn4+ioiJ4e3uja9euCAgIwCuvvILRo0frddtr9WTGipM1vvvuOyxa\ntAg2NjbYvn07PvjgAzzzzDNQqVQwNzfXeE9FKFCpVMjJyanUX7FMdnY2VCoVAFQ5RkUfERHR41y+\nfLlS2/Tp0zF9+nSNtk2bNql/3rBhg/rn2bNnV3q/r6+v+q6L/fv3f+x6bW1tcejQIY3+r7/+Wofq\na1at7lGoOEPUz88P9vb2aNasGd588004Ojo+8b2tq0pj1eknIiKiymo1KLRu3RoANA4dAOWpKSsr\nC1KpFLm5uRp9OTk5AACZTAYrK6tK/RXLSKVSSKVSAKhyDH1fPkJERGSMaj0oWFhYVLqUIz09He3a\ntYNCoah0LkFiYiJkMhlsbW2hUCigVCrVJ3IAwJ07d5CRkQFXV1dYW1tDJpNVOYarq6v+NoyIiMhI\n1WpQMDExwfjx47Fx40acPHkSRUVFiI6OxqVLlzB69Gj4+/sjPj4e+/fvR1FREc6fP4+1a9di/Pjx\nkEgk6N27Nzp27Ih58+YhJycHKpUKYWFhkMvlcHd3h0Qigb+/P9asWYOUlBQUFRUhNjYWJ0+eVN+r\nm4iIiHRX63dmnDRpEkpKShASEoLs7GzY2dlh1apV6Ny5MwAgPDwcS5cuxYwZMyCVSuHn54cJEyYA\nKA8akZGRCA0NhYeHByQSCdzd3REZGQkTExMAQEBAAAoLCxEUFASVSgU7OzssWbKk0pUQRERE9HgS\noe/HTj0lMjMz4enpiSNHjsDa2trQ5RAREemVrp97fCgUERERacWgQERERFoxKBAREZFWDApERESk\nFYMCERERacWgQERERFoxKBAREZFWDApERESkFYMCERERacWgQERERFoxKBAREZFWDApERESkFYMC\nERERacWgQERERFoxKBAREZFWDApERESkFYMCERERacWgQERERFoxKBAREZFWDApERESkFYMCERER\nacWgQERERFoxKBAREZFWDApERESkFYMCERERacWgQERERFoxKBAREZFWDApERESkFYMCERERacWg\nQERERFoxKBAREZFWDApERESkFYMCERERadWwtlfo4eGBrKwsNGigmVFiYmJgZ2eH2NhYrF69Gmlp\n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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "death_rates = linspace(0.1, 1, 20)\n", "sweep_death_rate(death_rates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous sweeps, we hold one parameter constant and sweep the other.\n", "\n", "You can also sweep more than one variable at a time, and plot multiple lines on a single axis.\n", "\n", "To keep the figure from getting too cluttered, I'll reduce the number of values in `birth_rates`:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.4, 0.6, 0.8, 1. ])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "birth_rates = linspace(0.4, 1, 4)\n", "birth_rates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By putting one for loop inside another, we can enumerate all pairs of values.\n", "\n", "The results show 4 lines, one for each value of `birth_rate`.\n", "\n", "(I did not plot the lines between the data points because of a limitation in `plot`.)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for birth_rate in birth_rates:\n", " for death_rate in death_rates:\n", " system = make_system(birth_rate=birth_rate,\n", " death_rate=death_rate)\n", " run_simulation(system)\n", " p_end = final_population(system)\n", " plot(death_rate, p_end, 'c^', label='rabbits')\n", " \n", "decorate(xlabel='Deaths per rabbit per season',\n", " ylabel='Final population')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you suspect that the results depend on the difference between `birth_rate` and `death_rate`, you could run the same loop, plotting the \"net birth rate\" on the x axis.\n", "\n", "If you are right, the results will fall on a single curve, which means that knowing the difference is sufficient to predict the outcome; you don't actually have to know the two parameters separately." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nERGR0ZhAEBERkdGYQBAREZHRmEAQERGR0ZhAEBERkdGYQBAREZHRmEAQERGR0ZhAEBERkdGYQBAR\nEZHRmEAQERGR0ZhAEBERkdGYQBAREZHRmEAQERGR0azNHQAREREZT52oRkl+CeTucti42+j8K3OQ\nmfz6TCCIiIgaIMfOjsjYloG89Dyd7Q7+DvCc4mny67MLg4iIqAFyCnWCJJN0tklWElRDVPVyfSYQ\nREREDZC1kzUc/B10tjmHO8PWw7Zers8EgoiIqIFShCm0r2UOMiijlPV2bSYQREREDZRjJ0fInEoH\nTLpFudXL4MkyTCCIiIgaKEkmQRGqgLylHC7hLvV6bc7CICIiasAUPRSwf9QekpVU88F1iAkEERFR\nA2bnZQd41f912YVBRERERmMCQUREREZjAkFERERGYwJBRERERmMCQUREREZjAkFERERGYwJBRERE\nRmMCQUREREZjAkFERERGYwJBRERERmMCQUREREZjAkFERERGs7gE4vz583jxxRfRo0cPhISEYOjQ\nofi///s/7f7k5GQMHjwYQUFB6N+/PxYtWoTi4mLtfrVajbi4OISFhaFHjx6Ii4uDWq3W7i8uLsai\nRYswYMAABAUF4emnn8auXbvqtY5EREQNnUGrcebm5mLDhg1ITU1Fdna23mM+/fTTBw6mpKQEMTEx\n6Ny5M/bs2QN7e3ts3rwZU6ZMwc6dO3Hr1i3Ex8fj/fffR9++fXHhwgXExcXBxsYGkydPRmFhIWJj\nYxEQEIDk5GRYW1tjwYIFiImJQXJyMmxsbLBixQp8+eWX+Oijj9C+fXscPHgQU6dOhbu7O7p16/bA\ndSAiImoKDGqBmDNnDj788EOo1WrY2Njo/a8uaDQaXLlyBU8//TRcXFwgl8sxcuRIFBYW4o8//sCm\nTZvQp08fREZGQi6Xw8/PD2PHjsXGjRtRUlKClJQUXLx4ETNmzEDz5s2hUCgwffp0qNVqHDhwAEII\nbN68GePGjUPHjh0hl8vRr18/hIeHY8OGDXVSByIioqbAoBaIgwcPYuHChXj66adNGoxSqURwcDA+\n//xzdOrUCU5OTti6dStcXV3RrVs3LFy4ECNHjtQpExAQgOzsbKSnpyM1NRXe3t5wdXXV7ndxcYGX\nlxfS0tLQvn17aDQaBAQEVDrHxo0bTVo3IiKixsSgBKK4uBghISGmjgUAsHTpUsTGxqJHjx6QJAmu\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for birth_rate in birth_rates:\n", " for death_rate in death_rates:\n", " system = make_system(birth_rate=birth_rate,\n", " death_rate=death_rate)\n", " run_simulation(system)\n", " p_end = final_population(system)\n", " net_birth_rate = birth_rate - death_rate\n", " plot(net_birth_rate, p_end, 'mv', label='rabbits')\n", " \n", "decorate(xlabel='Net births per rabbit per season',\n", " ylabel='Final population')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On the other hand, if you guess that the results depend on the ratio of the parameters, rather than the difference, you could check by plotting the ratio on the x axis.\n", "\n", "If the results don't fall on a single curve, that suggests that the ratio alone is not sufficient to predict the outcome. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\niejoaDz33HMoKSmpt8/YsWMRFhaGfv36YdKkSThw4ICxPTg4GGfOnMFbb72F4OBgkxGUoqIixMfH\nIzw8HAMHDjSZchJC4J133sHIkSMRHh6OAQMGYM6cOVCpVLc9NqLbEkTULBYsWCBiYmIabKuqqhJR\nUVFi0aJFxm0pKSmif//+4ocffhDnz58XBw4cEMOGDRNz5swxvmft2rUiKChI5OXlidLSUiGEEPff\nf794+umnjf1MnDhRDBkyROzevVsUFRWJzz77TERERJh8VkP1DB8+XDz00EPixx9/FIWFhWLdunWi\nd+/e4p133hFCCFFSUiKeeuopMWDAAFFcXCzKy8sb7Gvq1Kli4MCBIiEhQeTl5YkTJ06IGTNmiLCw\nMHHhwgUhhBArVqwQQUFBorq62vieP/3pT+KZZ54Rp06dEteuXROHDx8WQUFB4v333xfFxcXG77R/\n//4iMTFR5OTkiP/9738iOTlZ/N///Z+4ePGiEEKIZcuWicGDB4v9+/eL8+fPi4MHD4qHH35YPPHE\nE40ee0Pfa1pamggNDRUbNmwQhYWFYv/+/WLEiBHioYceEjqdrtHvcuLEieK+++4TP/zwg/jll1/E\nq6++KgYNGmRyvNu2bRNBQUHi1VdfFadPnxY//vijiIuLE2PHjhV6vV4IIcR///tfERQUJJYvXy6K\niorEr7/+KlJSUkRERITxWC9evGjsp7i4WNTW1hq/25kzZ4qsrCxx6tQpsWjRIhEUFCRyc3OFEEJ8\n/PHHIiIiQnz99dfi3LlzIi8vT8THx4u4uLhGj4voThggiJpJYwHi0qVL4q9//asICQkRx44dM9le\nVFRksu8bb7whIiIihMFgEEJc/4c/KChIqFQq4z43B4icnBwRFBQkvvzyS5N+3nzzTRESEtLoSX/H\njh0iKChI5Ofnm2yfP3++GDx48B2P6WZTp04VvXv3FleuXDFuu3DhgggKChLr1q0TQjQcIEJCQsS1\na9eM7yksLBRBQUFiy5YtJp8fFBQk/ve//xm31R3z119/LYQQIjExsV5YuHDhgjhx4kSjNd/6vdbU\n1IiIiAixePFik/327dsngoKCRFZWVoP91NX88ccfm2z/85//bHK8DzzwgJg6darJPgcPHhRBQUFi\nz549QgghysvLxc8//2wSVn755RcRFBQkdu7cKYQQQqfTiaCgILFixQrjPnXfbV0/QvwWNOq+/7//\n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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for birth_rate in birth_rates:\n", " for death_rate in death_rates:\n", " system = make_system(birth_rate=birth_rate,\n", " death_rate=death_rate)\n", " run_simulation(system)\n", " p_end = final_population(system)\n", " birth_ratio = birth_rate / death_rate\n", " plot(birth_ratio, p_end, 'y>', label='rabbits')\n", " \n", "decorate(xlabel='Ratio of births to deaths',\n", " ylabel='Final population')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }