Monte-Carlo-Simulation

stochastisches Verfahren
(Weitergeleitet von Monte-Carlo-Methode)

Monte-Carlo-Simulation (auch MC-Simulation oder Monte-Carlo-Studie) ist ein Verfahren aus der Stochastik bzw. Wahrscheinlichkeitstheorie, bei dem wiederholt Zufallsstichproben einer Verteilung mithilfe von Zufallsexperimenten gezogen werden.[1]

Die Kreiszahl Pi kann mit der Monte-Carlo-Methode angenähert bestimmt werden durch das Vierfache der Wahrscheinlichkeit, mit der ein innerhalb des Quadrats zufällig gewählter Punkt in den Kreisabschnitt fällt. Aufgrund des Gesetzes der großen Zahlen sinkt mit steigender Anzahl von Experimenten die Varianz des Ergebnisses. Für mehr Details siehe unten.

Ziel ist es, analytisch nicht oder nur aufwendig lösbare Probleme mithilfe der gezogenen Stichproben numerisch zu lösen. Als Grundlage für Monte-Carlo-Simulationen ist vor allem das Gesetz der großen Zahlen zu sehen. Die Zufallsexperimente können entweder – etwa durch Würfeln – real durchgeführt werden oder in Computerberechnungen mittels Monte-Carlo-Algorithmen. Bei Monte-Carlo-Algorithmen werden zur Simulation von zufälligen Ereignissen Zufallszahlen oder auch Pseudozufallszahlen benutzt.

Monte-Carlo-Simulationen weisen Ähnlichkeit zu probabilistischen zellulären Automaten auf.

Geschichte

Bearbeiten

Das 1733 von Georges-Louis Leclerc de Buffon vor der Pariser Akademie der Wissenschaften vorgestellte Nadelproblem[2], das mit Hilfe des Zufalls die näherungsweise Bestimmung der Kreiszahl Pi ermöglicht, war eine der ersten Anwendungen einer „Monte-Carlo-Simulation“.

In den 1930er Jahren hatte der Physiker Enrico Fermi die ersten Ideen zu „Monte-Carlo-Simulationen“ mittels elektronischer Rechenmaschinen.[3] Als Vorgänger und „Rechner“ galt bis dahin der mechanische Analogrechner FERMIAC.[4] Dies geschah zur Zeit des Zweiten Weltkriegs während der Arbeiten als Teil des Manhattan-Projekts, am Los Alamos Scientific Laboratory.[5] Es ging im Rahmen der Entwicklung der amerikanischen Atombombe, nebst anderen technischen Fragestellungen und Probleme, um den Neutronentransport in nuklearen Materialien. Dabei musste in den Anfängen auch die mathematische Methode der Simulation geheim gehalten werden.

Weitere Beiträge lieferten die u. g. Personen, darunter Stanisław Marcin Ulam[6] und John von Neumann. Beide beschäftigten sich mit den ersten elektronischen (noch Röhren-basierten, also ohne Halbleitertechnologie) Rechenmaschinen, darunter der ENIAC und das Nachfolgermodell der MANIAC I.

Nach der Anfangsphase der Erforschung gilt als grundlegende Veröffentlichung die Arbeit Equation of State Calculations by Fast Computing Machines von Nicholas Metropolis[7], Marshall N. Rosenbluth und dessen Ehefrau Arianna W. Rosenbluth, Edward Teller und dessen Ehefrau Augusta H. Teller, veröffentlicht 1953 im Journal of Chemical Physics.[8]

