Quick viewing(Text Mode)

1 Computational Group Theory 2 Groups Given As Cayley Tables Or

1 Computational Group Theory 2 Groups Given As Cayley Tables Or

AM 106/206: Applied Algebra Prof. Salil Vadhan

Lecture Notes 12

October 28, 2009

1 Computational Theory

• Computational Questions about Groups:

– Given a group G, compute |G|. – Given a group G, is G abelian? cyclic? – Given a group G and a H ≤ G, is H normal? – Given a group G and a subgroup H ≤ G and g ∈ G, is g ∈ H? – etc.

• How can we be “given a group”?

– Cayley table – “Black Box” that performs group operations – Generators and Relations

– As a subgroup of a familiar group (e.g. Sn, GLn)

2 Groups given as Cayley Tables or Black Boxes

• Most problems are easy to solve in time polynomial time in the size of the Cayley table (|G|2).

• Can often do better with randomization.

• Randomized Algorithm to Test whether G is abelian:

1. Choose random elements x, y ←R G. 2. Accept if xy 6= yx.

• Running time O(log |G|).

• Analysis: Always accepts if G abelian. If G nonabelian, then:

– x∈ / Z(G) with probability at least 1/2. – Given that x∈ / Z(G), the probability that y∈ / C(x) = {z : xz = zx} is at least 1/2. – Thus the algorithm rejects with probability at least 1/4. (Can be amplified by repeti- tion.)

• Black-Box Groups

1 – Above algorithm best viewed as operating on a “black-box group”: group given as a “black box” that in one time step, can multiply two group elements, invert a group element, and test whether two group elements are equal. – Also need to generate uniformly random group elements. Not usually part of the def- inition of a “black-box group” so need to give algorithms for doing this (e.g. given generators for G).

3 Groups given via Generators and Relations

• Def: For a group G and a set S ⊆ G, we define the subgroup generated by S to be

−1 hSi = {g1g2 ··· g` : ` ≥ 0, gi ∈ S ∪ S } = smallest subgroup of G containing S,

where S−1 = {s−1 : s ∈ S}. If G = hSi for a finite set S, we say that G is finitely generated.

• Examples:

– Finite groups? – Cyclic groups? – Z? – Z × Z? – Q? • To specify a group, it is not enough to specify the generators; we also need a set T of relations between them.

• What are the following groups?

– S = {a}, T = ∅. – S = {a, b}, T = {ab = ba}. – S = {a}, T = {an = ε}. – S = {a, b}, T = {an = ε, b2 = ε, ab = ba−1}.

• Def: A group is finitely presented if it can be described by a finite set S of generators with a finite set T of relations among them.

• More formal description of generators and relations.

– Def: For a set S of symbols, the on S is the group F (S) consisting of all strings (words) over the alphabet S ∪ S−1 with no occurrences of any substrings of the form ss−1 or s−1s for s ∈ S, and with multiplication defined by cancelling inverses in the obvious way. ∗ e.g. in F ({a, b}), (aab−1a−1bba−1)(ab−1ab) =

2 – If G = hSi, then there is a surjective homomorphism ϕ : F (S) → G where ϕ(w1w2 . . . wn) = w1 · w2 ··· wn, where the latter product is in G. The relations among S in G are pre- cisely {w = ε : w ∈ ker(ϕ)}.A presentation of G are sets S ⊆ G and T ⊆ F (S) such that ker(ϕ) is the smallest of F (S) containing T (i.e. every element of ker(ϕ) can be obtained by a finite number of multiplications by elements of T ∪ T −1 and conjugations by elements of G).

• Unfortunately, most problems about finitely presented groups provably have no algorithms! For example:

– Given finite S and T ⊆ F (S), is F (S)/hhT ii = {ε}? – Given finite S, T ⊆ F (S), and w ∈ F (S), is w ∈ hT i?

• Nevertheless, there are heuristics that work in some cases (Todd-Coxeter Algorithm).

4 Algorithms

• If G = hSi for some given S ⊆ Sn, many problems can be solved in polynomial time, namely time poly(n, |S|), even though G can be of size as large as n!.

• Schreier-Sims Algorithm: from S, constructs a strong generating set, which consists of:

– A sequence T1 ⊃ T2 ⊃ · · · ⊃ Tm ⊃ Tm+1 = ∅ of subsets of Sn.

– A base sequence (β1, . . . , βm), with each βi ∈ [n]. such that

– hTii = stabG(β1) ∩ stabG(β2) ∩ · · · ∩ stabG(βi−1).

– hTi+1i = stabhTii(βi) is a proper subgroup of hTii.

– stabG(β1) ∩ stabG(β2) ∩ · · · ∩ stabG(βm) = {ε}. • Given a strong generating set, can compute |G| as follows:

|G| = |hT1i|

= [hT1i : hT2i] · |hT2i|

= [hT1i : hT2i] · [hT2i : hT3i] ··· [hTmi : hTm+1i]

= |orbhT1i(β1)| · |orbhT2i(β2)| · · · |orbhTmi(βm)|

• Note that m ≤ log2 |G|.

• Computing orbhT i(β): 1. Let B = {β}. 2. Repeat n times: Let B ← B ∪ {σ(b): σ ∈ T, b ∈ B}. 3. Output B.

3 • At same time as computing orbits, can compute a set Ri of representatives of the cosets of

hTi+1i in hTii, so that for every b ∈ orbhTii(βi), there is a unique ρ ∈ Ri such that ρ(βi) = b.

• Claim: Every element σ ∈ G has a unique representation as a product ρ1ρ2 ··· ρm, where ρi ∈ Ri, and this representation can be found in polynomial time. (Thus we can test membership in G by seeing if this algorithm succeeds.)

• Algorithm: On input σ:

– Let σ1 = σ.

– Find unique ρ1 ∈ R1 such that ρ1(β1) = σ1(β1). −1 – Let σ2 = ρ1 σ1 ∈ hT2i.

– Find unique ρ2 ∈ R2 such that ρ2(β2) = σ2(β2). −1 – Let σ3 = ρ2 σ2 ∈ hT3i. . – .

– Find unique ρm ∈ Rm such that ρm(βm) = σm(βm).

– Output ρ1 ··· ρm.

• Example: T1 = {(135), (15)} ⊃ T2 = {(15)} ⊃ T3 = ∅,(β1, β2) = (3, 1) is a strong generating set for G = hT1i.

– Compute orbits orbhT1i(3), orbhT2i(1), coset representatives R1,R2, and |G|. – Decide whether (13) ∈ G, (12) ∈ G.

4