1. Woche Torsten Reiners Universität Hamburg Fachbereich Wirtschaftswissenschaften Institut für...

Post on 05-Apr-2015

106 views 0 download

Transcript of 1. Woche Torsten Reiners Universität Hamburg Fachbereich Wirtschaftswissenschaften Institut für...

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