{ "cells": [ { "cell_type": "markdown", "id": "dense-storm", "metadata": {}, "source": [ "# Case Studies Part 1" ] }, { "cell_type": "markdown", "id": "imported-table", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "*Modeling and Simulation in Python*\n", "\n", "Copyright 2021 Allen Downey\n", "\n", "License: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" ] }, { "cell_type": "code", "execution_count": 1, "id": "formal-context", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# download modsim.py if necessary\n", "\n", "from os.path import basename, exists\n", "\n", "def download(url):\n", " filename = basename(url)\n", " if not exists(filename):\n", " from urllib.request import urlretrieve\n", " local, _ = urlretrieve(url, filename)\n", " print('Downloaded ' + local)\n", " \n", "download('https://raw.githubusercontent.com/AllenDowney/' +\n", " 'ModSimPy/master/modsim.py')" ] }, { "cell_type": "code", "execution_count": 2, "id": "progressive-typing", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# import functions from modsim\n", "\n", "from modsim import *" ] }, { "cell_type": "markdown", "id": "thirty-medication", "metadata": {}, "source": [ "This chapter presents case studies where you can apply the tools we have learned so far to problems involving population growth, queueing systems, and tree growth. \n", "\n", "This chapter is available as a Jupyter notebook where you can read the text, run the code, and work on the exercises. \n", "Click here to access the notebooks: ." ] }, { "cell_type": "markdown", "id": "industrial-mercy", "metadata": {}, "source": [ "## Historical World Population\n", "\n", "The Wikipedia page about world population growth includes estimates for world population from 12,000 years ago to the present (see )." ] }, { "cell_type": "markdown", "id": "weekly-class", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "The following cells download an archived version of this page and read the data into a Pandas `DataFrame`." ] }, { "cell_type": "code", "execution_count": 3, "id": "usual-penguin", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "download('https://raw.githubusercontent.com/AllenDowney/' +\n", " 'ModSimPy/master/data/World_population_estimates.html')" ] }, { "cell_type": "code", "execution_count": 4, "id": "thick-lincoln", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/plain": [ "6" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from pandas import read_html\n", "\n", "filename = 'World_population_estimates.html'\n", "tables = read_html(filename, header=0, index_col=0, decimal='M')\n", "len(tables)" ] }, { "cell_type": "code", "execution_count": 5, "id": "conscious-orange", "metadata": { "tags": [ "remove-cell" ] }, "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", " \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", "
Population Reference Bureau (1973–2016)[15]United Nations Department of Economic and Social Affairs (2015)[16]Maddison (2008)[17]HYDE (2010)[citation needed]Tanton (1994)[18]Biraben (1980)[19]McEvedy & Jones (1978)[20]Thomlinson (1975)[21]Durand (1974)[22]Clark (1967)[23]
Year
-10000NaNNaNNaN2M[24]NaNNaN4.01–10MNaNNaN
-9000NaNNaNNaN4.NaNNaNNaNNaNNaNNaN
-80005.NaNNaN5.NaNNaNNaNNaN5–10MNaN
-7000NaNNaNNaN8.NaNNaNNaNNaNNaNNaN
-6000NaNNaNNaN11.NaNNaNNaNNaNNaNNaN
\n", "
" ], "text/plain": [ " Population Reference Bureau (1973–2016)[15] \\\n", "Year \n", "-10000 NaN \n", "-9000 NaN \n", "-8000 5. \n", "-7000 NaN \n", "-6000 NaN \n", "\n", " United Nations Department of Economic and Social Affairs (2015)[16] \\\n", "Year \n", "-10000 NaN \n", "-9000 NaN \n", "-8000 NaN \n", "-7000 NaN \n", "-6000 NaN \n", "\n", " Maddison (2008)[17] HYDE (2010)[citation needed] Tanton (1994)[18] \\\n", "Year \n", "-10000 NaN 2M[24] NaN \n", "-9000 NaN 4. NaN \n", "-8000 NaN 5. NaN \n", "-7000 NaN 8. NaN \n", "-6000 NaN 11. NaN \n", "\n", " Biraben (1980)[19] McEvedy & Jones (1978)[20] Thomlinson (1975)[21] \\\n", "Year \n", "-10000 NaN 4.0 1–10M \n", "-9000 NaN NaN NaN \n", "-8000 NaN NaN NaN \n", "-7000 NaN NaN NaN \n", "-6000 NaN NaN NaN \n", "\n", " Durand (1974)[22] Clark (1967)[23] \n", "Year \n", "-10000 NaN NaN \n", "-9000 NaN NaN \n", "-8000 5–10M NaN \n", "-7000 NaN NaN \n", "-6000 NaN NaN " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table1 = tables[1]\n", "table1.head()" ] }, { "cell_type": "markdown", "id": "hungry-monster", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "Some of the values are null because not all researchers provide estimates for the same dates.\n", "\n", "Again, we'll replace the long column names with more convenient abbreviations." ] }, { "cell_type": "code", "execution_count": 6, "id": "thick-blanket", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "table1.columns = ['PRB', 'UN', 'Maddison', 'HYDE', 'Tanton', \n", " 'Biraben', 'McEvedy & Jones', 'Thomlinson', 'Durand', 'Clark']" ] }, { "cell_type": "markdown", "id": "substantial-implement", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "Some of the estimates are in a form Pandas doesn't recognize as numbers, but we can coerce them to be numeric." ] }, { "cell_type": "code", "execution_count": 7, "id": "ranking-prescription", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "for col in table1.columns:\n", " table1[col] = pd.to_numeric(table1[col], errors='coerce')" ] }, { "cell_type": "markdown", "id": "amazing-difference", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "Here are the results. Notice that we are working in millions now, not billions." ] }, { "cell_type": "code", "execution_count": 8, "id": "metallic-offense", "metadata": { "scrolled": false, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "image/png": "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+fPns337dgICAggMDOTnn38u03PRlaQ5c+bwn//8h507d9KpUydyRmDLb6grBwcHy5Br9evXZ9++fQDs37/fMuvBrcdZMaKbEEKULkY92DvbrHirenR+fn6sXr3aZkFUJD169ODFF19kyZIllgGaC9KtWzcmTJhAmzZtmDp1Khs2bKBDhw5oNBq++OKLYopYCCFszKAHO9s9MF7ooM5btmyha9euLFu2LN/tAwYMsFlgRUEGdS6b5HMSogJRCt71hrBh0H0GUMyDOu/du5euXbvyww8/5Nmm0WhKfaITQghRypkMoMxgb7trdIUmunfeeQeAhQsX2iwAIYQQFdiNSVdteTNKoYmuoFOWOaRHJ4QQ4p6UdKLL75RlDjl1KYQQ4l4pR0+MfXej8/W17jGAu1BoopNTlkIIIWzJnAkJi5Nx7+KBeyfb1CGnLm0sOjqaFi1a0LhxY9LT0+nTpw8DBw5k1qxZTJ061aoyQkJCOH78uI0jFUKI4qeMN54ltrNVf05OXRaLtm3bsnHjRsxmMyEhIYwZMyZPkivswXEhhCi3jGYANDrbfffJqctilJmZiZ2dHTExMbz00kts3LiRyMhIwsLCOHz4MGvXrqV3795kZWVhNptZtmwZ/v7+KKV45ZVX+PXXX2nZsiUfffQRmZmZPPfcc8TExKCU4ssvv6RevXrUr1+fzp07c+DAAfr168err75a0s0WQogCKVN2osO+hHp0Zf2B8cJsnTeLxJjzRVKWT0AgD414scDte/fuJTIykujoaJ544gns7HK/7eHh4cyYkf2g5Lp163BxceGbb75h3rx5TJ48mbS0NAYOHMjMmTN57LHHOHToEPv27aNVq1YsXryYY8eO8eabb7J8+XLi4+OZMmUKbm5uhISESKITQpRqypDToyuhRCcPjBeNm09d9u7dm4sXL+banjNYc3p6Os8//zxnz54lLS2NJk2aAGBvb09oaCiQPXPE33//zfHjx/n111/59ttvAXB1dQUgMDAQb29vy3FCCFGaKVMJX6Mrzw+MF9YDsxWtVounpycHDhzIsx6ye9Cenp78/PPP/O9//7P8gWEwGPj9999p2rQpBw4coGvXrly5coWmTZsyfPhwALKysgC5xieEKFtUzjU6uxK6RpdDr9fz7bffcvbsWcto+gDvvvuuzQIrT3JOXRqNRgIDA+natStbt27N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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "table1.plot()\n", "decorate(xlim=[-10000, 2000], xlabel='Year', \n", " ylabel='World population (millions)',\n", " title='Prehistoric population estimates')\n", "plt.legend(fontsize='small');" ] }, { "cell_type": "markdown", "id": "human-conservation", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "We can use `xlim` to zoom in on everything after Year 0." ] }, { "cell_type": "markdown", "id": "conventional-nudist", "metadata": {}, "source": [ "The following figure shows the estimates of several research groups from 1 CE to the near present." ] }, { "cell_type": "code", "execution_count": 9, "id": "solar-action", "metadata": {}, "outputs": [ { "data": { "image/png": "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Gpmm59atWrWKDRs2sGrVqls+V0pKCi1btiQlJaXc77383oWoPMp6mh6bSnQDBw6kc+fO7N69G6UU7733Hr6+vmUWhKiYRo4cyZ49e/j2229v+VwrVqzg5Zdf5q233pJEI4QoVzLxqqgW5PcuROVRrhOvtm/fHih6NuLk5GT9KV4WQgghKrpSqy53794NFPW5EkIIISojm7oXjB079op112puLoQQQlQkNiW6uLi4K9bt3bu3zIMRQgghylqpVZfvvfce8+fPJykpidDQ/40gkp2dTZ8+fewenBBCCHGrSk10DzzwAP379+epp55i7ty51vWenp5XHdxX2C4jI8PaOfvixYvk5uZax2f08vLi1VdfpWvXrmV+3eJZAUaNGsULL7xAx44dufvuu8v8OkIIUVGUmui8vLzw8vJi3bp15RVPteHt7W0dpmrx4sXExsby6aefAlwxOom9vPTSS+VyHSGEcCSbOozv37+fRx55hIMHD5Kfn29dX1hYaLfAystXX33F+fPny/y8devW5Z577rnp47/++mumTZtGcnIy77zzDgMHDgTggw8+YMGCBWg0Grp168bcuXPR6/V069aNNm3a8Pvvv5OQkMDChQv58ssviYmJwdfXlw0bNuDqWnJG4MtLd2PHjsXDw4M//viD06dP8/TTTzN58mTy8vIYOXIkx48fx2KxcM899/Dqq6+SmZnJxIkTiY+PR6vV8sorr9C/f38SEhLo0aMH/fr1IyYmBnd3d9avX0/dunVv6X4KIcTNsqkxyr/+9S8WLFhA48aNuXjxIq+//jqvvPKKvWOr1rKysvj111/54osveOaZZwD4448/ePvtt9m+fbs1IRWXAqFojretW7cyb948BgwYwIgRIzhw4AA1a9bkv//973WvefLkSbZu3UpsbCwzZszAaDTyww8/ULNmTeLi4jh48KB1TM7Zs2fj7+/PgQMH+Oqrr3j44YdJTU0FICEhgeHDhxMXF0fr1q355JNP7HCHhBDCNjaV6IxGI61bt8ZkMuHu7s7UqVOJioqyfgFXZrdS6rKnIUOGANC2bVvrbNnbtm1j4MCB1uejY8eOZeXKlUyaNAkoGtgZICIiAg8PDzp16mRdPnny5HWvOXDgQHQ6HQEBAfj4+JCSkkKrVq14+umnmTZtGr169aJXr14AxMTEsGzZMgAaNGhA+/bt2b17N2Fh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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "table1.plot()\n", "decorate(xlim=[0, 2000], xlabel='Year', \n", " ylabel='World population (millions)',\n", " title='CE population estimates')" ] }, { "cell_type": "markdown", "id": "wanted-fantasy", "metadata": {}, "source": [ "See if you can find a model that fits these estimates.\n", "How well does your best model predict actual population growth from 1940 to the present?" ] }, { "cell_type": "code", "execution_count": 10, "id": "rural-express", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "tables = read_html(filename, header=0, index_col=0, decimal='M')\n", "table2 = tables[2]\n", "table2.columns = ['census', 'prb', 'un', 'maddison', \n", " 'hyde', 'tanton', 'biraben', 'mj', \n", " 'thomlinson', 'durand', 'clark']" ] }, { "cell_type": "code", "execution_count": 11, "id": "preceding-sheep", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "un = table2.un / 1e9\n", "census = table2.census / 1e9" ] }, { "cell_type": "code", "execution_count": 12, "id": "together-jackson", "metadata": { "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAuJAAALiQE3ycutAABgQklEQVR4nO3dd3hUVfrA8e+0JGTSAySQQosQQklApJNQLCBFaQoCAqLoirooi67AKrCWFX/IgosdBam6gIiKgihBogIKYmiClAABEpKQ3qad3x8xdxOBMEB63s/zzENuf+dmmDfn3FN0SimFEEIIUUvpqzoAIYQQoiJJohNCCFGrSaITQghRq0miE0IIUatJohNCCFGrSaITQghRq0miE6KC6HQ69u3bd93Ht2nThs8//7z8AqogAwYM4I033qjqMIS4Ikl0olqJi4tjwIAB+Pr64uPjQ2RkJPPmzcNisQBFycPd3R0PDw/tNXTo0CqO+sb17t2bf//736XWHTx4kEGDBlVNQFcwYcIEpk6dWmrdl19+yaOPPloh11u6dClRUVEVcm5Rd0iiE9XG559/zoABA7jjjjv4/fffycjI4KOPPuLQoUOcP39e2++HH34gJydHe33yySdVGLUQotpTQlQDDodDNWvWTP3zn/8scz9A/fLLL06dc9u2bcrb21stWrRIBQYGqoCAAPXcc88ph8Oh7bN8+XIVHh6uvL29VY8ePdTevXu1bTExMepvf/ubiomJUR4eHqpr167q0KFDV4xlwYIFKiYm5rLb9+7dq3r06KF8fX1V/fr11ahRo1RqaqpSSqmnnnpK6fV65eLiosxms+rfv79SSqkmTZqoTz75xOlY//73v6vbb79dmc1m1aFDBxUfH3/Fe5Odna2mTJmiQkJCVIMGDdS4ceNURkaGUkqpgoICNXHiROXv76+8vLxUmzZt1O7du9XChQuV0WhUJpNJmc1mFRERoV17wYIFpe75G2+8oRo3bqx8fHzUggUL1KFDh1Tnzp2Vp6enuuuuu1ROTo4Wy5gxY1SjRo2Up6en6tixo/r222+1e+bq6qr0er0ym83KbDarU6dOKaWUWr16tWrXrp3y9vZWnTp1Ut9//712vhUrVqiwsDDl4eGhGjdurObOnXvF+yDqBkl0olo4cuSIAtSxY8fK3O9aE51er1cTJkxQubm56vDhwyo4OFgt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euklrYXhmTNnuO+++0hOTqZRo0asXr2axo0bA7BmzRqee+457HY7995771VLm0IIIa5N8bO54lGaagunntFdaQSN5557rszj7r33XmbNmkVQUJC2bsuWLezcuZPffvuN5ORkunbtyh133IGnpyfPPPMM48aNY/Lkybzxxhs8++yzLFu2jIyMDKZPn87u3btp0KAB0dHRbNu2rcIbYgghRF2RmZlJenp6rSvNgZOtLg0Gg/ay2Wx89tlnTvXL6tmz5yVjpK1fv54JEyZgNBoJCgqiZ8+ebNmyBaUUmzZt4v777wdg/PjxbNy4EYCvvvqKPn360KhRI4xGI+PHj5dhyYQQohzV1tIcOFmimzlzZqnlZ599lpEjR17XBRMTExk+fLi2HBoaSmJiImlpaZjNZtzc3AAwm824uLiQmZlJYmJiqZsfGhrKV199dV3XF0IIUVptLs2Bk4nuz/R6PUePHr3ui5Zs9Vay0eefW8NdaduVGoouXryYxYsXa8vp6enXHaMQQtR65+NB2UlI0dfa0hw4mehuu+02LdHY7XaOHDly2VnHnRESEsLp06e15cTERLp06YK/vz85OTkUFBTg5uZGXl4eVqsVb29vQkJCSk3+mpiYeNmOjFOmTGHKlCnackRExHXFWFl0Oh2RkZHYbDbsdjsDBw7k+eefx9PTs9JjiY2N5YUXXmDr1q2Vfm0hRBVQCr6YRmbKWdI7LyS0WYtaWZoDJxPdrFmz/neA0UjTpk1LNTC5FsOGDeOFF15g/PjxJCcnExcXx9tvv41Op2PgwIEsX76chx56iGXLlmnDTfXv318byb9+/fp8+OGH/POf/7yu61cnBoNBm6onKyuLhx56iKFDh15TsrHb7RgMhgqKUAhRax3+jKyTv3IkYioGF7daW5oDJxujxMTE0LZtW/Ly8sjOztaeo13Nww8/THBwMHa7neDgYB5++GFuu+02unTpQqtWrYiJiWH+/PlaCeZf//oXH374IS1btmT16tVaFwJvb2/mzZtHr169aNWqFb169ap1LS69vLx45513+PHHH4mPjychIYGwsDBt+4oVK7RS9NKlSxk2bBjDhw+nXbt2KKUYMWIEnTp1om3btjz55JPacRMmTODxxx8nOjqaZs2alaraXbFiBTfddBO33HILn332WaW9VyFEFbNbYetsvky/mdg95wls2LDWlubA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BAUFcerUKby8vNi3bx933nknP/74I2azudR7gap7P3FxcQQHB5Odnc3YsWOZP38+cOV7XV3iLrZixQot5o4dO1b7+13seu5vdfj87927l1mzZrFlyxZt3UsvvUSjRo1QSvHSSy8xceJEvvzyS6DqY77ez0RVx13sl19+ISsri5iYGG1ddbrff/7OKyuG8r7ftbJEFxISwunTp7XlxMREgoODqzCi0ux2O2PGjKFTp048+eSTAHh5eWl/9UZFRdG9e3f27duHv78/OTk52gCneXl5WK1WvL29Kz3u4nvo6enJQw89xM6dO694r6tT3AD79+8nNTWVvn37AjXjfsOVP8tlxVkdPv9Hjx5l5MiRrFmzhptuuklb37hxY3Q6HXq9nqlTp7Jz506gevyfvZ7PRHWIu9iKFSsYM2ZMqURQXe735b7zKvWzfWO1rdWTzWZTzZs3VwcPHlRKKXXvvfdWm8YoSin1wAMPqIkTJyqHw6GtO3funLZ85swZFRwcrI4ePaqUUuq+++5T77zzjlJKqTfeeKNKGnXk5ORoz1msVquaMGGCeu6559SWLVtUdHS0stls6uzZsyokJER7oFwd4i42ffp0NX36dG25Ot/vks9fruf+ZmRkqJCQEHX+/HlltVpVjx49KrSBxJ9jPnPmjAoLC1Nbtmy5ZL+zZ89qP7/77rsqOjq6ymL+c9zX85moDnErVfSd16hRI+07r1h1ud+X+86rzM92rUx0Sin1zTffqNatW6sWLVqoiRMnKqvVWtUhKaWUiouLU4Bq27atioyMVJGRkWrhwoXq9ddfVxEREdq6lStXasecPn1a9ezZU910002qV69eKjExsdLjPn78uIqMjFTt2rVTERER6qGHHlJ5eXlKqaIk0qJFCxUWFqY+/vjjahW3UkrZ7XYVHBysfv31V21ddbzfkydPVkFBQQpQQUFBavLkyUqp67u/q1evVmFhYap58+bq73//e6XG/OCDDyovLy/t3kZGRqqTJ08qpYpavbZt21a1b99e9e/fXx07dqzSY75S3Nf7majquJUqap3boUOHS/avDvf7St95SlXeZ1uGABNCCFGr1cpndEIIIUQxSXRCCCFqNUl0QgghajVJdEIIIWo1SXRCCCFqNUl0QlQz/fr1Y8WKFdrykSNHaNKkCenp6VUYlRA1l3QvEKKaOX78OP369WPv3r34+fnRp08fHn30UUaOHHld57Pb7RgMhnKOUoiao9aOdSlETdWiRQseffRRpk2bRnR0tDYsVZcuXbBYLDRv3pz3338fb29vXnrpJT755BOsVivBwcEsW7YMf39/li5dysaNG9HpdBw+fJiDBw9eMn6gEHWFlOiEqIbsdjtdunQhKSmJlStX8sILL/D555/j6urKK6+8wsWLF3nllVdIS0vD398fgNdee42UlBRefvllli5dyvTp09m/fz+BgYFV/G6EqFpSohOiGjIYDDz66KPExcWxf/9+Dhw4QJcuXQCwWq20a9cOgB9++IGXX36Z7Oxs8vPzCQ8P187Rr18/SXJCIIlOiGpLr9ej1+tRSnHvvffy73//u9T2wsJCJkyYwO7du2nRogWfffYZCxcu1LZ7eHhUcsRCVE/S6lKIau7WW2/lk08+0SaYzMvL47fffqOgoACHw0HDhg2x2+0sWbKkiiMVonqSRCdENde6dWtee+01hgwZQmRkJF27duXgwYN4e3vz1FNPERkZSb9+/UpVWwoh/kcaowghhKjVpEQnhBCiVpNEJ4QQolaTRCeEEKJWk0QnhBCiVpNEJ4QQolaTRCeEEKJWk0QnhBCiVpNEJ4QQolb7fzx7WzWbEVxOAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# The function I found that best matches the data has the form\n", "# a + b / (c - x)\n", "\n", "# This function is hard to explain physically; that is, it doesn't\n", "# correspond to a growth model that makes sense in terms of human \n", "# behavior.\n", "\n", "# And it implies that the population goes to infinity in 2040.\n", "\n", "from numpy import linspace\n", "from matplotlib.pyplot import plot\n", "\n", "xs = linspace(100, 1950)\n", "ys = 110 + 200000 / (2040 - xs)\n", "table1.plot()\n", "plot(xs, ys, color='gray', alpha=0.5, label='model')\n", "\n", "decorate(xlim=[0, 2000], xlabel='Year', \n", " ylabel='World population (millions)',\n", " title='CE population estimates')" ] }, { "cell_type": "code", "execution_count": 13, "id": "simple-verse", "metadata": { "scrolled": true, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEkCAYAAABZm/S2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAuJAAALiQE3ycutAABX/ElEQVR4nO3dd1zVdf//8cdh7ykgMkSRISI4cCuKszRNLbUcqdllpXWl9m135bi66ufVZcNCW5a5SsuVW8vcW0BR3AsQUEQ2ss55//7w4lySSojAYbzut9u55eecz3ieA50Xn8/nPTRKKYUQQghRRxkZOoAQQghRlaTQCSGEqNOk0AkhhKjTpNAJIYSo06TQCSGEqNOk0AkhhKjTpNCJaqHRaIiJibnna/Hx8djY2JCZmVktWT744AOefvrpajlWZerRoweffvpphbd/4YUXeOONNyovUBWprT8fUXNJoRP31KNHD8zNzbGxscHR0ZHu3btz+PDhKjmWt7c3OTk52Nvbl7ne5cuX0Wg0ZGRkPNTx3n77bX788ceH2kdNN2PGDAYPHlzquS+//JLZs2cbJtB9LFy4kFatWpV6rip/PpX1OyRqFyl04r5mz55NTk4OycnJtGnT5q4vzhLFxcXVG+wh1KasQojKIYVO/CULCwsmTJhAUlISaWlpjBs3jgkTJjB8+HDs7OyYP38+RUVFvPfee/j6+uLs7MygQYNISkoqtZ8DBw4QHByMnZ0dgwYN0l+q/PNf2du2bSMkJARbW1vc3Nx48cUXAWjfvj0Anp6e2NjYsHTpUgC2bt1K69atsbe3p02bNvz222/6Y94r65/PdlJSUhg9ejSNGjXCwcGB8PBwbt26dc/PQqPR8NlnnxEQEICDgwMjRowodcn1yJEjdOnSBQcHB4KCgkqdmcyYMYPHHnuMCRMmYGdnh5+fH6tXr9a//udLkzExMWg0mnvmyMnJ4fHHH8fV1RV7e3vCw8M5duwYAGvWrOGDDz5g/fr12NjYYGNjo/8spkyZUu6sAwcO5KWXXsLBwQFvb2+WL19+zywASinmzp1LYGAgDg4O9OjRg1OnTulf//jjj/H29sbW1hYfHx++/fZboqOjeeGFF4iNjdXnjI+Pv+vno9FoiIyMJCgoCGtra8aMGcPNmzcZMWIEdnZ2tG7dmtOnT5c6lp+fH7a2tvj6+vLFF1/oX7vf71BUVBQRERE4OTnRrFkzvvnmG/02UVFRdOzYETs7Oxo0aMDAgQPv+zmIGkoJcQ/du3dXn3zyiVJKqdzcXPXKK6+oxo0bK6WUGjt2rLK0tFSbN29WWq1W5ebmqtdee0317NlTJSUlqYKCAvXqq6+qbt266fcHqB49eqiUlBSVnp6uWrduraZPn66UUurSpUsKUOnp6Uoppdzd3dWiRYuUUkrl5OSovXv33nM9pZQ6f/68srCwUCtXrlRFRUXq559/VpaWlurixYv3zTp9+nT1+OOPK6WU0mq1ql27dmrs2LHq5s2bqqioSO3evVvl5+ff83MBVNu2bdXVq1dVenq66tOnjxo3bpxSSqn09HTl7Oys5s6dqwoLC9WOHTuUtbW12rNnj1JKqenTpytjY2P15ZdfqqKiIvXrr78qc3Nzdf78+bs+c6WUio6OVnf+L3rn65mZmeqnn35SOTk56tatW+rvf/+78vf3VzqdTn+skvdYYuzYseqVV14pd1ZTU1O1bNkyVVxcrH744QdlY2OjsrKy7vm5REZGqpCQEHX27FlVVFSkPvvsM+Xr66sKCgrUmTNnlKWlpTp16pRSSqmUlBR17NgxpZRS33//vQoNDS21rz9nB1TPnj3VjRs3VGJionJ1dVUtWrRQu3btUkVFReqZZ55RAwcO1K//yy+/qPj4eKXT6dT27duVhYWF/n3d63coOTlZOTk5qeXLl6vi4mIVGxur3N3d1W+//aaUUqpTp07q/fffV1qtVuXn56udO3fe8zMQNZec0Yn7euutt3BwcKBp06acPn2aX3/9Vf9a37596devH0ZGRlhaWjJv3jw+/vhj3N3dMTMz4/3332fv3r0kJCTot3njjTdwc3PDwcGBJ554gqNHj97zuKamppw/f57U1FSsra3p3LnzfTP+9NNP9OjRg6FDh2JiYsKTTz5J165dS52d3JnVysqq1PaHDx8mLi6O+fPn4+joiImJCV27dsXc3Py+x3z99df1Z3///Oc/WbZsGTqdjg0bNuDi4sLLL7+Mqakp3bt3Z+TIkfzwww/6bf39/Xn++ecxMTFh4MCBREREVOh+lJ2dHSNGjMDa2hoLCwtmzpzJ2bNn7zqLvp/yZG3Tpg1PP/00xsbGjBkzhsLCQs6ePXvP/UVGRjJr1iz8/PwwMTHh73//O7du3eLgwYMYGxujlOLkyZPcunULNzc3QkJCHuj9vvbaazg7O+Ph4UH37t0JDg6mW7dumJiYMGLECKKiovTrPvHEE3h5eaHRaIiIiKBfv37s2LHjvvtevHgx4eHhDB8+HGNjY4KDgxk/fjzLli0Dbv8+XrlyhaSkJMzNzQkPD3+g7MLwpNCJ+/rwww/JyMggJSWFzZs3l/py8vb21v/7xo0b5ObmEh4ejoODAw4ODjRs2BAzM7NSha5hw4b6f1tbW5OdnX3P465evZoTJ04QEBBA69atWbFixX0zJiYm4uPjU+q5pk2bkpiYeM+sf3blyhU8PDywtLS87zp/1rhx41L/LiwsJDU1tVxZ7ty2ZPnq1avlPnaJW7duMWnSJHx8fLCzs9Mf98aNG+XavjxZ7/x5aTQaLC0t7/szu3z5MqNHj9b//B0cHEhPTycxMRFfX19++OEHvvjiC9zc3Ojbt+99W+Dez51ZrKys7lrOycnRLy9dupQ2bdrg6OiIg4MDGzduLPNzuXz5Mhs3biyVfe7cuSQnJwPw3XffkZ+fT9u2bQkMDCx1KVTUDlLoRIUYGf3vV8fZ2RkrKysOHjxIRkaG/nHr1q0yz8bup02bNqxcuZIbN27wj3/8g5EjR3Lt2rVSxyzh6enJ5cuXSz136dIlPD0975n1z0oKzf3uyd3LlStX9P+Oj4/HzMwMFxeXcmW5c9uS7T08PACwsbEhLy9P/1rJF+29zJkzh6NHj7Jnzx6ysrL0x1X/nYykrPcM5fvcHoSXlxc///xzqZ9/Xl6evpvA8OHD+eOPP7h27RqhoaGMGTOmXDkfVHx8PGPHjuXf//43qampZGRk0L9//zI/Fy8vL4YMGVIqe3Z2Nhs3bgTA19eXRYsWkZKSwrfffsv//d//3fdqhKiZpNCJh2ZkZMQLL7zAq6++qj+DS0tLK7Pxwv0UFhayePFi0tPTMTIywsHBAQATExNcXFwwMjLiwoUL+vVHjBjBjh07WLt2LVqtllWrVrF7926eeuqpch2vXbt2BAQEMHnyZDIyMiguLmbPnj0UFBTcd5uPPvqIpKQkMjIyeO+993jqqacwMjKif//+XL9+nXnz5lFcXMzu3btZtmwZzzzzjH7bs2fP8s0331BcXMyGDRvYvn07I0aMAG4X+FWrVpGZmcn169f597//fd8MWVlZWFhY4OjoSE5ODm+//Xap193c3Lhy5Qparfae25cn64OYPHky7733HmfOnNHnW7t2LdnZ2Zw5c4Zt27Zx69YtzMzMsLGxwcTERJ8zOTn5gf7QKEtOTg5KKVxdXTEyMmLjxo1s3bpV//q9fofGjBnD9u3bWblyJUVFRRQVFRETE6PvTrNo0SKuXbuGRqPB0dERIyMjfX5RO0ihE5Xiww8/pFOnTvTs2RNbW1vatm1b6gvmQSxbtoxmzZpha2vLyy+/zLJly3B2dsbS0pLp06fz6KOP4uDgoF9v1apVTJ8+HUdHR2bNmsXq1atp2rRpuY5lZGTEunXryMvLIyAggAYNGvDuu++i0+nuu83o0aOJiIigcePG2Nra8tlnnwHg6OjIpk2bWLJkCc7OzkycOJH58+fTtWtX/baPPPIIBw4cwMnJiVdeeYUlS5bg5+cHwNSpU3F3d8fLy4uePXvqC+C9TJs2DWNjY9zc3AgODqZTp06lXh82bJi+lWDJHwt3Kk/WB/HSSy8xbtw4hg4dip2dHc2bN9ff4yosLOQf//gHbm5uODs7s337dhYuXAhAz5496dixIx4eHjg4OBAfH1+h45cICgrinXfeoWfPnjg7O7N8+XIGDRqkf/1ev0MeHh5s2bKFr776Cnd3d9zc3Jg8eTJZWVkA/Pbbb4SGhmJjY8OgQYP46KOPCA0NfaiconpplJKJV4UoL41GQ3R09F2dnMtjxowZxMTEsGbNmkrPJYS4PzmjE0IIUadJoRNCCFGnyaVLIYQQdZqc0QkhhKjTpNAJIYSo02pNZxA7O7sKd2YVQghReyUmJuq7e1RErSl0np6exMXFGTqGEEKIahYUFPRQ28ulSyGEEHWaFDohhBB1Wq25dPlXpJdE1bvfJKBCCFGT1fpCVzIAbnFxsaGj1HlWVlZ4eXlV+ojzQghRlWp1ocvMzOTatWv6+cTkjKPq6HQ6rl69SmpqKm5uboaOI4QQ5VarC93169fx8PDA2tra0FHqvJKR8q9cuSKFTghRq9Taa1BKKYqLix9oZmjxcExNTdFqtXI/VAhRq9TaQldCLldWH/mshRBVKT8/n5ycnErfb5UWupdffhlPT8+7ZuN9/fXXadasGf7+/vzyyy9VGaFaXL58mWbNmpV6buHChTz33HMAXLhwgT59+tCqVSuCgoKIiIi478Sey5cvJzQ0lMDAQIKCgnjhhRfIy8ur8vcghBCGFhUVxSeffEJqamql7rdK79GNGDGCd999Fw8PD/1zW7du5cCBA5w+fZpr167RsWNH+vXrh62tbVVGMaiXXnqJv/3tbwwfPhyA48eP3/PsaNu2bbz22mts2rSJFi1aoNPpWLRoEVlZWVhZWVV3bCGEqDZKKaKjo3FycqJBgwaVuu8qPaPr2rXrXQ0XVq1axbhx4zAxMcHDw4OuXbuydevWqoxhcFevXsXFxUW/HBIScs9C9/777/Pee+/RokULAIyMjBg3bhwNGzYE4PPPP6d9+/aEhoby3HPPUVRUBICPjw/Tp0+nXbt2+Pv7s2/fPgDOnDlDp06daN26NS1atNDPbO3j40NiYiJweww5Hx8f4Hbjnp49e9KqVStatGjBvHnzquTzEEKIP0tISODGjRu0adOm0m+TVPs9usTERLy8vPTL3t7e+i/dyjA4ci/f7r6oX35xyVHeX/+/MTJnrjvJ5GVR+uWvd13gifn79Mu/HkticORermflV1qmqVOnMnDgQCIiIpgxYwaXLl2653onTpwgLCzsnq9t376dgwcPcuDAAY4dO4aZmRnffvut/nUrKysOHz7Mv/71L6ZPnw7AvHnzmDRpEtHR0Zw4cYKIiIgycy5dupSIiAhiYmI4efIkTz/9dAXfsRBCPJioqCiMjIwICQmp9H0bpHvBndX6fi34IiMjiYyM1C+np6dXea6Kut9fHyXPjx8/nkcffZRt27axYcMGQkJCOHLkCAEBAeXe18aNG9m9ezdt2rQBbt+0vbNbxZNPPglA+/bteeuttwDo0qULs2bNIiEhgUcffZTWrVuX+T7at2/P+PHjKSwspF+/fnTt2vUv3rkQQjy8/Px8Tp48SfPmzauku1i1FzovLy/i4+P1y4mJiXTo0OGu9SZPnszkyZP1y+UdvXrN5C6lluePbltqefrAFqWWJ4b7MjHcV788KLQRg0IbletYJZydne8qxGlpaaUuVzZs2JAxY8YwZswY+vfvz/r16+8qdMHBwRw5coTQ0NC7jqGUYurUqUyZMuWeGczNzYHb/d1KRokZPnw4HTt2ZPPmzUycOJHhw4fz2muvYWJiom8MU1BQoN9Hly5d2Lt3L5s3b2bGjBkEBASU+mNDCCGqQmxsLMXFxX/5x3hFVfuly6FDh/LDDz+g1WpJSkpiz5499O3bt7pjVCobGxt8fX359ddfAcjLy2P58uX07NkTgE2bNlFYWAhAVlYWFy9epEmTJnft591332XWrFn66YiUUixatIiUlBQeffRRvv/+e31BzcjIuO8l0BLnz5/Hy8uLiRMnMnXqVA4dOgRAkyZNOHr0KAArV67Ur3/58mUcHBwYM2YMs2bN0q8vhBBVKSoqCgcHB5o2bVol+6/SM7rnn3+eDRs2oNVq8fT0ZMCAAXz11Vds27aNgIAANBoNc+bMqRMtLhcvXszkyZN577330Ol0jBkzht69ewPw+++/M23aNExNTSkqKuLJJ59k6NChd+2jT58+zJ49m6effpqCggKMjY0JDw/nySefpHfv3rzwwgt0794dABMTEz777LN7FswSK1asYOnSpZiZmWFhYcGXX34JwMyZMxk/fjwff/xxqft2f/zxB3PmzMHExARjY2M++uijyvyIhBDiLsnJyaSkpBAREVFlfXU1qpYMcxEUFFRq4lWlFKdPnyYwMFA6MlcT+cyFEJVt/fr1REVFMWXKFOzs7O65zp+//x9UrR8ZRQghRO1UWFjIiRMn8PPzu2+RqwxS6IQQQhhEXFwcBQUF+tbkVUUKnRBCCIOIiorCxsYGPz+/Kj2OFDohhBDVLjU1lYSEBFq1alXlkzlLoRNCCFHtoqJuj1BVVX3n7iSFTgghRLUqLi7m2LFjNGnSBCcnpyo/nhS6SvBX0/TMmDEDU1NTzp8/r3+9d+/e7Nix4659zZgxA3d3d1q3bo2fnx+9e/dm27Ztd73eqlUr/ePgwYMAzJkzh5YtWxIaGkpwcDDLli0rte+VK1ei0WiIjo6urLcuhBAP7PTp09y6davKG6GUkEJXTRo1asSsWbPKte7kyZOJjo7m3LlzvPHGGwwfPpydO3eWej0mJkb/6NChAwcPHmTZsmUcPnyYY8eOcfDgQdq3b19qv4sXLyY8PJzFixdX6nsTQogHER0djaWlJYGBgdVyPCl01eSZZ55h9+7dnDlz5oG269OnD5MnT+azzz4rc72rV69ib2+PmZkZANbW1qXOMm/evMn+/fv54YcfWL58OVqt9sHfhBBCPKT09HQuXrxISEjIXZNyVxWDzF5Qpb7pdfdzroHw+H8HJ970JiQevnudZ9aAuS3E/gIH5v/v+b/9XimxzM3NeeONN5g5c+ZdlxT/Stu2bUuNSRkZGVlqZvatW7fSt29f3n//fZo0aUL37t157LHHGDZsmH4Ek59++onHH38cHx8fgoKC2LZtG4888kilvDchhCivklsn1XXZEuSMrlL81TQ9JZ599lkOHDhQoaFs7tzXny9durq6YmNjw+HDh1m6dCl+fn68/vrrTJw4Ub/N4sWLGTVqFACjRo2Sy5dCiGqn0+mIiYnB09MTV1fXajtu3Tuj+6szsEf/X9mvt3zy9uMBlGeaHgAzMzPeeustZs6c+UD7j46OLtc0RcbGxnTt2pWuXbvSr18/evXqxTfffMP58+c5evQoY8eOBW7/sqWnp5OdnV0nBtQWQtQOp0+fJjs7+y8nga5sckZXCf5qmp47jR8/nqNHj5b7Xt327dv54osveOWVV8pc78yZM5w+fVq/HBMTo5/ZYPHixbzyyitcvnyZy5cvEx8fz4ABA1i1alV536IQQjwUpRT79u3D2tqali1bVuuxpdBVksWLFzN37lxatWpFx44dGTZsmH6anjuZmJjwzjvvkJiYeN99RUZG0qpVK/z8/Pjggw/4+eef6dat212vlzw2btxITk4Ozz33HEFBQYSEhLBkyRIWLVoEwJIlSxg2bFipYwwbNkz/uhBCVLX4+HiuXr1K+/btq60RSgmZpkeUm3zmQoiK+vHHH7l06RJTp07F0tLygbaVaXqEEELUaKmpqZw9e5bWrVs/cJGrDFLohBBCVKl9+/ah0Wjo1KmTQY5vsEL35ZdfEhwcTIsWLXjhhRekA7MQQtRB2dnZxMbG0qJFCxwcHAySwSCF7uTJk/znP/9h7969nDx5EnNzc5YsWWKIKEIIIarQoUOH0Gq1BjubAwMVuri4ODp06IC9vT0A/fr1Y8WKFYaIIoQQoooUFBRw5MgRfHx8aNSokcFyGKTQhYaGsnfvXpKSktBqtfz8888kJCQYIooQQogqEh0dTX5+Pp07dzZoDoMUOn9/fz788EMGDx5Mt27d8Pb2vqtfRWRkJEFBQfrHn0ceEUIIUXNptVoOHDiAq6vrXdOYVTeDNUZ5+umnOXToEPv27aNVq1YEBASUen3y5MnExcXpH46OjgZKahg9evRgz549Za4zY8YM3n///WpKJIQQ5RcXF0dmZiadOnUyeL9bgxW6a9euAZCVlcXs2bN5+eWXDRVFCCFEJSoZ7svW1rbah/u6F4MN6vzUU09x7do1lFK89tprlXINd+3ataSmplZCuv9xcXHh8ccf/8v1Sob22rJlC4WFhSxcuJB3332XU6dOMWjQIObMmQPAnj17mDJlCoWFhXh5ebFgwQIaNmzIzZs3GT16NFeuXCE4OJj8/Hz9vo8fP86UKVPIzMzEwsKCL7/8skb88gghxL1cunSJlJQUevfujbGxsaHjGK7Q/fHHH4Y6dJXQarUEBwczc+ZMpk2bxhNPPMHBgwextrbGz8+Pl19+GXd3d55++mnWrl1LmzZtmDNnDlOmTOGnn35i1qxZhISEsHHjRmJiYggLCwOgqKiIiRMnsnLlSjw8PDh48CDPPfccBw8eNPA7FkKIe9u3bx9mZma0bdvW0FGAOjZNT3nOvKqKRqNhyJAhALRq1Yrk5GScnJwACAwM5PLly2RlZdGwYUP9hIMTJkxg9uzZAOzcuZOlS5fqty85Yztz5gwnT55kwIAB+mPdvHmz2t6XEEI8iJSUFC5cuECnTp2wsLAwdBygjhU6QzIyMtK3HDUyMsLc3LzUa8XFxdxr/OySm7T3G1tbKYWvry8xMTGVH1oIISrZ/v37MTIyomPHjoaOoidjXVajwMBAUlJSiIqKAmDBggX6CQh79OihnzYnJiaG2NhY/TbZ2dn89ttvwO3CJ0VPCFETpaWlERsbS8uWLbGzszN0HL1yndElJCSwZ88ekpKSsLS0JDg4mE6dOmFqalrV+eoUc3Nzli1bxsSJEyksLMTT05PvvvsOgPfee4/Ro0cTGhpKmzZtaN++PQCmpqasWbOGv//977z66qsUFRUxdOhQWrVqZcB3IoQQd9uxYwcajYbw8HBDRymlzPnodu/ezYwZM0hLSyMsLIyGDRty69Ytzpw5w5kzZxg5ciSvv/461tbWVR5U5qMzPPnMhRD3k5KSwldffUXbtm157LHHKnXfDzsfXZlndEuXLmX+/Pn4+/vf9VphYSG//PILa9euZeTIkRUOIIQQovbbvn07JiYmdO/e3dBR7lJmofvyyy/v+5qZmZkUOCGEEMTHx3Pu3Dk6d+6Mra2toePcpVyNUb788ksyMzMBeOmll+jQoQM7duyoylzlptPpDB2h3ijjKrcQop5SSrF9+3bMzc3p0qWLoePcU7kKXWRkJPb29uzdu5czZ87w6aef8tprr1V1tjJpNBqsrKy4evUqBQUF6HQ6lFLyqKKHTqcjLS0Nc3NzuT8nhNC7cOECV65coVOnTlhZWRk6zj2Vq9VlSevKrVu3Mm7cODp16kRxcXGVBisPLy8vUlNTuXLlisxQXg3Mzc3x8vIydAwhRA1RcjZnZWVVo/rN/Vm5Cp2joyP/+te/WL58OXv37qW4uLhGFDojIyPc3Nxwc3OTy2rVQM7khBB3OnXqFMnJyfTr16/UIBk1TbkK3U8//cTSpUv57rvvcHZ25sqVK7z66qtVne2ByJewEEJUH51Ox/bt27Gzs9OPzVtTlavQubi4MGXKFP1y48aNGTduXBVFEkIIUdMdO3aMtLQ0Bg4ceNfE2TVNuRqjrF27Fn9/fywsLDAzM8PU1BQzM7OqziaEEKIGKi4uZufOnTg7O9eKUZrKVeimTZvGsmXLyM/Pp7CwkKKiIgoLC6s6mxBCiBroyJEjZGZmEhERgZFRzR8yuVwJ3dzcavw1WCGEEFWvsLCQ3bt307BhQ4KCggwdp1zKdWE1PDycyZMn8+STT5ZqWVMZs4ILIYSoPfbv309eXh6DBw+uNY0Ay1XoSmaznjVrlv45jUbD9u3bK3zgzZs38+abbwJgZWXFggULaN68eYX3J4QQomplZmayd+9eGjduTLNmzQwdp9zKVej++OOPSj/wxIkT2bJlC82bN+frr7/mvffe4+eff6704wghhKgcW7dupbi4mP79+9easzkoZ6HT6XR8++23bN++HY1GQ8+ePZkwYcJD3YTUaDRkZWUBt/9KcHd3r/C+hBBCVK0LFy4QFxdHx44dcXV1NXScB1KuQjdlyhQSEhL0fecWLlxIbGwsc+fOrfCBFy9ezIABA7C0tMTa2pq9e/dWeF9CCCGqjlarZdOmTdjY2NCjRw9Dx3lg5Sp0O3fu5NixY/rlgQMHPlTfCa1Wy4cffsgff/xBy5Yt+e6773jmmWfYsGGDfp3IyEgiIyP1y+np6RU+nhBCiIrbv38/aWlpDBkypEYP9XU/5br2qNPp9JcZAXJych5qbMno6GiysrJo2bIlAKNHj75r2p/JkycTFxenfzg6Olb4eEIIISomMzOTXbt24e3trf/Orm3KdUY3adIkwsLCGDJkCACrV69+qLEuPTw8OHPmDFevXsXDw4PNmzdLi0shhKiBamsDlDuVq9C9+OKLdO7cmV27dqGU4pdffiEkJKTCB3V3d+ejjz6ib9++mJiYYGNjw4IFCyq8PyGEEJXv4sWLxMXF0aFDB9zc3Awdp8I0qpbMbxMUFERcXJyhYwghRL2g1WqZP38++fn5vPTSS1hYWBgsy8N+/5d5Rjd48GDWrFmDn59fqVNWpRQajYazZ89W+MBCCCFqrjsboBiyyFWGMgvd/PnzAfjtt9+qJYwQQgjDqwsNUO5UZqEr6cTduHHjagkjhBDC8OpCA5Q7lVno/nzJsoRcuhRCiLqpZASU2t4A5U5lFjq5ZCmEEPVHfn4+69atw9bWtlaOgHI/ZRY6uWQphBD1x5YtW8jMzGTUqFG1vgHKneTSpRBCCM6ePUtMTAxt2rSpVVPwlIdcuhRCiHouLy+PdevW4eDgQN++fQ0dp9LJpUshhKjnNm3aRE5ODmPHjq2Vgzb/FekwLoQQ9VhcXBwnTpygQ4cO+Pj4GDpOlZAO40IIUU/l5uayYcMGnJyc6NWrl6HjVJkyp+m5s8O4jY0NcXFxnDp1ChsbG7msKYQQtZhSivXr13Pr1i0GDx6Mqalp2RsU5cPuOXDwq1JPZ+YVVWHKylGu+eiWL19Oy5Yt+fbbb/n6668JCQlhxYoVVZ1NCCFEFYmNjeX06dN07twZLy+vv97g6EL4fRZc2A7/nQvgx0PxtPvgNxLT86o27EMq1zQ906dP58iRIzRq1AiAq1ev0qtXL4YPH16l4YQQQlS+rKwsNm7ciIuLS9kdw6+fAp0WGgZD23EU2bjza34bet0qwsHKjDbejgxp5VFtuSuqXGd0tra2+iIHtydOdXFxqbJQQgghqoZSinXr1lFUVMSQIUMwMTH58wpweQ8sGwHzOsKm128/b2pBlFVXXv3lOKuirgIQ0NCW2U+G4OloVc3v4sGUeUa3b98+ALp3786oUaMYM2YMAIsXL65Tw8MIIUR9ceDAAc6fP0/37t317TD0TqyEvXMhOQZMrSlo8xwfZPQmNCqRoW08ad/Eie/GhdHNr3ad6JRZ6N55551Sy7Nnz9b/Ozk5uWoSCSGEqBIJCQn89ttvNG7cmPDw8NtPaovB+L+lIHYlKjuF7C7vYNf1bxib2bP7k100SL8FgEajoWdg7RvoucxC98cff1TJQZOSkujfv79+OSUlhU6dOrF69eoqOZ4QQtR3eXl5/PLLL1haWvLEE09glJ0EB7+E2F/gxX1g5YR67GMe/foEzldsWNrHERNg69RwTIzLdZerxiqz0B09epS2bdve9/X8/HwuX75MYGDgAx20UaNGxMTE6Jd79+7NsGHDHmgfQgghykcpxapVq8jOzmbMgC7Ybnv19mVKXTHZHuFs23eCob3D0dg25JmuhdhZmugHBqntRQ7+otDNnTuXxMREnnzyScLCwnB1daWgoIBz586xbds29u3bx5w5cx640N0pKSmJI0eO8Ouvv1Z4H0IIIe5v165dXLhwgYhgd5qsG4oyMkXTchh0eol/7tGyflcyfboWYWthysgO3oaOW+nKLHQ//PADFy5cYNGiRbzxxhskJSVhaWlJcHAwAwcO5KOPPvrrToZ/YenSpQwePBgrq5rdakcIIWqd4gIubl/Ejv1JNGvWjG6PPc7Zwgu8k9Cebx8ZhL2lKVP73OK1foHYWjzcd3lN9pf96Hx9fZk5c2aVBViyZAlz5sy56/nIyEgiIyP1y+np6VWWQQgh6pS8m3D0e7L3L2JVXj9sTMwYMHAQGnMbUtu9RtHNM6Rm52NvaYq7vaWh01Y5jVL/7eJuALGxsTzyyCMkJCRgZFT2deCgoCDi4uKqKZkQQtRCOh1seQuiFqErusUP5uNJKHJgwy1/3hjWjaFtPPX33mqTh/3+L9fIKFVl8eLFjBo16i+LnBBCiDJkJICDFxgZUZR2iXibthyyH0j8lRR69+1LgwIXuvo1AKh1Ra4yGKzQ6XQ6fvzxRzZs2GCoCEIIUXtpi+H0etj/Ber6KTKfj8HB2YXCoT/w4uw1dMk4S/PmzencsSNd6mFxu1O5C51Wq+XatWsUFxfrn/P2rnjrHCMjIxISEiq8vRBC1EsF2RC1GA7Oh4x4lLULC9RAzm0+w+xRLuTl5hBheQUbaycGDRpUL8/g/qxchW7evHm88847ODk56S8zysSrQghhADHLYMtbZNo2w37QF2haDuPWrgQ6O1uRm5vLsmXL0AAjRozAwsLC0GlrhHIVujlz5nDy5MlSAzsLIYSoBolH4UAkqtUoNM16QauRzDlazE83/dkX2gtTYyNe7uVHcXExixYtIjMzk5EjR+Lq6mro5DVGuQqdp6enFDkhhKguOu1/77/Ng4QDaI1M+faCE+NfjcDM3JZhI8YzwdIE0/+OWqKU4tdffyUhIYH+/fvTrFkzA7+BmqVchS40NJRBgwYxZMgQzM3N9c+PHDmyyoIJIUS9VJAN87tAxhWUVQM03d9kq0V/tsbk8lhOAR4Olng7lx5gY+fOncTGxtKhQwfatWtnoOA1V7kKXXZ2Ns7OzuzatUv/nEajkUInhBCV4eYluHYSmj8G5rZcdOrGl6l9eXzgK3Rp7sUjSvFop3s3KomNjWXnzp34+/vTt2/fag5eO5Sr0H3//fdVnUMIIeqXkglOD8xHndlIoYk1l8ZGEejlhsvwT2m4+xJ+Hrfnfbtfy8mEhATWrl2Lm5sbQ4cOlT7J91GuQpebm8u//vUvtm/ffns+op49efvtt7G2tq7qfEIIUfecWgc7ZsO1WDC14lboOAYfbkHfuAwCvdywtTBlWh//MneRnp7OTz/9hKWlJU8//XSp20qitHIVuueffx4nJye++uorABYsWMDzzz/PkiVLqjScEELUGdkpYOMGGg3FNy+TceMaxzwn02vUa1hZOjKvSza+Ljbl2lV+fj7Lli2jsLCQ8ePHY29vX8Xha7dyFbrY2FiOHTumX547dy6hoaFVFkoIIeqMxCO3L0/GreFC3x9o1vExTNr/jVmXO+LX0IFelo4ANHO1LdfuioqKWL58OTdu3GD48OHSIr4cylXoNBoNV69excPDA4DExMQqDSWEELVacQGcXAOHvoKrR8HYjB1mPfjq9zSWtNNhYmrB3FEP3jpSq9Xy888/c/nyZfr160fz5s0rP3sdVK5CN336dNq1a0e3bt1QSrF3795SU+gIIYS4w82LsHoiWSbO2PZ4G03YeMxTjHhFo8HYqGJDcul0OlavXs25c+fo0aMHHTt2rOTQdVe5p+m5du0ahw4dQilFhw4dcHNzq+pspcg0PUKIGkkpSDgEh76mwNYT83635+/csGYZ0485sPrlHng5PdzE0kop1q1bR3R0NJ06daJPnz71agzLapumx83NjYEDB1b4QEIIUacU5cOJlbcvTyYfQ2dkyk/FvWkfkkVzdzt69h9BrwFgYWr8UIdRSrF161aio6Np06ZNvStylaHMQte+fXsOHTqEqalpqQ+2ZOK+wsLCKg8ohBA1ke67RzBKjkZr0wjjnv/gerMRHNl5gy7/HZbL0uzhClyJXbt2ceDAAYKDgxkwYIAUuQoos9AdOnQIuN3KRwgh6i2l4PJuOL0RHvkQNBqSWzzHP6+cIyj0Kf4e3pyGwOdPe1XqYQ8cOMCOHTvw9/dn8ODB0iG8gsr1qY0bN+6u5yZMmFDZWYQQomYpyIZD38C8jvDDQAoOfc+KbbeHQvToOppR41/ihYiAKjl0dHQ0W7ZswcfHh2HDhmFsXDlniPVRue7RHT9+/K7njh49WulhhBCixoj9BbXuFTSFOeDUFNX3X4w/6kcYDfWrdPNzqZJDHz9+nHXr1uHh4cFTTz2FiUm5m1OIeyjz0/v888+ZO3cuiYmJ+Pv/bzia7OxsHn300SoPJ4QQ1UZbDGc3g0cbsGsEDfw4pJqzweYxZr70MhojY5Z0VBhVsHtAeUVFRbFu3ToaNmzIqFGjZGivSlBmoXvmmWcYOHAg06ZN45NPPtE/b2dnh6Oj40MdOCcnh0mTJnHgwAGMjIyYOnUqzz///EPtUwghHljuDYhaBEe+g8wE9nk+R+fn5oB7KKkDF9HNxBg0t+/yVHWRO3jwIJs3b8bT05NRo0bJDOGVpMxCZ29vj729PatWrar0A0+bNo3g4GAWLVqEUorU1NRKP4YQQtxX3k3Y8jbqxEo02kJo2JL1jqOZeSmIrbmFOFqb8VhI9Q2vtWfPHn7//Xd8fHx46qmn5EyuEpXrwm9MTAyTJk3ixIkT5Ofn65+vaPeC7Oxs1q9fT3x8PHB7iDGZ9l0IUeWK8iE7CZyagrktuWd3sUPbnk5PvYlTQFe63iriD2MjbMyr756YUoodO3awa9cufH19GTFiBKamptV2/PqgXD/NF198kXnz5vHss8+ye/duvvrqK7RabYUPevHiRdzc3HjppZc4dOgQXl5efPbZZ/j4+OjXiYyMLDXMWHp6eoWPJ4So5zLi4fACVNQisswbonl+J3aWZlx+eifrdsbTokEgThoNDlZm1RpLKcW2bdvYv38/AQEBPPnkk9LwpAqUawiwsLAwjhw5QsuWLYmNjQUgPDy81IzjD+LIkSO0a9eOjRs38uijj/Ltt9+ybNkytm/fft9tZAgwIcQDu7QbDn4JZzaC0pHp1oE3EzrS6bHxPNO5iUGjKaXYuHEjR44coUWLFgwZMkS6ENxHtQwBVnIa3bhxY1asWIGHhwfJyckVPqiXlxdOTk76lpsjR47k//7v/yq8PyGE0NMWgfHt76yCw4vgzG8k+wzD55Ep2Lk2Z0BsMr2bV+9YvX+m0+lYt24dMTExtGrVioEDB0pn8CpU7tkLMjMz+c9//sOkSZPIzs5m7ty5FT6om5sbwcHBHDlyhLCwMLZt20aLFi0qvD8hhODmJTj8LerYT6SN+Z0G7j5oek9n4IVB9PcI5BU3PzRQrQ1M7qWwsJBffvmFc+fOERYWRv/+/WVYrypW7tkLKltcXBwTJkwgNzcXBwcHvvrqqzLnVpJLl0KIu5QMzXVgPpzZBCiOGLdmpdtLfDjxSQAKirWYm9SMS4I5OTksW7aM5ORkevToQXh4uBS5cqjSS5cffPBBmRu//fbbFT5wUFAQ+/fvr/D2QgjB6fWwfDTFxpaYtJsA7Z8n9qwp7a3+12qxphS51NRUli5dSnZ2NoMHDyY0NNTQkeqNMgudDOYshKhRcq7D4QXgHgKBA8CvH6tcX+L/Jbfi916DsbUwZXzVjMr1UC5fvszy5ctRSjFq1CiaNm1q6Ej1isEuXT4ouXQpRD12/RTsj4TjK0BbwFbL/nSZshhrcxPi0/LQaHjoyU2rSmxsLGvXrsXa2pqRI0dW+6TVdUG1tLqcNWvWPZ9/7733KnxgIYT4Szot/DQSzm5GaYzRBD3O0UZP88+9JnyZlkuLRvZ4O9fMAqeUYu/evfz++++4ubkxcuRI7OzsDB2rXipXobuzb0dBQQGbNm0iODi4ykIJIeoxbREkxYBXOzAy5jpOrNcNoHH/qfTq2I7WOsWOTmBcxeNOPgytVsvGjRuJiorC19eXYcOGyZBeBlSuQvfOO++UWn7rrbcYNmxYlQQSQtRTBdlw9AfUgXmonOucfXo/gX5+2A//grNrT9LR2weo+oGVH1Z2djY///wzCQkJtG7dmgEDBkhHcAOr0FgzRkZGnD17trKzCCHqo5zrt7sHHF4ABZnoXFrwdsYQ8g6l87nf7VaT/++JEEOnLJeEhARWrFhBXl4e/fv3JywsTLoP1ADlKnR9+vTR/7C0Wi1nzpy556zjQgjxwM5ugT0fc9kuDJ9hb2Hs24shl27S0sPe0MkeyNGjR9m4cSOWlpaMHTsWb29vQ0cS/1WuQvfuu+/+bwMTE3x8fPDw8KiyUEKIOiwlFvZ8Qr7/ICxCBkPIcGbHmBBd7MOyph0x0mjo2NTZ0CnLrbi4mE2bNhEVFYWHhwfDhw+XRic1TLkKXffu3UlLS+PQoUNoNBqZDFAI8eDiD8LuOXBuC1qNCd/EWTAh8DGszMz5++jhWJrVvvtY2dnZrFixgsTERFq3bk3//v1l9oEaqFw/keXLlzN16lQ6deqEUooJEybwySefMHz48KrOJ4So7bTFqKVPoLm4A2VqjabTSxx0HcHVi3CrUIuVmUmtLHLx8fH8/PPPcj+uFij3oM5HjhyhUaPbg6FevXqVXr16SaETQtybUnDjLLgEgLEJ8aoha4qH0HzA6/RtF0RnoHNrQ4esGJ1Ox549e9ixYwdWVlZyP64WKFehs7W11Rc5AA8PD1xcauA4O0IIw1IKzm1F+8cHqGtxnB6xl+AAf9xGzsP6wBU6BHsZOuFDyc7OZvXq1Vy6dAlfX18GDx6MjY2NoWOJv1Due3SjRo1izJgxACxevJgePXqwb98+ADp37lx1CYUQNd9/Cxw7PoSkaDRWLswpHk5RXBbBAWBhasxz3Wr3+I7nzp1jzZo15Ofn07t3bzp37iyXKmuJco11GRERcf8daDRlzgxeWWSsSyFqLhW7Es3KZ8k1ccS656sQ9iznMxS+Lta1vhhotVp+//139u/fj4ODA0888QSenp6GjlWvVMtYl3/88UeFDyCEqIOUgvO/U2BkgblvVzTNB7LC5WW2W/ZlfqduaDQamrkaOuTDu3nzJitXriQpKYkWLVrw2GOPSavzWqhchU6n0/Htt9+yfft2NBoNPXv2ZMKECTL1uxD1jVJw8Q/44wNIPEyMJpSWb23HysyMx5+fyfAaMvfbw1JKcezYMTZt2oROp2PgwIG0bt261p+d1lflKnRTpkwhISFBPxrKwoULiY2NZe7cuVWZTQhRk1zew60ts7BMPgiWjlwImcYvt3rTpKAYKzOTGjPB6cPKzs5m/fr1nD17Fjc3N4YOHYqrax04Pa3HylXodu7cybFjx/TLAwcOpFWrVg91YB8fH6ytrTE1vT0T8LJlywgKCnqofQohqs7137/AIimWhBZ/x3/Qa/ha2PGRoUNVIqUUJ06cYOPGjRQUFBAeHk54eLgMyFwHlPvSZVZWln5Ym5ycHCpjvtYtW7bITV0haqrEo9zc8v+42fPfNGvSBLvBHzF/XzIjurUEC0tDp6tUubm5bNiwgVOnTtGgQQPGjBlTqkuVqN3KVegmTZpEWFgYQ4YMQSnFmjVrePXVV6s6mxDCEJJibncTOLsZC2XOtm0baTZxMhbOXkwdWLv7wd1LXFwcGzZsIC8vj86dOxMRESHDeNUx5epeAHD8+HF27tyJUooePXoQEvJw02b4+Pjg6Oiov9E7Y8aMUr9ckZGRREZG6pfT09NJTk5+qGMKIcqQc52UZS/SMOk3MLGAds+x120ULfyb4WBlZuh0lS43N5fNmzdz4sQJnJycGDx4MF5eda+Q1wUP272g3IXuzkGd27Vrh7Pzw40unpiYiKenJ9nZ2YwePZrOnTvzxhtv3Hd96UcnRNVQhblozKyhKJ/rs1uzkzYMfukjTB3q5qU7pRTR0dFs27aN/Px82rdvT+/evfXtBUTNUy396KpiUOeSe3O2trb87W9/Y8GCBRXelxCiAq5GkfLrTDJuJOHzxn4szCzgpUMMsrHCtI60oPyz69evs379ehISEnBzc2PUqFHSTqAeMMigzrm5uWi1Wuzs7CguLmblypUPfSlUCFE+N07+gXPU52gu/I6LsQUHTB/BIj0LHzcnXB1sDR2vShQVFbFr1y727duHsbExffr0oUOHDtKisp4wyKDO165dY+jQoeh0OrRaLV26dOHNN9+s8P6EEOUTv/JdvGM/p9jECpPOf8eo00s8buNapztCnz9/no0bN5Keno6fnx/9+/fHwcHB0LFENTLIoM5NmzYlJibmwZIKIR6YtriY2N+XYtmsGwG+TXFt/yTbU/NoMmAqTby8qLvlDTIzM9m2bRsnT57E1taWYcOG0bx58zpd1MW9yaDOQtRFxQVw7Ce0ez7FOP0im1wm8Ojkjw2dqloUFRWxd+9e9u7di1arpV27dvTs2RNzc3NDRxMVJIM6CyH0VGEev/3wPh2vL8e26AbGjk242PFf9Agfb+hoVU4pxcmTJ9m2bRtZWVk0adKERx55RIbvEuUrdEKImu16Ri6uDtZoNEa0T1lGukkDbJ78CE3Q4zQ1qvsNLpKTk9m8eTPx8fE4OjoyYsQIAgIC5DKlAKTQCVG7JR8nesX7qPR47N7eg4WZBdaTd2Hv6AX14Es+JyeH7du3Ex0djZmZGb169aJjx44ysokoRX4bhKhlMvMKiPrtJ3rc/BnN5d2EGply2rUf2sJbYGaLiZO3oSNWuYKCAvbt28f+/fspKiqiVatW9OzZE1vbutk9QjycMgtdUlJSmRvLoKdCVL+k5VOIuLKMIjN7TLtOxaj9RILs6sf/i8XFxRw5coTdu3eTl5dH06ZN6dWrl3wXiTKVWei6dOmCRqNBKaW/9q3T6cjMzMTb25tLly5VV04h6q3k+HPErv4Yj0en0cLfD59ez3ExNoAmvZ8DcxtDx6sWOp2O2NhYduzYQUZGBu7u7gwdOhRfX19DRxO1QJmFrqSQTZ48mUcffZTHHnsMgHXr1rF79+6qTydEPaXV6ii4fBCrqK9oGPcr7krL/tjm4O+HpXdbmnq3NXTEaqGU4vz58/z+++9cu3YNR0dHnnjiCVq0aCENTUS5lasfXUhICMePHy/1XLt27Th8+HCVBfsz6Ucn6ov8a+e5/NVwAnUXwNgcQoZzq+1ELD3rzzB5SikuXrzIjh07SExMxNramvDwcNq2bSvDdtVD1dKPzt7enm+++YbRo0cDsGjRIul8KUQlUUqxLyaWouw0eoRHYOHkiYO5ESd9XqHFY38H6wbUrWlO7+/PBc7S0pKIiAg6duyImVndmypIVI9yFbqlS5fyyiuv8MYbb6DRaOjevTvLli2r6mxC1GlarQ7j+D1oDn1Dx1PriTMOQHXbj8bUgoavH6ZhPbo0V1Lgdu7cSUJCApaWlvTs2ZP27dvLH9XioZWr0Hl7e7N69eqqziJEvbFt0Yf4X15KY10CmFiSG/QUvh3+9r/7TvWkyEmBE9WhzEL3V2dtI0eOrNQwQtRVGXmF7Is5Qf/ObQDwzz2ClbGO/B7/xKLdGOwsHQ2csHrpdDpOnTrF3r17SU5OlgInqlSZhW7btm33fU2j0UihE6IMSik02kKI+5W83z6nZ2YcZ92P4t+kMY3HfQvm9mBkZOiY1aq4uJiYmBj279/PzZs3sbGxoXfv3oSFhUmBE1WmzEL3/fffo9PpWLFiBU899VR1ZRKi1jt67DhnNnzKCOMdGN9Kw83KheSQifi5/rffWz07g8vPz+fIkSMcOHCA3NxcnJycGDhwICEhITJcl6hyf/kbZmRkRGRkpBQ6Icqg0yn2nbtOQENbXOyt8ErfR9vClWS5dcBuwEcYBw7E06T+tRrMzMzk0KFDHD16lIKCAtzd3enfvz+BgYEY1bOzWWE45fpTasCAASxcuJCRI0dKE18h/iz3Btd2fEPjgws40vJ1Hh02EdfOY1DNw7FzCzJ0umqnlCIxMZEDBw5w6tQplFI0bdqULl260KRJE+noLapduTqMm5qaotVqATAxMbl970GjobCw8KEDTJo0ia+//pri4uIy15MO46ImSc8pYP6Sn3jaaCtNrm0FbSEZdgGY9p2BdXB/Q8czCK1WS1xcHAcOHCApKQljY2NCQkLo0KEDbm5uho4narFq6TBeVFRU4QOUZffu3eTm5lbJvoWobEkZt8jIKyKokR32xam8mfIKSmMCLYdCu+dw8GxXb7oF3Ck3N5eoqCgOHz5MdnY2NjY2RERE0LZtW6ytrQ0dT4jyT9Nz6tQpdu7cqe8wHhgY+FAHLigo4M0332TNmjUsXbr0ofYlRFXTpp5nx/zpWFtaEvTatxg5eKKeWIBRk3CwcTF0vGqnlCIhIYEjR44QFxeHVqvF3d2d3r1706JFCxmmS9Qo5Sp0CxYs4IMPPmDQoEEA/Pvf/+bdd99l/PjxFT7wrFmzmDBhAi4u9/6SiIyMJDIyUr+cnp5e4WMJURE/7DmP8cXfGa3ZgvGF3xkJZLk8AkqBRoOm5ROGjljtCgoKOH78OEeOHOH69esYGxvTokUL2rZti5eXl9x/EzVSuQd13rlzJ46Ot5tE37x5kx49etw10HN5HT9+nGnTprFt2zY0Gg0mJiZyj04YnFKKhJu38Ha2AuDMnH4EZB9AmduhaT0awiZAg2YGTmkY165d4/Dhw8TGxlJYWIijoyNt27aldevWWFlZGTqeqOOq5R6dUkpf5AAcHR0pR328r7179xIXF0eTJk2A2zexfXx8iI6OLnUcIarTwpVr0B3/maGvLcDR1pImfZ5HFT6FJmQ4mNW/e035+fmcOHGC6OhokpKS0Gg0+Pv7ExYWhq+vr5y9iVqjXGd0L774ImlpafpLld9//z0NGjRg3rx5lRJCzuiEISTczOPH/eeY4n4Ks6hvIfEwWo0xt8ZuxcYnzNDxDEIpxZUrV4iOjiYuLo7i4mLs7e1p1aoVrVu3xt7e3tARRT1ULWd0c+fO5csvv+Tbb79FKUVERAQvvPBChQ8qhKFodQoNYGSk4XrUOp499H+YabLAxg26v4lx23HY2LkbOma1y8rK4tixY0RHR5Oeno6xsTGBgYG0bt2aJk2aSOduUauVWehatmxJeHg43bp1Y8iQIbz88stVEuKvzuaEqAxnkrOYv/B7hvbqTHj7doSGtKHoQnPo8jwEDoR6NnJJYWEhp06d4vjx41y8eBEANzc3HnnkEVq2bCn33kSdUealy6ioKPbs2cOePXvYu3cv5ubmdOvWjW7dutG1a9eH7mLwIOTSpaiIc9eyMS7MpmnSOnSHvsEo7RwJ/mPxGjnX0NEMQqfTcfHiRY4fP87p06cpKirCysqK4OBgQkNDcXd3l3tvosZ52O//ct2jK3HhwgW2bNnCJ598wsWLF/WjpVQHKXTiQeVkpbP+P88xxHgP5iofnJtBu+cg9GmwdDB0vGqjlCI5OZnY2FhOnDhBTk6O/tJkSEgIvr6+0u9N1GhVfo/uxo0bpc7qiouL6devH126dKnwQYWoCkopvtx+CvOcRJ59vC82NvY8ZncBrWuP25cnm/SoV9PiXL9+nRMnTnDy5Elu3rwJQOPGjYmIiCAoKAgLCwsDJxSiepRZ6AIDA7G1taV///7069eP6dOnY2trW13ZhPhLSimuZtzCk1Q0Rxcyat935BjZoAYeR2NkjM0rB8C0/nyhp6WlcfLkSU6ePMn169cBSo1Y4uDgYNiAQhhAmYVu4MCBHDhwgE2bNpGWlsaNGzfo0qUL3t7e1ZVPiDJ9/f0CguKX4kE0GhTWXp2x6/Dc/1aoB0UuLS2NU6dOERcXR3JyMgAuLi5ERETQokULnJ2dDZxQCMMqs9B99NFHwO1hfw4ePMju3btZvHgx8fHxhISEsGzZsmoJKUSJk0mZbDh0mlcHtcfYSMNj5lG4GJ9B22oCJu0nYFwPpsVRSnH9+nVOnTrFqVOn9GduTk5OdOvWjeDgYFxdXQ2cUoiao1z96ExNTbGyssLS0hILCwuuX7/OwYMHqzqbEABk3irCztwIzaWd2GyNZErKDi4Ebsc/MBSPwbPA5N9gbmPomFVKKUVSUpK+uJXcc3N1daV79+40b94cV1dXaTEpxD2UWehmzJjB7t27OXz4ME2aNKFr164MHz6czz//HA8Pj+rKKOqxnVFxHFo9l5cd9mGRfQVvE0vyg4fh7/bfETqsGxg2YBUqLi7m0qVLnDlzhrNnz5KdnQ1Ao0aN6NmzJ0FBQXJZUohyKLPQ3bp1i6lTp9K1a1e5iS2qxY2cApbsu8hjLV1o5t6AVkYX6G78IwWmAfDoR2hChmNZh7sG5OXlce7cOc6cOcOFCxcoLCxEo9HQuHFjOnfuTGBgoPy/KMQDeqB+dIYk/ejqroJiLUVahU3OFTL3/0Du4cVcCHiebiPfBG0xJMeAR9s6OampUorU1FTOnj3L+fPniY+PRymFubk5zZo1IyAggGbNmmFpaWnoqEIYTLWMdSlEVbmRnsHnc/8fE233Y5MVgz1g0bANjdq0vL2CsQl41q0BlgsLC7l06RLnzp3j3LlzZGVlAWBvb09YWBgBAQH4+PhIJ24hKokUOlGtirU6fjxwERfjXB7pGEoDSyPe5Tt0hfbQ5RVoNQpzlwBDx6xUSilu3LjBhQsXOH/+PJcvX0ar1WJkZIS3tzcdOnTAz8+PBg0aSGMSIaqAFDpR5XQ6xY2cfFyz4zA+voLHDv3IJYsg6LgZLOwwff53cGl+++ytjsjLy+PSpUucP3+eixcv6s/arK2tadmyJX5+fjRt2lRGJxGiGtSdbxZRMynFqo8n0yVvO+iS0aDByqsrrdqO/t86DVsaLl8lKS4uJjExkYsXL3Lx4kWuXr0KgLGxMd7e3rRv3x5fX1/c3NzkrE2IaiaFTlS6w4f3k3QhlsefmggaDV3Nz2Ni5ISuw2SMgodibl/7u6bodDpSUlK4dOkSly5d4sqVK/rppho0aECHDh3w9fXFx8cHU1NTA6cVon6TQicqxY1Lx2hwZROcXEO71FNkYUVmzijsbaxp+MJaMK3drQZLWkdevnyZS5cucfnyZfLz8wGwtbUlKCiIJk2a0LRpU+zs7AycVghxJyl0okKUUvpLcOe+eAK/G7/dfsG1Bbe6vIlpi0FY2ljffq4WFrk7C9uVK1e4fPkyeXl5AFhYWODj46MvbM7OznI5UogazGCFrk+fPly/fh2lFP7+/nz33Xfyl3ANppRCo3QQf4BLe5aTe2E/Xq/twd7KHLPmj7Lnih8teo/B0bsFta+s3b4Uef36da5cuaJ/lBQ2c3NzGjdujI+PD40bN6Zhw4YY1aPpfoSo7QzWYTwzMxN7+9vDOE2bNg17e3umT59+3/Wlw3j1KtbqMDG+/WW+ffNKcg4u4TGLYxjdSkOh4YxZEJajltK4cRMDJ62Y4uJirl69Snx8PPHx8SQkJFBQUADcPmNr3Lixvri5ublJYRPCgGpth/GSIqfT6cjLy9MvC8PQ6hTGRrcvvy3+7QjHd61l5jvvYWVuStPMA3io3RS4dcey5SA0AY8SaFO7RsfPzc0lISFB/0hKSkKr1QK377E1a9YMb29vvL29cXV1lcImRB1i0CHABg0axP79+wkKCmLDhg3Y2PxvBPrIyEgiIyP1y+np6fq5tkTl+m73RTbt2MGy8AxMz29GJRxCgyJt3C6cfUIhNw1MzMC8dky6q9PpSE1NJSEhgcTERBISEvSj/QM4Ozvri1rjxo1xcHCQe2xC1GAPe0Zn8LEutVotb7/9Ns7Ozrz++uv3XU8uXVaezSeSWbTnPN8/1xlzE2MuLH8L31Pzbr/o4A0BAyCwP3h3AuOa3zQ+NzeXxMRErl69qn+UXIY0MTHBw8MDLy8vvLy88PT0xMrKysCJhRAPotYXOoAzZ87wxBNPcOLEifuuI4Wu4s6kZLM25irTOtpicuE3kg6vxSFlL2nP7MKraQAkHoVLOyHgUXAJrNGDJxcXF5OSkqIvbImJiWRkZOhfd3BwKFXY3NzcZMxIIWq5WnmPLisri9zcXNzd3QFYuXIlwcHBhohSJ90q1LL3/A0iAl0xNtJw4/Av9D/8KSYHLgPgbmGPpkV/rOz+ex/Ks+3tRw2j1WpJTU3l6tWrJCUlkZSUxPXr19HpdACYmZnh4eFBcHAwnp6eeHh4lLr8LYQQYKBCl5mZydChQ8nPz0ej0RAYGMjnn39uiCh1RsLNPDwcLDHKSuTYtp8pPL6JE6O+IDQwgDbeDphcsYSAKeDfD41n+xo3rmTJfbXk5GSSk5NJSkoiJSVFP9qIsbExbm5utGnThkaNGuHp6SmDIAshysUg33ZeXl4cPnzYEIeuMwqLdZgaa9BoNPy2fRsJ27/haefzWGReoCNQZGFLsVEyEIBlyGAIHWLgxP9TcqaWlJSkL2zXrl3TFzWNRoOLiwvBwcE0atQIDw8PXF1dMTGpWcVZCFE7yDdHLaKUQqPTcnDvbxz8bSV9x/+DwCbetLFIoqfJNoosW0GrN8C3J6YeYZiWnLUZ8KynoKCAlJSUUo87Lz8aGRnpi5q7uzuNGjXCzc1NxocUQlQaKXS1wMGoaPZvWsxzHgnYJB+gQ0EWHYwg4Xp/aOKNU9iT0Gog5lZOBsuolCIzM5Nr166RkpKi/296erp+HRMTE9zc3GjVqhUNGzbUFzU5UxNCVCX5hqlplOJIdBR7tq1i4OhX8PVwxTt9Px2KFlCc7Ai+EdA0Apr2wMvpv6OSmFnfflSTgoICUlNT9cXs+vXrXLt2Td+kH8DS0hJ3d3cCAwNp2LAh7u7uODs7S0dsIUS1k0JnICW9OjQaDftiTrJ78womN0nCJmk/YZkJhAHnr4SBxxDcO46AoK6YuAVDNRYKrVbLjRs3uH79eqnHnc35jYyMaNCgAf7+/ri6utKwYUPc3NywsbGRhiJCiBpBCl01uZlbiKOV6e3GI4dP8PumlUx64e94uTrilbSJN/I/RXfWHLw7QNux0KQ7zRq1vr2xtfPtRxXRarXcvHmT69evk5qaqn+kpaXp76UB2NnZ4erqSlBQEK6urri5udGgQQO59CiEqNHkG6oa/PBHLDu2reWLjllYJ+6h9/WT9AYSrnYG1z54dR0JzTtg5NkOTC2qLEdxcTFpaWmkpqZy48YN/dnanwuapaUlrq6uNG7cGFdXV/3D0rI2zksghKjvpNBVg765vzLW7CNUlAbcQ6DLK9AkHC/vzrdXsGt0+1FJbt26pS9kJY/U1FQyMjK4cyAcS0tLXFxcaN26Na6urri4uODi4oK1tbVcdhRC1BlS6KqBe+enoWkwGp9uUEktI3U6HRkZGaWKWVpaGjdu3NDPo1bC1tYWFxcX/Pz8cHFxoUGDBri4uGBlZSUFTQhR50mhqw5OTW8/HpBSipycHNLS0u56pKenl7rcaGxsjJOTE40bN8bZ2ZkGDRroH+bm5pX5boQQolaRQmdgJcXs5s2b3Lx5U1/E0tLSuHnzJkVFRaXWt7Ozw9nZGR8fH31Bc3Z2xsHBQZruCyHEPUihqwY6nY6srCxu3rxJenr6Xf8tLCwstb61tTVOTk4EBQXh5OSEs7Mzzs7OODk5YWZmZqB3IYQQtZMUukpSUFBAenp6qUdGRob+33deZoT/FbPmzZvj5ORU6mFhUXUtL4UQor6RQldOxcXFZGZm6otXRkaG/pGenn5XAxCNRoODgwOOjo74+Pjg6OioL2SOjo5yZiaEENVECt1/FRcXk5WVVaqA3VnYsrOz79rG0tISR0dHmjRpoi9qJQ97e3u5ZyaEEDVAvSl0BQUF+sKVmZmpf5Qs36uQmZub4+DgQKNGjXBwcNAXs5J/S2tGIYSo+epEodNqtWRnZ5cqYFlZWaX+m5+ff9d2lpaW2Nvb4+Hhgb29vb6AlTzkXpkQQtR+tabQFRUVceLECbKysko9MjMzycnJuWt9IyMj7OzssLe3x9XVFXt7e30xK/m33CcTQoi6zyCFLiEhgXHjxpGUlISxsTGDBw/m/fffL3ObjIwMVq5cqV+2sbHBzs4OT09P7OzssLOz0xcxOzs7bGxs5B6ZEEIIwxQ6ExMTZs+eTVhYGIWFhfTp04dff/2VQYMG3XcbOzs7xo0bh729Pba2thgbG1djYiGEELWVQQqdu7s77u7uAJiZmRESEsKVK1fK3Mbc3JzGjRtXRzwhhBB1iMHv0aWlpbFmzRq2bt1a6vnIyEgiIyP1y+np6dUdTQghRB2gUXfO21LNCgoKeOSRRxg0aBBTp04tc92goCDi4uKqKZkQQoia4mG//w3WWkOr1TJq1CjCwsL+ssgJIYQQFWWwQjdx4kTs7Oz497//bagIQggh6gGDFLq9e/fy3XffcfjwYVq3bk2rVq2YO3euIaIIIYSo4wzSGKVLly4Y8NagEEKIekR6VAshhKjTpNAJIYSo0wzaveBBWFhY0LRpU0PHqLD09HQcHR0NHaNCJLvh1Ob8tTk71O78dS17YmIiWVlZFd6nwTuMl1fTpk1rdT+62twPULIbTm3OX5uzQ+3OL9lLk0uXQggh6jQpdEIIIeq0WlPoJk+ebOgID6U255fshlOb89fm7FC780v20mpNYxQhhBCiImrNGZ0QQghREVLohBBC1GkGK3Qvv/wynp6emJj8r4dDVlYWTz31FC1btqRly5asWbPmru2WL1+ORqNhz549+ud++ukn/P398fX15e23366O+A+cf9y4cTRu3JhWrVrRqlUrFi1aZLD8FfnsP/jgAwICAmjRogXPPvtsrcnev39//WferFmzUv1zasPvzcWLFwkPD6d169aEhISUeq2mf/a7d++mXbt2tGzZkj59+pCSkmKw7AkJCfTq1YvmzZsTHBzMu+++q3/t9ddfp1mzZvj7+/PLL7+U2qZbt274+/vTvXt3kpKSDJK/ItkXLFhA8+bNMTIyKvVdWd3ZK5p/zJgxBAQEEBoayrBhw8jIyHi4/MpAdu/erVJSUpSxsbH+uddff11NmzZNKaVUenq6Cg4OVllZWfrX09LSVJcuXVSHDh3U7t279et5enqqpKQkVVRUpDp16qS2b99e4/KPHTtWLV68+K79GCL/g2ZfunSpevzxx1VBQYFSSqnk5ORak/1O//znP9Xf/vY3g2WvSP4xY8aoefPmKaWUOn36tGrQoIHB8j9Idp1Opzw8PFRUVJRSSqlVq1apcePGGSx7UlKSOnz4sFJKqYKCAhUeHq7Wrl2rtmzZorp166aKiopUYmKi8vT01H/2Tz/9tPrqq6+UUkpFRkaqZ555xiD5K5L92LFj6uzZs6p79+7670pDZK9o/vXr1yutVquUUurNN99UU6dOfaj8Bjuj69q1K25ubqWeO3HiBI888ggADg4ONG/enM2bN+tff/XVV5k5cyYWFhb65zZv3kxERATu7u6YmJgwduxYVq1aVSPz34sh8j9o9rlz5zJz5kzMzMwAaNiwYa3JfqelS5cyZswYg2WvSH6NRqMfESIrKwt3d3eD5X+Q7Ddu3EApRevWrQHo168fK1asMFh2d3d3wsLCADAzMyMkJIQrV66watUqxo0bh4mJCR4eHnTt2pWtW7eilGLjxo0888wzAIwdO5Zff/3VIPkfNDtASEgIfn5+d+2rNnz2AAMGDMDI6HZ5CgsL48qVKw+Vv0bdo2vbti0rVqxAp9Nx9epV9uzZQ0JCAgDbtm1Dp9PRq1evUtskJibi5eWlX/b29iYxMbFac5coKz/AzJkzCQkJYcyYMfrLODUlf1nZz5w5w6ZNm2jfvj1dunRh+/bttSZ7icOHD5Ofn0/Xrl2BmpMdys7/4YcfsnTpUry8vOjbty9ffvlljcp/v+wuLi6YmZmxY8cO4Pblpry8PG7evGnw7GlpaaxZs4bevXvfN0taWhrW1tb6P6qtra0xMzMjMzPToPnLk70steGzv5NSiq+//lr/x1RF89eoQvfmm29iYmJCmzZteOGFF+jevTsmJibk5eXx1ltv8Z///Oee22k0Gv2/lQF7S9wvP9y+x3X27FliYmIICAhg/Pjx+u1qQv6yshcXF5ORkcGhQ4eYP38+o0aNIjs7u1ZkL7FkyRJGjRpVKm9NyA5l5//iiy+YMmUKCQkJ7Nq1izFjxpCTkwPUjPxlZV+5ciX//Oc/CQsL4+LFizRo0ED/mqGyFxQU8OSTTzJt2jSaN29eZpY7ny/rterK/yDZy1IbPvsS77zzDlZWVjz33HP65yqSv0aNdWllZcX8+fP1y48//jgBAQFcuHCB+Ph42rVrB0BKSgrDhg3ju+++w8vLi+PHj+u3SUxMxNPTs9qzw/3zAzRq1Ai4/UOaMmUKc+bMAagx+cvK7uXlxahRo4Dbl0S8vLy4cOFCrcgOtwv18uXL2blzp/65mpIdys7/+eefk5aWBkDLli1xc3MjLi6uxuQvK3ubNm34/fffgdt/yX///ffY2dkZLLtWq2XUqFGEhYUxdepU4PbvQXx8fKksHTp0wNnZmZycHPLz87GwsCAvL4+ioiLs7e0Nkv9BspelNnz2JT799FP27NnDli1b9MWtwvkr6X5jhd15YzsjI0Pl5+crpW7f+G7ZsqX+huSd7rzBmpGRoby8vFRycrIqKipSXbp0qZZGBSXKm//q1av69b755hsVHh5u8Pzlzf6Pf/xD/ec//1FKKRUfH68aNmyo0tPTa0V2pZTasGGDateuXanta8vvTVBQkFq/fr1S6vZn7+rqqm7cuFErPvuUlBSllFI6nU69+OKL6l//+pd+G0Nkf/bZZ9X48eOVTqfTP7d161YVHh6uiouL1dWrV5WXl5e+QcTIkSPV119/rZRSat68efrGKIbI/6DZS/y5MUpt+ewXLlyoWrdurTIyMkrtp6L5DVboJk6cqDw8PBSgPDw81MSJE9XBgwdVs2bNVGBgoOrevbs6ffr0Pbf98w/vxx9/VM2aNVNNmzZVb775Zo3M36tXLxUcHKxCQkLUI488os6fP2+w/A+aPSsrSw0ZMkS1aNFChYaGqjVr1tSa7Erdbj332Wef3bWv2vB7s3//ftWuXTsVEhKigoOD1fLlyw2W/0Gzv/nmm8rf3181a9ZMvfLKK6qoqMhg2ffs2aMAFRwcrEJDQ1VoaKj+d+K1115Tvr6+qlmzZmrFihX6beLj41XXrl2Vn5+f6tatm0pMTDRI/opk//7775WHh4cyMzNTLi4uqmXLlgbJXtH8JiYmysfHR7/+mDFjHiq/DAEmhBCiTqtRjVGEEEKIyiaFTgghRJ0mhU4IIUSdJoVOCCFEnSaFTgghRJ0mhU4IA+rVqxdLlizRL585c4bGjRuTnp5uwFRC1C3SvUAIA7pw4QK9evUiKioKJycnIiIimDRpEsOGDavQ/rRaLcbGxpWcUojarUYNASZEfePr68ukSZN49dVXCQ8Px87ODoAOHTpQWFhI06ZN+e6777C3t+eDDz5g9erVFBUV4enpyQ8//ICzszMLFy7k119/RaPRcOrUKU6ePHnXOI1C1GdyRieEgWm1Wjp06EBKSgpLly7l/fffZ/369ZibmzN79mxu3rzJ7NmzSUtLw9nZGYCPP/6Y1NRUPvzwQxYuXMhrr71GbGysfgolIcT/yBmdEAZmbGzMpEmT2LNnD7GxsZw4cUI/uG1RUREtW7YEYN++fXz44YdkZ2dz69YtAgMD9fvo1auXFDkh7kMKnRA1gJGREUZGRiilGDFiBJ9++mmp1wsKChg3bhyHDh3C19eXdevW8dlnn+lft7GxqebEQtQe0upSiBqkd+/erF69Wj+ZZF5eHqdPnyY/Px+dToerqytarZYFCxYYOKkQtYcUOiFqkObNm/Pxxx8zaNAgQkND6dixIydPnsTe3p5p06YRGhpKr169Sl22FEKUTRqjCCGEqNPkjE4IIUSdJoVOCCFEnSaFTgghRJ0mhU4IIUSdJoVOCCFEnSaFTgghRJ0mhU4IIUSdJoVOCCFEnfb/AeCZlqfccOVRAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "# Also it doesn't do a particularly good job of predicting\n", "# actual growth from 1940 to the present.\n", "\n", "plot(census, ':', label='US Census')\n", "plot(un, '--', label='UN DESA')\n", "\n", "xs = linspace(1940, 2020)\n", "ys = 110 + 200000 / (2040 - xs)\n", "plot(xs, ys/1000, color='gray', label='model')\n", "\n", "decorate(xlim=[1940, 2021], xlabel='Year', \n", " ylabel='World population (billions)',\n", " title='Prehistoric population estimates')" ] }, { "cell_type": "markdown", "id": "ruled-spain", "metadata": {}, "source": [ "## One Queue Or Two?\n", "\n", "This case study is related to *queueing theory*, which is the study of systems that involve waiting in lines, also known as \"queues\".\n", "\n", "Suppose you are designing the checkout area for a new store. There is\n", "enough room in the store for two checkout counters and a waiting area\n", "for customers. You can make two lines, one for each counter, or one line that feeds both counters.\n", "\n", "In theory, you might expect a single line to be better, but it has some practical drawbacks: in order to maintain a single line, you might have to install barriers, and customers might be put off by what seems to be a longer line, even if it moves faster.\n", "\n", "So you'd like to check whether the single line is really better and by\n", "how much. Simulation can help answer this question.\n", "\n", "This figure shows the three scenarios we'll consider:\n", "\n", "![One queue, one server (left), one queue, two servers (middle), two\n", "queues, two servers (right).](https://github.com/AllenDowney/ModSim/raw/main/figs/queue.png)\n", "*One queue, one server (left), one queue, two servers (middle), two\n", "queues, two servers (right).*\n", "\n", "As we did in the bike share model, we'll divide time into discrete time steps of one minute.\n", "And we'll assume that a customer is equally likely to arrive during any time step. \n", "I'll denote this probability using the Greek letter lambda, $\\lambda$, or the variable name `lam`. The value of $\\lambda$ probably varies from day to day, so we'll have to consider a range of possibilities.\n", "\n", "Based on data from other stores, you know that it takes 5 minutes for a customer to check out, on average. But checkout times are variable: most customers take less than 5 minutes, but some take substantially more. A simple way to model this variability is to assume that when a customer is checking out, they always have the same probability of finishing during the next time step, regardless of how long they have been checking out. I'll denote this probability using the Greek letter mu, $\\mu$, or the variable name `mu`.\n", "\n", "If we choose $\\mu=1/5$ per minute, the average time for each checkout\n", "will be 5 minutes, which is consistent with the data. Most people take less than 5 minutes, but a few take substantially longer, which is probably not a bad model of the distribution in real stores.\n", "\n", "Now we're ready to implement the model. In the repository for this book, you'll find a notebook called *queue.ipynb* that contains some code to get you started and instructions.\n", "You can download it from or run it on Colab at .\n", "\n", "As always, you should practice incremental development: write no more\n", "than one or two lines of code at a time, and test as you go!" ] }, { "cell_type": "markdown", "id": "forward-point", "metadata": {}, "source": [ "## Predicting Salmon Populations\n", "\n", "Each year the U.S. Atlantic Salmon Assessment Committee reports\n", "estimates of salmon populations in oceans and rivers in the northeastern United States. The reports are useful for monitoring changes in these populations, but they generally do not include predictions.\n", "\n", "The goal of this case study is to model year-to-year changes in\n", "population, evaluate how predictable these changes are, and estimate the probability that a particular population will increase or decrease in the next 10 years.\n", "\n", "As an example, I use data from the 2017 report, which provides population estimates for the Narraguagus and Sheepscot Rivers\n", "in Maine.\n", "\n", "In the repository for this book, you'll find a notebook called\n", "*salmon.ipynb* that contains this data and some code to get you started.\n", "You can download it from or run it on Colab at .\n", "\n", "You should take my instructions as suggestions; if you want to try\n", "something different, please do!\n", "\n" ] }, { "cell_type": "markdown", "id": "limiting-moore", "metadata": {}, "source": [ "## Tree Growth\n", "\n", "This case study is based on \"Height-Age Curves for Planted Stands of\n", "Douglas Fir, with Adjustments for Density\", a working paper by\n", "Flewelling et al.\n", "It provides *site index curves*, which are curves that show the\n", "expected height of the tallest tree in a stand of Douglas fir as a\n", "function of age, for a stand where the trees are the same age.\n", "Depending on the quality of the site, the trees might grow more quickly or slowly. So each curve is identified by a *site index* that indicates the quality of the site.\n", "\n", "The goal of this case study is to explain the shape of these\n", "curves, that is, why trees grow the way they do.\n", "The answer I propose involves fractal dimensions, so you might find it interesting.\n", "\n", "In the repository for this book, you'll find a notebook called\n", "*trees.ipynb* that incrementally develops a model of tree growth and uses it to fit the data.\n", "You can download it from or run it on Colab at .\n", "\n", "There are no exercises in this case study, but it is an example of what you can do with the tools we have so far and a preview of what you will be able to do with the tools in the next few chapters." ] }, { "cell_type": "code", "execution_count": null, "id": "australian-gregory", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }