Füchse und Kaninchen

Die Entwicklung einer Fuchs‑Kaninchen‑Population:

Ein Paar gewöhnlicher nichtlinearer Differentialgleichungen 1. Ordnung.

von Dr. Rolf Schröder

(geändert: )

Inhalt

0. Prolog
1. Die Änderung der Kaninchenzahl K mit der Zeit
2. Die Änderung der Fuchszahl F mit der Zeit
3. Das DGL‑System für Füchse und Kaninchen
4. Stationäre Lösung bzw. Ruhepunkt
5. Die Charakteristik Φ(K,F)
6. Diskussion der Charakteristik Φ(K,F)
7. Analytische Lösung im Grenzfall F → Fs, K → Ks
8. Interaktive graphische Lösung des DGL‑Systems

zurück


0. Prolog

Wer hat in freier Natur heutzutage schon mal einen Fuchs gesehen! Dagegen sehen wir gelegentlich Kaninchen, und sei es nur bei einer nächtlichen Autofahrt. Werden es von Jahr zu Jahr mehr, weil wir keine Füchse mehr haben? Nein, auch ohne Füchse nimmt die Zahl der Kaninchen bei uns offensichtlich nicht unbegrenzt zu. Das, was wir von einer angemessenen Fuchspopulation erwarten könnten, nämlich die natürliche Beschränkung der Kaninchenpopulation, wurde mit anderen Mitteln erreicht, wie etwa mit der bewußt gegen Kaninchen eingesetzten Viruserkrankung Myxomatose.

Wir wollen uns nun in ein „Schlaraffenland für Kaninchen“ versetzt denken, ohne Krankheiten und mit unbegrenztem Nahrungsangebot. Irgendjemand, ich weiß nicht mehr wer, ist dann auf die Idee gekommen, daß auch Füchse in diesem Land ideale Lebensbedingungen finden könnten. Und so kamen gegen den heftigen Protest der Kaninchen auch einige Füchse in das Schlaraffenland der Kaninchen. Schon bald zeigte sich die Auswirkung dieser Maßnahme: unter den zunächst zahlreichen Kaninchen fand die anfangs kleine Schar der Füchse leichte Beute, und sie vergrößerte sich schnell. Wie aber geht die Entwicklung der beiden Gruppen wohl weiter? Wächst die Zahl der Kaninchen und Füchse unbegrenzt? Oder vernichten die Füchse schließlich alle Kaninchen und sterben dann auch aus? Oder stellt sich ein Gleichgewicht ein?

Wir wollen ein einfaches Modell aufstellen, um die Entwicklung der Fuchs‑Kaninchen‑Population zu analysieren.

zurück


1. Die Änderung der Kaninchenzahl K mit der Zeit

Da wir ein unbegrenztes Nahrungsangebot für die Kaninchen annehmen, würde die Zahl der Kaninchen in einer kleinen Zeitspanne dt um dK zunehmen, und zwar proportional zur gerade vorhandenen Kaninchenzahl K, in Formeln:

dK = AK∙K∙dt ,
dK/dt = AK∙K ,

mit dem positiven Koeffizienten Ak, der die Stärke der Zunahme beschreibt. Diese Gleichung läßt sich durch die sog. Trennung der Variablen lösen, d. h., wir schreiben die Gleichung so um, daß sich die beiden Variablen K und t auf jeweils einer Seite befinden:

dK/K = AK∙dt ,
dLn(K) = AK∙dt ,

und dies ergibt sich offensichtlich aus der Ableitung der Funktion

Ln(K) = AK∙t + C ,

C eine Konstante.

Wendet man auf beide Seiten der Gleichung die Exponentialfunktion an, so folgt:

K = eAK∙t + C = eC∙eAK∙t = K0∙eAK∙t ,

