Ich frage mich schon seit geraumer Zeit, wie der Zufall in CD-Spielern berechnet wird bzw. in Rechnern allgemein (z.B. durch die RND-Funktion in BASIC).
Bei einer CD von 12 Titeln, wie wird er Zufall berechnet?
Mir ist dabei klar, das es dabei keinen absoluten Zufall gibt…
Gibt es einen „guten“ und einen „schlechten“ Zufallsmodus, also einen der öfter in der gleichen Reihenfolge spielt oder eben nicht?
Ich frage mich schon seit geraumer Zeit, wie der Zufall in
CD-Spielern berechnet wird bzw. in Rechnern allgemein (z.B.
durch die RND-Funktion in BASIC).
Dazu nimmt man eine Funktion (a*x+b)mod m (=Diskrete Simulation)
a, b und m werden durch bestimmte Kriterien vorgegeben, x läuft dann in einem bestimmten Intervall. Wenn man die Zahlen gut gewählt hat, werden irgendwann alle Zahlen von 0 bis m-1 ausgewählt.
Gibt es einen „guten“ und einen „schlechten“ Zufallsmodus,
also einen der öfter in der gleichen Reihenfolge spielt oder
eben nicht?
Hallo,
grundsätzlich wiederholt sich jeder Algorithmus nach soviel Durchläufen, wie die zugrunde liegende Zahl darstellen kann - rechnet man also mit einer 16-bit-Zahl, wiederholt sich alles nach 65536 Durchläufen. Ich glaube nicht, dass dir das auffallen würde.
Man kann aber auch einfach schlecht programmieren und einen Algorithmus konstruieren, der sich in viel kürzeren Abständen wiederholt (oder überhaupt immer das gleiche tut), nur längere gehen eben nicht.
Bin leider ein
Mathe-Dummie, könnt ihr mir bitte eine beispielhafte, einfache
Erklärung geben?
Anhand einer Beispielrechnung: (a*x+b)mod m, a=100, b=200, m=400
x=0: (100*0+200) mod 400 = 200
x=1: (100*1+200) mod 400 = 300
x=2: (100*2+200) mod 400 = 0 (denn modulo reduziert ein Ergebnis solange, bis man unter die gegebene Modulozahl kommt)
x=3: (100*3+200) mod 400 = 100
x=4: (100*4+200) mod 400 = 200
usw… Der Zyklus geht wieder von vorne los mit 200