f ζ ( x ) = ∑ f ( y ) y ≤ x Need to argue: some gate handles this contribution only.
f ζ ( x ) = ∑ f ( y ) y ≤ x Need to argue: some gate handles this contribution only. [Kennes, Computational aspects of the Möbius transform of graphs , IEEE Transactions on Systems, Man and Cybernetics, 22(2):201–223, 1992.]
What we know v = |L| = # vertices in Hasse diagram Subset lattice in time O ( v ⋅ log v ) [Yates] Every lattice in time O ( v 2 ) [Brute force] Most lattices not in time o ( v 3/2 /log v ) [Count] e = # “edges” in Hasse diagram Subset lattice in time O ( e ) [Yates] No lattice in time o ( e ) [Kennes]
What? Why? No, really: Why? How?
Graph Colouring I 3 D B I 1 A C I 2 # colourings = # covers with independent sets artistic freedom; should say “partitions”
Graph 3 -Colouring f 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 I 3 D 0 B I 1 A C g ( f ζ ) 3 µ 18 I 2 6 24 24 66 6 6 6 6 25 25 1 1 1 1 0
Graph 3 -Colouring f 0 0 0 0 0 f ( S ) = 1 iff S is 0 0 0 0 1 1 independent 1 1 1 1 I 3 D 0 B I 1 A C g ( f ζ ) 3 µ 18 I 2 6 g ( S ) = # triplets of 24 24 66 6 6 6 6 25 25 independent subsets 1 1 1 1 covering S 0
Graph 3 -Colouring f 0 0 0 0 0 f ( S ) = 1 iff S is f ζ 0 0 0 0 1 1 independent 1 1 1 1 I 3 D 0 B I 1 A C g ( f ζ ) 3 µ 18 I 2 6 g ( S ) = # triplets of 24 24 66 g ζ 6 6 6 6 25 25 independent subsets 1 1 1 1 covering S 0
f f ζ 0 6 0 0 0 0 3 4 4 5 ζ 0 0 0 0 1 1 2 2 2 2 3 3 1 1 1 1 1 1 1 1 0 0 x ⌅⇤ x 3 ( f ζ ) 3 µ ( f ζ ) 3 18 216 6 24 24 66 27 64 64 125 6 6 6 6 8 8 8 8 25 25 27 27 µ 1 1 1 1 1 1 1 1 0 0
Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) .
Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) . [Björklund, H., Koivisto, Set partitioning via inclusion-exclusion. SIAM J. Comput., 39(2):546–563, 2009.]
Exciting new trend in algorithms for hard problems Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) .
Exciting new trend in algorithms for hard problems Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) . Theory of NP-hardness 1960 1980 2000
Exciting new trend in algorithms for hard problems Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) . Let’ s give up Theory of NP-hardness 1960 1980 2000
Exciting new trend in algorithms for hard problems Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) . Let’ s find the wrong answer real fast! Let’ s give up Approximation algorithms Theory of NP-hardness 1960 1980 2000
Exciting new trend in algorithms for hard problems Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) . Let’ s find the right answer faster. Let’ s find the wrong answer real fast! Exponential time (exact) algorithms Let’ s give up Approximation algorithms Theory of NP-hardness 1960 1980 2000
Exciting new trend in algorithms for hard problems Graph k-colouring in time O * ( 2 |V| ) . Trivial algorithm: time O * ( k |V| ) . French connection: Kratsch, Liedloff, Thomassé, Paul, Havet, Escoffier, Let’ s find the right answer faster. Let’ s find the Paschos,… wrong answer real fast! Exponential time (exact) algorithms Let’ s give up Approximation algorithms Theory of NP-hardness 1960 1980 2000
What? Why? No, really: Why? How?
How fast can we multiply?
Multiply polynomials (1 x 0 +1 x 1 +3 x 2 ) ⋅ (1 x 0 +2 x 1 ) = 1 x 0 +3 x 1 +5 x 2 +6 x 3
Multiply polynomials multiplication on S elements in semigroup S (monomials) (1 x 0 +1 x 1 +3 x 2 ) ⋅ (1 x 0 +2 x 1 ) = 1 x 0 +3 x 1 +5 x 2 +6 x 3 mapping f from S to some field K
Multiplication in semigroups (1 x 0 +1 x 1 +3 x 2 ) ⋅ (1 x 0 +2 x 1 ) = 1 x 0 +3 x 1 +5 x 2 +6 x 3 For lattices: join product ∑ ( f ∨ g )( c ) = f ( a ) g ( b ) a , b ∈ L : a ∨ b = c
Algebraic view semigroup S monomial lattice point f , g : S → K field K of scalars coefficient product in the multiplication of semigroup join product polynomials algebra
Fourier meets Möbius p F ( p ) polynomial ˙ F − 1 multiplication q F ( q ) ζ f join product ∨ µ ζ g
C’EST FRAIS! Zeta circuits for lattices with n nonzero irreducibles of size O ( vn )
C’EST FRAIS! Zeta circuits for lattices with n nonzero irreducibles of size O ( vn ) [Björklund, H. Kaski, Koivisto, Nederlof, Parviainen, SODA , last week]
What? Why? How?
Divisors of 72 72 36 24 18 12 8 9 6 4 3 2 5 nonzero irreducibles “6” is reducible (join of 2 and 3) 1
72 36 24 18 12 8 9 6 4 3 2 1 prime powers
72 36 24 18 12 8 9 6 4 3 2 1 prime powers ground set A vn = e = 2 | A | | A |
72 36 24 18 12 8 9 6 4 3 2 1 prime powers ground set A vn = e = 2 | A | | A | Also works optimally for sublattices of the subset lattice that are downward closed intersection closed union closed
72 36 24 18 12 8 9 6 4 3 2 1 prime powers ground set A vn = e = 2 | A | | A | e = Θ ( v ) Also works optimally for sublattices of the subset lattice that are downward closed intersection closed union closed
What? Why? How?
The Spectrum Map 72 36 24 18 12 8 9 6 4 3 2 1
The Spectrum Map {2,3,4,8,9} 72 {2,3,4,9} {2,3,4,8} 36 24 18 12 8 {2,3,9} {2,3,4} {2,4,8} 9 6 {3,9} {2,3} 4 {2,4} 3 2 {3} {2} 1 Ø
Recommend
More recommend