mit K0 als Zahl der Kaninchen zum Zeitpunkt t = 0. Da AK > 0 ist, nimmt die Kaninchenpopulation also ständig exponentiell zu. Der reziproke Wert der Konstanten AK hat offenbar die Dimension einer Zeit. Wir können daher statt AK auch die Zeitkonstante

τK ≡ 1/AK

benutzen. Sie gibt die Zeit an, in der sich die Anzahl der Kaninchen um den Faktor e vergrößert. Damit ist die Entwicklung der Kaninchenpopulation ohne Beeinträchtigung durch Füchse beschrieben.

Aber durch die Anwesenheit der Füchse wird nun das Wachstum der Kaninchen verringert, denn in einer kleinen Zeitspanne dt fressen die Füchse eine gewisse Zahl dK von Kaninchen: diese Zahl ist natürlich proportional zur Zahl F der Füchse, sie ist aber auch zur Zahl K der Kaninchen proportional, da mit wachsender Kaninchenzahl auch die Möglichkeit für die Füchse wächst, Kaninchen zu fangen. In der Zeit dt wird also die Zahl der Kaninchen um BK∙K∙F reduziert, BK beschreibt, wie stark diese Reduktion pro Zeit ist. Wir berücksichtigen daher in der anfänglichen Gleichung zusätzlich die Abnahme pro Zeitintervall dt:

dK = AK∙K∙dt + BK∙K∙F∙dt ,
dK/dt = AK∙K + BK∙K∙F ,
AK > 0, BK < 0 .

Man beachte, daß BK negativ ist und daher eine Abnahme bedeutet.

zurück


2. Die Änderung der Fuchszahl F mit der Zeit

Wir betrachten zuerst die Füchse ohne Kaninchen. Da Kaninchen die einzige Nahrung der Füchse sind, hätte ein plötzlicher Ausfall dieser Nahrungsquelle für die Füchse dramatische Folgen, die Fuchspopulation müßte ständig abnehmen. Wir ersparen uns die detaillierte Beschreibung des Fuchssterbens und nehmen an, daß der Verlust dF an Füchsen pro Zeitintervall dt proportional zur noch vorhandenen Fuchszahl F selbst ist, in Formeln:

dF = AF∙F∙dt ,
dF/dt = AF∙F ,

mit dem negativen Koeffizienten AF, der die Stärke der Abnahme beschreibt.

Ganz analog wie im Falle der Kaninchen läßt sich diese Gleichung lösen, die Lösung lautet entsprechend:

F = eAF∙t + C = eC∙eAF∙t = F0∙eAF∙t ,

mit F0 als Zahl der Füchse zum Zeitpunkt t = 0. Da AF < 0 ist, nimmt die Fuchspopulation also ständig exponentiell ab. Auch hier kann man statt der Konstanten AF die reziproke Konstante

τF ≡ 1/AF

benutzen, sie hat die Dimension einer Zeit. Da mit AF auch τF negativ ist, beschreibt |τF| die Zeit, in der die Fuchspopulation auf e−1 abgefallen ist.

Zum Glück für die Füchse gibt es nun die Kaninchen! Je mehr Kaninchen die Füchse fangen können, umso rascher können sie ihre Abnahme durch Zuwachs ausgleichen. Dieser Zuwachs wird im einfachsten Fall zur Zahl der Füchse aber auch zur Zahl der Kaninchen proportional sein. In der Zeit dt wird also die Zahl der Füchse um BF∙K∙F wachsen, BF beschreibt, wie stark dieser Zuwachs pro Zeit ist. Wir berücksichtigen daher in der anfänglichen Fuchsgleichung zusätzlich die Zunahme pro Zeitintervall dt:

dF = AF∙F∙dt + BF∙K∙F∙dt ,
dF/dt = AF∙F + BF∙K∙F ,
AF < 0, BF > 0 .

zurück


3. Das DGL‑System für Füchse und Kaninchen

Wir haben die beiden folgenden Differentialgleichungen zur Beschreibung einer Fuchs‑Kaninchen‑Population aufgestellt:

