- 1 - Using an SMT Solver and Craig Interpolation to Detect and Remove Redundant Linear Constraints in Representations of Non-Convex Polyhedra Christoph.

Slides:



Advertisements
Similar presentations
Hybrid Infrared and Visible Light Projection for Location Tracking
Advertisements

TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Abdullah Said Alkalbani University of Buraimi
Date of Birth Design Problem
Looking Inside the Black Box
A Polynomial-Time Algorithm for Global Value Numbering SAS 2004 Sumit Gulwani George C. Necula.
CSE 370 Sample Final Exam Questions. 1) Logic Minimization CD AB F = Σm(0,6,7,8,9,11,15) + d(1,13)
Applications Computational LogicLecture 11 Michael Genesereth Spring 2004.
Register Transfer and Microoperations Part2
1 C Programming. 2 Operators 3 Operators in C An operator is a symbol that tells the computer to perform certain mathematical or logical manipulation.
9.3 Equations as Relations CORD Math Mrs. Spitz Fall 2006.
Principles & Applications
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Copyright © 2001 Nominum, Inc. IPv6 DNS Ashley Kitto Nominum, Inc.
Fast Algorithms for Finding Nearest Common Ancestors Dov Harel and Robert Endre Tarjan Fast Algorithms for Finding Nearest Common Ancestors SIAM J. COMPUT.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Year 6 mental test 5 second questions
8 October 2013Birkbeck College, U. London1 Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems.
15 October 2013Birkbeck College, U. London1 Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems.
1 Floating Point Representation and Arithmetic (see Patterson Chapter 4)
A Simple ALU Binary Logic.
Computational Complexity
Multiplikation H. Malz. Multiplikation H. Malz Operanden laden.
ZMQS ZMQS
1 Abstraction (Cont’d) Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential.
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
CS 105 Tour of the Black Holes of Computing
Monika Gope Lecturer IICT, KUET
1 Interconnect and Packaging Lecture 3: Skin Effect Chung-Kuan Cheng UC San Diego.
Truth Tables & Logic Expressions
Truth Tables and Boolean Algebra Benchmark Companies Inc PO Box Aurora CO
Switching & Logic Laboratory
Discrete Mathematical Structures: Theory and Applications
Digital Systems Introduction Binary Quantities and Variables
Digital Logic Design Gate-Level Minimization
Logic Gates Flip-Flops Registers Adders
Chapter 2: The Logic of Compound Statements 2.4 Application: Digital Logic Circuits 1 Only connect! – E. M. Forster, 1879 – 1970 Howards End, 1910.
B AB CD C A D m0m1m3m2 m4 m5m7m6 m12 m8m9m11 m10 m13 m15m14 Input combo mintermExpressio n 0000m0A’B’C’D’ 0001m1A’B’C’D 0010m2A’B’CD’
Solving Equations How to Solve Them
Chapter 2 Section 3.
Squares and Square Root WALK. Solve each problem REVIEW:
CS1022 Computer Programming & Principles
Binary Lesson 3 Hexadecimal. Counting to 15 Base Base Base 16 Base Base Base 16 Two Ten (Hex) Two Ten (Hex)
Binary Lesson 3 Hexadecimal. Counting to 15 Base Base Base 16 Base Base Base 16 Two Ten (Hex) Two Ten (Hex)
Addition 1’s to 20.
25 seconds left…...
Digital Logic & Design Lecture No. 3. Number System Conversion Conversion between binary and octal can be carried out by inspection.  Each octal digit.
Finite-state Recognizers
Week 1.
ENEE244-02xx Digital Logic Design Lecture 10. Announcements HW4 due 10/9 – Please omit last problem 4.6(a),(c) Quiz during recitation on Monday (10/13)
We will resume in: 25 Minutes.
Dantzig-Wolfe Decomposition
ELECTRONICS TECHNOLOGY Digital Devices I Karnaugh Maps
20 September How Computers Have Affected Society.
and M-ary Quadrature Amplitude Modulation (M-QAM)
1/15/2015 Slide # 1 Binary, Octal and Hex Numbers Copyright Thaddeus Konar Introduction to Binary, Octal and Hexadecimal Numbers Thaddeus Konar.
Number Systems Decimal Binary Denary Octal Hexadecimal Click the mouse or Press the space bar to Continue.
1 Advanced Database Systems Dr. Fatemeh Ahmadi-Abkenari September 2013.
GCSE Computing Theory © gcsecomputing.net 1 GCSE Computing 2.14 Data Representation Binary Arithmetic.
Combinatorial networks- II
Internet Engineering Czesław Smutnicki Discrete Mathematics – Combinatorics.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Presentation transcript:

- 1 - Using an SMT Solver and Craig Interpolation to Detect and Remove Redundant Linear Constraints in Representations of Non-Convex Polyhedra Christoph Scholl, Stefan Disch, Florian Pigorsch, Stefan Kupferschmid Albert-Ludwigs-University Freiburg, Germany

- 2 - Background and Motivation Non-convex polyhedra = Arbitrary boolean combinations (including conjunction, disjunction and negation) of linear constraints (Extended) non-convex polyhedra = arbitrary boolean combinations of linear constraints and boolean variables Used in the context of model checking of hybrid systems by backward analysis Single symbolic representation for sets of states of hybrid systems with large discrete state spaces [Damm et al. ATVA06, ATVA07] We represent (extended) non-convex polyhedra by a data structure called LinAIGs (AIGs = And-Inverter- Graphs)

- 3 - Problem: Optimization of non-convex polyhedra A linear constraint is redundant for a non-convex polyhedron iff the non- convex polyhedron can be described without using this linear constraint. Question: How to remove redundant linear constraints from representations efficiently? c1c1 c2c2 c1c1 c2c2

- 4 - Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Question: Are l 5 and l 6 redundant? I.e.: Is there a boolean function G with F(l 1,..., l 6 ) = G(l 1,..., l 4 )? x y

- 5 - Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l6 Is there a boolean function G with F(l 1,..., l 6 ) = G(l 1,..., l 4 )? In order to solve the problem consider the boolean abstraction (boolean variable b 1 for l 1,..., b 6 for l 6 ): F(b 1,..., b 6 ) = b 1 ¢ b 2 ¢ b 5 + b 3 ¢ b 4 ¢ b 6 F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Function table of F(b 1,..., b 6 ): function value = 1: function value = 0:

Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l6 F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Function table of F(b 1,..., b 6 ): function value = 1: function value = 0: Partition into orbits F(b 1,..., b 6 ) = b 1 ¢ b 2 ¢ b 5 + b 3 ¢ b 4 ¢ b 6

- 7 - Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l6 F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Is there a boolean function G with F(l 1,..., l 6 ) = G(l 1,..., l 4 )? Problem is turned into logic synthesis problem with dont cares. Dont cares correspond to inconsistent assignments to Boolean abstraction variables. Example: b 2 =0, b 5 = 1, b 3 = 0 is inconsistent, because l 2 = false, l 5 = true, l 3 = false can not be true at the same time. ) For b 2 =0, b 5 = 1, b 3 = 0 we can change F(b 1,..., b 6 ) without changing the predicate F(l 1,..., l 6 ) l 2 = false l 5 = true l 3 = false

Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l6 F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Function table of F(b 1,..., b 6 ): function value = 1: function value = 0: Inconsistent assignment ) dont care:

Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l6 F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Function table of F(b 1,..., b 6 ): function value = 1: function value = 0: Inconsistent assignment ) dont care:

Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l6 F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Function table of F(b 1,..., b 6 ): function value = 1: function value = 0: Inconsistent assignment ) dont care:

Example l1l1 l2l2 l5l5 l3l3 l4l4 l6l6 F= (y ¸ 0) ¢ (-2x – y + 3 ¸ 0) ¢ (y – x ¸ 0) + (x ¸ 0) ¢ (-1/2 x – y + 3/2) ¢ (x – y ¸ 0) Function table of G(b 1,..., b 4 ): function value = 1: function value = 0: Changed function G does not depend on b 5 and b 6 ! G(b 1,..., b 4 ) = b 1 ¢ b 3 ¢ (b 2 + b 4 ) G(l 1,..., l 4 ) = F(l 1,..., l 6 )

Redundancy check using an SMT solver For large examples we are not able to enumerate the function tables with dont cares. ) We need a more efficient method for detecting and removing redundant linear constraints. Three key results: Detecting redundancy of a set of linear constraints can be reduced to the solution of one SMT formula. The dont cares needed to compute G(b 1,..., b 4 ) can be extracted from conflict clauses generated by the SMT solver while solving this formula! Removal of redundant constraints can be performed efficiently based on Craig interpolation.

Example F(b 1,..., b 6 ) = b 1 b 2 b 3 + b 4 b 5 b 6 DC = function value = 1: function value = 0:

Example F(b 1,..., b 6 ) = b 1 b 2 b 3 + b 4 b 5 b 6 DC = : b 5 : b l 5 and l 6 can not be false at the same time! ) Minimized conflict clause (b 5 + b 6 ) inserted by SMT solver ) Insert : b 5 : b 6 into dont care representation!

Example F(b 1,..., b 6 ) = b 1 b 2 b 3 + b 4 b 5 b 6 DC = : b 5 : b 6 function value = 1: function value = 0: Inconsistent assignment ) dont care:

Example F(b 1,..., b 6 ) = b 1 b 2 b 3 + b 4 b 5 b 6 DC = : b 5 : b

Example...

Example – Final Result F(b 1,..., b 6 ) = b 1 b 2 b 3 + b 4 b 5 b 6 DC = : b 5 : b 6 + : b 1 : b 2 b 4 + : b 1 b 3 b 6 + : b 2 b 4 : b 6 + b 2 : b 3 : b 4 + b 1 : b 3 b 5 + b 2 : b 4 : b 5

Redundancy Removal How to remove redundant constraints efficiently (i.e. compute G(b 1,..., b 4 ) efficiently)? Approach 1- Existential quantification: G(b 1,..., b 4 ) = 9 b 5 b 6 (F ¢ : DC) 9 b i F = F| b i = 0 + F| b i = 1. Risk of doubling AIG representation with quantification of one variable. Potential problem for large numbers of redundant constraints. Observation: Approach 1 provides only one of a number of appropriate dont care assignments. Approach 2: Craig interpolation Obtain appropriate function G by one Craig interpolation for F(b 1,..., b 4, b 5, b 6 ) ¢ : DC(b 1,..., b 4, b 5, b 6 ) : F(b 1,..., b 4, b´ 5, b´ 6 ) ¢ : DC(b 1,..., b 4, b´ 5, b´ 6 ) In contrast to the work of McMillan [CAV2003] Craig interpolation is not an approximation method in this context, but it makes use of existing degrees of freedom.

Experimental results – Model checking with and without redundancy removal Early removal of redundant constraints pays off. Avoids blow-up due to a series of further substitutions into the removed constraints in the following steps.

Experimental results: Redundancy elimination - Existential quantification versus Craig interpolation

Experimental results: Comparison with other solvers LinAIG: Our tool Redlog (Dolzmann, Sturm, ACM SIGSAM Bulletin 1997) LIRA (Eisinger, Klaedtke, CAV 2006)

Conclusions and future work Approach for optimizing non-convex polyhedra based on removal of redundant constraints Successfully applied to solving of quantified formulas including linear real arithmetic and boolean variables Accelerate approach by using state-of-the-art SMT solver for dont care computation, too. Fast preprocessor for more general formulas by simplifying subformulas from the subclass considered in this paper? Apply methods to underlying theories different from linear arithmetic?