constraints, symmetry, and complexity · andrei krokhin constraints, symmetry, and complexity....
TRANSCRIPT
![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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/22.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/23.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/24.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/25.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/26.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/27.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/28.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/29.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/30.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/31.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/32.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/33.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/34.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/35.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/36.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/37.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/38.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/39.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/40.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/41.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/42.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/43.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/44.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/45.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/46.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/47.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/48.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/49.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/50.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/51.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/52.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/53.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/54.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/55.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/56.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/57.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/58.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/59.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/60.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/61.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/62.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/63.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/64.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/65.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/66.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/67.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/68.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/69.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/70.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/71.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/72.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/73.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/74.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/75.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/76.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/77.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/78.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/79.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/80.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/81.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/82.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/83.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/84.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/85.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/86.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/87.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/88.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/89.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/90.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/91.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/92.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/93.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/94.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/95.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/96.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/97.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/98.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/99.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/100.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/101.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/102.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/103.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/104.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/105.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/106.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/107.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/108.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/109.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/110.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/111.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/112.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/113.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/114.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/115.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050507/5f988ccc4f17252c120620bc/html5/thumbnails/116.jpg)
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