56
Cycles in finite populations A reproducible seminar in three acts Mario Pineda-Krch October 31, 2011 1

Pineda krch cmb2011-slides

Embed Size (px)

Citation preview

Page 1: Pineda krch cmb2011-slides

Cycles in finite populations—

A reproducible seminar in three acts

Mario Pineda-Krch

October 31, 2011

1

Page 2: Pineda krch cmb2011-slides

Act 1: The ghost of Fermat(The what, why and how of reproducible research)

Act 2: A tale of two cycles(Demonstrating the existence of quasi-cycles using reproducibleresearch)

Act 3: Cycles at the edge of existence(Emergence of quasi-cycles in strongly destabilized ecosystems)

2

Page 3: Pineda krch cmb2011-slides

Act 1: The ghost of Fermat

3

Page 4: Pineda krch cmb2011-slides

Irreproducible research

Randall J. LeVeque (2006)

“Scientific and mathematical journals are filled with pretty picturesthese days of computational experiments that the reader has nohope of repeating. Even brilliant and well intentionedcomputational scientists often do a poor job of presenting theirwork in a reproducible manner. The methods are often veryvaguely defined, and even if they are carefully defined they wouldnormally have to be implemented from scratch by the reader inorder to test them. Most modern algorithms are so complicatedthat there is little hope of doing this properly.”

Pierre de Fermat (1637)

“It is impossible to separate a cube into two cubes, or a fourthpower into two fourth powers, or in general, any power higher thanthe second, into two like powers. I have discovered a trulymarvellous proof of this, which this margin is too narrow tocontain.”

4

Page 5: Pineda krch cmb2011-slides

What really happened?

Reproducible results 6= Reproducible research

5

Page 6: Pineda krch cmb2011-slides

Reproducible research: It’s not the destination. It’s thejourney.

6

Page 7: Pineda krch cmb2011-slides

Reproducible research: The What

LeVeque (2006):

“The idea of reproducible research in scientific computing is toarchive and make publicly available all of the codes used to createthe figures or tables in a paper in such a way that the reader candownload the codes and run them to reproduce the results.”

Wikipedia:

“Reproducibility is one of the main principles of the scientificmethod, and refers to the ability of a test or experiment to beaccurately reproduced, or replicated, by someone else workingindependently.”

7

Page 8: Pineda krch cmb2011-slides

Reproducible research: The Why

American Physical Society

“Science is the systematic enterprise of gathering knowledge aboutthe universe and organizing and condensing that knowledge intotestable laws and theories. The success and credibility of scienceare anchored in the willingness of scientists to: Expose their ideasand results to the independent testing and replication by others.This requires the open exchange of data, procedure and materials.”

Reproducability = Transparency + Executability

8

Page 9: Pineda krch cmb2011-slides

Journal article

Processed data

Raw data

Computer simulations

Computer code

Algorithms

6

?

Au

thor

Read

er

9

Page 10: Pineda krch cmb2011-slides

Literate programmingA paradigm for reproducible research in computational sciences

“The idea is that you do notdocument programs (after thefact), but write documentsthat contain the programs.”— John Max Skaller

10

Page 11: Pineda krch cmb2011-slides

Literate programming according to Donald Knuth

Prose

ProgramDocumentation

TangleWeave

11

Page 12: Pineda krch cmb2011-slides

Literate programming systems

LP system Document formatting language Programming language Inventor(s) YearWEB TEX Pascal Knuth 1992CWEB TEX C/C++/Java Knuth & Levy 1993FWEB LATEX C/C++/FORTRAN Krommes 1993noweb TEX/LATEX/HTML/troff agnostic Ramsey 1999Sweave LATEX R Leisch 2002PyLit reStructuredText Python Milde 2005Pweave LATEX/reST/Sphinx/Pandoc Python Pastell 2010

12

Page 13: Pineda krch cmb2011-slides

Literate programming according to RThe evolution of the literate programming paradigm

Prose

CodeDocumentation

StangleSweave

13

Page 14: Pineda krch cmb2011-slides

What really happens

Prose

CodeDocumentation

Results

StangleSweave

Sweave

Execute

Integrate

14

Page 15: Pineda krch cmb2011-slides

This research is reproducible!

I These slides are prepared using Sweave.

I These slides are executable (look for ).

I The full project (source, code, results, etc.) will be availableat http://pineda-krch.com.

15

Page 16: Pineda krch cmb2011-slides

Implementing reproducible research

I Attach code to publish results is good...,

I executable manuscripts are better.

I Adopt a habit of reproducibility, i.e. make it routine andrequire it from others (students, postdocs, colleagues).

I Keep reproducibility in computational research to the samerigorous standard as reproducibility in mathematical proofs.

I Demand reproducibility in your role as journal editor andreviewer of manuscripts and grants applications.

16

Page 17: Pineda krch cmb2011-slides

Act 2: A tale of two cycles

17

Page 18: Pineda krch cmb2011-slides

Olaus Magnus (1555) Historia de Gentibus

First known depiction of of population cycles in Olaus Magnus’Historia de Gentibus Septentrionalibus (History of the NorthernPeoples) (1555) shows lemmings falling from the sky with two

weasels with lemmings in their mouths.

18

Page 19: Pineda krch cmb2011-slides

Elton (1924) British Journal of Experimental Biology

19

Page 20: Pineda krch cmb2011-slides

Kendall et al. (1998) Ecology Letters

20

Page 21: Pineda krch cmb2011-slides

Fluctuating populations

1750 1800 1850 1900

020

000

6000

0

Years

Lynx

1850 1860 1870 1880 1890 1900 1910

6000

1000

014

000

1800

0

Years

Pop

ulat

ion

size

Otter

1750 1800 1850 1900

050

015

0025

00 Wolverine

21

Page 22: Pineda krch cmb2011-slides

Explaining complex population dynamics using simplemodels

I Classical Lotka-VolterraI Exponential growth in prey, linear (Type 1) functional response