Ziel war die Berechnung der Zustandsgleichung eines zweidimensionalen Systems starrer Kugeln als Modelle einer Flüssigkeit. Simuliert wurde mit 224 Teilchen und periodischen Randbedingungen. Jede Simulation bestand aus bis zu 48 Zyklen, in denen jeweils jedes Teilchen einen Bewegungsschritt ausführte. Ein Zyklus benötigte drei Minuten auf dem MANIAC I. Verwendet wurde eine Sampling-Methode mit Wichtung über den Boltzmannfaktor, das Herzstück des MC-Verfahrens im Metropolis-Algorithmus, wobei die Idee nach Marshall Rosenbluth von Teller gekommen sein soll.[9][10] Nach Rosenbluth leisteten er und seine Frau die Hauptarbeit für den Artikel (Metropolis hätte hauptsächlich Computerzeit zur Verfügung gestellt) und sie waren die einzigen der Autoren, die das Verfahren in anschließenden Publikationen weiterverfolgten,[11][12] sie wandten sich aber selbst ebenfalls bald darauf anderen Forschungsthemen (Plasmaphysik) zu.

Name der Methode

Bearbeiten

Der Name Monte-Carlo wurde von Nicholas Metropolis geprägt und hängt wie folgt mit der Methode zusammen: Stan Ulam hatte einen Onkel, der sich zum Spielen immer Geld von Verwandten geliehen hatte, denn „er musste nach Monte Carlo gehen“.[13] Dies ist natürlich eine Anspielung auf die Spielbank Monte-Carlo im gleichnamigen Stadtteil des Stadtstaates Monaco.[14]

Hintergrund

Bearbeiten

Monte-Carlo-Simulationen sind besonders geeignet, um den Erwartungswert einer Funktion   zu berechnen.[15]

Im Fall diskrekter Zufallsvariablen also

 

bzw. im Fall kontinuierlicher Zufallsvariablen

 ,

wobei hochdimensionale Integrale (Monte-Carlo-Integration) auftreten, falls   ein hochdimensionaler Zufallsvektor ist.

  •   soll im diskreten Fall die Wahrscheinlichkeit oder im kontinuierlichen Fall die Wahrscheinlichkeitsdichte sein (in der statistischen Mechanik häufig ein Boltzmanngewicht)
  •   ist der Wert der Funktion   (bzw. Größe) bei Realisierung  .
  • Die Summation bzw. Integration verläuft über den Raum der möglichen Ergebnisse (Zustände)   (z. B. den Phasenraum der Teilchen in einem physikalischen System).

Kern der Monte-Carlo-Simulation ist die Schätzung des Erwartungswertes  anhand von Stichproben. Je nachdem, welcher Verteilung die Stichproben entstammen, kann der Schätzer des Erwartungswertes eine kleinere oder größere Varianz haben. Ist man an der praktischen Berechnung eines Mittelwertschätzers interessiert, so will man mit möglichst kleinem Stichprobenumfang einen Schätzer möglichst kleiner Varianz erlangen – dies kann durch Methoden der Varianzreduktion erreicht werden. Stichproben aus einer Wahrscheinlichkeitsverteilung können mit Markov-Chain-Monte-Carlo-Verfahren erzeugt werden.

Konvergenz

Bearbeiten

Die Konvergenz von Monte-Carlo-Simulationen kann mit der Gelman-Rubin-Statistik bewertet werden.

Anwendungen

Bearbeiten

Mit der Monte-Carlo-Methode können Probleme mit statistischem Verhalten simuliert werden.

Weitere Anwendungen der Monte-Carlo-Simulation sind folgende:

Berechnung von Integralen

Bearbeiten

Zur Bestimmung von (höherdimensionalen) Integralen wird in der einfachsten Form (Simple Sampling) folgender Sachverhalt ausgenutzt: Sei   eine beliebig dimensionale Menge und   eine integrierbare Funktion.

Das Integral sei   Wird nun   als Wahrscheinlichkeitsdichte eines im Volumen   gleichverteilten Zufallsvektors interpretiert, so ist

 

Schätzung

Bearbeiten

Der Schätzer des Integrals der Funktion ist somit:  , falls   (gleichverteilt) und approximiert den Wert   mit steigender Zahl an Stichproben beliebig genau.

Für ein konkretes Beispiel siehe unten.

Eigenschaften

Bearbeiten

