24
ADS: Algorithmen und Datenstrukturen 2 Teil 12 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut f¨ ur Informatik & Interdisziplin¨ ares Zentrum f¨ ur Bioinformatik Universit¨ at Leipzig 2. Juli 2014 [Letzte Aktualisierung: 03/07/2014, 16:46] 1 / 24

ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

Embed Size (px)

Citation preview

Page 1: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 2: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 3: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 4: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 5: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 6: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 7: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 8: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 9: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 10: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 11: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 12: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 13: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 14: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 15: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 16: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 17: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 18: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 19: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 20: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 21: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 22: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 23: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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

Page 24: ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben ist eine Menge von Wörtern. Hier: Weinflasche Weinglas Bierflasche Bierglas Induviduen

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