Spiele, Simulation und dynamische Systeme

Simulation mit Tabellenkalkulation – eine kurze Einführung

Fibonaccis Kaninchenaufgabe

Die Zahlenfolge 1, 1, 2, 3, 5, 8, 13, ... heißt Fibonacci-Folge. Sie löst die folgende "Kaninchenaufgabe" des Leonardo Pisano (genannt Fibonacci) aus dem Jahre 1202 (Knuth, 1973, S. 78): Wieviele Kaninchenpaare kann ein Kaninchenpaar im Laufe eines Jahres erzeugen? Angenommen wird dabei, dass jedes fruchtbare Kaninchenpaar nach jedem Monat ein Paar Nachkommen hat. Die Kaninchenpaare werden einen Monat nach ihrer Geburt fruchtbar und sterben nicht. Wir haben es hier mit einem frühen Beispiel für Populationsdynamik zu tun.
Die „Kaninchenaufgabe“ läßt sich übersetzen (genaue Erklärung s. lösungen.docx) in die Rekursionsformel: an+1 = an + an-1 für n>1, die auf die Fibonacci-Folge führt.

Wir wollen die Erzeugung dieser Folge als ein einfaches Simulationsexperiment ansehen und daran die Anwendung des Werkzeugs Tabellenkalkulation studieren. Aber vorab wollen wir eine Prognose - ganz im Sinne der negativen Methode - wagen. Wir fragen uns, wie groß ein ebener Kaninchenstall wohl sein muss, wenn er alle Kaninchen aufnehmen soll, die am Ende von drei Jahren existieren. Reicht ein Fußballfeld aus? Bitte notieren Sie - ohne viel herumzurechnen - Ihre Einschätzung.


Und nun zur Simulation: Wir legen ein Arbeitsblatt an - beispielsweise mit dem Programm Excel. Ein Arbeitsblatt ist eine zweidimensionale Matrix aus Zellen, die eindeutig mit einer Buchstaben-Zahlenkombination adressierbar sind: C5 ist die Adresse der Zelle in der Spalte C (das ist die dritte Spalte) und in der 5. Zeile.

Einträge in diese Zellen sind Texte, Werte (Zahlen) oder Formeln. Texte und Zahlen werden im Arbeitsblatt direkt dargestellt. Formeln hingegen werden im Hintergrund gehalten; die Formel einer Zelle wird in einer gesonderten Zeile nur dann sichtbar, wenn die Zelle mit dem Zeiger (auch: Zellzeiger, Cursor) ausgewählt ist. Man kann auch die Ansicht Formeln wählen, dann erscheinen in den Zellen anstelle der Zahlenwerte die Formeln (Dazu wählt man im Excel-Menü Extras/Optionen/Ansicht und setzt dort die Auswahl Formeln).

Formeln werden von Texten durch das erste Zeichen unterschieden. In Excel beginnen die Formeln mit dem Gleichheitszeichen.

 

 

A

B

C

D

E

F

G

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

Aufbau des Arbeitsblattes (markiert ist die Zelle C5)

 

Zur Simulation der Kaninchenaufgabe schreiben wir in die Zellen A1 und A2 jeweils die Zahl 1, sie steht für das erste Kaninchenpaar, das nach einem Monat fruchtbar wird und deshalb im zweiten Monat noch keine Nachkommen haben kann. In die Zelle A3 kommt die Formel =A1+A2. Dieser Formel besagt, dass die Kaninchenpaare, die bereits vor zwei Monaten da waren, jetzt jeweils ein Paar Nachkommen hat, dieses Paar Nachkommen wird gezählt. Dazu kommen alle die Kaninchen, die bereits im Vormonat da waren.

Die Zelleneinträge können mit Kopier- und Verschiebeoperationen in andere Zellen transportiert werden. Wir kopieren den Inhalt der Zelle A3 in die darunterliegenden Zellen A4, A5, ..., A100. In A4 steht nun nicht dieselbe Formel wie in A3, sondern dort finden wir die Formel =A2+A3. Der Rechner hat uns also die Arbeit abgenommen, die Formel an die neue Umgebung anzupassen. Analog in den Zellen weiter untern: In den Formeln sind die Bezüge auf die Zeilenadressen mit verschoben worden. In den Zellen A1 bis A100 werden nun die ersten hundert Zahlen der Fibonacci-Folge sichtbar.

Nun sehen wir uns die Programmierung des Arbeitsblattes noch etwas genauer an: Wenn sich die Adressbezüge entsprechend einer Verschiebung ändern, spricht man von relativer Adressierung. Ist eine Änderung der Adressbezüge beim Kopieren oder Verschieben nicht erwünscht, muss der entsprechende Adressbestandteil (Spalten- oder Zeilenadresse) durch Vorstellen eines $-Zeichens absolut gemacht werden. Wird im obigen Arbeitsblatt zur Erzeugung von Fibonaccizahlen in die Zelle A3 die Formel =A$1+A$2 geschrieben und der Inhalt dann in die darunterliegenden Zellen kopiert, erscheint in allen Zellen ab A3 stets derselbe Wert, nämlich 2. Das ist die Summe der Inhalte der ersten beiden Zellen.

 

