Zum Inhalt springen

Pseudozufallszahlen

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. Juni 2003 um 08:57 Uhr durch 212.183.119.162 (Diskussion) (Noch eine kleine Korrektur). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Als Pseudozufallszahlen bezeichnet man Zahlenfolgen, die durch einen deterministischen Algorithmus (Pseudozufallszahlengenerator) berechnet werden (und somit nicht zufällig sind), aber (für hinreichend kurze Sequenzen) zufällig aussehen. Bei jedem Start der Zufallszahlen-Berechnung mit gleichem Startwert wird die gleiche Zahlenfolge erzeugt.

Die Zufälligkeit wird durch statistische Eigenschaften der Zahlenfolge bestimmt, wie Gleichwahrscheinlichkeit der einzelnen Zahlen und statistische Unabhängigkeit verschiedener Zahlen der Folge. Wie gut diese statistischen Forderungen erfüllt sind, bestimmt die Güte eines Pseudozufallszahlengenerators.

Jeder Zufallszahlenalgorithmus ist letztlich periodisch, durch Betrachtung hinreichend vieler aufeinanderfolgender Zahlen läßt sich also stets nachweisen, dass die Folge nicht zufällig ist. Allerdings kann man die Periode eines Pseudozufallszahlengenerators so groß machen, dass die Periodizität in der Praxis keine Rolle spielt.

Pseudozufallszahlen werden u.a. in der Rechnersimulation angewandt, bei der statistische Prozesse mit Hilfe von Software simuliert werden. Pseudozufallszahlen können auch bei der Fehlersuche in Computerprogrammen nützlich sein. Andererseits macht diese Eigenschaft Pseudozufallszahlen für bestimmte Anwendungen, insbesondere in der Kryptographie unbrauchbar.

Ein weiterer Vorteil der Pseudozufallszahlen ist, dass sie auf jedem Rechner ohne Rückgriff auf externe Daten erzeugt werden können. Zur Erzeugung echter Zufallszahlen braucht man entweder einen echten Zufallsgenerator (z.B. durch Digitalisieren von Rauschen oder durch Ausnutzen von Quanteneffekten) oder zumindest eine Quelle quasizufälliger (normalerweise nicht vorhersagbarer) Ereignisse wie Zeiten von Benutzereingaben oder Netzwerkaktivität.