Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSP: Algorithms and Dichotomy Conjecture Andrei A. Bulatov Simon Fraser University.

Similar presentations


Presentation on theme: "CSP: Algorithms and Dichotomy Conjecture Andrei A. Bulatov Simon Fraser University."— Presentation transcript:

1 CSP: Algorithms and Dichotomy Conjecture Andrei A. Bulatov Simon Fraser University

2 2/34 Constraint Satisfaction Problem I 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 CSP(  ) where each belongs to 

3 3/34 Constraint Satisfaction Problem II u - v - w - x - y - Q(u,v,w) R(w,x) R(x,y) S(y,u)

4 4/34 3-COL = CSP(  ) Examples: 3-COL u v w x

5 5/34 Examples: Linear Equations, SAT Linear Equations: 3-SAT = CSP( ):

6 6/34 Invariants and Polymorphisms 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 Pol(  ) denotes the set of all polymorphisms of relations from 

7 7/34 Affine relations: Relations that can be represented by a system of linear equations Let also (affine operation) Polymorphisms: Affine Relations If are solutions then

8 8/34 2-clauses give rise to binary relations Let (median operation) Operation h is a polymorphism of Polymorphisms: 2-SAT

9 9/34  does not have any polymorphisms except for very trivial ones, e.g. f(x,y,z)=y Polymorphisms: 3-COL

10 10/34 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/34 A semilattice operation is a binary operation  satisfying the equations: x  x = x, x  y = y  x, x  (y  z) = (x  y)  z A semilattice operation induces a partial order: a  b  a  b = b Good Polymorphisms: Semilattice 0 1 1 2 0 2 1 3 6 4 5 There is always a unique maximal element max(x,y) gcd(x,y) 

12 12/34 Good Polymorphisms: Semilattice u - v - w - x - y -

13 13/34 Good Polymorphisms: Semilattice u - v - w - x - y - Propagation

14 14/34 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 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/34 Good Polymorphisms: Majority u - v - w - x - y - Propagation again: 2-consistency Any 2-consistent instance has a solution

16 16/34 An affine operation is a ternary operation m that is given by x – y + z where +, – are operations of a certain Abelian group CSP over a language invariant under an affine operation is just solving systems of linear equations Gaussian Elimination Good Polymorphisms: Affine

17 17/34 CSP(  ) is Boolean if  is over {0,1} 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/34 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 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/34 5 types of local structure. Defined by the presence of polymorphisms that locally act as one of the 3 good polymorphisms unary none affine only affine boolean all three lattice majority, semilattice semilattice 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/34  omits a type if it does not exhibit local structure of this type, otherwise it admits it (Dichotomy Conjecture) CSP(  ) is solvable in polynomial time iff  omits the unary type; NP-complete otherwise CSP(  ) is in NL iff  omits the unary, affine, and semilattice types CSP(  ) is in L iff  omits the unary, affine, lattice and semilattice types CSP(  ) is in Mod L iff  omits the unary, lattice, and semilattice types Conjectures  p

21 21/34 B., Jeavons, Krokhin 2006: if  admits the unary type, CSP(  ) is NP-complete Jeavons et al. mid 90s: algorithms if  has one of the 3 good polymorphisms Barto, Kozik 2010; B. 2010: propagation works iff  omits the unary and affine type Idziak, et al. 2010: the Generalized Gaussian elimination algorithm if  omits the unary and semilattice types (+ some extra conditions) ongoing, many people: languages that admit the semilattice and affine types Algorithms

22 22/34 Schaefer 1978:  over a 2-element set Hell, Nesetril 1990:  = { E }, where E is binary symmetric B.2006:  over a 3-element set Markovic, McKenzie >2011:  over a 4-element case 1 case out of left (as of last Wednesday) B. 2003, Barto 2011:  conservative, that is, it contains all unary relations Dichotomy results

23 23/34 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/34 Edge coloured graphs G():G(): semilattice operation majority operation affine operation Since semilattice operation induces an order, red edges are directed

25 25/34 Let  be a conservative language over set A B  A is called an as-component (affine-semilattice) if it is minimal with respect to the property: there is no affine or semilattice (directed) edge in G (  ) sticking out of B AS-components The remaining edges are majority

26 26/34 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/34 Let R be a k -ary relation on A, let be as-components Positions i and j are -related if for any iff I  {1,...,k} is a coherent set w.r.t. as-components if any i,j  I are -related Coherent Sets

28 28/34 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/34 u - v - w - x - y - The Algorithm On input (V,D, C ) run 2-consistency algorithm find as-components such that for any v,w  V as-components are consistent 3.find the coherent sets 4.for each coherent set W solve the problem restricted to W and 5.if every such problem has a solution, any combination of such solutions gives a solution to the problem 6.otherwise remove elements the failed as-components and start over

30 30/34 Ingredients: the graph Chinese Remainder Theorem rectangularity solving smaller problems failed components removal General Case I

31 31/34 The graph Cannot get a complete graph, but connected is possible 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} 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 General Case II A B

32 32/34 Chinese Remainder Theorem : holds Rectangularity : does not hold, need a weaker condition Solving smaller problems 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/34 Failed components removal General Case IV u - v - w - x - y - Have to check every element if it is a part of a solution, not only maximal ones

34 34/34 Current Score: 3 : 2 Thank you! Conclusion


Download ppt "CSP: Algorithms and Dichotomy Conjecture Andrei A. Bulatov Simon Fraser University."

Similar presentations


Ads by Google