Jump to content

Straight-line program

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Andrenies (talk | contribs) at 23:07, 5 February 2016. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 gG if gL, where g is encoded by a word in S and its inverses.

Intuitively, an SLP computing some gG 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 gG, 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 gG 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:

  1. giS
  2. gi = gj gk for some j,k < i
  3. gi = gj-1 for some j < i.

The straight-line cost c(g|S) of an element gG 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 gG 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 : 2rk}.

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α2ziα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+1G\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 gG 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,k2K(i+1) with k1 = z1α1z2α2zi+1αi+1 = z1β1z2β2zi+1βi+1 = k2 for some αjj ∈ {0,1}. Let r be the largest integer such that αr ≠ βr. Assume WLOG that αr = 1. It follows that zr = zppzp-1p-1z11z1β1z2β2zqβq, with p,q < r. Hence zrK(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 g1g2G\K(i)-1K(i) with g1K(i)-1K(i) and g2S.

It takes at most 2i steps to generate g1K(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 g1g2G\K(i)-1K(i), 2i steps are sufficient.

Corollary 2. c(i) ≤ i2 - i.

Since K(s)-1K(s) = G, any gG can be written in the form k1-1k2 with k1-1,k2K(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.

  1. ^ 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
  2. ^ a b Ákos Seress. (2003). Permutation Group Algorithms. [Online]. Cambridge Tracts in Mathematics. (No. 152). Cambridge: Cambridge University Press.
  3. ^ http://brauer.maths.qmul.ac.uk/Atlas/v3/
  4. ^ Nies, A., & Tent, K. (2016). Describing finite groups by short first-order sentences. Israel J. Mathematics, to appear. http://arxiv.org/abs/1409.8390