Straight-line program
Template:Harryalerta In mathematics, more specifically in computational algebra, a straight-line program (SLP) for a finite group G =⟨S⟩ is a finite sequence L of elements of G such that every element of L belongs to S, is the inverse of a preceding element, or the product of two preceding elements. An SLP L is said to compute a group element g ∈ G if g ∈ L, where g is encoded by a word in S and its inverses.
Intuitively, an SLP computing some g ∈ G is an efficient way of storing g as a group word over S; observe that if g is constructed in i steps , the word length of g may be exponential in i, but the length of the corresponding SLP is linear in i. Evidently, this has important applications in computational group theory (CGT).
Straight-line programs were introduced by Babai and Szemerédi in 1984[1] as a tool for studying the computational complexity of certain matrix group properties. Babai and Szemerédi prove that every element of a finite group G has an SLP of length O(log2|G|) in every generating set.
The constructive membership problem, for which an efficient solution is crucial to many group-theoretic algorithms, can be stated in terms of SLPs as follows. Given a finite group G =⟨S⟩and g ∈ G, find a straight-line program computing g over S. The constructive membership problem is often studied in the setting of black box groups. In a black box group, the elements are encoded by bit strings of a fixed length. Three oracles are provided for the group-theoretic functions of multiplication, inversion, and checking for equality with the identity. A black box algorithm is one which uses only these oracles. Hence, straight-line programs for black box groups are black box algorithms. A major advantage of black box algorithms is that they require no specific characteristics of the representations in which the input groups are given.
Explicit straight-line programs are given for a wealth of finite simple groups in the online ATLAS of Finite Groups, providing a valuable resource for researchers in CGT.
Definition
Formal Definition
Let G be a finite group and let S be a subset of G. A straight-line program of length m (over S) reaching (or computing) some g ∈ G is a sequence of expressions (w1,…,wm) such that for each i, wi is a symbol for some element of S, or wi = (wj,-1) for some j < i, or wi = (wj,wk) for some j,k < i, such that wm takes upon the value g when evaluated in G. Namely, the evaluated value of wi is itself when wi is a symbol from S; the evaluated value of (wj,-1) is the inverse of the evaluated value of wj; the evaluated value of (wj,wk) is the product of the evaluated values of wj and wk.
The original definition appearing in [2] requires that G =⟨S⟩. The definition presented above is a common generalisation of this.
Informal Definition
Let G be a finite group and let S be a subset of G. A sequence L = (g1,…,gm) of elements of G is a straight-line program over S if each gi can be obtained by one of the following three rules:
- gi ∈ S
- gi = gj gk for some j,k < i
- gi = gj-1 for some j < i.
The straight-line cost c(g|S) of an element g ∈ G is the length of a shortest straight-line program over S computing g. The cost is infinite if g is not in the subgroup generated by S.
From a computational perspective, the formal definition of a straight-line program as a sequence of expressions requires less memory and also allows straight-line programs to be constructed in one representation of G and evaluated in another, which is an important feature of some algorithms.[2]
A straight-line program is similar to a derivation in predicate logic. The elements of S correspond to axioms and the group operations correspond to the rules of inference. Observe that if g is given by a word of length n in S, then there is a straight line program of length at most n+|S| for g.
Examples
The dihedral group D12 is the group of symmetries of a hexagon. It can be generated by a 60 degree rotation ρ and one reflection λ. The following is a straight-line program for λρ3:
|
|
In S6, the group of permutations on six letters, we can take α=(1 2 3 4 5 6) and β=(1 2) as generators. An example of a straight-line program to generate (1 2 3)(4 5 6) is:
|
|
|
Applications
Straight-line programs computing generating sets for maximal subgroups of finite simple groups. The online ATLAS of Finite Group Representations[3] provides abstract straight-line programs for computing generating sets of maximal subgroups for many finite simple groups.
Short descriptions of finite groups. Straight-line programs can be used to study compression of finite groups via first-order logic. They provide a tool to construct "short" sentences describing G (i.e. much shorter than |G|). In more detail, SLPs are used to prove that every finite group G has a first-order description of length O(log3|G|), and every finite simple group has a first-order description of length O(log|G|).[4]
Example: The group Sz(32), belonging to the infinite family of Suzuki groups, has rank 2 via generators a and b, where a has order 2, b has order 4, ab has order 5, ab2 has order 25 and abab2ab3 has order 25. The following is a straight-line program that computes a generating set for a maximal subgroup E32E32C31. This straight-line program can be found in the online ATLAS of Finite Group Representations.
|
|
Reachability theorem
The reachability theorem states that, given a finite group G generated by S, each g ∈ G has a maximum cost of (1+ lg|G|)2. This can be understood as a bound on how hard it is to generate a group element from the generators.
Here the function lg(x) is an integer-valued version of the logarithm function: for k≥1 let lg(k) = max{r : 2r ≤ k}.
Proof
The idea of the proof is to construct a set Z = {z1,…,zs} that will work as a new generating set (s will be defined during the process). It is usually larger than S, but any element of G can be expressed as a word of length at most 2|Z| over Z. The set Z is constructed by inductively defining an increasing sequence of sets K(i).
Let K(i) = {z1α1z2α2…ziαi : αj ∈ {0,1}}, where zi is the group element added to Z at the i-th step. Let c(i) denote the length of a shortest straight-line program that contains Z(i) = {z1,…,zi}. Let K(0) = {1G} and c(0)=0. We define the set Z recursively:
- If K(i)-1K(i) = G, declare s to take upon the value i and stop.
- Else, choose some zi+1 ∈ G\K(i)-1K(i) (which is non-empty) that minimises the "cost increase" c(i+1) - c(i).
By this process, Z is defined in a way so that any g ∈ G can be written as a element of K(i)-1K(i), effectively making it easier to generate from Z.
We now need to prove two claims to guarantee the length of the process:
Claim 1. If i < s then |K(i+1)| = 2|K(i)|.
Proof. It is immediate that |K(i+1)| ≤ 2|K(i)|. Now suppose for a contradiction that |K(i+1)| < 2|K(i)|. By the pigeonhole principle there are k1,k2 ∈ K(i+1) with k1 = z1α1z2α2…zi+1αi+1 = z1β1z2β2…zi+1βi+1 = k2 for some αj,βj ∈ {0,1}. Let r be the largest integer such that αr ≠ βr. Assume WLOG that αr = 1. It follows that zr = zp-αpzp-1-αp-1…z1-α1z1β1z2β2…zqβq, with p,q < r. Hence zr ∈ K(r-1)-1K(r-1), a contradiction.
Corollary 1. s ≤ lg|G|.
Claim 2. c(i+1) - c(i) ≤ 2i.
Proof. The Cayley graph of G is connected and if i < s, K(i)-1K(i) ≠ G, then there is an element of the form g1g2 ∈ G\K(i)-1K(i) with g1 ∈ K(i)-1K(i) and g2 ∈ S.
It takes at most 2i steps to generate g1 ∈ K(i)-1K(i). There is no point in generating the element of maximum length, since it is the identity. Hence 2i - 1 steps suffice. To generate g1g2 ∈ G\K(i)-1K(i), 2i steps are sufficient.
Corollary 2. c(i) ≤ i2 - i.
Since K(s)-1K(s) = G, any g ∈ G can be written in the form k1-1k2 with k1-1,k2 ∈ K(s). By Corollary 2, we need at most s2 - s steps to generate Z(s) = Z, and no more than 2s - 1 steps to generate g from Z(s).
Therefore c(g|S) ≤ s2 + s - 1 ≤ lg2|G| + lg|G| - 1 ≤ (1 + lg|G|)2.
- ^ Babai, László, and Endre Szemerédi. "On the complexity of matrix group problems I." Foundations of Computer Science, 1984. 25th Annual Symposium on Foundations of Computer Science. IEEE, 1984
- ^ a b Ákos Seress. (2003). Permutation Group Algorithms. [Online]. Cambridge Tracts in Mathematics. (No. 152). Cambridge: Cambridge University Press.
- ^ http://brauer.maths.qmul.ac.uk/Atlas/v3/
- ^ Nies, A., & Tent, K. (2016). Describing finite groups by short first-order sentences. Israel J. Mathematics, to appear. http://arxiv.org/abs/1409.8390