in predatorI Structurally unstable, mainly of historical interest

I Lotka-VolterraI Logistic growth in prey, linear (Type 1) functional response in

predatorI Does not cycle

I Rosenzweig-MacArthurI Logistic growth in prey, non-linear (Type 2) functional

response in predator (i.e. satiation)I Cycles

22

Page 23: Pineda krch cmb2011-slides

Rosenzweig-MacArthur predator-prey model (RMPP)

dNdt = rN

(1 − N

K

)− a

1 + wN NP

dPdt = c a

1 + wN NP − gP

23

Page 24: Pineda krch cmb2011-slides

The deterministic RMPP in R

> ode.rmpp <- function(parms = stop('Missing parms!'),x0 = stop('Missing x0!'),

tmax = stop('Missing tmax')){det.rmpp=function(t, y, parms){

N=y[1] ; P=y[2]

with(as.list(parms),{

dN = (b-d)*N*(1-N/K)-a/(1+w*N)*N*P

dP = c*a/(1+w*N)*N*P-g*P

out=c(dN, dP)

list(out)

})

}

require(odesolve)

time <- seq(0, tmax, by=1)

pop <- c(N=x0[['N']]*0.75, P=x0[['P']]*1.25)res = as.data.frame(lsoda(pop, time, det.rmpp, parms))

return(ode.res = res)

}

24

Page 25: Pineda krch cmb2011-slides

The stochastic RMPP in R

> ssa.rmpp <- function(parms = stop('Missing parms!'),x0 = stop('Missing x0!'),

tmax = stop('Missing tmax')){command <- paste('../src/ssa_rmpp ',

parms[['b']], parms[['d']],parms[['K']], parms[['a']],parms[['w']], parms[['c']],parms[['g']], x0[['N']], x0[['P']],tmax, '>../results/out.txt')

system(command)

res <- as.data.frame(read.csv('../results/out.txt',skip=1, header=TRUE))

return(ssa.res = res)

}

25

Page 26: Pineda krch cmb2011-slides

Structure of simulation model

rmpp.R

ssa.rmpp.Rode.rmpp.R

ssa_rmpp.c

26

Page 27: Pineda krch cmb2011-slides

Run a simulation in the stable node region

Set the parameters

> alpha <- 0.5

> beta <- 1

> gamma <- 1.2

> alpha; beta; gamma

[1] 0.5

[1] 1

[1] 1.2

Set equilibrium population size

> eq <- 1000

Set the length and the number of simulations

> tmax <- 10000

> n <- 1

27

Page 28: Pineda krch cmb2011-slides

Run a simulation in the stable node region

Run the simulation

> fn.node <- rmpp(alpha, beta, gamma, tmax, eq, n)

Data was saved in

> fn.node

[1] "../results/rmpp-alpha0.5-beta1-gamma1.2-eq1000-1.RData"

Loading the data

> load(fn.node)

Looking at the contents of the data file

> ls()

[1] "alpha" "beta" "d.lynx" "d.otter" "d.wolverine"

[6] "eq" "fn" "fn.node" "gamma" "i"

[11] "n" "ode.res" "ode.rmpp" "parms" "rmpp"

[16] "ssa.res" "ssa.rmpp" "start.time" "tmax" "x0"

28

Page 29: Pineda krch cmb2011-slides

Plot results> layout(matrix(c(1,2), ncol=2))

> ymax <- max(c(ode.res$N, ode.res$P, ssa.res$N, ssa.res$P))

> ymin <- min(c(ode.res$N, ode.res$P, ssa.res$N, ssa.res$P))

> plot(N~time, ode.res, type='l', lwd=3, col=rgb(0,1,0,.75),

xlab="Time", ylab="Population size", xlim=c(0, 250), ylim=c(ymin, ymax), bty='n')> points(P~time, ode.res, type='l', lwd=3, col=rgb(1,0,0,.75))

> title('Deterministic')> plot(N~time, ssa.res, type='l', lwd=3, col=rgb(0,1,0,.75),

xlab="Time", ylab="", xlim=c(0, 250), ylim=c(ymin, ymax), bty='n')> points(P~time, ssa.res, type='l', lwd=3, col=rgb(1,0,0,.75))

> title('Stochastic')

0 50 100 150 200 250

400

600

800

1000

1200

1400

Time

Pop

ulat

ion

size

Deterministic

0 50 100 150 200 250

400

600

800

1000

1200

1400

Time

Stochastic

Figure: Time series for RMPP model in stable node region (α = 0.5,β = 1, γ = 1.2).

29

Page 30: Pineda krch cmb2011-slides

Run a simulation in the limit cycle region

0 50 100 150 200 250

050

010

0020

0030

00

Time

Pop

ulat

ion

size

Deterministic

0 50 100 150 200 250

050

010

0020

0030

00

Time

Stochastic

Figure: Time series for RMPP model in limit cycle region (α = 0.5,β = 1, γ = 3.5).

30

Page 31: Pineda krch cmb2011-slides

Run a simulation in the stable focus region

0 50 100 150 200 250

500

1000

1500

Time

Pop

ulat

ion

size

Deterministic

0 50 100 150 200 250

500

1000

1500

Time

Stochastic

Figure: Time series for RMPP model in stable focus region α = 0.5,β = 1, γ = 2.5).

31

Page 32: Pineda krch cmb2011-slides

Detecting periodic fluctuations in simulated time

series

100 150 200 250 300 350

600

800

1000

1200

Years

Node

100 150 200 250 300 350

600

1000

1400

1800

Years

Pop

ulat

ion

size

Focus

100 150 200 250 300 350

050

015

0025

00

Limit cycle

32

Page 33: Pineda krch cmb2011-slides

Autocorrelation Function (ACF)Detecting periodic fluctuations

0 10 20 30 40

0.0

0.2

0.4

0.6

0.8

1.0

AC

FNode

