Introduction
Marijn J.H. Heule Warren A. Hunt Jr. The University of Texas at Austin
Heule & Hunt (UT Austin) Introduction 1 / 28
Introduction Marijn J.H. Heule Warren A. Hunt Jr. The University - - PowerPoint PPT Presentation
Introduction Marijn J.H. Heule Warren A. Hunt Jr. The University of Texas at Austin Heule & Hunt (UT Austin) Introduction 1 / 28 Motivation satisfiability solving From 100 variables, 200 clauses (early 90s) to 1,000,000 vars. and
Marijn J.H. Heule Warren A. Hunt Jr. The University of Texas at Austin
Heule & Hunt (UT Austin) Introduction 1 / 28
Heule & Hunt (UT Austin) Introduction 2 / 28
Heule & Hunt (UT Austin) Introduction 2 / 28
Heule & Hunt (UT Austin) Introduction 2 / 28
Heule & Hunt (UT Austin) Introduction 3 / 28
Heule & Hunt (UT Austin) Introduction 4 / 28
Heule & Hunt (UT Austin) Introduction 4 / 28
Heule & Hunt (UT Austin) Introduction 5 / 28
Heule & Hunt (UT Austin) Introduction 6 / 28
Heule & Hunt (UT Austin) Introduction 6 / 28
Heule & Hunt (UT Austin) Introduction 7 / 28
can be assigned the Boolean values 0 or 1
refers either to xi or its complement ¬xi literals xi are satisfied if variable xi is assigned to 1 (true) literals ¬xi are satisfied if variable xi is assigned to 0 (false)
Heule & Hunt (UT Austin) Introduction 8 / 28
Disjunction of literals: E.g. Cj = (l1 ∨ l2 ∨ l3) Can be falsified with only one assignment to its literals: All literals assigned to false Can be satisfied with 2k − 1 assignment to its k literals One special clause - the empty clause (denoted by ∅) - which is always falsified
Heule & Hunt (UT Austin) Introduction 9 / 28
Conjunction of clauses: E.g. F = C1 ∧ C2 ∧ C3 Is satisfiable if there exists an assignment satisfying all clauses,
Formulae are defined in Conjunction Normal Form (CNF) and generally also stored as such - also learned information
Heule & Hunt (UT Austin) Introduction 10 / 28
Mapping of the values 0 and 1 to the variables ϕ ◦ F results in a reduced formula Freduced: all satisfied clauses are removed all falsified literals are removed satisfying assignment ↔ Freduced is empty falsifying assignment ↔ Freduced contains ∅ partial assignment versus full assignment
Heule & Hunt (UT Austin) Introduction 11 / 28
Heule & Hunt (UT Austin) Introduction 12 / 28
(P ∨ ¬Q) ⊲ ⊳ (Q ∨ R) = (P ∨ R) (P ∨ ¬Q) ⊲ ⊳ (¬R ∨ ¬P) = (¬Q ∨ ¬R) (Q ∨ R) ⊲ ⊳ (¬R ∨ ¬P) = (Q ∨ ¬P)
Heule & Hunt (UT Austin) Introduction 12 / 28
(P ∨ ¬Q) ⊲ ⊳ (Q ∨ R) = (P ∨ R) (P ∨ ¬Q) ⊲ ⊳ (¬R ∨ ¬P) = (¬Q ∨ ¬R) (Q ∨ R) ⊲ ⊳ (¬R ∨ ¬P) = (Q ∨ ¬P)
Heule & Hunt (UT Austin) Introduction 12 / 28
Heule & Hunt (UT Austin) Introduction 13 / 28
1: while ∅ /
2:
3: end while 4: return ϕ, F
Heule & Hunt (UT Austin) Introduction 14 / 28
Heule & Hunt (UT Austin) Introduction 15 / 28
Heule & Hunt (UT Austin) Introduction 15 / 28
Heule & Hunt (UT Austin) Introduction 15 / 28
Heule & Hunt (UT Austin) Introduction 15 / 28
Heule & Hunt (UT Austin) Introduction 15 / 28
Simplify (Unit Propagation) Split the formula Variable Selection Heuristics Direction heuristics
Heule & Hunt (UT Austin) Introduction 16 / 28
Heule & Hunt (UT Austin) Introduction 17 / 28
Heule & Hunt (UT Austin) Introduction 17 / 28
Heule & Hunt (UT Austin) Introduction 17 / 28
Heule & Hunt (UT Austin) Introduction 18 / 28
Selected by the heuristics Play a crucial role in performance
Assigned by reasoning (e.g. unit propagation) Maximizing the number of implied variables is an important aspect of look-ahead Sat solvers
Heule & Hunt (UT Austin) Introduction 19 / 28
A clause C represents a set of falsified assignments, i.e. those assignments that falsify all literals in C A falsifying assignment ϕ for a given formula represents a set of clauses that follow from the formula For instance with all decision variables Important feature of conflict-driven Sat solvers
Heule & Hunt (UT Austin) Introduction 20 / 28
”brute-force”, complete examples: zchaff, minisat, rsat
lots of reasoning, complete examples: march, OKsolver, kcnfs
local optimazations, incomplete examples: WalkSAT, UnitWalk
Heule & Hunt (UT Austin) Introduction 21 / 28
Turing award ’07 Clarke, Emerson, and Sifakis
Heule & Hunt (UT Austin) Introduction 22 / 28
Heule & Hunt (UT Austin) Introduction 23 / 28
Heule & Hunt (UT Austin) Introduction 24 / 28
1 2 3 4 5 6 7 8 25 50 75 100 50 40 30 20 10 variables clause-variable density
Heule & Hunt (UT Austin) Introduction 25 / 28
1 2 3 4 5 6 7 8
1,000 2,000 3,000 4,000 5,000
50 40 30 20 10 variables clause-variable density
Heule & Hunt (UT Austin) Introduction 26 / 28
by Olivier Roussel http://www.cs.utexas.edu/~marijn/game/
Heule & Hunt (UT Austin) Introduction 27 / 28
Marijn J.H. Heule Warren A. Hunt Jr. The University of Texas at Austin
Heule & Hunt (UT Austin) Introduction 28 / 28