-
-
Es handelt sich bei "normalen" CPUs immer um deterministische Systeme, die somit bei identischen Start- und Laufzeitbedingungen immer alles gleich machen (deterministisch <-> vorhersagbar).
Echte Zufallszahlen gibt es in diesem Zusammenhang nicht. Es handelt sich immer um durch einen festen Algorithmus erzeugte Zahlen. Dabei wird eine Folge verwendet, deren nächster Wert von der aktuellen Position abhängt. Wenn die Werte dieser Folge im Mittel gleichmäßig verteilt sind, dann hat man einen "guten" Pseudozufallszahlengenerator.
In der Praxis werden verschiedene Folgen verwendet, alle arbeiten nach dem selben Prinzip. Der Startwert "seed" gibt die Startposition innerhalb der Folge vor. Dieser wird zusätzlich durch "randomize" in manchen Systemen auf einen Startwert gesetzt, der von einem seit Systemstart mitlaufenden Timer abhängt. Wenn die Zufallszahlen nicht sofort ab Reset, sondern nach einer undefinierten Pause (Der Benutzer drückt irgendwann mal eine Taste) benötigt werden, erreicht man dadurch immerhin eine zufällige Initialisierung. Die dann erzeugten Werte sehen zumindest zufällig aus, da sie jeweils aus einem anderen Bereich der Folge stammen.
Wenn die Zufallszahlen direkt ab Reset ohne undefinierte Pausen benötigt werden, wird alles wieder determinitisch ablaufen und man erhält immer die selben Zahlen.
Wirkliche Zufallszahlen erhält man nur, indem ein echt zufälliges Element wie z. B. ein Rauschgenerator verwendet wird. So kann man einfach die Impulse eines Rauschgenerators (Z-Diode plus Verstärker) in einem festen Zeitfenster zählen. Das gibt einen nicht vorhersagbaren Wert. Den verwendet man entweder direkt als Zufallszahl oder nutzt ihn, um den Startwert für den Pseudozufallszahlengenerator festzulegen.
Für den Hobbybereich ist hier die Art des Rauschen völlig egal. Zum Thema Rauschgenerator gibt es hier was zu lesen:
http://www.umnicom.de/Elektronik/Sch...generator.html
http://www.qsl.net/dk3wi/HF_Noise_Generator.html
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen