Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03121.jsonl.gz/973

Mit Excel ein Räuber-Beute-System simulieren
© M + K Computermarkt 97/12, Luzern, Schweiz
Autorin: Dr. Silvia Rothen, rothen ecotronics, Bern, Schweiz
Letzte Überarbeitung: 15.06.10
Wer einige mathematische Grundkenntnisse besitzt, kann mit Excel leicht einfachere dynamische Modelle nachbauen. Weil die Einarbeitungszeit in eine spezielle Modellierungssoftware wie Stella entfällt, eignet sich Excel insbesondere auch, um in der Umwelterziehung mit kleinen Modellen ökologische Zusammenhänge zu verdeutlichen.
- Einleitung
- Verbale Beschreibung des Modells
- Die Modellgleichungen
- Umsetzung der Simulation in Excel
- Darstellung im Diagramm
- Literaturverzeichnis
- Download der Excel-Datei
- Buchtipp
Vielleicht erinnern Sie sich noch an den Artikel über Technologiewettläufe [1]. Bereits dort habe ich gezeigt, dass man Excel benutzen kann, um einfache dynamische Systeme zu simulieren. Heute wagen wir uns an eines der berühmtesten ökologischen Modelle, das Räuber-Beute-System von Lotka-Volterra [2,3]. Allerdings habe ich als Quelle nicht den Originaltext verwendet, sondern die BASIC-Fassung von Hartmut Bossel im Buch "Umweltdynamik" [4, S. 91 - 102]. Der Vorteil von Excel gegenüber BASIC liegt vor allem darin, dass man sich in Excel auf die Modellgleichungen selbst konzentrieren kann, ohne zusätzlich die Schnittstellen für Dateneingabe und Ausgabe der Resultate programmieren zu müssen. Das erwähnte Buch, das insgesamt 30 Modelle enthält, scheint nicht mehr im Handel zu sein. Inzwischen gibt es aber von diesem Autor ein neues Buch namens "Modellbildung und Simulation" (1994) zum selben Thema [5].
Volterra entwickelte sein Modell anhand einer jahrzehntelangen Datenserie der Hudson-Bay-Company über die gelieferten Felle von Schneehasen und Luchsen. Beide Kurven zeigten eine auffällige, recht regelmässige Schwingung und schienen miteinander in Zusammenhang zu stehen. Da der Schneehase ein wichtiges Beutetier des Luchses ist, erstaunt dies nicht. Mit dem dynamischen Modell von Volterra, das wir nun nachbauen werden, lassen sich diese Schwingungen nachvollziehen und erklären.
Unser Modell simuliert eine kleine Nahrungskette mit dem Fuchs als fleischfressendem Räuber und dem Hasen als planzenfressendem Beutetier. Im Modell von Bossel ist das Weideland beschränkt und kann somit nicht unbeschränkt viele Hasen ernähren. Aus der Weidekapazität ergibt sich somit die maximal mögliche Anzahl von Beutetieren. Ein Fuchs wiederum ist darauf angewiesen, eine bestimmte Hasen pro Periode zu erlegen, um nicht zu verhungern. Viele Füchse erlegen viele Hasen und reduzieren somit den Hasenbestand. Ein kleinerer Hasenbestand führt aber dazu, dass nicht mehr alle Füchse genug Hasen finden und somit einige verhungern. Damit reduziert sich langfristig auch der Fuchsbestand. Wenn weniger Füchse die Hasen jagen, kann der Hasenbestand sich wieder ausdehnen. Sie sehen bereits aus der verbalen Beschreibung des Modells und aus dem Diagramm, dass sich daraus sowohl für den Hasen- wie für den Fuchsbestand eine zyklische Schwingung ergibt, wobei die Anzahl Füchse dem Hasenbestand zeitlich hinterherhinkt.
Statt uns allerdings an diese ausgebaute Modellversion von Bossel zu machen, in der es nicht nur Hasen und Füchse, sondern auch beschränkte Weidemöglichkeiten gibt, erstellen wir ein einfacheres Modell. Diese Simulation besteht nur aus zwei Gleichungen mit vier Parametern und zwei Variablen. Die Variablen sind der Hasenbestand x und der Fuchsbestand y. Die Hasen vermehren sich in der Abwesenheit der Füchse exponentiell (Parameter a), während jedes Treffen mit den Füchsen ihren Bestand reduziert (Parameter c). Bei den Füchsen ist es genau umgekehrt: Ohne Beute nimmt ihr Bestand exponentiell ab (Parameter b) und nur wenn sie auf die Hasen treffen, kann sie dies vor dem Hungertod retten und den Bestand erhöhen (Parameter d). Die Wahrscheinlichkeit, dass Hasen und Füchse aufeinandertreffen, ist abhängig von beiden Beständen, also vom Produkt xy. Damit ergeben sich für die Veränderung der Bestände pro Zeiteinheit die folgenden zwei Formeln.
Hasen: dx/dt = ax - cxy
Füchse: dy/dt = -by + dxy
Bevor man nun die Simulation starten kann, muss man für die Parameter Werte bestimmen und für die Variablen Hasen- und Fuchsbestand willkürliche Anfangsbestände X0 und Y0 bestimmen. Die folgenden, von Hartmut Bossel übernommenen Werte ergeben eine hübsche, zyklische Schwingung:
|a||Nettozuwachsrate Hasen||0.08|
|b||Gewichtsverlust der Füchse/Woche||0.2|
|c||Wahrscheinlichkeit, bei Treffen gefressen zu werden||0.002|
|d||Beutewahrscheinlichkeit der Füchse||0.0004|
|X0||Anfangsbestand Hasen||500|
|Y0||Anfangsbestand Füchse||20|
Damit haben wir nun alles, was wir vorerst für das Modell benötigen. In Excel setzen wir dies so um, dass wir als erstes zwei Blöcke machen, in denen einerseits die Parameterwerte und andererseits die Anfangswerte der Variablen stehen. Dann folgt das Modell in Form einer Tabelle, wobei jeder Zeitschritt zu einer neuen Zeile führt und jede Gleichung eine Spalte füllt. Für unser einfaches Räuber-Beute-Modell führt dies zu fünf Spalten. In der ersten Spalte sehen wir die Periode T. Wir lassen das Modell über 200 Perioden, also von T = 1 bis T = 200 laufen, was zu 200 Zeilen führt. Dann folgen in den nächsten zwei Spalten unsere zwei Gleichungen von oben, das heisst der Zuwachs der Hasen dx und der Zuwachs der Füchse dy. Da uns eigentlich der Gesamtbestand interessiert, berechnen dann in der vierten und in der fünften Spalte die Bestände, die aus dem Vorperiodenbestand und dem Zuwachs bestehen. Mathematisch ausgedrückt heisst dies für die Hasen:
xt = xt-1 + dx
Um nicht ein biologisch unrealistisches Modell zu bekommen, muss man allerdings für die Bestände noch eine weitere Restriktion einführen, nämlich die, dass weder x noch y negativ werden können. Und genaugenommen bräuchte es eine zusätzliche Restriktion, die sicherstellt, dass sich sowohl Hasen wie Füchse nur vermehren können, wenn noch mindestens zwei Exemplare vorhanden sind. Auf diese letzte Restriktion verzichten wir allerdings vorerst. Ich überlasse es Ihnen, das Modell später in diese Richtung auszubauen.
Das Simulationsmodell in Excel
Aus dem Screenshot sehen Sie, wie sich das Tabellenblatt mit dem Modell ungefähr aufbaut. In Zeile 1 geben wir dem Tabellenblatt einen Titel. In den Zeilen 4 und 6 bis 9 folgen dann die Parameter T0 sowie a, b, c und d, wobei in der Spalte A die Bezeichnung und in der Spalte B der Wert dazu steht. In den Zellen B12 und B13 stehen die Anfangsbestände X0 und Y0 von Hasen und Füchsen. Da sich später verschiedene Szenarien mit anderen Anfangsbeständen durchrechnen lassen, empfiehlt es sich, diese zwei Zellen farblich hervorzuheben, um kenntlich zu machen, dass hier Benutzereingaben erwünscht sind.
Erst nach den Bezeichnungen in Zeile 17 bis 19 erfolgt in Zeile 20 die erste Periode des eigentlichen Modells. Obwohl es möglich wäre, in den Formeln des Modells direkt auf die Werte in den Zeilen 4 bis 13 Bezug zu nehmen, empfiehlt es sich stattdessen, Namen zu definieren und zu verwenden. Namen für Zellen und Zellbereiche empfehlen sich, um Berechnungen übersichtlicher zu machen. Namen sind übrigens immer absolute Zellbezüge. In unserem Modell sind die Parameter und die Anfangswerte geeignete Kandidaten für Namen. Setzen Sie den Cursor also auf die Zelle B4 und tippen Sie in das Namensfeld links in der Bearbeitungsleiste T0. Dann setzen Sie den Cursor der Reihe nach auf die Zellen B6, B7, B8, B9, B12 sowie B13 und tippen ins Namensfeld a, b, c, d, X0 und Y0. Statt eines absoluten Bezuges $B$6 können Sie von nun an einfach den Namen a verwenden. Dies macht unsere Modellformeln, die wir jetzt eingeben, erheblich lesbarer. Ausserdem ist damit sichergestellt, dass die Bezüge auf die Parameterwerte immer noch stimmen, wenn wir die Formeln von Zeile 21 nach unten kopieren.
Oft übersehen: Das Namensfeld
Die Formeln in der Zeile 20 unterscheiden sich von den nachfolgenden, weil sie sich auf die Anfangswerte beziehen statt auf die Werte der Vorperiode. In der Tabelle sehen Sie die Formeln für die ersten zwei Perioden, d.h. Zeilen, und die fünf Spalten des Modells.

