Constraints, Symmetry, and Complexity · Andrei Krokhin Constraints, Symmetry, and Complexity....

116
Constraints, Symmetry, and Complexity Andrei Krokhin Andrei Krokhin Constraints, Symmetry, and Complexity

Transcript of Constraints, Symmetry, and Complexity · Andrei Krokhin Constraints, Symmetry, and Complexity....

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

Constraints, Symmetry, and Complexity

Andrei Krokhin

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Message

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

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Message

Q.: What kind of mathematical structuremakes 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

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

Message

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

The Constraint Satisfaction Problem paradigm

Main Achievement: better understanding of commonstructure 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

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

Message

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

The Constraint Satisfaction Problem paradigm

Main Achievement: better understanding of commonstructure 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

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

Message

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

The Constraint Satisfaction Problem paradigm

Main Achievement: better understanding of commonstructure 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

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

Message

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

The Constraint Satisfaction Problem paradigm

Main Achievement: better understanding of commonstructure 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

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

Constraint Satisfaction Problem (CSP)

Fix finite relational structure A = (A;R1, . . . ,Rn) (aka constraintlanguage) where each Ri ⊆ Aki or 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

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

Constraint Satisfaction Problem (CSP)

Fix finite relational structure A = (A;R1, . . . ,Rn) (aka constraintlanguage) where each Ri ⊆ Aki or 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

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

Constraint Satisfaction Problem (CSP)

Fix finite relational structure A = (A;R1, . . . ,Rn) (aka constraintlanguage) where each Ri ⊆ Aki or 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

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

Examples and a conjecture

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

k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a 6= b ∨ a 6= c ∨ b 6= 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

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

Examples and a conjecture

k-Col: A = ([k]; {6=})k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a 6= b ∨ a 6= c ∨ b 6= 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

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

Examples and a conjecture

k-Col: A = ([k]; {6=})k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a 6= b ∨ a 6= c ∨ b 6= 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

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

Examples and a conjecture

k-Col: A = ([k]; {6=})k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a 6= b ∨ a 6= c ∨ b 6= 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

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

Examples and a conjecture

k-Col: A = ([k]; {6=})k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a 6= b ∨ a 6= c ∨ b 6= 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

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

Examples and a conjecture

k-Col: A = ([k]; {6=})k-NAE: A = ([k]; {(a, b, c) ∈ [k]3 | a 6= b ∨ a 6= c ∨ b 6= 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

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

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, Zivny’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 constraintscan 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

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

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, Zivny’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 constraintscan 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

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

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, Zivny’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 constraintscan 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

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

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, Zivny’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 constraintscan 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

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

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, Zivny’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 constraintscan 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

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

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, Zivny’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 constraintscan 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

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

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, Zivny’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 constraintscan 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

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

Algebraic approach to CSP (very high-level view)

Relationalstructures

“can simulate”

. . . . . . . . .

. . . . . .

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Algebraic approach to CSP (very high-level view)

Relationalstructures

“can simulate”

. . . . . . . . .

. . . . . .

Strong enoughpolymorphisms(symmetries)

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Algebraic approach to CSP (very high-level view)

Relationalstructures

“can simulate”3-Sat

. . . . . . . . .

. . . . . .

Strong enoughpolymorphisms(symmetries)

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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

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

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

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

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

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

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

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

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

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

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

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

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 0 ) sat

b = ( 1 1 0 1 ) sat

c = ( 1 0 0 0 ) sat

m(a,b, c) = ( 1 1 0 0 ) sat

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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 0 ) sat

b = ( 1 1 0 1 ) sat

c = ( 1 0 0 0 ) sat

m(a,b, c) = ( 1 1 0 0 ) sat

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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 0 ) sat

b = ( 1 1 0 1 ) sat

c = ( 1 0 0 0 ) sat

m(a,b, c) = ( 1 1 0 0 ) sat

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Polymorphisms

An operation f : Am → A is called a polymorphism of a k-aryrelation 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

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

Polymorphisms