dK/dt = AK∙K + BK∙K∙F ,
dF/dt = AF∙F + BF∙K∙F ,
AK > 0, BK < 0, AF < 0, BF > 0 .

Die Anzahlen K und F sind reine Funktionen der Zeit t:

K = K(t), F = F(t) .

Zur Nomenklatur:

Differentialgleichung
(Abkürzung: DGL)
: Eine Gleichung, in der mindestens eine Ableitung einer zu bestimmenden Funktion vorkommt.
Gewöhnliche DGL : Die zu bestimmende Funktion hängt von genau einer unabhängigen Variablen ab (im Gegensatz zur partiellen DGL).
Explizite DGL : Die Ableitung größter Ordnung kann als Funktion des Restes dargestellt werden.
Nichtlineare DGL : Die zu bestimmende Funktion bzw. ihre Ableitung kommt nichtlinear in der Gleichung vor.
Autonome DGL : Die unabhängige Variable kommt nicht in der DGL vor.
Ordnung der DGL : Die größte vorkommende Ordnung der Ableitung der zu bestimmenden Funktion.
DGL‑System : Mehrere voneinander abhängige DGLen mit entsprechend vielen zu bestimmenden Funktionen.

Danach haben wir ein gewöhnliches explizites nichtlineares autonomes Differentialgleichungssystem 1. Ordnung vor uns.

Wir wollen das System noch unter einem anderen Gesichtspunkt betrachten. Aus Gewohnheit schreiben wir statt der Funktionen K(t) und F(t) lieber X(t) und Y(t). Allgemeiner können wir dann unser System auch so schreiben:

dX/dt = f(X,Y) ,
dY/dt = g(X,Y) ,

mit den über den ganzen X‑Y‑Raum stetigen Funktionen f und g. Zur Veranschaulichung betrachten wir ein kartesisches Koordinatensystem in der Ebene. X und Y beschreiben den Ort und dX/dt und dY/dt stellen dann eine Geschwindigkeit am Ort X,Y dar. Wenn f(X,Y) und g(X,Y) in der ganzen Ebene erklärt sind, so gibt es also auch für jeden Punkt eine bestimmte von der Zeit unabhängige Geschwindigkeit, das ist das Bild einer stationären Strömung!

Wir können offenbar wegen der bekannten Geschwindigkeit den Nachbarort zum Punkt X,Y, der in einer kleinen Zeitspanne Δt erreicht wird, bestimmen. Wir schreiten entsprechend der Geschwindigkeit dX/dt, dY/dt um ein Wegstück ΔX = (dX/dt)∙Δt, ΔY = (dY/dt)∙Δt weiter. Damit haben wir eine praktisch anwendbare Lösungsvorschrift. Setzen wir uns zur Zeit t0 in einen willkürlich gewählten Ort X0,Y0, so finden wir den Ort X1,Y1 nach einem Zeitschritt Δt, indem wir das Wegstück ΔX = f(X0,Y0)∙Δt, ΔY = g(X0,Y0)∙Δt zu X0,Y0 addieren, so daß wir den Punkt X1,Y1 erreichen:

X1 = X0 + (dX/dt)0∙Δt = X0 + f(X0,Y0)∙Δt ,
Y1 = Y0 + (dY/dt)0∙Δt = Y0 + g(X0,Y0)∙Δt ,

Dann wiederholen wir diese Prozedur, indem wir X0,Y0 durch X1,Y1 ersetzen, und erhalten X2,Y2 usw. In der X‑Y‑Ebene finden wir so eine Kurve, die offenbar durch den „Anfangspunkt“ oder auch „Anfangswert“ X0,Y0 bestimmt ist. Da wir auch die Zeitschritte kennen, haben wir auch X(t) und Y(t) bestimmt. Statt vom Punkt X0,Y0 in der Zeit voranzuschreiten, können wir aber auch zurückschreiten, indem wir die Zeitschritte negativ nehmen. D. h., zu jedem Zeitpunkt (vor und nach t0) ist eine Kurve durch X0,Y0 bestimmt (jedoch nicht notwendig die wahre Lösungskurve!).

