hypothetical reasoning in propositional satisfiability sat02, may, 2002 joao marques-silva technical...
TRANSCRIPT
![Page 1: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/1.jpg)
Hypothetical Reasoning inHypothetical Reasoning inPropositional SatisfiabilityPropositional Satisfiability
SAT’02, May, 2002
Joao Marques-Silva
Technical University of Lisbon,
IST/INESC, CEL
Lisbon, Portugal
![Page 2: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/2.jpg)
Hypothetical ReasoningHypothetical Reasoning
Preliminary ongoing research work– Not yet published
• Main ideas available as a (preliminary) technical report:– I. Lynce and J. Marques-Silva, “Hypothetical Reasoning in Propos
itional Satisfiability,” Technical Report 1/2002, INESC-ID, March 2001
– http://sat.inesc.pt/~jpms/research/tech-reports/RT-01-2002.pdf
– Some of the concepts still evolving
Feedback welcome !
Joint work with Ines Lynce
![Page 3: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/3.jpg)
MotivationMotivation
SAT solvers have been the subject of significant improvements in recent years
The utilization of SAT is increasing in industry– More challenging problem instances
Improvements to current key techniques unlikely(?)– Better (non-chronological) backtracking?– Better data structures?– Newer (more competitive) strategies?
How to improve SAT solvers?– Devise new paradigms…– Integrate already used techniques
![Page 4: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/4.jpg)
OutlineOutline
Notation & Definitions Evolution of SAT Solvers
– Overview established approaches
Next challenges in SAT Other promising approaches Our proposed approach Hypothetical reasoning (HR)
– The overall approach– Applying reasoning conditions
• Relation with other existing techniques
Preliminary experimental results
![Page 5: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/5.jpg)
Notation & DefinitionsNotation & Definitions
CNF Formula, clauses, literals:– A CNF formula () is a conjunction of clauses– A clause () is a disjunction of literals– A literal (l) is a propositional variable or its complement
Assignments: x, 0 denotes the assignment of value 0 to variable x– Can also use x = 0 to denote an assignment
= (a + c)(b + c)(d + c)(¬a + ¬b + ¬c)
= (a c)(b c)(d c)(¬a ¬b ¬c)
![Page 6: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/6.jpg)
Notation & Definitions (Cont’d)Notation & Definitions (Cont’d)
Unit-clause rule:– If clause is unit (has a single free literal l), then the free
literal l must be satisfied for the clause to be satisfied – Iterated application of the unit-clause rule is referred to as
unit propagation (UP) or boolean constraint propagation (BCP)
– BCP(x, vx): denotes the set of implied variable assignments obtained by applying BCP as the result of the triggering assignment x, vx
• If BCP( x, vx) unsatisfies one or more clauses, then we say that BCP( x, vx)
![Page 7: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/7.jpg)
A Taxonomy of SAT AlgorithmsA Taxonomy of SAT Algorithms
Backtrack search (DPLL)
Resolution (original DP)
Stalmarck’s method (SM)
Recursive learning (RL)
BDDs
...
Local search (hill climbing)
Continuous formulations
Genetic algorithms
Simulated annealing
...
Tabu search
SAT Algorithms
Complete Incomplete
Can prove unsatisfiability Cannot prove unsatisfiability
![Page 8: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/8.jpg)
The Most Effective SAT SolversThe Most Effective SAT Solvers
Backtrack search Boolean constraint propagation “Reasonable” branching heuristic Clause recording
– Non-chronological backtracking
Search strategies– Restarts– Random backtracking
Efficient data structures– E.g. head/tail lists; watched literals; literal sifting
Examples: BerkMin; Chaff; SATO; rel_sat; GRASP
![Page 9: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/9.jpg)
Other Effective SAT SolversOther Effective SAT Solvers
Backtrack search Unit propagation Chronological backtracking Fine-tuned branching
heuristics Probing & reasoning
techniques– Lookahead (variable probing)
– Equivalency reasoning Search strategies
– Restarts Efficient data structures
– E.g. head/tail lists
Examples:– EQSATZ
• Built on top of SATZ• Uses equivalency
reasoninig– RAND-SATZ
• Built on top of SATZ• Branching randomization• Search restarts
– SATZ• No search restarts• No equivalency reasoning• Forms of look-ahead
probing
![Page 10: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/10.jpg)
Other Dedicated SAT SolversOther Dedicated SAT Solvers
Local search for dedicated classes of instances– Incomplete class of algorithms– Useful if instances known to be satisfiable
Solvers with domain-specific information– Incremental SAT– SAT on Boolean networks– …
![Page 11: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/11.jpg)
Challenging Problem InstancesChallenging Problem Instances
SAT is being applied in industrial settings– Electronic design automation
– Formal verification of hardware/software systems
– …
SAT solvers are expected to handle problem instances:– that have hundred thousand / few million variables
– that have tens of million clauses
– that may be unsatisfiable
• SAT solvers must be capable of proving unsatisfiability– completeness is a key issue !
![Page 12: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/12.jpg)
Challenges to SAT Solvers Challenges to SAT Solvers
Dramatic improvements to backtrack search SAT solvers unlikely– Can utilize equivalency reasoning
• Hard to interact with clause recording and non-chronological backtracking
– Can apply lookahead techniques• Hard to interact with clause recording and non-
chronological backtracking– Can devise new search strategies
• Search restarts, random backtracking, … ?
![Page 13: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/13.jpg)
Other ApproachesOther Approaches
Resolution– Unlikely to be a practical proof procedure
Variable probing (branch-merge rule) Clause probing (recursive learning)
– Not (yet) extensively evaluated
Additional mechanisms for identifying necessary assignments and inferring new clauses– Integrated solution still lacking
![Page 14: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/14.jpg)
Resolution (original DP)Resolution (original DP)
Iteratively apply resolution (consensus) to eliminate one variable each time– i.e., resolution between all pairs of clauses containing x and ¬x– formula satisfiability is preserved
Stop applying resolution when,– Either empty clause is derived instance is unsatisfiable– Or only clauses satisfied or with pure literals are obtained
instance is satisfiable
= (a + c)(b + c)(d + c)(¬a + ¬b + ¬c) Eliminate variable c
1 = (a + ¬a + ¬b)(b + ¬a + ¬b )(d + ¬a + ¬b )= (d + ¬a + ¬b ) Instance is SAT !
![Page 15: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/15.jpg)
Stalmarck’s Method (SM) Stalmarck’s Method (SM) in CNFin CNF
Recursive application of the branch-merge rule to each variable with the goal of identifying common conclusions
Try a = 0: (a = 0) (b = 1) (d = 1)
Try a = 1: (a = 1) (c = 1) (d = 1)
C(a = 0) = {a = 0, b = 1, d = 1}
C(a = 1) = {a = 1, c = 1, d = 1}
C(a = 0) C(a = 1) = {d = 1} Any assignment to variable a implies d = 1.Hence, d = 1 is a necessary assignment !
Recursion can be of arbitrary depth
= (a + b)(¬a + c) (¬b + d)(¬c + d) = (a + b)(¬a + c) (¬b + d)(¬c + d) = (a + b)(¬a + c) (¬b + d)(¬c + d) = (a + b)(¬a + c) (¬b + d)(¬c + d)
![Page 16: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/16.jpg)
An Alternative Explanation for SMAn Alternative Explanation for SM
= (a + b)(¬a + c) (¬b + d)(¬c + d)
(b + c)
resolution
(c + d)resolution
Comment: SM provides amechanism for identifyingsuitable resolution operations
(d)resolution
Sequence of resolutionoperations for findingnecessary assignments
![Page 17: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/17.jpg)
Recursion can be of arbitrary depth
Recursive Learning (RL) Recursive Learning (RL) in CNFin CNF
Recursive evaluation of clause satisfiability requirements for identifying common assignments
Try a = 1:
= (a + b)(¬a + d) (¬b + d)
(a = 1) (d = 1)
Try b = 1: (b = 1) (d = 1)
C(a = 1) = {a = 1, d = 1}
C(b = 1) = {b = 1, d = 1}
C(a = 1) C(b = 1) = {d = 1} Every way of satisfying (a + b) implies d = 1. Hence, d = 1 is a necessary assignment !
= (a + b)(¬a + d) (¬b + d) = (a + b)(¬a + d) (¬b + d) = (a + b)(¬a + d) (¬b + d)
![Page 18: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/18.jpg)
An Alternative Explanation for RLAn Alternative Explanation for RL
= (a + b)(¬a + d) (¬b + d)
(b + d)
resolution
(d)
resolutionSequence of resolutionoperations for findingnecessary assignments
Comment: RL provides yet another mechanism for identifyingsuitable resolution operations
![Page 19: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/19.jpg)
SM vs. RLSM vs. RL
Both complete procedures for SAT Stalmarck’s method (in CNF):
– hypothetical reasoning based on variables
– use variable assignment conditions to probe assignments
• variable probing
Recursive learning (in CNF):– hypothetical reasoning based on clauses
– use clause satisfiability conditions to probe assignments
• clause probing
Both can be viewed as the process of identifying selective resolution operations
Both can be integrated into backtrack search algorithms
![Page 20: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/20.jpg)
The Objectives of HRThe Objectives of HR
Integrate variable probing and clause probing– Complete proof procedure
for SAT Devise conditions for a priori
identification of new clauses– That entail most of existing
clause inference procedures
Evolve from identification of necessary assignments to generalized clause reasoning
Applications:– Complete proof procedure
for SAT
– Preprocessing engine to existing SAT solvers
• With polynomial effort
– Replace unit propagation with HR with backtrack search solvers
• With polynomial effort
– Cooperate with backtrack search solvers
• In parallel solutions for SAT
![Page 21: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/21.jpg)
The Organization of HRThe Organization of HR
Recursive procedure that:– Extends variable probing
• To incorporate clause probing • Ensures completeness
– Establishes general clause inference conditions • That cover (most) existing clause inference conditions
– Readily implements a number of additional techniques• 2-var equivalence; hyper resolution (with binary clauses);
equivalency reasoning; binary clause inference conditions; …
Can be integrated into backtrack search
![Page 22: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/22.jpg)
How to Implement HR ?How to Implement HR ?
Independent probing, given conditions on variables and on clauses, may not be practical– O(L2+ L N) = O(L2) at each step
• L: number of literals• N: number of variables
Construct assignment & trigger tables, for implementing variable and clause probing– O(L N) at each step
• In practice, worst-case complexity is extremely unlikely
– OBS: unrestricted clause inference conditions are computationally hard to implement
![Page 23: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/23.jpg)
Assignment TableAssignment Table
Captures the result of applying BCP to each variable assignment
Create a (2N x 2N) matrix:– Each row is associated with an assignment x, vx
– 1-valued entries denote assignments y, vy implied by BCP due to trigger assignment x, vx, i.e. BCP(x, vx)
OBS: In practice can use a sparse matrix representation !
![Page 24: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/24.jpg)
Assignment Table (Example)Assignment Table (Example)
b, 0 implies (with BCP) the assignments b, 0, c, 0 and d, 0
a=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1a=0 1 1a=1 1 1b=0 1 1 1b=1 1c=0 1c=1 1d=0 1d=1 1 1
![Page 25: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/25.jpg)
Trigger TableTrigger Table
Captures which variable assignments directly imply (w/ BCP) each variable assignment
Create a (2N x 2N) matrix:– Each row is associated with an assignment x, vx
– 1-valued entries denote assignments y, vy that imply, with BCP, the assignment x, vx
OBS: The trigger table is the transpose of the assignment table ! – Required to create trigger table if using a sparse matrix
representation of the assignment table
![Page 26: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/26.jpg)
Trigger Table (Example)Trigger Table (Example)
b, 1 is implied (due to BCP) by the assignments a, 0, a, 1 and b, 1
a=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1a=0 1a=1 1b=0 1b=1 1 1 1c=0 1 1 1c=1 1d=0 1 1d=1 1
![Page 27: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/27.jpg)
Utilizations of Assignment TablesUtilizations of Assignment Tables
Necessary assignments from variable assignment conditions — variable probing
For both assignments to a, a, 0 and a, 1 , we obtain b, 1. b, 1 is a necessary assignment
a=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1a=0 1 1a=1 1 1b=0 1 1 1b=1 1c=0 1c=1 1d=0 1d=1 1 1
![Page 28: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/28.jpg)
Utilizations of Assignment TablesUtilizations of Assignment Tables
Necessary assignments from clause satisfiability conditions — clause probing– Assuming existence of clause (b d)
Every assignment thatsatisfies (b d), also implies c, 0. c, 0 is a necessary assignment
a=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1a=0 1 1a=1 1 1b=0 1 1 1b=1 1c=0 1c=1 1d=0 1d=1 1 1
![Page 29: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/29.jpg)
Utilizations of Assignment TablesUtilizations of Assignment Tables
Clause inference from variable assignment conditions
a=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1a=0 1 1a=1 1 1b=0 1b=1 1 1c=0 1c=1 1 1d=0 1d=1 1
One of these assignments must hold (because of a) create clause (b c)
![Page 30: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/30.jpg)
Utilizations of Assignment TablesUtilizations of Assignment Tables
Clause inference from clause satisfiability conditionsa=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1
a=0 1 1a=1 1 1b=0 1b=1 1 1c=0 1c=1 1 1d=0 1d=1 1
Assume clause = (a b c) exists. Each assignment that satisfies implies either c, 0 or d, 0 create clause (c d)
![Page 31: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/31.jpg)
Utilizations of Trigger TablesUtilizations of Trigger Tables
Clause inference from variable assignment conditionsa=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1
a=0 1 1a=1 1b=0 1 1b=1 1 1c=0 1c=1 1d=0 1d=1 1
The assignments a, 0 and b, 1 imply the assignments c, 0 and c, 1; are disallowed create clause (a b)
![Page 32: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/32.jpg)
Utilizations of Trigger TablesUtilizations of Trigger Tables
Clause inference from clause unsatisfiability conditionsa=0 a=1 b=0 b=1 c=0 c=1 d=0 d=1
a=0 1 1a=1 1b=0 1 1b=1 1 1c=0 1c=1 1d=0 1d=1 1
Assume clause = (c d) exists. The assignments a, 0 or b, 0 unsatisfy . create clause (a b)
![Page 33: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/33.jpg)
Reasoning Conditions SummaryReasoning Conditions Summary
Necessary assignments:– From variable assignment conditions (variable probing)– From clause satisfiability conditions (clause probing)
Inferred clauses:– Satisfiability conditions
• Variable assignments• Clause satisfiability
– Unsatisfiability conditions• Variable assignments• Clause satisfiability
![Page 34: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/34.jpg)
Inference of ClausesInference of Clauses
HR reasoning conditions can only infer binary clauses ? – No. Can infer arbitrary clauses !
– Clause satisfiability conditions:
• For each clause = (t1 t2 tm) of formula , all clauses of the form (s1 s2 sm), such that s1, s2,,sm BCP(t1, 1) … BCP(tm, 1), are implicates of
– Clearly subsumption can potentially be applied
– Clause unsatisfiability conditions:
• For each set of assignments A = { t1, 0, t2, 0, , tm, 0 }, such that BCP(t1, 0) BCP(t2, 0) BCP(tm, 0), then clause = (t1 t2 tm) is an implicate of
![Page 35: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/35.jpg)
Reasoning Conditions ComplexityReasoning Conditions Complexity
O(L N) for constructing assignment & trigger tables and implementing variable and clause probing
Why ? – BCP for filling each row is O(L) – For the 2N rows, construction of table is O(L N)
– Each set intersection can trivially be accomplished in O(N) ! – All intersections can be done in O((N + L) N) = O(L N)
• Corresponding to variable and clause probing– Total time complexity is O(L N)
– OBS: In practice worst-case complexity extremely unlikely– OBS: unrestricted clause inference conditions are computationally hard to
implement; must use restrictions
![Page 36: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/36.jpg)
The HR AlgorithmThe HR Algorithm
Basic HR algorithm (with depth d, target variables V)– return if depth d 0– For each variable v in set of target variables V
• For each assignment to variable v– L1: Apply unit propagation (BCP)
• Apply (tabular) reasoning conditions
• Recur HR with depth (d-1)
• Re-apply (tabular) reasoning conditions
– [Optional] Loop from L1 if more assignments
O(L N)
Can loop O(N) times
Polynomial time if depth is constant !
![Page 37: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/37.jpg)
Relation with Other TechniquesRelation with Other Techniques
Assignment & Trigger tables naturally capture:– Variable probing (branch-merge rule)
• Lookahead techniques– Clause probing (recursive learning)– New clause inference conditions
Assignment & Trigger tables allow capturing:– Failed-literal rule– Two-variable equivalence– Closure of binary clause implication graph– Literal dropping– Equivalency-reasoning / Inference of binary clauses– Hyper resolution (with binary clause inference)– … ?
![Page 38: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/38.jpg)
Relation with Other TechniquesRelation with Other Techniques
Failed literal rule: – If an assignment x, 0 yields an unsatisfied clause, then x, 1
is a necessary assignment
– In the construction of the assignment table,• If BCP(x, 0), then x, 1 is a necessary assignment
![Page 39: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/39.jpg)
Relation with Other TechniquesRelation with Other Techniques
2-variable equivalence: – First form:
• If both (x y) and (y x) exist in formula, then x y – Second form:
• Utilize binary clause implication graph• Identify strongly connected components (SCCs)
– If x, 0 and y, 0 in the same SCC, then x y
– If, from construction of the assignment table, y, 0 BCP(x, 0) and y, 1 BCP(x, 1), then x y
• Captures all SCCs in binary clause implication graph• Can identify additional 2-variable equivalences !
![Page 40: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/40.jpg)
Relation with Other TechniquesRelation with Other Techniques
Closure of binary clause implication graph:– If l1, 1 l2, 1 and l2, 1 l3, 1, then l1, 1 l3, 1 and infer
clause (l1 l3)
– From construction of the assignment table, if l2, 1 BCP(l1, 1), then create clause (l1 l2)
• Captures the identification of the transitive closure of the implication graph
• Can identify additional implications (and clauses) !
![Page 41: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/41.jpg)
Relation with Other TechniquesRelation with Other Techniques
Literal dropping [Dubois & Dequen, IJCAI’01]: – Given a clause = (l1 l2 lk), if exists a proper subset of literals {s1,
s2, …, sj } of , such that
BCP(s1, 0 s2, 0 sj, 0), then create a new clause (s1 s2 sj), that subsumes
– Using the assignment table, if exists a set of assignments A = { t1, 0, t2, 0, , tm, 0 }, such that BCP(t1, 0) BCP(t2, 0) BCP(tm, 0), then create the clause: = (t1 t2 tm)
– Two techniques similar, but not comparable• Literal dropping less general (starts from existing clauses), but more
accurate (considers BCP of set of assignments)
![Page 42: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/42.jpg)
Relation with Other TechniquesRelation with Other Techniques
Equivalency reasoning [Li, AAAI’00]: – Shown to be covered with:
• Unit propagation; 2-variable equivalence; conditions for inferring binary clauses
Binary clause inference conditions [MS, CP’00]: – Inference from pattern 2B/1T:
• Given (l1 x) (l2 x) (l1 l2 y), infer (x y)
• From the assignment table:– If x, 0 y, 1, then infer the clause (x y)
![Page 43: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/43.jpg)
Relation with Other TechniquesRelation with Other Techniques
Binary clause inference conditions [MS, CP’00]: – Inference from pattern 0B/4T:
• Given (l1 l2 x) (l1 l2 x) (l1 l2 y) (l1 l2 y), infer clause (x y)
– From the assignment table:
• Assume l1 = 0 (depth 1)
– Can infer (x y) (depth 2)
• From (l2 x) (l2 y),
• Assume l1 = 1 (depth 1)
– Can infer (x y) (depth 2)
• From ( l2 x) (l2 y),
infer (x y)– But HR with depth 2 required !
![Page 44: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/44.jpg)
Relation with Other TechniquesRelation with Other Techniques
Hyper resolution (w/ binary clauses) [Bacchus, SAT’02]: – Allows inference of binary clause
– Given (l1 x) (l2 x) (lk x) (l1 l2 lk y), infer (x y)
– From the assignment table:• If x, 0 y, 1, then infer the clause (x y)
![Page 45: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/45.jpg)
Preliminary ResultsPreliminary Results
Implemented reasoning conditions on top of JQuest– Assigment tables– Trigger tables– Necessary assignments
• Probing due to variables and clauses (binary and ternary)– Clause inference conditions
• Simplified version: only binary clauses can be inferred
Results for reasoning conditions on example problem instances– #Vars: number of variables; #Cls: number of clauses– #NA: necessary of assignments; #IBC: inferred binary clauses
![Page 46: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/46.jpg)
Experimental ResultsExperimental Results
Instance #Vars #Cls #NA #IBC
sss1.0/dlx2_cc_bug11 1513 12800 26 2663
sss1.0a/dlx2_cc_a_bug40 2654 19516 237 2079
sss-sat-1.0/2dlx_..._bug007 4824 48229 511 3667
bmc/barrel9 8903 36606 909 13150
bmc/queueinvar20 2435 20671 15 3460
cec/c2670 2703 6756 79 5432
cec/c7552 7652 20423 168 17556
dimacs/bf1355-638 2177 6768 638 5746
dimacs/ssa2670-141 986 2315 19 2464
satplan/unsat/bw_large.c 2729 45368 726 3023
satplan/sat/bw_large.c 3016 50457 726 3089
![Page 47: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/47.jpg)
Implementing/Completing HRImplementing/Completing HR
Implement (efficient) recursive wrapper– Incrementally define set of variables in recursive step
• Reduce significantly the number of row updates in assignment and trigger tables
Instead of BCP-based reasoning conditions, evolve to clause-based reasoning conditions
How to use HR?– Standalone complete proof procedure ?– Integrated within backtrack search SAT solver ?
• Hard to interact with clause recording and non-chronological backtracking
– Used as a preprocessing engine to backtrack search SAT solvers ?
![Page 48: Hypothetical Reasoning in Propositional Satisfiability SAT02, May, 2002 Joao Marques-Silva Technical University of Lisbon, IST/INESC, CEL Lisbon, Portugal](https://reader035.vdocuments.site/reader035/viewer/2022062511/55165bec5503469d698b4fa8/html5/thumbnails/48.jpg)
ConclusionsConclusions
Proposed the Hypothetical Reasoning algorithm– Integrates variable probing (branch-merge rule) and clause probing
(recursive learning)– Implements a number of additional techniques
• That allow inferring new clauses• That entail most existing clause inference conditions• That entail a significant number of simplification techniques
Preliminary results for practical problem instances:– By applying reasoning conditions,
• a significant number of necessary assignments can be identified and a significant number of new clauses can be inferred