Upcoming SlideShare
×

Csr2011 june17 14_00_bulatov

302 views

Published on

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

• Be the first to like this

Views
Total views
302
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
2
0
Likes
0
Embeds 0
No embeds

No notes for slide

Csr2011 june17 14_00_bulatov

1. 1. CSP: Algorithms and Dichotomy Conjecture Andrei A. Bulatov Simon Fraser University
2. 2. Constraint Satisfaction Problem I CSP(  ) Definition: Instance: ( V ; A ; C ) where  V is a finite set of variables  A is a set of values  C is a set of constraints Question: whether there is h : V  A such that, for any i , is true where each belongs to 
3. 3. Constraint Satisfaction Problem II u - v - w - x - y - Q ( u,v,w ) R ( w,x ) R ( x,y ) S ( y,u )
4. 4. <ul><li>3-COL = CSP(  ) </li></ul>Examples: 3-COL u v w x
5. 5. Examples: Linear Equations, SAT Linear Equations : 3-SAT = CSP( ) :
6. 6. Invariants and Polymorphisms Pol(  ) denotes the set of all polymorphisms of relations from  Definition A relation R is invariant with respect to an n - ary operation f (or f is a polymorphism of R ) if, for any tuples the tuple obtained by applying f coordinate-wise is a member of R
7. 7. <ul><li>Affine relations: Relations that can be represented by a system of linear equations </li></ul><ul><li>Let also ( affine operation) </li></ul>Polymorphisms: Affine Relations If are solutions then
8. 8. <ul><li>2-clauses give rise to binary relations </li></ul><ul><li>Let ( median operation) </li></ul><ul><li>Operation h is a polymorphism of </li></ul>Polymorphisms: 2-SAT
9. 9. <ul><li> does not have any polymorphisms except for very trivial ones, e.g. f ( x,y,z ) =y </li></ul>Polymorphisms: 3-COL
10. 10. Polymorphisms and Complexity Theorem ( Jeavons; 1998 ) If  ,  are constraint languages such that Pol(  )  Pol(  ), then CSP (  ) is log space reducible to CSP (  ) 1 2 2 1 2 1 Larose, Tesson, 2007: This reduction can be made
11. 11. <ul><li>A semilattice operation is a binary operation  satisfying the equations: x  x = x , x  y = y  x , x  ( y  z ) = ( x  y )  z </li></ul><ul><li>A semilattice operation induces a partial order: </li></ul><ul><li>a  b  a  b = b </li></ul>Good Polymorphisms: Semilattice There is always a unique maximal element max( x,y ) gcd( x,y )  0 1 1 2 0 2 1 3 6 4 5
12. 12. Good Polymorphisms: Semilattice u - v - w - x - y -
13. 13. Good Polymorphisms: Semilattice Propagation u - v - w - x - y -
14. 14. <ul><li>A majority operation is a ternary operation h that satisfies the equations h ( x,x,y ) = h ( x,y,x ) = h ( y,x,x ) = x </li></ul>Good Polymorphisms: Majority Chinese Remainder Theorem for Majority Let R be a ( k -ary) relation invariant under a majority operation, and is some tuple. Then if for any i,j  {1,..., k } there is a tuple such that then
15. 15. Good Polymorphisms: Majority Propagation again: 2-consistency Any 2-consistent instance has a solution u - v - w - x - y -
16. 16. <ul><li>An affine operation is a ternary operation m that is given by x – y + z where +, – are operations of a certain Abelian group </li></ul><ul><li>CSP over a language invariant under an affine operation is just solving systems of linear equations </li></ul><ul><li>Gaussian Elimination </li></ul>Good Polymorphisms: Affine
17. 17. <ul><li>CSP(  ) is Boolean if  is over {0,1} </li></ul>Complexity: Boolean CSP Theorem (Schaefer 1978) For a constraint language  over {0,1} the problem CSP(  ) is solvable in poly time iff  has a semilattice, majority, or affine polymorphism; otherwise it is NP-complete Fine Print: `Trivial’ languages are excluded from the theorem. These are so-called 0- or 1-valid languages, in which every instance has a solution
18. 18. <ul><li>If  consists of a single binary relation (thought of being the edge relation of some (di)graph H), then CSP(  ) is also called H-Coloring </li></ul>Complexity: Graphs Theorem (Hell, Nesetril 1990) For a graph H the H-Coloring problem is solvable in poly time iff E(H) has a majority polymorphism; otherwise it is NP-complete Fine Print: Graphs here must be cores. Then a core has a majority polymorphism iff it is a loop or an edge
19. 19. <ul><li>5 types of local structure. Defined by the presence of polymorphisms that locally act as one of the 3 good polymorphisms </li></ul><ul><li>unary none </li></ul><ul><li>affine only affine </li></ul><ul><li>boolean all three </li></ul><ul><li>lattice majority, semilattice </li></ul><ul><li>semilattice semilattice </li></ul>Types Fine Print : One needs to be quite creative to relate this definition to the actual definition as it was introduced in universal algebra 25 years ago. It is good enough for our purpose, though
20. 20. <ul><li> omits a type if it does not exhibit local structure of this type, otherwise it admits it </li></ul><ul><li>(Dichotomy Conjecture) CSP(  ) is solvable in polynomial time iff  omits the unary type; NP-complete otherwise </li></ul><ul><li>CSP(  ) is in NL iff  omits the unary, affine, and semilattice types </li></ul><ul><li>CSP(  ) is in L iff  omits the unary, affine, lattice and semilattice types </li></ul><ul><li>CSP(  ) is in Mod L iff  omits the unary, lattice, and semilattice types </li></ul>Conjectures  p
21. 21. <ul><li>B., Jeavons, Krokhin 2006: if  admits the unary type, CSP(  ) is NP-complete </li></ul><ul><li>Jeavons et al. mid 90s: algorithms if  has one of the 3 good polymorphisms </li></ul><ul><li>Barto, Kozik 2010; B. 2010: propagation works iff  omits the unary and affine type </li></ul><ul><li>Idziak, et al. 2010: the Generalized Gaussian elimination algorithm if  omits the unary and semilattice types (+ some extra conditions) </li></ul><ul><li>ongoing, many people: languages that admit the semilattice and affine types </li></ul>Algorithms
22. 22. <ul><li>Schaefer 1978:  over a 2-element set </li></ul><ul><li>Hell, Nesetril 1990:  = { E }, where E is binary symmetric </li></ul><ul><li>2006:  over a 3-element set </li></ul><ul><li>Markovic, McKenzie >2011:  over a 4-element case 1 case out of left (as of last Wednesday) </li></ul><ul><li>B. 2003, Barto 2011:  conservative, that is, it contains all unary relations </li></ul>Dichotomy results
23. 23. Polymorphisms of conservative languages If is a polymorphism of a conservative language  , then for any We look at how polymorphisms behave on 2-element subsets If for some 2-elemen subset B there is no polymorphism that is good on B then CSP(  ) is NP-complete Theorem (B. 2003) CSP(  ) for a conservative  on A is poly time iff for any 2-element B  A there is f  Pol(  ) which is affine, majority, or semilattice; otherwise CSP(  ) is NP-complete.
24. 24. Edge coloured graphs G (  ) : Since semilattice operation induces an order, red edges are directed semilattice operation majority operation affine operation
25. 25. <ul><li>Let  be a conservative language over set A </li></ul><ul><li>B  A is called an as-component (affine-semilattice) if it is minimal with respect to the property: </li></ul><ul><li>there is no affine or semilattice (directed) edge in G (  ) sticking out of B </li></ul>AS-components The remaining edges are majority
26. 26. CRT for AS-Components Chinese Remainder Theorem for AS-Component Let R   for a conservative  on A and as-components such that for any i,j  { 1,...,k } there is a tuple such that Then there is such that for all i,j  { 1,...,k }.
27. 27. <ul><li>Let R be a k -ary relation on A , let be as-components </li></ul><ul><li>Positions i and j are - related if for any </li></ul><ul><li>iff </li></ul><ul><li>I  { 1,...,k } is a coherent </li></ul><ul><li>set w.r.t. as-components </li></ul><ul><li>if any i,j  I are </li></ul><ul><li>-related </li></ul>Coherent Sets
28. 28. Rectangularity Rectangularity Lemma Let R   and as-components such that Let also be the partition of { 1,...,k } into coherent sets w.r.t. and Then
29. 29. The Algorithm <ul><li>On input ( V,D , C ) </li></ul><ul><li>run 2-consistency algorithm </li></ul><ul><li>find as-components such that for any v,w  V as-components </li></ul><ul><li>are consistent </li></ul><ul><li>find the coherent sets </li></ul><ul><li>for each coherent set W solve the problem restricted to W and </li></ul><ul><li>if every such problem has a solution, any combination of such solutions gives a solution to the problem </li></ul><ul><li>otherwise remove elements the failed as-components and start over </li></ul>u - v - w - x - y -
30. 30. <ul><li>Ingredients: </li></ul><ul><li>the graph </li></ul><ul><li>Chinese Remainder Theorem </li></ul><ul><li>rectangularity </li></ul><ul><li>solving smaller problems </li></ul><ul><li>failed components removal </li></ul>General Case I
31. 31. <ul><li>The graph </li></ul><ul><li>Cannot get a complete graph, but connected is possible </li></ul><ul><li>Semilattice and majority edges are defined in almost the same way: a,b if there is a polymorphism which is semilattice or majority on { a,b } </li></ul><ul><li>Affine edges: Instead of pairs of elements use subset B  A and a partition of B such that there is a polymorphism that acts as an affine operation on the set </li></ul>General Case II A B
32. 32. <ul><li>Chinese Remainder Theorem : holds </li></ul><ul><li>Rectangularity : does not hold, need a weaker condition </li></ul><ul><li>Solving smaller problems </li></ul>General Case III Theorem There is a poly time algorithm such that on ( V,A , C ) - if for each v  V and any element a from an as-component there is a solution  with  ( v ) = a , then the algorithm finds a solution; - otherwise it identifies which elements from as-components are not a part of a solution.
33. 33. <ul><li>Failed components removal </li></ul>General Case IV Have to check every element if it is a part of a solution, not only maximal ones u - v - w - x - y -
34. 34. <ul><li>Current Score: </li></ul><ul><li>3 : 2 </li></ul><ul><li>Thank you! </li></ul>Conclusion