Genetische Algorithmen für natürliche Sprache: Wortzerlegungen ADS: Algorithmen und Datenstrukturen 2 Aufgabe: Zerlege Wörter in Teile, wobei die Teile entsprechend der Aufgabenstellung näher spezifiziert sind (Wörter, Silben, ...) Fitness: Eine Zerlegung ist gut, wenn gleiche Teile wiederholt verwendet werden können. Teil 12 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig Alle Individuen haben das gleiche Geschlecht. Ein Elternteil erzeugt jeweils ein Kind, welches sich nur durch wenige Mutationen unterscheidet. 2. Juli 2014 Fitness: Anzahl der verwendeten Wortteile [Letzte Aktualisierung: 03/07/2014, 16:46] 1 / 24 Wortzerlegungen II 10 ADS 2, V12 2. Juli 2014 2 / 24 Falsche Freunde bei der Kompositazerlegung Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen enthalten zu jedem Wort eine Trennstelle, z.B. Wein-flasche Weingl-as Bierf-lasche Biergl-as (Fitness: 8) Weinf-lasche Weingl-as Bier-flasche Bierg-las (Fitness: 8) Diese Trennstellen werden zu Beginn zufällig gewählt. Dia-logbuch Dichte-rohr Dress-urprodukt Eins-endung Fernzug-riff Gast-anker Namensfest-stellung Schmuser-ocker Silbe-ruhr Wandbild-schirm Brauer-eileiter Eid-otter Fernseher-satzteil Gel-demission Ein Kind davon den zwei Individuen oben mit Crossover nach Position 2: Wein-flasche Weingl-as Bier-flasche Bierg-las (Fitness: 6) Optimal: Wein-flasche Wein-glas Bier-flasche Bier-glas (Fitness: 4) Nützliche Teile (hier: Wörter) werden maximal oft wiederverwendet. U. Quasthoff P.F. Stadler & S. Will (Bioinf, Uni LE) U. Quasthoff P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 11 2. Juli 2014 3 / 24 Stochastische Optimierungsalgorithmen (Whd.) Gen-darm Graben-gel Kult-urologie Obstbaum-esse Profi-thai Rind-erdung Schlacht-hausfreund Silbe-radler Teil-erfinder Wanderin-sekt Herr-scherkopf Made-gasse Nichte-uropa Barsch-lampe Gegen-übermensch Jode-mission Lehre-rohr Oberleib-wächter Rater-teilung Schlag-hosenträger Strumpfhosen-anzug Treffer-zähler Zita-delle Rollers-kater Step-partikel Rost-ocker U. Quasthoff P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 12 2. Juli 2014 4 / 24 Stochastische Optimierungsalgorithmen (Whd.) Problemstellung Lösungensmenge X , Bewertungsfunktion f : X → R. Finde globales Minimum von f Grundprinzip Start: endliche Menge A von erlaubten Lösungen (“Population”) mit |A| = n. Schleife (1) Erzeuge erweiterte Lösungsmenge B, |B| = m > n. (2) Selektiere eine neue Population A0 ⊂ B mit |A0 | = n in der die besseren Lösungen angereichert sind. Motiviation durch Prozesse in der Natur: Evolution als Wechselspiel von Mutation (allergemeiner: Erzeugung von Variabilität und Selektion (aus den vorhandenen Varianten) Schrittweise Energie-Minimierung in physikalischen Systemen (z.B. Gefrieren von Flüssigkeiten ... ) Abbruchbedingung P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 5 / 24 Random Generate and Test P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 6 / 24 Fitness- / Energielandschaften Sei G = (X , E ) ein ungerichteter Graph und f : X → R. Dann heißt (X , E , f ) A = {x}, eine einzelne Lösung B = {x, y }, wobei y ∈ X eine zufällig gezogene Lösung ist. Wertelandschaft. A0 = {y } if f (y ) < f (x), sonst A0 = {x}. Je nachdem, ob man globale Minima / Maxima sucht, wird (X , E , f ) auch Energielandschaft / Fitnesslandschaft genannt. Keine Garantie, dass ein globales Minimum gefunden wird. FRAGE: wie kann man die Struktur von f ausnutzen? IDEE: Gute Lösungen werden “irgendwie” ähnlich zu anderen guten Lösungen sein. Nachbarschaft von Knoten x ∈ X : N(x) := {y ∈ X : {x, y } ∈ E } Definiere Nachbarschaft durch “Moves” Sinnvolles Moveset: G soll stark zusammenhängend sein P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 7 / 24 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 8 / 24 Fitness-Landschaften Adaptive Walk Formale Beschreibung des Optimierungsproblems als Funktion über der Knotenmenge des Graphen G Die Frage nach geometrischen Eigenschaften wie Start: wähle x ∈ X zufällig Schleife: (1) wähle y ∈ N(x) gleichverteilt (2) falls f (y ) < f (x), setze x → y . Zahl von lokalen Minima Tiefe und Breite von Tälern Abbruchbedingung Sattelpunkte zwischen Tälern Folge der Lösungen enspricht einem Pfad in G , entlang dem f strikt abnimmt. (“Adaptive Walk”) Lokales Minimum: f (y ) ≥ f (x) für alle y ∈ N(x). Pfade bleiben in lokalen Minima stecken. Bei geeigneter Abbruchbedingung erreichen alle Pfade ein lokales Minimum. PROBLEM: Lösungen können sehr schlechter Qualität sein, d.h. f (x) f (min). Rauhheits-Maße und deren Einfluss auf die Optimierung ist Gegenstand der Forschung Veränderung des Movesets verändert die Landschaft und damit das Optimierungsverhalten. Suche problemangepasste Movesets. Idee: einzene Moves sollten die Qualität der Lösung (meistens) nicht zu drastisch verändern. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 9 / 24 Gradient Descent P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 10 / 24 Metropolis-Walks Um lokalen Minima zu entkommen, lasse auch “aufwärts” Schritte zu: Start: wähle x ∈ X zufällig Start: wähle x ∈ X zufällig Schleife: (1) wähle y ∈ N(x) gleichverteilt (2) falls f (y ) < f (x), setze x → y Schleife: (1) bestimme die Menge Z (x) aller z ∈ N(x) für die f (z) minimal über N(x) ist. sonst setze x → y mit Wahrscheinlichkeit wähle y ∈ Z (x) gleichverteilt (2) falls f (y ) < f (x), setze x → y . exp(−(f (y ) − f (x))/T ) Abbruchbedingung: stop falls f (y ) ≥ f (x). Abbruchbedingung Folge der Lösungen enspricht einem Pfad in G , entlang dem f so steil wie möglich abnimmt. (Weg des steilsten Abstieg, “Gradient Descent”. Endet immer in einem lokalen Minimum. Teurer als adaptive walk, weil N(x) durchsucht werden muss. Steil bergauf = exponentiell selten Eigenschaft: Wenn man lange genug wartet, besucht man zu einem bestimmten Zeitpunkt t die Lösung x mit Wahrscheinlichkeit p(x) = exp(−f (x)/T )/Z Für kleine T : Lösungen mit kleinen Funktionswerten werden angereichert. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 11 / 24 Simulated Annealing (SA) 2. Juli 2014 12 / 24 ADS 2, V12 2. Juli 2014 Definiere Markov-Kette auf X durch Übergangswahrscheinlichkeit Px→y von Knoten (Zustand) x ∈ X zu y ∈ N(x) ( 1 wenn f (y ) ≤ f (x) |N(x)| Px→y = 1 exp([f (x) − f (y )]/T ) sonst |N(x)| und Px→x = 1 − 13 / 24 P.F. Stadler & S. Will (Bioinf, Uni LE) 2. Juli 2014 14 / 24 Zu Beginn der Simulation herrscht eine hohe Temperatur, so dass die Knoten stark um ihren Ausgangspunkt schwingen. In Abhängigkeit der wirkenden Kräfte und der Temperatur des Systems werden die Knoten in jedem Iterationsschritt zur optimalen Position hinbewegt. Durch eine anfangs sehr hohe Temperatur soll verhindert werden, dass die Knoten sich in einem lokalen Minimum stabilisieren. Wenn die Temperatur weiter abgekühlt ist, bleibt die relative Lage der Knoten zueinander stabil, und es werden nur noch die Abstände optimiert. U. Quasthoff 7 2. Juli 2014 ADS 2, V12 Benachbarte Knoten ziehen sich entsprechend der Kantenbewertung an. Nicht benachbarte Knoten stoßen einander ab. Gesucht ist die energetisch günstigste Position der Knoten in der Ebene. • stark zusammenhängende Knoten liegen nah beieinander U. Quasthoff y ∈N(X ) Px→y Erzeugung der Graphen mit SA Folgende Kriterien sind plausibel, aber nicht gleichzeitig zu erfüllen: • niedrige Anzahl der Kreuzungspunkte der Kanten • geringe Ausdehnung des Gesamtgraphen • Maximierung des kleinsten Winkels zwischen benachbarten Kanten • symmetrische Auslegung symmetrischer Teilgraphen ADS 2, V12 P Simuliertes Abkühlen: Parameter T wird mit der Zeit erniedrigt. Darstellung von Graphen mittels SA P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 Metropolis und Simuliertes Abkühlen IDEE: Reduziere die “Temperatur” T im Laufe der Simulation Kirkpatrick, Gelatt and Vecchi (1983) and V. Černý (1985) WICHTIGE ROLLE: “cooling schedule” Tk , typischerweise eine monoton fallende Funktion der Schrittzahl k Der Algorithmus konvergiert falls Tk ≥ d/ log(k) für große k. Das ist in der Praxis aber zu langsam, man braucht exponentiell viele Schritte k um eine gegebene Genauigkeit |f (x) − f (min)| zu erreichen. Anwendung auf harte Probleme, für die keine effizienten (polynomialen) Algorithmen bekannt sind. P.F. Stadler & S. Will (Bioinf, Uni LE) P.F. Stadler & S. Will (Bioinf, Uni LE) 15 / 24 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 8 2. Juli 2014 16 / 24 Erfüllbarkeitsproblem für Boolesche Variable Simulated-Annealing für einen Graphen n Boolesche Variable: x1 , x2 , , . . . , xn ∈ {0, 1} (falsch/wahr) 2 Literale zu jeder Variablen: xi (Variable selbst), x¯i (negierte Variable) Eine Klausel c ist eine Disjunktion (Oder-Verknüpfung) von Literalen, z.B. c = (x1 ∨ x¯2 ) Ein Boolescher Ausdruck in konjuktiver Normalform ist eine Konjunktion (Und-Verknüpfung) Boolescher Klauseln, z.B. (x1 ∨ x¯2 ) ∧ (x2 ∨ x3 ∨ x4 ) ∧ . . . Erfüllbarkeitsproblem: Gibt es eine Belegung der Variablen, so dass der gegebene Boolesche Ausdruck wahr ist? U. Quasthoff P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 9 2. Juli 2014 17 / 24 Verbundwahrscheinlichkeit und Faktorisierung P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 18 / 24 Marginale Lösungsansatz benutzt Inferenz-Verfahren aus der Statistik. Jedem Vektor x = (x1 , x2 , . . . , xn ) ∈ {0, 1}n wird Wahrscheinlichkeit p(x) zugewiesen 1/Z falls x Lösung ist. p(x) = 0 sonst Marginal pi (xi ) bzgl. einer Variablen xi bekommt man durch Summmieren über alle anderen Variablen, z.B. X X X p1 (x1 ) = ··· p(x) x2 ∈{0,1} x3 ∈{0,1} Z = Anzahl Lösungen. Damit ist p korrekt normiert, also P x∈{0,1}n p(x) = 1. xn ∈{0,1} Wenn Marginal pi (0) > 0 ist, weiss man, dass es mindestens eine Lösung x mit xi = 0 gibt und kann die Variable xi eliminieren. Entsprechend für pi (1) > 0. Verbundwahrscheinlichkeit kann als Produkt über Klauseln geschrieben werden Y p(x) = Z −1 c(x) c∈C Ergebnis des Produkts ist 1, wenn für Belegung x alle Klauseln erfüllt sind, 0 sonst. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 19 / 24 Beispiel P.F. Stadler & S. Will (Bioinf, Uni LE) (x1 ∨ x¯2 ) ∧ (x2 ∨ x3 ∨ x4 ) Lösungsmenge ist Der zugehörige Faktorgraph ist ein ungerichteter bipartiter Graph X = {0001, 0010, 0011, 1001, 1010, 1011, 1100, 1101, 1110, 1111} . x3 x1 Anzahl Lösungen Z = |X | = 10. c1 x2 c2 x4 Marginale: Zwei Typen von Knoten p1 (0) = 3/10, p2 (0) = 6/10, p3 (0) = 4/10, p4 (0) = 4/10, v-Knoten repräsentieren Variable xi p1 (1) = 7/10 p2 (1) = 4/10 p3 (1) = 6/10 p3 (1) = 6/10 f-Knoten repräsentieren Klauseln (Funktionen) cr Kante zwischen v-Knoten i und f-Knoten r existiert, gdw. Klausel cr von Variable xi abhängt. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 21 / 24 Mitteilungen (message passing) ADS 2, V12 2. Juli 2014 22 / 24 Ist der Faktorgraph ein Wald, so wählt man in jeder Zusammenhangskomponente einen beliebigen Knoten des Faktorgraphen als Wurzel w . r ∗ ∈N(i)\{r } Von den Blättern beginnend berechnet man iterativ Mitteilungen, die in Richtung w gesendet werden. f-Knoten r sendet Mitteilg. νr →i (xi ) an benachbarte v-Knoten i X Y νr →i (xi ) = cr (y ) µi ∗ →r (yi ) , y P.F. Stadler & S. Will (Bioinf, Uni LE) Konvergenz Versenden von Mitteilungen auf dem Faktorgraphen: v-Knoten i sendet Mitteilg. µi→r (xi ) an benachbarten f-Knoten r Y µi→r (xi ) = νr ∗ →i (xi ) y 20 / 24 Betrachte Booleschen Ausdruck (x1 ∨ x¯2 ) ∧ (x2 ∨ x3 ∨ x4 ) wobei läuft. 2. Juli 2014 Faktorgraph Betrachte Booleschen Ausdruck P ADS 2, V12 Sind alle Mitteilungen bei w eingetroffen, werden “auslaufende” Mitteilungen (von w wegführend) gesendet, bis bei allen Blättern eine Mitteilung eingetroffen ist. i ∗ ∈N(r )\{i} die Summation über alle Belegungen der Variablen in N(r ) \ {i} Aus einer konsistenten Lösung dieser Gleichungen ergibt sich das Marginal pi (xi ) als Y pi (xi ) ∝ νr →i . Man kann zeigen, dass die so gefundenen Mitteilungen eine konsistente Lösung sind. Hat der Faktorgraph Zyklen, so werden die Mitteilungen so lange neu berechnet, bis sich innerhalb einer Toleranz konstante Werte einstellen (Abbruchkriterium). r ∈N(r ) P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 23 / 24 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 24 / 24