Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Erzeugung und Verwendung von Zufallszahlen Modellierung von zufälligen Prozessen Anforderungen an eine Zufallszahl Zufallszahlengenerator Generierung einer.

Ähnliche Präsentationen


Präsentation zum Thema: "Erzeugung und Verwendung von Zufallszahlen Modellierung von zufälligen Prozessen Anforderungen an eine Zufallszahl Zufallszahlengenerator Generierung einer."—  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 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 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 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 < 2 31 = MLCG MLCG Seed1 = 0  a 1 Seed2 = 1  a Simulation Zufallszahlen- strom (0, 1): geheim Multiplikation mit dem Multiplikator a des Stroms: Differenz der Zufallszahlen: ·a 1 ·a 2 p 1 = p 2 =

5 5 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 (p 1 - 1) · (p 2 - 1) / 2  2, · a = 2 a = 3 ·a Primitive Wurzeln für p = 7 a = 2 ist keine primitive Wurzel a = 3 ist primitive Wurzel

6 6 Kombination von zwei Zufallszahlengeneratoren Gründe für die Kombination zweier ganzzahligen Zufallszahlengeneratoren und der Spektraltest p 1 = 17 a = 14 p 2 = 19 a = 10 MLCG 1 MLCG 2 Differenz- bildung Ein Punkt entspricht einem Paar aufeinanderfolgender Zufallszahlen. unerwünschte Gitterstruktur 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. Ebenenabstand = 5.38 Ebenenabstand = 8.50

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

8 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 Servicezeiten der Kunden ( 2 min ) Ankunftszeiten der Kunden (1 Kunde / min ) Zufällige Prozesse, die in beiden Modellen gleich ablaufen sollten. verschiedene Ströme mit gleichen Seed-Werten Frage: Ist die Differenz der mittleren Wartezeiten in Europa und Amerika größer Null?

9 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 10 Konfidenzintervalle P(„ m - h  x  m + h “) = P([m-h, m+h]) = 1 - . 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 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 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 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* t(1 -  /2, n-1) liegt für n  10 zwischen und Auch wird sich die Standardabweichung mit wachsenden n kaum noch ändern. h 2 * 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 n*/ n = (h / h*) 2

13 13  (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. Abhängigkeit zwischen Simulationsergebnissen

14 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, 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 Modellierung von zufälligen Prozessen Anforderungen an eine Zufallszahl Zufallszahlengenerator Generierung einer."

Ähnliche Präsentationen


Google-Anzeigen