0 5 10 15 20 25 30

−0.

50.

00.

51.

0

Lag

Focus

0 5 10 15 20 25 30

−0.

50.

00.

51.

0

Limit cycle

Evidence of periodicity if ACF(T) > 2/√

tm where T is the lag ofthe dominant frequency (first maximum), tm is the number of datapoints in the time series.

33

Page 34: Pineda krch cmb2011-slides

Power spectraDetecting periodic fluctuations

●●

●●●●●●

●●

●●

●●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●●●●

●●●●

●●

●●●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●●

●●●

●●

●●●

●●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●●●

●●

●●●

●●●

●●

●●

●●

●●

●●●●

●●●

●●

●●●

●●●●●

●●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●●●

●●

●●●●

●●

●●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●●

●●●●

●●

●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●●●

●●●●

●●

●●

●●

●●

●●●

●●●

●●●

●●●●

●●

●●

●●●

●●

●●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●●

●●●●

●●●●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●●●

●●

●●●

●●

●●

●●●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●●●●

●●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●●●

●●

●●●

●●●●●●

●●

●●

●●●

●●

●●

●●●

●●

●●●●

●●●

●●●

●●●

●●

●●●●●

●●●

●●●

●●

●●●

●●●

●●●

●●●

●●

●●

●●●●●

●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●●●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

●●●●●

●●

●●

●●●

●●

●●

●●●

●●●

●●●

●●

●●●

●●

●●

●●

●●●●

●●●●

●●

●●●●

●●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●●

●●●

●●

●●●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●●

●●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●●●●

●●●

●●

●●●

●●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●●

●●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●●●●

●●

●●

●●●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●●●

●●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●●●

●●

●●

●●

●●

●●●

●●●●●

●●

●●●

●●

●●●●

●●

●●●●●●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●●

●●●●

●●●●

●●

●●●

●●

●●

●●●

●●●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●

●●

●●●●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●

●●●●●

●●

●●

●●●

●●●

●●

●●●

●●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●●

●●

●●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●●

●●

●●●

●●●●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●●●

●●

●●

●●

●●●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●

●●

●●●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●●

●●●

●●

●●●

●●

●●

●●●

●●●

●●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●

●●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

−4 −3 −2 −1

02

46

8

log1

0(P

ower

)

Node

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●

●●●●●

●●

●●

●●

●●●●

●●

●●●

●●

●●●●

●●

●●

●●

●●●

●●●

●●

●●

●●●

●●●

●●

●●

●●●

●●●

●●

●●●

●●

●●

●●●

●●●●

●●

●●

●●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

−3.0 −2.5 −2.0 −1.5 −1.0 −0.5

02

46

8

log10(Cycle frequency)

Focus

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●●

●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●●●●

●●●

−3.0 −2.5 −2.0 −1.5 −1.0 −0.5

02

46

8

Limit cycle

Evidence of periodicity: presence of dominant frequency peak

34

Page 35: Pineda krch cmb2011-slides

Marginal distributionDistinguishing between quasi-cycles and noisy limit cycles

Node

Fre

quen

cy

600 800 1000 1200

050

010

0015

0020

0025

0030

00Focus

Prey population size

600 1000 1400 1800

050

100

150

200

Limit cycle

0 500 1500 2500

050

100

150

Evidence of limit cycle: bimodal distribution

35

Page 36: Pineda krch cmb2011-slides

Marginal distributionsDistinguishing between quasi-cycles and noisy limit cycles

●●

●● ●●

●●

● ●

●●●●

●●●

●●

●●

●●

●●●●

●●

● ●●

●● ●

● ●

● ●

●●

● ●

●●

● ●

●●

●● ●

●●

●●

●●

● ●

● ●

●●

●●●

●●

●●

●● ●

●●

●●

●●

● ●●●

●●

●●●●●

●●

●●

●●

●● ●

●● ●

● ●●

●●

●●

●●

●●

●●●

● ●

●●

●●●

●●

●●●

●●

● ●

●●

●●

● ●●

●●

●●

●●

●●

●●

● ●

● ●

●●

●●

●●

●●

● ●

●●

●● ●●

●●

●●

●●● ●●

●●

●●

●●

●●●●

●●

●●●

●●●

●●

●●

●●

● ●

●●●

●●●

●●

● ●

● ●●

● ●

●●

● ●●

●●

●●

● ●●

●●●

● ●●● ●

● ●

●●●●

● ●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●●

●●●●

●● ●●

●●

●●

●●●

●●

● ●●

● ●● ●

●●

●●●

●●●

●●

● ●●

●●

●●●

●●

●●●

● ●●

●●●

●●

●●

● ●

● ●

●●

●●

●●

● ●

●●

●●

●●●●●

●●●

●● ●

●●

●●

●●●

●●●

●●

●●

●●●

● ●● ●

●●

●●

●●●

●●

●●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●●

●●●●

●●

●● ●

●●●● ●

● ●●

●●

●●●

●●

●●

●●

● ●● ●●●

● ●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

● ●

●●

●●

●●

●●

● ●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

● ●●

●●

●●

●●●

● ●●●

● ●●●

●●

●●

●●

●●●

●●

●●

●●

● ●●●●

●●

●●

●● ●●

●●

●● ●●

●●

●●

● ●

●●

● ● ●

●●

●●

●●

●●

● ●

●●

●●●

●●

●●●

● ●

●●●

●●●●

● ●●

●●●

●●

●●

●●

●●

● ●

●●●●●

●●●

●●

● ●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●●

● ●

●●●

●●

●●

●●●●●

●●

●●●

●●

●● ●

●●●

●●

● ●●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●●●

●●● ●●

●●

●●●●

● ●●

●●●●

●●

●●●●

● ●●

● ●

●●

●●

●●●●

●●

●●

●●

●●

●●

● ●

●●●●

●●

●●

●●●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●● ●

●●

●●●

●●

●●●

●●●

