Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Erzeugung und Verwendung von Zufallszahlen

Ähnliche Präsentationen


Präsentation zum Thema: "Erzeugung und Verwendung von Zufallszahlen"—  Präsentation transkript:

1 Erzeugung und Verwendung von Zufallszahlen
Modellierung von zufälligen Prozessen Anforderungen an eine Zufallszahl Zufallszahlengenerator Generierung einer exponentialverteilte Zufallszahl Empfehlungen zur Anwendungen der Zufallszahlenströme Bestimmung der Güte der Simulationsergebnisse durch Konfidenzintervalle Abhängigkeiten zwischen Simulationsergebnissen Literatur zur Simulation und Statistik

2 Modellierung von zufälligen Prozessen mittels Zufallszahlengeneratoren
Zufallszahlengeneratoren erzeugen eine Folge von Zahlen (Zufallszahlenstrom), die möglichst viele Eigenschaften von Zufallszahlen haben. Da die Erzeugung von Zufallszahlen auf deterministischen Algorithmen beruht, ist die entstehende Zahlenfolge nicht wirklich zufällig. Deshalb wird oft von Pseudozufallszahlen gesprochen. In Computerprogrammen werden "Zufallszahlen" nach bestimmten Algorithmen berechnet, d.h. es sind gar keine echten Zufallszahlen, sondern "Pseudozufallszahlen". Von den so bestimmten Pseudozufallszahlen verlangt man eine möglichst gute Annäherung an "echte" Zufallszahlen, z.B. sollten die einzelnen Zahlen mit gleicher Häufigkeit auftreten, Wiederholungen von Zahlen sollten die gleiche Häufigkeit wie bei echten Zufallsziffern haben. Die von dem Zufallszahlengenerator erzeugte Menge von Realisierungen (auch Stichprobe genannt) muß einem vorgegebenen Verteilungsgesetz einer Zufallszahl gehorchen. Es zeigt sich, dass es genügt, eine im Intervall (0,1) gleichverteilte Zufallszahl zu erzeugen. Mittels dieser Zufallszahl kann zum Beispiel eine normalverteilte Zufallszahl mit gegebenen Mittelwert  (Mu) und Standardabweichung  (Sigma) algorithmisch erzeugt werden.

3 Anforderungen an eine im Intervall (0,1) gleichverteilte Zufallszahl
Die Wahrscheinlichkeit, dass eine Realisierung in einem Teilintervall von (0,1) liegt, ist nur von der Länge des Teilintervalls abhängig. Salopp gesagt: jede Zahl in (0,1) ist gleichwahrscheinlich. Die Anordnung der Zufallszahlen hat keine typischen Merkmale, z.B. die Vorzeichen der Differenzen von aufeinanderfolgenden Zufallszahlen lassen keine typischen Muster erkennen. Da es nur endliche viele Zustände eines Rechners gibt, muss ein solcher Algorithmus periodisch werden. Wir fordern deshalb, dass die Periodenlänge möglichst groß ist. Ausgehend von gegebenen Startwerten (sogenannten Seed-Werten) muss eine große Anzahl von stochastisch unabhängigen Zufallszahlen zur Verfügung stehen. Um bestimmte statistischen Methoden (wie z.B. die Varianzreduktion) anwenden zu können, müssen die zufälligen Prozesse einer Simulation reproduzierbar sein.

4 Der Zufallszahlengenerator
Zwei ganzzahligen Zufallszahlengeneratoren ( MLCG: Multiplicative Linear Congruential Generator ) erzeugen zufällige ganze Zahlen, die zu einer gebrochenen Zahl aus dem Intervall (0,1) verschmolzen werden. Die MLCG´en verwenden große Primzahlen p, die mit einem 32-Bit Rechner noch exakt darstellbar sind, d.h.: p < 231 = ·a1 ·a1 Seed1 = 0  a1 MLCG 1 p1 = geheim Seed2 = 1  a2 MLCG 2 ·a2 ·a2 p2 = Simulation Zufallszahlen- strom (0, 1): Multiplikation mit dem Multiplikator a des Stroms: Differenz der Zufallszahlen:

5 ·a 2 3 6 ·a 4 1 2 1 5 4 Der Zufallszahlengenerator
Die ganzzahligen Zufallszahlengeneratoren (MLCG) basieren auf Erkenntnissen aus der Zahlentheorie, insbesondere der Theorie der Primzahlen. Die MLCG en multiplizieren die aktuelle Zahl im Zufallszahlenstrom mit einem Multiplikator a: 0 < a < p und bilden den Rest bei der Division durch p. Der zugehörige Algorithmus muss sicherstellen, dass bei allen Zwischenergebnissen niemals der Bereich der exakt darstellbaren ganzen Zahlen verlassen wird. Um eine maximale Zyklenlänge der MLCG zu erhalten, müssen die Potenzen von a bei der Division durch p alle möglichen Reste 1,..., p-1 erzeugen. Die Zahl a ist dann eine primitive Wurzel der Primzahl p. Die Periodenlänge eines Zufallszahlenstroms ist (p1 - 1) ·(p2 - 1) / 2  2, · 1018. ·a 2 3 6 ·a 4 Primitive Wurzeln für p = 7 a = 2 ist keine primitive Wurzel a = 3 ist primitive Wurzel a = 3 1 2 a = 2 1 5 4

