mittelding
2015-02-09, 16:00:57
Hallo erstmal.
Mein Anliegen ist eher theoretischer Natur, frage mich jedoch gerade folgende Dinge bezüglich Zufallsgeneratoren.
1.)
Ich hatte vor einiger Zeit mal eine diskrete Simulation gebaut, die den Fluss von Materialen zwischen Produktionsmaschinen repräsentiert. Dabei können die Maschinen bei jedem Verarbeitungsprozess mit einer gewissen Wahrscheinlichkeit ausfallen. Der Prof hatte damals ein ähnliches Beispiel vorgestellt, bei welchem er für alles, was in seiner Simulation mit Zufall zu tun hatte, ein- und dieselbe Instanz des PRNG in Java benutzt hatte.
Im Nachinein denke ich, dass sein Ansatz aber nicht ganz korrekt ist. Müsste man nicht für jeden Sachverhalt der Simulation, der zufallsbedingt ist, eine eigene Instanz eines PRNG benutzen? Schließlich liefert ein PRNG für eine größere Anzahl an Aufrufen ja eine Gleichverteilung der Rückgabewerte. Wenn sich jetzt jedoch mehrere Aufrufer an der selben Instanz eines Generators bedienen, sollte es ja eigentlich so sein, dass jeder Aufrufer für sich betrachtet nicht unbedingt eine Gleichverteilung der Werte erhält. Aufrufer A könnte in einem ungünstigen Fall beispielsweise oft Werte < 0.5 erhalten und Aufrufer B oft Werte > 0.5. Der PRNG hätte seine Arbeit korrekt getan, denn gesamtheitlich sind die erzeugten Zahlen gleichverteilt, nur eben aus Sicht der beiden Aufrufer nicht.
Ich hoffe, dass das einigermaßen verständlich war. Stimmt das so? In der Literatur, welche mir vorlag, wird das Thema meist gar nicht angesprochen und bei Simulationen bei ein einziger PRNG benutzt...
2.)
Es gibt ja diverse Ansätze, echten Zufall zu erzeugen, zum Beispiel mittels dem Rauschen aus der Atmosphäre, dem Flimmern einer Webcam und so weiter und so fort.
Da frage ich mich: wie bringt man dort eine Gleichverteilung ein? Sind die in der natürlichen Quelle beobachteten Werte bereits gleichverteilt/muss man die Quelle entsprechend wählen oder ist es notwendig, da später noch eine Art Transformation drumherum zu bauen, dass das ganze dann einigermaßen gleichverteilt ist?
Danke
Mein Anliegen ist eher theoretischer Natur, frage mich jedoch gerade folgende Dinge bezüglich Zufallsgeneratoren.
1.)
Ich hatte vor einiger Zeit mal eine diskrete Simulation gebaut, die den Fluss von Materialen zwischen Produktionsmaschinen repräsentiert. Dabei können die Maschinen bei jedem Verarbeitungsprozess mit einer gewissen Wahrscheinlichkeit ausfallen. Der Prof hatte damals ein ähnliches Beispiel vorgestellt, bei welchem er für alles, was in seiner Simulation mit Zufall zu tun hatte, ein- und dieselbe Instanz des PRNG in Java benutzt hatte.
Im Nachinein denke ich, dass sein Ansatz aber nicht ganz korrekt ist. Müsste man nicht für jeden Sachverhalt der Simulation, der zufallsbedingt ist, eine eigene Instanz eines PRNG benutzen? Schließlich liefert ein PRNG für eine größere Anzahl an Aufrufen ja eine Gleichverteilung der Rückgabewerte. Wenn sich jetzt jedoch mehrere Aufrufer an der selben Instanz eines Generators bedienen, sollte es ja eigentlich so sein, dass jeder Aufrufer für sich betrachtet nicht unbedingt eine Gleichverteilung der Werte erhält. Aufrufer A könnte in einem ungünstigen Fall beispielsweise oft Werte < 0.5 erhalten und Aufrufer B oft Werte > 0.5. Der PRNG hätte seine Arbeit korrekt getan, denn gesamtheitlich sind die erzeugten Zahlen gleichverteilt, nur eben aus Sicht der beiden Aufrufer nicht.
Ich hoffe, dass das einigermaßen verständlich war. Stimmt das so? In der Literatur, welche mir vorlag, wird das Thema meist gar nicht angesprochen und bei Simulationen bei ein einziger PRNG benutzt...
2.)
Es gibt ja diverse Ansätze, echten Zufall zu erzeugen, zum Beispiel mittels dem Rauschen aus der Atmosphäre, dem Flimmern einer Webcam und so weiter und so fort.
Da frage ich mich: wie bringt man dort eine Gleichverteilung ein? Sind die in der natürlichen Quelle beobachteten Werte bereits gleichverteilt/muss man die Quelle entsprechend wählen oder ist es notwendig, da später noch eine Art Transformation drumherum zu bauen, dass das ganze dann einigermaßen gleichverteilt ist?
Danke