● ●

●● ●

●●

●●

●●

●●

●● ●

●● ●

●●

●●

●●

● ●●●

● ●

●●

● ●●

●●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

● ● ●●

●●

●●●

●● ●

●●

●●

●●

●●

●●

● ●●

●●

●●

●●

● ●●

●●

●●

●●

●●

●●

●●

●●

●●

●● ●●

●●

●●

●●

● ●

●●

●●

●●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●●

●●

●●

●●

●●

●● ●

●●

● ●

●● ●●

●●

●●

●●●

● ●

●●

●●

●●

● ●

●●●

●●

● ●

●●

●● ●

●●●

●●

●●

●● ●●

● ●

●●

● ●

●●

●● ●

●●

●●

●●

●●

● ●●

●●●

●●

● ●

●●

● ●●

●●

●●

●●

●● ●●

●●

● ●

●●

●●

●●

●●●

●●

●●

●●● ●

●●

●●

●●●

● ●●

●●●

●●

●●

●●

●● ●

● ●●●

●●

●●

●●

●●

●●

●●

●● ●

●●●

●●

●●● ●

● ●●

●●

● ●

●●●

●●

● ●

●●

●● ●

●●

●● ●●

●●

●●● ●

●●●

●●

●● ●

●● ●

●●

●●

●●

●●

●●●

●●

●●●

●●●

●● ●

●● ●●● ●

●●

●●

●●●

● ●

●●

●●

●●●

●●

●●●

●●

●●

●●●● ●

●●● ●

●●

● ●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●●●

●●●●

●●

●●●

●●

●●●

●●

●●●

●●

●●

●●

●●●●

●●●

●●

●●●

● ●

●●

●●

●●

●● ●●

● ●●

●●●

●●

●●●

●●

●●

●●●

●●

●● ●●

●●

●●

●●

●● ●

●●

●● ●

●●●

● ● ●

●●

●●●

●●

●●

●●●

●●

●●

●●

● ●●

●●

●●

● ●

● ●●●

●●●

●●

● ●●●

●●●

●●

● ●●

●● ●

● ●

● ●●

●●

● ●●

●●

●●

● ●●

●●●

●●

●●

●●

●●●

●●

●●●●

●●●●●

●●

●●

●●

●●

●●

●● ●●

● ●●

●●●

● ●●●

● ●●●

● ●

●●

●● ●

●●

●●●

●●

●●

● ●

●●

●●

●●●

● ●

●●

●●

●●

●●●

●●●●

●●

●●

●●●●

●●

●●

●●

●● ●

●●

● ●●

●●●

●●

●●

● ●

●●

●●●

●●

●●

●●●

●●

●●

● ●●●

●●

●●●●

●●●

● ●● ●

●●

●●●

●●

●●

●●●●

●●●●

●●

●●

● ●

● ●●●

●●

●●●

●●

●●

●●●

●●●

●●●●

●●

●●

●●

●●

● ●

●●

●●

●●●

●●

●●

●● ●

●●●

●●

●● ●

●●

●●

● ●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●● ●

● ●

●●

● ●

●●

●●

●●

●● ●

●●

●●●

●●

●●

●●

●●

● ●●

●●

●●

●●

● ●●

●●

●●

●●

●●●

●●

●●

●●

●●

● ●

●●

●●●

●●●

●●

●●●●

●●

●● ●

● ●

● ●

●●

●●

●●●

●●

●●

● ●●

●● ●

●●●●

●●

●●

●●●

●●●●

●●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

● ●

●●● ●●

●●

●●

● ●●

●●

●●

●●●

●●

●●

●● ●

●●

● ●

● ●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●● ●

●● ●●●

● ●●

●●

●●●

●●

●●

●●

●●

● ●

●●

● ●

●●●

●●●●

● ●

● ●●●

● ● ●●●●

● ●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●● ●●

●●

●●

●●

●●

● ●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●●

●●

●●

●●●

●●

●●

●●

●●● ●

●●●

● ●●●

● ●

●●

●●

●●●●

●●

●●●

●●

●● ●

●●

●●

●●●

● ●

●●

● ●

●●

●●

● ●●●

●●

● ●●● ●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

● ●

●● ●●

●●

●● ●

●● ●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

● ●

●●

●● ●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●● ●

●●●

●●

●●

●●

● ●

●●●

●●

●●

●● ●

●●

●●●

●●

●●

●●

● ●●

●●

●●

●● ●

●●●●●

●●●●

● ●

●●●

●●

●●

●● ●●●

●● ●● ●●

●●

●● ●●

●●●● ●●

●●

●● ●●

●●●●

●●

●●

●●

●●

●●

●●

●●

● ● ●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●●

●●●

● ●●

●●

●●● ●●

●●

●●

●●

●●

● ●

●●●

●●

●●●

● ●●●

●●●●

●●●

●●

●●

●●

●●

● ●

●●●●

●●

●●

●●●

●●

●●

●●●

●● ●

●●

●●●

●●● ●

●●

●●

●●●

●●

●●●● ●

●●

●● ●●

● ●

●●

●●●

●● ●● ●

●●●

●●●

●●

●●● ●

●●

●● ●●

● ●●

●●●

●●

●●

●●

●●

●● ●

●●

●●

●●●

●●

●● ●●

●●●● ●

●●

●●●

●●

●●

● ●●●

●●●

● ●

●●

●●

●●

●●●

● ●

●●●

●● ●

●●

●●●

●●

● ●● ● ●

●●

●●●●

●●●

●●

●●●●●

●● ●

● ●

●●

●●

● ●●

●● ●

●●

●●

●●

●●●

●●

●●

● ●

●●

● ●●●

●●

●●●

●●

●●●

●●

●●

●●

●●

● ●●●

●●

●●●

●●

●●●

●●●

●●●

●●

●● ●

●●

● ●

●●●

●●

●●

●●

●●

●●

●●

●●●

● ●

●●●

