Approximate enumeration of trivial words. Andrew Rechnitzer Murray - PowerPoint PPT Presentation
Counting From SAPs to groups Histograms Exact Results To do Approximate enumeration of trivial words. Andrew Rechnitzer Murray Elder Buks van Rensburg Thomas Wong Cameron Rogers Odense, August 2016 Rechnitzer Counting From SAPs to
Counting From SAPs to groups Histograms Exact Results To do S ET TRANSITIONS ACCORDING TO COUNTS Make a new Markov chain • Let | x | be MSB of word x and c ( ℓ ) the # words with MSB ℓ . • Start at x = 0 n • Create new word y by flipping a bit uniformly at random � � 1 , c ( | x | ) • Accept y with probability = min else keep x c ( | y | ) Easy to check limiting distribution is uniform across size. Could fix our sampling long words issue.. . Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OUNTS UNKNOWN • Generally we do not know the counts — that is whole problem! Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OUNTS UNKNOWN • Generally we do not know the counts — that is whole problem! • but we do know c ( n ) 1 / n → µ • so approximate c ( n ) ∝ λ n where λ ≈ µ . Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OUNTS UNKNOWN • Generally we do not know the counts — that is whole problem! • but we do know c ( n ) 1 / n → µ • so approximate c ( n ) ∝ λ n where λ ≈ µ . • Then transition probability is then � 1 , λ | x |−| y | � Pr ( x → y ) = min which is the transition probability in Murray’s talk Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do W ORKS WELL . . . BUT THERE CAN BE ISSUES So if we approximate c ( n ) ∝ λ n where λ ≈ µ , then • Need to choose λ carefully: • If λ > µ , difficult to grow large objects • If λ < µ , too easy to grow large objects — escape to ∞ . Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do W ORKS WELL . . . BUT THERE CAN BE ISSUES So if we approximate c ( n ) ∝ λ n where λ ≈ µ , then • Need to choose λ carefully: • If λ > µ , difficult to grow large objects • If λ < µ , too easy to grow large objects — escape to ∞ . • Even if we can set λ = µ , then there can be problems — eg if c ( n ) ≪ µ n then still difficult to grow large objects — the deficiency of [E, JvR & R] algorithm we’d like to fix. Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do T OWARDS A FIX Idea 1: • Improve single parameter approximation • Replace c ( n ) ≈ λ n with c ( n ) ≈ g ( n ) • Initially set g ( n ) = λ n • As algorithm runs, improve g ( n ) Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do T OWARDS A FIX Idea 1: • Improve single parameter approximation • Replace c ( n ) ≈ λ n with c ( n ) ≈ g ( n ) • Initially set g ( n ) = λ n • As algorithm runs, improve g ( n ) — how? Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do T OWARDS A FIX Idea 1: • Improve single parameter approximation • Replace c ( n ) ≈ λ n with c ( n ) ≈ g ( n ) • Initially set g ( n ) = λ n • As algorithm runs, improve g ( n ) — how? Observation: � 1 , g ( | x | ) � • Transition probability from x → y is = min g ( | y | ) • if g ( n ) too big, then too few samples at size n • if g ( n ) too small, then too many samples at size n Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do T OWARDS A FIX Idea 1: • Improve single parameter approximation • Replace c ( n ) ≈ λ n with c ( n ) ≈ g ( n ) • Initially set g ( n ) = λ n • As algorithm runs, improve g ( n ) — how? Observation: � 1 , g ( | x | ) � • Transition probability from x → y is = min g ( | y | ) • if g ( n ) too big, then too few samples at size n • if g ( n ) too small, then too many samples at size n Idea 2: • use histogram to tune g ( n ) ≈ c ( n ) — rather than setting g ( n ) ≈ c ( n ) to flatten histogram Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do T OWARDS A FIX Idea 1: • Improve single parameter approximation • Replace c ( n ) ≈ λ n with c ( n ) ≈ g ( n ) • Initially set g ( n ) = λ n • As algorithm runs, improve g ( n ) — how? Observation: � 1 , g ( | x | ) � • Transition probability from x → y is = min g ( | y | ) • if g ( n ) too big, then too few samples at size n • if g ( n ) too small, then too many samples at size n Idea 2: • use histogram to tune g ( n ) ≈ c ( n ) — rather than setting g ( n ) ≈ c ( n ) to flatten histogram • increase g ( n ) each time we sample an object of size n Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do T OWARDS A FIX Idea 1: • Improve single parameter approximation • Replace c ( n ) ≈ λ n with c ( n ) ≈ g ( n ) • Initially set g ( n ) = λ n • As algorithm runs, improve g ( n ) — how? Observation: � 1 , g ( | x | ) � • Transition probability from x → y is = min g ( | y | ) • if g ( n ) too big, then too few samples at size n • if g ( n ) too small, then too many samples at size n Idea 2: • use histogram to tune g ( n ) ≈ c ( n ) — rather than setting g ( n ) ≈ c ( n ) to flatten histogram • increase g ( n ) each time we sample an object of size n — Wang-Landau algorithm [Wang & Landau 2001] Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do W ANG L ANDAU ALGORITHM • Start at x = 0 n , g ( n ) = λ n and F = 2 • Create new word y by flipping a bit uniformly at random � � 1 , g ( | x | ) • Accept y with probability = min , else keep x g ( | y | ) • Increase g ( n ) �→ g ( n ) × F Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do W ANG L ANDAU ALGORITHM • Start at x = 0 n , g ( n ) = λ n and F = 2 • Create new word y by flipping a bit uniformly at random � � 1 , g ( | x | ) • Accept y with probability = min , else keep x g ( | y | ) • Increase g ( n ) �→ g ( n ) × F • Repeat until histogram is “flat” then √ • reduce F �→ F • reset histogram Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do W ANG L ANDAU ALGORITHM • Start at x = 0 n , g ( n ) = λ n and F = 2 • Create new word y by flipping a bit uniformly at random � � 1 , g ( | x | ) • Accept y with probability = min , else keep x g ( | y | ) • Increase g ( n ) �→ g ( n ) × F • Repeat until histogram is “flat” then √ • reduce F �→ F • reset histogram Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do A VOID HISTOGRAM CHECKING Similar idea but F decreases at each time step Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do A VOID HISTOGRAM CHECKING Similar idea but F decreases at each time step • Start at x = 0 n , g ( n ) = λ n and choose ξ ∈ ( 1 / 2 , 1 ) • Create new word y by flipping a bit uniformly at random � 1 , g ( | x | ) � • Accept y with probability = min , else keep x g ( | y | ) • Increase g ( n ) �→ g ( n ) × F Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do A VOID HISTOGRAM CHECKING Similar idea but F decreases at each time step • Start at x = 0 n , g ( n ) = λ n and choose ξ ∈ ( 1 / 2 , 1 ) • Create new word y by flipping a bit uniformly at random � 1 , g ( | x | ) � • Accept y with probability = min , else keep x g ( | y | ) • Increase g ( n ) �→ g ( n ) × F where now F = exp ( t − ξ ) Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do A VOID HISTOGRAM CHECKING Similar idea but F decreases at each time step • Start at x = 0 n , g ( n ) = λ n and choose ξ ∈ ( 1 / 2 , 1 ) • Create new word y by flipping a bit uniformly at random � 1 , g ( | x | ) � • Accept y with probability = min , else keep x g ( | y | ) • Increase g ( n ) �→ g ( n ) × F where now F = exp ( t − ξ ) • No flat-histogram check — flattens itself Stochastic approximation Monte Carlo [Liang, Liu & Carroll 2007] Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do A VOID HISTOGRAM CHECKING Similar idea but F decreases at each time step • Start at x = 0 n , g ( n ) = λ n and choose ξ ∈ ( 1 / 2 , 1 ) • Create new word y by flipping a bit uniformly at random � 1 , g ( | x | ) � • Accept y with probability = min , else keep x g ( | y | ) • Increase g ( n ) �→ g ( n ) × F where now F = exp ( t − ξ ) • No flat-histogram check — flattens itself Stochastic approximation Monte Carlo [Liang, Liu & Carroll 2007] Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do H OW GOOD IS IT FOR COGROWTH ? Try on an easy example • Sample reduced trivial words in Z 2 = � a , b | ab = ba � • Basic moves are conjugate + append relation to end Let it run for half an hour. . . Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do H OW GOOD IS IT FOR COGROWTH ? Try on an easy example • Sample reduced trivial words in Z 2 = � a , b | ab = ba � • Basic moves are conjugate + append relation to end Let it run for half an hour. . . 14 . 022 log( histogram ) 14 . 02 14 . 018 14 . 016 0 250 500 Histogram is flat Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do H OW GOOD IS IT FOR COGROWTH ? Try on an easy example • Sample reduced trivial words in Z 2 = � a , b | ab = ba � • Basic moves are conjugate + append relation to end Let it run for half an hour. . . 600 log g ( n ) g ( n ) · n 0 . 5 3 n n log 3 400 0 . 25 200 0 0 0 250 500 0 250 500 Consistent with g ( n ) ∼ 3 n · n − 1 � Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do H OW GOOD IS IT FOR COGROWTH ? Try on an easy example • Sample reduced trivial words in Z 2 = � a , b | ab = ba � • Basic moves are conjugate + append relation to end Let it run for half an hour. . . 600 log g ( n ) g ( n ) · n 0 . 5 3 n n log 3 400 0 . 25 200 0 0 0 250 500 0 250 500 Consistent with g ( n ) ∼ 3 n · n − 1 � Need more test cases.. . Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OGROWTH SERIES • Very few exact solutions • For Z 2 a sneaky construction shows � 2 � 2 n c 2 n = n • Nice results by [Kouksov 1998] � a , b | a 2 , b 3 � � a , b | a 3 , b 3 � � a , b , c | a 2 , b 2 , c 2 � Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OGROWTH SERIES • Very few exact solutions • For Z 2 a sneaky construction shows � 2 � 2 n c 2 n = n • Nice results by [Kouksov 1998] � a , b | a 2 , b 3 � � a , b | a 3 , b 3 � � a , b , c | a 2 , b 2 , c 2 � • So we went back and resolved Z 2 by another method • Realised we could solve Baumslag-Solitar groups BS ( N , M ) = � a , b | a N b = ba M � Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OUNTING LOOPS IN BS ( 1 , 1 ) THE HARDER WAY • Cut Z 2 into cosets: b k � a � • Horizontal steps move within coset • Vertical steps move between them. Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OUNTING LOOPS IN BS ( 1 , 1 ) Count all walks ending in � a � : � � z | w | q k G ( z ; q ) = k w ≡ a k Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do C OUNTING LOOPS IN BS ( 1 , 1 ) Count all walks ending in � a � : � � z | w | q k G ( z ; q ) = k w ≡ a k Use a standard factorisation for Catalan objects (eg Dyck paths, binary trees) • Cut walk into pieces at each visit to � a � Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S CHEMATIC FACTORISATION q ) G ( z , q ) + 2 z 2 G ( z ; q ) L ( z ; q ) G ( z ; q ) = 1 + z ( q + ¯ Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S CHEMATIC FACTORISATION q ) G ( z , q ) + 2 z 2 G ( z ; q ) L ( z ; q ) G ( z ; q ) = 1 + z ( q + ¯ q ) L ( z ; q ) + z 2 L ( z ; q ) L ( z ; q ) L ( z ; q ) = 1 + z ( q + ¯ • Solve for G ( z ; q ) — algebraic function • Take constant term wrt q — D-finite function Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat • Parity of x -ordinate decides if vertical step moves to a different sheet Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat • Parity of x -ordinate decides if vertical step moves to a different sheet Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat • Parity of x -ordinate decides if vertical step moves to a different sheet Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat • Parity of x -ordinate decides if vertical step moves to a different sheet • Looked at from the side, cosets form a tree Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat • Parity of x -ordinate decides if vertical step moves to a different sheet • Looked at from the side, cosets form a tree Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat • Parity of x -ordinate decides if vertical step moves to a different sheet • Looked at from the side, cosets form a tree Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW DO BS ( 2 , 2 ) The Cayley graph is not so simple • It is not flat • Parity of x -ordinate decides if vertical step moves to a different sheet • Looked at from the side, cosets form a tree • Factor as before, but more care to decide if b , ¯ b moves to or from root. Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S CHEMATIC FACTORISATION q ) G ( z , q ) + 2 z 2 G ( z ; q ) [ E ◦ L ( z ; q )] G ( z ; q ) = 1 + z ( q + ¯ Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S CHEMATIC FACTORISATION q ) G ( z , q ) + 2 z 2 G ( z ; q ) [ E ◦ L ( z ; q )] G ( z ; q ) = 1 + z ( q + ¯ q ) L ( z ; q ) + z 2 L ( z ; q ) [ E ◦ L ( z ; q )] + z 2 [ O ◦ L ( z ; q )] [ E ◦ L ( z ; q )] L ( z ; q ) = 1 + z ( q + ¯ Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S CHEMATIC FACTORISATION q ) G ( z , q ) + 2 z 2 G ( z ; q ) [ E ◦ L ( z ; q )] G ( z ; q ) = 1 + z ( q + ¯ q ) L ( z ; q ) + z 2 L ( z ; q ) [ E ◦ L ( z ; q )] + z 2 [ O ◦ L ( z ; q )] [ E ◦ L ( z ; q )] L ( z ; q ) = 1 + z ( q + ¯ • Solve for G ( z ; q ) — algebraic function • Take constant term wrt q — D-finite function Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do M ORE GENERALLY D-finite solution for BS ( N , N ) = � a , b | a N b = ba N � • Similar factorisation gives G ( z , q ) algebraic degree N + 1 • Take constant term wrt q gives D-finite solution Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do M ORE GENERALLY D-finite solution for BS ( N , N ) = � a , b | a N b = ba N � • Similar factorisation gives G ( z , q ) algebraic degree N + 1 • Take constant term wrt q gives D-finite solution • Growth rate of trivial words are algebraic numbers • The DE satisfied by the CT gets worse with N • BS ( 1 , 1 ) — Write as elliptic integrals • BS ( 2 , 2 ) — 6 th order ODE, coeffs degree ≤ 47 • BS ( 3 , 3 ) — 8 th order ODE, coeffs degree ≤ 105 • BS ( 10 , 10 ) — 22 nd order ODE — 6 megabyte text file! • A big thanks to [Manuel Kauers] for help with this. Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do M ORE GENERALLY STILL — MESSIER A similar factorisation gives Functional equations for BS ( N , M ) = � a , b | a N b = ba M � q ) L + z 2 L · [Φ N , M ◦ L + Φ M , N ◦ K ] − z 2 [Φ M , N ◦ K ] · [Φ N , N ◦ L ] , L = 1 + z ( q + ¯ q ) K + z 2 K · [Φ M , N ◦ K + Φ N , M ◦ L ] − z 2 [Φ N , M ◦ L ] · [Φ M , M ◦ K ] , K = 1 + z ( q + ¯ q ) G + z 2 G · [Φ N , M ◦ L + Φ M , N ◦ K ] , G = 1 + z ( q + ¯ where c n , k q k = � � c n , j · d q j · e Φ d , e ◦ k j [E, JvR, R & Wong 2014] • Unable to solve closed form — even for BS ( 1 , 2 ) . • Series generation hard since deg q [ z n ] G ( z ; q ) grows exponentially with n . Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do E XTENSION TO BRAIDS • We [E, Rogers & R] have extended this to B 3 = � a , b | aba = bab � = � c , d | c 3 = d 2 � • Again, solution is constant term of algebraic function. • Extends to � c , d | c n = d m � • But unfortunately doesn’t appear to work for B n with n ≥ 4 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do E XTENSION TO BRAIDS • We [E, Rogers & R] have extended this to B 3 = � a , b | aba = bab � = � c , d | c 3 = d 2 � • Again, solution is constant term of algebraic function. • Extends to � c , d | c n = d m � • But unfortunately doesn’t appear to work for B n with n ≥ 4 • Now some results.. . Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Start with Kuksov’s exact results Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Start with Kuksov’s exact results � a , b | a 2 , b 3 � 600 exact log g ( n ) 400 200 0 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Start with Kuksov’s exact results � a , b | a 3 , b 3 � 600 exact log g ( n ) 400 200 0 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Start with Kuksov’s exact results � a , b | a 2 , b 2 , c 2 � 750 exact log g ( n ) 500 250 0 0 250 500 In all cases relative error was 0 . 1 ∼ 1 % Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Braid 3 and friends Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Braid 3 and friends � a , b | aba = bab � 600 exact log g ( n ) 400 200 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Braid 3 and friends � a , b | a 2 = b 3 � 600 exact log g ( n ) 400 200 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do V ERY SHORT RUNS USING SAMC • Braid 3 and friends � a , b | a 3 = b 3 � 600 exact log g ( n ) 400 200 0 250 500 Again, relative error was 0 . 1 ∼ 1 % Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S LIGHTLY LONGER RUNS USING SAMC • Baumslag Solitar groups with exact cogrowth Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S LIGHTLY LONGER RUNS USING SAMC • Baumslag Solitar groups with exact cogrowth � a , b | ab = ba � 600 exact log g ( n ) 400 200 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S LIGHTLY LONGER RUNS USING SAMC • Baumslag Solitar groups with exact cogrowth � a , b | aab = baa � 500 exact log g ( n ) 250 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do S LIGHTLY LONGER RUNS USING SAMC • Baumslag Solitar groups with exact cogrowth � a , b | a 3 b = ba 3 � exact 400 log g ( n ) 200 0 250 500 Again, relative error was 0 . 1 ∼ 1 % Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do L ONGER RUNS USING SAMC • Baumslag Solitar groups, no exact solutions Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do L ONGER RUNS USING SAMC • Baumslag Solitar groups, no exact solutions � a , b | a 2 b = ba 3 � log g ( n ) 400 approx exact 200 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do L ONGER RUNS USING SAMC • Baumslag Solitar groups, no exact solutions � a , b | ab = ba 2 � 600 log g ( n ) approx exact 400 200 0 250 500 Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do L ONGER RUNS USING SAMC • Baumslag Solitar groups, no exact solutions � a , b | ab = ba 2 � 600 log g ( n ) approx exact 400 200 0 250 500 BS23 well behaved, but BS12 and BS13 much slower to converge Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do L ONGER RUNS USING SAMC • Baumslag Solitar groups, no exact solutions � a , b | ab = ba 2 � 600 log g ( n ) approx exact 400 200 0 250 500 BS23 well behaved, but BS12 and BS13 much slower to converge — why? Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do W HAT CAN WE SEE IN F? ab − 1 , a − 1 ba ab − 1 , a − 2 ba 2 � • Now look at F = � a , b | � � � , � Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do W HAT CAN WE SEE IN F? ab − 1 , a − 1 ba ab − 1 , a − 2 ba 2 � • Now look at F = � a , b | � � � , � 200 log g ( n ) exact 100 0 100 200 Thanks to [Elvey Price & Guttmann] for exact data Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do N OW WE HAVE APPROXIMATE ENUMERATION DATA What is the scaling of c ( n ) ? Rechnitzer
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.