PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zufall


Gast
2006-05-20, 14:31:19
Wie erschafft ein Computer eigentlich Zufallszahlen ?

Ich mein eigentlich kennt er ja nur zwei Zustände , wie soll man daraus Zufallswerte erzeugen ??

Also jetzt ned irgendwie wie man in versch. Sprachen Zufallszahlen erzeugt sondern wie der Computer das macht..

Coda
2006-05-20, 14:34:33
Ein Programm kann nur Pseudozufallszahlen erzeugen. Es gibt aber entsprechende Hardware die echte Zufallszahlen erzeugt, hat aber so gut wie kein Rechner.

Neomi
2006-05-20, 14:56:20
Eine Implementierungsmöglichkeit:
Man hält einen 32 Bit Integer vor und initialisiert ihn bei Programmstart mit einem nicht konstanten Wert, z.B. der Uhrzeit des Rechners. Bei jeder Zufallszahlenabfrage multipliziert man ihn mit einer großen Primzahl (die liefern in der Regel die am "zufälligsten" aussehenden Ergebnisse) und addiert noch eine Konstante drauf, damit ein Ergebnis von 0 (die oberen Bits werden abgeschnitten, da sie nicht mehr in das Ergebnis passen) keine Sackgasse ist. Wenn man dann die unteren 16 Bit als Ergebnis zurückliefert, hat man schonmal Pseudozufallszahlen zwischen 0 und 65535. Natürlich ist das nur ein sehr simples Beispiel, es gibt es etliche Möglichkeiten dafür.

Je besser der Algorithmus und die verwendeten Zahlen sind, desto "zufälliger" ist das Ergebnis. Ein gutes Ergebnis ist es, wenn bei extrem vielen Aufrufen alle Zahlen im Intervall der möglichen Zahlen in etwa gleich oft vorkommen und kein Muster erkennbar ist.

Monger
2006-05-20, 15:34:58
Oft genug bildet man einen Hashwert über den aktuellen Systemzustand, sprich: Abbild vom RAM Speicher, Uhrzeit...

Das ist (wie schon gesagt) NICHT WIRKLICH zufällig, aber es reicht normalerweise, damit ein Mensch darin kein Muster mehr erkennen kann. Ich vermute, man erhält bei solchen Zufallsfunktionen keine statistische Gleichverteilung...

Hmm... müsste man eigentlich mal ausprobieren! :D

Kabelsalat
2006-05-20, 15:46:40
Es gibt Algorithmen, die ausgängig von einer Ausgangszahl eine Reihe von Zahlen ausspucken, in denen keinerlei Regelmäßigkeit festzustellen ist. Soweit ich mich noch entsinnen kann, ist diese Reihe aber nicht endlos, d.h. nach einer gewissen Anzahl von "Zufallszahlen" wiederholt sich das ganze bzw. es wird eine Regelmäßigkeit erkennbar. Außerdem muss dieser Algorithmus mit zufälligen Werten initialisiert werden (gleicher Ausgangswert -> gleiche Reihe)... diesen Ausgangswert kann man z.B. wie von Monger beschrieben bestimmen.

Coda
2006-05-20, 16:02:54
Kabelsalat[/POST]']Algorhytmen
Algorithmen (kommt von Algorismus). Hat nix mit Rhythmus zu tun.

Kabelsalat
2006-05-20, 16:40:54
Sorry, hast recht...

Stone2001
2006-05-20, 17:05:25
Coda[/POST]'](kommt von Algorismus)
Wohl eher von Algorithmus.

BTW: Cray liefert in seinen XD1 einen Mersenne Twister Zufallszahlengenerator mit, der 2^(19937 -1) Zufallszahlen erzeugen kann, bevor er sich die Zahlen wiederholen.

Coda
2006-05-20, 17:17:05
Stone2001[/POST]']Wohl eher von Algorithmus.
Nein Algorismus. Das ist der Wortstamm. Wurde wohl irgendwann falsch eingedeutscht nachdem die Briten Algorithm draus gemacht hatten.

Gast
2006-05-20, 18:42:58
Monger[/POST]']Oft genug bildet man einen Hashwert über den aktuellen Systemzustand, sprich: Abbild vom RAM Speicher, Uhrzeit...ob wohl jemand, der noch nie von Pseudozufallszahlen gehört hat, weiß was ein Hashwert ist?

