English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Alle Kategorien

Für Laien erklärt! - in Wikipedia find ich es ziemlich schwierig zu kapieren. Wie kann ein Computer überhaupt einen Zufall erzeugen, ich dachte, da ist alles streng vorgegeben?

2007-03-26 02:26:19 · 8 antworten · gefragt von synapse79 3 in Computer & Internet Programmierung & Design

8 antworten

Computer können Zufallsfolgen nur berechnen. Man füttert sie mit einem bestimmten Startwert (Seed) und lässt sich dann eine bestimmte Anzahl von Zufallszahlen ausgeben. Als Seed kann z. B. die Systemzeit, Position des Mauszeigers, Mausbewegungen, eine Kopie jedes Tastendrucks, CPU-Auslastung etc. verwendet werden. Mit einem Aufruf der C-Funktion randomize() wird der Kongruenzgenerator mit der Systemzeit initialisiert. Natürlich gibt es weitaus bessere Generatoren. Sie sollten sich jedoch darüber im Klaren sein, dass Pseudozufallsgeneratoren, gleich, wie gute "Seeds" sie verwenden, zu knacken sind – jedenfalls theoretisch. Das liegt daran, dass Computer absolut deterministisch sind, d. h., sie sind voraussehbar. Wenn ich am einen Ende etwas hineinschiebe, kann ich berechnen, was am andern Ende dabei herauskommt. Wenn ich zweimal dasselbe hineinschiebe, kommt auch zweimal dasselbe raus. Ist etwas voraussehbar, kann es nicht zufällig sein.

Nun ist die Frage: Gibt es "echten" Zufall überhaupt? Die Antwort ist: Ja. Das wissen wir aus der Quantenmechanik. Ferner muss bei einem "echten" Zufallsgenerator Folgendes gewährleistet sein:

Er muss sämtliche uns zugängliche Tests bestehen (bestimmte statistische Eigenschaften)
Die von ihm erzeugte Zufallsfolge darf nicht voraussagbar sein
Er ist nicht zuverlässig reproduzierbar, d. h. wenn man den Generator zweimal mit exakt derselben Eingabe laufen lässt, erhält man zwei unterschiedliche Zufallsfolgen
Von einem Computer-Generator werden mindestens die ersten beiden Eigenschaften verlangt; die dritte kann ja aufgrund der deterministischen Eigenschaften des Computers nicht erfüllt werden. Da die vom Computer erzeugten Zahlen nicht wirklich "zufällig" ist ("pseudozufällig"), nennt man solche Generatoren auch Pseudo-Zufallsgeneratoren oder Pseudo Random Number Generators (PRNG).

Wohlgemerkt, es gibt durchaus recht gute Computer-Verfahren zur Erzeugung pseudozufälliger Sequenzen, z. B. die Messung der Zeit zwischen zwei aufeinanderfolgenden Tastaturanschlägen, wie es beispielsweise PGP macht. Allerdings könnten bestimmte Filter oder andere Mechanismen das Ergebnis, welches beim Programm ankommt, verfälschen.

Nun, es gibt ja nicht nur Computer-Algorithmen zum Erzeugen von Zufallszahlen. Man könnte z. B. einen 128-Bit-Schlüssel erzeugen, indem man 128-mal eine Münze wirft. "Kopf" entspricht dabei der binären 0 und "Zahl" der binären 1. Oder ich würfle. Jede gerade Zahl entspricht einer 0, jede ungerade einer 1. Diese Verfahren sind sicher, weil sie unglaublich schwer voraussagbar sind. Warum? Das erzeugte Zufallsbit hängt von so vielen Faktoren ab, dass es unmöglich ist, es vorauszusagen. Zudem "initialisiere" ich das Verfahren ja mit jedem Wurf neu. Ich berechne also nichts, sondern verlasse mich auf die Chaos-Theorie. Die dritte Eigenschaft ist zwar dadurch nicht erfüllt, jedoch wird niemand den Wurf reproduzieren können, sofern er nicht in exakt derselben Weise wirft bzw. würfelt wie ich es getan habe (bedenken Sie die enorme Anzahl von Faktoren, von denen das Ergebnis eines Wurfes abhängt!). Diese Verfahren sind also sicher, sofern man einigermaßen "vernünftig" wirft.

2007-03-26 02:36:11 · answer #1 · answered by RoteHexe 7 · 3 2

eine RND Formel ein zähler zälhlt und ein Impulsgeber stopt sporadisch dann wird das Ergebnis hochgerechnet auf die geforderte anzahl der stellen

das macht nicht der pc sondern Bauteile die variabel handeln können

die andere Möglichkeit man lässt ihn bis 10 zählen und jede zahl einmal ausspucken dabei sagt man ihn er muss alle Zahlen anteilig berücksichtigen, das kann man mit einer formel gestalten, so passiert das in Spielautomaten

2007-03-26 09:36:07 · answer #2 · answered by Alex_bekommt_immer 4 · 2 1

Der Zufallsgenerator läuft meistens über die Systemzeit (in millisekunden), die wird dann irgendwie verarbeitet (sinus, cosinus...) und am ende spuckt er die Zahl aus.

2007-03-26 09:34:49 · answer #3 · answered by nightgirl1200 4 · 2 2

Wie funktioniert ein Zufallsgenerator?
Na zufällig funktioniert er!

2007-03-27 02:46:26 · answer #4 · answered by Corry 6 · 0 2

Wahrscheinlich genau so wie Künstliche Intelligenz.Man gibt den Computer mehrere variablen in deren Bereich sich ein Programm Frei bewegen kann.Kommt halt drauf an worauf genau sich deine Frage bezieht.

2007-03-26 09:37:31 · answer #5 · answered by RicciHouse 6 · 0 2

http://de.wikipedia.org/wiki/Zufallsgenerator

2007-03-26 09:34:56 · answer #6 · answered by Anonymous · 1 4

etwas oder jemand, wird nicht willkürlich, also gezielt gewählt,...sondern es geschieht unwillkürlich,....also nicht gezielt......wen oder was es trifft,...trifft es eben.

2007-03-26 09:31:56 · answer #7 · answered by boeseloreley 6 · 0 3

durch Zufall halt.

2007-03-26 09:30:40 · answer #8 · answered by Anonymous · 1 4

fedest.com, questions and answers