A

B

C

1

1

 

 

2

1

 

 

3

=A1+A2

 

 

4

=A2+A3

 

 

5

=A3+A4

 

 

6

=A4+A5

 

 

Arbeitsblatt zur Erzeugung der Fibonacci-Zahlen: Die Formeln im Hintergrund

 

A

B

C

1

1

 

 

2

1

 

 

3

2

 

 

4

3

 

 

5

5

 

 

6

8

 

 

Arbeitsblatt zur Erzeugung der Fibonacci-Zahlen: Die sichtbaren Werte

Man kann weiterhin "wichtigen" Zellen im Namenfeld (oben links über dem Arbeitsblatt) einen "sprechenden" Namen geben: Zelle anklicken – Namensfeld anklicken und Namen eingeben – Return.

Über die Berechnungsreihenfolge der Formeln braucht sich der Anwender heutiger Tabellenkalkulationsprogramme keine Gedanken mehr zu machen. Wird irgendeine Zelle mit einem neuen Wert oder einer neuen Formel versehen, erfolgt im allgemeinen eine Neuberechnung des Arbeitsblattes. Dabei nimmt sich das Tabellenkalkulationsprogramm die Formeln in einer Reihenfolge vor derart, dass bei jeder Auswertung grundsätzlich nur auf bereits aktualisierte Werte zurückgegriffen wird (topologische Sortierung der Zellen). Ausnahme von dieser Regel bilden die sogenannten zirkulären Verweise, die wir aber vermeiden wollen.

Weitere Excel-Tipps:

o   Mit dem Funktionsassistenten () erhält man einen Überblick und Hilfe zu den verfügbaren Excel-Funktionen

o   Mit F9 erzwingt man eine Neuberechnung (auch Neu-Würfeln aller Zufallszahlen)

o   Mit dem Diagrammassistenten () kann man recht schnell eine Grafik erstellen

o   Einen Bereich mit Formeln ausfüllen: auf eine Formelzelle klicken, mit Cursor am Quadrat unten rechts aufziehen.

o   Oder Doppelclick auf das kleine Quadrat, wenn in Spalte links daneben schon ein Bereich ausgefüllt ist.


Übung 1 „Fibonacci: Bestimmen Sie mit Excel das Fibonacci-Folgenglied a36.

Übung 2 „Cosinus“: In einem Tabellenblatt sollen – bei parametrierbarer Schrittweise x im Bogenmaß –  100 Werte der Funktion  berechnet werden, startend bei einem parametrierbaren Startwert x0. Dies ist zu vergleichen mit der Taylor-Näherung 1 - (K1x)2/2 + (K1x)4/24 und der relative Fehler zu berechnen. K1 soll als "sprechender“ Name in den Formeln erscheinen. Die Funktionen und der Fehler sind graphisch zu visualisieren.

Übung 3 „Zinseszins“: Ein Sparbuch wird jährlich mit 1.9% verzinst und hat einen Anfangsbestand von 1000€. Welchen Bestand hat es nach 24 Jahren? Der Zins soll ebenfalls ein „sprechender“ Name sein. Bei welchem Zins hat sich das Kapital nach 24 Jahren verdoppelt?


Beurteilung des Simulationswerkzeugs Tabellenkalkulation

·         Tabellenkalkulation = "Taschenmesser unter den Simulationswerkzeugen".

o   breit verfügbar

o   leicht zu bedienen

o   schnelle Ergebnisse, mit Grafik

·          Programmier“-Technik:

1.    Die Programmierung der Modelle in der Tabellenkalkulation ist einfach

2.    Die Lesbarkeit der Arbeitsblätter lässt zu wünschen übrig

·         Formeln nur indirekt lesbar

·         Ablaufreihenfolge unklar (Wirkt A2 auf A5 oder umgekehrt?)

·         „Formeltapeten“

·         Modularität: Fehlanzeige

·         Dokumentation: im Blatt möglich, aber nicht zwingend


Schließlich wollen wir die anfangs gestellte Frage beantworten: Nach drei Jahren sind rund 15 Mio. Hasen im Stall (Zelle A36). Selbst wenn jeder Hase nur Anspruch auf eine Fläche von 50 cm mal 25 cm hat, benötigt man wenigstens 262 Fußballfelder (der Größe 68m x 105m), um alle unterzubringen. Haben Sie das erwartet? Wenn nein: Was lässt sich daraus lernen?

Zurück zur Gliederung          

 

© Timm Grams, 6.7.1999
© W. Konen, 2004 – 2013                 editieren