Constraints, Symmetry, and Complexity Andrei Krokhin Andrei Krokhin - - PowerPoint PPT Presentation

constraints symmetry and complexity andrei krokhin
SMART_READER_LITE
LIVE PREVIEW

Constraints, Symmetry, and Complexity Andrei Krokhin Andrei Krokhin - - PowerPoint PPT Presentation

Constraints, Symmetry, and Complexity Andrei Krokhin Andrei Krokhin Constraints, Symmetry, and Complexity Message Q.: What kind of mathematical structure makes a problem easy or hard? Andrei Krokhin Constraints, Symmetry, and Complexity


slide-1
SLIDE 1

Constraints, Symmetry, and Complexity Andrei Krokhin

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-2
SLIDE 2

Message

Q.: What kind of mathematical structure makes a problem easy or hard?

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-3
SLIDE 3

Message

Q.: What kind of mathematical structure makes a problem easy or hard?

The Constraint Satisfaction Problem paradigm

— General enough to include many interesting problems — Structured enough to make significant progress (on all problems within a class, not just a single problem)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-4
SLIDE 4

Message

Q.: What kind of mathematical structure makes a problem easy or hard?

The Constraint Satisfaction Problem paradigm Main Achievement: better understanding of common structure in easy (or hard) problems

— focus on appropriate symmetries of solution spaces! — lack of symmetries ⇒ hardness — symmetries ⇒ efficient algorithms

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-5
SLIDE 5

Message

Q.: What kind of mathematical structure makes a problem easy or hard?

The Constraint Satisfaction Problem paradigm Main Achievement: better understanding of common structure in easy (or hard) problems

— focus on appropriate symmetries of solution spaces! — lack of symmetries ⇒ hardness — symmetries ⇒ efficient algorithms — symmetries of higher dimension/arity are important (not just auto- or endomorphisms) → universal algebra

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-6
SLIDE 6

Message

Q.: What kind of mathematical structure makes a problem easy or hard?

The Constraint Satisfaction Problem paradigm Main Achievement: better understanding of common structure in easy (or hard) problems

— focus on appropriate symmetries of solution spaces! — lack of symmetries ⇒ hardness — symmetries ⇒ efficient algorithms — symmetries of higher dimension/arity are important (not just auto- or endomorphisms) → universal algebra — useful way to measure/compare symmetries

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-7
SLIDE 7

Message

Q.: What kind of mathematical structure makes a problem easy or hard?

The Constraint Satisfaction Problem paradigm Main Achievement: better understanding of common structure in easy (or hard) problems

— focus on appropriate symmetries of solution spaces! — lack of symmetries ⇒ hardness — symmetries ⇒ efficient algorithms — symmetries of higher dimension/arity are important (not just auto- or endomorphisms) → universal algebra — useful way to measure/compare symmetries

Long term goal: go beyond CSPs

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-8
SLIDE 8

Constraint Satisfaction Problem (CSP)

Fix finite relational structure A = (A; R1, . . . , Rn) (aka constraint language) where each Ri ⊆ Aki

  • r

Ri : Aki → {true, false}.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-9
SLIDE 9

Constraint Satisfaction Problem (CSP)

Fix finite relational structure A = (A; R1, . . . , Rn) (aka constraint language) where each Ri ⊆ Aki

  • r

Ri : Aki → {true, false}. Definition An instance of CSP(A) is a list of constraints over vars V , e.g. R1(x, y, z), R1(z, y, w), R2(z), R3(x, w), R3(y, y) where each Ri is from A. Question: Is there s : V → A satisfying all constraints?

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-10
SLIDE 10

Constraint Satisfaction Problem (CSP)

Fix finite relational structure A = (A; R1, . . . , Rn) (aka constraint language) where each Ri ⊆ Aki

  • r

Ri : Aki → {true, false}. Definition An instance of CSP(A) is a list of constraints over vars V , e.g. R1(x, y, z), R1(z, y, w), R2(z), R3(x, w), R3(y, y) where each Ri is from A. Question: Is there s : V → A satisfying all constraints? Other variants, e.g.: infinite A (but the instance is still finite) nothing (or something other than relations) is fixed real-valued functions instead of relations (for optimisation)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-11
SLIDE 11

Examples and a conjecture

k-Col: A = ([k]; {=})

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-12
SLIDE 12

Examples and a conjecture

k-Col: A = ([k]; {=}) k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a = b ∨ a = c ∨ b = c})

— (essentially) k-colouring for 3-uniform hypergraphs

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-13
SLIDE 13

Examples and a conjecture

k-Col: A = ([k]; {=}) k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a = b ∨ a = c ∨ b = c})

— (essentially) k-colouring for 3-uniform hypergraphs

3-Sat: A = ({0, 1}; (x ∨ y ∨ z), (x ∨ y ∨ ¬z), . . .) Horn 3-Sat: as above, each clause has ≤ 1 unneg var

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-14
SLIDE 14

Examples and a conjecture

k-Col: A = ([k]; {=}) k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a = b ∨ a = c ∨ b = c})

— (essentially) k-colouring for 3-uniform hypergraphs

3-Sat: A = ({0, 1}; (x ∨ y ∨ z), (x ∨ y ∨ ¬z), . . .) Horn 3-Sat: as above, each clause has ≤ 1 unneg var 3-Linp: A = (Zp; x + y + z = 0, x + 2y + 3z = 7, . . .)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-15
SLIDE 15

