The Programmer's Guide to Chaos
Written by Mike James   
Thursday, 14 May 2020
Article Index
The Programmer's Guide to Chaos
Attractors
Population Dynamics

Population Dynamics

If you think that such iterations are the stuff of pure mathematics then consider this simple model. If you assume that the birth rate and death rate of a population of animals is constant then the result is that the population just grows and grows or declines in the same way.

A more realistic assumption is that the growth rate, g, depends on the population size declining as the population grows and uses up the resources:

 g=k(1-N)

where N is the size of the population scaled into the range 0 to 1. Notice that when N is 0 the population grows at g=k and when N is 1 the growth rate is zero.

If the population at time t is N(t) then at time t+1 it is going to be:

 N(t+1)=N(t)+gN(t)

That is the original population plus the growth in the population.

Using g=k(1-N(t)) we have

 N(t+1)=N(t)+k(1-N(t))N(t)
= N(t)(1+k-N(t))

Finally writing b=1+k we have

 N<- N( b-N)

which is a form of the well known logistic equation which is often assumed to control the growth of a population.

If you don’t find the assumptions realistic then don’t worry there are various modifications that can be made that do make it more realistic. You should however be able to see that the iteration N<-N(b-N) is of the same form as x<-ax(1-x).and indeed it isn’t difficult to show that the population growth equation can be converted into ax(1-x),

(To do so let x=N/b then xb<-xb(b-xb) and x<-bx(1-x))

You might not think that this is very important but consider what it means for a moment.

Population growth can be chaotic!

If you calculate what happens to the population numbers for values of a less than 3 then what you discover is very reasonable behaviour. The population starts out at an initial value and grows exponentially to some limiting stable value.

For values slightly larger than 3 something strange happens. The population eventually settles down to oscillating between two different values. As a increases the population oscillates between increasing numbers of attractors and eventually the whole thing just looks like an unpredictable chaotic process – which of course it is!

pop

For some values of growth the population oscillates but for others it varies in a way that looks random

Notice that while the population size looks like it’s a randomly varying quantity – it isn’t. There is an exact formula that gives you the next population size given the current population size. If you have the formula then the behaviour is predictable to a certain extent but notice that in the real world the behaviour of a real population would very quickly diverge from the prediction as both are equally sensitive to tiny errors in the mechanism.

Also in real life if you were monitoring population size you might well think that it was random. Don’t even think about trying to control the population size – it’s almost impossible to guess what the effect of even a small change is going to be!

If you’re not impressed by the problem of predicting population size consider the stock market. Is it random or chaotic?

The difference could be a lot of money!

If you are interested in exploring a chaotic equation in action see Looking at Chaos.

 chaos2

Related Articles

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


GR00T Could Be The Robot You Have Always Wanted
27/03/2024

We may not have flying cars, but we could well soon have robots that match up to predictions for the 21st century. Nvidia has announced GR00T, a cleverly named project to build robots using foundation [ ... ]



GitHub Enterprise Server Adds Deployment Rollout Controls
11/03/2024

Version 3.12 of GitHub Enterprise Server, the self-hosted version of GitHub that organizations can install on their own servers, has been released with support for restricting deployment rollouts [ ... ]


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Banner


XOR - The Magic Swap

We all know that if you want to swap the contents of two variables you need a third temporary variable to do the job. It's like swapping the contents of two mugs using a third to hold the contents of  [ ... ]



The Heart Of A Compiler

Compilers are an essential part of using a computer - but there was a time when they simply didn't exist. First we had to realize that we needed such a thing and then we had to figure out how to build [ ... ]


Other Articles

<ASIN:1871962439>

<ASIN:B081YS81L7>

 



Last Updated ( Wednesday, 13 April 2022 )