Satisfiability Problem SAT JIN Xiaolong Content Basic Concepts
Satisfiability Problem (SAT) JIN Xiaolong
Content • Basic Concepts • General Methods Ø Complete Ø Incomplete • Unit. Walk 9/26/2020 2
What is SAT? (1) • To determine the satisfiability of a propositional formula F • Any F can be transformed to a Conjunctive Normal Form (CNF): Where, lj is a propositional variable or its negation (n variables). 9/26/2020 3
What is SAT? (2) • , , K-SAT • 2 -SAT (P Problem) • K-SAT (K>=3, NP-Complete Problem) • 3 -SAT Ø Phase transition phenomenon; Ø m/n=4. 3; 9/26/2020 4
9/26/2020 5
General Methods • Complete methods Ø Earlier methods Ø Completeness (entire space, unsatisfiability) Ø Slow speed • Incomplete methods Ø Newborn methods Ø Incompleteness Ø Quick speed 9/26/2020 6
DPLL Procedure(1) -Complete method • Proposal Ø Davis & Putname, 1960; Ø Davis, Logemann & Loveland, 1962 • Algorithm Prototype procedure DPLL(F, s) Unit. Propagation(F, s); if F == then return s; if F contains empty clause then backtrack; v: =choose. Variable. To. Branch. On(F, s); DPLL(F v, s {v: =true}); DPLL(F ~ v, s {v: =false}; return “unsatisfiable”; end DPLL ; 9/26/2020 7
DPLL Procedure(2) -Complete method • Algorithm Variants Ø Ø 9/26/2020 TABLEAU (Crawford & Auton, 1996); SATZ (Li & Angulagan, 1997); GRASP (Marques-Silva & Sakallah, 1996); REL_SAT (Bayardo Jr. & Schrag, 1997); 8
Local Search -Incomplete method • Proposal Ø Selman, Levesque & Mitchell, 1992; Ø Gu, 1992; • Branches Ø GSAT Ø Walk. SAT 9/26/2020 9
GSAT(1) • Algorithm Prototype procedure GSAT( F, max. Tries, max. Steps) for try : = 1 to max. Tries do s : = randomly chosen assignment of the variables in formula F; for step : = 1 to max. Steps do if s satisfies F then return s; v : = randomly selected variable the flip of which minimizes the number of unsatisfied clauses; s : = s with v flipped; end for; return “no solution found”; end GSAT; 9/26/2020 10
GSAT(2) • Algorithm Variants Ø GWSAT (Selman, Kautz & Cohen, 1994); Ø GSAT/Tabu (Mazure, Sais & Gregoire, 1997); 9/26/2020 11
Walk. SAT(1) • Algorithm Prototype procedure Walk. SAT( F, max. Tries, max. Steps, Select) for try : = 1 to max. Tries do s : = randomly chosen assignment of the variables in F; for step : = 1 to max. Steps do if s satisfies F then return s; c : = randomly selected clause which is unsatisfied under a; v : = variable from a selected according to a heuristic Select; s : = s with v flipped; end for; return “no solution found”; end Walk. SAT; 9/26/2020 12
Walk. SAT(2) • Algorithm Variants Ø Ø Ø 9/26/2020 Walk. SAT/Tabu (Mc. Allester, Selman & Levesque, 1997); Novelty (Mc. Allester, Selman & Levesque, 1997); R-Novelty (Mc. Allester, Selman & Levesque, 1997); Novelty+ (Hoos, 1999); R-Novelty+(Hoos, 1999); 13
Unit. Walk(1) • Proposal Ø Hirsch & Kojevnikov, 2001; • Characteristics Ø Ø 9/26/2020 Local search method; Unit clause elimination; Probabilistic Approximate Completeness (PAC); Quick speed; 14
- Slides: 14