satisfiability modulo difference logic
play

Satisfiability Modulo Difference Logic Combinatorial Problem - PowerPoint PPT Presentation

Satisfiability Modulo Difference Logic Combinatorial Problem Solving (CPS) Albert Oliveras Enric Rodr guez-Carbonell May 25, 2016 Basic Definitions Given a directed graph G = ( V, E ) with weight function w : E R , the weight w (


  1. Satisfiability Modulo Difference Logic Combinatorial Problem Solving (CPS) Albert Oliveras Enric Rodr´ ıguez-Carbonell May 25, 2016

  2. Basic Definitions Given a directed graph G = ( V, E ) with weight function w : E → R , the ■ weight w ( p ) of a path p = ( v 0 , . . . , v k ) is k � w ( p ) = w ( v i − 1 , v i ) i =1 The distance δ ( u, v ) from u to v is ■ p � min { w ( p ) : u ❀ v } if there is a path from u to v δ ( u, v ) = ∞ otherwise A shortest path from u to v is ■ p any path p such that u ❀ v and w ( p ) = δ ( u, v ) 2 / 13

  3. Difference Constraints A difference constraint ■ is a linear constraint of the form x − y ⊲ ⊳ k , where: ⊲ ⊳ ∈ {≤ , ≥ , <, >, = , � = } ◆ x and y are integer/real variables ◆ k ∈ Z or R ◆ Equivalent forms: x ⊲ ⊳ y + k , x + k ⊲ ⊳ y ■ Ex. Let s a , s b be the starting times of two tasks a and b . ■ s a + T ≤ s b : ◆ task b cannot start earlier than T minutes after task a (they use same resources, etc.) s a ≤ s b + T : ◆ task a cannot start later than T minutes after task b (the product of b to be used by a expires, etc.) 3 / 13

  4. Difference Logic Lits in Difference Logic (DL) are difference constraints ■ Some transformations are performed at parsing time ■ If domain is Z replace x − y < k by x − y ≤ k − 1 ■ If domain is R replace x − y < k by x − y ≤ k − δ ■ δ is a sufficiently small real ◆ δ is not computed but used symbolically ◆ (like in De Moura’s & Dutertre’s approach for LRA) 4 / 13

  5. Difference Logic Note any solution to a set of DL literals can be shifted ■ (i.e. if σ is a solution then so is σ ′ ( x ) = σ ( x ) + k ) This allows one to handle bounds x ≤ k ■ Introduce fresh variable zero ◆ Convert all bounds x ≤ k into x − zero ≤ k ◆ Given a solution σ , shift it so that σ ( zero ) = 0 ◆ 5 / 13

  6. Difference Logic x − y = k is replaced by x − y ≤ k ∧ x − y ≥ k ■ x − y � = k is replaced by x − y < k ∨ x − y > k ■ If we allowed (dis)equalities as literals, then: ■ If domain is R , then consistency check is polynomial ◆ If domain is Z , then consistency check is NP-hard ( k -colorability) ◆ 1 ≤ c i ≤ k with i = 1 . . . | V | encodes colors for vertexs ■ c i � = c j if ( i, j ) ∈ E encodes colorability constraint ■ Hence we can assume all literals are x − y ≤ k ■ 6 / 13

  7. Constraint Graph Given n variables x 1 , x 2 , ..., x n and ■ a system S of m difference constraints x i − x j ≤ k ij we can construct the constraint graph G = ( V, E ) where: V = { x 0 , x 1 , ..., x n } ◆ (each vertex corresponds to a var plus extra vertex x 0 ) E = { ( x j , x i ) | x i − x j ≤ k ij ∈ S } ∪ { ( x 0 , x i ) | 1 ≤ i ≤ n } ◆ (each edge corresponds to a constraint, plus extra edges from x 0 to variables) Moreover, w ( x j , x i ) = k ij and w ( x 0 , x i ) = 0 G has n + 1 vertices and n + m edges ◆ Note that δ ( x 0 , x i ) < ∞ for any x i ◆ But δ ( x 0 , x i ) may not be well-defined if x i belongs to a negative cycle ◆ 7 / 13

  8. Constraint Graph x 1 − x 2 ≤ 2 x 2 − x 3 ≤ 1 x 3 − x 1 ≤ − 1 x 0 0 0 0 x 1 − 1 2 x 3 x 2 1 8 / 13

  9. Systems of Difference Constraints Theorem. Given S a system of difference constraints, let G = ( V, E ) be the corresponding constraint graph. 1. If G contains a negative cycle, then S is infeasible. 2. Otherwise x i → δ ( x 0 , x i ) is a solution to S . Proof. Let us prove 1. Let c = ( v 0 , ..., v k ) be a negative cycle, which corresponds to constraints x ( v i ) − x ( v i − 1 ) ≤ w ( v i − 1 , v i ) , (1 ≤ i ≤ k ) in S . (note x 0 cannot be in the cycle, as it has no entering edges) By adding all these constraints we get the constraint 0 ≤ � k i =1 w ( v i − 1 , v i ) , which is trivially false as RHS is < 0 . 9 / 13

  10. Systems of Difference Constraints Theorem. Given S a system of difference constraints, let G = ( V, E ) be the corresponding constraint graph. 1. If G contains a negative cycle, then S is infeasible. 2. Otherwise x i → δ ( x 0 , x i ) is a solution to S . Proof. Let us prove 2. If G does not contain any negative cycle, then for all 1 ≤ i ≤ n , we have −∞ < δ ( x 0 , x i ) < ∞ . By the triangle inequality, x i → δ ( x 0 , x i ) is a solution. 9 / 13

  11. Example (I) x 1 − x 2 ≤ 2 x 2 − x 3 ≤ 1 x 3 − x 1 ≤ − 1 x 0 0 0 0 x 1 − 1 2 x 3 x 2 1 ( x 1 , x 2 , x 3 ) = ( δ ( x 0 , x 1 ) , δ ( x 0 , x 2 ) , δ ( x 0 , x 2 )) = (0 , 0 , − 1) is a solution! 10 / 13

  12. Example (II) x 1 − x 2 ≤ 2 x 2 − x 3 ≤ 1 x 3 − x 1 ≤ − 4 x 0 0 0 0 x 1 − 4 2 x 3 x 2 1 Infeasible! 11 / 13

  13. Consistency Checks Consistency checks can be performed using Bellman-Ford in time ■ O ( | V | · | E | ) Other more efficient variants exist ■ Inconsistency explanations are negative cycles ■ (minimal wrt. set inclusion) 12 / 13

  14. Bibliography - Further reading Chao Wang, Franjo Ivancic, Malay K. Ganai, Aarti Gupta. Deciding ■ Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination. LPAR 2005: 322-336 Scott Cotton, Oded Maler. Fast and Flexible Difference Constraint ■ Propagation for DPLL(T) . SAT 2006: 170-183 13 / 13

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend