Fakultät Informatik, Institut für Angewandte Informatik, Professur Modellierung und Simulation
Einführung in die Simulation
Dr. Christoph Laroque Wintersemester 11/12
Dresden, 11.10.2011 01.11.2011
Einführung in die Simulation Wintersemester 11/12
ERZEUGUNG VON ZUFALLSVERTEILTEN EINGABEDATEN 01.11.2011
Einführung in die Simulation
Folie Nr. 2
Wozu noch mal zufallsverteilte Eingabedaten? Die Realität unterliegt Unsicherheit. Aufgezeichneter Daten bilden nur eine (vielleicht unwahrscheinliche) Möglichkeit des Verhaltens ab. Mittel zu Abstraktion Wo werden diese Eingabedaten verwendet: • Bearbeitungszeiten • Terminierung von Störfällen und seltenen Ereignissen • Vom modellierten System nicht beeinflussbare externe Einflüsse (Ankunftszeiten von Kunden, Aufträgen, etc…) Einführung in die Simulation
Folie Nr. 3
Grundbegriffe • • • • •
Zufallsexperiment Ereignis Wahrscheinlichkeit Zufallsvariable Wahrscheinlichkeitsverteilung
Nachzulesen in: • • •
Teschl, G. und Teschl, S.: Mathematik für Informatiker, Band 2 Bamberg, G. und Baur, F.: Statistik Law, A. M. und Kelton, W. D.: Simulation Modeling and Analysis
Einführung in die Simulation
Folie Nr. 4
Wichtige Form- und Lageparameter Erwartungswert (Lage der Dichtefunktion) 𝜇 Varianz (Ausbreitung der Dichtefunktion) 𝜎 2 Standardabweichung
𝜎
Median (Variationskoeffizient (Normierung der Varianz)
𝜎 𝜇
Schiefe)
Einführung in die Simulation
Folie Nr. 5
𝐹 𝑥 = 𝑃(𝑋 ≤ 𝑥)
Verteilungsfunktion 𝐹 𝑥 = 𝑃(𝑋 ≤ 𝑥) Wächst monoton von 0 bis 1 Rechtsseitig stetig X ist stetig (kontinuierlich), wenn F(x) stetig ist Springt F(x) an einer Stelle x0, dann ist die Sprunghöhe die Wahrscheinlichkeit für X=x0
Einführung in die Simulation
Folie Nr. 7
Empirische Verteilungen (a) Diskrete, empirische Verteilungen (b) Kontinuierliche, empirische Verteilungen Vorteile • • •
Alle möglichen Formen möglich Direkte Integration von Realdaten Anpassung einer theoretischen Verteilung mit all ihren Tücken nicht nötig
Nachteile • • •
Große Speicheranforderungen Keine Zufallszahlen über die beobachtete Realität hinaus Bei kontinuierlichen Verteilungen komplexe Abbildung durch stückweise zusammengesetzte Funktion Einführung in die Simulation
Folie Nr. 8
Empirische Verteilungen (Erzeugung) Ergebnisse einer Klausur: 1, 2, 2, 3, 4, 4, 5, 5, 5, 1, 2, 2, 5, 5, 3, 3, 3, 1, 2, 5, 5
Einführung in die Simulation
Folie Nr. 9
Theoretische Verteilungen Diskrete theoretische Verteilungen • • • • •
Bernoulli Gleichverteilung Binomial Geometrisch Poisson
Kontinuierliche theoretische Verteilungen • • • • • • • •
Gleichverteilung Exponential Gamma Weibull Normal Log-Normal Beta Dreieck Einführung in die Simulation
Folie Nr. 10
Binomialverteilung binom(p,t) Anwendung bei der Bestimmung der Erfolge in t unabhängigen Bernoulliexperimenten mit P(x)=p • Anzahl fehlerhafter Teile in einem Los der Größe t, bei P(fehlerhaft)=p Wahrscheinlichkeit für kein fehlerhaftes Teil? Wahrscheinlichkeit für ein fehlerhaftes Teil? Wahrscheinlichkeit für höchstens ein fehlerhaftes Teil?
Einführung in die Simulation
Folie Nr. 11
Gleichverteilung uniform(a,b) Anwendung zur: • Erzeugung von Zufallszahlen aller anderen Verteilungen, wenn a=0 und b=1 • Das Verhalten eines Elements zufällig erscheint, aber keine weiteres Wissen vorliegt 0te-Näherung
Einführung in die Simulation
Folie Nr. 12
Exponentialverteilung expo(𝛽 ) Anwendung bei: • Zeiten zwischen Ankünften von Kunden/ Aufträgen/ … im modellierten System • Zeit bis zum Ausfall eines Teils Wichte Beziehungen zur Warteschlangentheorie und PoissonProzessen
Einführung in die Simulation
Folie Nr. 13
Normalverteilung norm(
𝜇 , 𝜎2 )
Anwendung zur • Beschreibung von Messgrößen natürlicher Prozesse (Körpergröße von Menschen, …) Achtung: • Gilt als Verallgemeinerung nur bei sehr großen Stichprobenumfang (Gesetzt der großen Zahlen), wenn zusätzlich die Stichproben unabhängig voneinander sind -> Meist gilt dies nicht! Lästig: • Generierte Zufallszahlen liegen immer im Intervall von
−∞ bis +∞ .
Hilfreich: • Viele mathematischen Theorien sind mit Normalverteilung einfach zu 𝜇 𝜎 rechnen 3𝜎 2𝜎 Zufallszahlen liegen im Abstand • ca. 68% aller zu . Ca. 95% im Abstand und ca. 99,7% im Abstand . Einführung in die Simulation
Folie Nr. 14
Vor- und Nachteile theoretischer Verteilung • Bestimmung und Parametrisierung einer passenden Verteilung ist schwierig • Verteilung lässt sich leicht ändern, da meist nur ein oder zwei Parameter • Kompakte Formulierung • Großer Wertebereich
Einführung in die Simulation
Folie Nr. 15
Auswahl einer passenden Verteilung
1. Realdaten auf Unabhängigkeit prüfen 2. Auswahl der richtigen Verteilungsfamilie 3. Schätzen der richtigen Parameter 4. Bewerten der gewählten Verteilung
Einführung in die Simulation
Folie Nr. 16
Wozu Zufallszahlen? Simulation Mittels automatisch generierter Zufallszahlen lassen sich realitätsnahe Inputdaten aus beliebigen Verteilungen generieren Ergo: Gute Zufallszahlen sind für die diskrete Simulation sehr wichtig Kryptographie Zur Verschlüsselung von Nachrichten, z. B. Enigma Computerprogrammierung Um Zufall in Spielen zu implementieren, z. B. die Kartenverteilung im Skat oder intelligentere Gegner…
Einführung in die Simulation
Folie Nr. 17
Zufallszahlen: Stichproben und Generatoren Bisher wurden Zufallszahlen als gegeben hingenommen Aber: Aus Wahrscheinlichkeitsverteilungen müssen Stichproben, d.h. eine zufällige und repräsentative Auswahl endlich vieler Werte aus der Grundgesamtheit, gewonnen werden
Wie erzeugt man Zufall? Prozessgenerator: Verfahren, das aus einer gegebenen Verteilung eine Stichprobe ermittelt
Einführung in die Simulation
Folie Nr. 18
Generierung von Zufallszahlen Gute Zufallszahlen sind für die diskrete Simulation sehr wichtig Definition: Ein Bitfolge ist „zufällig”, wenn sie nicht mit weniger Bits, als die Folge selbst hat, beschrieben werden kann • 01010000001010011011... vs. 01010101010101... „Bibel”: Donald E. Knuth: The Art of Computer Programming, Vol. 2, Seminumerical Algorithms Alle Entwicklungsumgebungen für Simulation haben eingebaute Zufallszahlengeneratoren Zufallszahlen werden gleichverteilt zwischen 0 und 1 generiert und in die gewünschte Verteilung transformiert
Einführung in die Simulation
Folie Nr. 19
Anforderungen an Zufallszahlen Die Zahlen sollen gleichverteilt sein (zw. 0 und 1) Die produzierten Zahlen sollen statistisch unabhängig sein – eine Zahl darf den Wert der nächsten Zufallszahl nicht beeinflussen Eine Folge von Zufallszahlen soll reproduzierbar sein, um Simulationsexperimente wiederholen zu können Aber: die Folge soll sich für jede beliebige Länge nicht wiederholen (keine Periodizität) (in der Praxis: Wiederholungszyklus muss sehr lang sein) Die Generierung muss sehr schnell sein – meist wird eine große Anzahl von Zufallszahlen benötigt Der Generator sollte speichereffizient sein
Einführung in die Simulation
Folie Nr. 20
Echte Zufallszahlen Beispiele: Ergebnis bei Lotto oder Roulette die letzten (unbedeutendsten) Ziffer einer (elektronischen) Uhrzeit Zähler der kosmischen Strahlung Web-Adresse: ... Suchanfragen-Trefferquoten bei Google? … Nachteil: Sequenzen von echten Zufallszahlen sind nicht reproduzierbar Echte Zufallszahlen können gekauft werden!
Einführung in die Simulation
Folie Nr. 21
Pseudozufallszahlen deterministische Erzeugung von Zufallszahlen: eine Zahl wird aus ihrem unmittelbaren Vorgänger erzeugt dabei wird ein Algorithmus mit einem Startwert (seed) benutzt der gleiche Startwert erzeugt den gleichen Strom von Zufallszahlen Frühe Methoden: Fibonacci, Mid-Square Neuere Methoden: Lineare/Multiplikative Kongruenzmethoden
Methoden prinzipiell periodisch, aber mit geeigneten Startwerten ist die Periode ausreichend lang
Einführung in die Simulation
Folie Nr. 22
Mid-Square-Methode Nur historische Bedeutung Vorgeschlagen von John von Neumann 8234 8234² 67798756 7987 7921, 7422, 0860, ... Qualität ist sehr abhängig vom Startwert 0 0, 0, 0, 0, ... 2-stellige Zahl alle nachfolgenden Zahlen sind 2-
stellig
Einführung in die Simulation
Folie Nr. 23
Fibonacci-Methode Auch nur historische Bedeutung Sei Xi die i-te generierte Zahl und m Modulus: Xi = (Xi-1 + Xi-2) mod m.
Beispiel: m = 1000, X0 = 1, X1 = 1
Wer mag, kann das mal schnell ausprobieren…
Einführung in die Simulation
Folie Nr. 24
Lineare Kongruenzmethode Seien a, c und m positiv und ganzzahlig. Pseudozufallszahl Xi+1 ergibt sich aus dem Vorgänger Xi durch die Operation
Xi+1 = (a Xi + c) mod m wobei Seed X0 natürliche Zahl Beispiel: Xi+1 = (2 Xi + 3) mod 10 mit Startwert X0 = 0 ? Die statistische Qualität der Zufallszahlen hängt von den Parametern a, c und m ab Wenn c = 0 multiplikative Kongruenzmethode Einführung in die Simulation
Folie Nr. 25
Tests für Pseudozufallszahlen Frequenz-Test (Gleichverteilung der Zahlen): Zahlenfolge mit n Zahlen wird in m Teilintervalle s zerlegt Berechnung der erwarteten Häufigkeit: Eingetroffene Häufigkeit YS zählen Die Ergebnisse sollten gleichverteilt sein Test z. B. mit einem χ2 –Anpassungstest
Einführung in die Simulation
Folie Nr. 26
Generierung anderer Verteilungen Transformation in eine stetige Gleichverteilung im Intervall [a,b]: Transformation y = a + (b - a) x. Transformation in eine diskrete Gleichverteilung im Bereich [0,b]: stetige Zufallszahlen zwischen 0 und b + 1 werden generiert Nachkommastellen werden abgeschnitten.
Einführung in die Simulation
Folie Nr. 27
Inversion der Wahrscheinlichkeitstransformation Jede Verteilung kann auf eine Gleichverteilung im Intervall [0,1] zurückgeführt werden Dabei wird die kumulative Verteilungsfunktion C(x) [cdf, cumulative distribution function] invertiert! Funktioniert für stetige und diskrete Verteilungen! Kann
für jede Verteilung eingesetzt werden Insbesondere, wenn die cdf „analytisch erfasst“ ist z.B. bei Exponentialverteilung Schwieriger bei Normalverteilung, weil die cdf nicht analytisch umkehrbar (und auch schwer zu ermitteln) ist numerische Lösung notwendig
Einführung in die Simulation
Folie Nr. 28
Einführung in die Simulation Wintersemester 11/12
FRAGEN?
[email protected]
01.11.2011
Einführung in die Simulation
Folie Nr. 29