Für die exakte Lösungskurve müssen die Zeitschritte Δt im Grenzfall gegen Null gehen (und damit wegen der Stetigkeit von f und g auch ΔX und ΔY). Da man beim numerischen Rechnen aber stets mit endlichen Größen arbeiten muß, ist es zweckmäßig, f und g im jeweiligen Punkt X,Y mindestens bis zur zweiten Ordnung nach der Zeit in eine Taylorreihe zu entwickeln, um damit dann mit dem (endlichen) Zeitschritt Δt die nächsten Werte ΔX, ΔY zu berechnen. Die Genauigkeit der Rechnung steigt hierdurch ganz beträchtlich und man kommt der wahren Lösungskurve sehr nahe. Ein bekanntes Verfahren zur numerischen Lösung solcher „Anfangswertprobleme“ ist das Runge‑Kutta‑Verfahren (Fehler pro Schritt ∼ (Δt)5), das auch wir später einsetzen werden. Zuvor wollen wir noch einige Eigenschaften der Lösungskurven X(t) und Y(t) bzw. der Kurve (X(t),Y(t)) in der X‑Y‑Ebene bestimmen.

Die Kurve, welche der Punkt X(t),Y(t) – ausgehend von X0,Y0 – mit der Zeit als Parameter durchläuft, nennt man „Charakteristik“ des Differentialgleichungssystems. In unserem Fall gibt es eine Schar von Charakteristiken.

Sind die Funktionen f und g eindeutig, dann kann eine Charakteristik sich nicht mit sich selbst schneiden. In einem Schnittpunkt müßten andernfalls zwei verschiedene Geschwindigkeiten vorkommen, d. h., f bzw. g wären mehrdeutig.

Kehren wir wieder zu unseren Kaninchen und Füchsen und damit zum DGL‑System zurück! Obwohl unser DGL‑System analytisch einfache Funktionen f und g hat, lassen sich die Lösungen K(t) und F(t) nicht durch bekannte Funktionen beschreiben, jedenfalls sind keine Lösungen K(t),F(t) in geschlossener Form bekannt. Jedoch können wir gewisse Eigenschaften feststellen.

zurück


4. Stationäre Lösung bzw. Ruhepunkt

Wenn die Zeitableitungen dK/dt und dF/dt bei einer bestimmten Population Ks,Fs (der Index s stehe für stationär) gleich Null sind, so bleiben K(t) und F(t) für alle Zeiten konstant. Eine (triviale) Lösung ist offenbar:

Ks = 0 , Fs = 0 .

Da aber eine Welt ohne Füchse und Kaninchen recht langweilig ist, nehmen wir nun stets an, daß gilt:

K(t) ≠ 0 , F(t) ≠ 0 .

Wir finden dann eine Lösung ungleich Null, indem wir die linke Seite des DGL‑Systems gleich Null setzen und nach K und F auflösen:

0 = AK∙K + BK∙K∙F ,
0 = AF∙F + BF∙K∙F ,
AK ≠ 0, AF ≠ 0, BK ≠ 0 , BF ≠ 0 .

Als einzige stationäre Lösung, bei der also die Anzahl der Füchse und Kaninchen konstant bleibt, erhalten wir:

Ks = −AF/BF , Fs = −AK/BK ,
AK ≠ 0 , AF ≠ 0 , BK ≠ 0 , BF ≠ 0 .

zurück


5. Die Charakteristik Φ(K,F)

Zum Auffinden der Charakteristik Φ(K,F)  bedienen wir uns eines kleinen Tricks: wir multiplizieren die erste Gleichung unseres DGL‑Systems, die Kaninchengleichung, mit dF/dt und die zweite Gleichung, die Fuchsgleichung, mit dK/dt und setzen gleich:

(dF/dt)∙(dK/dt) = AK∙K∙(dF/dt) + BK∙K∙F∙(dF/dt) ,
(dF/dt)∙(dK/dt) = AF∙F∙(dK/dt) + BF∙K∙F∙(dK/dt) ,

es folgt:

AK∙K∙(dF/dt) + BK∙K∙F∙(dF/dt) = AF∙F∙(dK/dt) + BF∙K∙F∙(dK/dt) .

Wir dividieren mit K∙F und erhalten:

AK∙(dF/dt)/F + BK∙(dF/dt) = AF∙(dK/dt)/K + BF∙(dK/dt) .

Da nun d(ln(K))/dt = (dK/dt)/K bzw. d(ln(F))/dt = (dF/dt)/F ist, haben wir schließlich:

AK∙d(ln(F))/dt + BK∙dF/dt = AF∙d(ln(K))/dt + BF∙dK/dt .

Diese Gleichung läßt sich integrieren, man erhält:

AK∙ln(F) + BK∙F = AF∙ln(K) + BF∙K + C ,

C eine Konstante. Damit haben wir die Gleichung der Charakteristik gefunden:

Φ(K,F) = AK∙ln(F) + BK∙F − AF∙ln(K) − BF∙K − C .

zurück


6. Diskussion der Charakteristik Φ(K,F)

Bestimmen wir die Extrema von Φ(K,F): notwendige Bedingung ist, daß die partiellen Ableitungen nach K und F beide gleich Null sind:

∂Φ/∂K = −AF/K − BF = 0 ,
∂Φ/∂F =  AK/F + BK = 0 .

Es zeigt sich, daß die einzige Lösung für ein Extremum für alle K,F > 0 gerade die stationäre Lösung des DGL‑Systems ist:

Kextrem = −AF/BF = Ks ,
Fextrem = −AK/BK = Fs ,
Φextrem = Φ(Ks,Fs) = AK∙{ln(−AK/BK) − 1} − AF∙{ln(−AF/BF) − 1} − C .

Die Bedingung für das Vorliegen einem Maximums lautet:

(∂2Φ/∂K2)∙(∂2Φ/∂F2) − ∂2Φ/(∂K∙∂F) > 0 .

Die partiellen Ableitungen zweiter Ordnung lauten:

2Φ/∂K2 = AF/K2 ,
2Φ/∂F2 = −AK/F2 ,
2Φ/(∂K∙∂F) = 0 ,

und man stellt fest, daß die Bedingung für ein Maximum für alle K,F > 0 erfüllt ist:

(∂2Φ/∂K2)∙(∂2Φ/∂F2) − ∂2Φ/(∂K∙∂F) = −AK∙AF/(K2∙F2) > 0 .

Der Extremwert Φextrem ist also ein absolutes Maximum Φmax:

Φmax = AK∙{ln(−AK/BK) − 1} − AF∙{ln(−AF/BF) − 1} − C .

Da ferner an den Rändern des K‑F‑Bereiches die Funktion Φ(K,F) gegen −∞ geht, stellen die Funktionen Φ(K,F) = C' < Φmax geschlossene Kurven um den Ruhepunkt Ks,Fs dar, die Zahl der Füchse und Kaninchen oszilliert um den Ruhepunkt Ks,Fs.

Das genaue Zeitverhalten läßt sich durch numerische Berechnung entlang der Charakteristik bestimmen: für jeden Kurvenpunkt kann man ja die zeitliche Änderung berechnen. Eine geschlossen angebbare Lösung ist aber nicht bekannt.

Ändert man relativ zueinander die Vorzeichen der Koeffizienten des DGL‑Systems, so erhält man die (nicht mehr zyklischen) Lösungen anderer Probleme wie z. B. „Symbiose“ oder „Totaler Krieg“.

zurück


7. Analytische Lösung im Grenzfall F → Fs, K → Ks