6 MLCG 1 MLCG 2 Kombination von zwei Zufallszahlengeneratoren
Gründe für die Kombination zweier ganzzahligen Zufallszahlengeneratoren und der Spektraltest Ein Punkt entspricht einem Paar aufeinanderfolgender Zufallszahlen. MLCG 1 p1 = 17 a = 14 unerwünschte Gitterstruktur Differenz-bildung Ebenenabstand = 5.38 MLCG 2 Der größere Abstand der Gitterebenen bestimmt die Qualität der Parameter a und p des MLCG. Die Kriterien sind in der Arbeit von Pierre L'Ecuyer beschrieben. p2 = 19 a = 10 Ebenenabstand = 8.50

7 Transformation von Zufallszahlen
Generierung einer Zufallszahl, die einem gegebenen Verteilungsgesetz genügt Beispiel: Exponentialverteilte Zufallszahl ( Mittelwert  = 1 /  ) f(x) F(x) Dichtefunktion f(x) =  exp(-  x) 1 Verteilungsfunktion F(x) = 1 - exp(-  x) F(x) = P( „Zufallszahl  b“ ) u P( „a < Zufallszahl  b“ ) F(x)´= f(x) x x a b x u ist eine im Intervall (0,1) gleichverteilte Zufallszahl u = 1 - exp(-  x)  x = - ln(1-u) /   x ist eine exponentialverteilte Zufallszahl

8 Empfehlungen zur Anwendungen der Zufallszahlenströme
Zu jedem zufälligen Prozess muss ein Strom zugeordnet werden. Varianzreduktion Um die Ergebnisdaten verschiedener Simulationsläufe vergleichen zu können, sollten nicht ausgewertete zufällige Prozesse in den Simulationsläufen gleich ablaufen. Dadurch werden unnötige Schwankungen der Ergebnisdaten vermieden. Vergleich der mittleren Wartezeiten bei verschiedenen Warteschlangendisziplinen: Europa Amerika Zufällige Prozesse, die in beiden Modellen gleich ablaufen sollten. verschiedene Ströme mit gleichen Seed-Werten Ankunftszeiten der Kunden (1 Kunde / min ) Servicezeiten der Kunden ( 2 min ) Frage: Ist die Differenz der mittleren Wartezeiten in Europa und Amerika größer Null?

9 Bestimmung der Güte der Simulationsergebnisse
Es genügt nicht, die Ergebnisse aus verschiedenen Simulationsläufen nur durch einen Mittelwert zusammenzufassen. Die Ergebnisse können nur dann sinnvoll interpretiert werden, wenn zu dem Mittelwert das zugehörige Konfidenzintervall (Vertrauensintervall) angegeben wird. Die Simulationsergebnisse sind auch Zufallszahlen, von denen man nur wenige Realisierungen beobachtet hat (Stichprobe). Konfidenzintervalle ermöglichen die Genauigkeit der Simulationsergebnisse zu schätzen. Ein Konfidenzintervall gibt an, in welchem Bereich sich der wahre Mittelwert der Zufallszahl mit einer gegebenen Wahrscheinlichkeit (Vertrauenswahrscheinlichkeit, Sicherheitsniveau) befindet Eine Vergrößerung des Stichprobenumfanges führt bei gleicher Vertrauenswahrscheinlichkeit zu einer Verkleinerung des Konfidenzintervalls Eine Vergrößerung der Vertrauenswahrscheinlichkeit führt bei gleichen Stichprobenumfang zu einer Vergrößerung des Konfidenzintervalls.

10 Konfidenzintervalle Gegeben ist eine Stichprobe einer (normalverteilten) Zufallszahl x. Beide Parameter der Zufallszahl sind unbekannt. n = Umfang der Stichprobe (z.B. Anzahl der Simulationsläufe)  = Irrtumswahrscheinlichkeit des Konfidenzintervalls 1-  = Vertrauenswahrscheinlichkeit des Konfidenzintervalls (90%) m = Mittelwert der Stichprobe s = Standardabweichung der Stichprobe Das Konfidenzintervall [m-h, m+h] ist bestimmt durch P(„ m - h  x  m + h “) = P([m-h, m+h]) = 1 -  . h = t(1 -  /2, n-1) * s / n t(1 -  /2, n-1) ist das Quantil der Student t-Verteilung mit n-1 Freiheitsgraden (aus Tabellen oder mit dem Modell Datafit.spp , Netzwerk .StatisticalTools.Confidence bestimmen) Achtung: Die Excel-Funktion = KONFIDENZ(0,1;C16;10)  = 0,1, Standardabweichung aus Zelle C16, n = 10 geht von einer bekannten Standardabweichung der Zufallszahl x aus.

