Beweiser für quantifizierte Boolesche Ausdrücke - QUAFFLE

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Christian Scheideler SS 2009
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Schwierigkeit von Aufgabenstellungen
Komplexität und Phasenübergänge
4. Logik – und ihre Bedeutung für WBS
Default Logiken Zhao Li
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Planares 3 SAT ist NP-vollständig
Marco Barz Seminar über Algorithmen SoSe2007
Syntax der Aussagenlogik
Verifizieren versus Berechnen
Algorithmen und Komplexität
Einführung in Algorithmen und Komplexität
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Prolog und Prädikatenlogik I
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
Vollständige SAT-Solver
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Kapitel 5 Stetigkeit.
Fakten, Regeln und Anfragen
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Algorithmen und Komplexität
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Inhalte und Maßnahmen eingegeben haben,
Aussagenlogik -- Verfahren zum Finden von Modellen
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
SAT-Engines Seminar WS 2000/2001
Recursive Learning und GRASP SAT-Engines-Seminar WS 2000/01 Stefan Disch.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Polynome und schnelle Fourier-Transformation
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den Brute Force Search Algorithmus schlagen?
Analyseprodukte numerischer Modelle
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 26.
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Algorithmen für das Erfüllbarkeitsproblem SAT
Der Erotik Kalender 2005.
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert Universität Bielefeld Technische Fakultät.
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den ‚Brute Force Search‘ Algorithmus schlagen?
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
4. Logik – und ihre Bedeutung für WBS
 Präsentation transkript:

Beweiser für quantifizierte Boolesche Ausdrücke - QUAFFLE Universität Bremen Fachbereich 3 Beweiser für quantifizierte Boolesche Ausdrücke - QUAFFLE Arman Allahyari-Abhari

Leitfaden Grundlagen (SAT) Grundlagen (QBF) QUAFFLE-Algorithmik Performance Zusammenfassung

Formalismen (SAT) Eine CNF hat die Form: , wobei als Klausel bezeichnet wird und eine Disjunktion von Literalen ist, also die Form hat. Ein Literal ist eine Variable in positiver oder negativer Phase.

SAT-Problem Sei eine Boolesche Formel f in CNF gegeben. Das Erfüllbarkeitsproblem (kurz: SAT) stellt die Frage, ob es eine Belegung gibt, so dass f = 1 ist. SAT ist NP-Vollständig (Cook, 1971) Hohe Laufzeitkomplexität Erst: Davis-Putnam-Algorithmus (Mem. Blowup) Später: Davis-Logemann-Loveland (CPU)

Algorithmus von Davis, Logemann & Loveland (SAT) Gegenüber DP-Algorithmus wesentlich geringerer Speicherbedarf Modularer Aufbau (gut erweiterbar) Neuer Flaschenhals: CPU Reiner DLL-Algorithmus für aktuelle Probleme noch zu langsam

Fortschritte in SAT Basis: DLL-Algorithmus (Dann: GRASP, Chaff, BerkMin) Verbesserungen: Learning durch Konflikte (CBE) Verbessertes Backtracking (FDA, CDB) Optimierte Boolean Constraint Propagation Bessere Entscheidungsheuristiken (VSIDS) Database Management (Clause Aging/Deletion, …) Restarts …

Formalismen (QBF) Eine quantifizierte Boolsche Formel (QBF) hat die Form: , wobei eine aussagenlogische Formel mit den Variablen ist. Im Folgenden wird in KNF vorliegen. ist entweder ein Existenzquantor oder ein Allquantor . Die Quantifizierungsreihenfolge ist zwingend einzuhalten

Formalismen (QBF) #2 Da und , können gleichquantifizierte Variablen mit der selben Priorität in disjunkten Mengen zusammen-gefasst werden: Für den Quantor haben alle in enthaltenen Variablen das Quantifizierungs-Level j.

Augmented CNF Ein cube ist eine Konjunktion von Literalen: Eine ACNF ist eine mit (redundanten) cubes erweiterte Darstellung der CNF für QBF: Wenn ein erfüllt ist, dann ist auch die CNF erfüllt

Besondere Klauseln/Cubes Eine tautology clause ist eine Klausel, die beide Phasen einer Variablen enthält (Klausel erfüllt) Ein empty cube ist ein Cube, der beide Phasen einer Variablen enthält (Cube unerfüllbar)

Weitere Definitionen/Konventionen E(C) und E(S) stellen die Menge der existenziellen Literale und U(C) und U(S) die der universellen Literale in der Klausel C bzw. dem Cube S dar. Existenzielle Literale werden durch a,b,c, usw. und Universelle duch x,y,z, usw. dargestellt

Zusammenhang von SAT & QBF SAT ist spezieller Fall von QBF, da SAT-Probleme implizit nur Existenz-Quantoren enthalten Entwicklung im Bereich SAT ist in den letzten Jahren weit fortgeschritten (DP, DLL, GRASP, Chaff, BerkMin) Ziel: SAT-Techniken erweitern, so dass diese auch auf QBF anwendbar sind

