Ist ein Zufallsalgorithmus wirklich auch zufällig?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Bei einem Algorithmus muss man davon ausgehen, dass das Resultat eindeutig ist. Ebenso ist dies der Fall bei den meisten eingesetzten Pseudozufallszahl-Generatoren. Diese liefern eine Reihe von Zahlen nach einem genau festgelegten Muster. Es wird für Simulationen sogar so eingesetzt, dass dieses Muster (gesteuert von einer Startzahl, Seed genannt) immer dieselben Zahlen durchläuft und bei der selben Zahl beginnt.

In der Praxis wird meist die lineare Kongruenzmethode verwendet. https://www.programmieraufgaben.ch/aufgabe/lineare-kongruenzmethode/qqrcbps2

Diese Methode hat den Vorteil, dass man die Anzahl vorkommender Zahlen und die Streuung vorab gut simulieren und testen kann. Da sich diese Methode für große Zahlenreihen eignet, wird sie in den meisten Programmiersprachen eingesetzt. Für uns Menschen scheint die Reihenfolge der Zahlen auf den ersten Blick zufällig und so sprechen wir Informatiker hier lediglich von Pseudozufallszahlen. Der Nachteil an Pseudozufallszahlen ist eben, dass sie nicht zufällig sind, sondern nur so scheinen.

Echte Zufallszahlen erhalten wir z. B. vom radioaktiven Zerfall oder von anderen in der Natur gemessenen Ereignissen, wie z. B. die Anzahl Sonnenstunden an einem häufig bedeckten Ort oder das Auf und Ab von Wechselkursen an der Börse. Solche Messresultate sind z. B. auf "random.org" erhältlich. Hier sprechen wir dann aber nicht von einem Algorithmus, sondern von einer Messreihe zufälliger Werte. Der Nachteil hier ist jedoch immer, dass die Messung durch physikalische Einflüsse (Messgeräte, Temperaturen) beschränkt sein kann und es schwierig ist, die Zahlen so zu "eichen", dass sie echt gleichverteilt (normalverteilt oder poissonverteilt) werden.

Durch Algorithmen produzierte "Zufallszahlen" nennt man Pseudozufallszahlen - es sind keine echt zufällig gewählten Zahlen.

Es ist nicht der Algo sondern das gelieferte Ergebnis! :-)

Der Algorithmus ist nicht zufällig. Zufallsalgorithmen berechnen Zahlen in einer Weise die sich nicht zurückrechnen lässt. Um jedes mal andere Ergebnisse zu bekommen, nimmt der Computer in der Regel deine genaue Computerzeit plus datum als startzahl.

Hinter allem muss ja eigentlich ein System stecken, deshalb glaube ich nicht, dass es irgendwas, vorausgesetzt von Menschenhand erschaffen, gibt das zufällig generiert wird oder passiert.