In der Praxis werden Monte-Carlo-Verfahren vor allem für die Berechnung hochdimensionaler Integrale verwendet. Hier sind klassische Integrationsalgorithmen stark vom Fluch der Dimensionalität betroffen und nicht mehr anwendbar. Allerdings sind speziell hochdimensionale Integranden meist stark lokalisiert.[18] In diesen Fällen erlauben insbesondere MCMC-Verfahren (siehe dort) die Erzeugung von Stichproben mit einer Verteilung, die eine effiziente Berechnung solcher hochdimensionaler Integrale erlaubt.

Resampling

Bearbeiten

Untersuchung der Verteilungseigenschaften von Zufallsvariablen unbekannten Verteilungstyps,

Nachbildung von komplexen Prozessen

Bearbeiten
  • Produktionsprozesse in einem Fertigungsunternehmen, um Engpässe und Opportunitäten in der Produktion aufzudecken
  • Klimamodelle
  • Rekonstruktionsverfahren in der Nuklearmedizin.
  • Risikoaggregation zur Bestimmung des Gesamtrisikoumfangs eines Unternehmens im Risikomanagement[19]
  • Ableitung von Bewertungen in der Wertermittlung, z. B. bei der Unternehmensbewertung oder Immobilienwirtschaft.[20][21] Bepreisung komplexer Finanzkontrakte wie „exotische“ Optionen, bei denen keine analytische Formel für die Bewertung eines Finanzproduktes bekannt ist.
  • räumliche Verteilung des energieabhängigen Neutronenflusses in einem heterogenen Medium, etwa im Blanket eines Kernfusionsreaktors.
  • Supercomputer und MC Methoden werden u. a. für die Simulation der alternden Nuklearwaffen der USA benutzt.[22][23][24][25]
  • Wege eines einzelnen Regentropfens simulieren, der mit zufällig verteilten anderen Tropfen kollidiert. Nach der Simulation mehrerer konkreter Tropfen sind Aussagen über die durchschnittliche Tropfengröße möglich oder auch zu Temperatur und Tröpfchendichte, bei denen Schnee oder Hagel entstehen.
  • Verteilung der Kugeln auf die Fächer beim Galtonbrett.

Bayessche Statistik

Bearbeiten

Durch Monte-Carlo-Simulationen können komplizierte Bayessche Modelle auf Daten angepasst werden (wie z. B. in Approximate Bayesian Computation) und mithilfe der Posterior predictive distribution zur Vorhersage benutzt werden.

Beispiele

Bearbeiten
 
Illustration zur Monte-Carlo-Bestimmung von Pi. Rote Punkte liegen innerhalb der Kreisfläche, blaue außerhalb.

Probabilistische Bestimmung der Zahl Pi

Bearbeiten

Man wählt hierzu zufällige Punkte in der Menge   gleichverteilt aus und überprüft für jeden Punkt  , ob dieser innerhalb des Einheitskreises liegt, ob also die Bedingung

 

erfüllt ist. Dies kann formal über die Indikatorfunktion getestet werden:

 

Ein Wert   ist die Realisierung einer Bernoulli-verteilten Zufallsvariablen  , wobei der Bernoulli-Parameter   der Verteilung gerade durch das Flächenverhältnis gegeben ist, d. h.

 

Dabei ist   und   bezeichnet die Kreiszahl.

Liegt eine Folge   von Realisierungen von stochastisch unabhängigen und identisch verteilten Zufallsvariable   vor, die jeweils Bernoulli-verteilt mit dem Bernoulli-Parameter   sind, so ist die relative Häufigkeit

 

der übliche Schätzwert für die Wahrscheinlichkeit  . Eine alternative Sichtweise ist, dass ein Schätzwert für den Erwartungswert   durch das arithmetische Mittel   gegeben ist.

Somit ist   ein Monte-Carlo-Schätzwert für  . Wegen   ist   ein Monte-Carlo-Schätzwert für  .

Für die so erhaltene Schätzung   können Konfidenzintervalle mithilfe des Standardfehlers angegeben werden, welche die Unsicherheit der Schätzung ausdrücken.

