Using Problem Structure for Efficient Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle April 23, 2003.

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
Time-Space Tradeoffs in Resolution: Superpolynomial Lower Bounds for Superlinear Space Chris Beck Princeton University Joint work with Paul Beame & Russell.
The Project Problem formulation (one page) Literature review –“Related work" section of final paper, –Go to writing center, –Present paper(s) to class.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
Boolean Satisfiability Solvers Wonhong Nam
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Constraint Satisfaction and the Davis-Putnam-Logeman-Loveland Procedure Henry Kautz.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
Existential Graphs and Davis-Putnam April 3, 2002 Bram van Heuveln Department of Cognitive Science.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
Methods of Proof Chapter 7, second half.
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
1 Understanding the Power of Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle IJCAI ConferenceAug 14, 2003.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
1 CS 4700: Foundations of Artificial Intelligence Carla P. Gomes Module: Satisfiability (Reading R&N: Chapter 7)
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
1 Paul Beame University of Washington Phase Transitions in Proof Complexity and Satisfiability Search Dimitris Achlioptas Michael Molloy Microsoft Research.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
Logic - Part 2 CSE 573. © Daniel S. Weld 2 Reading Already assigned R&N ch 5, 7, 8, 11 thru 11.2 For next time R&N 9.1, 9.2, 11.4 [optional 11.5]
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
Daniel Kroening and Ofer Strichman Decision Procedure
Satisfiability Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.
Ten Challenges Redux: Recent Progress in Propositional Reasoning & Search A Biased Random Walk Henry Kautz University of Washington.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Boolean Satisfiability and SAT Solvers
Performing Bayesian Inference by Weighted Model Counting Tian Sang, Paul Beame, and Henry Kautz Department of Computer Science & Engineering University.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Introduction to Satisfiability Modulo Theories
Toward a Universal Inference Engine Henry Kautz University of Washington With Fahiem Bacchus, Paul Beame, Toni Pitassi, Ashish Sabharwal, & Tian Sang.
Automated Theorem Proving: Resolution and Davis-Putnam Intermediate Logic.
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
Combining Component Caching and Clause Learning for Effective Model Counting Tian Sang University of Washington Fahiem Bacchus (U Toronto), Paul Beame.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
A DPLL example C1:(a  b) C2:(  a   b) C3:(a   c) C4:(c  d  e) C5:(d   e) C6:(  d   f) C7:(f  e) C8:(  f   e) false true a a a=false by.
First-Order Logic and Inductive Logic Programming.
Boolean Satisfiability Present and Future
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Accelerating Random Walks Wei Wei and Bart Selman.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Inference in Propositional Logic (and Intro to SAT) CSE 473.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
SAT tutorial1 Boolean Satisfiability in Electronic Design Automation Karem A. Sakallah EECS Department University of Michigan João Marques Silva Informatics.
Inference in Propositional Logic (and Intro to SAT)
Inference and search for the propositional satisfiability problem
Logic Synthesis CNF Satisfiability.
Simple Circuit-Based SAT Solver
ECE 667 Synthesis and Verification of Digital Circuits
NP-Complete Problems.
Solving Non-clausal Formulas with DPLL search
GRASP-an efficient SAT solver
Presentation transcript:

Using Problem Structure for Efficient Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle April 23, 2003

University of Washington2 The SAT Approach Input p 2 D CNF encoding f SAT solver f  SATf  SAT p : Instance D : Domain graph problem, AI planning, model checking p bad p good

April 23, 2003University of Washington3 Key Facts Problem instances typically have structure –Graphs, precedence relations, cause and effects –Translation to CNF flattens this structure Best complete SAT solvers are –DPLL based clause learners; branch and backtrack –Critical: Variable order used for branching

April 23, 2003University of Washington4 Natural Questions Can we extract structure efficiently? –In translation to CNF formula itself –From CNF formula –From higher level description How can we exploit this auxiliary information? –Tweak SAT solver for each domain –Tweak SAT solver to use general “guidance”

April 23, 2003University of Washington5 Our Approach Input p 2 D CNF encoding f SAT solver f  SATf  SAT Encode “structure” as branching sequence p bad p good Branching sequence

April 23, 2003University of Washington6 Related Work Exploiting structure in CNF formula –[GMT’02] Dependent variables –[OGMS’02]LSAT (blocked/redundant clauses) –[B’01] Binary clauses –[AM’00]Partition-based reasoning Exploiting domain knowledge –[S’00] Model checking –[KS’96]Planning (cause vars / effect vars)

April 23, 2003University of Washington7 Our Result, Informally –Structure can be efficiently retrieved from high level description (pebbling graph) –Branching sequence as auxiliary information can be easily exploited Given a pebbling graph G, can efficiently generate a branching sequence B G that dramatically improves the performance of current best SAT solvers on f G.

April 23, 2003University of Washington8 Preliminaries: CNF Formula f = (x 1 OR x 2 OR : x 9 ) AND ( : x 3 OR x 9 ) AND ( : x 1 OR : x 4 OR : x 5 OR : x 6 ) Conjunction of clauses

