Discrete-time Dynamical Systems
Dr Matthew Science University of Auckland
A model of growth
Copyright By PowCoder代写 加微信 powcoder
Last time we looked at a model of discrete-time exponential growth:
in your homework, you read about modifying a model of exponential growth so that as the population size gets bigger, the rate of its growth decreases, until it reaches a ‘carrying capacity,’ K.
Let’s review how this was done.
A model of growth
Following Sayama, we recognise that we want two things in our model:
1. Exponential growth
(already present in the basic model started last lecture)
2. That slows as it approaches an upper limit
i.e. a maximum stable population size, known as the ‘carrying capacity’ which we’ll label ‘K’.
To capture both of these requirements, we can replace the constant a with a function f:
and then try to specify that function (f), in a way that satisfies our needs. What are our needs more formally?
f(0) = a when population size is very small, we have exponential growth, as before
f(K) = 1 when population size is at the carrying capacity (K), there should be no change in x
We can capture both of these requirements with a linear function.
When x=0, f(0) = a
When x is the carrying capacity, i.e. when x=K, there should be no growth
No growth? Then why 1 and not 0?
If we connect these points with a line, the growth rate decreases as we approach K, and becomes less than 1 (i.e. a shrinking population) for x > K.
This all makes sense, and is nice and simple in the absence of further knowledge about how the system works
Sayama (p. 54)
We can then substitute in that function (f).
And simulate some dynamics to see how the system behaves..
Sanity check!
Does this do what we expect it to?
Progress check: at this point, with what you know from last lecture, you should be able to generate the plot on the right.
notsimplified_logistic_map.py
Variable rescaling
It is possible to transform our update rule to an equivalent, but much simpler form by using “variable rescaling”.
+ advantage! this makes any algebra easier, and provides insight into the system (for instance in this case, we can see that although there were two parameters in the initial model (a and K) all of the systems dynamics can be described by varying only one parameter, (r)
– disadvantage! it comes at the disadvantage of being harder at times to interpret. As we’ll see below, the rescaled dynamic variable, x’, is no longer simply the population size, but rather a value that is proportional to the population size, similarly, the parameter r is not as simply described as K and a were…
Variable rescaling
Without going into all of the details of variable rescaling, the process works roughly like this…
First, we change the parameter we are using to describe the system. Instead of a, we define and use r = a-1, which allows us to simplify the system
We then define a new, “rescaled” state variable (x’) thus: x = 𝛼x’ where 𝛼 is a constant that we’ll determine in a moment.
Substituting in the Eq. at the top of this slide, we then have:
Which seems more complicated! But if we pick a clever value for 𝛼 (found through trial and error and educated guesses)…
it simplifies to (see Sayama, p. 80)
And in a final step, we can select a new parameter r’=1+r, giving us the rescaled system:
The logistic map
Recognising that we are now working with a different “rescaled” system, that is mathematically equivalent (after all, we didn’t change the equations only rearranged them)…
…we remove the prime symbols (‘) and are left with a very well studied discrete-time dynamical system known as the logistic map.
Let’s take a look at this system.
Intuition…
Before we do look at this system, I’d like you to take a moment to think about what kinds of dynamics it will be capable of.
We are modelling growth that is fast when the population size is small, and that decreases as it approaches its ‘carrying capacity.’
When it reaches its carrying capacity, growth stops all together. What kinds of trajectories do you think this system will demonstrate?
Try to think of all of the possible trajectories you think it might be capable of, not just one example trajectory.
Pause and have a quick think
Intuition…
Did you think of all of the ones depicted here in the system we know to be equivalent?
Are you confident that you have thought of all of the dynamics in this system?
Stationary Points
Here are some sample trajectories when we set r = 2.5
How might we describe these dynamics?
Given initial conditions y0 ∈ ( 0, 1 ) , the state of the system tends to approach one of two values:
logistic_map.py
These ‘stationary points’ are a useful way to describe this system’s dynamics.
Q: What does this system do?
A: It moves to one of two states either where the (scaled) population size is 0 or where it is approximately 0.6.
Q: Great succinct summary!
A: Thanks :-). This does provide a lot of insight into what the system does, but not everything!
Q: What’s missing?
A: How it gets to where it is going.
These ‘stationary points’ are a useful way to describe this system’s dynamics, but how can we find out what the precise values of these system equilibria? And how can we find out if there are any more states that our numerical simulation (our sampling of initial conditions) has missed?
If we can do it with pencil and paper, what do we need computers for?
Lets see..
What happens when we change r to 3.2?
When we solve for stationary points, (the same way we did for r=2.6) we get x0 ∈ {0, 0.6875}.
Sure enough we can confirm that these are stationary points numerically, by simulating the system from those initial conditions and seeing that the value does not change.
What happens for other initial conditions?
All of the initial conditions other than x 0 ∈ { 0, 0.6875 } move toward a periodic oscillation that goes back and forth between a value just above 0.5 and one close to 0.8.
We just found periodic orbits when r=3.2. We did so by numerically simulating the system and observing the final set of states that the system ends in. This would be tedious but possible to do by hand.
What happens when we look at r = 3.6?
Here are the first 50 iterations of three trajectories, each from a different initial condition.
What is going on?
– Similar-looking sets of states emerge in all three of the trajectories,
– But there is no clear final repeating pattern is obvious (at least after 50 iterations)
– Even when two initial conditions start quite close to each other, the dynamics diverge from each other quite soon (green and blue)
Are the same sets of states being visited?
There are no repeated states among any of these.
This is an example of what is known as chaos. A deterministic system that produces which random-seeming, impossible-to-precisely-predict trajectories.
Here we are seeing an example of an apparently simple mathematical object for which numerical methods—i. e. using a computer to simply ‘crunch the numbers’ to trace trajectories—can give us otherwise inaccessible insight into the system’s behaviour.
Back to biology…
It is worth reminding ourselves that this equation started with a biological motivation: a model of ‘asymptotic population growth,’ i. e. population growth up to some upper bound ‘carrying capacity.’ Work using computational models to understand mathematical models of biological systems have produced significant insight and changed the way that people look at and come to understand Nature.
For instance, this magazine article (https://www.quantamagazine.org/chaos-theory-in- ecology-predicts-future-populations-20151013/) describes some modern applications of chaos to build new kinds of models of ecological systems.
Some other famous work in this area is that of
May, R. M. (1974). Biological Populations with Nonoverlapping Generations: Stable Points, Stable Cycles, and Chaos. Science, 186(4164):645–647.
which talks about how even a single species’ population size can fluctuate chaotically in minimal conditions—work that is tightly related to the investigation we did above.
This work has transformed the way that people understand the dynamics of natural ecologies and why, for instance, systems they were observing as predictable oscillators would sometimes suddenly become unpredictable for a period before returning to relatively predictable oscillations.
No Big Data
It is also worth pointing out that this example of computational biology is not “data-driven”. It is not about the processing of huge quantities of data.
Nor is this a very complicated model. Here we have an example of a
minimalistic model.
Despite its simplicity, numerical methods are useful (necessary!) in coming to understand its dynamics.
https://www.quantamagazine.org/chaos-theory-in-ecology-predicts-future-populations-20151013/
this figure
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com