Benutzer:Doc z/Metropolis
Der Metropolisalgorithmus ist eine Monte-Carlo Methode zur Erzeugung von Zuständen eines Systems entsprechend der Boltzmann-Verteilung.
Algorithmus
Der Metropolisalgorithmus wurde 1953 von Nicholas Metropolis et. al. publiziert. Er wird dazu genutzt, eine Markow-Kette und damit die Zustände eines Systems, entsprechend der Boltzmann-Verteilung zu erzeugen. Dabei hängt der neue Zustand des Systems nur vom voherigen Zustand ab.
Im folgenden wird der Algorithmus für den Fall beschrieben, dass dass System von einem mehrdimensionalen Ort abhängt. sei kontinuierlich und der aktuelle Ort nach Iterationen wird mit bezeichnet. Der Metropolisalgorithmus ergibt sich dann durch Wiederholung der folgenden Schritte:
- Ein neuer Ort wird ausgewählt, wobei eine Zufallszahl zwischen 0 und 1 und ein fest gewählter Abstand ist. Dies bedeutet, dass ein neuer Ort zufällig in einer festen Umgebung gewählt wird. Dabei müssen die verschiedenen Komponenten für die verschiedenen räumlichen Dimensionen nicht notwendigerweise gleich sein.
- Die Energie-Differenz wird berechnet und die neue Konfiguration mit der Wahrscheinlichkeit akzeptiert. Dabei beschreibt die Temperatur des Systems und stellt die Boltzmannkonstante dar. Dies bedeutet:
- Ist , so wird als neuer aktueller Ort akzeptiert.
- Ist , so wird wird mit Wahrscheinlichkeit als neuer aktueller Ort akzeptiert. Dazu wird eine gerade ermittelte Zufallszahl zwischen 0 und 1 mit verglichen und nur dann akzeptiert falls die Zufallszahl keiner als ist.
Falls der Zustand nicht akzeptiert wird, so bleibt der Wert von erhalten: .
FÜr mehere Teilchen.... diskrete Positionen... Korrelation... Akzeptanz
Verallgemeinerung
W.K. Hastings generalisierte 1970 das Verfahren. Der Metropolis-Hastings-Algorithmus kann Zustände für eine beliebige Wahrscheinlichkeitverteilung erzeugen. Voraussetzung ist lediglich, dass die Dichte an jedem Ort berechnet werden kann. Der Algorithmus benutzt eine Vorschlagsdichte , die vom derzeitigen Ort und möglichem nächsten Ort abhängt. Ein Vorschlag wird anhand der Vorschlagsdichte zufällig erzeugt und mit der Wahrscheinlichkeit akzeptiert.
Für eine Vorschlagsdichte, die in einem festen Intervall um den aktuellen Ort konstant und sonst null ist sowie einer Boltzmann-Verteilung als Wahrscheinlichkeitsverteilung ergibt sich hieraus der Metropolisalgorithmus.
Anwendungen
Monte-Carlo-Simulation
Für die Monte-Carlo-Simulation werden Konfigurationen mittels des Metropolisalgorithmus erzeugt und Mittelwerte/Erwartungswerte physikalisch relevanter Größen, wie beispielsweise dem Druck oder Dichte, berechnet:
mit und
Von diesen Iterationsschritten werden so viele ausgeführt, bis das System sich weit genug dem thermischen Gleichgewicht genähert hat, d. h. wenn die Wahrscheinlichkeit der einzelnen Konfigurationen der Boltzmann-Verteilung entspricht. Befindet sich das System im Gleichgewicht, so entspricht der Boltzmann-Verteilung. Da der Metropolisalgorithmus die Konfigurationen mit der Wahrscheinlichkeit erzeugt, muss nun lediglich über jeden Messwert, bzw. Messwerte in konstantem Abstand, gemittelt werden.
, d.h. es findet eine ... (importance sampling) statt. In numerischen Simulationen werden die Konfigurationen so erzeugt, dass die Verteilung ... entspricht. Für den Erwartungswert einer Größe gilt dann
Kanonischer Zustand, d.h. konstante Temperatur ... Hamilton-Funktion bzw. Wirkung Korrelation
In der Originalarbeit von Nicholas Metropolis et. al. wurde der Algorithmus für die Monte-Carlo-Simulation des zweidimensionalen Harte-Scheiben-Modells verwendet. Der Algorithmus wurde später für eine Vielzahl unterschiedlichster Monte-Carlo-Simulationen in Bereichen wie der Thermodynamik bzw. Statistischen Physik, Festkörperphysik, Quantenelektrodynamik oder Quantenchromodynamik eingesetzt. Er ist leicht zu implementieren, jedoch nicht der effektiveste Algorithmus. Alternativ können andere lokale oder nicht-lokale Verfahren Verwendung finden.
Optimierungsverfahren
Der Metropolisalgorithmus kann auch als stochastisches Optimierungsverfahren zum Finden eines globalen Minimums einer Wertelandschaft verwendet werden. Hierzu wird mit einer hohen Temperatur begonnen, damit möglichst ein großes Gebiet der Wertelandschaft besucht wird. Anschließend wird die Temperatur langsam abgesenkt und sich so mit immer höherer Wahrscheinlichkeit einem Minimum genähert. Ein solcher Metropolisalgorithmus mit von der (Simulations-) Zeit abhängiger Temperatur heißt simulierte Abkühlung (simulated annealing). Für bestimmte Formen der simulierten Abkühlung konnte bewiesen werden, dass sie das globale Minimum einer Wertelandschaft finden.
Das Verfahren ähnelt dem Bergsteigeralgorithmus (hill climbing), akzeptiert jedoch im Gegensatz zu diesem auch Schritte weg vom nächsten Minimum, so dass frühzeitige Konvergenz zu lokalen Minima vermieden wird. Der Metropolisalgorithmus überwindet so kleine Hügel, bevor weiter in Richtung Tal gegangen wird, da der Anstieg in Richtung Hügel klein ist und somit die Akzeptanz-Wahrscheinlichkeit relativ groß ist.
Siehe auch
Literatur
- N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller und E. Teller: Equation of State Calculations by Fast Computing Machines. In: Journal of Chemical Physics. Band 21, 1953, S. 1087–1092 (doi:10.1063/1.1699114).
- W.K. Hastings: Monte Carlo Sampling Methods Using Markov Chains and Their Applications. In: Biometrika. Band 57, 1970, S. 97–109.