Box Generator / Fragen Zur Implementation
 
StartSeite | BoxGenerator/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Auf http://www.ad1440.net/~devnull/work/javaterrain/edu/cornell/lassp/houle/RngPack/RandomElement.java.html und http://www.cs.rochester.edu/u/brown/172/assts/PQ.html finden sich zwei Implementierungen, die in ihrem randpoint die Abbruchbedingung "until product < 1", und nicht wie oben "until product <= 1" stehen haben. Was stimmt denn nun?

Welchen Unterschied soll es denn ausmachen? Mit welcher Wahrscheinlichkeit liegt ein Punkt aus dem Einheitskreis einschliesslich dessen Randes auf dem Rand? Mit welcher Wahrscheinlichkeit ist eine aus einer Gleichverteilung auf dem Einheitsintervall einschliesslich beider Ränder gewählte Zufallszahl (nicht: Pseudozufallszahl) gleich 1? Für die Herleitung spielt es einfach keine Rolle. Da kommt es nur auf einen aus dem Einheitskreis zufällig gewählten Punkt an. Noch nicht einmal an der Singularität im Nullpunkt stört sich die Statistik, wegen der darauf liegenden Wahrscheinlichkeitsmasse 0.

Also könnte man versuchen, die Frage von den Erfordernisen der Implementierung in einer Programmiersprache zu entscheiden. 1.0 ist offensichlich ein gültiger Input für die Transformation und führt im Ergebnis zu zwei aufeinanderfolgenden Nullen. Wenn es einen guten Grund gibt, den Vergleich < (oder >) anstelle von <= (oder >=) zu verwenden, weil die Zielplatform einen dieser Vergleiche deutlich schneller abarbeitet als den anderen, dann sollte der schnellere gewählt werden. Ein Compiler sollte in der Lage sein, solche Entscheidungen zwischen (a <= b) oder not(a > b) selbst für die Zielplattform in den geeigneten bedingten Sprungbefehl umzusetzen.

StartSeite | BoxGenerator/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 19. August 2002 0:06 (diff))
Suchbegriff: gesucht wird
im Titel
im Text