Die meisten dieser Verteilungen entstehen, weil man die Zufallszahl begrenzen oder normalisieren muss.
Wir normalisieren sie so, dass sie alle positiv sind, in einen Bereich passen und sogar in die Beschränkungen der Speichergröße für den zugewiesenen Variablentyp passen.
Mit anderen Worten, da wir den Zufallsaufruf zwischen 0 und X begrenzen müssen (X ist die Größengrenze unserer Variablen), werden wir eine Gruppe von "zufälligen" Zahlen zwischen 0 und X haben.
Wenn man nun die Zufallszahl zu einer anderen Zufallszahl addiert, wird die Summe irgendwo zwischen 0 und 2X liegen... das verzerrt die Werte weg von den Randpunkten (die Wahrscheinlichkeit, zwei kleine Zahlen und zwei große Zahlen zu addieren, ist sehr gering, wenn man zwei Zufallszahlen über einen großen Bereich hat).
Stellen Sie sich vor, Sie hätten eine Zahl, die nahe bei Null liegt, und Sie addieren sie mit einer anderen Zufallszahl, die mit Sicherheit größer wird und sich von 0 entfernt (dies gilt auch für große Zahlen, da es unwahrscheinlich ist, dass zwei große Zahlen (Zahlen nahe bei X) von der Zufallsfunktion zweimal zurückgegeben werden.
Wenn Sie nun die Zufallsmethode mit negativen und positiven Zahlen (die sich gleichermaßen über die Nullachse erstrecken) einrichten würden, wäre dies nicht mehr der Fall.
Sagen wir zum Beispiel RandomReal({-x, x}, 50000, .01)
dann würde man eine gleichmäßige Verteilung der Zahlen auf der negativen und der positiven Seite erhalten, und wenn man die Zufallszahlen zusammenzählen würde, würden sie ihre "Zufälligkeit" behalten.
Nun bin ich mir nicht sicher, was mit dem Random() * Random()
mit der Spanne von negativ zu positiv... das wäre ein interessantes Diagramm... aber ich muss jetzt wieder Code schreiben. :-P
5 Stimmen
Hier eine naive Definition für "Zufälliger": Für manche bedeutet "zufällig" "schwer zu erraten", z. B. den Wert der obersten Karte im Stapel zu erraten. Durch das Mischen des Stapels scheint es, dass der Zufallswert "noch schwerer zu erraten" ist, und von diesem praktischen, intuitiven Verständnis des Zufalls ausgehend, wäre es sinnvoll, den Stapel im Programm auf irgendeine Weise zu "mischen". Natürlich ist das nicht das, was "Zufall" bedeutet, und die Wissenschaft der Einführung von Entropie in einen pseudozufälligen Prozess ist nicht annähernd so einfach wie das Mischen des Prozesses mit seiner eigenen Ausgabe.
0 Stimmen
Danke @Yi Jiang und @Sam Saffron für die Korrekturen, ich bin eine Tippfehler-Maschine :)
0 Stimmen
@Mild Fuzz: Die Natur leugnet unendliche Unendlichkeiten? Sind das nicht Infinitesimale? Gibt es keine Fraktale in der Natur? Oder habe ich Ihre Aussage aufgrund meiner eigenen Dummheit völlig falsch verstanden?
0 Stimmen
@Trufa Zwei weitere Favs für dein Stellar Badge!
1 Stimmen
@belisarius Ich gebe es nur ungern zu, aber ich lade alle zehn Sekunden meinen Bildschirm neu und warte auf sie :)
0 Stimmen
@Herr Enttäuschung vielleicht bin ich ja dumm, aber die Natur der Unendlichkeit ist, dass sie grenzenlos ist, also würde die Quadratur des Kreises nichts bringen.
1 Stimmen
@Trufa Es ist erstaunlich, wie eine so einfache Frage so viel Interesse weckt!
1 Stimmen
@Liam Auf jeden Fall wusste ich, dass es keine einfache Antwort auf diese einfache Frage gibt, aber niemals diese. Ich denke, es ist ziemlich offensichtlich, dass ich die ganze Komplexität dieser Frage nicht gesehen hatte. Ich denke, dass die Antwort sehr gut über diese Gemeinschaft und ihren Wissenshunger aussagt! Ich bin froh, ein bescheidener Teil davon zu sein! :)
0 Stimmen
- (int) GetRandomNumber { return 4; /* TODO: Test this */ }