Upload
vuonghuong
View
215
Download
0
Embed Size (px)
Citation preview
ADS: Algorithmen und Datenstrukturen 2Teil 12
Prof. Peter F. Stadler & Sebastian Will
Bioinformatik/IZBIInstitut fur Informatik
& Interdisziplinares Zentrum fur BioinformatikUniversitat Leipzig
2. Juli 2014[Letzte Aktualisierung: 03/07/2014, 16:46]
1 / 24
U. Quasthoff 10
Genetische Algorithmen für natürliche Sprache: WortzerlegungenAufgabe: 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.
Alle Individuen haben das gleiche Geschlecht.
Ein Elternteil erzeugt jeweils ein Kind, welches sich nur durch wenige Mutationen unterscheidet.
Fitness: Anzahl der verwendeten Wortteile
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 2 / 24
U. Quasthoff 11
Wortzerlegungen II
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.
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.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 3 / 24
U. Quasthoff 12
Falsche Freunde bei der Kompositazerlegung
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
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
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 4 / 24
Stochastische Optimierungsalgorithmen (Whd.)
ProblemstellungLosungensmenge X , Bewertungsfunktion f : X → R.Finde globales Minimum von fGrundprinzip
Start: endliche Menge A von erlaubten Losungen (“Population”) mit|A| = n.
Schleife(1) Erzeuge erweiterte Losungsmenge B, |B| = m > n.(2) Selektiere eine neue Population A′ ⊂ B mit |A′| = n in der diebesseren Losungen angereichert sind.
Abbruchbedingung
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 5 / 24
Stochastische Optimierungsalgorithmen (Whd.)
Motiviation durch Prozesse in der Natur:Evolution als Wechselspiel von Mutation (allergemeiner: Erzeugung vonVariabilitat und Selektion (aus den vorhandenen Varianten)Schrittweise Energie-Minimierung in physikalischen Systemen (z.B.Gefrieren von Flussigkeiten ... )
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 6 / 24
Random Generate and Test
A = {x}, eine einzelne Losung
B = {x , y}, wobei y ∈ X eine zufallig gezogene Losung ist.
A′ = {y} if f (y) < f (x), sonst A′ = {x}.
Keine Garantie, dass ein globales Minimum gefunden wird.FRAGE: wie kann man die Struktur von f ausnutzen?IDEE: Gute Losungen werden “irgendwie” ahnlich zu anderen gutenLosungen sein.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 7 / 24
Fitness- / Energielandschaften
Sei G = (X ,E ) ein ungerichteter Graph und f : X → R. Dann heißt
(X ,E , f )
Wertelandschaft.
Je nachdem, ob man globale Minima / Maxima sucht, wird (X ,E , f )auch Energielandschaft / Fitnesslandschaft genannt.
Nachbarschaft von Knoten x ∈ X :
N(x) := {y ∈ X : {x , y} ∈ E}
Definiere Nachbarschaft durch “Moves”
Sinnvolles Moveset: G soll stark zusammenhangend sein
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 8 / 24
Fitness-Landschaften
Formale Beschreibung des Optimierungsproblems als Funktion uber derKnotenmenge des Graphen GDie Frage nach geometrischen Eigenschaften wie
Zahl von lokalen Minima
Tiefe und Breite von Talern
Sattelpunkte zwischen Talern
Rauhheits-Maße
und deren Einfluss auf die Optimierung ist Gegenstand der ForschungVeranderung des Movesets verandert die Landschaft und damit dasOptimierungsverhalten.Suche problemangepasste Movesets. Idee: einzene Moves sollten dieQualitat der Losung (meistens) nicht zu drastisch verandern.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 9 / 24
Adaptive Walk
Start: wahle x ∈ X zufallig
Schleife:(1) wahle y ∈ N(x) gleichverteilt(2) falls f (y) < f (x), setze x → y .
Abbruchbedingung
Folge der Losungen enspricht einem Pfad in G , entlang dem f striktabnimmt. (“Adaptive Walk”)Lokales Minimum: f (y) ≥ f (x) fur alle y ∈ N(x).Pfade bleiben in lokalen Minima stecken. Bei geeigneterAbbruchbedingung erreichen alle Pfade ein lokales Minimum.PROBLEM: Losungen konnen sehr schlechter Qualitat sein, d.h.f (x)� f (min).
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 10 / 24
Gradient Descent
Start: wahle x ∈ X zufallig
Schleife:(1) bestimme die Menge Z (x) aller z ∈ N(x) fur die f (z) minimaluber N(x) ist.
wahle y ∈ Z (x) gleichverteilt(2) falls f (y) < f (x), setze x → y .
Abbruchbedingung: stop falls f (y) ≥ f (x).
Folge der Losungen enspricht einem Pfad in G , entlang dem f so steil wiemoglich abnimmt. (Weg des steilsten Abstieg, “Gradient Descent”.Endet immer in einem lokalen Minimum.Teurer als adaptive walk, weil N(x) durchsucht werden muss.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 11 / 24
Metropolis-Walks
Um lokalen Minima zu entkommen, lasse auch “aufwarts” Schritte zu:
Start: wahle x ∈ X zufallig
Schleife:(1) wahle y ∈ N(x) gleichverteilt(2) falls f (y) < f (x), setze x → y
sonst setze x → y mit Wahrscheinlichkeit
exp(−(f (y)− f (x))/T )
Abbruchbedingung
Steil bergauf = exponentiell seltenEigenschaft: Wenn man lange genug wartet, besucht man zu einem bestimmtenZeitpunkt t die Losung x mit Wahrscheinlichkeit
p(x) = exp(−f (x)/T )/Z
Fur kleine T : Losungen mit kleinen Funktionswerten werden angereichert.P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 12 / 24
Simulated Annealing (SA)
IDEE: Reduziere die “Temperatur” T im Laufe der SimulationKirkpatrick, Gelatt and Vecchi (1983) and V. Cerny (1985)WICHTIGE ROLLE:“cooling schedule” Tk , typischerweise eine monoton fallende Funktion derSchrittzahl kDer Algorithmus konvergiert falls Tk ≥ d/ log(k) fur große k .Das ist in der Praxis aber zu langsam, man braucht exponentiell vieleSchritte k um eine gegebene Genauigkeit |f (x)− f (min)| zu erreichen.Anwendung auf harte Probleme, fur die keine effizienten (polynomialen)Algorithmen bekannt sind.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 13 / 24
Metropolis und Simuliertes Abkuhlen
Definiere Markov-Kette auf X durch Ubergangswahrscheinlichkeit Px→y
von Knoten (Zustand) x ∈ X zu y ∈ N(x)
Px→y =
{1
|N(x)| wenn f (y) ≤ f (x)1
|N(x)| exp([f (x)− f (y)]/T ) sonst
und Px→x = 1−∑
y∈N(X ) Px→y
Simuliertes Abkuhlen: Parameter T wird mit der Zeit erniedrigt.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 14 / 24
U. Quasthoff 7
Darstellung von Graphen mittels 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
• stark zusammenhängende Knoten liegen nah beieinander
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 15 / 24
U. Quasthoff 8
Erzeugung der Graphen mit SA
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.
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.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 16 / 24
U. Quasthoff 9
Simulated-Annealing für einen Graphen
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 17 / 24
Erfullbarkeitsproblem fur Boolesche Variable
n Boolesche Variable: x1, x2, , . . . , xn ∈ {0, 1} (falsch/wahr)
2 Literale zu jeder Variablen: xi (Variable selbst), xi (negierteVariable)
Eine Klausel c ist eine Disjunktion (Oder-Verknupfung) von Literalen,z.B.
c = (x1 ∨ x2)
Ein Boolescher Ausdruck in konjuktiver Normalform ist eineKonjunktion (Und-Verknupfung) Boolescher Klauseln, z.B.
(x1 ∨ x2) ∧ (x2 ∨ x3 ∨ x4) ∧ . . .
Erfullbarkeitsproblem: Gibt es eine Belegung der Variablen, so dassder gegebene Boolesche Ausdruck wahr ist?
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 18 / 24
Verbundwahrscheinlichkeit und Faktorisierung
Losungsansatz benutzt Inferenz-Verfahren aus der Statistik.
Jedem Vektor x = (x1, x2, . . . , xn) ∈ {0, 1}n wird Wahrscheinlichkeitp(x) zugewiesen
p(x) =
{1/Z falls x Losung ist.0 sonst
Z = Anzahl Losungen. Damit ist p korrekt normiert, also∑x∈{0,1}n p(x) = 1.
Verbundwahrscheinlichkeit kann als Produkt uber Klauselngeschrieben werden
p(x) = Z−1∏c∈C
c(x)
Ergebnis des Produkts ist 1, wenn fur Belegung x alle Klauseln erfulltsind, 0 sonst.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 19 / 24
Marginale
Marginal pi (xi ) bzgl. einer Variablen xi bekommt man durchSummmieren uber alle anderen Variablen, z.B.
p1(x1) =∑
x2∈{0,1}
∑x3∈{0,1}
· · ·∑
xn∈{0,1}
p(x)
Wenn Marginal pi (0) > 0 ist, weiss man, dass es mindestens eineLosung x mit xi = 0 gibt und kann die Variable xi eliminieren.Entsprechend fur pi (1) > 0.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 20 / 24
Beispiel
Betrachte Booleschen Ausdruck
(x1 ∨ x2) ∧ (x2 ∨ x3 ∨ x4)
Losungsmenge ist
X = {0001, 0010, 0011, 1001, 1010, 1011, 1100, 1101, 1110, 1111} .
Anzahl Losungen Z = |X | = 10.
Marginale:
p1(0) = 3/10, p1(1) = 7/10p2(0) = 6/10, p2(1) = 4/10p3(0) = 4/10, p3(1) = 6/10p4(0) = 4/10, p3(1) = 6/10
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 21 / 24
Faktorgraph
Betrachte Booleschen Ausdruck
(x1 ∨ x2) ∧ (x2 ∨ x3 ∨ x4)
Der zugehorige Faktorgraph ist ein ungerichteter bipartiter Graph
x2x1 c1 c2
x4
x3
Zwei Typen von Knoten
v-Knoten reprasentieren Variable xi
f-Knoten reprasentieren Klauseln (Funktionen) cr
Kante zwischen v-Knoten i und f-Knoten r existiert, gdw. Klausel crvon Variable xi abhangt.
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 22 / 24
Mitteilungen (message passing)
Versenden von Mitteilungen auf dem Faktorgraphen:v-Knoten i sendet Mitteilg. µi→r (xi ) an benachbarten f-Knoten r
µi→r (xi ) =∏
r∗∈N(i)\{r}
νr∗→i (xi )
f-Knoten r sendet Mitteilg. νr→i (xi ) an benachbarte v-Knoten i
νr→i (xi ) =∑y
cr (y)∏
i∗∈N(r)\{i}
µi∗→r (yi ) ,
wobei∑
y die Summation uber alle Belegungen der Variablen in N(r) \ {i}lauft.
Aus einer konsistenten Losung dieser Gleichungen ergibt sich das Marginalpi (xi ) als
pi (xi ) ∝∏
r∈N(r)
νr→i .
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 23 / 24
Konvergenz
Ist der Faktorgraph ein Wald, so
wahlt man in jeder Zusammenhangskomponente einen beliebigenKnoten des Faktorgraphen als Wurzel w .
Von den Blattern beginnend berechnet man iterativ Mitteilungen, diein Richtung w gesendet werden.
Sind alle Mitteilungen bei w eingetroffen, werden “auslaufende”Mitteilungen (von w wegfuhrend) gesendet, bis bei allen Blattern eineMitteilung eingetroffen ist.
Man kann zeigen, dass die so gefundenen Mitteilungen einekonsistente Losung sind.
Hat der Faktorgraph Zyklen, so
werden die Mitteilungen so lange neu berechnet, bis sich innerhalbeiner Toleranz konstante Werte einstellen (Abbruchkriterium).
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V12 2. Juli 2014 24 / 24