●●

● ●●

●●●

● ●●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

● ●

●●

●●

●●

●●

● ●●

●●

●●●

●●

●●

●●●

●●

●● ●

●●

●●●

●●●

●●

●●●

●●

●●

● ● ●● ●●●

●●

●●

●●

●●

● ●

●●● ●

● ●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

● ●●●

●●

●● ● ●●

●●

● ●

● ●●

●●

●●●

● ●

●●

● ●

●●

● ●●

●●

● ●●●● ●

●●

● ●●

●●

●●

● ●●

● ●

●●●

●●

●● ●

● ●●

● ●●

●● ●

●●●

●●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

● ●● ●

●●

●●●

● ●

●●●

●●

●● ●●

●●● ●●

●●●

●● ●

●●

● ●●

●●

●●

●●

●●

● ●

●●

●●

●●●

●●

●●

●●●

●●

● ●

●● ●

●●

●●●

●●

●●●●

●●

● ●

●●●

●● ●

●●●

●●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

● ●●

●●●

●●

●●

●●●

●●

●●●

● ●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●● ●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●

●●

●● ●

●●●

●●●

● ●

●●

●●

● ●

●●●●

●●

●●●●●● ●

●●

● ●●

●●

●●

●●

●●

●●●

●●● ●

●●● ●

●●

●●

●● ●●

● ●

● ●

●●

● ●●

●●

●● ● ●●

●●

●●

●●

●●

●●

●●●

●● ●

●●

●●

●●●

●●

●●

●●

●●

● ●●

●●

●●

●●●

● ●

●●

●● ●●

●●●●

●●

●●

● ●

● ●●●

●● ●●

●●

●●

●●

●●

● ●●●●

● ●●

●●

●●

●●

●●

●● ●● ●

●●

●●

●●

●●●●●

●●●●

●●

●●

●●

●●

●●●● ●

●●

●●

●● ●

●●

●●●

●●

● ●

●● ●

●●●●

●●

●●

●●

●●

● ●●

●●

● ●

●●●

● ●

●●●●●

●●

●●●

●●●

●●

●●

●●

●●●

●● ●

●●

● ●●

●●●

●●

● ●

●●●●

●●●

●●

●●

●●

●●●

●●●●

●●

●●

●●●

●●

●●

● ● ●

●●

●●

●●

●●

●●

●● ●

●● ●

● ●●●

● ●

●●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●● ●●

●● ●

● ●

● ●

●●

● ●

●●

● ●

●●

●●

●●

●● ●●

●● ●

●●

●●

●●

●●

●●●● ●

●●●

●●●●● ●

●●

● ●

●●

●●

●●

●● ●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●● ●

●●

● ●●●●

●●●

● ●●

●●

● ●

●● ●●●●

●●●

●●

●●●

●●

● ●

●●●

●●●

●●

●●●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

● ●

●●

●● ●

●●

● ●

●●●

●●

●●

●●

●●●●●●

●● ● ●● ●

●●

●●

● ●●●

●●

● ●

●●

●●

●●●

●●

●● ●●

●●

●●

● ●

●●

●●●

●●

●● ●●

●●

● ●

●●

●●●

● ●

● ●●●

●●

●●

●●

●●●●

●●

●●●

● ●

●●

●●

●●●

●●●

●● ●●

● ●

●● ●●

●●

●●

●●

●●●

●●

● ●●● ●

●● ●●

●●

●●

●●

●●

●●

●●●

● ●

● ●

●●

●●

●●

●●●

●●

●●●

●●●

●●

●● ●●●

●●

●●

●●●

●● ●

●●

●●

●● ●

●●

●●●

●●

●●

●●

●● ●

●● ●●●

● ●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

● ●●●

● ●

●●

● ●●

●●

●●

● ● ●

●● ●●

●●●

●●

● ●

●●

●●

●●

●●●

● ●●

●●

●●

●●

● ●

●● ●

●●

●●

●●

●●● ●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●● ●

●●●

● ●●

● ●

●●

●● ●

●● ● ●

● ●●

●●●

●●

●●

●●

● ●●●

●●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●● ●● ●

●●●

●●

●●

●●●

●●

● ●

●●

● ●●●

● ●●●

●●

●●●

●●

●●

●●● ●

●●

●●

● ●

●●●

●●●

●●●

●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

● ●

●●● ● ●

●●●

●●

●●

●●●●

●● ●

●●

● ●

●●●

●●

●●

●●

●●●

●●

●●

● ●

●●

●●

●● ●●●

●●

●●

●●●

●●

●●

●●

● ●

●●

●●

● ●● ●

●●

●●

●●●

●●●

●●●

● ●● ●

●●●

●● ●

●●

● ●

●●●

●●

●●

●●

●● ●

●●●

●●

●●

●●

●●●

●● ●

●●

●● ●

●●

●●

●●

●●

●●●●

● ●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

● ●●

● ●

●●

●●

●●

●● ●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●●

●●

●●●●●

●● ●

●●

●●●●

●●

●●●

●●

● ●

●●●

●●

●●

●●● ●

●●

● ●

●●

●● ●

●●

●●●

● ●● ●

●●●●●

●●

●●

●●

● ●

●●● ●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●● ●

●●

● ●

●●

●● ●●●

● ●●

●●

●●●

●●

●●

●●●

●●●●

●●

●● ●

●●

●●

● ●

●●

●●

●●

●●

●●●●

●●

● ●●●●

● ●

●●

● ●●

●●

●●

●●

●●

●●

●●●

●●

● ●

●● ●

●●

●●

● ●

●●

●●

●●

●●●

●●

● ●●

●●

● ●●

●●●

●● ●

●●●● ●

●●

● ●●

●●

●●

●●

● ●●

●●●

●●

●●

●●●●

●●

●●

●●

●● ●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●● ●

●●●

●●

● ●

●●

●●●●

●●

● ●●

●●

●●

●●

