Some algorithmic tasks about CSPs Programme: Classify the complexity of these tasks wrt A 1. Decision CSP : Can all constraints be satisfied? — Done [Bulatov’17, Zhuk’17]; finer classification — open 2. Counting CSP : Count the number of solutions — Done [Bulatov’08-13, Dyer, Richerby’10-13, Cai, Chen’12-17] 3. Max CSP : Find a map satisfying max number of constraints — Done [Thapper, ˇ Zivn´ y’16], [Kolmogorov, AK, Rol´ ınek’17] 4. Approx Max CSP : Satisfy c × Opt number of constraints — (Essentially) Done [Raghavendra’08] 5. ( α, β )- Approx Max CSP : assuming β fraction of constraints can be satisfied, find a map satisfying ≥ α fraction. — Strong results for some ( α, β ) and A , wide open in general 6. Promise CSP : wide open — tomorrow Andrei Krokhin Constraints, Symmetry, and Complexity
Algebraic approach to CSP (very high-level view) “can simulate” . . . . . . . . . . . . . . . Relational structures Andrei Krokhin Constraints, Symmetry, and Complexity
Algebraic approach to CSP (very high-level view) “can simulate” . . . . . . . . . . . . . . . Strong enough polymorphisms (symmetries) Relational structures Andrei Krokhin Constraints, Symmetry, and Complexity
Algebraic approach to CSP (very high-level view) 3-Sat “can simulate” . . . . . . . . . . . . . . . Strong enough polymorphisms (symmetries) Relational structures Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation by example Three (increasingly more general) levels of simulation: Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation by example Three (increasingly more general) levels of simulation: 1. pp-definitions (= gadgets, same domain) Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation by example Three (increasingly more general) levels of simulation: 1. pp-definitions (= gadgets, same domain) Ex.: Let A 1 = ( A ; R ), R ternary, and A 2 = ( A ; T , S ) be s.t. T ( x ) = ∃ z R ( x , z , x ) , S ( x , y ) = ∃ z R ( x , y , z ) ∧ R ( y , y , x ) . Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation by example Three (increasingly more general) levels of simulation: 1. pp-definitions (= gadgets, same domain) Ex.: Let A 1 = ( A ; R ), R ternary, and A 2 = ( 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 ( A 2 ), say T ( y ) , S ( x , y ) Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation by example Three (increasingly more general) levels of simulation: 1. pp-definitions (= gadgets, same domain) Ex.: Let A 1 = ( A ; R ), R ternary, and A 2 = ( 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 ( A 2 ), say T ( y ) , S ( x , y ) can be re-written as an instance of CSP ( A 1 ) R ( y , z , y ) , R ( x , y , w ) , R ( y , y , x ) Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation by example Three (increasingly more general) levels of simulation: 1. pp-definitions (= gadgets, same domain) Ex.: Let A 1 = ( A ; R ), R ternary, and A 2 = ( 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 ( A 2 ), say T ( y ) , S ( x , y ) can be re-written as an instance of CSP ( A 1 ) 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
Polymorphisms by example Take any 2-Sat instance ( x ∨ y ) ∧ ( y ∨ z ) ∧ ( y ∨ u ) ∧ ( x ∨ u ) Take any three solutions a , b , c to this instance Andrei Krokhin Constraints, Symmetry, and Complexity
Polymorphisms by example Take any 2-Sat instance ( x ∨ y ) ∧ ( y ∨ z ) ∧ ( y ∨ u ) ∧ ( x ∨ u ) Take any three solutions a , b , c to this instance Apply the ternary majority operation m to a , b , c coordinate-wise (variables ordered here as x , y , z , u ) Andrei Krokhin Constraints, Symmetry, and Complexity
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
Polymorphisms An operation f : A m → A is called a polymorphism of a k -ary relation R ⊆ A k if for any k -tuples f f f ↓ ↓ ↓ ( a 11 , . . . , a 1 k ) ∈ R . . . . . . . . . . . . ( a m 1 a mk ) ∈ R , . . . , ⇓ ( f ( a 11 , . . . , a m 1 ) , . . . , f ( a 1 k , . . . , a mk ) ) ∈ R Andrei Krokhin Constraints, Symmetry, and Complexity
Polymorphisms An operation f : A m → A is called a polymorphism of a k -ary relation R ⊆ A k if for any k -tuples f f f ↓ ↓ ↓ ( a 11 , . . . , a 1 k ) ∈ R . . . . . . . . . . . . ( a m 1 a mk ) ∈ R , . . . , ⇓ ( f ( a 11 , . . . , a m 1 ) , . . . , f ( a 1 k , . . . , a mk ) ) ∈ 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
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Andrei Krokhin Constraints, Symmetry, and Complexity
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Then f ( x 1 , x 2 , x 3 ) = x 1 − x 2 + x 3 is a polymorphism of R : Andrei Krokhin Constraints, Symmetry, and Complexity
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Then f ( x 1 , x 2 , x 3 ) = x 1 − x 2 + x 3 is a polymorphism of R : If r 1 , r 2 , r 3 ∈ R , i.e. A r 1 = b , A r 2 = b , A r 3 = b , then Andrei Krokhin Constraints, Symmetry, and Complexity
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Then f ( x 1 , x 2 , x 3 ) = x 1 − x 2 + x 3 is a polymorphism of R : If r 1 , r 2 , r 3 ∈ R , i.e. A r 1 = b , A r 2 = b , A r 3 = b , then A ( r 1 − r 2 + r 3 ) = A r 1 − A r 2 + A r 3 Andrei Krokhin Constraints, Symmetry, and Complexity
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Then f ( x 1 , x 2 , x 3 ) = x 1 − x 2 + x 3 is a polymorphism of R : If r 1 , r 2 , r 3 ∈ R , i.e. A r 1 = b , A r 2 = b , A r 3 = b , then A ( r 1 − r 2 + r 3 ) = A r 1 − A r 2 + A r 3 = b − b + b = b . Andrei Krokhin Constraints, Symmetry, and Complexity
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Then f ( x 1 , x 2 , x 3 ) = x 1 − x 2 + x 3 is a polymorphism of R : If r 1 , r 2 , r 3 ∈ R , i.e. A r 1 = b , A r 2 = b , A r 3 = b , then A ( r 1 − r 2 + r 3 ) = A r 1 − A r 2 + A r 3 = b − b + b = b . 2. If A = ( A , E ) is a digraph then f is a polymorphism of A if ( a 1 , b 1 ) , . . . , ( a n , b n ) ∈ E ⇒ ( f ( a 1 , . . . , a n ) , f ( b 1 , . . . , b n )) ∈ E . Andrei Krokhin Constraints, Symmetry, and Complexity
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Then f ( x 1 , x 2 , x 3 ) = x 1 − x 2 + x 3 is a polymorphism of R : If r 1 , r 2 , r 3 ∈ R , i.e. A r 1 = b , A r 2 = b , A r 3 = b , then A ( r 1 − r 2 + r 3 ) = A r 1 − A r 2 + A r 3 = b − b + b = b . 2. If A = ( A , E ) is a digraph then f is a polymorphism of A if ( a 1 , b 1 ) , . . . , ( a n , b n ) ∈ E ⇒ ( f ( a 1 , . . . , a n ) , f ( b 1 , . . . , b n )) ∈ E . 3. Every polymorphism of 3-SAT is a projection (aka dictator), i.e. f ( x 1 , . . . , x n ) = x i for some i . Andrei Krokhin Constraints, Symmetry, and Complexity
More examples of polymorphisms 1. Let R = { r ∈ Z n p | A r = b } be an affine subspace of Z n p . Then f ( x 1 , x 2 , x 3 ) = x 1 − x 2 + x 3 is a polymorphism of R : If r 1 , r 2 , r 3 ∈ R , i.e. A r 1 = b , A r 2 = b , A r 3 = b , then A ( r 1 − r 2 + r 3 ) = A r 1 − A r 2 + A r 3 = b − b + b = b . 2. If A = ( A , E ) is a digraph then f is a polymorphism of A if ( a 1 , b 1 ) , . . . , ( a n , b n ) ∈ E ⇒ ( f ( a 1 , . . . , a n ) , f ( b 1 , . . . , b n )) ∈ E . 3. Every polymorphism of 3-SAT is a projection (aka dictator), i.e. f ( x 1 , . . . , x n ) = x i for some i . 4. Every polymorphism of 3-Col is of the form f ( x 1 , . . . , x n ) = π ( x i ) for some i ≤ n and permutation π Andrei Krokhin Constraints, Symmetry, and Complexity
Modern proof of Schaefer’s classification for Boolean CSPs Problem Polymorphism Complexity 0-valid constant 0 Easy 1-valid constant 1 Easy 2-Sat majority Easy Horn-Sat min Easy max Easy Dual H-Sat 3-Lin2 x − y + z Easy only projections Hard 3-Sat Andrei Krokhin Constraints, Symmetry, and Complexity
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 : A n → A homomorph } polymorphism clone Andrei Krokhin Constraints, Symmetry, and Complexity
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 : A n → A homomorph } polymorphism clone Clone = set of multivariate functions on A which 1. is closed under composition, and 2. contains all projections/dictators Andrei Krokhin Constraints, Symmetry, and Complexity
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 : A n → A homomorph } polymorphism clone Clone = set of multivariate functions on A which 1. is closed under composition, and 2. contains all projections/dictators Example: trivial clone T , consisting of all projections. Andrei Krokhin Constraints, Symmetry, and Complexity
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 : A n → 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
Simulation vs. polymorphisms Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation vs. polymorphisms Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol ( A ) ⊆ Pol ( B ) . Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation vs. polymorphisms Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol ( A ) ⊆ Pol ( B ) . A pp-interprets B iff Pol ( A ) → Pol ( B ) (homomorphism). Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation vs. polymorphisms Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol ( A ) ⊆ Pol ( B ) . A pp-interprets B iff Pol ( A ) → Pol ( B ) (homomorphism). A pp-constructs B iff Pol ( A ) ��� Pol ( B ) (height-1 homo). Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation vs. polymorphisms Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol ( A ) ⊆ Pol ( B ) . A pp-interprets B iff Pol ( A ) → Pol ( B ) (homomorphism). A pp-constructs B iff Pol ( A ) ��� Pol ( B ) (height-1 homo). Remarks: Proof constructive ⇒ generic reduction CSP ( B ) � CSP ( A ) Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation vs. polymorphisms Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol ( A ) ⊆ Pol ( B ) . A pp-interprets B iff Pol ( A ) → Pol ( B ) (homomorphism). A pp-constructs B iff Pol ( A ) ��� Pol ( B ) (height-1 homo). Remarks: Proof constructive ⇒ generic reduction CSP ( B ) � CSP ( A ) ξ : Pol ( A ) → Pol ( B ) iff it “preserves equations/identities” — This allows applications of deep structural universal algebra Andrei Krokhin Constraints, Symmetry, and Complexity
Simulation vs. polymorphisms Theorem (Birkhoff’35; Geiger’68; Bodnarchuk et al.’69; Bodirsky; Willard; Barto, Oprˇ sal,Pinsker’18) A pp-defines B iff Pol ( A ) ⊆ Pol ( B ) . A pp-interprets B iff Pol ( A ) → Pol ( B ) (homomorphism). A pp-constructs B iff Pol ( A ) ��� Pol ( B ) (height-1 homo). Remarks: Proof constructive ⇒ generic reduction CSP ( B ) � CSP ( A ) ξ : Pol ( A ) → Pol ( B ) iff it “preserves equations/identities” — This allows applications of deep structural universal algebra ξ : Pol ( A ) ��� Pol ( B ) iff it “preserves ... of height 1” — Not used in resolving Dichotomy Conj, but very important Andrei Krokhin Constraints, Symmetry, and Complexity
Equations/identities Identities = functional equations Andrei Krokhin Constraints, Symmetry, and Complexity
Equations/identities Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m ( x , x , y ) = m ( x , y , x ) = m ( y , x , x ) = x . Andrei Krokhin Constraints, Symmetry, and Complexity
Equations/identities Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m ( x , x , y ) = m ( x , y , x ) = m ( y , x , x ) = x . A random identity: g ( f ( x , y ) , z , x )) = g ( x , y , y )) Andrei Krokhin Constraints, Symmetry, and Complexity
Equations/identities Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m ( x , x , y ) = m ( x , y , x ) = m ( y , x , x ) = x . A random identity: g ( f ( x , y ) , z , x )) = g ( x , y , y )) Height 1 identity: exactly 1 function symbol on both sides, e.g. f ( x , y ) = f ( y , x ), but not f ( x , f ( y , z )) = f ( f ( x , y ) , z ) Andrei Krokhin Constraints, Symmetry, and Complexity
Equations/identities Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m ( x , x , y ) = m ( x , y , x ) = m ( y , x , x ) = x . A random identity: g ( f ( x , y ) , z , x )) = g ( x , y , y )) Height 1 identity: exactly 1 function symbol on both sides, e.g. f ( x , y ) = f ( y , x ), but not f ( x , f ( y , z )) = f ( f ( x , y ) , z ) Can speak about an identity being satisfied in Pol ( A ) Andrei Krokhin Constraints, Symmetry, and Complexity
Equations/identities Identities = functional equations Ex.: A (ternary) majority operation is one satisfying identities m ( x , x , y ) = m ( x , y , x ) = m ( y , x , x ) = x . A random identity: g ( f ( x , y ) , z , x )) = g ( x , y , y )) Height 1 identity: exactly 1 function symbol on both sides, e.g. f ( x , y ) = f ( y , x ), but not f ( x , f ( y , z )) = f ( f ( x , y ) , z ) Can speak about an identity being satisfied in Pol ( A ) Can consider systems of identities Andrei Krokhin Constraints, Symmetry, and Complexity
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 ( x 1 , x 2 , x 3 ) = f ( x 1 , x 3 , x 2 ) trivial symmetry — f ( x 1 , x 2 , x 3 ) = f ( x 2 , x 3 , x 1 ) non-trivial symmetry Andrei Krokhin Constraints, Symmetry, and Complexity
Preserving identities Pol ( A ) → Pol ( B ) means — “each system of identities satisfied in Pol ( A ) is also satisfied in Pol ( B )”, or Andrei Krokhin Constraints, Symmetry, and Complexity
Preserving identities Pol ( A ) → Pol ( B ) means — “each system of identities satisfied in Pol ( A ) is also satisfied in Pol ( B )”, or — “ B has more symmetries than A ” - in a qualitative way Andrei Krokhin Constraints, Symmetry, and Complexity
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 ) Andrei Krokhin Constraints, Symmetry, and Complexity
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
Tractability conjecture Theorem If Pol ( A ) → T then CSP ( A ) is NP -complete. Andrei Krokhin Constraints, Symmetry, and Complexity
Tractability conjecture Theorem If Pol ( A ) → T then CSP ( A ) is NP -complete. Proof. If B is 3-SAT then Pol ( B ) = T , so A can simulate (pp-interpret) 3-SAT , and hence 3-SAT reduces to CSP ( A ). Andrei Krokhin Constraints, Symmetry, and Complexity
Tractability conjecture Theorem If Pol ( A ) → T then CSP ( A ) is NP -complete. Proof. If B is 3-SAT then Pol ( B ) = T , so A can simulate (pp-interpret) 3-SAT , and hence 3-SAT reduces to CSP ( A ). Note: Identities satisfied in T are trivial - satisfied in each Pol ( A ). If Pol ( A ) → T then Pol ( A ) satisfies only trivial identities. Andrei Krokhin Constraints, Symmetry, and Complexity
Tractability conjecture Theorem If Pol ( A ) → T then CSP ( A ) is NP -complete. Proof. If B is 3-SAT then Pol ( B ) = T , so A can simulate (pp-interpret) 3-SAT , and hence 3-SAT reduces to CSP ( A ). Note: Identities satisfied in T are trivial - satisfied in each Pol ( A ). If Pol ( A ) → T then Pol ( A ) satisfies only trivial identities. Conjecture (CSP Tractability Conjecture; Bulatov, Jeavons, AK’05; many others) If Pol ( A ) �→ T then CSP ( A ) is in P . Andrei Krokhin Constraints, Symmetry, and Complexity
Tractability conjecture Theorem If Pol ( A ) → T then CSP ( A ) is NP -complete. Proof. If B is 3-SAT then Pol ( B ) = T , so A can simulate (pp-interpret) 3-SAT , and hence 3-SAT reduces to CSP ( A ). Note: Identities satisfied in T are trivial - satisfied in each Pol ( A ). If Pol ( A ) → T then Pol ( A ) satisfies only trivial identities. Conjecture (CSP Tractability Conjecture; Bulatov, Jeavons, AK’05; many others) If Pol ( A ) �→ T then CSP ( A ) is in P . If Pol ( A ) �→ T , Pol ( A ) satisfies some non-trivial identities. Andrei Krokhin Constraints, Symmetry, and Complexity
Algebraic dichotomy (picture) 3-Sat Relational structures Polymorphisms satisfying non-trivial identities Andrei Krokhin Constraints, Symmetry, and Complexity
Non-trivial symmetries ⇒ strong symmetries Theorem TFAE: 1. Pol ( A ) �→ T , i.e. Pol ( A ) satisfies some non-trivial identities. Andrei Krokhin Constraints, Symmetry, and Complexity
Non-trivial symmetries ⇒ strong symmetries Theorem TFAE: 1. Pol ( A ) �→ T , i.e. Pol ( A ) satisfies some non-trivial identities. 2. A has a weak near-unanimity polym’m [M´ aroti,McKenzie’08] f ( y , x , . . . , x , x ) = f ( x , y , . . . , x , x ) = . . . = f ( x , x , . . . , x , y ) Andrei Krokhin Constraints, Symmetry, and Complexity
Non-trivial symmetries ⇒ strong symmetries Theorem TFAE: 1. Pol ( A ) �→ T , i.e. Pol ( A ) satisfies some non-trivial identities. 2. A has a weak near-unanimity polym’m [M´ aroti,McKenzie’08] f ( y , x , . . . , x , x ) = f ( x , y , . . . , x , x ) = . . . = f ( x , x , . . . , x , y ) 3. A has a cyclic polymorphism [Barto,Kozik’12] f ( x 1 , x 2 , x 3 , . . . , x n ) = f ( x 2 , x 3 , . . . , x n , x 1 ) Andrei Krokhin Constraints, Symmetry, and Complexity
Non-trivial symmetries ⇒ strong symmetries Theorem TFAE: 1. Pol ( A ) �→ T , i.e. Pol ( A ) satisfies some non-trivial identities. 2. A has a weak near-unanimity polym’m [M´ aroti,McKenzie’08] f ( y , x , . . . , x , x ) = f ( x , y , . . . , x , x ) = . . . = f ( x , x , . . . , x , y ) 3. A has a cyclic polymorphism [Barto,Kozik’12] f ( x 1 , x 2 , x 3 , . . . , x n ) = f ( x 2 , x 3 , . . . , x n , x 1 ) 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
Efficient Algorithms for CSPs Constraint propagation: given a CSP instance, repeatedly derive new constraints Andrei Krokhin Constraints, Symmetry, and Complexity
Efficient Algorithms for CSPs Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to Andrei Krokhin Constraints, Symmetry, and Complexity
Efficient Algorithms for CSPs Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to 1. bound the size of subinstances used for derivation, Andrei Krokhin Constraints, Symmetry, and Complexity
Efficient Algorithms for CSPs Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to 1. bound the size of subinstances used for derivation, 2. or use a compact representation for derived constraints The power of each approach is well understood. Andrei Krokhin Constraints, Symmetry, and Complexity
Efficient Algorithms for CSPs Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to 1. bound the size of subinstances used for derivation, 2. or use a compact representation for derived constraints The power of each approach is well understood. How polymorphisms are used: combine (partial) solutions to produce a better one Andrei Krokhin Constraints, Symmetry, and Complexity
Efficient Algorithms for CSPs Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to 1. bound the size of subinstances used for derivation, 2. or use a compact representation for derived constraints The power of each approach is well understood. How polymorphisms are used: combine (partial) solutions to produce a better one directly - algorithm actually combines solutions (Approach 2) indirectly - to prove correctness (Approach 1) Andrei Krokhin Constraints, Symmetry, and Complexity
Efficient Algorithms for CSPs Constraint propagation: given a CSP instance, repeatedly derive new constraints If want to work in poly-time, need to 1. bound the size of subinstances used for derivation, 2. or use a compact representation for derived constraints The power of each approach is well understood. How polymorphisms are used: combine (partial) solutions to produce a better one directly - algorithm actually combines solutions (Approach 2) indirectly - to prove correctness (Approach 1) identities say which algorithm can be used Andrei Krokhin Constraints, Symmetry, and Complexity
The “few subpowers” algorithm - Approach 2 Can solve a system of linear equations over Z p as follows: Andrei Krokhin Constraints, Symmetry, and Complexity
The “few subpowers” algorithm - Approach 2 Can solve a system of linear equations over Z p as follows: 1. Let B i be the basis for solution set of the first i equations Andrei Krokhin Constraints, Symmetry, and Complexity
The “few subpowers” algorithm - Approach 2 Can solve a system of linear equations over Z p as follows: 1. Let B i be the basis for solution set of the first i equations 2. Can find B i from B i − 1 and the i -th equation Andrei Krokhin Constraints, Symmetry, and Complexity
The “few subpowers” algorithm - Approach 2 Can solve a system of linear equations over Z p as follows: 1. Let B i be the basis for solution set of the first i equations 2. Can find B i from B i − 1 and the i -th equation 3. Size of B i is bounded by n (the number of variabless) 4. At the end, have a compact representation for all solutions Andrei Krokhin Constraints, Symmetry, and Complexity
The “few subpowers” algorithm - Approach 2 Can solve a system of linear equations over Z p as follows: 1. Let B i be the basis for solution set of the first i equations 2. Can find B i from B i − 1 and the i -th equation 3. Size of B i is bounded by n (the number of variabless) 4. At the end, have a compact representation for all solutions The above can be extended to work with general constraints Andrei Krokhin Constraints, Symmetry, and Complexity
The “few subpowers” algorithm - Approach 2 Can solve a system of linear equations over Z p as follows: 1. Let B i be the basis for solution set of the first i equations 2. Can find B i from B i − 1 and the i -th equation 3. Size of B i 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) B i can be a “generating set”, need it to be small ( O ( n c )) (b) need to be able perform the above item (2) efficiently Andrei Krokhin Constraints, Symmetry, and Complexity
The “few subpowers” algorithm - Approach 2 Can solve a system of linear equations over Z p as follows: 1. Let B i be the basis for solution set of the first i equations 2. Can find B i from B i − 1 and the i -th equation 3. Size of B i 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) B i can be a “generating set”, need it to be small ( O ( n c )) (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
Local consistency algorithm - Approach 1 Andrei Krokhin Constraints, Symmetry, and Complexity
Local consistency algorithm - Approach 1 Roughly : Perform local propagation until stable. If not refuted, return “sat”. Andrei Krokhin Constraints, Symmetry, and Complexity
Local consistency algorithm - Approach 1 Roughly : Perform local propagation until stable. If not refuted, return “sat”. (Standard algorithm for 2-Sat and Horn 3-Sat ). Andrei Krokhin Constraints, Symmetry, and Complexity
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. Andrei Krokhin Constraints, Symmetry, and Complexity
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. Andrei Krokhin Constraints, Symmetry, and Complexity
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. Andrei Krokhin Constraints, Symmetry, and Complexity
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
Picture for bounded width? . . . . . . . . . 3-Lin p 3-Lin 2 3-Lin 3 Strong enough polymorphisms (symmetries) Andrei Krokhin Constraints, Symmetry, and Complexity
Recommend
More recommend