ADS: Algorithmen und Datenstrukturen 2 - Teil 12 · U. Quasthoff 11 Wortzerlegungen II Vorgegeben...

Preview:

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

Recommended