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 groups Histograms Exact Results To do
Approximate enumeration of trivial words.
Andrew RechnitzerMurray Elder Buks van Rensburg Thomas Wong Cameron Rogers
Odense, August 2016
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COUNTING THINGS
EnumerationFind closed form expression for number of objects of size nor generating function or recurrence or algorithm or . . .
• Sometimes exactly, but very frequently we have to approximate.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COUNTING THINGS
EnumerationFind closed form expression for number of objects of size nor generating function or recurrence or algorithm or . . .
• Sometimes exactly, but very frequently we have to approximate.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
A FEW OF MY FAVOURITE THINGS
Self-avoiding walk
• A path on a regular lattice that does not intersect itself• cn is # walks of n edges starting from origin.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
A FEW OF MY FAVOURITE THINGS
Self-avoiding polygon
• An embedding of a simple closed curve into a regular lattice.• pn is # polygons of n vertices up to translations.
• pn(K) — polygons with knot-type K
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
A FEW OF MY FAVOURITE THINGS
Self-avoiding polygon
• An embedding of a simple closed curve into a regular lattice.• pn is # polygons of n vertices up to translations.• pn(K) — polygons with knot-type K
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
A HARD PROBLEM
• SAPs unsolved on any non-trivial lattice
• In 2d• Exponential growth known on hexagonal lattice
p1/nn →√
2 +√
2 [Duminil-Copin & Smirnov 2010]
• conformal invariance predictions for subdominant asymptotics• In 3d = very open
• series analysis — brute force + tricks• simulations — many different approaches
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
A HARD PROBLEM
• SAPs unsolved on any non-trivial lattice• In 2d
• Exponential growth known on hexagonal lattice
p1/nn →√
2 +√
2 [Duminil-Copin & Smirnov 2010]
• conformal invariance predictions for subdominant asymptotics
• In 3d = very open• series analysis — brute force + tricks• simulations — many different approaches
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
A HARD PROBLEM
• SAPs unsolved on any non-trivial lattice• In 2d
• Exponential growth known on hexagonal lattice
p1/nn →√
2 +√
2 [Duminil-Copin & Smirnov 2010]
• conformal invariance predictions for subdominant asymptotics• In 3d = very open
• series analysis — brute force + tricks• simulations — many different approaches
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
RANDOM SAMPLING OF SAPS
BFACF on Z2
Start with unit square, then• Pick a face adjacent to polygon• Flip edges around the face• Accept or reject with simple transition probability.
[Berg & Foerster 1981][Aragão de Carvalho, Caracciolo & Frölich 1983]
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
SAMPLING → COUNTING
• BFACF samples from a Boltzmann distribution— Pr(ϕ) ∝ β|ϕ|— samples at all lengths and uniform at each length.
• Used to study “statistical topology” since moves preserve topology
• To study knotting probabilities, extended BFACF→ GAS[Janse van Rensburg & R 2011]
• Algorithm estimates ratios pn/pm— approximate counting of loops on graphs.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
SAMPLING → COUNTING
• BFACF samples from a Boltzmann distribution— Pr(ϕ) ∝ β|ϕ|— samples at all lengths and uniform at each length.
• Used to study “statistical topology” since moves preserve topology• To study knotting probabilities, extended BFACF→ GAS
[Janse van Rensburg & R 2011]
• Algorithm estimates ratios pn/pm— approximate counting of loops on graphs.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
AT ABOUT THE SAME TIME. . .
• Murray came to UBC and gave a talk on F.• How do we sample elements of geodesic length `?• What is the growth series?
• No unique construction — many geodesics for each element.
• One of the problems in developing SAP counting algorithm.• So we talked about sampling and counting, growth and cogrowth. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
AT ABOUT THE SAME TIME. . .
• Murray came to UBC and gave a talk on F.• How do we sample elements of geodesic length `?• What is the growth series?
• No unique construction — many geodesics for each element.• One of the problems in developing SAP counting algorithm.
• So we talked about sampling and counting, growth and cogrowth. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
AT ABOUT THE SAME TIME. . .
• Murray came to UBC and gave a talk on F.• How do we sample elements of geodesic length `?• What is the growth series?
• No unique construction — many geodesics for each element.• One of the problems in developing SAP counting algorithm.• So we talked about sampling and counting, growth and cogrowth. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
BFACF ↔ ab = ba
We realised that BFACF moves are just insert-relation & cancel.
So why not do BFACF on groups?
• MC algorithm for trivial words in finitely presented groups[Elder, JvR & R 2015]
• See Murray + Cameron’s talks
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
BFACF ↔ ab = ba
We realised that BFACF moves are just insert-relation & cancel.
So why not do BFACF on groups?
• MC algorithm for trivial words in finitely presented groups[Elder, JvR & R 2015]
• See Murray + Cameron’s talks
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
BFACF ↔ ab = ba
We realised that BFACF moves are just insert-relation & cancel.
So why not do BFACF on groups?
• MC algorithm for trivial words in finitely presented groups[Elder, JvR & R 2015]
• See Murray + Cameron’s talks
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
BFACF ↔ ab = ba
We realised that BFACF moves are just insert-relation & cancel.
So why not do BFACF on groups?
• MC algorithm for trivial words in finitely presented groups[Elder, JvR & R 2015]
• See Murray + Cameron’s talks
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
BFACF ↔ ab = ba
We realised that BFACF moves are just insert-relation & cancel.
So why not do BFACF on groups?
• MC algorithm for trivial words in finitely presented groups[Elder, JvR & R 2015]
• See Murray + Cameron’s talks
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHERE TO FROM HERE. . .
• Mean length vs β for BS(1, 2) = 〈a, b | ab = ba2〉
• Notice• mean length quite modest even for large β• exact data for comparison
• Two problems faced by our MC algorithm• difficult to sample long trivial words• need exact results for comparison
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHERE TO FROM HERE. . .
• Mean length vs β for BS(1, 2) = 〈a, b | ab = ba2〉• Notice
• mean length quite modest even for large β• exact data for comparison
• Two problems faced by our MC algorithm• difficult to sample long trivial words• need exact results for comparison
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHERE TO FROM HERE. . .
• Mean length vs β for BS(1, 2) = 〈a, b | ab = ba2〉• Notice
• mean length quite modest even for large β• exact data for comparison
• Two problems faced by our MC algorithm• difficult to sample long trivial words• need exact results for comparison
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
TOWARDS LONGER WORDS — WARM-UP
Consider the following Markov chain that samples words in {0, 1}n
• Start with 0n
• Pick a bit uniformly at random and flip it 0↔ 1• Increment histogram bucket• Repeat
Converges to uniform distrubtion
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
TOWARDS LONGER WORDS — WARM-UP
Consider the following Markov chain that samples words in {0, 1}n
• Start with 0n
• Pick a bit uniformly at random and flip it 0↔ 1• Increment histogram bucket• Repeat
Converges to uniform distrubtion
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
TOWARDS LONGER WORDS — WARM-UP
Consider the following Markov chain that samples words in {0, 1}n
• Start with 0n
• Pick a bit uniformly at random and flip it 0↔ 1• Increment histogram bucket• Repeat
Converges to uniform distrubtion
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
GROUP BY SIZE
Let size be “most significant bit” in word• Start with x = 0n
• Pick a bit uniformly at random and flip it 0↔ 1• Increment histogram bucket MSB(x)• Repeat
Samples fall in n + 1 buckets — not uniform, but. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
GROUP BY SIZE = MOST SIGNIFICANT BIT
• #samples in each bucket ∝ counts = approximate enumeration scheme• but algorithm will spend all its time on large buckets,• and almost never sample smaller buckets
• If we know the counts then we can make uniform across size
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
GROUP BY SIZE = MOST SIGNIFICANT BIT
• #samples in each bucket ∝ counts = approximate enumeration scheme• but algorithm will spend all its time on large buckets,• and almost never sample smaller buckets• If we know the counts then we can make uniform across size
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
SET 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 = 0n
• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,c(|x|)c(|y|)
}else keep x
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
SET 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 = 0n
• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,c(|x|)c(|y|)
}else keep x
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
SET 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 = 0n
• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,c(|x|)c(|y|)
}else keep x
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
SET 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 = 0n
• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,c(|x|)c(|y|)
}else keep x
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
COUNTS 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
Pr(x→ y) = min{
1, λ|x|−|y|}
which is the transition probability in Murray’s talk
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COUNTS 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
Pr(x→ y) = min{
1, λ|x|−|y|}
which is the transition probability in Murray’s talk
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COUNTS 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
Pr(x→ y) = min{
1, λ|x|−|y|}
which is the transition probability in Murray’s talk
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WORKS 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
WORKS 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
TOWARDS 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:
• Transition probability from x→ y is = min{
1,g(|x|)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
TOWARDS 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:
• Transition probability from x→ y is = min{
1,g(|x|)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
TOWARDS 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:
• Transition probability from x→ y is = min{
1,g(|x|)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
TOWARDS 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:
• Transition probability from x→ y is = min{
1,g(|x|)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
TOWARDS 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:
• Transition probability from x→ y is = min{
1,g(|x|)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
TOWARDS 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:
• Transition probability from x→ y is = min{
1,g(|x|)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
WANG LANDAU ALGORITHM
• Start at x = 0n, g(n) = λn and F = 2• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ g(n)× F
• Repeat until histogram is “flat” then• reduce F 7→
√F
• reset histogram
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WANG LANDAU ALGORITHM
• Start at x = 0n, g(n) = λn and F = 2• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ g(n)× F• Repeat until histogram is “flat” then
• reduce F 7→√
F• reset histogram
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WANG LANDAU ALGORITHM
• Start at x = 0n, g(n) = λn and F = 2• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ g(n)× F• Repeat until histogram is “flat” then
• reduce F 7→√
F• reset histogram
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
AVOID HISTOGRAM CHECKING
Similar idea but F decreases at each time step
• Start at x = 0n, g(n) = λn and choose ξ ∈ (1/2, 1)• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ 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
AVOID HISTOGRAM CHECKING
Similar idea but F decreases at each time step• Start at x = 0n, g(n) = λn and choose ξ ∈ (1/2, 1)• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ 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
AVOID HISTOGRAM CHECKING
Similar idea but F decreases at each time step• Start at x = 0n, g(n) = λn and choose ξ ∈ (1/2, 1)• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ g(n)× F where now F = exp(t−ξ)
• No flat-histogram check — flattens itselfStochastic approximation Monte Carlo [Liang, Liu & Carroll 2007]
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
AVOID HISTOGRAM CHECKING
Similar idea but F decreases at each time step• Start at x = 0n, g(n) = λn and choose ξ ∈ (1/2, 1)• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ 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
AVOID HISTOGRAM CHECKING
Similar idea but F decreases at each time step• Start at x = 0n, g(n) = λn and choose ξ ∈ (1/2, 1)• Create new word y by flipping a bit uniformly at random
• Accept y with probability = min{
1,g(|x|)g(|y|)
}, else keep x
• Increase g(n) 7→ 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
HOW GOOD IS IT FOR COGROWTH?
Try on an easy example• Sample reduced trivial words in Z2 = 〈a, b | ab = ba〉• Basic moves are conjugate + append relation to end
Let it run for half an hour. . .
Need more test cases. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
HOW GOOD IS IT FOR COGROWTH?
Try on an easy example• Sample reduced trivial words in Z2 = 〈a, b | ab = ba〉• Basic moves are conjugate + append relation to end
Let it run for half an hour. . .
0 250 50014.016
14.018
14.02
14.022
log( histogram )
Histogram is flat
Need more test cases. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
HOW GOOD IS IT FOR COGROWTH?
Try on an easy example• Sample reduced trivial words in Z2 = 〈a, b | ab = ba〉• Basic moves are conjugate + append relation to end
Let it run for half an hour. . .
0 250 5000
200
400
600
log g(n)
n log 3
0 250 5000
0.25
0.5 g(n) ·n
3n
Consistent with g(n) ∼ 3n · n−1 X
Need more test cases. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
HOW GOOD IS IT FOR COGROWTH?
Try on an easy example• Sample reduced trivial words in Z2 = 〈a, b | ab = ba〉• Basic moves are conjugate + append relation to end
Let it run for half an hour. . .
0 250 5000
200
400
600
log g(n)
n log 3
0 250 5000
0.25
0.5 g(n) ·n
3n
Consistent with g(n) ∼ 3n · n−1 XNeed more test cases. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COGROWTH SERIES
• Very few exact solutions• For Z2 a sneaky construction shows
c2n =
(2nn
)2• Nice results by [Kouksov 1998]
〈a, b | a2, b3〉 〈a, b | a3, b3〉 〈a, b, c | a2, b2, c2〉
• So we went back and resolved Z2 by another method• Realised we could solve Baumslag-Solitar groups
BS(N,M) = 〈a, b | aNb = baM〉
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COGROWTH SERIES
• Very few exact solutions• For Z2 a sneaky construction shows
c2n =
(2nn
)2• Nice results by [Kouksov 1998]
〈a, b | a2, b3〉 〈a, b | a3, b3〉 〈a, b, c | a2, b2, c2〉
• So we went back and resolved Z2 by another method• Realised we could solve Baumslag-Solitar groups
BS(N,M) = 〈a, b | aNb = baM〉
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COUNTING LOOPS IN BS(1, 1) THE HARDER WAY
• Cut Z2 into cosets: bk〈a〉
• Horizontal steps move within coset• Vertical steps move between them.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
COUNTING LOOPS IN BS(1, 1)
Count all walks ending in 〈a〉:
G(z; q) =∑
k
∑w ≡ ak
z|w|qk
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
COUNTING LOOPS IN BS(1, 1)
Count all walks ending in 〈a〉:
G(z; q) =∑
k
∑w ≡ ak
z|w|qk
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
SCHEMATIC FACTORISATION
G(z; q) = 1 + z (q + q̄) G(z, q) + 2z2G(z; q)L(z; q)
L(z; q) = 1 + z (q + q̄) L(z; q) + z2L(z; q)L(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
SCHEMATIC FACTORISATION
G(z; q) = 1 + z (q + q̄) G(z, q) + 2z2G(z; q)L(z; q)
L(z; q) = 1 + z (q + q̄) L(z; q) + z2L(z; q)L(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
NOW 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
NOW 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
NOW 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
NOW 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
NOW 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
NOW 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
NOW 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
NOW 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
NOW 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
SCHEMATIC FACTORISATION
G(z; q) = 1 + z (q + q̄) G(z, q) + 2z2G(z; q) [E ◦ L(z; q)]
L(z; q) = 1 + z (q + q̄) L(z; q) + z2L(z; q) [E ◦ L(z; q)] + z2 [O ◦ L(z; q)] [E ◦ L(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
SCHEMATIC FACTORISATION
G(z; q) = 1 + z (q + q̄) G(z, q) + 2z2G(z; q) [E ◦ L(z; q)]
L(z; q) = 1 + z (q + q̄) L(z; q) + z2L(z; q) [E ◦ L(z; q)] + z2 [O ◦ L(z; q)] [E ◦ L(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
SCHEMATIC FACTORISATION
G(z; q) = 1 + z (q + q̄) G(z, q) + 2z2G(z; q) [E ◦ L(z; q)]
L(z; q) = 1 + z (q + q̄) L(z; q) + z2L(z; q) [E ◦ L(z; q)] + z2 [O ◦ L(z; q)] [E ◦ L(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
MORE GENERALLY
D-finite solution for BS(N,N) = 〈a, b | aNb = baN〉• 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) — 6th order ODE, coeffs degree ≤ 47• BS(3, 3) — 8th order ODE, coeffs degree ≤ 105• BS(10, 10) — 22nd 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
MORE GENERALLY
D-finite solution for BS(N,N) = 〈a, b | aNb = baN〉• 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) — 6th order ODE, coeffs degree ≤ 47• BS(3, 3) — 8th order ODE, coeffs degree ≤ 105• BS(10, 10) — 22nd 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
MORE GENERALLY STILL — MESSIER
A similar factorisation gives
Functional equations for BS(N,M) = 〈a, b | aNb = baM〉
L = 1 + z(q + q̄)L + z2L · [ΦN,M ◦ L + ΦM,N ◦ K]− z2 [ΦM,N ◦ K] · [ΦN,N ◦ L] ,
K = 1 + z(q + q̄)K + z2K · [ΦM,N ◦ K + ΦN,M ◦ L]− z2 [ΦN,M ◦ L] · [ΦM,M ◦ K] ,
G = 1 + z(q + q̄)G + z2G · [ΦN,M ◦ L + ΦM,N ◦ K] ,
where
Φd,e ◦∑
k
cn,kqk =
∑j
cn,j·d qj·e
[E, JvR, R & Wong 2014]
• Unable to solve closed form — even for BS(1, 2).• Series generation hard since degq[z
n]G(z; q) grows exponentially with n.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
EXTENSION TO BRAIDS
• We [E, Rogers & R] have extended this to
B3 = 〈a, b | aba = bab〉
= 〈c, d | c3 = d2〉
• Again, solution is constant term of algebraic function.• Extends to
〈c, d | cn = dm〉
• But unfortunately doesn’t appear to work for Bn with n ≥ 4
• Now some results. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
EXTENSION TO BRAIDS
• We [E, Rogers & R] have extended this to
B3 = 〈a, b | aba = bab〉
= 〈c, d | c3 = d2〉
• Again, solution is constant term of algebraic function.• Extends to
〈c, d | cn = dm〉
• But unfortunately doesn’t appear to work for Bn with n ≥ 4• Now some results. . .
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Start with Kuksov’s exact results
In all cases relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Start with Kuksov’s exact results
〈a, b | a2, b3〉
0 250 5000
200
400
600exact
log g(n)
In all cases relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Start with Kuksov’s exact results
〈a, b | a3, b3〉
0 250 5000
200
400
600exact
log g(n)
In all cases relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Start with Kuksov’s exact results
〈a, b | a2, b2, c2〉
0 250 5000
250
500
750 exact
log g(n)
In all cases relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Braid3 and friends
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Braid3 and friends
〈a, b | aba = bab〉
250 5000
200
400
600exact
log g(n)
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Braid3 and friends
〈a, b | a2 = b3〉
250 5000
200
400
600exact
log g(n)
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
VERY SHORT RUNS USING SAMC
• Braid3 and friends
〈a, b | a3 = b3〉
250 5000
200
400
600exact
log g(n)
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
SLIGHTLY LONGER RUNS USING SAMC
• Baumslag Solitar groups with exact cogrowth
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
SLIGHTLY LONGER RUNS USING SAMC
• Baumslag Solitar groups with exact cogrowth
〈a, b | ab = ba〉
250 5000
200
400
600exact
log g(n)
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
SLIGHTLY LONGER RUNS USING SAMC
• Baumslag Solitar groups with exact cogrowth
〈a, b | aab = baa〉
250 5000
250
500exact
log g(n)
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
SLIGHTLY LONGER RUNS USING SAMC
• Baumslag Solitar groups with exact cogrowth
〈a, b | a3b = ba3〉
250 5000
200
400 exact
log g(n)
Again, relative error was 0.1 ∼ 1%
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
LONGER RUNS USING SAMC
• Baumslag Solitar groups, no exact solutions
BS23 well behaved, but BS12 and BS13 much slower to converge — why?
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
LONGER RUNS USING SAMC
• Baumslag Solitar groups, no exact solutions
〈a, b | a2b = ba3〉
250 5000
200
400log g(n)
approxexact
BS23 well behaved, but BS12 and BS13 much slower to converge — why?
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
LONGER RUNS USING SAMC
• Baumslag Solitar groups, no exact solutions
〈a, b | ab = ba2〉
250 5000
200
400
600
log g(n)
approxexact
BS23 well behaved, but BS12 and BS13 much slower to converge — why?
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
LONGER RUNS USING SAMC
• Baumslag Solitar groups, no exact solutions
〈a, b | ab = ba2〉
250 5000
200
400
600
log g(n)
approxexact
BS23 well behaved, but BS12 and BS13 much slower to converge
— why?
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
LONGER RUNS USING SAMC
• Baumslag Solitar groups, no exact solutions
〈a, b | ab = ba2〉
250 5000
200
400
600
log g(n)
approxexact
BS23 well behaved, but BS12 and BS13 much slower to converge — why?
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHAT CAN WE SEE IN F?
• Now look at F = 〈a, b |[ab−1, a−1ba
],[ab−1, a−2ba2
]〉
100 2000
100
200 log g(n)
exact
Thanks to [Elvey Price & Guttmann] for exact data
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHAT CAN WE SEE IN F?
• Now look at F = 〈a, b |[ab−1, a−1ba
],[ab−1, a−2ba2
]〉
100 2000
100
200 log g(n)
exact
Thanks to [Elvey Price & Guttmann] for exact data
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
NOW WE HAVE APPROXIMATE ENUMERATION DATA
What is the scaling of c(n)?
Consistent with c(n) ∼ 2.7n × 8.9−√
n
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
NOW WE HAVE APPROXIMATE ENUMERATION DATA
What is the scaling of c(n)?
100 2000
100
200 log g(n)
exact
Dominated by linear term
Consistent with c(n) ∼ 2.7n × 8.9−√
n
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
NOW WE HAVE APPROXIMATE ENUMERATION DATA
What is the scaling of c(n)?
100 2000.2
0.4
0.6
0.8
1n log g(n)
exact
1n log c(n) tending to a constant
Consistent with c(n) ∼ 2.7n × 8.9−√
n
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
NOW WE HAVE APPROXIMATE ENUMERATION DATA
What is the scaling of c(n)?
0 0.05 0.1
0.25
0.5
0.75
1
1n log g(n)
exact
log (3)
1n log c(n) against n
−1 — shows curvature
Consistent with c(n) ∼ 2.7n × 8.9−√
n
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
NOW WE HAVE APPROXIMATE ENUMERATION DATA
What is the scaling of c(n)?
0 0.1 0.2 0.3
0.25
0.5
0.75
1
1n log g(n)
exact
log (3)
1n log c(n) against n
−1/2 — appears straight
Consistent with c(n) ∼ 2.7n × 8.9−√
n
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
NOW WE HAVE APPROXIMATE ENUMERATION DATA
What is the scaling of c(n)?
0 0.1 0.2 0.3
0.25
0.5
0.75
1
1n log g(n)
exact
Rough line of best fit = 1n log c(n) ≈ 0.993− 2.19n−1/2
Consistent with c(n) ∼ 2.7n × 8.9−√
n
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
NOW WE HAVE APPROXIMATE ENUMERATION DATA
What is the scaling of c(n)?
0 0.1 0.2 0.3
0.25
0.5
0.75
1
1n log g(n)
exact
Rough line of best fit = 1n log c(n) ≈ 0.993− 2.19n−1/2
Consistent with c(n) ∼ 2.7n × 8.9−√
n
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
MORE CAREFUL WEIGHTED LINEAR REGRESSION
• Run multiple independent simulations to get statistical errorbars
• Errorbars not visible
0 0.1 0.2 0.3
n−1/2
0.25
0.5
0.75
1
1ng(n)
0.995− 2.20x
• Most linear with n−1/2 correction• Line of best fit is 1n log c(n) ≈ 0.995− 2.20n
−1/2
• Consistent with c(n) ∼ 2.705n × 9.0−√
n
• Consistent with series analysis by [Elvey Price & Guttmann]
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
MORE CAREFUL WEIGHTED LINEAR REGRESSION
• Run multiple independent simulations to get statistical errorbars• Errorbars not visible
0 0.1 0.2 0.3
n−1/2
0.25
0.5
0.75
1
1ng(n)
0.995− 2.20x
• Most linear with n−1/2 correction• Line of best fit is 1n log c(n) ≈ 0.995− 2.20n
−1/2
• Consistent with c(n) ∼ 2.705n × 9.0−√
n
• Consistent with series analysis by [Elvey Price & Guttmann]
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
MORE CAREFUL WEIGHTED LINEAR REGRESSION
• Run multiple independent simulations to get statistical errorbars• Errorbars not visible
0 0.1 0.2 0.3
n−1/2
0.25
0.5
0.75
1
1ng(n)
0.995− 2.20x
• Most linear with n−1/2 correction• Line of best fit is 1n log c(n) ≈ 0.995− 2.20n
−1/2
• Consistent with c(n) ∼ 2.705n × 9.0−√
n
• Consistent with series analysis by [Elvey Price & Guttmann]
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
FOR COMPARISON — 〈a, b | ab = ba2〉
• Again errorbars not visible on plot• Most linear with n−2/3 correction
0 0.1 0.2 0.3
n−2/3
0.25
0.5
0.75
1
1ng(n)
y = 1.099− 2.44x
• Line of best fit is 1n log c(n) ≈ 1.099− 2.44n−1/2
• Consistent with c(n) ∼ 3n × 11.47−n1/3
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
FOR COMPARISON — 〈a, b | ab = ba2〉
• Again errorbars not visible on plot• Most linear with n−2/3 correction
0 0.1 0.2 0.3
n−2/3
0.25
0.5
0.75
1
1ng(n)
y = 1.099− 2.44x
• Line of best fit is 1n log c(n) ≈ 1.099− 2.44n−1/2
• Consistent with c(n) ∼ 3n × 11.47−n1/3
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHAT NEXT?
Exact solution of cogrowth• Which presentations are amenable to this approach• If not closed forms, then polynomial time algorithms?• If not poly-time, then faster than brute-force?
Random sampling and approximate enumeration• Understand convergence• Speed convergence to increase system sizes• Better asymptotics• Which statistics should we study?• What can we prove about the algorithm?
Thanks for listening.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHAT NEXT?
Exact solution of cogrowth• Which presentations are amenable to this approach• If not closed forms, then polynomial time algorithms?• If not poly-time, then faster than brute-force?
Random sampling and approximate enumeration• Understand convergence• Speed convergence to increase system sizes• Better asymptotics• Which statistics should we study?
• What can we prove about the algorithm?
Thanks for listening.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHAT NEXT?
Exact solution of cogrowth• Which presentations are amenable to this approach• If not closed forms, then polynomial time algorithms?• If not poly-time, then faster than brute-force?
Random sampling and approximate enumeration• Understand convergence• Speed convergence to increase system sizes• Better asymptotics• Which statistics should we study?• What can we prove about the algorithm?
Thanks for listening.
Rechnitzer
Counting From SAPs to groups Histograms Exact Results To do
WHAT NEXT?
Exact solution of cogrowth• Which presentations are amenable to this approach• If not closed forms, then polynomial time algorithms?• If not poly-time, then faster than brute-force?
Random sampling and approximate enumeration• Understand convergence• Speed convergence to increase system sizes• Better asymptotics• Which statistics should we study?• What can we prove about the algorithm?
Thanks for listening.
Rechnitzer
CountingFrom SAPs to groupsHistogramsExactResultsTo do