Examples and a conjecture

k-Col: A = ([k]; {=}) k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a = b ∨ a = c ∨ b = c})

— (essentially) k-colouring for 3-uniform hypergraphs

3-Sat: A = ({0, 1}; (x ∨ y ∨ z), (x ∨ y ∨ ¬z), . . .) Horn 3-Sat: as above, each clause has ≤ 1 unneg var 3-Linp: A = (Zp; x + y + z = 0, x + 2y + 3z = 7, . . .) Unique Games-k: A = ([k]; {(a, π(a)) | a ∈ [k]}) where π runs through all permutations on [k].

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-16
SLIDE 16

Examples and a conjecture

k-Col: A = ([k]; {=}) k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a = b ∨ a = c ∨ b = c})

— (essentially) k-colouring for 3-uniform hypergraphs

3-Sat: A = ({0, 1}; (x ∨ y ∨ z), (x ∨ y ∨ ¬z), . . .) Horn 3-Sat: as above, each clause has ≤ 1 unneg var 3-Linp: A = (Zp; x + y + z = 0, x + 2y + 3z = 7, . . .) Unique Games-k: A = ([k]; {(a, π(a)) | a ∈ [k]}) where π runs through all permutations on [k]. Conjecture (CSP Dichotomy Conjecture, Feder-Vardi’98) Every CSP(A) is either in P or NP-c.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-17
SLIDE 17

Some algorithmic tasks about CSPs

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-18
SLIDE 18

Some algorithmic tasks about CSPs

Programme: Classify the complexity of these tasks wrt A

  • 1. Decision CSP: Can all constraints be satisfied?

— Done [Bulatov’17, Zhuk’17]; finer classification — open

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-19
SLIDE 19

Some algorithmic tasks about CSPs

Programme: Classify the complexity of these tasks wrt A

  • 1. Decision CSP: Can all constraints be satisfied?

— Done [Bulatov’17, Zhuk’17]; finer classification — open

  • 2. Counting CSP: Count the number of solutions

— Done [Bulatov’08-13, Dyer, Richerby’10-13, Cai, Chen’12-17]

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-20
SLIDE 20

Some algorithmic tasks about CSPs

Programme: Classify the complexity of these tasks wrt A

  • 1. Decision CSP: Can all constraints be satisfied?

— Done [Bulatov’17, Zhuk’17]; finer classification — open

  • 2. Counting CSP: Count the number of solutions

— Done [Bulatov’08-13, Dyer, Richerby’10-13, Cai, Chen’12-17]

  • 3. Max CSP: Find a map satisfying max number of constraints

— Done [Thapper, ˇ Zivn´ y’16], [Kolmogorov, AK, Rol´ ınek’17]

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-21
SLIDE 21

Some algorithmic tasks about CSPs

Programme: Classify the complexity of these tasks wrt A

  • 1. Decision CSP: Can all constraints be satisfied?

— Done [Bulatov’17, Zhuk’17]; finer classification — open

  • 2. Counting CSP: Count the number of solutions

— Done [Bulatov’08-13, Dyer, Richerby’10-13, Cai, Chen’12-17]

  • 3. Max CSP: Find a map satisfying max number of constraints

— Done [Thapper, ˇ Zivn´ y’16], [Kolmogorov, AK, Rol´ ınek’17]

  • 4. Approx Max CSP: Satisfy c × Opt number of constraints

— (Essentially) Done [Raghavendra’08]

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-22
SLIDE 22

Some algorithmic tasks about CSPs

Programme: Classify the complexity of these tasks wrt A

  • 1. Decision CSP: Can all constraints be satisfied?

— Done [Bulatov’17, Zhuk’17]; finer classification — open

  • 2. Counting CSP: Count the number of solutions

— Done [Bulatov’08-13, Dyer, Richerby’10-13, Cai, Chen’12-17]

  • 3. Max CSP: Find a map satisfying max number of constraints

— Done [Thapper, ˇ Zivn´ y’16], [Kolmogorov, AK, Rol´ ınek’17]

  • 4. Approx Max CSP: Satisfy c × Opt number of constraints

— (Essentially) Done [Raghavendra’08]

  • 5. (α, β)-Approx Max CSP: assuming β fraction of constraints

can be satisfied, find a map satisfying ≥ α fraction.

— Strong results for some (α, β) and A, wide open in general

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-23
SLIDE 23

Some algorithmic tasks about CSPs

Programme: Classify the complexity of these tasks wrt A

  • 1. Decision CSP: Can all constraints be satisfied?

— Done [Bulatov’17, Zhuk’17]; finer classification — open

  • 2. Counting CSP: Count the number of solutions

— Done [Bulatov’08-13, Dyer, Richerby’10-13, Cai, Chen’12-17]

  • 3. Max CSP: Find a map satisfying max number of constraints

— Done [Thapper, ˇ Zivn´ y’16], [Kolmogorov, AK, Rol´ ınek’17]

  • 4. Approx Max CSP: Satisfy c × Opt number of constraints

— (Essentially) Done [Raghavendra’08]

  • 5. (α, β)-Approx Max CSP: assuming β fraction of constraints

can be satisfied, find a map satisfying ≥ α fraction.

— Strong results for some (α, β) and A, wide open in general

  • 6. Promise CSP: wide open — tomorrow

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-24
SLIDE 24

