Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Grundlagen der Simulation: Übungsaufgabe

Ähnliche Präsentationen


Präsentation zum Thema: "Grundlagen der Simulation: Übungsaufgabe"—  Präsentation transkript:

1 Grundlagen der Simulation: Übungsaufgabe
Sommersemester 2006 Torsten Reiners Universität Hamburg Fachbereich Wirtschaftswissenschaften Institut für Wirtschaftsinformatik

2 Grundlagen der Simulation eM-Plant Zugang

3 Grundlagen der Simulation Modellformulierung
in der Realität gibt es kaum deterministische Ereignisse

4 Grundlagen der Simulation Notwendigkeit von Zufallszahlen
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

5 Grundlagen der Simulation Klassisches Beispiel Zufallsexperiment
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

6 Grundlagen der Simulation Zufallsvariablen
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

7 Grundlagen der Simulation Zufallsvariablen
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.

8 Grundlagen der Simulation Erzeugung von Zufallszahlen
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

9 Grundlagen der Simulation Pseudozufallszahlen
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

10 Grundlagen der Simulation Erzeugung von Zufallszahlen
Vorgehensweise no 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 ni = f(ni-1 ) ni = f(ni-1 )

11 Grundlagen der Simulation Zufallsgenerator
Vorschrift heißt Zufallszahlengenerator! Transformation der ganzzahligen Zufallszahlen in [0,1[-gleichverteilte Zufallszahlen (0 xi < 1) Grundsätzlich wird ein Strom von Zufallszahlen erzeugt xi: xi = ni / m

12 Grundlagen der Simulation Methoden zur Erzeugung von Zufallszahlen
Mittelquadratmethode Lineare Kongruenzmethoden Gemischte Kongruenzmethode Multiplikative Kongruenzmethode Allgemeine Kongruenzmethoden Kompositionsmethoden Tausworthe Ansatz ...

13 Grundlagen der Simulation Mittelquadratmethode
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 i ni-1 (ni-1)2 ni xi 1 13 0169 16 0.16 2 0256 25 0.25 3 0625 62 0.62 4 3844 84 0.84 5 7056 0.05 6 0025 0.02 7 0004 s = 2 m = 100 n0 = 13

14 Grundlagen der Simulation Lineare Kongruenzmethode
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! i ni-1 (ni-1)2 ni xi 1 24 0576 57 0.57 2 3249 0.24 3 s = 2 m = 100 n0 = 24

15 Grundlagen der Simulation Lineare Kongruenzmethode
(einfache) Rekursionsgleichung (hier bereits um den Parameter c erweitert a Parameter m obere Schranke, maximale Länge der Periode n0 ungerader Startwert erzeugt Zahlen im Intervall [0, m -1] Beispiel ni = (a ni-1 + c ) mod m i ni-1 ni = (a ni-1 + c ) mod m ni 1 7 n1=19∙7 mod 128=133-lb(128/133) ∙128=5 0.0391 2 5 n2=19∙5 mod 128=95-lb(128/133) ∙128=95 0.7422 3 95 n3=19∙95 mod 128=1805-lb(128/133) ∙128=13 0.1016 a = 19 c = 0 m = 27 = 128 n0 = 7

16 Grundlagen der Simulation Lineare Kongruenzmethode
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

17 Grundlagen der Simulation Anforderungen an Zufallszahlengeneratoren
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

18 Grundlagen der Simulation Setzen der Parameter
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

19 Grundlagen der Simulation Multiplikative Kongruenzmethode
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 ni+1 = (ni-1 + ni-1 ) mod m

20 Grundlagen der Simulation primitives Element
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 Beispiel p = 167, Primfaktoren sind 2 und 83 12 = 1 mod 167 22 = 4 mod 167; 283 = 1 mod 167 32 = 9 mod 167; 383 = 1 mod 167 42 = 16 mod 167; 483 = 1 mod 167 52 = 25 mod 167; 583 = 166 mod 167

21 Grundlagen der Simulation Multiplikative Kongruenzmethode
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= und m =

22 Grundlagen der Simulation Allgemeinere Kongruenzmethode
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. 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

23 Grundlagen der Simulation Kompositionsmethode
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.

24 Grundlagen der Simulation Tausworthe-Generator
Zugrunde liegt eine q -fache Rekursionsgleichung bi sowie ck sind entweder 0 oder 1 (Binärvariablen) Generell haben Tausworthe-Generatoren die folgende Gestalt bi = (c1bi-1 + c2bi-2 + … + cqni-q ) mod 2 bi = (bi-r + bi-q) mod 2 mit 0<r<q

25 Grundlagen der Simulation Tausworthe-Generator
Beispiel r=3; q=5; b1 = b2 = ... = b5 = 1 Damit erzeugt der Generator die folgende Bitfolge: 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.

26 Grundlagen der Simulation Tests von Zufallsgeneratoren
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

27 Grundlagen der Simulation Empirische Tests
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

28 Grundlagen der Simulation Tests von Zufallsgeneratoren
Unabhängigkeitstests Verteilungstests Anordnungstest Tests auf Gleichverteilung Serientest weitere Momente Runtest Erwartungswert Kominatorische Tests Test auf andere Verteilungen Pokertest Normalverteilung Sammlertest Permutationstest Autokorrelationstest

29 Grundlagen der Simulation Empirische Tests
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

30 Grundlagen der Simulation Empirische Tests
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)

31 Grundlagen der Simulation Theoretische Tests
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.

32 Grundlagen der Simulation Wahrscheinlichkeitsverteilungen

33 Grundlagen der Simulation Nichttheoretische Verteilungen
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

34 Grundlagen der Simulation Nichttheoretische diskrete Verteilung
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 dem Variablenwert 2 und die Werte zwischen dem Variablenwert 3 zugewiesen werden.

35 Grundlagen der Simulation Nichttheoretische Verteilungen
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.

36 Grundlagen der Simulation Erwartungswert
Der Erwartungswert µ oder E (X) einer Zufallsvariable X gibt den Wert an, der sich bei einer häufigen Wiederholung des Zufallsexperiments einstellen wird

37 Grundlagen der Simulation Varianz/Standardabweichung
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 σ² = E (X – E (X ))²

38 Grundlagen der Simulation Kovarianz
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. Cij = E ( (Xi – E (Xi)) ⋅ (Xj – E (Xj )) )

39 Grundlagen der Simulation Bernoulli-Verteilung
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

40 Grundlagen der Simulation Poisson-Verteilung
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

41 Grundlagen der Simulation Erlang-k-Verteilung
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

42 Grundlagen der Simulation Dreiecksverteilung
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 einer oberen Grenze b Basis können grobe Schätzungen sein

43 Grundlagen der Simulation Exponentialverteilung
Dichtefunktion Erwartungswert: E (X ) = λ Varianz: V (X ) = λ2 Verwendung Zeit zwischen unabhängigen Ereignissen Einsatz zur Modellierung von Ankunftsprozessen aller Art

44 Grundlagen der Simulation Zusammenfassung Verteilungen


Herunterladen ppt "Grundlagen der Simulation: Übungsaufgabe"

Ähnliche Präsentationen


Google-Anzeigen