SAT-Solving

Aus International Center for Computational Logic
Wechseln zu:Navigation, Suche

SAT-Solving

Lehrveranstaltung mit SWS 3/1/0 (Vorlesung/Übung/Praktikum) in SS 2017

Dozent

  • Steffen Hölldobler

Tutor

Umfang (SWS)

  • 3/1/0

Module

Leistungskontrolle

  • Mündliche Prüfung



Das Erfüllbarkeitsproblem (SAT) der Aussagenlogik ist ein fundamentales Entscheidungsproblem der Informatik, und das repräsentative Problem der Komplexitätsklasse NP. Neben vielen akademischen Anwendungen, die sich auf SAT reduzieren lassen, gibt es auch industriell relevante Probleme, die gelöst werden können. Einige Beispiele sind das Lösen von Sudokus, das Lösen von Hamiltonion Path und Hamiltonian Cycle Problemen, aber auch die Verifikation von Hardware und Software. Selbst Attacken auf Crypthographie-Verfahren sind mit SAT möglich.

In den letzten zwei Jahrzehnten wurden SAT Solver -- Algorithmen die das Efüllbarkeitsproblem lösen -- wesentlich verbessert, und gehen weit über den DPLL Algorithmus der 1960er hinaus. Die Vorlesung präsentiert zum einen die theoretischen Grundlagen, auf denen SAT Solver aufbauen und führt Lösungsalgorithmen abstrakt ein und diskutiert Eigenschaften, die ausgenutzt werden können, um effiziente SAT Solver zu erhalten.

Auf der anderen Seite werden interna von SAT Solvern beleuchtet, und verwandte Anwendungen aufgezeigt. So kann mit MaxSAT -- der Optimierungsvariante des Erfüllbarkeitsproblems -- eine beste Lösung gefunden werden, oder durch mehrfaches Aufrufen eines Solvers eine kleinste unerfüllbare Teilformel gefunden werden. Die Varianten des Lösens werden ebenso diskutiert, wie das parallele Lösen des SAT Problems. Dabei wird auch auf die effiziente Implementierung geachtet.

In den Übungen werden sowohl theoretische als auch praktische Aufgabenstellungen gegeben. Es sollen sowohl Lösungsalgrithmen implementiert, als auch Probleme auf das SAT Problem reduziert werden.

Presentations on Applications in SAT

Schedule

  • the lecture and the tutorial will take place in room E05
  • the lecture and the tutorial will take place on Thursdays 4.DS and 5.DS (13:00 - 16:20, ab 6.4.2017).

Lecture Slides

Exercises