Algebraic approach to CSP (very high-level view) Relational structures

“can simulate”

. . . . . . . . . . . . . . .

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-25
SLIDE 25

Algebraic approach to CSP (very high-level view) Relational structures

“can simulate”

. . . . . . . . . . . . . . .

Strong enough polymorphisms (symmetries)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-26
SLIDE 26

Algebraic approach to CSP (very high-level view) Relational structures

“can simulate”

3-Sat . . . . . . . . . . . . . . .

Strong enough polymorphisms (symmetries)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-27
SLIDE 27

Simulation by example

Three (increasingly more general) levels of simulation:

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-28
SLIDE 28

Simulation by example

Three (increasingly more general) levels of simulation:

  • 1. pp-definitions (= gadgets, same domain)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-29
SLIDE 29

Simulation by example

Three (increasingly more general) levels of simulation:

  • 1. pp-definitions (= gadgets, same domain) Ex.: Let

A1 = (A; R), R ternary, and A2 = (A; T, S) be s.t. T(x) = ∃z R(x, z, x), S(x, y) = ∃z R(x, y, z) ∧ R(y, y, x).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-30
SLIDE 30

Simulation by example

Three (increasingly more general) levels of simulation:

  • 1. pp-definitions (= gadgets, same domain) Ex.: Let

A1 = (A; R), R ternary, and A2 = (A; T, S) be s.t. T(x) = ∃z R(x, z, x), S(x, y) = ∃z R(x, y, z) ∧ R(y, y, x). Then an instance of CSP(A2), say T(y), S(x, y)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-31
SLIDE 31

Simulation by example

Three (increasingly more general) levels of simulation:

  • 1. pp-definitions (= gadgets, same domain) Ex.: Let

A1 = (A; R), R ternary, and A2 = (A; T, S) be s.t. T(x) = ∃z R(x, z, x), S(x, y) = ∃z R(x, y, z) ∧ R(y, y, x). Then an instance of CSP(A2), say T(y), S(x, y) can be re-written as an instance of CSP(A1) R(y, z, y), R(x, y, w), R(y, y, x)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-32
SLIDE 32

Simulation by example

Three (increasingly more general) levels of simulation:

  • 1. pp-definitions (= gadgets, same domain) Ex.: Let

A1 = (A; R), R ternary, and A2 = (A; T, S) be s.t. T(x) = ∃z R(x, z, x), S(x, y) = ∃z R(x, y, z) ∧ R(y, y, x). Then an instance of CSP(A2), say T(y), S(x, y) can be re-written as an instance of CSP(A1) R(y, z, y), R(x, y, w), R(y, y, x)

  • 2. pp-interpretations (gadgets, possibly diff domains)
  • 3. pp-constructions (gadgets + more)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-33
SLIDE 33

Polymorphisms by example

Take any 2-Sat instance (x ∨ y) ∧ (y ∨ z) ∧ (y ∨ u) ∧ (x ∨ u) Take any three solutions a, b, c to this instance

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-34
SLIDE 34

Polymorphisms by example

Take any 2-Sat instance (x ∨ y) ∧ (y ∨ z) ∧ (y ∨ u) ∧ (x ∨ u) Take any three solutions a, b, c to this instance Apply the ternary majority operation m to a, b, c coordinate-wise (variables ordered here as x, y, z, u)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-35
SLIDE 35

Polymorphisms by example

Take any 2-Sat instance (x ∨ y) ∧ (y ∨ z) ∧ (y ∨ u) ∧ (x ∨ u) Take any three solutions a, b, c to this instance Apply the ternary majority operation m to a, b, c coordinate-wise (variables ordered here as x, y, z, u) m m m m ↓ ↓ ↓ ↓ a = ( 1 1 1 ) sat b = ( 1 1 1 ) sat c = ( 1 ) sat m(a, b, c) = ( 1 1 ) sat

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-36
SLIDE 36

Polymorphisms

An operation f : Am → A is called a polymorphism of a k-ary relation R ⊆ Ak if for any k-tuples f f f ↓ ↓ ↓ ( a11 , . . . , a1k ) ∈ R . . . . . . . . . . . . ( am1 , . . . , amk ) ∈ R ⇓ ( f (a11, . . . , am1) , . . . , f (a1k, . . . , amk) ) ∈ R

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-37
SLIDE 37

Polymorphisms

An operation f : Am → A is called a polymorphism of a k-ary relation R ⊆ Ak if for any k-tuples f f f ↓ ↓ ↓ ( a11 , . . . , a1k ) ∈ R . . . . . . . . . . . . ( am1 , . . . , amk ) ∈ R ⇓ ( f (a11, . . . , am1) , . . . , f (a1k, . . . , amk) ) ∈ R Call f a polymorphism of A if it is such for all R in A. Notation: Pol(A).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-38
SLIDE 38

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-39
SLIDE 39

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Then f (x1, x2, x3) = x1 − x2 + x3 is a polymorphism of R:

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-40
SLIDE 40

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Then f (x1, x2, x3) = x1 − x2 + x3 is a polymorphism of R: If r1, r2, r3 ∈ R, i.e. Ar1 = b, Ar2 = b, Ar3 = b, then

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-41
SLIDE 41

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Then f (x1, x2, x3) = x1 − x2 + x3 is a polymorphism of R: If r1, r2, r3 ∈ R, i.e. Ar1 = b, Ar2 = b, Ar3 = b, then A(r1 − r2 + r3) = Ar1 − Ar2 + Ar3

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-42
SLIDE 42

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Then f (x1, x2, x3) = x1 − x2 + x3 is a polymorphism of R: If r1, r2, r3 ∈ R, i.e. Ar1 = b, Ar2 = b, Ar3 = b, then A(r1 − r2 + r3) = Ar1 − Ar2 + Ar3 = b − b + b = b.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-43
SLIDE 43

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Then f (x1, x2, x3) = x1 − x2 + x3 is a polymorphism of R: If r1, r2, r3 ∈ R, i.e. Ar1 = b, Ar2 = b, Ar3 = b, then A(r1 − r2 + r3) = Ar1 − Ar2 + Ar3 = b − b + b = b.

  • 2. If A = (A, E) is a digraph then f is a polymorphism of A if

