R


Linearer Kongruenzgenerator


Rekursive Formel zur Erzeugung von Zufallszahlenfolgen


Basiswissen


So gut wie echte Folgen von ganz zufällig erscheinenden Zahlen zu erzeugen ist nicht einfach. Einer der vergleichsweise einfachen Möglichkeiten sind sogenannte lineare Kongruenzgeneratoren. In dem Algorithmus kommen vier Parameter vor. Ein Algorithmus ist ein „Rechenrezept“, Parameter sind Variablen mit den gerechnet werden soll. Dies sind die vier Parameter

Modul m
Inkrement b
Faktor a
Startwert s

Man kann sich für diese vier Parameter irgendwelche natürlichen Zahlen aussuchen. Für andere Parameterwerte entstehen dann auch andere Zufallszahlenfolgen. Wir nehmen folgende:

m = 13
b = 0
a = 6
s = 1

Und so wird gerechnet:
Rest von (a*s+b):m

Für die obigen Zahlen heißt das:
Rest von (6*1+0):13 = 6

Das Ergebnis 6 wird jetzt als neues s eingesetzt:
Rest von (6*6+0):13 = 10

Jetzt ist 10 der neue Startwert:
Rest von (6*10+0):13 = 8

Und jetzt geht es immer so weiter:
Rest von (6*8+0):13 = 9
Rest von (6*9+0):13 = 2
Rest von (6*2+0):13 = 12
Rest von (6*12+0):13 = 7
Rest von (6*7+0):13 = 3
Rest von (6*3+0):13 = 5
Rest von (6*5+0):13 = 4
Rest von (6*4+0):13 = 11
Rest von (6*11+0):13 = 1

Man kann eigene Zufallsfolgen erzeugen, indem man m, b, a und den ersten Wert für s geschickt wählt. Wer sich für das Thema interessiert, wird dazu viel finden.