Zufallsfunktion in CD-Spielern und sonstigem

Hi!

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?

Vielen Dank

MfG
Sebastian

Auch hallo.

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.

HTH
mfg M.L.

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.

Gruss Reinhard

Hi!

Vielen Dank für die schnelle Antwort. Bin leider ein Mathe-Dummie, könnt ihr mir bitte eine beispielhafte, einfache Erklärung geben?

MfG
Sebastian

Hallo nochmal.

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

HTH
mfg M.L.