● ●

●● ●

●●●

●●

●●

●●●●● ●●

●●

●●●

●●

●●●

●●●

●●●

●●●

●●●●

●●

●●

●●

●●

●●

●●● ●

●●

●●●

●●

● ●●

● ●●

●●

●●

●● ●

●● ●

●●

●●

●●

●●● ●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●● ●

●●

●●

●●

●●

●●

●●●

●●

●●●●

●●

●●●

●●●

●●

●●

● ●

● ●

● ●●

●●

●●

●●●

●●

●● ●●

●●●●

●●●

●●

● ●●●

●●●

● ●

●●

●●

●●

●●●

●●

●●

●● ●●

●●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●● ●●

●●

●● ●

●●

● ●

●●

● ●●

●●

●●●

● ●

● ●

●●

●●

● ●●

●● ●

●●

● ●

●●

●●

●●●

●●●

●●

● ●●●

●●

●● ●●

● ●

●●

●●●

●●

●●

●●●● ●

●●

●●

●●

●●

●● ●

● ●●

●●●●

●●

●● ●

●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●● ●●

●●●

●●

●●

●●●

●●

●●●●

●●

●●

●●●●

●● ●

●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●●●

● ●●

●● ●●●

●●

●●●

●●

●●

●●●

●●

●●

●●●

●●●

●●

●●●

●●●

●● ●●

●●

●●

●●

●● ●

●●

●●

●●

●●● ●

● ●●

●●

●●

●●

● ●

●●●

●●

●●●

●●

●●

●●

● ●●

● ●●●

●●●

●●●

●●●

●●●

●● ●●

●●

●●

●●●

● ●

●●

●●

● ●

● ●

●●

●●

●●

●●

● ●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

● ●

●●

● ●●●

●●●

●●●

● ●

●●●

●●

●●

●●●●●

● ● ●

●●

●●●●

●●●

●●

●●

● ●

●●

●●

●●

●●

●●

● ●●

●●

●●

●●

●●●

●●

●●

●● ●

●●●

●●●

●●●●

●●

●●●

●●

●●

● ●

●●

●●

● ●●

●●

●●

●●

●●

●●

● ●

●●

●●

● ●●

●●●

● ●●

●●●

●● ●● ●

●●

●● ●

●●

● ●

●●

●●

●●

●●●

● ●

● ●

●●●●

●●

●●

● ●

●●

●●

●●

●●

●● ●

●●

●●

●● ●●

●●

●●

●●

●●

● ●

●●●

●●

●●

●●

●● ●

●●●

●●

●●●

●● ●

● ●●

●●

●●

●●

●●

●●●

●● ●

●● ●●

● ●

● ●

●● ●

● ●●

●● ●●

●●●●● ●●

●●

●●

●●

● ●

●●● ● ●

● ●●

●●

●●●

●● ●●

●●

●●

●● ●●

●●

●●

●● ●

●●●●

●●

●●

●● ●

● ●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●● ●

●●

●●

●●

●● ●●

●●

●● ●

● ●

●● ●

●●

●●

●● ●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●●●

●●

●●●

●●

●● ●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

● ●

● ●● ●●

●●

●●

●●

●●●

●●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●●

●●

●●●

●●● ● ●

● ●●

●●

●●

●●●●

● ●

●●

●●

●●

●●

●● ●● ●●●

●● ●

●● ● ●

●●

●●

●●

●●

●●●

●●●

●●

●●

● ●

● ●●

●●

●●

●●

● ●

●●

●●●

●●

●●

●●

● ●

●●

●●●

●●

● ●

●●

●●● ●

● ●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●●

●●

●●●

●●

●●●●

●●

●●

● ●●

●●●

●●

●●

● ●

●●

●● ●●

●●

●●●

● ●

● ●

●●

● ●●●

●●

●●

●●

●●●

●●

●●●

●●●

●●

● ●

●●

●●●

● ●

●●

●●

●●●

●●

●●●●

●●

●●

●●

● ●

● ●●

●●

●●●

● ●●●

●●

●●

●●

●●●

●●● ●

●●

●●

● ●

●●

●●●

●●

●●

●●

● ●

●●

●●

●●●

● ●●

● ●

●●

● ●●

●●

●●

●●

●●

● ●

●●●● ●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●●●

●●

●●

●●

●● ●●●

●●

● ●

●●

●●

●●

● ●

●●

● ●

●●

●●

● ●●

●●

●●

●●

●●

●● ●●

● ●

●●

●●●

●●

● ●

●●

●●●

●●

●●

●●

●●● ●●

● ●

●●

●●●

●● ●

●●

●●

●●

● ●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

● ●

●●

●●●

●●●

●●●

●●●●

●●

●●

●●

●●●●

●●

●●

●●● ●

●●

●●●

●●

●●●

●●

●●

●●

● ●

●●

●●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●● ●

●●

● ●●

●●●

●● ●●

●●●

●●

●●

●●

●●

●●●

●●

●●

● ●●● ●

●●

●●

●●●

●●●●

●●

●●

● ●●

●●

●●

●●

● ●●●

●●

●●

●●

●●

●●

●●

●●●

● ● ●●

●●

● ●

●●

●●

●●

●●

●●●●

●●●●

●●

●●●

●●●

● ●●

●●

● ●●

●●

● ●

●●

● ●

●●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●● ●

●●

● ●● ●●●

●●

●●

●●

●●

●●

●●

● ●

● ●

● ● ●●

● ●

●●

● ●●

●●●●

●●

●●

●● ●

●●●

●●

●● ●

●●

●●●●

● ●

●● ●●

●●

●●

● ●

●●

●● ●

●● ●●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●● ●

●●●

●●

●●

●●

●● ●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●

●● ●

●● ●

●●● ●

●●

●●●

●●

●●

● ●●

●●●

● ●

●●●

●●

●●

●●

●●

●● ●

●●

●●

●●●

● ●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●

●●

●●●

●●

● ●●● ●

●●

●●

●●

●●

●● ●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

● ●

●●

●●

●●

●●

● ●●

●● ●●●

●●

●●

● ●●

●●

● ●●

● ●

●●

●●

●●

●●

●●●●●

● ●

●●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

● ●●

● ●●

●●

●●

● ●●●

●●

● ●●●

●●

●●

●●

●●

● ●●

● ●● ●●

●● ●

●●

● ●

● ●●

●●●

●●●

●● ●

●●

●● ● ●

● ●●

●●

● ●●

●● ● ●

●●●

●●

●●●

●●●

●● ●●

●●

●●●

●●● ●

●●●

●●

●●●

600 800 1000 1200

400

600

800

1000

1200

1400

Node

Pre

dato

r po

pula

tion

size

●●

●●

● ●

●●

●●●

●●

●●

● ● ●

●●

●●

●●

●● ●

●●

●●

●●

●●

●●●

●●

●●

● ●

● ●

●●

●●

● ●

●●

●●

●●●

●●

●● ●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●● ●

●●

● ●●

●●

●● ●

●●●

●●

●● ●●●●

●● ●

●●

● ●

●●

● ●

●●

● ●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

● ● ●

●●

●● ●

●●●●

● ●

●●●

●●

●●

● ●

● ●●

●●

●●

●●●

●●

●●

●●●●

●●●●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

● ●

●● ●

● ●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●●

●●

●●

●●

●● ●

●●

●●●

●●●

●●

●●

●●

●●

●●

● ●

● ●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

● ●

● ●●

●●

●●

●●

●●

●●

●●

●●●●

●● ●

●●

● ●●

●●

● ●

●●

●● ●

●●

●● ●

●●

●●

●●

● ●

●●●

●●

●●

●●

●●

●●

●●

● ●

●●

● ●

●●

●●

●●●

● ●

●●

●●

●●● ●

● ●

● ● ●

●●●●

●●

●●

●●

●●

●●

● ●●

●●

●●

●●

600 1000 1400 1800

600

800

1000

1200

1400

Focus

Prey population size

●●

●●

●●

● ●

●●

● ●

●●

●●

●●

● ●

●●

●●

● ●

●●

● ●

●●

●●

● ●

●●

●●

● ●

● ●

●●

● ●

●●

●●

●●

● ●

● ●

●●

● ●

● ●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

● ●

●●

● ●

● ●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

● ●

●●

● ●

● ●

● ●

● ●

●●

●●

● ●

●●

●●

●●

● ●

●●

● ●

0 500 1500 2500

500

1000

1500

Limit cycle

Evidence of limit cycle: “crater edge”

36

Page 37: Pineda krch cmb2011-slides

Detecting periodic fluctuations in natural time

series

1750 1800 1850 1900

020

000

6000

0

Years

Lynx

1850 1860 1870 1880 1890 1900 1910

6000

1000

014

000

1800

0

Years

Pop

ulat

ion

size

Otter

1750 1800 1850 1900

050

015

0025

00 Wolverine

37

Page 38: Pineda krch cmb2011-slides

Lynx timeseries

1750 1800 1850 1900

020

000

6000

0

Year

Pop

ulat

ion

size

●●

●●

●●●●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●●●

●●●

●●

●●●

●●

●●

●●●

●●

●●●●●

−2.0 −1.5 −1.0 −0.5

45

67

89

10

log10(Cycle frequency)

log1

0(P

ower

)

0 5 10 15 20

−0.

20.

20.

40.

60.

81.

0

Lag

AC

F

Population size

Fre

quen

cy

0 20000 40000 60000 80000

020

4060

8010

0

38

Page 39: Pineda krch cmb2011-slides

Otter timeseries

1850 1870 1890 1910

6000

1000

014

000

1800

0

Year

Pop

ulat

ion

size

● ●●

●●

● ●●

●●●

●●

●●

●●

●●

●●

●●

−1.5 −1.0 −0.5

45

67

89

10

log10(Cycle frequency)

log1

0(P

ower

)

0 5 10 15

−0.

20.

20.

40.

60.

81.

0

Lag

AC

F

Population size

Fre

quen

cy

5000 10000 15000 20000

05

1015

39

Page 40: Pineda krch cmb2011-slides

Wolverine timeseries

1750 1800 1850 1900

050

010

0020

00

Year

Pop

ulat

ion

size

●●●

●●

●●●

●●●

●●

●●●

●●●

●●

●●

●●●

●●

●●●●

●●

●●●●●●●●●●

●●

●●

●●●●●●

●●

−2.0 −1.5 −1.0 −0.5

45

67

89

10

log10(Cycle frequency)

log1

0(P

ower

)

0 5 10 15 20

−0.

20.

20.

40.

60.

81.

0

Lag

AC

F

Population size

Fre

quen

cy

0 500 1000 2000

05

1015

2025

30

40

Page 41: Pineda krch cmb2011-slides

Conclusions

Time series ACF Power spectrum Marginal distribution Stochastic behaviourSimulatednode none uniform normal noisy equilibriumfocus periodic periodic normal quasi-cycleslimit cycle periodic periodic non-normal noisy limit cycleReallynx periodic periodic non-normal noisy limit cycleotter none uniform normal noisy equilibriumwolverine periodic ambiguous normal quasi-cycles

41

Page 42: Pineda krch cmb2011-slides

Quasi-cycles are not new

Nisbet & Gurney, 1976

“...population cycles of rather large amplitude may occur when anunderdamped control system is subject to random environmentalnoise, and we suggest that this mechanism is worthy ofconsideration when analyzing real populate data.”

McKane & Newman, 1998“We expect that this resonance mechanism will occur in otherstochastic systems in which the mean field theory shows dampedoscillations, for instance, biochemical reactions in microscopicsystems.”

Pineda-Krch, 2007“...the existence of quasi-cycles should generalize to anydeterministic model that exhibits a stable focus and is perturbed bynoise.”