April 23, 2003University of Washington9 Preliminaries: DPLL DPLL(CNF formula f) { Simplify(f); If (conflict) return UNSAT; If (all-vars-assigned) {return SAT assignment; exit} Pick unassigned variable x; Try DPLL(f | x=0 ), DPLL(f | x=1 ) }

April 23, 2003University of Washington10 Prelim: Clause Learning DPLL: Change “if (conflict) return UNSAT” to “if (conflict) {learn conflict clause; return UNSAT}” x 2 = 1, x 3 = 0, x 6 = 0 ) conflict “Learn” ( : x 2 OR x 3 OR x 6 )

April 23, 2003University of Washington11 Prelim: Branching Sequence B = (x 1, x 4, : x 3, x 1, : x 8, : x 2, : x 4, x 7, : x 1, x 2 ) DPLL: Change “Pick unassigned var x” to “Pick next literal x from B; delete it from B; if x already assigned, repeat” How “good” is B? –Depends on backtracking process, learning scheme Different from “branching order”

April 23, 2003University of Washington12 Prelim: Pebbling Formulas (a 1 OR a 2 )(b 1 OR b 2 ) (e 1 OR e 2 ) (t 1 OR t 2 ) (f1)(f1) (c 1 OR c 2 OR c 3 ) Target(s) Sources E ABC F T Node E is pebbled if (e 1 OR e 2 ) = 1 f G = Pebbling(G) Source axioms: A, B, C are pebbled Pebbling axioms: A and B are pebbled ) E is pebbled … Target axioms: T is not pebbled

April 23, 2003University of Washington13 Prelim: Pebbling Formulas Can have –Multiple targets –Unbounded fanin –Large clause labels Pebbling(G) is unsatisfiable Removing any clause from subgraph of each target makes it satisfiable

April 23, 2003University of Washington14 Grid vs. Randomized Pebbling (a1  a2)(a1  a2) b1b1 (c 1  c 2  c 3 ) (d 1  d 2  d 3 ) l1l1 (h1  h2)(h1  h2) (i 1  i 2  i 3  i 4 ) e1e1 (g1  g2)(g1  g2) f1f1 (n1  n2)(n1  n2) m1m1 (a1  a2)(a1  a2)(b1  b2)(b1  b2)(c1  c2)(c1  c2)(d1  d2)(d1  d2) (e1  e2)(e1  e2) (h1  h2)(h1  h2) (t1  t2)(t1  t2) (i1  i2)(i1  i2) (g1  g2)(g1  g2)(f1  f2)(f1  f2)

April 23, 2003University of Washington15 Why Pebbling? Practically useful –precedence relations in tasks, fault propagation in circuits, restricted planning problems Theoretically interesting –Used earlier for separating proof complexity classes –“Easy” to analyze Hard for current best SAT solvers like zChaff –Shown by our experiments

April 23, 2003University of Washington16 Our Result, Again –Efficient :  (|f G |) –zChaff : One of the current best SAT solvers Given a pebbling graph G, can efficiently generate a branching sequence B G such that zChaff(f G, B G ) is empirically exponentially faster than zChaff(f G ).

April 23, 2003University of Washington17 The Algorithm Input: –Pebbling graph G Output: –Branching sequence B G, |B G | =  (|f G |), that works well for 1UIP learning scheme and fast backtracking [f G : CNF encoding of pebbling(G)]

April 23, 2003University of Washington18 The Algorithm: GenSeq(G) 1.Compute node heights 2.Foreach u 2 {unit clause labeled nodes} bottom up Add u to G.sources GenSubseq(u) 3.Foreach t 2 {targets} bottom up GenSubseq(t)

April 23, 2003University of Washington19 The Algorithm: GenSubseq(v) // trivial wrapper 1.If (|v.preds| > 0) –GenSubseq(v, |v.preds|)

April 23, 2003University of Washington20 The Algorithm: GenSubseq(v, i) 1. u = v.preds[i] // by increasing height 2. if i=1 // lowest pred a. GenSubseq(u) if unvisited non-source b. return 3. Output u.labels// higher pred 4. GenSubseq(u) if unvisitedHigh non-source 5. GenSubseq(v, i-1)// recurse on i-1 6. GenPattern(u, v, i-1)// repetitive pattern

April 23, 2003University of Washington21 Results: Grid Pebbling –Pure DPLL upto 60 variables –DPLL +upto 60 variables branching seq –Clause learningupto 4,000 variables (original zChaff) –Clause learningupto 2,000,000 variables + branching seq

April 23, 2003University of Washington22 Results: Randomized Pebl. –Pure DPLL upto 35 variables –DPLL +upto 50 variables branching seq –Clause learningupto 350 variables (original zChaff) –Clause learningupto 1,000,000 variables + branching seq

April 23, 2003University of Washington23 Summary High level problem description is useful –Domain knowledge can help SAT solvers Branching sequence –One good way to encode structure Pebbling problems: Proof of concept –Can efficiently generate good branching sequence –Structure use improves performance dramatically

April 23, 2003University of Washington24 Open Problems Other domains? –STRIPS planning problems (layered structure) –Bounded model checking Variable ordering strategies from BDDs? Other ways of exploiting structure? –branching “order” –something to guide learning? –Domain-based tweaking of SAT algorithms