Zajci, lisice in propad industrijske civilizacije

Pred dobrima dvema letoma sem v tem blogu objavil prispevka o matematičnem modelu plenilec – plen, s katerim sem se prvič srečal leta 1981 ob nakupu slavne Mavrice – prvega osebnega računalnika ZX Spectrum, ki se je priključil kar na TV, namesto spominske enote pa je uporabljal kasetofon (za nevedneže – priprava, ki je shranjevala glasbo na kasete z magnetnimi trakovi). Moja članka o tem lahko najdete tu in tu.

Danes pa vidim, da ameriški matematični fizik J. Baez v svojem blogu objavil prispevek z dramatičnim naslovom Civilization collapse.  V njem omenja članek iz Guardiana:

• Nafeez Ahmed, NASA-funded study: industrial civilisation headed for ‘irreversible collapse’?Earth Insight, blog on The Guardian, 14 March 2014.

v njem zvemo, da

“global industrial civilisation could collapse in coming decades due to unsustainable resource exploitation and increasingly unequal wealth distribution.”

Kljub vprašaju v naslovu in besedi “could” je naslov skrb vzbujajoč. Zato sem pogledal, kdo so avtorji in kakšne metode uporabljajo. Izkazalo se je, da uporabljajo precej preprost model, ki temelji na  podobnem sistemu Lotka-Volterrovih enačb, kot so v mojem modelu Zajci in lisice, oz. Zajci, lisice in trava. A  spremenljivke so sedaj štiri, in sicer:

  • število “običajnih”  ljudi,
  • število pripadnikov “elite”,
  • naravni viri
  • bogastvo.

Poglejte tudi znanstveni članek te skupine, povezan s tem člankom.

V Baezovem blogu se je razvila tudi kar burna razprava o tem modelu, očitajo mu predvsem, da je (še) preenostaven, da bi lahko dajal verodostojne napovedi. Razprava  je proti koncu zašla v rast svetovnega prebivalstva, navajajo vire OZN, ki govorijo o manjšanju števila petnajstletnikov na svetu, kar se morda ujema z napovedjo, o kateri sem v tem blogu tudi že pisal. 

Otok zajcev in lisic

V začetku 80.let  so tudi k nam z Otoka pljusnile Mavrice – črna škatlica s smešno gumijasto tipkovnico  (Mirko tipka na radirko) je bila v bistvu eden  prvih osebnih računalnikov in  v njem je bilo junaško srce – procesor Zilog80.  Spomina je imela mrcina celih 64kb, od tega 16kb ROMa in 48kb RAMa. Za zunanjo spominsko enoto so Mavrice imele kar kaseto, ki smo jo poganjali na z računalnikom povezanim kasetnikom, namesto monitorja pa je služil kar TV sprejemnik – če je bil barvni, ste imeli  tudi barve. Srečni kupec je poleg Mavrice dobil še kaseto s programi in eden od teh programov je bil tudi Otok zajcev in lisic.

Torej, na otoku živijo zajci in lisice. Število zajcev se s časom veča zato, ker se zajci razmnožujejo, in pada zato, ker jih lisice lovijo. Število lisic pa se prav tako spreminja – veča, ker se množijo, in manjša, ko jim zmanjka hrane.  Označimo z z trenutno število zajcev, za l trenutno število lisic, dz in dl pa naj bosta prirastka zajcev in lisic v časovnem intervalu dt.  Število  tako zajcev kot lisic lahko opišemo z diferencialnima enačbama:

    \[ dz=(az-bz\cdot l)dt, \]

    \[ dl=(cl-d\frac{l}{z})dt. \]

Da je prirastek zajcev odvisen od njihovega trenutnega števila, ne preseneti, daj je to značilno za naravno rast. Upad števila (negativni predznak!) pa je odvisen od števila srečanj zajcev in lisic, to število pa je premo sorazmerno tako s številom zajcev kot s številom lisic.  Umiranje lisic zaradi lakote pa je premo sorazmerno s številom lisic in obratno sorazmerno s številom zajcev. Pri tem sta a in c konstanti, ki nekaj povesta o plodnosti zajklje oziroma lisice, b je v zvezi z verjetnostjo, da ob srečanju lisica-zajec slednji izdahne, d pa, da lisica od lakote umre.

Imamo torej sistem dveh nelinearnih diferencialnih enačb 1. reda, zato  rešitev ni preprosta. A spreminjanje obeh populacij s časom se je dalo spremljati že na tej Mavrici, danes pa lahko to počnemo v preglednicah ali nalogo sprogramiramo v kakem programskem jeziku.  V programu najprej določimo časovni interval ter začetno število zajcev in lisic, nato pa računamo prirastke iz diferencialnih enačb.

Kaj pričakujemo? Najbolj verjeten izid je, da bo na otoku najprej  zmanjkalo zajcev, nato pa še lisic in otok bo opustel.  Ob skrbno izbranih konstantah in začetni populaciji pa se nam lahko zgodi tole:

Rdeče so zajci, modro pa lisice. Grafa nista v merilu, zajcev je  5000 krat več kot lisic. Opazimo, da se populaciji spreminjata ciklično, da je vrh populacije lisic zamaknjen glede zajce in da je manjšanje populacije pri lisicah hitrejše kot pri zajcih.

Program je pisan v Pythonu, konstante se vidijo v kodi:

from Tkinter import *
from math import sin,pi
root = Tk()
("symbol",8)
root.title("Zajci in lisice -V. Petruna, januar 2010")
can = Canvas(root, width = 1010, height = 1000, background = "white")
can.create_line(10,500,1000,500, width = 1, fill = "black")
can.create_line(10,500,10,10, width = 1, fill = "black")
z=100
l=10
a=6.
b=1
c=4.
d=3000
dt=0.001
for t in range(10000):
    z=z+(a*z-b*z*l)*dt
    l=l+(c*l-d*l/z)*dt
    can.create_line(10+t*dt*100,500-z/1000,11+t*dt*100,500-z/1000, width = 2, fill = "red")
    can.create_line(10+t*dt*100,500-l*5,11+t*dt*100,500-l*5, width = 2, fill = "blue")
can.pack(side = BOTTOM)
root.mainloop()

Naloga: Določi  konstante ali začetno število v obeh populacijah tako, da so nihanja v populaciji čim manjša.  Dosežeš lahko takle

ali še boljši graf. Vse to lahko storiš že s srednješolskim znanjem. (Namig: Če se količini ne spreminjata, kakšna je leva stran enačb?)

Več o tej tematiki lahko najdeš tu.