Um eine Lösung in der Umgebung des stationären Punktes zu bestimmen, führt man eine Variablentransformation durch:

K = Ks + x , F = Fs + y .

Damit geht das DGL‑System über in:

dx/dt = AK∙(x + Ks) + BK∙(x + Ks)∙(y + Fs) ,
dy/dt = AF∙(y + Fs) + BF∙(x + Ks)∙(y + Fs) ,

und nach wenigen Umstellungen erhalten wir:

dx/dt = (AK + BK∙Fs)∙x + BK∙Ks∙y + BK∙x∙y + Ks∙(AK + BK∙Fs) ,
dy/dt = BF∙Fs∙x + (AF + BF∙Ks)∙y + BF∙x∙y + Fs∙(AF + BF∙Ks) ,

und da die beiden Terme AK+BK∙Fs und AF+BF∙Ks gleich Null sind (siehe unter 4. Punkt), folgt:

dx/dt = BK∙Ks∙y + BK∙x∙y ,
dy/dt = BF∙Fs∙x + BF∙x∙y .

Wenn wir uns nun dem stationären Punkt Ks,Fs nähern, dann wird der Term mit dem gemischten Glied x∙y gegenüber den Gliedern mit x und y vernachlässigbar klein und wir erhalten die sog. lineare Näherung:

dx/dt = BK∙Ks∙y ,
dy/dt = BF∙Fs∙x ,
|x| ≪ Ks , |y| ≪ Fs .

Zur Lösung leiten wir die erste Gleichung einmal ab und setzen dann die zweite Gleichung ein, wir erhalten:

d2x/dt2 = BK∙BF∙Ks∙Fs∙x .

Die allgemeine Lösung dieser DGL 2. Ordnung lautet:

x(t) = a∙sin(ω∙t + φ) ,

mit beliebigen Konstanten a und φ. Die zweimalige Ableitung ergibt:

d2x/dt2 = −ω2∙x(t) ,

so daß also folgt:

ω = (−BK∙BF∙Ks∙Fs)½ = (2∙π)/P .

Auch das negativ Vorzeichen für ω ist mathematisch eine Lösung, sie stellt eine zeitlich rückwärtslaufende Änderung dar, die uns aber nicht weiter interessiert. Die Periode P der oszillierenden Lösung ist jedenfalls:

P = 2∙π∙(−BK∙BF∙Ks∙Fs)−½ ,
BK∙BF < 0 ,

und ersetzt man in diesem Ausdruck Ks und Fs mit Benutzung der Zeitkonstanten τK und τF, so zeigt sich, daß die Periode P allein durch die Zeitkonstanten beider Populationen beschrieben wird:

P = 2∙π∙(−τK∙τF)½ .

Die Lösung für x(t) lautet also:

x(t) = a∙sin(2∙π∙t/P + φ) .

Leitet man diese Gleichung nach t ab und setzt sie in die erste DGL dieses Abschnitts ein, so erhalten wir y(t):

y(t) = (dx/dt)/(BK∙Ks) = {2∙π/(P∙BK∙Ks)}∙a∙cos(2∙π∙t/P + φ) ,
y(t) = −{BF∙Fs/(−BK∙Ks)}½∙a∙cos(2∙π∙t/P + φ) .

Die Funktion y(t) ist gegenüber x(t) um π/2 phasenverschoben. Der Punkt x(t),y(t) - und damit auch K(t),F(t) - umläuft den stationären Punkt mit zunehmender Zeit t auf einer Ellipse im mathematisch positiven Sinn. Man beachte, daß die Periode P und die Ellipsenform nur im Grenzfall |K−Ks| ≪ Ks und |F−Fs| ≪ Fs gelten.

zurück


8. Interaktive graphische Lösung des DGL‑Systems

(muß noch mit Leben erfüllt werden)
dK/dt = AK∙K + BK∙K∙F
   
dF/dt = AF∙F + BF∙K∙F
   

zurück