DE

Modul

Practical SAT Solving [M-INFO-102825]

Credits
5
Recurrence
Unregelmäßig
Duration
1 Semester
Language
English
Level
4
Version
3

Responsible

Organisation

  • KIT-Fakultät für Informatik

Part of

Bricks

Identifier Name LP
T-INFO-105798 Practical SAT Solving 5

Competence Certificate

See partial achivement.

Competence Goal

Students are able to evaluate combinatorial problems, assess their complexity, and solve them using computers.

Students learn how to solve combinatorial problems efficiently using SAT Solving. Students are able to assess the practical complexity of decision and optimization problems, encode problems as SAT problems, and implement efficient solution procedures for combinatorial problems.

Students gain insight into state-of-the-art solution methods for SAT and related problems and their implementations in SAT solvers.

Prerequisites

See partial achivement.

Content

The problem of propositional satisfiability (SAT) is an outstanding problem of computer science from a theoretical as well as practical perspective. Being the first problem proven to be NP-complete, it serves as a fundamental tool for research in complexity theory. Moreover, SAT solving has been established as one of the most important fundamental methods in hardware and software verification, and is used to solve hard combinatorial problems in industrial practice as well. This module aims to provide students with the theoretical and practical aspects of SAT-Solving. Covered are:
1. basics, historical development
2. encodings, e.g. cardinality constraints
3. phase transitions in random problems
4. local search (GSAT, WalkSAT, ..., ProbSAT)
5. resolution, Davis-Putnam algorithm, DPLL algorithm, look-ahead algorithm
6. efficient implementations, data structures
7. heuristics in the DPLL algorithm
8. CDCL algorithm, clause learning, implication graphs
9. restarts and heuristics in the CDCL algorithm
10. preprocessing, inprocessing
11. generation of proofs and their checking
12. parallel SAT solving (guiding paths, portfolios, cube-and-conquer)
13. related problems: MaxSAT, MUS, #SAT, QBF
14. advanced applications: Bounded model checking, planning, satisfiability-modulo-theories

Workload

Lecture (2 SWS) + exercise (1 SWS)

(Preparation and follow-up: 4h/week, exercises: 2h/week, preparation for exam: 15h)

Total workload: (2 SWS + 1 SWS + 4 SWS + 2 SWS) x 15 h + 15h preparation = 9x15h + 15h = 150h = 5 ECTS