ClusterAlgorithmen: Der WolffAlgorithmus Tobias Haas 7. Januar 2010 Tobias Haas ClusterAlgorithmen 7. Januar 2010 1 / 30
Übersicht I 1 Einleitung 2 Theorie 3 WolffAlgorithmus 4 Beispielimplementierung 5 Erweiterung auf harte Scheiben und andere Systeme 6 Grenzen von Clusteralgorithmen 7 Fazit Tobias Haas ClusterAlgorithmen 7. Januar 2010 2 / 30
Einleitung Motivation und Eigenschaften Motivation und Eigenschaften Weiterentwicklung von lokalen MonteCarloMethoden (zuerst für Gitter). Tobias Haas ClusterAlgorithmen 7. Januar 2010 3 / 30
Einleitung Motivation und Eigenschaften Motivation und Eigenschaften Weiterentwicklung von lokalen MonteCarloMethoden (zuerst für Gitter). Schnellere Konvergenz bei manchen Systemen und Bedingungen (z.b. Ising in der Nähe eines kritischen Punktes). Tobias Haas ClusterAlgorithmen 7. Januar 2010 3 / 30
Einleitung Motivation und Eigenschaften Motivation und Eigenschaften Weiterentwicklung von lokalen MonteCarloMethoden (zuerst für Gitter). Schnellere Konvergenz bei manchen Systemen und Bedingungen (z.b. Ising in der Nähe eines kritischen Punktes). Viele Clusteralgorithmen sind gut parallelisierbar. Tobias Haas ClusterAlgorithmen 7. Januar 2010 3 / 30
Einleitung Motivation und Eigenschaften Motivation und Eigenschaften Weiterentwicklung von lokalen MonteCarloMethoden (zuerst für Gitter). Schnellere Konvergenz bei manchen Systemen und Bedingungen (z.b. Ising in der Nähe eines kritischen Punktes). Viele Clusteralgorithmen sind gut parallelisierbar. Erweiterung auf andere Modelle (z.b. harte Kugel bzw. harte Scheiben, kontinuierliche Modelle). Tobias Haas ClusterAlgorithmen 7. Januar 2010 3 / 30
Einleitung Verschiedene Cluster Algorithmen Verschiedene Cluster Algorithmen SwendsenWangAlgorithmus [PRL 58, 86, 1987]. Tobias Haas ClusterAlgorithmen 7. Januar 2010 4 / 30
Einleitung Verschiedene Cluster Algorithmen Verschiedene Cluster Algorithmen SwendsenWangAlgorithmus [PRL 58, 86, 1987]. WolffAlgorithmus [PRL 62, 361, 1989]. Tobias Haas ClusterAlgorithmen 7. Januar 2010 4 / 30
Einleitung Verschiedene Cluster Algorithmen Verschiedene Cluster Algorithmen SwendsenWangAlgorithmus [PRL 58, 86, 1987]. WolffAlgorithmus [PRL 62, 361, 1989]. Invaded Cluster [PRL 75, 2792, 1995]. Tobias Haas ClusterAlgorithmen 7. Januar 2010 4 / 30
Einleitung Verschiedene Cluster Algorithmen Verschiedene Cluster Algorithmen SwendsenWangAlgorithmus [PRL 58, 86, 1987]. WolffAlgorithmus [PRL 62, 361, 1989]. Invaded Cluster [PRL 75, 2792, 1995]. ProbabilityChangeClusteralgorithmus [PRL 86, 572, 2001]. Tobias Haas ClusterAlgorithmen 7. Januar 2010 4 / 30
Einleitung Verschiedene Cluster Algorithmen Verschiedene Cluster Algorithmen SwendsenWangAlgorithmus [PRL 58, 86, 1987]. WolffAlgorithmus [PRL 62, 361, 1989]. Invaded Cluster [PRL 75, 2792, 1995]. ProbabilityChangeClusteralgorithmus [PRL 86, 572, 2001]. Clusteralgorithmen für andere Modelle und Fragestellungen Tobias Haas ClusterAlgorithmen 7. Januar 2010 4 / 30
Theorie MonteCarloMethode MonteCarloMethode I Satz (Gesetz der großen Zahlen) Für den statistischen Mittelwert einer Größe B im Phasenraum Ω B = Π(x)B(x) bzw. B = Π(x) B(x) dx x Ω x Ω mit dem normierten statistischen Gewicht Π(x) (also z.b. der Boltzmannfaktor) gilt für N hinreichend groß: 1 B lim N N N B(x k ) mit einer geeigneten Folge (x k ) k N, insbesondere sollte sie ergodisch sein. k=1 Tobias Haas ClusterAlgorithmen 7. Januar 2010 5 / 30
Theorie Detailed balance (detailliertes Gleichgewicht) MonteCarloMethode: Detailed balance (detailliertes Gleichgewicht) Konzept des detaillierten Gleichgewichts: Definition Mit: π(a)p(a b) = π(b)p(b a) π(x) der Wahrscheinlichkeit der Konfiguration x im Gleichgewicht. P(x y) der Übergangswahrscheinlichkeit von der Konfiguration x zur Konfiguration y. Für ein Gleichgewicht im kanonischen Ensemble verwenden wir den Boltzmannfaktor als statistisches Gewicht, π(x) = e βe(x). Tobias Haas ClusterAlgorithmen 7. Januar 2010 6 / 30
Theorie aprioriwahrscheinlichkeit MonteCarloMethode: aprioriwahrscheinlichkeit Konzept der aprioriprobability: Definition Mit: P(a b) = A(a b) P(a b) A(a b) der Wahrscheinlichkeit den Übergang zu betrachten. P(a b) der Wahrscheinlichkeit den Übergang zu akzeptieren. Tobias Haas ClusterAlgorithmen 7. Januar 2010 7 / 30
Theorie aprioriwahrscheinlichkeit MonteCarloMethode: aprioriwahrscheinlichkeit Konzept der aprioriprobability: Definition Mit: P(a b) = A(a b) P(a b) A(a b) der Wahrscheinlichkeit den Übergang zu betrachten. P(a b) der Wahrscheinlichkeit den Übergang zu akzeptieren. Umformulierung des Konzeptes des detaillierten Gleichgewichts: Definition P(a b) P(b a) A(b a) π(b) = A(a b) π(a) Tobias Haas ClusterAlgorithmen 7. Januar 2010 7 / 30
Theorie MonteCarloMethode MonteCarloMethode (II) Für uns genügen folgende Bedingungen: Tobias Haas ClusterAlgorithmen 7. Januar 2010 8 / 30
Theorie MonteCarloMethode MonteCarloMethode (II) Für uns genügen folgende Bedingungen: 1 Algorithmus muss Ergodizität gewährleisten. Tobias Haas ClusterAlgorithmen 7. Januar 2010 8 / 30
Theorie MonteCarloMethode MonteCarloMethode (II) Für uns genügen folgende Bedingungen: 1 Algorithmus muss Ergodizität gewährleisten. 2 Algorithmus soll detailliertes Gleichgewicht gewährleisten und mit aprioryprobability arbeiten. Tobias Haas ClusterAlgorithmen 7. Januar 2010 8 / 30
Theorie MonteCarloMethode MonteCarloMethode (II) Für uns genügen folgende Bedingungen: 1 Algorithmus muss Ergodizität gewährleisten. 2 Algorithmus soll detailliertes Gleichgewicht gewährleisten und mit aprioryprobability arbeiten. Zusätzlich fordern wir: Tobias Haas ClusterAlgorithmen 7. Januar 2010 8 / 30
Theorie MonteCarloMethode MonteCarloMethode (II) Für uns genügen folgende Bedingungen: 1 Algorithmus muss Ergodizität gewährleisten. 2 Algorithmus soll detailliertes Gleichgewicht gewährleisten und mit aprioryprobability arbeiten. Zusätzlich fordern wir: A(b a) 1 Die Quotienten A(a b) und π(b) π(a) müssen berechenbar sein. Tobias Haas ClusterAlgorithmen 7. Januar 2010 8 / 30
Theorie MetropolisAlgorithmus MetropolisAlgorithmus Metropolis schlug einen Algorithmus zur Berechnung einer Folge x k vor, die die zuvor gestellten Bedingungen (richtige Häufigkeit der verschiedenen x k ) erfüllt: Definition oder umformuliert P(a b) = min{1, π(b) π(a) } P(a b) = min{1, A(b a) π(b) A(a b) π(a) } Tobias Haas ClusterAlgorithmen 7. Januar 2010 9 / 30
WolffAlgorithmus IsingModell IsingModell (2D) ohne äußeres Magnetfeld Erinnerung (einfachste Variante): Tobias Haas ClusterAlgorithmen 7. Januar 2010 10 / 30
WolffAlgorithmus IsingModell IsingModell (2D) ohne äußeres Magnetfeld Erinnerung (einfachste Variante): Es werden von N 2 Spins auf einem 2 dimensionalen Gitter L mit Plätzen (i, j) die Komponenten in einer ausgezeichneten Richtung (o.b.d.a zrichtung) betrachtet. Abbildung: Beispielkonfiguration mit N = 7 Tobias Haas ClusterAlgorithmen 7. Januar 2010 10 / 30
WolffAlgorithmus IsingModell IsingModell (2D) ohne äußeres Magnetfeld Erinnerung (einfachste Variante): Es werden von N 2 Spins auf einem 2 dimensionalen Gitter L mit Plätzen (i, j) die Komponenten in einer ausgezeichneten Richtung (o.b.d.a zrichtung) betrachtet. Die Wechselwirkungsenergie ist durch H = J (i,j) s i s j gegeben mit s i { 1, 1} = {, } und der Summe über alle nächsten Nachbarn (i, j). Abbildung: Beispielkonfiguration mit N = 7 Tobias Haas ClusterAlgorithmen 7. Januar 2010 10 / 30
WolffAlgorithmus IsingModell Der WolffAlgorithmus. Tobias Haas ClusterAlgorithmen 7. Januar 2010 11 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell I Startkonfiguration gegeben. Abbildung: Beispielkonfiguration mit N = 7. Tobias Haas ClusterAlgorithmen 7. Januar 2010 12 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell I Startkonfiguration gegeben. Suche Platz (α 0, β 0 ) zufällig aus (Beispiel (α 0, β 0 ) = (4, 3)). Abbildung: Auswahl von (α 0, β 0 ) = (4, 3). Tobias Haas ClusterAlgorithmen 7. Januar 2010 12 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell I Startkonfiguration gegeben. Suche Platz (α 0, β 0 ) zufällig aus (Beispiel (α 0, β 0 ) = (4, 3)). Bilde ausgehend von (α 0, β 0 ) Verbindung zwischen zwei benachbarten Plätzen (wenn s i = s j ) mit Wahrscheinlichkeit p. Abbildung: Clusterbildung um (4, 3) mit Bindungswahrscheinlichkeit p. Tobias Haas ClusterAlgorithmen 7. Januar 2010 12 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell I Startkonfiguration gegeben. Suche Platz (α 0, β 0 ) zufällig aus (Beispiel (α 0, β 0 ) = (4, 3)). Bilde ausgehend von (α 0, β 0 ) Verbindung zwischen zwei benachbarten Plätzen (wenn s i = s j ) mit Wahrscheinlichkeit p. Flippe Cluster (wird für bestimmtes p immer akzeptiert, P = 1). Abbildung: Geflippter Cluster. Tobias Haas ClusterAlgorithmen 7. Januar 2010 12 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell I Startkonfiguration gegeben. Suche Platz (α 0, β 0 ) zufällig aus (Beispiel (α 0, β 0 ) = (4, 3)). Bilde ausgehend von (α 0, β 0 ) Verbindung zwischen zwei benachbarten Plätzen (wenn s i = s j ) mit Wahrscheinlichkeit p. Flippe Cluster (wird für bestimmtes p immer akzeptiert, P = 1). Wiederhole dies für neu gewählten Startplatz (α 1, β 1 ). Abbildung: Neu gewählter Startplatz. Tobias Haas ClusterAlgorithmen 7. Januar 2010 12 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell II Warum funktioniert der Algorithmus so (alle Züge werden immer akzeptiert)? Tobias Haas ClusterAlgorithmen 7. Januar 2010 13 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell II Warum funktioniert der Algorithmus so (alle Züge werden immer akzeptiert)? Konfiguration a hat A(a b) = A innen (1 p) n gleich E a = E innen E außen n gleich J n diff J π a = e βea Abbildung: Konfiguration a. Tobias Haas ClusterAlgorithmen 7. Januar 2010 13 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell II Warum funktioniert der Algorithmus so (alle Züge werden immer akzeptiert)? Konfiguration a hat A(a b) = A innen (1 p) n gleich E a = E innen E außen n gleich J n diff J π a = e βea Abbildung: Konfiguration a. Konfiguration b hat A(b a) = A innen (1 p) n diff E b = E innen E außen n gleich J n diff J π b = e βe b Abbildung: Konfiguration b. Tobias Haas ClusterAlgorithmen 7. Januar 2010 13 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell III Folglich gilt nach Metropolis: P(a b) = min ( 1, ) A innen (1 p) n diff e β(einneneaußenngleich J ndiff J A innen (1 p) n ) gleich e β(e innene außen n gleich Jn diff J ) Abbildung: Konfiguration a. Abbildung: Konfiguration b. Tobias Haas ClusterAlgorithmen 7. Januar 2010 14 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell III Folglich gilt nach Metropolis: ( ) A innen (1 p) P(a n diff e β(einneneaußenngleich J ndiff J b) = min 1, A innen (1 p) n ) gleich e β(e innene außen n gleich Jn diff J ) ( ) (1 p) n diff = min 1, (1 p) n e 2βngleichJ gleich e 2βn diff J Abbildung: Konfiguration a. Abbildung: Konfiguration b. Tobias Haas ClusterAlgorithmen 7. Januar 2010 14 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell III Folglich gilt nach Metropolis: ( ) A innen (1 p) P(a n diff e β(einneneaußenngleich J ndiff J b) = min 1, A innen (1 p) n ) gleich e β(e innene außen n gleich Jn diff J ) ( ) (1 p) n diff = min 1, (1 p) n e 2βngleichJ gleich e 2βn diff J ( «(1 p) ndiff e 2βJ «ngleich ) = min 1, e 2βJ (1 p) Abbildung: Konfiguration a. Abbildung: Konfiguration b. Tobias Haas ClusterAlgorithmen 7. Januar 2010 14 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Der WolffAlgorithmus für das IsingModell III Folglich gilt nach Metropolis: ( ) A innen (1 p) P(a n diff e β(einneneaußenngleich J ndiff J b) = min 1, A innen (1 p) n ) gleich e β(e innene außen n gleich Jn diff J ) ( ) (1 p) n diff = min 1, (1 p) n e 2βngleichJ gleich e 2βn diff J ( «(1 p) ndiff e 2βJ «ngleich ) = min 1, e 2βJ (1 p) = 1 wenn p = 1 e 2βJ gewählt wird. Jeder Zug immer akzeptiert! Abbildung: Konfiguration a. Abbildung: Konfiguration b. Tobias Haas ClusterAlgorithmen 7. Januar 2010 14 / 30
WolffAlgorithmus Der WolffAlgorithmus für das IsingModell Simulation. Tobias Haas ClusterAlgorithmen 7. Januar 2010 15 / 30
Beispielimplementierung WolffAlgorithmus am Beispiel des IsingModells WolffAlgorithmus am Beispiel des IsingModells I Magnetisierung eines 2 dimensionalen IsingModells in der Nähe des Phasenübergangs: J k B T = 0 J k B T = 0, 1 J k B T = 0, 3 J k B T = 0, 4 J = 0, 47 k B T J k B T = 0, 6 J k B T = 1 J k B T = 5 Tobias Haas ClusterAlgorithmen 7. Januar 2010 16 / 30
Beispielimplementierung WolffAlgorithmus am Beispiel des IsingModells J k B T = 0 J k B T = 0, 1 J k B T = 0, 3 J k B T = 0, 4 J k B T = 0, 47 J k B T = 0, 6 J k B T = 1 J k B T = 5 Tobias Haas ClusterAlgorithmen 7. Januar 2010 17 / 30
Beispielimplementierung WolffAlgorithmus am Beispiel des IsingModells WolffAlgorithmus am Beispiel des IsingModells II Konvergenz der Magnetisierung eines 2 dimensionalen IsingModells in der Nähe des Phasenübergangs: Vergleich der Konvergenzgeschwindigkeit eines lokalen MetropolisAlgorithmus mit der des WolffAlgorithmus. Phasenübergang des 2 dimensionalen IsingModells. Tobias Haas ClusterAlgorithmen 7. Januar 2010 18 / 30
Beispielimplementierung WolffAlgorithmus am Beispiel des IsingModells Vergleich der Konvergenzgeschwindigkeit eines lokalen MetropolisAlgorithmus mit der des WolffAlgorithmus. Tobias Haas ClusterAlgorithmen 7. Januar 2010 19 / 30
Beispielimplementierung WolffAlgorithmus am Beispiel des IsingModells Phasenübergang des 2 dimensionalen IsingModells. Tobias Haas ClusterAlgorithmen 7. Januar 2010 20 / 30
Beispielimplementierung WolffAlgorithmus am Beispiel des IsingModells Anderes Problem, anderer Algorithmus... Tobias Haas ClusterAlgorithmen 7. Januar 2010 21 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Abbildung: Konfiguration a Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Cluster gut identifizierbar. Abbildung: Konfiguration a Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Cluster verschoben (Transformation T ). Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Verschobener Cluster nicht mehr gut identifizierbar. Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Cluster gut findbar: A(a b) ist groß. Abbildung: Konfiguration a Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Cluster gut findbar: A(a b) ist groß. Cluster nicht gut auffindbar: A(b a) ist klein. Abbildung: Konfiguration a Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Cluster gut findbar: A(a b) ist groß. Cluster nicht gut auffindbar: A(b a) ist klein. π(a) π(b), P sehr klein, Zug wird kaum akzeptiert, zufälliges Auswählen und Verschieben sehr ineffektiv. Abbildung: Konfiguration a Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Problem Problem Betrachte folgendes Problem: Cluster gut findbar: A(a b) ist groß. Cluster nicht gut auffindbar: A(b a) ist klein. π(a) π(b), P sehr klein, Zug wird kaum akzeptiert, zufälliges Auswählen und Verschieben sehr ineffektiv. Lösung: T = T 1 vermeidet das Problem. Abbildung: Konfiguration a Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 22 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf harte Scheiben: Taschenalgorithmus Der Taschenalgorithmus (pocket algorithm) Wähle Spiegelpunkt aus (Punktspiegelung ist selbstinvers). 3 5 4 6 9 7 1 8 2 Abbildung: Konfiguration a Tobias Haas ClusterAlgorithmen 7. Januar 2010 23 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf harte Scheiben: Taschenalgorithmus Der Taschenalgorithmus (pocket algorithm) Wähle Spiegelpunkt aus (Punktspiegelung ist selbstinvers). Wähle erste Scheibe aus (und stecke sie in Tasche). 3 5 4 6 9 7 1 8 2 Abbildung: Scheibe auswählen. Tobias Haas ClusterAlgorithmen 7. Januar 2010 23 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf harte Scheiben: Taschenalgorithmus Der Taschenalgorithmus (pocket algorithm) Wähle Spiegelpunkt aus (Punktspiegelung ist selbstinvers). Wähle erste Scheibe aus (und stecke sie in Tasche). Ziehe aus der Tasche eine Scheibe (erste) und spiegle sie. 3 5 4 6 9 7 1 8 2 Abbildung: Scheibe auswählen. Tobias Haas ClusterAlgorithmen 7. Januar 2010 23 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf harte Scheiben: Taschenalgorithmus Der Taschenalgorithmus (pocket algorithm) Wähle Spiegelpunkt aus (Punktspiegelung ist selbstinvers). Wähle erste Scheibe aus (und stecke sie in Tasche). Ziehe aus der Tasche eine Scheibe (erste) und spiegle sie. Alle von der gespiegelten Scheibe Getroffenen kommen in die Tasche. 9 5 8 2 3 47 6 1 Abbildung: Berührte Scheiben in Tasche. Tobias Haas ClusterAlgorithmen 7. Januar 2010 23 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf harte Scheiben: Taschenalgorithmus Der Taschenalgorithmus (pocket algorithm) Wähle Spiegelpunkt aus (Punktspiegelung ist selbstinvers). Wähle erste Scheibe aus (und stecke sie in Tasche). Ziehe aus der Tasche eine Scheibe (erste) und spiegle sie. Alle von der gespiegelten Scheibe Getroffenen kommen in die Tasche. Ziehe wieder aus Tasche und verfahre wie zuvor. 3 5 7 6 9 4 1 8 2 Abbildung: Aus Tasche ziehen. Tobias Haas ClusterAlgorithmen 7. Januar 2010 23 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf harte Scheiben: Taschenalgorithmus Der Taschenalgorithmus (pocket algorithm) Wähle Spiegelpunkt aus (Punktspiegelung ist selbstinvers). Wähle erste Scheibe aus (und stecke sie in Tasche). Ziehe aus der Tasche eine Scheibe (erste) und spiegle sie. Alle von der gespiegelten Scheibe Getroffenen kommen in die Tasche. Ziehe wieder aus Tasche und verfahre wie zuvor (bis Tasche leer ist). 2 5 7 6 9 4 1 8 3 Abbildung: Tasche leer. Tobias Haas ClusterAlgorithmen 7. Januar 2010 23 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Wo sind die Cluster? Taschenalgorithmus: Wo sind die Cluster? Tobias Haas ClusterAlgorithmen 7. Januar 2010 24 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Wo sind die Cluster? Taschenalgorithmus: Wo sind die Cluster? Betrachte Anfangs und Endzustand. 3 5 4 6 9 7 1 8 2 Abbildung: Konfiguration a 1 2 7 8 9 6 4 3 5 Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 24 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Wo sind die Cluster? Taschenalgorithmus: Wo sind die Cluster? Betrachte Anfangs und Endzustand. Überlagerung zeigt Subensembles, die unter T unabhängig von einander bleiben (Cluster), z.b. {2, 3, 4, 7}. 3 5 4 6 9 7 1 8 2 Abbildung: Konfiguration a 23 15 47 9 6 47 8 32 8 69 1 5 2 1 7 6 4 3 8 9 5 Abbildung: Überlagerung von a und b. Abbildung: Konfiguration b Tobias Haas ClusterAlgorithmen 7. Januar 2010 24 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen Betrachte folgende Situation (harte Quadrate ohne Wechselwirkungen): Tobias Haas ClusterAlgorithmen 7. Januar 2010 25 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen Betrachte folgende Situation (harte Quadrate ohne Wechselwirkungen): a) Die (großen) Quadrate sind weit von einander entfernt, schwach effektive repulsive Wechselwirkung bei Annäherung Tobias Haas ClusterAlgorithmen 7. Januar 2010 25 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen Betrachte folgende Situation (harte Quadrate ohne Wechselwirkungen): a) Die (großen) Quadrate sind weit von einander entfernt, schwach effektive repulsive Wechselwirkung bei Annäherung b) Die (großen) Quadrate sind weit von einander entfernt, effektive attraktive Wechselwirkung bei Annäherung (entropischer Effekt) Tobias Haas ClusterAlgorithmen 7. Januar 2010 25 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Abbildung: Konfiguration a, Spiegelungspunkt ausgewählt. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Abbildung: Konfiguration a, Spiegelungspunkt ausgewählt. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Startquadrat auswählen. Abbildung: Startquadrat ausgehählt. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Startquadrat auswählen. Spiegeln. Abbildung: Gespiegelt. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Startquadrat auswählen. Spiegeln. Besonderheit: Alle voll vom Quadrat Überdeckten können direkt neu plaziert werden. Abbildung: Trafo der Überdeckten. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Startquadrat auswählen. Spiegeln. Besonderheit: Alle voll vom Quadrat Überdeckten können direkt neu plaziert werden. Überdeckte Quadrate gehen in Tasche. Abbildung: Rest in Tasche. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Startquadrat auswählen. Spiegeln. Besonderheit: Alle voll vom Quadrat Überdeckten können direkt neu plaziert werden. Überdeckte Quadrate gehen in Tasche. Ziehe aus Tasche und spiegele bis Tasche leer ( PocketAlgorithmus ). Abbildung: Aus Tasche ziehen und spiegeln. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Startquadrat auswählen. Spiegeln. Besonderheit: Alle voll vom Quadrat Überdeckten können direkt neu plaziert werden. Überdeckte Quadrate gehen in Tasche. Ziehe aus Tasche und spiegele bis Tasche leer ( PocketAlgorithmus ). Abbildung: Potentiell überdeckte in Tasche. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Taschenalgorithmus: Anwendung Taschenalgorithmus: Anwendung Phasentrennung in 2komponentigen Mischungen PocketAlgorithmus: Spiegelungspunkt auswählen. Startquadrat auswählen. Spiegeln. Besonderheit: Alle voll vom Quadrat Überdeckten können direkt neu plaziert werden. Überdeckte Quadrate gehen in Tasche. Ziehe aus Tasche und spiegele bis Tasche leer ( PocketAlgorithmus ). Neue Endkonfiguration. Abbildung: Tasche leer. Tobias Haas ClusterAlgorithmen 7. Januar 2010 26 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Erweiterungen des vorgestellten WolffAlgorithmus Tobias Haas ClusterAlgorithmen 7. Januar 2010 27 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Erweiterungen des vorgestellten WolffAlgorithmus Erweiterung von IsingModell auf andere Spinmodelle (Wolff: O(n)Modell). Tobias Haas ClusterAlgorithmen 7. Januar 2010 27 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Erweiterungen des vorgestellten WolffAlgorithmus Erweiterung von IsingModell auf andere Spinmodelle (Wolff: O(n)Modell). Versuche externe Felder und andere Wechselwirkungen zu integrieren. Tobias Haas ClusterAlgorithmen 7. Januar 2010 27 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Erweiterungen des vorgestellten WolffAlgorithmus Erweiterung von IsingModell auf andere Spinmodelle (Wolff: O(n)Modell). Versuche externe Felder und andere Wechselwirkungen zu integrieren. Erweiterung um Paarwechselwirkungen und kontinuierliche Modelle. Tobias Haas ClusterAlgorithmen 7. Januar 2010 27 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Erweiterungen des vorgestellten WolffAlgorithmus Erweiterung von IsingModell auf andere Spinmodelle (Wolff: O(n)Modell). Versuche externe Felder und andere Wechselwirkungen zu integrieren. Erweiterung um Paarwechselwirkungen und kontinuierliche Modelle. Erweiterungen des PocketAlgorithmus Tobias Haas ClusterAlgorithmen 7. Januar 2010 27 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Erweiterungen des vorgestellten WolffAlgorithmus Erweiterung von IsingModell auf andere Spinmodelle (Wolff: O(n)Modell). Versuche externe Felder und andere Wechselwirkungen zu integrieren. Erweiterung um Paarwechselwirkungen und kontinuierliche Modelle. Erweiterungen des PocketAlgorithmus Erweiterung um Paarwechselwirkungen (generalized Geometric Cluster Algorithm) Tobias Haas ClusterAlgorithmen 7. Januar 2010 27 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Erweiterungen des vorgestellten WolffAlgorithmus Erweiterung von IsingModell auf andere Spinmodelle (Wolff: O(n)Modell). Versuche externe Felder und andere Wechselwirkungen zu integrieren. Erweiterung um Paarwechselwirkungen und kontinuierliche Modelle. Erweiterungen des PocketAlgorithmus Erweiterung um Paarwechselwirkungen (generalized Geometric Cluster Algorithm) VielteilchenTerme können (sofern deren energetische Störung klein ist) als Störung mitgenommen werden. Tobias Haas ClusterAlgorithmen 7. Januar 2010 27 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Beispiele für andere Modelle (Referenzen): GCA for fluid simulation (mit Yukawaartigem bzw. Gaußartigem Potential) [PRE 71, 0667011, 2005] bzw. [PRL 92, 0355043, 2004]. Tobias Haas ClusterAlgorithmen 7. Januar 2010 28 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Beispiele für andere Modelle (Referenzen): GCA for fluid simulation (mit Yukawaartigem bzw. Gaußartigem Potential) [PRE 71, 0667011, 2005] bzw. [PRL 92, 0355043, 2004]. ClusterMC simulations of the nematicisotropic transition [PRE 63, 0627021, 2001]. Tobias Haas ClusterAlgorithmen 7. Januar 2010 28 / 30
Erweiterung auf harte Scheiben und andere Systeme Erweiterung auf andere Modelle Erweiterung auf andere Modelle Beispiele für andere Modelle (Referenzen): GCA for fluid simulation (mit Yukawaartigem bzw. Gaußartigem Potential) [PRE 71, 0667011, 2005] bzw. [PRL 92, 0355043, 2004]. ClusterMC simulations of the nematicisotropic transition [PRE 63, 0627021, 2001]. Free energy and phase equilibria for the restricted primitive model of ionic fluids from MC simulations [JCP 101, 1452, 2005]. Tobias Haas ClusterAlgorithmen 7. Januar 2010 28 / 30
Grenzen von Clusteralgorithmen Grenzen von Clusteralgorithmen Clusteralgorithmen sind häufig schneller als lokale Algorithmen im Bereich von kritischen Punkten (d.h. nahe der Perkolationsgrenze bzw. den Phasenübergängen). Tobias Haas ClusterAlgorithmen 7. Januar 2010 29 / 30
Grenzen von Clusteralgorithmen Grenzen von Clusteralgorithmen Clusteralgorithmen sind häufig schneller als lokale Algorithmen im Bereich von kritischen Punkten (d.h. nahe der Perkolationsgrenze bzw. den Phasenübergängen). Entfernt von kritischen Punkten kann die Konvergenz (ins Gleichgewicht) sehr schlecht werden. Tobias Haas ClusterAlgorithmen 7. Januar 2010 29 / 30
Grenzen von Clusteralgorithmen Grenzen von Clusteralgorithmen Clusteralgorithmen sind häufig schneller als lokale Algorithmen im Bereich von kritischen Punkten (d.h. nahe der Perkolationsgrenze bzw. den Phasenübergängen). Entfernt von kritischen Punkten kann die Konvergenz (ins Gleichgewicht) sehr schlecht werden. Problem: Algorithmus kann ganze Box in Cluster verwandeln. Tobias Haas ClusterAlgorithmen 7. Januar 2010 29 / 30
Grenzen von Clusteralgorithmen Grenzen von Clusteralgorithmen Clusteralgorithmen sind häufig schneller als lokale Algorithmen im Bereich von kritischen Punkten (d.h. nahe der Perkolationsgrenze bzw. den Phasenübergängen). Entfernt von kritischen Punkten kann die Konvergenz (ins Gleichgewicht) sehr schlecht werden. Problem: Algorithmus kann ganze Box in Cluster verwandeln. Konkretes Beispiel eines Versagens: Onsagerproblem für Flüssigkristalle (die ganze Testbox wird zu einem Cluster). Tobias Haas ClusterAlgorithmen 7. Januar 2010 29 / 30
Grenzen von Clusteralgorithmen Grenzen von Clusteralgorithmen Clusteralgorithmen sind häufig schneller als lokale Algorithmen im Bereich von kritischen Punkten (d.h. nahe der Perkolationsgrenze bzw. den Phasenübergängen). Entfernt von kritischen Punkten kann die Konvergenz (ins Gleichgewicht) sehr schlecht werden. Problem: Algorithmus kann ganze Box in Cluster verwandeln. Konkretes Beispiel eines Versagens: Onsagerproblem für Flüssigkristalle (die ganze Testbox wird zu einem Cluster). Konkreter Algorithmus kann für bestimmte (Anfangs) Bedingungen versagen (Beispiel: Harte Kugeln mit Paarwechselwirkung bei sehr großer Dichte). Tobias Haas ClusterAlgorithmen 7. Januar 2010 29 / 30
Fazit Fazit Clusteralgorithmen sind häufig schneller im Bereich von Phasenübergängen. Tobias Haas ClusterAlgorithmen 7. Januar 2010 30 / 30
Fazit Fazit Clusteralgorithmen sind häufig schneller im Bereich von Phasenübergängen. Clusteralgorithmen sind häufig gut parallelisierbar (skalieren gut mit Anzahl der Cores). Tobias Haas ClusterAlgorithmen 7. Januar 2010 30 / 30
Fazit Fazit Clusteralgorithmen sind häufig schneller im Bereich von Phasenübergängen. Clusteralgorithmen sind häufig gut parallelisierbar (skalieren gut mit Anzahl der Cores). Problem wird verlagert: Man sucht Algorithmus, der einen oder mehrere für die Fragestellung möglichst gut geeignete(n) Cluster möglichst schnell aufbaut. Tobias Haas ClusterAlgorithmen 7. Januar 2010 30 / 30
Fazit Fazit Clusteralgorithmen sind häufig schneller im Bereich von Phasenübergängen. Clusteralgorithmen sind häufig gut parallelisierbar (skalieren gut mit Anzahl der Cores). Problem wird verlagert: Man sucht Algorithmus, der einen oder mehrere für die Fragestellung möglichst gut geeignete(n) Cluster möglichst schnell aufbaut. Clusteralgorithmen sind stark spezialisiert auf Modell und Fragestellung. Teils nur schlecht verallgemeinerbar oder übertragbar (Übertrag von Ising auf kontinuierliches System z.b. teils langsamer als lokaler Algorithmus). Tobias Haas ClusterAlgorithmen 7. Januar 2010 30 / 30
Fazit Fazit Clusteralgorithmen sind häufig schneller im Bereich von Phasenübergängen. Clusteralgorithmen sind häufig gut parallelisierbar (skalieren gut mit Anzahl der Cores). Problem wird verlagert: Man sucht Algorithmus, der einen oder mehrere für die Fragestellung möglichst gut geeignete(n) Cluster möglichst schnell aufbaut. Clusteralgorithmen sind stark spezialisiert auf Modell und Fragestellung. Teils nur schlecht verallgemeinerbar oder übertragbar (Übertrag von Ising auf kontinuierliches System z.b. teils langsamer als lokaler Algorithmus). Clusteralgorithmen können aufgrund ihrer Spezialisierung auf eine bestimmte Art von Systembedingung (z.b. auf die Nähe von Phasenübergängen) ihre gute Konvergenz gegenüber lokalen MCMethoden verlieren. Tobias Haas ClusterAlgorithmen 7. Januar 2010 30 / 30