Einführung in die Simulation Dr. Christoph ... - Fakultät Informatik
Einführung in die Simulation Dr. Christoph ... - Fakultät Informatik
Einführung in die Simulation Dr. Christoph ... - Fakultät Informatik
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Fakultät</strong> <strong>Informatik</strong>, Institut für Angewandte <strong>Informatik</strong>, Professur Modellierung und <strong>Simulation</strong><br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong><br />
<strong>Dr</strong>. <strong>Christoph</strong> Laroque<br />
W<strong>in</strong>tersemester 11/12<br />
<strong>Dr</strong>esden, 11.10.2011<br />
01.11.2011
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong><br />
W<strong>in</strong>tersemester 11/12<br />
ERZEUGUNG VON<br />
ZUFALLSVERTEILTEN<br />
EINGABEDATEN<br />
01.11.2011<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 2
Wozu noch mal zufallsverteilte E<strong>in</strong>gabedaten?<br />
Die Realität unterliegt Unsicherheit.<br />
Aufgezeichneter Daten bilden nur e<strong>in</strong>e (vielleicht<br />
unwahrsche<strong>in</strong>liche) Möglichkeit des Verhaltens ab.<br />
Mittel zu Abstraktion<br />
Wo werden <strong>die</strong>se E<strong>in</strong>gabedaten verwendet:<br />
• Bearbeitungszeiten<br />
• Term<strong>in</strong>ierung von Störfällen und seltenen Ereignissen<br />
• Vom modellierten System nicht bee<strong>in</strong>flussbare externe<br />
E<strong>in</strong>flüsse<br />
(Ankunftszeiten von Kunden, Aufträgen, etc…)<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 3
Grundbegriffe<br />
• Zufallsexperiment<br />
• Ereignis<br />
• Wahrsche<strong>in</strong>lichkeit<br />
• Zufallsvariable<br />
• Wahrsche<strong>in</strong>lichkeitsverteilung<br />
Nachzulesen <strong>in</strong>:<br />
• Teschl, G. und Teschl, S.: Mathematik für <strong>Informatik</strong>er, Band 2<br />
• Bamberg, G. und Baur, F.: Statistik<br />
• Law, A. M. und Kelton, W. D.: <strong>Simulation</strong> Model<strong>in</strong>g and Analysis<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 4
Wichtige Form- und Lageparameter<br />
Erwartungswert (Lage der Dichtefunktion)<br />
μ<br />
Varianz (Ausbreitung der Dichtefunktion)<br />
σ 2<br />
Standardabweichung<br />
σ<br />
Median<br />
(Variationskoeffizient (Normierung der Varianz)<br />
σ<br />
μ<br />
Schiefe)<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 5
F x = P(X ≤ x)<br />
Verteilungsfunktion<br />
F x = P(X ≤ x)<br />
Wächst monoton von 0 bis 1<br />
Rechtsseitig stetig<br />
X ist stetig (kont<strong>in</strong>uierlich), wenn F(x) stetig ist<br />
Spr<strong>in</strong>gt F(x) an e<strong>in</strong>er Stelle x 0 , dann ist <strong>die</strong> Sprunghöhe <strong>die</strong><br />
Wahrsche<strong>in</strong>lichkeit für X=x 0<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 7
Empirische Verteilungen<br />
(a) Diskrete, empirische Verteilungen<br />
(b) Kont<strong>in</strong>uierliche, empirische Verteilungen<br />
Vorteile<br />
• Alle möglichen Formen möglich<br />
• Direkte Integration von Realdaten<br />
• Anpassung e<strong>in</strong>er theoretischen Verteilung mit all ihren Tücken<br />
nicht nötig<br />
Nachteile<br />
• Große Speicheranforderungen<br />
• Ke<strong>in</strong>e Zufallszahlen über <strong>die</strong> beobachtete Realität h<strong>in</strong>aus<br />
• Bei kont<strong>in</strong>uierlichen Verteilungen komplexe Abbildung durch<br />
stückweise zusammengesetzte Funktion<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 8
Empirische Verteilungen (Erzeugung)<br />
Ergebnisse e<strong>in</strong>er Klausur:<br />
1, 2, 2, 3, 4, 4, 5, 5, 5, 1, 2, 2, 5, 5, 3, 3, 3, 1, 2, 5, 5<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 9
Theoretische Verteilungen<br />
Diskrete theoretische Verteilungen<br />
• Bernoulli<br />
• Gleichverteilung<br />
• B<strong>in</strong>omial<br />
• Geometrisch<br />
• Poisson<br />
Kont<strong>in</strong>uierliche theoretische Verteilungen<br />
• Gleichverteilung<br />
• Exponential<br />
• Gamma<br />
• Weibull<br />
• Normal<br />
• Log-Normal<br />
• Beta<br />
• <strong>Dr</strong>eieck<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 10
B<strong>in</strong>omialverteilung<br />
b<strong>in</strong>om(p,t)<br />
Anwendung bei der Bestimmung der Erfolge <strong>in</strong> t<br />
unabhängigen Bernoulliexperimenten mit P(x)=p<br />
• Anzahl fehlerhafter Teile <strong>in</strong> e<strong>in</strong>em Los der Größe t, bei<br />
P(fehlerhaft)=p<br />
Wahrsche<strong>in</strong>lichkeit für ke<strong>in</strong> fehlerhaftes Teil?<br />
Wahrsche<strong>in</strong>lichkeit für e<strong>in</strong> fehlerhaftes Teil?<br />
Wahrsche<strong>in</strong>lichkeit für höchstens e<strong>in</strong> fehlerhaftes Teil?<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 11
Gleichverteilung<br />
uniform(a,b)<br />
Anwendung zur:<br />
• Erzeugung von Zufallszahlen aller anderen<br />
Verteilungen, wenn a=0 und b=1<br />
• Das Verhalten e<strong>in</strong>es Elements zufällig ersche<strong>in</strong>t, aber<br />
ke<strong>in</strong>e weiteres Wissen vorliegt<br />
0te-Näherung<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 12
Exponentialverteilung<br />
expo( β )<br />
Anwendung bei:<br />
• Zeiten zwischen Ankünften von Kunden/ Aufträgen/ …<br />
im modellierten System<br />
• Zeit bis zum Ausfall e<strong>in</strong>es Teils<br />
Wichte Beziehungen zur Warteschlangentheorie und Poisson-<br />
Prozessen<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 13
Normalverteilung<br />
μ σ 2<br />
norm( , )<br />
Anwendung zur<br />
• Beschreibung von Messgrößen natürlicher Prozesse (Körpergröße von<br />
Menschen, …)<br />
Achtung:<br />
• Gilt als Verallgeme<strong>in</strong>erung nur bei sehr großen Stichprobenumfang<br />
(Gesetzt der großen Zahlen), wenn zusätzlich <strong>die</strong> Stichproben<br />
unabhängig vone<strong>in</strong>ander s<strong>in</strong>d -> Meist gilt <strong>die</strong>s nicht!<br />
Lästig:<br />
• Generierte Zufallszahlen liegen immer im Intervall von bis .<br />
−∞ +∞<br />
Hilfreich:<br />
• Viele mathematischen Theorien s<strong>in</strong>d mit Normalverteilung e<strong>in</strong>fach zu<br />
rechnen<br />
σ μ<br />
• ca. 68% aller 2σ Zufallszahlen liegen im Abstand 3σ zu . Ca. 95% im<br />
Abstand und ca. 99,7% im Abstand .<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 14
Vor- und Nachteile theoretischer Verteilung<br />
• Bestimmung und Parametrisierung e<strong>in</strong>er passenden<br />
Verteilung ist schwierig<br />
• Verteilung lässt sich leicht ändern, da meist nur e<strong>in</strong> oder<br />
zwei Parameter<br />
• Kompakte Formulierung<br />
• Großer Wertebereich<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 15
Auswahl e<strong>in</strong>er passenden Verteilung<br />
1. Realdaten auf Unabhängigkeit prüfen<br />
2. Auswahl der richtigen Verteilungsfamilie<br />
3. Schätzen der richtigen Parameter<br />
4. Bewerten der gewählten Verteilung<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 16
Wozu Zufallszahlen?<br />
<strong>Simulation</strong><br />
• Mittels automatisch generierter Zufallszahlen lassen sich<br />
realitätsnahe Inputdaten aus beliebigen Verteilungen<br />
generieren<br />
• Ergo: Gute Zufallszahlen s<strong>in</strong>d für <strong>die</strong> diskrete <strong>Simulation</strong><br />
sehr wichtig<br />
Kryptographie<br />
• Zur Verschlüsselung von Nachrichten, z. B. Enigma<br />
Computerprogrammierung<br />
• Um Zufall <strong>in</strong> Spielen zu implementieren, z. B. <strong>die</strong><br />
Kartenverteilung im Skat oder <strong>in</strong>telligentere Gegner…<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 17
Zufallszahlen: Stichproben und Generatoren<br />
Bisher wurden Zufallszahlen als gegeben h<strong>in</strong>genommen<br />
Aber:<br />
Aus Wahrsche<strong>in</strong>lichkeitsverteilungen müssen Stichproben,<br />
d.h. e<strong>in</strong>e zufällige und repräsentative Auswahl endlich<br />
vieler Werte aus der Grundgesamtheit, gewonnen werden<br />
Wie erzeugt man Zufall?<br />
Prozessgenerator: Verfahren, das aus e<strong>in</strong>er gegebenen<br />
Verteilung e<strong>in</strong>e Stichprobe ermittelt<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 18
Generierung von Zufallszahlen<br />
Gute Zufallszahlen s<strong>in</strong>d für <strong>die</strong> diskrete <strong>Simulation</strong> sehr wichtig<br />
Def<strong>in</strong>ition:<br />
E<strong>in</strong> Bitfolge ist „zufällig”, wenn sie nicht mit weniger Bits, als <strong>die</strong><br />
Folge selbst hat, beschrieben werden kann<br />
• 01010000001010011011... vs. 01010101010101...<br />
„Bibel”:<br />
Donald E. Knuth:<br />
The Art of Computer Programm<strong>in</strong>g, Vol. 2, Sem<strong>in</strong>umerical Algorithms<br />
Alle Entwicklungsumgebungen für <strong>Simulation</strong> haben e<strong>in</strong>gebaute<br />
Zufallszahlengeneratoren<br />
Zufallszahlen werden gleichverteilt zwischen 0 und 1<br />
generiert und <strong>in</strong> <strong>die</strong> gewünschte Verteilung transformiert<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 19
Anforderungen an Zufallszahlen<br />
Die Zahlen sollen gleichverteilt se<strong>in</strong> (zw. 0 und 1)<br />
Die produzierten Zahlen sollen statistisch unabhängig se<strong>in</strong> – e<strong>in</strong>e<br />
Zahl darf den Wert der nächsten Zufallszahl nicht bee<strong>in</strong>flussen<br />
E<strong>in</strong>e Folge von Zufallszahlen soll reproduzierbar se<strong>in</strong>, um<br />
<strong>Simulation</strong>sexperimente wiederholen zu können<br />
Aber: <strong>die</strong> Folge soll sich für jede beliebige Länge nicht wiederholen<br />
(ke<strong>in</strong>e Periodizität)<br />
(<strong>in</strong> der Praxis: Wiederholungszyklus muss sehr lang se<strong>in</strong>)<br />
Die Generierung muss sehr schnell se<strong>in</strong> – meist wird e<strong>in</strong>e große<br />
Anzahl von Zufallszahlen benötigt<br />
Der Generator sollte speichereffizient se<strong>in</strong><br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 20
Echte Zufallszahlen<br />
Beispiele:<br />
• Ergebnis bei Lotto oder Roulette<br />
• <strong>die</strong> letzten (unbedeutendsten) Ziffer e<strong>in</strong>er<br />
(elektronischen) Uhrzeit<br />
• Zähler der kosmischen Strahlung<br />
• Web-Adresse: ... Suchanfragen-Trefferquoten bei<br />
Google?<br />
• …<br />
Nachteil: Sequenzen von echten Zufallszahlen s<strong>in</strong>d nicht<br />
reproduzierbar<br />
Echte Zufallszahlen können gekauft werden!<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 21
Pseudozufallszahlen<br />
determ<strong>in</strong>istische Erzeugung von Zufallszahlen:<br />
• e<strong>in</strong>e Zahl wird aus ihrem unmittelbaren Vorgänger erzeugt<br />
• dabei wird e<strong>in</strong> Algorithmus mit e<strong>in</strong>em Startwert (seed)<br />
benutzt<br />
• der gleiche Startwert erzeugt den gleichen Strom von<br />
Zufallszahlen<br />
• Frühe Methoden:<br />
Fibonacci, Mid-Square<br />
• Neuere Methoden:<br />
L<strong>in</strong>eare/Multiplikative Kongruenzmethoden<br />
Methoden pr<strong>in</strong>zipiell periodisch, aber mit geeigneten Startwerten<br />
ist <strong>die</strong> Periode ausreichend lang<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 22
Mid-Square-Methode<br />
Nur historische Bedeutung<br />
Vorgeschlagen von John von Neumann<br />
8234 8234² 67798756 7987<br />
7921, 7422, 0860, ...<br />
Qualität ist sehr abhängig vom Startwert<br />
• 0 0, 0, 0, 0, ...<br />
• 2-stellige Zahl alle nachfolgenden Zahlen s<strong>in</strong>d 2-<br />
stellig<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 23
Fibonacci-Methode<br />
Auch nur historische Bedeutung<br />
Sei X i <strong>die</strong> i-te generierte Zahl und m Modulus:<br />
• X i = (X i-1 + X i-2 ) mod m.<br />
Beispiel: m = 1000, X 0 = 1, X 1 = 1<br />
Wer mag, kann das mal schnell ausprobieren…<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 24
L<strong>in</strong>eare Kongruenzmethode<br />
Seien a, c und m positiv und ganzzahlig.<br />
Pseudozufallszahl X i+1 ergibt sich aus dem Vorgänger X i durch<br />
<strong>die</strong> Operation<br />
• X i+1 = (a X i + c) mod m<br />
wobei Seed X 0 natürliche Zahl<br />
• Beispiel: X i+1 = (2 X i + 3) mod 10 mit<br />
Startwert X 0 = 0 ?<br />
Die statistische Qualität der Zufallszahlen hängt von den<br />
Parametern a, c und m ab<br />
Wenn c = 0 multiplikative Kongruenzmethode<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 25
Tests für Pseudozufallszahlen<br />
Frequenz-Test (Gleichverteilung der Zahlen):<br />
Zahlenfolge mit n Zahlen wird <strong>in</strong> m Teil<strong>in</strong>tervalle s zerlegt<br />
Berechnung der erwarteten Häufigkeit:<br />
E<strong>in</strong>getroffene Häufigkeit Y S zählen<br />
Die Ergebnisse sollten gleichverteilt se<strong>in</strong><br />
Test z. B. mit e<strong>in</strong>em<br />
χ 2 –Anpassungstest<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 26
Generierung anderer Verteilungen<br />
Transformation <strong>in</strong> e<strong>in</strong>e stetige Gleichverteilung<br />
im Intervall [a,b]:<br />
• Transformation y = a + (b - a) x.<br />
Transformation <strong>in</strong> e<strong>in</strong>e diskrete Gleichverteilung<br />
im Bereich [0,b]:<br />
• stetige Zufallszahlen zwischen 0 und b + 1 werden<br />
generiert<br />
• Nachkommastellen werden abgeschnitten.<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 27
Inversion der Wahrsche<strong>in</strong>lichkeitstransformation<br />
Jede Verteilung kann auf e<strong>in</strong>e Gleichverteilung im Intervall [0,1]<br />
zurückgeführt werden<br />
Dabei wird <strong>die</strong> kumulative Verteilungsfunktion C(x) [cdf,<br />
cumulative distribution function] <strong>in</strong>vertiert!<br />
Funktioniert für stetige und diskrete Verteilungen!<br />
Kann für jede Verteilung e<strong>in</strong>gesetzt werden<br />
• Insbesondere, wenn <strong>die</strong> cdf „analytisch erfasst“ ist<br />
• z.B. bei Exponentialverteilung<br />
• Schwieriger bei Normalverteilung, weil <strong>die</strong> cdf nicht<br />
analytisch umkehrbar (und auch schwer zu ermitteln) ist<br />
numerische Lösung notwendig<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 28
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong><br />
W<strong>in</strong>tersemester 11/12<br />
FRAGEN?<br />
CHRISTOPH.LAROQUE@MAILBOX.TU-DRESDEN.DE<br />
01.11.2011<br />
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Simulation</strong> Folie Nr. 29