Stochastic Simulation

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Polynomial Root Isolation
Simulation komplexer technischer Anlagen
im Rahmen der Vorlesung
Fachreferat in Mathematik
Genetische Algorithmen für die Variogrammanpassung
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Übersicht DIALIGN = DIagonal ALIGNment
Locomotion, Reaction, and Diffusion in Biological Systems (Bio-Soft-Prosem) Dozentinnen/Dozenten Prof. Dr. Roland Netz, Dr. Vladimir Lobaskin Angaben Proseminar,
Genetische Algorithmen
Genetische Algorithmen
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
von Reaktionen und chemischen Suppen
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Das Maßproblem von Klee
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Biochemische Reaktionen. Gliederung 1. Einführung 1. Das Massenwirkungsgesetz 1. Enzyme 3.1 Enzymkinetik 3.2 Modelle Gleichgewichtsapproximation.
K. Desch - Statistik und Datenanalyse SS05
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Klausuraufgaben.
Zeitreihenanalyse WS 2004/2005 Michael Hauhs / Gunnar Lischeid
Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:
Hauptseminar Automaten und Formale Sprachen
Die Simulation von Planetenbewegungen
Handlungsplanung und Allgemeines Spiel „Ausblick: GDL-II“
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Konzeption und Realisierung von DSS
Vorlesung: Biometrie für Studierende der Veterinärmedizin
Variationsformalismus für das freie Teilchen
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
Computerorientierte Physik VORLESUNG Zeit: jeweils Mo Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz 5, A-8010.
Effiziente Algorithmen
Effiziente Algorithmen
Einführung in die Programmierung
Effiziente Algorithmen
Die Logistische Gleichung & Die Kepler Gleichungen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Numerische Lösung chemischer Gleichungen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Anfang Präsentation 10. November, 2004 Effiziente Lösung von Gleichungssystemen In dieser Vorlesung wird die effiziente gemischt symbolisch/numerische.
V12 Stochastische Effekte
Fourier-Analyse und technologische Anwendungen
University of Würzburg Informatik III (Distributed Systems) Prof. Dr. P. Tran-Gia www3.informatik.uni-wuerzburg.de Towards Efficient Simulation of Large.
Dr.-Ing. René Marklein - NFT I - WS 06/07 - Lecture 4 / Vorlesung 4 1 Numerical Methods of Electromagnetic Field Theory I (NFT I) Numerische Methoden der.
Vom Neuron bis zur Boltzmann Maschine Miguel Domingo & Marco Block Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Optionsbewertung Elena Kostiaeva.
Course in Summer Semester 2017
 Präsentation transkript:

Stochastic Simulation Hauptseminar 11.07.2007 Ludwig Geistlinger

Gliederung 1. Problemstellung 2. Deterministische Methode 3. Stochastische Methode 4. Effizienzverbesserung 5. Anwendung

1. Problemstellung

→ räumlich homogenes Volumen V 1. Problemstellung Gegeben: → räumlich homogenes Volumen V → N chemisch aktive Spezies Si ( i = 1, …, N ) Xi := aktuelle Anzahl von Molekülen der Art Si in V → M chemische Reaktionen Rμ ( μ = 1, …, M ) → Rμ durch Reaktionskonstante kμ charakterisiert

