Sie stehen auf einer nach beiden Seiten
sehr langen Strasse und wissen nicht so recht, wohin. Das sind sicherlich die Nachwirkungen der
letzten durchgemachten Nacht. . .Sie werfen für jeden Schritt, den Sie tuen, ein Münze. Zeigt die
Münze ‚Zahl‘, so gehen Sie einen Schritt nach links. Zeigt die Münze ‚Kopf‘, so gehen Sie einen
Schritt nach rechts.
Wie weit kommen Sie im Mittel nach N Schritten? (Gemeint ist der erzielte Abstand von der Startposition.)
Schreiben Sie dazu eine Computersimulation und spielen Sie für verschiedene Schrittzahlen
N jeweils viele Random-Walks durch.
Überlegen Sie sich eine grafische Darstellung.
Code: Alles auswählen
import random
import pylab
def random_steps(n):
"""simuliert n Schritte. Zufall entscheidet bei jedem Schritt ob er
zum Startpunkt hin oder vom Startpunkt weg gemacht wird.
Gibt den Abstand vom Startpunkt zurueck."""
steps = 0
location = 0
while steps < n:
location += random.choice([-1,+1])
steps += 1
return location
def avg_distance(steps_to_take, repeats):
""""Ruft random_steps repeats-mal auf, und laesst es jeweils
steps_to_take-Schritte simulieren.
Funktion gibt dann den Mittelwert der Antworten zurueck"""
location_sum = 0
for i in xrange(repeats):
location_sum += random_steps(steps_to_take)
avg_location = location_sum / (repeats * 1.)
return avg_location
Aber bestimmt haben wir wieder einige Schönheitsfehler drin.
Stimmts???