42

Page 43: Pineda krch cmb2011-slides

Parameter space for RMPP model

0.0 0.2 0.4 0.6 0.8 1.0

02

46

810

α

γ

Saddle point (unstable)

NodeFocus

Limit cycle

43

Page 44: Pineda krch cmb2011-slides

Act 3: Cycles at the edge ofexistence

44

Page 45: Pineda krch cmb2011-slides

Lotka Volterra predator-prey (LVPP) model

dNdt = rN

(1 − N

K

)− cNP

dPdt = bNP − mP

45

Page 46: Pineda krch cmb2011-slides

Simplifying the model

To simplify the LVPP model the number of parameters are reducedby defining x ≡ N/K , y ≡ Pa/r and t̃ ≡ rt the model can berescaled to

dxdt̃

= x (1 − x − y)

dydt̃

= y(

caKr

)(x −

gcaK

).

Setting α ≡ (g/(caK )) and β ≡ (caK )/r , this further simplifies to

dxdt̃

= x (1 − x − y)

dydt̃

= βy (x − α)

where α > 0 and β > 0.

46

Page 47: Pineda krch cmb2011-slides

Stable coexistence equilibrium

α

β

0.001 0.200 0.400 0.600 0.800 1.000

01

23

45

67

89

10

Node

Focus

47

Page 48: Pineda krch cmb2011-slides

Structure of simulation model

lvpp.R

ssa.lvpp.Rode.lvpp.R

ssa_lvpp.c

(The R code is here..., but the output is suppressed)48

Page 49: Pineda krch cmb2011-slides

Simulations

Set the parameter combinations> alpha.vec <- c(0.001, 0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)

> beta.vec <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

> eq.vec <- c(100, 500, 1000, 5000, 10000)

Set the length and the number of simulations per parametercombination> tmax <- 100

> n <- 100

Total number of parameter combinations (12× 10× 5) = 600Total number of stochastic simulations (600× 100) = 60000Run the simulations1

> for (beta in beta.vec) {

for (alpha in alpha.vec) {

for (eq in eq.vec) {

file.names <- lvpp(alpha, beta, tmax, eq, n)

}

}

}

1Caution: running these simulations takes a very long time so here theevaluation is suppressed. To run it set eval=true in Sweave source.

49

Page 50: Pineda krch cmb2011-slides

Rate of quasi-cyclicity, eq=500

α

β

0.1 0.1

0.2

0.2 0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0.001 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

01

23

45

67

89

10

0.95

50

Page 51: Pineda krch cmb2011-slides

Quasi-cycle rate

α

β

0.1 0.1

0.2

0.2

0.3 0.4 0.5 0.6

0.7

0.8

0.9

1

0.001 0.200 0.400 0.600 0.800 1.000

01

23

45

67

89

10

0.95

eq=500

α

β

0.1

0.1

0.2

0.2

0.3

0.3 0.4

0.5 0.6

0.7

0.8

0.9

1

0.001 0.200 0.400 0.600 0.800 1.000

01

23

45

67

89

10

0.95

eq=1000

α

β

0.1

0.1

0.2

0.2

0.3

0.3 0.4

0.5 0.6

0.7 0.8

0.9

1

0.001 0.200 0.400 0.600 0.800 1.000

01

23

45

67

89

10

0.95

eq=5000

α

β

0.1 0.1

0.2

0.2

0.3 0.4 0.5

0.6 0.7

0.8

0.9

1

0.001 0.200 0.400 0.600 0.800 1.000

01

23

45

67

89

10

0.95

eq=10000

51

Page 52: Pineda krch cmb2011-slides

Extinction rate, eq=500

α

β

0.1

0.1

0.2

0.2

0.3

0.3

0.4

0.4 0.5 0.6

0.7 0.8

0.9 1

0.001 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

01

23

45

67

89

10

0.95

52

Page 53: Pineda krch cmb2011-slides

Conclusions

I In non-cyclic models quasi-cycles arise only in part of theregion exhibition damped oscillations

I These results are consistent for population sizes across 3orders of magnitude

I For small population sizes quasi-cycles arise close to the pointof extinction

I Potential for using quasi-cyclicity for quantifying extinctionrisks in PVA

I How common are limit cycles in natural populations?

53

Page 54: Pineda krch cmb2011-slides

AcknowledgementsAct 1:

I The Tria Project (Genome Canada, Genome Alberta, GenomeBC)

I Lewis Research Group

Act 2:

I Rob J. Hyndman (Time Series Data Library) for permission touse the otter and wolverine time series

I James S. McDonnell Foundation

I NSERC

I PIMS

Act 3:

I The Tria Project (Genome Canada, Genome Alberta, GenomeBC)

I National Institute for Mathematical and Biological Synthesis(NIMBioS)

54

Page 55: Pineda krch cmb2011-slides

Background

Act 1: Pineda-Krch. 2011. The Joy of Sweave — Abeginner’s guide to reproducible research withSweave. http://pineda-krch.com/2011/01/17/the-joy-of-sweave/

Act 2: Pineda-Krch, Blok, Dieckmann, Doebeli. 2007. Atale of two cycles — distinguishing quasi-cycles andlimit cycles in finite predator-prey populations. Oikos116: 53—64.

Act 3: Pineda-Krch. 2011. Cycles at the edge of existence:Emergence of quasi-cycles in strongly destabilizedecosystems. Submitted

55

Page 56: Pineda krch cmb2011-slides

Session information

I R version 2.13.1 (2011-07-08), x86_64-apple-darwin9.8.0

I Locale: C

I Base packages: base, datasets, grDevices, graphics, methods,stats, utils

I Other packages: odesolve 0.5-20, spatial 7.3-3

I Loaded via a namespace (and not attached): tools 2.13.1

The R code in this vignette took 21 seconds to execute on MonOct 31 23:40:05 2011.

56