A failed attempt to optimize variable ordering with tools for Constraints Solving Edmund ClarkeOfer Strichman Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
The Complexity of Linear Dependence Problems in Vector Spaces David Woodruff IBM Almaden Joint work with Arnab Bhattacharyya, Piotr Indyk, and Ning Xie.
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Maximal Independent Sets of a Hypergraph IJCAI01.
Complexity ©D.Moshkovits 1 Where Can We Draw The Line? On the Hardness of Satisfiability Problems.
Max Cut Problem Daniel Natapov.
The Stable Circuit Problem A Short Introduction Brendan Juba.
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:
© 2002 Fadi A. Aloul, University of Michigan PBS: A Pseudo-Boolean Solver and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Markov, Karem A. Sakallah.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Equivalence Checking Using Cuts and Heaps Andreas Kuehlmann Florian Krohm IBM Thomas J. Watson Research Center Presented by: Zhenghua Qi.
Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
SAT-Based Decision Procedures for Subsets of First-Order Logic
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
NP-Complete Problems Problems in Computer Science are classified into
1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University.
Complexity 19-1 Complexity Andrei Bulatov More Probabilistic Algorithms.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Pei-Ci Wu Martin D. F. Wong On Timing Closure: Buffer Insertion for Hold-Violation Removal DAC’14.
Problem (hard) Solution CNF Satisfied assignment Encoding FINITE DOMAIN PROBLEM SOLVING Model Constraint Model Direct Constraint / Bits relation lost.
Lecture 22 More NPC problems
Incremental formal verification of hardware Hana Chockler Alexander Ivrii Arie Matsliah Shiri Moran Ziv Nevo IBM Research - Haifa.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
Network Flow. Network flow formulation A network G = (V, E). Capacity c(u, v)  0 for edge (u, v). Assume c(u, v) = 0 if (u, v)  E. Source s and sink.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
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.
Making Path-Consistency Stronger for SAT Pavel Surynek Faculty of Mathematics and Physics Charles University in Prague Czech Republic.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Error Explanation with Distance Metrics Authors: Alex Groce, Sagar Chaki, Daniel Kroening, and Ofer Strichman International Journal on Software Tools for.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
Liaoruo Wang and John E. Hopcroft Dept. of Computer Engineering & Computer Science, Cornell University In Proc. 7th Annual Conference on Theory and Applications.
CHARME’03 Predicate abstraction with Minimum Predicates Sagar Chaki*, Ed Clarke*, Alex Groce*, Ofer Strichman** * Carnegie Mellon University ** Technion.
Prof. Busch - LSU1 Busch Complexity Lectures: More NP-complete Problems.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
More NP-Complete and NP-hard Problems
Chapter 10 NP-Complete Problems.
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
Hard Problems Introduction to NP
(xy)(yz)(xz)(zy)
Excel Solver.
CS21 Decidability and Tractability
Where Can We Draw The Line?
LPSAT: A Unified Approach to RTL Satisfiability
ICS 353: Design and Analysis of Algorithms
Equivalence Checking By Logic Relaxation
SAT-Based Area Recovery in Technology Mapping
Canonical Computation without Canonical Data Structure
Introduction to the Boolean Satisfiability Problem
Canonical Computation Without Canonical Data Structure
Chapter 34: NP-Completeness
Decision Procedures An Algorithmic Point of View
NP-Complete Problems.
Graphs and Algorithms (2MMD30)
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
Instructor: Aaron Roth
SAT Based Abstraction/Refinement in Model-Checking
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

A failed attempt to optimize variable ordering with tools for Constraints Solving Edmund ClarkeOfer Strichman Carnegie Mellon University

Outline  What is the minimal cut-width problem ?  Why is it relevant to verification ?  Modeling min cut-width as CSP  Experimental results

Minimal Cut-width problem (1/3)  Let G(V,E) be a hyper-graph, where |V| = n.  An edge e crosses variable v i in a given variable order if v i  e or if e contains vertices both to the left and right of v i. vivi vivi e e Edges crossing v i :

Minimal Cut-width problem (2/3)  Definition: The cut-width of G at v i (1  i  n) with respect to a given order is the number of edges crossing v i Cut-width:  Definition: The cut-width of G with respect to a given order is the maximal cut-width of G among all v i  V

Minimal Cut-width problem (3/3)  Variable Order affects the cut-width: e1e1 e2e2 e3e3 e1e1 e2e2 e3e3 v 1 v 2 v 3 v 4 v 5 v 5 v 1 v 2 v 3 v 4 Cut-width = 2 Cut-width = 3  The min cut-width problem: Given a hyper-graph G(V,E), find a variable order which minimizes the cut-width of G.

Relevance to Verification  Definitions: n = # input variables c = cut-width  Berman [1991]: The size of a BDD representing a circuit is bounded by n*2 c  Wang, Clarke, Zhu, Kukula [2001]: CNF-SAT time complexity is bounded by O(n*2 c ) ....

Cut-width and BDD’s  : (x 1  x 2 )  (x 3  x 4 )...  (x 2n-1  x 2n ) O 1 : x 1, x 2,...,x 2n-1,x 2n BDD size: 2n+2 O 2 : x 1, x 3,... x 2n-1, x 2, x 4,... x 2n BDD size: 2 n+1 Bryant, 1986: DNF-Cutwidth O 1 : 1 x 1 x 2 x 3 x 4 x 5 x 6 DNF-Cutwidth O 2 : n x 1 x 3 x 5... x 2 x 4

Relevance to SAT  CNF-SAT time complexity is bounded by O(n*2 c ) n is the number of variables; c is the cut-width  The reason: Assume the number of literals in each clause is fixed. Assume we backtrack over a cut v We must change at least one variable in cutset(v) Conclusion: we will not cross v more than 2 cutset(v), or, O(2 c ) v

x = T y 1 = F y 2 = F y 3 = T Small cut-width means that related variables are kept close to each other. x = T y 1 = F y 2 = F y 3 = T  : (x = y 1  y 2  y 3 ) ..... Suppose  is sat only if x=y 1 =T In a standard SAT solver: Relevance to SAT

Min Cut-width as CSP (1/5) Input:

Min Cut-width as CSP (2/5)  Every variable is positioned in one location:  Every location is assigned one variable: indicates whether variable j is located in position i

Min Cut-width as CSP (3/5)  indicates whether literal i of clause c is positioned in the left (-1) or right (1) to position k: x 1a x 2a x 3a x 4a x 5a x 6a k a l c i = ‘a’

Min Cut-width as CSP (4/5)  indicates whether clause c crosses location k:

Min Cut-width as CSP (4/5)  indicates whether clause c crosses location k:

Min Cut-width as CSP (5/5)  CutWidth is the largest no. of clauses crossing any location: Objective:

Complexity of formulation  Overall No. of constraints: n is the number of variables l is the number of literals Cl is the number of clauses  # Binary variables:

Results  OPLstudio / ‘Solver’:  B-Prolog: similar 2-CNF formulas