A

B

C

D

E
|19||T||dx||dy||x||y|
|20||=T0||=a*X0-c*X0*Y0||=-b*Y0+d*X0*Y0||=X0+B20||=Y0+C20|
|21||=A20+1||=a*D20-c*D20*E20||=-b*E20+d*D20*E20||=WENN(D20+B21>0;D20+B21;0)||=WENN(E20+C21>0;E20+C21;0)|
Von der zweiten Periode an wiederholen sich die Formeln, so dass uns für 200 Perioden nur noch bleibt, die Zeile 21 in die Zeilen 22 bis 219 zu kopieren.
Richtig anschaulich wird unser Modell erst, wenn wir die Resultate grafisch darstellen. Mit Hilfe des Diagramm-Assistenten ist dies schnell getan. Markieren Sie mit CTRL und der Maus zuerst die zwei nicht zusammenhängenden Bereiche A18:A219 und D18:E219. Die Labels schliessen wir dabei ein, weil wir sie als Achsen- und Legendenbeschriftungen übernehmen wollen. Dann klicken wir auf die Schaltfläche des Diagramm-Assistenten und ziehen für das Diagramm ein Rechteck auf. Den ersten Schritt des Assistenten bestätigen wir mit Weiter, um dann im zweiten Schritt das Liniendiagramm auszuwählen. Im dritten Schritt nehmen wir das Format Nr. 2. Der Assistent erkennt im vierten Schritt zwar richtig, dass sich die Datenreihen in den Spalten befinden und dass zwei Zeilen Legendentexte vorhanden sind, da es sich in der Spalte A aber um Zahlen handelt, hält er diese für eine weitere Datenserie statt für die Bezeichnungen der x-Achse. Deshalb müssen wir im Feld "Verwende Spalten als Rubrikenbeschriftung" den Wert von 0 auf 1 ändern. Im letzten Schritt verpassen wir dem Diagramm noch einen Titel, beispielsweise Räuber-Beute-Simulation. Die Rubrikenachse x erhält die Beschriftung Perioden, die Grössenachse y dagegen die Beschriftung Anzahl Hasen.
Das Diagramm lässt zwar bereits zyklische Schwingungen erkennen, benötigt aber zwecks besserer Übersichtlichkeit dennoch einige optische Retuschen. Als erstes müssen Sie es deshalb doppelklicken, um in den Bearbeitungsmodus zu gelangen. Weil Hasen- und Fuchsbestände nicht dieselbe Grössenordnung haben, ist es sinnvoll, die Füchse auf eine sekundäre y-Achse zu legen. Doppelklicken Sie dazu die rosarote Datenlinie der Füchse, wählen Sie das Register Achsen und klicken Sie Sekundärachse statt Primärachse an. Nachdem Sie das Fenster mit OK geschlossen haben, doppelklicken Sie die neu entstandene zweite y-Achse am rechten Rand. Entfernen Sie zum einen die überflüssigen Dezimalstellen, indem Sie im Register Zahlen die Dezimalstellen auf 0 setzen. Stattdessen kreuzen wir das Feld Tausendertrennzeichen verwenden an. Zum anderen empfiehlt es sich, im Register Skalierung den Höchstwert auf 500 zu setzen, damit optisch trotz der zweiten Achse auf einen Blick klar wird, dass es weniger Füchse als Hasen gibt. Die Zahlen der primären y-Achse formatieren wir in derselben Art, d.h. ohne Dezimalstellen aber mit Tausendertrennzeichen.
Auch die Darstellung der x-Achse befriedigt noch nicht, sie präsentiert sich als dicker Strich. Abhilfe schafft hier nach dem obligaten Doppelklick auf die Achse das Register Skalierung. In die beiden Eingabefelder, die mit Anzahl beginnen, setzen wir je den Wert 25, so dass nur alle 25 Perioden ein beschrifteter Querstrich erscheint. Als letzte notwendige Änderung bleibt uns noch, für die sekundäre y-Achse die Beschriftung Anzahl Füchse einzufügen. Das Menü Einfügen - Titel - Sekundäre Grössenachse (Y) hilft uns dabei. Weitere Formatierungen eher kosmetischer Art, beispielsweise eine Farbänderung der Kurven oder eine Umpositionierung der Legende an den unteren Rand, überlasse ich Ihnen. Damit haben wir unser Modell fertiggestellt. Ändert man nun die Anfangsbestände in den Feldern D12 und D13, eventuell auch die Parameterwerte, dann lassen sich mit dem Modell verschiedene Szenarien durchrechnen.
[1] Rothen S. 1996: "Simulation von Technologiewettläufen in Excel", M+K Computermarkt 96/3, S.60/61
[2] Lotka A.J. 1956: "Elements of mathematical biology", Dover, New York
[3] Volterra V. 1931: "Leçon sur la theorie mathematique de la lutte pour la vie", Gauthier-Villars, Paris
[4] Bossel H. 1985: "Umweltdynamik - 30 Programme für kybernetische Umwelterfahrungen auf jedem BASIC-Rechner", te-wi, München
[5] Bossel H. 1994: "Modellbildung und Simulation", 2. Aufl.,Vieweg-Verlag, Braunschweig
Die vollständige Excel-Datei (Version 5.0/7.0) mit der beschriebenen Modellvariante sowie einer weiteren mit Weidebeschränkung können Sie hier herunterladen. Die Excel-Datei enthält keine Makros und ist als ZIP-Datei komprimiert (35 KB).
Und übrigens gibt's nun "Excel 2000 Direkt", das Excel-Buch der Autorin, als Antiquariatsartikel bei Data Becker für schlappe Euro 2,53. Bestellen Sie mit dem Stichwort "excel 2000 direkt" unter Data Becker.
Diese Webseite wurde am 12.01.02 um 10:02 von rothen ecotronics, Bern, erstellt oder überarbeitet. Falls Sie für Ihre eigenen Webseiten Unterstützung benötigen, finden Sie diese unter dem folgenden Link: rothen ecotronics
Wenn Sie uns ein EMail senden wollen, klicken Sie hier!