MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.

________________________________________________________________________________

 

Inhalt....: Eine Zufallsreise mit MuPAD - Grafische Interpretation von Zufall

Kategorie.: Arbeitsblatt

Mathematik: Stochastik, Statistik

MuPAD.....: 3.0.0

Datum.....: 2002-01-17

Autoren...: Julia Faflek <faflek@upb.de>

Funktionen: plot, plot::Turtle, random, mod, map  

________________________________________________________________________________

 

Eine Zufallsreise mit MuPAD

 

Der hier beschriebene visuelle Test basiert auf sogenannten Turtle-Grafiken. Die Idee, die

sich dahinter verbirgt, ist folgende: Eine Schildkröte befindet sich auf dem Bildschirm und

erhält Anweisungen in welche Richtung sie sich bewegen soll.  Sie kann nach oben, nach

unten, nach rechts und nach links laufen. Dabei hinterlässt sie Spuren, d.h. auf dem Bild-

schirm sind Linien zu sehen, die uns anzeigen, wohin die Schildkröte gelaufen ist.

 

Wir definieren zunächst eine Prozedur randomWalk, die eine gegebene

Liste von Zufallszahlen zwischen 0 und 1 als Laufvorschrift für die Schild-

kröte interpretiert und diese visualisiert:

 

randomWalk:= proc( ZahlenListe:DOM_LIST )

local T;

begin

  T:= plot::Turtle():

  T::setLineColor(RGB::Black):

  for i from 1 to nops(ZahlenListe) do

    Richtung:= floor(4 * ZahlenListe[i]) +1;

    case (Richtung)

      of 1 do /* right(0) */ T::forward(1);

              break;

      of 2 do T::right(PI/2): T::forward(1);

              break;

      of 3 do T::right(PI): T::forward(1);

              break;

      of 4 do T::right(3*PI/2): T::forward(1);

              break;

      otherwise

              error("Ungültiger Wert in Zahlenliste");

    end_case:

  end_for:

  plot(T)

end_proc:

 

Wir prüfen nun, ob der Zufallsgenerator  random von MuPAD eine "gute",

d.h. scheinbar zufällige Verteilung der generierten Werte aufweist. Dazu

führen wir den "random walk" für zwei Zufallsfolgen durch:

 

Zufall:= random(1..99):

randomWalk( [ Zufall()/100 $ i=1..1000 ] ):

randomWalk( [ Zufall()/100 $ i=1..1000 ] ):

MuPAD graphics

MuPAD graphics

Die beiden Grafiken scheinen rein zufällig zu sein, da man keine Strukturen

oder Bewegungsmuster erkennen kann.

 

Zur Unterstützung dieser Annahme wollen wir einen „schlechten" linearen

Kongruenzgenerator LKG definieren:

 

LKG:= proc(x0, a, b, n, m)

local x, i;

begin

   x:= [0 $ m];

   x[1]:= x0;

   for i from 2 to m do

      x[i]:= a * x[i-1] + b mod n;

   end_for;

   return(x);

end_proc:

 

und diesen auf die gleiche Weise überprüfen:

 

Zufall:= (x0,n) -> map( LKG(x0, 2, 3, 97, n), `/`, 97):

randomWalk( Zufall(1,1000) ):

randomWalk( Zufall(4,1000) ):

MuPAD graphics

MuPAD graphics

Beide Grafiken sind sehr einfach "gestrickt" wobei sich jeweils sehr deutlich

ein sich wiederholendes Muster erkennen lässt. An der geringen Komplexität

des zweiten Grafen lässt sich direkt ablesen, dass der Zufallsgenerator eine

sehr kurze Periodenlänge hat. D.h. die von ihm erzeugten Zahlen wiederholen

sich schon nach wenigen Schritten. Um diese These zu untermauern, lassen

wir uns die ersten 70 Zufallszahlen anzeigen:

 

Z:=Zufall(4,70)

math

Wir lesen ab, dass das der Zufallsgenerator eine Periodenlänge von 48 hat,

denn es gilt: Z[1] = Z[49]:

 

bool( Z[1] = Z[49] )

math

 

________________________________________________________________________________

 

Übungen:

1. Schreiben Sie eigene Zufallszahlengeneratoren und untersuchen Sie diese mittels randomWalk.

 

2. Schreiben Sie eine Prozedur, die anhand einer Liste von Zufallszahlen versucht die Länge der

    Periode des Zufallszahlengenerators zu ermittlen.

________________________________________________________________________________

 

Anmerkungen:

1.  Weitere Anregungen finden Sie in der Buchreihe Mathematik 1 x anders. In dieser Reihe

     wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gelöst. Die

     Bücher können unter www.schule.mupad.de/literatur kostenfrei kopiert werden.

_______________________________________________________________________________

 

 

MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.