11 Konfidenzintervalle Beispiel:
Differenz der mittleren Wartezeiten bei verschiedenen Warteschlangendisziplinen: Konfidenzintervall bei verschiedenen Ankunfts- und Servicezeiten: [ -458 , 600 ] (m = 71) Mit einer Vertrauenswahrscheinlichkeit von 90 % kann man auf Grund dieser Simulationsstudie nicht entscheiden, ob die Wartezeiten in Europa oder Amerika kürzer sind. Konfidenzintervall bei gleichen Ankunfts- und Servicezeiten: [ 25 , 45 ] (m = 35) Der Mittelwert der Differenz der Wartezeiten in Europa und Amerika ist mit einer Wahrschein-lichkeit von 90 % zwischen 25 und 45 Sekunden. Streuungsdiagramme mit Wertepaare (Europa, Amerika)

12 Konfidenzintervalle und Stichprobenumfang
Situation: Es liegt eine Stichprobe vom Umfang n vor. Die halbe Breite des Konfidenzintervalls ist h. Frage: Wie groß muss n* sein, um die halbe Breite des Konfidenzintervalls auf einem gewünschten Wert h* zu bringen? h = t(1 - /2, n -1) * s /  n h* = t(1 -  /2, n*-1) * s /  n* n*/ n = (h / h*)2 t(1 -  /2, n-1) liegt für n  10 zwischen und Auch wird sich die Standardabweichung mit wachsenden n kaum noch ändern. h2 * n ist etwa konstant. Beispiel: Halbierung der Breite des Konfidenzintervalls ( h* / h = 0.5 ) erfordert eine 4-fach größere Stichprobe ( n* = 4 n ). Idee: J. Banks: „Output Analysis Capabilities of Simulation Software“, 1996

13 (x,y) = Cov(x,y) Kovarianz der Zufallszahlen x und y
Abhängigkeit zwischen Simulationsergebnissen (x,y) = Cov(x,y) Kovarianz der Zufallszahlen x und y E[x] = Erwartungswert der Zufallszahl x (x,y) = E[ (x – E[x]) (y - E[y]) ] x und y sind stochastisch unabhängig: (x,y) = 0 (x,y) = Korrelationskoeffizient (x,y) = (x,y) / ((x) (y) ) -1  (x,y)  1 Maß für die (lineare) Abhängigkeit von x und y, (x,y) = ±1: linear abhängige Zufallszahlen x und y.

14 Literatur zur Simulation und Statistik
J. Banks; J.S. Carson: „Discrete-Event System Simulation.“, Prentice--Hall Eine umfassende Einführung in die Mathematischen und statistischen Grundlagen mit Bezügen zur Simulation von Produktions- und Logistikprozessen. P. Bratley; B.L. Fox; L.E. Schrage: „A Guide to Simulation.“, Springer Kapitel 6 gibt einem umfassenden theoretischen Überblick zur Erzeugung von Zufallszahlen. H. Corsten: „Produktionswirtschaft.“, München, Wien Grundlagen zur Steuerung und Planung. Pierre L'Ecuyer: „Efficient and Portable Combined Random Number Generators.“ Comm of the ACM Vol 31, Number 6, 1988, p Beschreibung der MLCG und Begründungen für die Wahl der Multiplikatoren und der verwendeteten Primzahlen. A.M. Law; W.D. Kelton: „Simulation Modeling & Analysis“, McGraw-Hill, 1991. F. Liebl: „Simulation: Problemorientierte Einführung“, Oldenbourg Verlag Allgemeinverständliche Einführung in die diskrete Simulation mit zahlreichen Anweisungen und Hinweisen zur Durchführung von Simulationsprojekten. B. Page: „Diskrete Simulation: Eine Einführung mit Modula-2.“, Springer Statistische Verfahren werden ohne breite mathematische Abhandlungen allgemeinverständlich beschrieben. Hinweise zur Durchführung von Simulationsprojekten. K. Neumann; M. Morlock: „Operations Research.“, Hanser Verlag Mathematische Grundlagen in knapper Form mit zahlreichen algorithmischen Problemlösungen, Bezüge zur Produktion und Logistik.


Herunterladen ppt "Erzeugung und Verwendung von Zufallszahlen"

Ähnliche Präsentationen


Google-Anzeigen