spezialvorlesung suchalgorithmen thema: selektive suche stefan edelkamp
TRANSCRIPT
SpezialvorlesungSuchalgorithmen
Thema:
Selektive Suche
Stefan Edelkamp
Struktur des Buchs
Überblick
Randomisierte Suche Las Vegas und Monte Carlo SAT-Algoritmen
Lokale Suche RLS + (1+1) EA Simulated Annealing, Tabu-Suche Ameisen-Algorithmen Lagrange-Multiplikatoren
Randomisierte Suche
Randomisierter Algorithmus = Deterministischer Algorithmus + Zufallsexperimente
Las Vegas: Vermeide worst-case durchRandomisieren der Eingabe (immer korrekt) Monte Carlo: Randomisiere Genauigkeit (meistens
korrekt)Beispiele: Randomisierte Binärbaum (Las Vegas) Randomisiertes Quicksort (Las Vegas) Randomisierte Primzahltest (Monte Carlo)
SAT:Nadel im Heuhaufen
Problem Max-k-SAT
m Klausen, n Variablen, k Variablen pro Klausel Probem: Suche
NP-hard selbst für k=2 !
Deterministische .5-Approximation
In jeder Iteration werden mindestens so viele Klauseln erfüllt wie nicht erfüllt
Monien-Speckenmeyer
DeterministischBricht 2^n Grenze: O(1.839^n) für 3-SATVerbesserte Version: O(1.6181^n) für 3-SAT
Hamming Sphere
Illustration
Laufzeit: (2k/(k+1))^nO((3/2)^n) für k=3
Random Walk
Laufzeit: (2 (1-(1/k))^nO((4/3)^n) für k=3
Illustration
Davis-Putnamwhile (true) if (!decide()) // Entscheidung für eine Variable -> Stack return(satisifiable); while (!bcp()) // Boole‘sche Constraint Propagierung if (!resolveConflict()) // Löse Konflikt, s.u. return (not satisfiable);
bool resolveConflict() d = most recent decision not ‘tried both ways’; if (d == NULL) // kein solches d gefunden return false; flip the value of d; mark d as tried both ways; undo any invalidated implications; return true;
Einzel-Klausel Propagierung
Idee: Wenn immer in einer Klausel eine Literal festlegt ist wird es sofort weiter propagiert
Stoppe, wenn keine weiteren Zuweisungen
erreicht werden, oder ein Konflikt identifiziert
wird (backtrack)
Chaff: Watch-Literal
Beim Besuch einer Klausel muss eine der zwei Bedingungen gelten:
(1) Klausel wird nicht impliziert >= 2 Literal sind nicht 0, inklusive der anderen Watched Literale. => 1 Nicht-Watched Literal wird nicht auf 0 gesetzt. Dies wird gewählt und ausgetauscht Bedingung, dass die beiden Watched-Literale nicht 0 sind
(2) The Klause wird impliziert. Dies generiert eine neue Implikation (es sei denn die Klausel ist erfüllt). Dabei ist zu beachten das die implizierte Variable immer das andere Watched Literal sein muss, da die Klausel immer ein Literal nicht 0 hat, und einer der beiden Watched Literale auf 0 gesetzt wird.
Illustration
State-of-the-Art Siege, industriell, u.a. in SAT-Plan Minisat, public domain, u.a. in MAX-Plan
MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers alike to get started on SAT. It is released under the MIT licence, and is currently used in a number of projects (see "Links"). On this page you will find binaries, sources, documentation and projects related to MiniSat, including the Pseudo-boolean solver MiniSat+ and the CNF minimizer/preprocessor SatELite. Together with SatELite, MiniSat was recently awarded in the three industrial categories and one of the "crafted" categories of the SAT 2005 competition
Setting:Lokale Suche
Randomisierte Lokale Suche
Betrachte die Suche nach Minimum von
f : {0,1}^n -> IR
(1+1) EA
Idee: Erlaube weitere Sprünge im Suchraum durch Kreuzung von Individuen Rekombination
Genetische Algorithmen
Ganze Population modelliert Evolution Genetische Operatioren:
Selection, Cross-Over, Mutation, Recombination Analyse beruht auf Schema-Theorem
(heftig umstritten)
Implementierung
Simulated Annealing
Randomisierte Suchstrategie Motiviert durch
Temperaturen & Abkühlen Bolzmann-Konstante „Flut“-Algorithmus Optimal im Limit
Simulated Annealing
Tabu Suche
Oder Taboo-Suche, Wort verweist auf Aborigines „heilig - nicht berühren“
Tabu-Liste soll Lokale Minima vermeidenAnsatz: Wenn alle Nachbarn „tabu“ sind,
werden schlechtere Lösungen akzeptiert. Alternative: Wenn es einen klar verbesserndeOption gibt, ignoriere ListeStrategien zur Aktualisierung der Tabu-Liste:LRU in den letzten k Zügen
Tabu Suche
Randomisierung
Ameisen-Algorithmen
Populationsbasiert Randomisierte Entscheidungen, gerichtete
durch Pheromone (verbleichende Informationen) und andere Kriterien
Beschränkter Speicher Ameisen können zulässige Handlungen
erkennung und bewerten Verteilen Pheromone je nach Güte der
Lösung
Simple Ant System
Lagrange-Optimierung
Beschränktes lokales Minimum (CLP): x* zulässig und f(x*) <= f(x) für alle x in Nc(x)
Lagrange-Multiplikatoren
Für Vektoren Lamda und mu definiere
Idee: Optimiere L und verstärke den Einfluss von Lamda und mu nach und nach
Sattelpunkte
Existieren Lambda* und mu* mit
hinreichend, aber nicht notwendig für x* CLM
z.B. x*=5 in Deshalb definiere Transformierte Lagrange-
Funktion als
Erweiterte Sattelpunktbedingung
Existieren alpha*>=0, beta* >=0, so dass
Für alle alpha** >= alpha*, beta** >= beta*
Beispiel:
An x*=5, kein striktes Minimum für alpha=alpha*=10 aber an alpha>alpha*
Implementierung
Epilog: Unendliche Zustandsräume
Planen mit Presburger Formeln
Von Aktion zur Formel
Von Formel zum Automaten
Spezialvorlesung SS 2007
Gerichtete Modellprüfung