(a1, b1), . . . , (an, bn) ∈ E ⇒ (f (a1, . . . , an), f (b1, . . . , bn)) ∈ E.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-44
SLIDE 44

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Then f (x1, x2, x3) = x1 − x2 + x3 is a polymorphism of R: If r1, r2, r3 ∈ R, i.e. Ar1 = b, Ar2 = b, Ar3 = b, then A(r1 − r2 + r3) = Ar1 − Ar2 + Ar3 = b − b + b = b.

  • 2. If A = (A, E) is a digraph then f is a polymorphism of A if

(a1, b1), . . . , (an, bn) ∈ E ⇒ (f (a1, . . . , an), f (b1, . . . , bn)) ∈ E.

  • 3. Every polymorphism of 3-SAT is a projection (aka dictator),

i.e. f (x1, . . . , xn) = xi for some i.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-45
SLIDE 45

More examples of polymorphisms

  • 1. Let R = {r ∈ Zn

p | Ar = b} be an affine subspace of Zn p.

Then f (x1, x2, x3) = x1 − x2 + x3 is a polymorphism of R: If r1, r2, r3 ∈ R, i.e. Ar1 = b, Ar2 = b, Ar3 = b, then A(r1 − r2 + r3) = Ar1 − Ar2 + Ar3 = b − b + b = b.

  • 2. If A = (A, E) is a digraph then f is a polymorphism of A if

(a1, b1), . . . , (an, bn) ∈ E ⇒ (f (a1, . . . , an), f (b1, . . . , bn)) ∈ E.

  • 3. Every polymorphism of 3-SAT is a projection (aka dictator),

i.e. f (x1, . . . , xn) = xi for some i.

  • 4. Every polymorphism of 3-Col is of the form

f (x1, . . . , xn) = π(xi) for some i ≤ n and permutation π

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-46
SLIDE 46

Modern proof of Schaefer’s classification for Boolean CSPs

Problem Polymorphism Complexity 0-valid constant 0 Easy 1-valid constant 1 Easy 2-Sat majority Easy Horn-Sat min Easy Dual H-Sat max Easy 3-Lin2 x − y + z Easy 3-Sat

  • nly projections

Hard

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-47
SLIDE 47

Polymorphisms as symmetries

Objects capturing the symmetry of CSP(A): Aut(A) = {f : A → A automorph} automorphism group End(A) = {f : A → A homomorph} endomorphism monoid Pol(A) = {f : An → A homomorph} polymorphism clone

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-48
SLIDE 48

Polymorphisms as symmetries

Objects capturing the symmetry of CSP(A): Aut(A) = {f : A → A automorph} automorphism group End(A) = {f : A → A homomorph} endomorphism monoid Pol(A) = {f : An → A homomorph} polymorphism clone Clone = set of multivariate functions on A which

  • 1. is closed under composition, and
  • 2. contains all projections/dictators

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-49
SLIDE 49

Polymorphisms as symmetries

Objects capturing the symmetry of CSP(A): Aut(A) = {f : A → A automorph} automorphism group End(A) = {f : A → A homomorph} endomorphism monoid Pol(A) = {f : An → A homomorph} polymorphism clone Clone = set of multivariate functions on A which

  • 1. is closed under composition, and
  • 2. contains all projections/dictators

Example: trivial clone T , consisting of all projections.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-50
SLIDE 50

Polymorphisms as symmetries

Objects capturing the symmetry of CSP(A): Aut(A) = {f : A → A automorph} automorphism group End(A) = {f : A → A homomorph} endomorphism monoid Pol(A) = {f : An → A homomorph} polymorphism clone Clone = set of multivariate functions on A which

  • 1. is closed under composition, and
  • 2. contains all projections/dictators

Example: trivial clone T , consisting of all projections. Aut(A), End(A) - no info about the complexity of CSP(A). Pol(A) - a lot of info.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-51
SLIDE 51

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-52
SLIDE 52

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol(A) ⊆ Pol(B).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-53
SLIDE 53

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol(A) ⊆ Pol(B). A pp-interprets B iff Pol(A) → Pol(B) (homomorphism).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-54
SLIDE 54

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol(A) ⊆ Pol(B). A pp-interprets B iff Pol(A) → Pol(B) (homomorphism). A pp-constructs B iff Pol(A) Pol(B) (height-1 homo).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-55
SLIDE 55

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol(A) ⊆ Pol(B). A pp-interprets B iff Pol(A) → Pol(B) (homomorphism). A pp-constructs B iff Pol(A) Pol(B) (height-1 homo). Remarks: Proof constructive ⇒ generic reduction CSP(B) CSP(A)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-56
SLIDE 56

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol(A) ⊆ Pol(B). A pp-interprets B iff Pol(A) → Pol(B) (homomorphism). A pp-constructs B iff Pol(A) Pol(B) (height-1 homo). Remarks: Proof constructive ⇒ generic reduction CSP(B) CSP(A) ξ : Pol(A) → Pol(B) iff it “preserves equations/identities”