Monger
2006-05-20, 22:42:07
Gast[/POST]']ob wohl jemand, der noch nie von Pseudozufallszahlen gehört hat, weiß was ein Hashwert ist?

Sowas findet man relativ leicht in Wikipedia ;)
http://de.wikipedia.org/wiki/Hash

Gast
2006-05-21, 14:12:51
Coda[/POST]']Es gibt aber entsprechende Hardware die echte Zufallszahlen erzeugt, hat aber so gut wie kein Rechner.
Alle VIA Prozessoren seit dem Nehemiah.

The VIA PadLock RNG uses random electrical noise on the processor chip to generate highly random values at an extremely fast rate.

Quellen: VIA PadLock Security Engine (http://www.via.com.tw/en/initiatives/padlock/what_and_how.jsp)
VIA PadLock Security Engine Whitepaper(pdf) (http://www.via.com.tw/en/downloads/whitepapers/initiatives/padlock/VIAPadLockSecurityEngine.pdf)

darph
2006-05-21, 14:53:38
A propos Wikipedia: Coda[/POST]']Nein Algorismus. Das ist der Wortstamm. Wurde wohl irgendwann falsch eingedeutscht nachdem die Briten Algorithm draus gemacht hatten.Ehm.... es stammt aus dem Lateinischen. Dixit Algorismi. "So sprach ..." Das ist der Name eines persischen Gelehrten, die Römer haben's halt nur nicht so ganz korrekt geschrieben (halt so, wie sie es gehört haben und entsprechend der damals üblichen Aussprache des Lateinischen so nah wie möglich angelehnt).

Heute schreibt man den Namen "Abu Abdallah Muhammad ibn Musa al-Chwarizmi" أبو عبد الله محمد بن موسى الخوارزمي

Laut Wikipedia-Artikel (http://de.wikipedia.org/wiki/Algorithmus) stammt das th auch nicht aus dem Englischen sondern einer Gräzisierung des Begriffes.

*klugscheiß* X-D

Coda
2006-05-21, 15:05:32
Gast[/POST]']Alle VIA Prozessoren seit dem Nehemiah.
Das ist "fast kein Rechner". Marktanteil <1%.

Gast
2006-05-21, 15:29:51
Coda[/POST]']Das ist "fast kein Rechner". Marktanteil <1%.Immerhin kann das Kind auch beim Namen genannt werden.

Mike1
2006-05-21, 15:54:22
hab ich mich auch schon gefragt, denn ein PC kann ja nicht von 1 bis 10 zählen und dann stopp schreien ;)
an die urhzeit oder sonstige eher "zufällige" sachen hab ich natürlich nicht gedacht

darph
2006-05-21, 15:58:15
Es gibt wohl irgendwo ein paar Server, die Zufallszahlen ausspucken, die irgendwie anhand der Zerfalls von radioaktivem Material errechnet werden. Die sind dann wirklich zufällig...

Coda
2006-05-21, 16:07:53
Quatsch Radioaktives Material X-D
Das wird über Quanteneffekte gemacht. Die Transistoren sind inzw. so klein dass das durch paar trickreiche Schaltungen zufällige Bits ergibt.

GloomY
2006-05-21, 17:53:48
Der Linux Kernel benutzt die Timestamps der Interrupts, um die "Qualität" der erzeugten Zufallszahlen zu verbessern. Diese History wird beim Runterfahren auf Platte gespeichert ("saving random seed") und beim Booten wieder geladen.

darph
2006-05-21, 18:51:00
Coda[/POST]']Quatsch Radioaktives Material X-D
Das wird über Quanteneffekte gemacht. Die Transistoren sind inzw. so klein dass das durch paar trickreiche Schaltungen zufällige Bits ergibt.Mag sein ;( *fysiknichmög*

Hab das aus einem Buch von Simon Singh.

Gast
2006-05-22, 08:12:12
Coda[/POST]']Quatsch Radioaktives Material X-D

Physikalischer Zufallszahlengenerator (http://de.wikipedia.org/wiki/Physikalischer_Zufallszahlengenerator): Ein Geigerzähler misst die Zahl der radioaktiven Zerfälle in einer bestimmten Zeitspanne. Man nutzt die Tatsache, dass radioaktive Isotope nach einer rein zufälligen Zeitspanne in das Tochterelement bzw. -isotop zerfallen.
Quelle: Wikipedia: Zufallsgenerator (http://de.wikipedia.org/wiki/Zufallsgenerator#Nicht-deterministische_Zufallszahlengeneratoren) X-D