+ + + N = 4 Si = { A, B, C, D } Xi = { 8, 6, 5, 5} Rμ = { A ↔ B, 1. Problemstellung C B + N = 4 D A A B Si = { A, B, C, D } D + A Xi = { 8, 6, 5, 5} C A A C D Rμ = { A ↔ B, 2A ↔ C, A+D ↔ 2A } D C B C B A + D A B kμ = { k1 , k2, …, k6 } A B

Bestimmung bzw. Simulation der Zeitevolution aller Xi 1. Problemstellung Zielstellung: Bestimmung bzw. Simulation der Zeitevolution aller Xi Xi(t) Konzentration c cEq Zeit t

2. Deterministische Methode 2.1 Exkurs Differentialgleichungen 2.2 Zwei Beispiele 2.3 Probleme dieser Methode

2.1 Exkurs Differentialgleichungen 2. Deterministische Methode 2.1 Exkurs Differentialgleichungen → Ableitung als Änderungsrate (hier: Änderung der Konzentration pro Zeit) → Anfangswertprobleme mit Diff.glg. erster Ordnung: gegeben: (A) Diff.glg.: → Allgemeine Lösung: (B) Anfangsbedingung: x(t0) = x0 → ergibt spezielle Lösung

2.2 Zwei Beispiele (1) mit X(0) = X0 2. Deterministische Methode 2.2 Zwei Beispiele (1) mit X(0) = X0 X(t) … kontinuierliche Fkt., die die Anzahl der Moleküle der Species X in V zum Zeitpunkt t repräsentiert (A) Aufstellen der Differentialgleichung: (B) Lösen der Differentialgleichung: (C) Einsetzen der Anfangsbedingung:

→ Aufstellen der Differentialgleichungen: 2. Deterministische Methode (2) → Aufstellen der Differentialgleichungen:

2.3 Probleme der deterministischen Methode 2. Deterministische Methode 2.3 Probleme der deterministischen Methode → Keine Berücksichtigung von Korrelationen → Keine Berücksichtigung von Fluktuationen → Problembereich Differentialgleichungen (Berechnung, Eindeutigkeit, Existenz) … Alternative(n) ?

3. Stochastische Methode 3.1 Die Idee 3.2 Der Algorithmus 3.3 Simulation mit COPASI

3.1 Die Idee → det. Methode: Reaktionskonstanten ↔ Reaktionsraten 3. Stochastische Methode 3.1 Die Idee → det. Methode: Reaktionskonstanten ↔ Reaktionsraten N gekoppelte Differentialgleichungen → stochastische Methode: Reaktionskonstanten ↔ Reaktionswahrscheinlichkeiten Random Walk auf einer N-dimensionalen Markov-Kette Simulation über eine Master-Equation

3. Stochastische Methode Master Equation Bsp.:

Fundamentalhypothese: 3. Stochastische Methode Fundamentalhypothese: kμ … Wahrscheinlichkeit, dass eine bestimmte Kombination von Reaktanden im nächsten Zeitintervall gemäß Rμ reagiert hμ … Anzahl der unterschiedlichen Kombinationen von Reaktanden für Rμ zum Zeitpunkt t in V → hμ kμ … Wahrscheinlichkeit, dass eine Rμ Reaktion im nächsten Zeitintervall in V auftritt

Dichtefunktion der Reaktionswahrscheinlichkeit 3. Stochastische Methode Dichtefunktion der Reaktionswahrscheinlichkeit P(τ , μ) … Wahrscheinlichkeit zum Zeitpunkt t, dass die nächste Reaktion in V im Zeitintervall [ t , t + τ ] auftritt und eine Reaktion des Typs Rμ ist P(„Rμ tritt auf“) P(„Keine Reaktion“)

3.2 Der Algorithmus Schritt 1 (Initialisierung) 3. Stochastische Methode 3.2 Der Algorithmus Schritt 1 (Initialisierung) t = 0 : Xi = Xi(0) kμ → hμkμ Schritt 2 (Monte Carlo) → generiere Zufallspaar (τ , μ) aus P(τ , μ) Schritt 3 (Evolution) t = t + τ : Xi = Xi + ∆Xi → Berechne hμkμ neu Schritt 4 (Terminierung) t > tstop oder alle hμ = 0

3.2 Der Algorithmus Schritt 1 (Initialisierung) 3. Stochastische Methode 3.2 Der Algorithmus Schritt 1 (Initialisierung) t = 0 : Xi = Xi(0) kμ = kμ(0) → hμkμ Schritt 2 (Monte Carlo) → generiere Zufallspaar (τ , μ) aus P(τ , μ) Schritt 3 (Evolution) t = t + τ : Xi = Xi - ∆Xi → Berechne hμkμ neu Schritt 4 (Terminierung) t > tstop oder alle hμ = 0

Generierung eines Zufallpaares (τ , μ) aus P(τ , μ) „Konditionieren“: 3. Stochastische Methode Generierung eines Zufallpaares (τ , μ) aus P(τ , μ) „Konditionieren“: → τ ist stetig (0 ≤ τ < ∞) und μ ist diskret (μ = 1, 2, …, M) ! Substitution aμ = hμ kμ

Generierung eines Zufallpaares (τ , μ) aus P(τ , μ) 3. Stochastische Methode Generierung eines Zufallpaares (τ , μ) aus P(τ , μ)

3.2 Der Algorithmus Schritt 1 (Initialisierung) 3. Stochastische Methode 3.2 Der Algorithmus Schritt 1 (Initialisierung) t = 0 : Xi = Xi(0) kμ = kμ(0) → hμkμ Schritt 2 (Monte Carlo) → generiere Zufallspaar (τ , μ) aus P(τ , μ) Schritt 3 (Evolution) t = t + τ : Xi = Xi - ∆Xi → Berechne hμkμ neu Schritt 4 (Terminierung) t > tstop oder alle hμ = 0

→ Verwendung des generierten Zufallpaares (τ , μ): 3. Stochastische Methode Evolution → Verwendung des generierten Zufallpaares (τ , μ): (1) setze: t = t + τ (2) simuliere Rμ durch Änderung aller involvierten Xi Beispiel: Rμ: S1 + S2 → 2S3 → X1 = X1 – 1 → X2 = X2 – 1 → X3 = X3 + 2 → Berechne alle aμ neu, in denen die involvierten Xi als Reaktanden auftreten

3.2 Der Algorithmus Schritt 1 (Initialisierung) 3. Stochastische Methode 3.2 Der Algorithmus Schritt 1 (Initialisierung) t = 0 : Xi = Xi(0) kμ = kμ(0) → hμkμ Schritt 2 (Monte Carlo) → generiere Zufallspaar (τ , μ) aus P(τ , μ) Schritt 3 (Evolution) t = t + τ : Xi = Xi - ∆Xi → Berechne hμkμ neu Schritt 4 (Terminierung) t > tstop oder alle hμ = 0

3.3 Simulation mit COPASI COPASI … COmplex PAthway SImulator Y(t) X(t) 3. Stochastische Methode 3.3 Simulation mit COPASI COPASI … COmplex PAthway SImulator Y(t) X(t)

FDM (First Reaction Method) Generiere für jede Reaktion τμ 3. Stochastische Methode DM (Direct Method) … direkte Generierung von μ und τ mit Inversionsmethode → benötigt 2 Zufallszahlen pro Iteration FDM (First Reaction Method) Generiere für jede Reaktion τμ Durchlaufe Reaktion mit niedrigstem τμ → benötigt M Zufallszahlen pro Iteration

4. Effizienzverbesserung 4.1 Verbesserungen im Überblick 4.2 LDM 4.3 Tau-Leaping

4.1 Verbesserungen im Überblick 4. Effizienzverbesserung 4.1 Verbesserungen im Überblick NRM (Next Reaction Method): Erstellung eines dependency graph Verwendung einer indizierten priority queue Wiederverwendung von Zufallszahlen ODM (Optimized Direct Method): Umordnung der Reaktionen nach Häufigkeit Bedarf einer Prä-Simulation SDM (Sorting Direct Method): Dynamisches ordnen der Reaktionen 4. LDM (Logarithmic Direct Method)

→ gibt an, welche aμ verändert werden müssen (geg. Rμ) 4. Effizienzverbesserung → gibt an, welche aμ verändert werden müssen (geg. Rμ)

4.1 Verbesserungen im Überblick 4. Effizienzverbesserung 4.1 Verbesserungen im Überblick NRM (Next Reaction Method): Erstellung eines dependency graph Verwendung einer indizierten priority queue Wiederverwendung von Zufallszahlen ODM (Optimized Direct Method): Umordnung der Reaktionen nach Häufigkeit Bedarf einer Prä-Simulation SDM (Sorting Direct Method): Dynamisches ordnen der Reaktionen 4. LDM (Logarithmic Direct Method)

→ Effiziente Verwaltung der absoluten Reaktionszeiten 4. Effizienzverbesserung Label Index Zeit Zeiger Indexstruktur → Effiziente Verwaltung der absoluten Reaktionszeiten

4.1 Verbesserungen im Überblick 4. Effizienzverbesserung 4.1 Verbesserungen im Überblick NRM (Next Reaction Method): Erstellung eines dependency graph Verwendung einer indizierten priority queue Wiederverwendung von Zufallszahlen ODM (Optimized Direct Method): Umordnung der Reaktionen nach Häufigkeit Bedarf einer Prä-Simulation SDM (Sorting Direct Method): Dynamisches ordnen der Reaktionen 4. LDM (Logarithmic Direct Method)

4.2 LDM (Logarithmic Direct Method) 4. Effizienzverbesserung 4.2 LDM (Logarithmic Direct Method) → Kostenintensivster Schritt der Methode ist das Auffinden der nächsten ablaufenden Reaktion im System 1. 2. → Propensities werden beinahe zweimal aufsummiert → Suchtiefe im zweiten Schritt liegt in O(M)

→ Speichern aller M partiellen Summen in einem Array → Binäre Suche: 4. Effizienzverbesserung Idee „Binäre Suche“ → Speichern aller M partiellen Summen in einem Array → Binäre Suche: Wiederholtes Aufteilen des Suchintervalles in 2 Hälften Test: subtotal[μ–1] ≤ key < subtotal[μ] mit key := r2a → Suchtiefe für binäre Suche liegt bei O(logM)

4.3 Tau-Leaping Approximation 4. Effizienzverbesserung 4.3 Tau-Leaping Approximation → Überspringen von Reaktionsereignissen Dμ(τ) … Anzahl der Läufe durch Rμ im Intervall [t, t + τ] → Wähle τ : - größtmöglich - jedoch klein genug, dass sich aμ nicht signifikant ändern (leap condition) Approx.: Update:

5. Anwendung

24 h Simulation einer Säugerzelle 5. Anwendung 24 h Simulation einer Säugerzelle → zelluläre „Uhr“ durch oszillierende Protein Feedback Loops → Einteilung der Reaktionen in Reaktionsklassen (Bedarf einer zusätzlichen Zufallszahl !) → Analyse der Stabilität der „Uhr“ gegenüber: (a) molekularem Rauschen (b) Knockout von Schlüsselgenen / -Proteinen

Zusammenfassung

Deterministische Methode: Lösung N gekoppelter Differentialgleichungen Zusammenfassung Bestimmung / Simulation der Evolution von N chemischen Spezies in Reaktionsnetzwerk von M Reaktionswegen Deterministische Methode: Lösung N gekoppelter Differentialgleichungen Stochastische Methode: 4-Schritte-Simulation Dichtefunktion der Reaktionswahrscheinlichkeit Generierung zweier Zufallszahlen Verschiedene Möglichkeiten der Effizienzverbesserung Simulation komplexer Netzwerke

Literatur

Differentialgleichungen: Literatur Differentialgleichungen: [1] D. Jordan, P. Smith: „Mathematical Techniques“, Oxford Univ. Press, 1994 [2] O. Levenspiel: „Chemical Reaction Engineering“, John Wiley & Sons, 1999 Stochastische Methode: [3] D. Gillespie: „A General Method for Numerically Simulating the Stochastic Time Evolution of Coupled Chemical Reactions“, Jrn. of Comp. Phys. 22, 403-434, 1976 [4] D. Gillespie: „Exact Stochastic Simulation of Coupled Chemical Reactions“, Jrn. Of Phys. Chem. 81, 2340-2361, 1977 Effizienzverbesserung: [5] M. Gibson, J. Bruck: „Efficient exact stochastic simulation of chemical systems with many species and channels“, Jrn. of Phys. Chem. 104, 1876-1889, 1999 [6] Y. Cao, H. Li, L. Petzold: „Efficient formulation of the stochastic simulation algorithm for chemically reacting systems“, J. Chem. Phys. 121, 4059-4067, 2004 [7] H. Li, L. Petzold : „Logarithmic Direct Method for Discrete Stochastic Simulation of Chemically Reacting Systems“, Jrn. of Chem. Phys., 2006 [8] Y. Cao, D. Gillespie, L. Petzold: „Efficient Step Size Selection for the Tau-Leaping Simulation Method“, Jrn. Of. Chem. Phys. 124, 044109, 2006 Anwendung [9] D. Forger, C. Peskin: „Stochastic Simulation of the Mammalian Circadian Clock“, Proceedings of the National Academy of Sciences, 2005

ENDE