— This allows applications of deep structural universal algebra

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-57
SLIDE 57

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol(A) ⊆ Pol(B). A pp-interprets B iff Pol(A) → Pol(B) (homomorphism). A pp-constructs B iff Pol(A) Pol(B) (height-1 homo). Remarks: Proof constructive ⇒ generic reduction CSP(B) CSP(A) ξ : Pol(A) → Pol(B) iff it “preserves equations/identities”

— This allows applications of deep structural universal algebra

ξ : Pol(A) Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-58
SLIDE 58

Equations/identities

Identities = functional equations

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-59
SLIDE 59

Equations/identities

Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m(x, x, y) = m(x, y, x) = m(y, x, x) = x.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-60
SLIDE 60

Equations/identities

Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m(x, x, y) = m(x, y, x) = m(y, x, x) = x. A random identity: g(f (x, y), z, x)) = g(x, y, y))

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-61
SLIDE 61

Equations/identities

Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m(x, x, y) = m(x, y, x) = m(y, x, x) = x. A random identity: g(f (x, y), z, x)) = g(x, y, y)) Height 1 identity: exactly 1 function symbol on both sides, e.g. f (x, y) = f (y, x), but not f (x, f (y, z)) = f (f (x, y), z)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-62
SLIDE 62

Equations/identities

Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m(x, x, y) = m(x, y, x) = m(y, x, x) = x. A random identity: g(f (x, y), z, x)) = g(x, y, y)) Height 1 identity: exactly 1 function symbol on both sides, e.g. f (x, y) = f (y, x), but not f (x, f (y, z)) = f (f (x, y), z) Can speak about an identity being satisfied in Pol(A)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-63
SLIDE 63

Equations/identities

Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m(x, x, y) = m(x, y, x) = m(y, x, x) = x. A random identity: g(f (x, y), z, x)) = g(x, y, y)) Height 1 identity: exactly 1 function symbol on both sides, e.g. f (x, y) = f (y, x), but not f (x, f (y, z)) = f (f (x, y), z) Can speak about an identity being satisfied in Pol(A) Can consider systems of identities

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-64
SLIDE 64

Equations/identities

Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m(x, x, y) = m(x, y, x) = m(y, x, x) = x. A random identity: g(f (x, y), z, x)) = g(x, y, y)) Height 1 identity: exactly 1 function symbol on both sides, e.g. f (x, y) = f (y, x), but not f (x, f (y, z)) = f (f (x, y), z) Can speak about an identity being satisfied in Pol(A) Can consider systems of identities Compare

— f (x1, x2, x3) = f (x1, x3, x2) trivial symmetry — f (x1, x2, x3) = f (x2, x3, x1) non-trivial symmetry

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-65
SLIDE 65

Preserving identities

Pol(A) → Pol(B) means

— “each system of identities satisfied in Pol(A) is also satisfied in Pol(B)”, or

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-66
SLIDE 66

Preserving identities

Pol(A) → Pol(B) means

— “each system of identities satisfied in Pol(A) is also satisfied in Pol(B)”, or — “B has more symmetries than A” - in a qualitative way

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-67
SLIDE 67

Preserving identities

Pol(A) → Pol(B) means

— “each system of identities satisfied in Pol(A) is also satisfied in Pol(B)”, or — “B has more symmetries than A” - in a qualitative way

Ex.: If Pol(A) has a commutative (or associate, or majority)

  • peration then so does Pol(B)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-68
SLIDE 68

Preserving identities

Pol(A) → Pol(B) means

— “each system of identities satisfied in Pol(A) is also satisfied in Pol(B)”, or — “B has more symmetries than A” - in a qualitative way

Ex.: If Pol(A) has a commutative (or associate, or majority)

  • peration then so does Pol(B)

Systems of (h1) identites sat in Pol(A) = measure of symmetry.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-69
SLIDE 69

Tractability conjecture

Theorem If Pol(A) → T then CSP(A) is NP-complete.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-70
SLIDE 70

Tractability conjecture

Theorem If Pol(A) → T then CSP(A) is NP-complete.

  • Proof. If B is 3-SAT then Pol(B) = T , so A can simulate

(pp-interpret) 3-SAT, and hence 3-SAT reduces to CSP(A).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-71
SLIDE 71

Tractability conjecture

Theorem If Pol(A) → T then CSP(A) is NP-complete.

  • Proof. If B is 3-SAT then Pol(B) = T , so A can simulate

(pp-interpret) 3-SAT, and hence 3-SAT reduces to CSP(A). Note: Identities satisfied in T are trivial - satisfied in each Pol(A). If Pol(A) → T then Pol(A) satisfies only trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-72
SLIDE 72

Tractability conjecture

Theorem If Pol(A) → T then CSP(A) is NP-complete.

  • Proof. If B is 3-SAT then Pol(B) = T , so A can simulate

