Upload
bertilda-schimp
View
106
Download
0
Embed Size (px)
Citation preview
1. Woche
Torsten Reiners
Universität HamburgFachbereich WirtschaftswissenschaftenInstitut für Wirtschaftsinformatik
Grundlagen der Simulation: Übungsaufgabe
Sommersemester 2006
1-2
d
Grundlagen der Simulation
eM-Plant Zugang
1-3
in der Realität gibt es kaum deterministische Ereignisse
Grundlagen der Simulation
Modellformulierung
1-4
Art und Umfang von Aufträgen, die in einer Werkstatt eintreffen Zeit, zwischen dem Eintreffen von zwei Aufträgen bzw. allgemein Ankunftsprozesse in vielen Warteschlangensystemen Ausfall von Maschinen Krankenstand von Personal Bearbeitungs- und Transportzeiten Auftreten von Qualitätsmängeln nach Art und Häufigkeit
Grundlagen der Simulation
Notwendigkeit von Zufallszahlen
1-5
Werfen einer Münze 2 mögliche Ergebnisse (Kopf oder Zahl) vor dem Wurf ist das Ergebnis unbekannt Ergebnisse voneinander unabhängig
• Ergebnis hat keinen Einfluss auf das nächste Ergebnis
• „gedächtnislos“
Wiederholung von Experimenten erlaubt die Ermittlung von Wahrscheinlichkeiten (relative Häufigkeit)
Wahrscheinlichkeitsmodell bildet alle möglichen Ereignisse (Ergebnisraum) mit den zugehörigen Wahrscheinlichkeiten ab
Zufallsvariable „speichern“ den (numerischen) Ausgang des Experiments
Grundlagen der Simulation
Klassisches Beispiel Zufallsexperiment
1-6
Sei X eine Zufallsvariable X heißt diskret, wenn sie nur eine abzählbare Anzahl
von Werten x1, x2, ... annehmen kann
Kennzeichnend für eine diskrete Zufallsvariable ist eine diskrete Wahrscheinlichkeitsfunktion p (xi ), die jedem möglichen Ereignis xi (i =1, 2, ...) eine reelle Zahl zuordnet: P (X=xi ) = p (xi )
Es muss gelten: 0 < p (xi ) < 1 ∀i und
Grundlagen der Simulation
Zufallsvariablen
1)(1
iixp
1-7
X heißt kontinuierlich, wenn eine Dichtefunktion f(x) existiert, die die Wahrscheinlichkeit angibt, dass X in einem Intervall I liegt:
Es muss gelten: 0 ≤ f (x) ≤ 1 ∀x∈ℜ und = 1
Dann wird F (x) = P (X ≤ x) = als Verteilungs-
funktion der Zufallsvariablen X bezeichnet, wobei x alle Werte der reellen Zahlengerade durchläuft.
Grundlagen der Simulation
Zufallsvariablen
dxxfIxPI )()(
dxxf )(
dxxf )(
1-8
Zufallszahlen als Realisierung exogener stochastischer Variablen Stichprobe aus der Verteilung einer Variable
Erzeugung Mechanisch erzeugte („echte“) Zufallszahlen
Beispiele: Würfel, Roulette, Ziehung der Lottozahlen Mit einem Digital-Computer erzeugte Pseudozufallszahlen
deterministischer Algorithmus (reproduzierbar)
Ziele: Gleichverteilung, keine Korrelation, große Periodenlänge
Grundlagen der Simulation
Erzeugung von Zufallszahlen
1-9
Vorteile schnell zu generieren volle Wiederverwendbarkeit keine externen Einflüsse günstige/homogene Hardware (im Vergleich zu echten Zufallszahlen) Hilfe für Tests während des Programmentwurfs Unterstützung bei systematischer, statistischer Auswertung
Nachteil keine echten Zufallszahlen (Perioden) Abhängigkeit Korrelationen nur scheinbar unabhängig
Grundlagen der Simulation
Pseudozufallszahlen
1-10
Vorgehensweiseno Startwert (Seed, ganze Zahl)
ni Folge von i ganzen Zahlen
m obere Schranke der Folge ni (ni < m für i)
Einfache rekursive Vorschrift
k-fache rekursive Vorschrift
mit festem k N und gegebener Anfangsfolge n0, n1, …, nk-1
Grundlagen der Simulation
Erzeugung von Zufallszahlen
ni = f(ni-1 )
ni = f(ni-1 )
1-11
Vorschrift heißt Zufallszahlengenerator! Transformation der ganzzahligen Zufallszahlen in [0,1[-
gleichverteilte Zufallszahlen (0 xi < 1)
Grundsätzlich wird ein Strom von Zufallszahlen erzeugt
Grundlagen der Simulation
Zufallsgenerator
xi: xi = ni / m
1-12
Mittelquadratmethode Lineare Kongruenzmethoden
Gemischte Kongruenzmethode Multiplikative Kongruenzmethode
Allgemeine Kongruenzmethoden Kompositionsmethoden Tausworthe Ansatz ...
Grundlagen der Simulation
Methoden zur Erzeugung von Zufallszahlen
1-13
J. v. Neumann Vorgehen
ni sind s-stellige Dezimalzahlen mit s gerade (m=10s)
ni erhält man, indem man ni-1 quadriert und aus dem 2∙s-stelligen Ergebnis (inkl. der evtl. führenden Nullen) die mittleren s Stellen als ni auswählt.
Beispiel
Grundlagen der Simulation
Mittelquadratmethode
i ni-1 (ni-1)2 ni xi
1 13 0169 16 0.16
2 16 0256 25 0.25
3 25 0625 62 0.62
4 62 3844 84 0.84
5 84 7056 5 0.05
6 5 0025 2 0.02
7 2 0004 0 0
…
s = 2
m = 100
n0 = 13
1-14
Definition: Periode Eine Periode ist ein Teilstück einer Folge von Zufallszahlen, das sich identisch wiederholt (und nicht selbst aus identischen Teilstücken besteht).
Beobachtung: Alle rekursiv erzeugten Zufallszahlen besitzen eine Periode!
Grundlagen der Simulation
Lineare Kongruenzmethode
i ni-1 (ni-1)2 ni xi
1 24 0576 57 0.57
2 57 3249 24 0.24
3 24 … … …
…
s = 2
m = 100
n0 = 24
1-15
(einfache) Rekursionsgleichung (hier bereits um den Parameter c erweiterta Parameter
m obere Schranke, maximale Länge der Periode
n0 ungerader Startwert
erzeugt Zahlen im Intervall [0, m -1]
Beispiel
Grundlagen der Simulation
Lineare Kongruenzmethode
i ni-1 ni = (a ni-1 + c ) mod m ni
1 7n1=19∙7 mod 128=133-lb(128/133) ∙128=5
0.0391
2 5n2=19∙5 mod 128=95-lb(128/133) ∙128=95
0.7422
3 95n3=19∙95 mod 128=1805-lb(128/133) ∙128=13
0.1016
…
a = 19
c = 0
m = 27 = 128
n0 = 7
ni = (a ni-1 + c ) mod m
1-16
Grundlage vieler Implementationen z.B. m = 2s, für Rechner mit der Wortlänge s bzw. (s +
1)-Bit. Die Modulo-Funktion kann mit Hilfe der Assemblersprache sehr einfach realisiert werden (→ Überlauf!)
Probleme Es werden nur bestimmte Zahlen an diskreten Punkten im Intervall [0,1] „getroffen„ Die Zahlen wiederholen sich mit einer Periode p≤m Die Zahlen können direkt ermittelt werden; es gilt
Grundlagen der Simulation
Lineare Kongruenzmethode
1-17
Folgende Anforderungen resultieren an die Generatoren Die Periode sollte so groß wie möglich sein. Im Idealfall gilt
Periodenlänge p = m (full-period Generator) Alle Zahlen von 0 bis m-1 sollten mit der gleichen Wahrscheinlichkeit
erzeugt werden (Gleichverteilung) Die entstehende Zahlenfolge sollte so zufällig wie möglich scheinen,
d.h. alle ganzen Zahlen 0, 1, ..., m-1, alle Zahlentupel, Tripel oder n-Tupel sollten mit gleicher Wahrscheinlichkeit an jeder Stelle der Zahlenfolge erscheinen können
Grundlagen der Simulation
Anforderungen an Zufallszahlengeneratoren
1-18
Generell muss gelten: 0<m; a<m; c<m;
n0<m (da gilt: (x + m) mod m = x mod m)
Satz 1: Ein auf der linearen Kongruenzmethode basierender Zufallszahlengenerator ist genau dann ein full-period Generator, wenn gilt: Der größte gemeinsame Teiler von m und c ist 1 Wenn q Primteiler von m ist, dann muss a-1 auch durch q teilbar sein Wenn 4 Teiler von m ist, dann muss 4 auch Teiler von a-1 sein
Grundlagen der Simulation
Setzen der Parameter
1-19
Satz 2: Ein auf der multiplikativen Kongruenzmethode basierender Zufallszahlengenerator ist genau dann ein full-period Generator, wenn gilt: Der größte gemeinsame Teiler von n0 und m ist 1 (relativ prim)
a ist primitives Element mod n Eine maximale Länge ist erreichbar, wenn m eine Primzahl ist
Weitere Variante ist der Fibonacci-Generator
Grundlagen der Simulation
Multiplikative Kongruenzmethode
ni+1 = (ni-1 + ni-1 ) mod m
1-20
Satz 3: Sei p eine Primzahl mit p > 4. Eine ganze Zahl g ist genau dann primitives Element von Zp , wenn für jeden Primfaktor q von p-1 das Folgende gilt: gPrimfaktoren≠ 1 mod p
Beispielp = 167, Primfaktoren sind 2 und 83
1) 12 = 1 mod 167
2) 22 = 4 mod 167; 283 = 1 mod 167
3) 32 = 9 mod 167; 383 = 1 mod 167
4) 42 = 16 mod 167; 483 = 1 mod 167
5) 52 = 25 mod 167; 583 = 166 mod 167
Grundlagen der Simulation
primitives Element
1-21
Es gilt c = 0 ⇒ Teil (a) von Satz (2.1) ist nicht erfüllt Es lässt sich zeigen, dass p ≤ 2s-2 gilt, wenn m = 2s gewählt wird. Es gibt ein Vielzahl von unterschiedlichen Generatoren, die auf
dieser Methode basieren PMMLCG (prime modulus multiplikative linear congruence generators).
Bestimmung von a, m und n0 bei PMMLCG: m Größte Primzahl für die gilt m < 2s
a Es muss gelten: Die kleinste Zahl l, für die al-1 durch m teilbar ist, ist l=m-1
Unter diesen Bedingungen gilt bei beliebiger Wahl von n0 stets p = m -1
Beispiel für einen PMMLCG: Die Simulationssprache SIMSCRIPT II.5 bietet Generatoren mit a=630360016
und m = 231 - 1
Grundlagen der Simulation
Multiplikative Kongruenzmethode
1-22
Zugrunde liegt eine k-fache Rekursionsgleichung
Beispiele: Quadratische Kongruenz:
Verallgemeinerte lineare Kongruenz:
Vorteil: Periodenlängen von p >> m werden möglich.
Nachteil: Die Kalkulation von ni wird rechenzeitintensiver.
Grundlagen der Simulation
Allgemeinere Kongruenzmethode
ni = f (ni-1 , ni-2 , …, ni-k ) mod m
ni = (a∙ni-1 + b∙ni-1 + c ) mod m
ni = (a1ni-1 + a2ni-2 + … + ai-kni-k ) mod m
1-23
Grundgedanke: Zwei auf einer linearen Kongruenzmethode basierende Generatoren werden in geeigneter Weise miteinander kombiniert.
Beispiel: Mit dem ersten Generator wird ein Vektor V von k Zufallszahlen
erzeugt Mit dem zweiten Generator wird eine gleichverteilte ganze Zahl i
zwischen 1 und k ermittelt Als Ergebnis wird die i-te Komponente von V zurückgegeben. Anschließend ersetzt der erste Generator die i-te Komponente in V
durch die nächste vom ihm erzeugte Zufallszahl. Vorteil:
Mit dieser Methode kann aus zwei "schlechten" Generatoren ein Generator mit guten statistischen Eigenschaften gemacht werden.
Grundlagen der Simulation
Kompositionsmethode
1-24
Zugrunde liegt eine q -fache Rekursionsgleichung
bi sowie ck sind entweder 0 oder 1 (Binärvariablen)
Generell haben Tausworthe-Generatoren die folgende Gestalt
Grundlagen der Simulation
Tausworthe-Generator
bi = (c1bi-1 + c2bi-2 + … + cqni-q ) mod 2
bi = (bi-r + bi-q) mod 2 mit 0<r<q
1-25
Beispielr=3; q=5; b1 = b2 = ... = b5 = 1
Damit erzeugt der Generator die folgende Bitfolge:11111 00011 01110 10...
Teilfolgen werden als binäre Darstellung der eigentlichen Zufallszahl interpretiert.
Die maximale Periodenlänge von Tausworthe-Generatoren ist 2q - 1 Das resultiert aus der Anzahl von Möglichkeiten q Binärzeichen zu
permutieren. Vorteile:
Addition und mod 2 sind äquivalent zum „exklusiven oder“ ⇒ effiziente Ermittlung der nächsten Zahl ist sichergestellt
Problem: Der Ansatz, aus den Bitfolgen gleichverteilte Zufallszahlen zu erzeugen, ist
umstritten. Eingesetzt wird ein Tausworthe-Generator z.B. in der Simulationssprache
GPSS/H.
Grundlagen der Simulation
Tausworthe-Generator
1-26
Grundsätzliches Zufallszahlengeneratoren sind deterministische
Berechnungsvorschriften Sie werden getestet, um festzustellen wie stochastisch sie erscheinen
Zwei Klassen von Tests lassen sich unterscheiden: Empirische Test
• Zufallsgenerator wird ausprobiert
• k Zufallszahlen erzeugen und statistisch testen Gleichverteilung Korrelation bzw. Unabhängigkeiten
Theoretische Tests
Grundlagen der Simulation
Tests von Zufallsgeneratoren
1-27
Optische Tests Aus dem Zahlenstrom X1, X2, …, Xn werden Zahlentupel gebildet 2D- bzw. 3D-Plots sind üblich Bei zufälligen Zahlenströmen entstehen keine Muster
Problem Aussage nur über einen Ausschnitt des Zahlenstroms möglich lokale Tests
Grundlagen der Simulation
Empirische Tests
1-28
Grundlagen der Simulation
Tests von Zufallsgeneratoren
UnabhängigkeitstestsUnabhängigkeitstests
AnordnungstestAnordnungstest
SerientestSerientest
RuntestRuntest
Kominatorische TestsKominatorische Tests
PokertestPokertest
SammlertestSammlertest
PermutationstestPermutationstest
AutokorrelationstestAutokorrelationstest
VerteilungstestsVerteilungstests
Tests auf GleichverteilungTests auf Gleichverteilung
weitere Momenteweitere Momente
ErwartungswertErwartungswert
NormalverteilungNormalverteilung
Test auf andere Test auf andere VerteilungenVerteilungen
1-29
Serientest sind wiederkehrende Muster zu erkennen sind in den Zahlenfolgen auffällige Lücken
Runtest Zahlenfolgen sollten steigen und fallen Differenz benachbarter Zahlen mal positiv, mal negativ Runs: gleiches Vorzeichen bei mehreren Zahlen
Pokertest Transformation des Zahlenstroms auf die Ziffern 0-9 durch Intervallbildung Zusammenfassung der Folge zu Quintupeln Vergleich der relativen Häufigkeiten der verschiedenen Quintupel mit der
berechneten Wahrscheinlichkeiten
Grundlagen der Simulation
Empirische Tests
1-30
Permutationstest Unterteilung der Zahlenfolge im Tupel (z.B. Triple) Indexierung der einzelnen Elemente der Tupel nach der Größe Häufigkeitsauswertung der einzelnen Permutationen der Indizes
Autokorrelationstest Test auf lineare Unabhängigkeit Es wird der Korrelationskoeffizient r(Xn, Xn+a) mit a gleich der Abstand
zwischen zwei Zahlen der Zahlenfolge Erwartungswerttest
Der Erwartungswert aus einer gleichverteilten Stichprobe [0,1[ Erwartungswert ist das arithmetische Mittel der Stichprobe (0.5)
Grundlagen der Simulation
Empirische Tests
1-31
Versuchen a priori Aussagen über Generatoren anhand ihrer Parameter zu machen
theoretische Tests sind global Problem: Die Durchführung ist komplizierter bzw. auf als
bei empirischen Tests Grundsätzliches zum Testen von Generatoren
Der Aufwand zur Untersuchung der Generatoren sollte von der Bedeutung der Güte der Zufallszahlen für den jeweiligen Anwendungsfall abhängig gemacht werden.
Grundlagen der Simulation
Theoretische Tests
1-32
Grundlagen der Simulation
Wahrscheinlichkeitsverteilungen
1-33
Diskrete Werte werden direkt mit ihren jeweiligen relativen Wahrscheinlichkeiten (ungleich 0) angegeben
Jedem möglichen Variablenwert werden ganzzahlige Zufallszahlen (Integer-Random-Variablen) zugewiesen, so daß die Anzahl dieser Variablen proportional zur Wahrscheinlichkeit des Wertes ist.
unendliche Zahl von Werten; Modellierung von Zeiträumen Wahrscheinlichkeit, dass die Zufallsvariable einen
bestimmten Wert annimmt, ist gleich Null. Die Wahrscheinlichkeit, dass sie irgendeinen Wert im Intervall annimmt, gleich Eins. Daher wird mit sogenannten kumulativen Wahrscheinlichkeiten gearbeitet. Die Dichtefunktion P(x) einer Verteilung
Grundlagen der Simulation
Nichttheoretische Verteilungen
1-34
Beispiel Sie haben bereits 100 Lieferungen getätigt und
• 40 Lieferungen binnen eines Tages,
• 40 Lieferungen in zwei Tagen und
• 20 Lieferungen in drei Tagen erfolgen.
Dann sind die relativen Häufigkeiten für die Lieferung • in einem Tag 40/100 = 0,4,
• in zwei Tagen ebenfalls 40/100 = 0,4 und
• in drei Tagen 20/100 = 0,2.
Werden nun 100 Zufallszahlen zwischen 0 und 99 generiert, dann können z.B. • die Werte zwischen 0-39 dem Variablenwert (Lieferzeit in Tagen) 1,
• die Werte zwischen 40-79 dem Variablenwert 2 und
• die Werte zwischen 80-99 dem Variablenwert 3 zugewiesen werden.
Grundlagen der Simulation
Nichttheoretische diskrete Verteilung
1-35
ist eine intervallweise stetige Funktion, die angibt, wie hoch die Wahrscheinlichkeit ist, dass die Zufallsvariable X in einem vorgegebenen Intervall liegt,
kann keine negativen Werte annehmen, und die Fläche zwischen der Funktion und der x-Achse ergibt immer den Wert 1,
bestimmt die kumulative Wahrscheinlichkeitsfunktion C(x), die sogenannte Verteilungsfunktion. Sie
Wahrscheinlichkeit, daß ein Bauteil bis zu einem bestimmten Zeitpunkt ausfällt. Die Wahrscheinlichkeit, daß das Bauteil im ersten Jahr ausfällt, beträgt 0.5, daß es während der ersten drei Jahre ausfällt, 0.9 usw.
Grundlagen der Simulation
Nichttheoretische Verteilungen
1-36
Der Erwartungswert µ oder E (X) einer Zufallsvariable X gibt den Wert an, der sich bei einer häufigen Wiederholung des Zufallsexperiments einstellen wird
Grundlagen der Simulation
Erwartungswert
ist diskret X falls )(
istlich kontinuier X falls )(
1i
ii xpx
dxxfx
1-37
Die Varianz σ² oder V (X) einer Zufallsvariablen X ist ein Maß für die Streuung der Variablen
Die Standardabweichung σ oder S (X ) ist als positive Quadratwurzel aus der Varianz definiert
Grundlagen der Simulation
Varianz/Standardabweichung
σ² = E (X – E (X ))²
1-38
Die Kovarianz Cij von zwei Zufallsvariablen Xi und Xj ist ein Maß für die Abhängigkeit der beiden Zufallsvariablen (Mittelwert der für alle Datenpunktpaare gebildeten Produkte der Abweichungen)
Es gilt: Cij = 0 ⇒ Xi und Xj sind unabhängig (Die Umkehrung gilt im allgemeinen nicht!)
Ist Cij > 0 (Cij < 0) so werden Xi und Xj als positiv (negativ) korreliert bezeichnet. Tendenziell treten dann Xi> E(Xi) sowie Xj > E(Xj) gemeinsam (nicht gemeinsam) auf.
Als standardisiertes Maß für die Korrelation wird der Koeffizient
verwendet. Es gilt -1 ≤ ρij ≤ 1.
Grundlagen der Simulation
Kovarianz
22ji
ijij
C
Cij = E ( (Xi – E (Xi)) ⋅ (Xj – E (Xj )) )
1-39
Beschreibt die Ergebniswahrscheinlichkeit eines Experimentes mit zwei möglichen Ausgängen, die sich durch X = 0 bzw. X = 1 charakterisieren lassen.
Wahrscheinlichkeitsverteilung
Erwartungswert: E (X ) = p Varianz: V (X) = p – p ²
Verwendung Immer dann, wenn ein Experiment
gelingen (X=1) oder misslingen (X=0) kann
Grundlage der Binomial-Verteilung
Grundlagen der Simulation
Bernoulli-Verteilung
sonst0
0für 1
1für
)( xp
xp
xp
1-40
Beschreibt die Wahrscheinlichkeit, dass in einem bestimmten Zeitintervall eine Anzahl von x Ereignissen auftritt.
Unterstellt wird ein unabhängiges Auftreten der einzelnen Ereignisse.
Im Mittel treten pro Zeiteinheit λ>0 Ereignisse auf.
Wahrscheinlichkeitsverteilung
Erwartungswert: E (X ) = λ Varianz: V (X ) = λ
Verwendung Modellierung der Anzahl von pro Zeiteinheit nachgefragten Einheiten; z.B.
Nachfrage in einem Lagerhaltungsmodell
Grundlagen der Simulation
Poisson-Verteilung
sonst0
3,... 2, 1,für !
)(
xx
e
xp
x
1-41
Spezialfall der Gamma-Verteilung; k muss eine nichtnegative ganze Zahl sein
Dichtefunktion
Erwartungswert: E (X ) = k⋅µ Varianz: V (X ) = k⋅µ²
Verwendung Modellierung von Bearbeitungs-
zeiten, beispielsweise zur Durch-führung von Reparaturen
Grundlagen der Simulation
Erlang-k-Verteilung
sonst0
0für )!1(
)(
1
xk
ex
xf
xkk
1-42
Dichtefunktion
E (X ) =
V (X ) =
Verwendung Einsatz in "informationsarmen" Situationen Benötigt wird die Kenntnis des häufigsten
Wertes m, einer unteren Grenze a und eineroberen Grenze b
Basis können grobe Schätzungen sein
Grundlagen der Simulation
Dreiecksverteilung
sonst0
für )()(
)(2
für )()(
)(2
)( bxmabmb
xb
mxaabam
ax
xf
18
b)-(mmm)-(bbm)-(aa
3
m)b(a
1-43
Dichtefunktion
Erwartungswert: E (X ) = λ Varianz: V (X ) = λ2
Verwendung Zeit zwischen unabhängigen Ereignissen Einsatz zur Modellierung von
Ankunftsprozessen aller Art
Grundlagen der Simulation
Exponentialverteilung
sonst0
0für
)(
xe
xf
x
1-44
Grundlagen der Simulation
Zusammenfassung Verteilungen