SAT Solving in der Praxis
- Typ: Vorlesung
- Semester: SS 2017
-
Ort:
Seminarraum 236 (Geb. 50.34)
-
Zeit:
Mo 14:00-15:30
-
Dozent:
Dr. Carsten Sinz - SWS: 3 (2 Vorlesung, 1 Übung)
- ECTS: 5
- LVNr.: 2400085
-
Prüfung:
mündlich (Termine: 31.07.2017 und 09.10.2017)
-
Hinweis:
Die Vorlesung wird auf Englisch gehalten.
Vorlesungsinhalte
Das aussagenlogische Erfüllbarkeitsproblem (SAT-Problem) spielt in Theorie und Praxis eine herausragende Rolle. Es ist das erste als NP-vollständig erkannte Problem, und auch heute noch Ausgangspunkt vieler komplexitätstheoretischer Untersuchungen. Darüber hinaus hat sich SAT-Solving inzwischen als eines der wichtigsten grundlegenden Verfahren in der Verifikation von Hard- und Software etabliert und wird zur Lösung schwerer kombinatorischer Probleme auch in der industriellen Praxis verwendet.
Dieses Modul soll die theoretischen und praktischen Aspekte des SAT-Solving vermitteln. Behandelt werden:
- Grundlagen, historische Entwicklung
- Codierungen, z.B. cardinality constraints
- Phasenübergänge bei Zufallsproblemen
- Lokale Suche (GSAT, WalkSAT, …, ProbSAT)
- Resolution, Davis-Putnam-Algorithmus, DPLL-Algorithmus, Look-Ahead-Algorithmus
- Effiziente Implementierungen, Datenstrukturen
- Heuristiken im DPLL-Algorithmus
- CDCL-Algorithmus, Klausellernen, Implikationsgraphen
- Restarts und Heuristiken im CDCL-Algorithmus
- Preprocessing, Inprocessing
- Generierung von Beweisen und deren Prüfung
- Paralleles SAT Solving (Guiding Paths, Portfolios, Cube-and-Conquer)
- Verwandte Probleme: MaxSAT, MUS, #SAT, QBF
- Fortgeschrittene Anwendungen: Bounded Model Checking, Planen, satisfiability-modulo-theories
Organisatorisches
Die Übungen zur Vorlesung finden 14-tägig donnerstags von 14:00-15:30 Uhr im ATIS-SR 010 statt, erster Termin am 27.04.2017.
Vorlesungsfolien
Siehe Link oben rechts auf der Seite.
Literatur
A. Biere, M. Heule, H. Van Maaren, T. Walsh: Handbook of Satisfiability, IOS Press, 2009.
D. Knuth: The Art of Computer Programming, Volume 4, Fascicle 6: Satisfiability, 2015.