(pp-interpret) 3-SAT, and hence 3-SAT reduces to CSP(A). Note: Identities satisfied in T are trivial - satisfied in each Pol(A). If Pol(A) → T then Pol(A) satisfies only trivial identities. Conjecture (CSP Tractability Conjecture; Bulatov, Jeavons, AK’05; many others) If Pol(A) → T then CSP(A) is in P.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-73
SLIDE 73

Tractability conjecture

Theorem If Pol(A) → T then CSP(A) is NP-complete.

  • Proof. If B is 3-SAT then Pol(B) = T , so A can simulate

(pp-interpret) 3-SAT, and hence 3-SAT reduces to CSP(A). Note: Identities satisfied in T are trivial - satisfied in each Pol(A). If Pol(A) → T then Pol(A) satisfies only trivial identities. Conjecture (CSP Tractability Conjecture; Bulatov, Jeavons, AK’05; many others) If Pol(A) → T then CSP(A) is in P. If Pol(A) → T , Pol(A) satisfies some non-trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-74
SLIDE 74

Algebraic dichotomy (picture) Relational structures

3-Sat

Polymorphisms satisfying non-trivial identities

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-75
SLIDE 75

Non-trivial symmetries ⇒ strong symmetries

Theorem TFAE:

  • 1. Pol(A) → T , i.e. Pol(A) satisfies some non-trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-76
SLIDE 76

Non-trivial symmetries ⇒ strong symmetries

Theorem TFAE:

  • 1. Pol(A) → T , i.e. Pol(A) satisfies some non-trivial identities.
  • 2. A has a weak near-unanimity polym’m [M´

aroti,McKenzie’08] f (y, x, . . . , x, x) = f (x, y, . . . , x, x) = . . . = f (x, x, . . . , x, y)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-77
SLIDE 77

Non-trivial symmetries ⇒ strong symmetries

Theorem TFAE:

  • 1. Pol(A) → T , i.e. Pol(A) satisfies some non-trivial identities.
  • 2. A has a weak near-unanimity polym’m [M´

aroti,McKenzie’08] f (y, x, . . . , x, x) = f (x, y, . . . , x, x) = . . . = f (x, x, . . . , x, y)

  • 3. A has a cyclic polymorphism [Barto,Kozik’12]

f (x1, x2, x3, . . . , xn) = f (x2, x3, . . . , xn, x1)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-78
SLIDE 78

Non-trivial symmetries ⇒ strong symmetries

Theorem TFAE:

  • 1. Pol(A) → T , i.e. Pol(A) satisfies some non-trivial identities.
  • 2. A has a weak near-unanimity polym’m [M´

aroti,McKenzie’08] f (y, x, . . . , x, x) = f (x, y, . . . , x, x) = . . . = f (x, x, . . . , x, y)

  • 3. A has a cyclic polymorphism [Barto,Kozik’12]

f (x1, x2, x3, . . . , xn) = f (x2, x3, . . . , xn, x1)

  • 4. A has a Siggers polymorphism [Siggers’09,KMM’14]

f (r, a, r, e) = f (a, r, e, a)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-79
SLIDE 79

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derive new constraints

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-80
SLIDE 80

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-81
SLIDE 81

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to

  • 1. bound the size of subinstances used for derivation,

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-82
SLIDE 82

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to

  • 1. bound the size of subinstances used for derivation,
  • 2. or use a compact representation for derived constraints

The power of each approach is well understood.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-83
SLIDE 83

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to

  • 1. bound the size of subinstances used for derivation,
  • 2. or use a compact representation for derived constraints

The power of each approach is well understood. How polymorphisms are used: combine (partial) solutions to produce a better one

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-84
SLIDE 84

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to

  • 1. bound the size of subinstances used for derivation,
  • 2. or use a compact representation for derived constraints

The power of each approach is well understood. How polymorphisms are used: combine (partial) solutions to produce a better one directly - algorithm actually combines solutions (Approach 2) indirectly - to prove correctness (Approach 1)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-85
SLIDE 85

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to

  • 1. bound the size of subinstances used for derivation,
  • 2. or use a compact representation for derived constraints

The power of each approach is well understood. How polymorphisms are used: combine (partial) solutions to produce a better one directly - algorithm actually combines solutions (Approach 2) indirectly - to prove correctness (Approach 1) identities say which algorithm can be used

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-86
SLIDE 86

The “few subpowers” algorithm - Approach 2

Can solve a system of linear equations over Zp as follows:

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-87
SLIDE 87

The “few subpowers” algorithm - Approach 2

Can solve a system of linear equations over Zp as follows:

  • 1. Let Bi be the basis for solution set of the first i equations

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-88
SLIDE 88

The “few subpowers” algorithm - Approach 2

Can solve a system of linear equations over Zp as follows:

  • 1. Let Bi be the basis for solution set of the first i equations
  • 2. Can find Bi from Bi−1 and the i-th equation

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-89
SLIDE 89

The “few subpowers” algorithm - Approach 2

Can solve a system of linear equations over Zp as follows:

  • 1. Let Bi be the basis for solution set of the first i equations
  • 2. Can find Bi from Bi−1 and the i-th equation
  • 3. Size of Bi is bounded by n (the number of variabless)
  • 4. At the end, have a compact representation for all solutions

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-90
SLIDE 90

The “few subpowers” algorithm - Approach 2

Can solve a system of linear equations over Zp as follows:

  • 1. Let Bi be the basis for solution set of the first i equations
  • 2. Can find Bi from Bi−1 and the i-th equation
  • 3. Size of Bi is bounded by n (the number of variabless)
  • 4. At the end, have a compact representation for all solutions