Numerische Integration

Bearbeiten
 
Numerische Integration mit Monte Carlo: Die Stützstellen werden zufällig gleichverteilt auf dem Integrationsintervall gewählt. Neue Stützstellen sind dunkelblau, die alten hellblau eingezeichnet. Der Wert des Integrals nähert sich 3,32 an.

Das obige Beispiel zur Bestimmung von Pi schätzt das Flächenintegral einer Viertelkreisfläche und verwendet dazu Bernoulli-verteilte Zufallsvariablen  .

Dasselbe Ergebnis kann auch durch die oben angegebene Integrationsformel mit gleichverteilten Zufallsvariablen   und   erreichen.

Um wie oben vorgestellt Pi mithilfe von Simple Sampling zu berechnen, muss man   und   als Indikatorfunktion des Einheitskreises wählen:

Dann ist   die Fläche des Einheitskreises und der Schätzer   wobei das Volumen   ist.

Bestimmung der Bogenlänge einer Kurve

Bearbeiten

Die Crofton-Formel zur Bestimmung der Bogenlänge einer Kurve kann näherungsweise mit Monte-Carlo-Simulationen ausgewertet werden.

Miller-Rabin-Primzahltest

Bearbeiten

Ein Beispiel für eine Monte-Carlo-Simulation ist der Miller-Rabin-Test, bei dem probabilistisch bestimmt wird, ob eine natürliche Zahl prim ist oder nicht. Die Ausgabe des Tests lautet entweder „sicher zusammengesetzt“ oder „wahrscheinlich prim“. Die Wahrscheinlichkeit, dass eine zusammengesetzte Zahl als „wahrscheinlich prim“ klassifiziert wird, liegt pro Durchgang unter 25 % und kann durch mehrfache Ausführung weiter gesenkt werden. Der Miller-Rabin-Test liefert keine Aussage über die Faktoren einer zusammengesetzten Zahl, ist also kein Faktorisierungsverfahren.

Codes und Simulatoren (Auswahl)

Bearbeiten

Hinweis. Die Liste ist als unvollständig zu betrachten, bietet aber einige bekannte Beispiel an MCS. Es existieren ebenfalls kommerzielle Codes, oder Codes die für spezielle Prozesse entwickelt wurden, usw.

  • Geant4, kurz für Geometry and Tracking, ein vom CERN entwickeltes und veröffentlichtes Simulationsprogramm.
  • MCNP, kurz für Monte-Carlo N-Particle Transport Code, ist eine seit 1957 vom LANL entwickeltes reaktorphysikalisches Simulationsprogramm,[26] das in der Kerntechnik und Kernfusionstechnik häufig angewendet wird.[27]
  • OpenMC, ein Community-Projekt mit der Anwendung der MC-Methode auf Neutronen und Photonen-Transport.[28][29]
  • PYTHIA ist ein Simulationsprogramm für die Teilchenphysik und simuliert Kollisionen und dabei entstehende Teilchen.
  • Serpent, MC-Simulationsprogramm des VTT Technical Research Centre, Finnland[30]
  • SPICE ist ein Simulationsprogramm für analoge, digitale und gemischte elektronische Schaltungen. Mittels einer Monte-Carlo-Simulation bzw. Analyse ist es möglich, die Auswirkungen der Streuung der Bauteilewerte innerhalb der angegebenen Toleranz zu berechnen.

Siehe auch

Bearbeiten

Literatur

Bearbeiten

Fachartikel

Bearbeiten
  • Dirk P. Kroese, Tim Brereton, Thomas Taimre, Zdravko I. Botev: Why the Monte Carlo method is so important today. In: WIREs Computational Statistics. Band 6, Nr. 6, November 2014, S. 386–392, doi:10.1002/wics.1314 (englisch).

Referenzwerke

Bearbeiten

Fachbücher

Bearbeiten

Ältere Werke

