{ "metadata": { "name": "", "signature": "sha256:52d7e17a10d3e044c16e3b66c3599cad0a2a701c947ef6ba2bc804caeec6d6b3" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "This assignment is contributed by Sri Vallabha, Ph.D. student at the Indian Institute of Science, Bangalore, India. It is licensed under CC BY-NC 3.0." ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Predator Prey Model" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ " Lotka-Volterra Equations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Lotka\u2013Volterra equations, also known as the predator\u2013prey equations, are a pair of first-order, non-linear, differential\n", "equations. They are frequently used to describe the dynamics of biological systems in which two species interact, one as a predator and\n", "the other as prey. You can read more about this from Wikipedia ." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Equations describing the system" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Their populations change with time according to the following pair of equations:\n", "\n", "$ dx/dt = x ( \\alpha - \\beta y ) $\n", "\n", "$ dy/dt = -y( \\gamma - \\delta x ) $\n", "\n", "Where, $x$ is the number of prey (say rabbits), $y$ is the number of predators (say foxes). $dx/dt, dy/dt$ gives the rate of change of their respective populations over \n", "time $t$. $\\alpha, \\beta, \\gamma, \\delta $ are the parameters describing the interaction between the two species. This models makes some assumptions about \n", "the predator and prey. You can read about them from the Wikipedia page mentioned above." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above equations can be written in a slightly different form to interpret the physical meaning of the four parameters used.\n", "\n", "1.Equation for prey\n", "\n", "$dx/dt = \\alpha x - \\beta x y $\n", "\n", "The prey are supposed to have unlimited supply of food and $\\alpha x$ represents the rate of population growth of prey. Rate of decrease of population of prey is \n", "assumed to be proportional to the rate at which predator and prey meet and is given by $ \\beta y x$\n", "\n", "2.Equation for predator\n", "\n", "$ dy/dt = \\delta x y -\\gamma y $\n", "\n", "For the predators, $\\delta x y $ gives the rate of growth of predator population. Note that this is similar to the rate of decrease of population of prey. The second term\n", "$\\gamma y $ gives the rate of population decrease for predators due to natural death or emigration." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Numerical solution using Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A simple python code for solving these equations is shown below." ] }, { "cell_type": "code", "collapsed": true, "input": [ "# importrequired libraries\n", "import numpy\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": true, "input": [ "# set the initial parameters\n", "alpha = 1.\n", "beta = 1.2\n", "gamma = 4.\n", "delta = 1." ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": true, "input": [ "#define the time stepping scheme - euler forward, as used in earlier lessons\n", "def euler_step(u, f, dt):\n", " \"\"\"Returns the solution at the next time-step using Euler's method.\n", " \n", " Parameters\n", " ----------\n", " u : array of float\n", " solution at the previous time-step.\n", " f : function\n", " function to compute the right hand-side of the system of equation.\n", " dt : float\n", " time-increment.\n", " \n", " Returns\n", " -------\n", " u_n_plus_1 : array of float\n", " approximate solution at the next time step.\n", " \"\"\"\n", " \n", " return u + dt * f(u)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": true, "input": [ "# define the function that represents the Lotka-Volterra equations\n", "def f(u):\n", " \"\"\"Returns the rate of change of species numbers.\n", " \n", " Parameters\n", " ----------\n", " u : array of float\n", " array containing the solution at time n.\n", " \n", " Returns\n", " -------\n", " dudt : array of float\n", " array containing the RHS given u.\n", " \"\"\"\n", " x = u[0]\n", " y = u[1]\n", " return numpy.array([x*(alpha - beta*y), -y*(gamma - delta*x)])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": true, "input": [ "# set time-increment and discretize the time\n", "T = 15.0 # final time\n", "dt = 0.01 # set time-increment\n", "N = int(T/dt) + 1 # number of time-steps\n", "x0 = 10.\n", "y0 = 2.\n", "t0 = 0.\n", "\n", "# set initial conditions\n", "u_euler = numpy.empty((N, 2))\n", "\n", "# initialize the array containing the solution for each time-step\n", "u_euler[0] = numpy.array([x0, y0])\n", "\n", "# use a for loop to call the function rk2_step()\n", "for n in range(N-1):\n", " \n", " u_euler[n+1] = euler_step(u_euler[n], f, dt)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": true, "input": [ "time = numpy.linspace(0.0, T,N)\n", "x_euler = u_euler[:,0]\n", "y_euler = u_euler[:,1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will now plot the variation of population for each species with time." ] }, { "cell_type": "code", "collapsed": true, "input": [ "plt.plot(time, x_euler, label = 'prey ')\n", "plt.plot(time, y_euler, label = 'predator')\n", "plt.legend(loc='upper right')\n", "#labels\n", "plt.xlabel(\"time\")\n", "plt.ylabel(\"number of each species\")\n", "#title\n", "plt.title(\"predator prey model\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nAoEwRvk/5hX5EyKD/CUAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "System behaviour" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A better understanding of the system behaviour can be obtained by a phase plot of the population of predators vs. the population of prey. It will tell us if the system sustains or collapses over time. For the choice of parameters $ \\alpha, \\beta, \\gamma $ and $ \\delta $ made above, we see that the maximum population of each species keeps increasing each cycle. You can read more about that in the Wikipedia link mentioned above." ] }, { "cell_type": "code", "collapsed": true, "input": [ "plt.plot(x_euler, y_euler, '-->', markevery=5, label = 'phase plot')\n", "plt.legend(loc='upper right')\n", "#labels\n", "plt.xlabel(\"number of prey\")\n", "plt.ylabel(\"number of predators\")\n", "#title\n", "plt.title(\"predator prey model\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vary the interactions between species by changing $\\alpha, \\beta, \\gamma, \\delta$ and see what happens to the population evolution as well as phase plots." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Another time stepping method with higher order of accuracy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Also, try the same exercise with a fourth order time stepping method called \"Runge-Kutta 4\" whose algorithm is given below." ] }, { "cell_type": "code", "collapsed": true, "input": [ "def RK4(u,f,dt):\n", " # Runge Kutta 4th order method\n", " \"\"\"Returns the solution at the next time-step using Runge Kutta fourth order (RK4) method.\n", " \n", " Parameters\n", " ----------\n", " u : array of float\n", " solution at the previous time-step.\n", " f : function\n", " function to compute the right hand-side of the system of equation.\n", " dt : float\n", " time-increment.\n", " \n", " Returns\n", " -------\n", " u_n_plus_1 : array of float\n", " approximate solution at the next time step.\n", " \"\"\"\n", " #calculate slopes\n", " k1 = f(u)\n", " u1 = u + (dt/2.)*k1\n", " k2 = f(u1)\n", " u2 = u + (dt/2.)*k2\n", " k3 = f(u2)\n", " u3 = u + dt*k3\n", " k4 = f(u3)\n", " return u + (dt/6.)*(k1 + 2.*k2 + 2.*k3 + k4)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "######The cell below loads the style of the notebook." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.display import HTML\n", "css_file = '../../styles/numericalmoocstyle.css'\n", "HTML(open(css_file, \"r\").read())" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "" ] } ], "prompt_number": 2 } ], "metadata": {} } ] }