The above can be extended to work with general constraints

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-91
SLIDE 91

The “few subpowers” algorithm - Approach 2

Can solve a system of linear equations over Zp as follows:

  • 1. Let Bi be the basis for solution set of the first i equations
  • 2. Can find Bi from Bi−1 and the i-th equation
  • 3. Size of Bi is bounded by n (the number of variabless)
  • 4. At the end, have a compact representation for all solutions

The above can be extended to work with general constraints (a) Bi can be a “generating set”, need it to be small (O(nc)) (b) need to be able perform the above item (2) efficiently

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-92
SLIDE 92

The “few subpowers” algorithm - Approach 2

Can solve a system of linear equations over Zp as follows:

  • 1. Let Bi be the basis for solution set of the first i equations
  • 2. Can find Bi from Bi−1 and the i-th equation
  • 3. Size of Bi is bounded by n (the number of variabless)
  • 4. At the end, have a compact representation for all solutions

The above can be extended to work with general constraints (a) Bi can be a “generating set”, need it to be small (O(nc)) (b) need to be able perform the above item (2) efficiently Theorem (Idziak, Markovic, McKenzie, Valeriote, Willard’10) Certain identities sat in Pol(A) ⇔ (a). If have (a), can do (b).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-93
SLIDE 93

Local consistency algorithm - Approach 1

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-94
SLIDE 94

Local consistency algorithm - Approach 1

Roughly: Perform local propagation until stable. If not refuted, return “sat”.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-95
SLIDE 95

Local consistency algorithm - Approach 1

Roughly: Perform local propagation until stable. If not refuted, return “sat”. (Standard algorithm for 2-Sat and Horn 3-Sat).

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-96
SLIDE 96

Local consistency algorithm - Approach 1

Roughly: Perform local propagation until stable. If not refuted, return “sat”. (Standard algorithm for 2-Sat and Horn 3-Sat). More precisely: Fix integers k ≤ ℓ. (k, ℓ)-algorithm: Repeatedly derive the strongest constraints

  • n k vars by considering ℓ vars at a time.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-97
SLIDE 97

Local consistency algorithm - Approach 1

Roughly: Perform local propagation until stable. If not refuted, return “sat”. (Standard algorithm for 2-Sat and Horn 3-Sat). More precisely: Fix integers k ≤ ℓ. (k, ℓ)-algorithm: Repeatedly derive the strongest constraints

  • n k vars by considering ℓ vars at a time.

If the instance is refuted, output “no”. Otherwise, “yes”. “No” answers are always correct.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-98
SLIDE 98

Local consistency algorithm - Approach 1

Roughly: Perform local propagation until stable. If not refuted, return “sat”. (Standard algorithm for 2-Sat and Horn 3-Sat). More precisely: Fix integers k ≤ ℓ. (k, ℓ)-algorithm: Repeatedly derive the strongest constraints

  • n k vars by considering ℓ vars at a time.

If the instance is refuted, output “no”. Otherwise, “yes”. “No” answers are always correct. If “yes” answers are also correct for each instance of CSP(A), we say that A has width (k, ℓ). if some (k, ℓ) work for A, say A has bounded width.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-99
SLIDE 99

Local consistency algorithm - Approach 1

Roughly: Perform local propagation until stable. If not refuted, return “sat”. (Standard algorithm for 2-Sat and Horn 3-Sat). More precisely: Fix integers k ≤ ℓ. (k, ℓ)-algorithm: Repeatedly derive the strongest constraints

  • n k vars by considering ℓ vars at a time.

If the instance is refuted, output “no”. Otherwise, “yes”. “No” answers are always correct. If “yes” answers are also correct for each instance of CSP(A), we say that A has width (k, ℓ). if some (k, ℓ) work for A, say A has bounded width. Equivalent notions: treewidth duality, Datalog, pebble games, etc

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-100
SLIDE 100

Picture for bounded width?

3-Lin2 3-Lin3 3-Linp . . . . . . . . .

Strong enough polymorphisms (symmetries)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-101
SLIDE 101

Bounded width

Theorem TFAE:

  • 1. A doesn’t pp-construct 3-Linp for any p;

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-102
SLIDE 102

Bounded width

Theorem TFAE:

  • 1. A doesn’t pp-construct 3-Linp for any p;
  • 2. A has polymorphisms f3, f4 such that

[Kozik et al.’14] f3(x, x, y) = f3(x, y, x) = f3(y, x, x) = f4(x, x, x, y) = . . . = f4(y, x, x, x)

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-103
SLIDE 103

Bounded width

Theorem TFAE:

  • 1. A doesn’t pp-construct 3-Linp for any p;
  • 2. A has polymorphisms f3, f4 such that

[Kozik et al.’14] f3(x, x, y) = f3(x, y, x) = f3(y, x, x) = f4(x, x, x, y) = . . . = f4(y, x, x, x)

  • 3. A has bounded width

[Barto, Kozik’09-14]

  • 4. A has width (2,3)

[Barto’16, Bulatov]

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-104
SLIDE 104

Bounded width

Theorem TFAE:

  • 1. A doesn’t pp-construct 3-Linp for any p;
  • 2. A has polymorphisms f3, f4 such that