Bearbeiten
  • Nikolaj P. Buslenko, Juri A. Schreider: Die Monte-Carlo-Methode und ihre Verwirklichung mit elektronischen Digitalrechnern. 1. Auflage. B. G. Teubner Verlag, Leipzig 1964.
  • Yuri A. Shreider (Hrsg.): The Monte Carlo Method. Pergamon Press, Oxford 1966 (englisch, archive.org).
  • Sergej M. Ermakow: Die Monte-Carlo-Methode und verwandte Fragen. VEB Deutscher Verlag der Wissenschaften, Berlin 1975.
Bearbeiten
Commons: Monte-Carlo-Simulation – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Bearbeiten
  1. Dirk P. Kroese, Tim Brereton, Thomas Taimre, Zdravko I. Botev: Why the Monte Carlo method is so important today. In: WIREs Computational Statistics. Band 6, Nr. 6, November 2014, ISSN 1939-5108, S. 386–392, doi:10.1002/wics.1314 (englisch).
  2. Isaac Todhunter: A History of the Mathematical Theory of Probability: From the Time of Pascal to that of Laplace. 1. Auflage. Cambridge University Press, 2014, ISBN 978-1-108-07764-4, doi:10.1017/cbo9781139923576 (englisch, cambridge.org [abgerufen am 4. Juli 2023]).
  3. Iulia Georgescu: The early days of Monte Carlo methods. In: Nature Reviews Physics. 26. Juni 2023, ISSN 2522-5820, doi:10.1038/s42254-023-00608-w (englisch, nature.com [abgerufen am 4. Juli 2023]).
  4. The Fermiac or Fermi's Trolley. In: Il Nuovo Cimento C. Band 39, Nr. 2, 14. September 2016, S. 1–8, doi:10.1393/ncc/i2016-16296-7 (englisch).
  5. Bruce Cameron Reed: Manhattan Project: The Story of the Century. Springer International Publishing, Cham 2020, ISBN 978-3-03045733-4, doi:10.1007/978-3-030-45734-1 (englisch).
  6. Nicholas Metropolis, S. Ulam: The Monte Carlo Method. In: Journal of the American Statistical Association. Band 44, Nr. 247, September 1949, S. 335, doi:10.2307/2280232 (englisch).
  7. Panos M. Pardalos: Metropolis, Nicholas Constantine. In: Encyclopedia of Optimization. Springer US, Boston, MA 2008, ISBN 978-0-387-74758-3, S. 2075–2075, doi:10.1007/978-0-387-74759-0_368 (englisch, Siehe die Zitationen dort.).
  8. Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller, Edward Teller: Equation of State Calculations by Fast Computing Machines. In: The Journal of Chemical Physics. Band 21, Nr. 6, 1. Juni 1953, ISSN 0021-9606, S. 1087–1092, doi:10.1063/1.1699114 (englisch, aip.org [abgerufen am 4. Juli 2023]).
  9. Marshall N. Rosenbluth: Genesis of the Monte Carlo Algorithm for Statistical Mechanics. Band 690. AIP, 2003, S. 22–30, doi:10.1063/1.1632112 (englisch, aip.org [abgerufen am 4. Juli 2023]).
  10. J. E. Gubernatis: Marshall Rosenbluth and the Metropolis algorithm. In: Physics of Plasmas. Band 12, Nr. 5, Mai 2005, ISSN 1070-664X, S. 057303, doi:10.1063/1.1887186 (englisch, aip.org [abgerufen am 4. Juli 2023]).
  11. Marshall N. Rosenbluth, Arianna W. Rosenbluth: Further Results on Monte Carlo Equations of State. In: The Journal of Chemical Physics. Band 22, Nr. 5, 1. Mai 1954, ISSN 0021-9606, S. 881–884, doi:10.1063/1.1740207 (englisch, aip.org [abgerufen am 4. Juli 2023]).
  12. Marshall N. Rosenbluth, Arianna W. Rosenbluth: Monte Carlo Calculation of the Average Extension of Molecular Chains. In: The Journal of Chemical Physics. Band 23, Nr. 2, 1. Februar 1955, ISSN 0021-9606, S. 356–359, doi:10.1063/1.1741967 (englisch, aip.org [abgerufen am 4. Juli 2023]).
  13. N Metropolis: BEGINNING of the MONTE CARLO METHOD. Hrsg.: Los Alamos Science Special Issue. 1987, S. 125–130 (englisch, fas.org [PDF]).
  14. H. L. Anderson: Metropolis, Monte Carlo and the MANIAC. (PDF, 829 kB) Los Alamos Science, Nr. 14, 1986, S. 96–108, 1986.
  15. Manchmal findet sich die Notation  .
  16. Hoover, W. (2012). Computational Statistical Mechanics. Niederlande: Elsevier Science, Seite 80, https://books.google.de/books?id=7XSQYjZdRKMC&pg=PA80
  17. Evaluation of measurement data — Supplement 1 to the “Guide to the expression of uncertainty in measurement” — Propagation of distributions using a Monte Carlo method https://www.bipm.org/documents/20126/2071204/JCGM_101_2008_E.pdf/325dcaad-c15a-407c-1105-8b7f322d651c
  18. David MacKay: Information Theory, Inference and Learning Algorithms. Cambridge University Press, 2003, ISBN 978-0-521-64298-9, format=PDF Kapitel 4.4 Typicality & Kapitel 29.1 (englisch, cam.ac.uk).
  19. Gleißner; W.: Risikoanalyse, Risikoquantifizierung und Risikoaggregation, in: WiSt, 9/2017, S. 4–11
  20. S. Jayraman: A Review of Monte Carlo Methods in Real Estate. (PDF) 2. Mai 2013, abgerufen am 20. Mai 2017 (englisch, und Quellen darin).
  21. Klaus Bernhard Gablenz: Monte Carlo hilft bei Unsicherheiten. In: Immobilienzeitung. Ausgabe 29, 26. Juli 2007, S. 6 (svgablenz.de [PDF]).
  22. MERCURY. Abgerufen am 13. August 2019.
  23. Trinity supercomputer to support nuclear stockpile simulations -. Abgerufen am 13. August 2019 (englisch).
  24. Nicole Hemsoth: NNSA Stockpile of Nuclear Security Supercomputers Continues Evolution. 16. Juli 2015, abgerufen am 13. August 2019 (amerikanisches Englisch).
  25. Stockpile Stewardship Program. Abgerufen am 13. August 2019.
  26. A General Monte Carlo N-Particle (MCNP) Transport Code: Monte Carlo Methods, Codes, & Applications Group. Abgerufen am 17. Juni 2023 (englisch).
  27. In der bibliografischen Datenbank WorldCat sind über 10.000 Arbeiten verzeichnet, die dem Programm MCNP selbst oder Anwendungen des Programms gewidmet sind.
  28. OpenMC. Massachusetts Institute of Technology, UChicago Argonne LLC, and OpenMC contributors, abgerufen am 4. Juli 2023 (englisch).
  29. Paul K. Romano, Nicholas E. Horelik, Bryan R. Herman, Adam G. Nelson, Benoit Forget, Kord Smith: OpenMC: A state-of-the-art Monte Carlo code for research and development. In: Annals of Nuclear Energy (= Joint International Conference on Supercomputing in Nuclear Applications and Monte Carlo 2013, SNA + MC 2013. Pluri- and Trans-disciplinarity, Towards New Modeling and Numerical Simulation Paradigms). Band 82, 1. August 2015, ISSN 0306-4549, S. 90–97, doi:10.1016/j.anucene.2014.07.048 (englisch, sciencedirect.com [abgerufen am 4. Juli 2023]).
  30. Jaakko Leppänen et al.: The Serpent Monte Carlo code: Status, development and applications in 2013. In: Annals of Nuclear Energy. Band 82, 1. August 2015, ISSN 0306-4549, S. 142–150, doi:10.1016/j.anucene.2014.08.024 (englisch, sciencedirect.com [abgerufen am 21. August 2023]).