QUAFFLE – Ein QBF-Solver Release: Sept. 2002 Authoren: L. Zhang, S. Malik (Chaff) Webseite: http://www.princeton.edu/~chaff/quaffle.html Benchmarks: http://www.qbflib.org Schwerpunkt: effizientes Learning

Davis-Logemann-Loveland für QBF Die Branch-Prozedur muss die Reihenfolge der Quantifizierungen einhalten Die deduce-Prozedur muss eine erweiterte Implikationsregel nutzen Wurde nun eine erfüllende Belegung gefunden, so ist die Suche nicht beendet: Beide Branches von universellen Variablen müssen erfüllt sein Backtrack, Flip und weiter

Davis-Logemann-Loveland für QBF //Variable entscheiden //Implikation //Konfliktbehandlung //Behandlung von //SAT–Fällen //Ende des Implikationsdurchlaufs //Terminierung

Konflikt-/SAT-Behandlung analyse_conflict() sucht die am Konflikt beteiligte existenzielle Variable mit dem höchsten decision level, flippt diese und gibt das decision level zurück analyse_SAT() sucht die universelle Variable mit dem höchsten decision level, flippt diese und gibt das decision level zurück

Wichtig Regeln auf Klauseln lassen ausschließlich Folgerungen auf existenzielle Literale zu Regeln auf Cubes lassen ausschließlich Folgerungen auf universelle Literale zu

Konfliktregel für non-tautology clauses Gilt für eine non-tautology clause C (1) (alle existenziellen Literale haben den Wert 0) (2) (kein universelles Literal hat den Wert 1) dann ist C eine conflicting clause (aktueller Zweig unerfüllbar).

Implikationsregel für non-tautology clauses Gilt für eine non-tautology clause C mit Literal a (1) alle existenziellen Literale außer a haben den Wert 0, a ist unzugewiesen. (2) kein universelles Literal hat den Wert 1. Wenn ein solches Literal unzugewiesen ist, ist sein Quantifizierungs-Level größer als das von a. dann muss a den Wert 1 haben.

Satisfying rule für non-empty cubes Gilt für einen non-empty cube S (1) alle universellen Literale haben den Wert 1 (2) kein existenzielles Literal hat den Wert 0. dann muss der Klausel-Term erfüllt sein. Wegen redundanz ziehen beide Regeln für cubes auch

Implikationsregel für non-empty cubes Gilt für einen non-empty cube S mit Literal x (1) alle universellen Literale außer x haben den Wert 1, x ist unzugewiesen. (2) kein existenzielles Literal hat den Wert 0. Wenn ein solches Literal unzugewiesen ist, ist sein Quantifizierungs-Level größer als das von x. dann muss x den Wert 0 zugewiesen bekommen (Immer universelle Variablen), damit der Zweig abgeschnitten wird (SAT-Learning). Implikation bei klauseln zu 1 und bei cubes zu 0

Conflict Driven Learning Ziel: Gemachte Fehler (falsche Branches) in Form von neuen Klauseln festhalten, um so den Suchraum zu verringern Verbesserung der analyse_conflict()-Routine Lernen durch Resolution der beteiligten Klauseln

Resolution Gegeben seien zwei Klauseln und . enthält die Literale und die Literale . Die Literale und gehören der selben Variablen an, haben aber verschiedene Phasen. Durch Anwendung von Resolution erhält man eine neue Klausel . Erzeugte Klausel redundant zu C1 und C2. -> neue Klausel kann zur Klauseldatenbank hinzugefügt werden, ohne Formel bezüglich Ihrer Erfüllbarkeit zu verändern.

Conflict Driven Learning //Konflikt- diagnose

SAT-basiertes Lernen Wenn erfüllende Belegung für Klausel-Term gefunden, nicht unbedingt Lösung der QBF (Allquantoren) Problem: SAT-Ansätze fokussieren auf Konflikte. Keine Technik für erfüllende Belegungen, die Allquantoren nicht erfüllen, zu lernen. Neuer Ansatz: Satisfiability-Directed Learning

Cube-Generierung Wenn erfüllende Belegung für Klausel-Term gefunden, diese als cube an die ACNF anfügen: Beispiel: ist erfüllende Belegung. Zugehörigen cube in die ACNF einfügen: Heuristiken entscheiden, welche hinzugef. werden

Cube-Generierung //Cube-Generator //SAT-Analyse

Perfomance (1) - Quaffle im Vergleich mit anderen QBF-Solvern

Performance (2)

Zusammenfassung Tritt ein Konflikt auf, wird eine Klausel gelernt, die unerfüllbare Zweige abschneidet Tritt ein SAT-Fall ein, wird ein Cube gelernt, der erfüllbare Zweige abschneidet Satisfiability-Directed-Learning nur für Instanzen sinnvoll, die viele erfüllbare Zweige mit vielen universellen Quantoren haben.

Vielen Dank!