This is an old revision of the document!
Simulationen
Mit Simulation (oder hier genauer Computer-Simulation) ist die Nachbildung eines in der realen Welt stattfindenden Prozesses gemeint. Einige Beispiele:
- Wettersimulation: Auf Grund von Messwerten wird versucht, die Entwicklung des Wetters vorherzusagen. Dabei werden physikalische Modelle für die Wetterentwicklung verwendet. Meist werden viele Simulationen durchgeführt und dann im Wetterbericht das wahrscheinlichste Ergebnis präsentiert.
- Klimasimulation
- Simulation wirtschaftlicher Szenarien (wie entwickelt sich die Gesamtwirschaft, welchen Einfluss haben Veränderungen im Steuersystem, etc.)
- Flug- oder Zugsimulator, etwa zu Ausbildungszwecken (gefährliche Situationen können gefahrlos trainiert werden)
- Virtual reality (etwa bei Computerspielen, aber auch ernsthaften Anwendungen)
- Simulationen zur Entwicklung neuer Medikamente oder Impfstoffe, etwa gegen Corona (viele Stoffe können am Computer getestet werden, so dass man aussichtsreiche Kandidation für reale Tests bekommt)
- Simulationen von biochemischen Vorgängen (etwa Falten von Proteinen, vgl. https://www.youtube.com/watch?v=gg7WjuFs8F4, https://en.wikipedia.org/wiki/AlphaFold)
- Simulationen in Naturwissenschaften (etwa Simulationen von Atomen und Molekülen)
- etc. (evtl. auch künstliche Intelligenz, etwa neuronale Netzwerke, die in (sehr vereinfachter Weise) das menschliche Gehirn nachbilden und etwa sehr gut Schach oder Go spielen können oder “gut” chatten können)
Die klassischen Standbeine der Naturwissenschaften sind Experiment und Theorie. Als drittes Standbein kommt mit zunehmenden Rechenkapazitäten die Simulation hinzu.1) Bisweilen können Simulationen kostspielige oder gefährliche Experimente ersetzen. Auch lässt sich mit Simulationen der Erfolg von Experimenten oder die Gültigkeit einer Theorie abschätzen.
Kopf oder Zahl: Simulation von Münz- und Würfelexperimenten
Motivation
Schätze:
- Wie oft muss man einen (Spiel-)Würfel im Schnitt werfen, bis zweimal direkt hintereinander eine Sechs (also 66) erscheint?
- Muss man einen Würfel im Schnitt gleich oft, weniger oft oder öfter werfen, bis das erste Mal eine Sechs direkt gefolgt von einer Fünf (also 65) erscheint?
- Wie oft muss man eine Münze im Schnitt werfen, bis zweimal direkt hintereinander Kopf (also KK) erscheint?
Kopf oder Zahl - vom Problem zum Programm
Experimentelle Lösung und Beschreibung des Experiments
Zweierarbeit:
- Beantworte experimentell: Wie oft muss man eine Münze im Schnitt werfen, bis zweimal hintereinander Kopf erscheint? (ca. 10 Minuten, mindestens 20 Experimente)
- Wenn ihr fertig seid: Beschreibt handschriftlich möglichst genau auf einem Blatt Papier, was ihr gemacht habt! (Denn wir wollen dies später einem Computer beibringen.)
Von der Beschreibung des Experiments zum Pseudo-Code
Gemeinsam: Experiment in Worten beschreiben, immer genauer, bis am Ende Pseudo-Code dasteht.
Aufgabe: Pseudo-Code in ein Python-Programm übertragen
Wandle den zuvor erstellten Pseudo-Code in ein Python-Programm namens muenzwurf-simulation.py
um. Wähle dein Niveau:
Indem du dein Programm 1'000'000 Simulationen durchführen lässt, bekommst du eine Vermutung für die Antwort auf die folgende Frage.3)
Wie oft muss man eine Münze im Schnitt werfen, bis zweimal direkt hintereinander Kopf erscheint?
Was denkst du?
Wie oft muss man eine Münze im Schnitt werfen, bis direkt hintereinander Kopf-Zahl erscheint? Genauso lang wie für zweimal Kopf hintereinander?
Ändere dein Programm ein wenig, um diese Frage zu erforschen.
Bevor man ein kompliziertes Problem löst (und dafür etwa ein Computerprogramm schreibt), ist es stets eine gute Idee, das Problem auf einem Blatt Papier handschriftlich möglichst genau zu analysieren (und den beabsichtigten Programmablauf schrittweise immer genauer festzulegen (etwa: welche Variablen, Schleifen, Funktionen benötige ich?)).
Würfeln, bis zwei Sechser kommen
- Öffne ein neues Python-Programm namens
wuerfel-simulation.py
und kopiere allen Code aus dem Programmmuenzwurf-simulation.py
in dieses Programm. - Ändere das Programm so, dass es per Simulation die Frage beantwortet: Wie oft muss man einen (Spiel-)Würfel im Schnitt werfen, bis zweimal direkt hintereinander eine Sechs erscheint?
Bonusaufgabe:
- Wie oft muss man im Schnitt würfeln, bis dreimal direkt hintereinander eine Sechs erscheint?
Zusatzfragen
Münzwurf
Welche der Folgen KKK (= Kopf-Kopf-Kopf), KKZ, KZK, ZKK kommt im Schnitt am frühesten?
Würfeln
Es bieten sich jede Menge ähnliche Fragen an. Finde selbst eine oder suche dir eine aus der folgenden Liste aus!
Wie oft muss man einen Würfel im Schnitt werfen,
- bis insgesamt 10 Mal eine 6 gewürfelt wurde?
- bis insgesamt 20 Mal eine 6 gewürfelt wurde?
- bis eine 6 gewürfelt wird?
- bis zweimal direkt hintereinander dieselbe Zahl (also ein Pasch) erscheint?
- bis direkt hintereinander 1, 2 erscheint?
- bis direkt hintereinander 6, 6 oder direkt hintereinander 1, 2 erscheint?
- bis direkt hintereinander 6, 6 oder direkt hintereinander 1, 1 erscheint?
- bis zwei Päsche hintereinander erscheinen? (Entscheide selbst, ob dreimal hintereinander dieselbe Zahl (etwa 3, 3, 3) als zwei Päsche hintereinander zählen oder nicht.)
- bis 5 Mal hintereinander eine Sechs erscheint? (Empehlung, wenn bekannt: Verwende eine Liste!)
- bis 10 Mal (oder gar 1000 Mal) hintereinander eine Sechs erscheint? (Achtung: Nicht zu viele Simulationen durchführen.)
Welche Folge von drei Zahlen kommt im Schnitt am frühesten?
Wie viele Päsche (alias zweimal dieselbe Zahl direkt hintereinander) hat man im Schnitt geworfen, bevor man einen Sechserpasch wirft?
Wie lange dauert es im Schnitt, bis man eine “grosse Strasse” 123456 wirft? Wie viele “kleine Strassen” (also 12345 oder 23456) hat man im Schnitt vorher geworfen?
Wie lange dauert es im Schnitt, bis die Summe aller gewürfelten Zahlen 100 übersteigt?
Bei wieviel Prozent der Versuche kommt man beim wiederholten würfeln genau bei 100 an?
Warum "meist" ganze Zahlen als Ergebnis?
Bei vielen dieser Fragestellungen legen die Simulationen nahe, dass als Ergebnis eine ganze Zahl heraus kommt (also etwa 6 oder 42, aber nicht 43.5). Genauer vermute ich, dass dies bei allen Fragestellungen der Fall ist, wo man auf eine einzige Folge wartet.
Wenn das so ist (was man sich mathematisch recht leicht überlegen können sollte), gibt es dafür einen offensichtlichen Grund?
Eventuell: Exakte mathematische Lösung für die Münz- oder Würfelaufgabe
Per Zustandsdiagramm, Übergangswahrscheinlichkeiten, an Tafel.
Bemerkungen:
- Erst mit einer mathematisch korrekten Begründung kann man absolut sicher sein, die Antwort zu kennen (und hoffentlich stimmt sie mit der auf Grund der Simulationen erwarteten Antwort überein.)
- Gewisse Fragen (“Wie lange dauert es im Schnitt für 100 Sechser?”) lassen sich durch Simulationen nicht in realistischer Zeit beantworten - das geht nur durch Nachdenken!
Simulation von Roulette
Wenn man im Wesentlichen weiss, wie Roulette funktioniert, muss man von den Roulette-Regeln für die folgende Aufgabe nur das Folgende wissen (französisches Roulette ohne Prison-Regel):
- Die Zahlen von 0 bis 37 fallen gleichhäufig.
- Die Zahl Null ist grün, die Hälfte der restlichen Zahlen ist rot, die andere Hälfte schwarz.
- Wer seinen Einsatz (etwa 30 Jetons) auf Rot setzt, verliert ihn bei Null oder einer der 18 schwarzen Zahlen; bei einer der 18 roten Zahlen bekommt er seinen Einsatz zurück und zusätzlich dieselbe Summe von der Spielbank (also 30 Jetons zurück + 30 Jetons von der Bank).
Aufgabe: Verdopplungs-Strategie (= Doublieren)
Jemand vermutet (irrtümlich), dass er mit der folgenden Strategie langfristig beim Roulette gewinnen kann:
Er startet mit einem Anfangsvermögen von 100 Jetons. Er beginnt mit einem Einsatz von 1 Jeton. Solange er nicht alles Geld verloren hat oder sein Anfangsvermögen verdoppelt hat, macht er das folgende: Er setzt seinen Einsatz auf Rot. (Nun folgt der Wurf der Kugel.) Wenn die Kugel in einem roten Fach zu liegen kommt (er also gewinnt), startet er beim nächsten Mal wieder mit einem Einsatz von 1 Jeton; sonst (im Fall, dass die Kugel schwarz oder grün (= Null) liefert) verdoppelt er seinen Einsatz für das nächste Mal, falls er dafür genügend Geld übrig hat. Sonst setzt er beim nächsten Mal all sein verbliebenes Vermögen.
Die Idee dahinter: Wenn er beispielsweise 5 Mal verloren hat, also 1+2+4+8+16 = 31 Jetons verloren hat, so setzt er beim nächsten Mal 32 Jetons und macht so seinen Verlust weg und gewinnt sogar einen Jeton dazu.
Schreibe ein Programm, das 10'000 Spielbankbesuche simuliert, jeweils mit einem Startvermögen von 100 Jetons. Auszugeben sind am Ende:
- Durchschnittsgewinn pro Spielbankbesuch (dieser wird negativ sein - de facto verliert man also langfristig);
- Anteil der Spielbankbesuche in Prozent, die mit einer Vermögensverdopplung enden.
Weitere mögliche Fragestellungen:
- Wie wären die Gewinnchancen, wenn es die grüne Null nicht gäbe?
- Was passiert, wenn man dieselbe Verdopplungsstrategie verwendet, jedoch erst bei einer Verzehnfachung des Anfangsvermögens nach Hause geht?
- Wie viele Runden spielt man durchschnittlich im Gewinnfall?
- Wie viele Runden spielt man durchschnittlich im Verlustfall?
Ideen
(eventuell: Listen und dann Ergebnis-Darstellung durch Säulendiagramme)
- vermutlich gut für Listen + Säulendiagramm, auf Roulette angewendet: https://de.wikipedia.org/wiki/Zwei-Drittel-Gesetz
- https://de.wikipedia.org/wiki/Roulette-Gesetze#Die_Gesetze_des_Ausgleichs_(Equilibre)_und_der_Abweichungen_(Ecarts)
- Ziegenproblem4): Lies die Einleitung von https://de.wikipedia.org/wiki/Ziegenproblem; klassisch ist das Problem wohl nicht genau gestellt; verwende deswegen die Präzisierung https://de.wikipedia.org/wiki/Ziegenproblem#Das_Monty-Hall-Standard-Problem. Schreibe ein Simulationsprogramm: Ermittle, wie oft man mit der Wechselstrategie bzw. der Beharrstrategie gewinnt und berechne den Quotienten.
- Roulette mit naheliegender Verdopplungsstrategie (Achtung, Null kann vorkommen): Wie hoch ist der durchschnittlicher erwartete Verlust?
- Mathematische Simulation: $\pi$ per Monte-Carlo (eher nicht)
- Naturwissenschaftliche Simulationen (jeweils Programm-Gerüst vorgeben; braucht jeweils ein zweidimensionales Array; könnte man aber auch mitsamt “Bedienung” vorgeben):
- Korallenwachstum
- Versickerung: Wie porös muss ein Gestein (im Schnitt) sein, damit Wasser durchsickert?
- Game of Life oder Corona-Ausbreitung?
(in Schublade: Turtle-Grafik selbst schreiben, ausgehend von kantigrafik
.)