[Kozik et al.’14] f3(x, x, y) = f3(x, y, x) = f3(y, x, x) = f4(x, x, x, y) = . . . = f4(y, x, x, x)

  • 3. A has bounded width

[Barto, Kozik’09-14]

  • 4. A has width (2,3)

[Barto’16, Bulatov]

  • 5. CSP(A) is robustly solvable

[Barto, Kozik’12-16]

— For each almost satisfiable instance, an almost satisfying assignment can be found in poly-time.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-105
SLIDE 105

Bounded width

Theorem TFAE:

  • 1. A doesn’t pp-construct 3-Linp for any p;
  • 2. A has polymorphisms f3, f4 such that

[Kozik et al.’14] f3(x, x, y) = f3(x, y, x) = f3(y, x, x) = f4(x, x, x, y) = . . . = f4(y, x, x, x)

  • 3. A has bounded width

[Barto, Kozik’09-14]

  • 4. A has width (2,3)

[Barto’16, Bulatov]

  • 5. CSP(A) is robustly solvable

[Barto, Kozik’12-16]

— For each almost satisfiable instance, an almost satisfying assignment can be found in poly-time.

Polymorphisms are used only to prove correctness of the algorithm.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-106
SLIDE 106

Bulatov’s and Zhuk’s algorithms (very roughly), 1

Theorem (Bulatov’17, Zhuk’17) If A has a weak near-unanimity polymorphism (equivalently, Pol(A) → T ) then CSP(A) is in P. On a VERY high level, the two algorithms are similar:

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-107
SLIDE 107

Bulatov’s and Zhuk’s algorithms (very roughly), 1

Theorem (Bulatov’17, Zhuk’17) If A has a weak near-unanimity polymorphism (equivalently, Pol(A) → T ) then CSP(A) is in P. On a VERY high level, the two algorithms are similar: Both heavily use local propagation.

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-108
SLIDE 108

Bulatov’s and Zhuk’s algorithms (very roughly), 1

Theorem (Bulatov’17, Zhuk’17) If A has a weak near-unanimity polymorphism (equivalently, Pol(A) → T ) then CSP(A) is in P. On a VERY high level, the two algorithms are similar: Both heavily use local propagation. Both are recursive: initially, let dom(v) = A for each variable v if some dom(v) can be reduced without losing all solutions, reduce it and recurse

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-109
SLIDE 109

Bulatov’s and Zhuk’s algorithms (very roughly), 1

Theorem (Bulatov’17, Zhuk’17) If A has a weak near-unanimity polymorphism (equivalently, Pol(A) → T ) then CSP(A) is in P. On a VERY high level, the two algorithms are similar: Both heavily use local propagation. Both are recursive: initially, let dom(v) = A for each variable v if some dom(v) can be reduced without losing all solutions, reduce it and recurse if an instance can be split/decomposed into a constant number of disjoint instances, split/decompose and recurse this can be done in many situations

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-110
SLIDE 110

Bulatov’s and Zhuk’s algorithms (very roughly), 2

The base cases for recursion (roughly) are: (B and Z) all domains 1-element → solution (B and Z) some domain empty → no solution

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-111
SLIDE 111

Bulatov’s and Zhuk’s algorithms (very roughly), 2

The base cases for recursion (roughly) are: (B and Z) all domains 1-element → solution (B and Z) some domain empty → no solution (B) few subpowers algorithm is applicable (Z) systems of linear equations over Zp

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-112
SLIDE 112

Bulatov’s and Zhuk’s algorithms (very roughly), 2

The base cases for recursion (roughly) are: (B and Z) all domains 1-element → solution (B and Z) some domain empty → no solution (B) few subpowers algorithm is applicable (Z) systems of linear equations over Zp However, the recursion is organised very differently: (B) heavily uses deep algebraic structure (Z) still very algebraic, but more elementary (B and Z) a whole range of diff algebraic tricks

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-113
SLIDE 113

Feder-Vardi conjecture proved – End of the road ???

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-114
SLIDE 114

Feder-Vardi conjecture proved – End of the road ???

Actually, we are rather closer to the beginning!

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-115
SLIDE 115

Message

  • 1. Decision CSP: Can all constraints be satisfied?
  • 2. Counting CSP: Count the number of solutions
  • 3. Max CSP: Find a map satisfying max number of constraints
  • 4. Approx Max CSP: Satisfy c × Opt number of constraints
  • 5. Approx Min CSP: assuming 1 − ǫ fraction of constraints can

be satisfied, find a map satisfying ≥ 1 − g(ǫ) fraction.

  • 6. Promise CSP: ... tomorrow

Each of the above has an appropriate notion of symmetry!

lack of symmetries ⇒ hardness symmetries ⇒ efficient algorithms symmetries of higher dimension/arity are important

Andrei Krokhin Constraints, Symmetry, and Complexity

slide-116
SLIDE 116

Useful surveys

Much of what is covered in this lecture can be found in survey Polymorphisms, and how to use them.

  • L. Barto, A. Krokhin, and R. Willard.

It is written specifically for those without algebra background! See also the full (open-access) volume of surveys: The Constraint Satisfaction Problem: Complexity and

  • Approximability. Editors: A. Krokhin and S. ˇ

Zivn´ y. Dagstuhl Follow-Ups series, Volume 7, 2017. http://drops.dagstuhl.de/portals/dfu/index.php?semnr=16027

Andrei Krokhin Constraints, Symmetry, and Complexity