Mit Simulation (oder hier genauer Computer-Simulation) ist die Nachbildung eines in der realen Welt stattfindenden Prozesses gemeint. Einige Beispiele:
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.
Schätze:
Zweierarbeit:
Gemeinsam: Experiment in Worten beschreiben, immer genauer, bis am Ende Pseudo-Code dasteht.
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?)).
wuerfel-simulation.py
und kopiere allen Code aus dem Programm muenzwurf-simulation.py
in dieses Programm.Bonusaufgabe:
Welche der Folgen KKK (= Kopf-Kopf-Kopf), KKZ, KZK, ZKK kommt im Schnitt am frühesten?
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,
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?
Würdest du darauf wetten, dass man in vier Würfen mit einem Würfel mindestens eine Sechs würfelt?
Würdest du darauf wetten, dass man in 38 Würfen mit einem Würfel mindestens zwei Sechser direkt hintereinander würfelt? (Man könnte 38 durch irgendeinen andere Zahl ersetzen.)
Wenn man mit jeweils mit zwei Würfeln gleichzeitig würfelt, wie lange muss man im Schnitt auf den Sechserpasch warten?
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?
Per Zustandsdiagramm, Übergangswahrscheinlichkeiten, an Tafel. (Die wesentliche Idee: Für jeden Zustand $A$ eine Variable $a$ einführen, die angibt, wie lange man im Schnitt noch braucht (die Variablen der Zielzustände haben den Wert Null). Dann gilt etwa $a=\frac 16(1+b)+\frac 56 (1+c)=1+\frac 16b+\frac 56c$, wenn man vom Zustand $A$ mit Wahrscheinlichkeit $\frac 16$ in den Zustand $B$ gelangt und mit Wahrscheinlichkeit $\frac 56$ in den Zustand $C$. Beachte: Die beiden Einser kommen (bzw. der Einser kommt) daher, dass man genau einmal würfeln muss, um in den nächsten Zustand zu kommen. Es ergibt sich ein Gleichungssytem, das man löse.)
Bemerkungen:
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):
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:
Weitere mögliche Fragestellungen:
(eventuell: Listen und dann Ergebnis-Darstellung durch Säulendiagramme)
(in Schublade: Turtle-Grafik selbst schreiben, ausgehend von kantigrafik
.)