An operation f : Am → A is called a polymorphism of a k-aryrelation 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

More examples of polymorphisms

1. Let R = {r ∈ Znp | 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

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

Modern proof of Schaefer’s classification for Boolean CSPs

Problem Polymorphism Complexity

0-valid constant 0 Easy1-valid constant 1 Easy2-Sat majority Easy

Horn-Sat min EasyDual H-Sat max Easy

3-Lin2 x − y + z Easy3-Sat only projections Hard

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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

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

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

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

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

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

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

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

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky;

Willard; Barto, Oprsal,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) 99K 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) 99K Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky;

Willard; Barto, Oprsal,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) 99K 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) 99K Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky;

Willard; Barto, Oprsal,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) 99K 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) 99K Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky;

Willard; Barto, Oprsal,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) 99K 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) 99K Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky;

Willard; Barto, Oprsal,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) 99K 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) 99K Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky;

Willard; Barto, Oprsal,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) 99K 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) 99K Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Simulation vs. polymorphisms

Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky;

Willard; Barto, Oprsal,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) 99K 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) 99K Pol(B) iff it “preserves ... of height 1”

— Not used in resolving Dichotomy Conj, but very important

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

operation then so does Pol(B)

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

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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)

operation then so does Pol(B)

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

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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)

operation then so does Pol(B)

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

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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)

operation then so does Pol(B)

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

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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) 6→ T then CSP(A) is in P.

If Pol(A) 6→ T , Pol(A) satisfies some non-trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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) 6→ T then CSP(A) is in P.

If Pol(A) 6→ T , Pol(A) satisfies some non-trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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) 6→ T then CSP(A) is in P.

If Pol(A) 6→ T , Pol(A) satisfies some non-trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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) 6→ T then CSP(A) is in P.

If Pol(A) 6→ T , Pol(A) satisfies some non-trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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) 6→ T then CSP(A) is in P.

If Pol(A) 6→ T , Pol(A) satisfies some non-trivial identities.

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Algebraic dichotomy (picture)

Relationalstructures

3-Sat

Polymorphisms satisfyingnon-trivial identities

Andrei Krokhin Constraints, Symmetry, and Complexity

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

Non-trivial symmetries ⇒ strong symmetries

Theorem

TFAE:

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

2. A has a weak near-unanimity polym’m [Maroti,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

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

Non-trivial symmetries ⇒ strong symmetries

Theorem

TFAE:

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

2. A has a weak near-unanimity polym’m [Maroti,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

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

Non-trivial symmetries ⇒ strong symmetries

Theorem

TFAE:

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

2. A has a weak near-unanimity polym’m [Maroti,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

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

Non-trivial symmetries ⇒ strong symmetries

Theorem

TFAE:

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

2. A has a weak near-unanimity polym’m [Maroti,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

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

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derivenew 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

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

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derivenew constraintsIf 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

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

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derivenew constraintsIf 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

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

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derivenew constraintsIf 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

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

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derivenew constraintsIf 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

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

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derivenew constraintsIf 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

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

Efficient Algorithms for CSPs

Constraint propagation: given a CSP instance, repeatedly derivenew constraintsIf 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

on 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

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

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

on 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

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

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

on 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

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

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

on 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

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

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

on 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

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

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

on 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

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

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

on 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

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

Picture for bounded width?

3-Lin2 3-Lin3 3-Linp

. . . . . . . . .

Strong enoughpolymorphisms(symmetries)

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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

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

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

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

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

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

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

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

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

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

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) 6→ 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

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

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) 6→ 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

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

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) 6→ 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

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

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) 6→ 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

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

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

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

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

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

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

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

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

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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

Actually, we are rather closer to thebeginning!

Andrei Krokhin Constraints, Symmetry, and Complexity

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

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

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

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. Zivny.

Dagstuhl Follow-Ups series, Volume 7, 2017.

http://drops.dagstuhl.de/portals/dfu/index.php?semnr=16027

Andrei Krokhin Constraints, Symmetry, and Complexity