fbpx
Wikipedia

Straight-line program

In computer science, a straight-line program is, informally, a program that does not contain any loop or any test, and is formed by a sequence of steps that apply each an operation to previously computed elements.

This article is devoted to the case where the allowed operations are the operations of a group, that is mutiplication and inversion. More specifically 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 either 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. This has important applications in computational group theory, by using SLPs to efficiently encode group elements as words over a given generating set.

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.

An efficient solution to the constructive membership problem is crucial to many group-theoretic algorithms. It 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. 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.

Explicit straight-line programs are given for a wealth of finite simple groups in the online ATLAS of Finite Groups.

Definition edit

Informal definition edit

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 = g−1
    j
    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.

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.

Formal definition edit

Let G be a finite group and let S be a subset of G. A straight-line program of length m over S 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 in the obvious manner.

The original definition appearing in [2] requires that G =⟨S⟩. The definition presented above is a common generalisation of this.

From a computational perspective, the formal definition of a straight-line program has some advantages. Firstly, a sequence of abstract expressions requires less memory than terms over the generating set. Secondly, it allows straight-line programs to be constructed in one representation of G and evaluated in another. This is an important feature of some algorithms.[2]

Examples edit

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 leftmost column of 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. The leftmost column here is an example of a straight-line program to compute (1 2 3)(4 5 6):

Applications edit

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 simple group has a first-order description of length O(log|G|), and every finite group G has a first-order description of length O(log3|G|).[3]

Straight-line programs computing generating sets for maximal subgroups of finite simple groups. The online ATLAS of Finite Group Representations[4] provides abstract straight-line programs for computing generating sets of maximal subgroups for many finite simple groups.

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 E32·E32⋊C31. This straight-line program can be found in the online ATLAS of Finite Group Representations.

Reachability theorem edit

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}.

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α1·z2α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+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 an element of K(i)−1K(i), effectively making it easier to generate from Z.

We now need to verify the following claim to ensure that the process terminates within lg(|G|) many steps:

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α1·z2α2·...·zi+1αi+1 = z1β1·z2β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αp·zp-1αp-1·...·z1α1·z1β1·z2β2·...·zqβq, with p,q < r. Hence zrK(r−1)−1K(r − 1), a contradiction.

The next claim is used to show that the cost of every group element is within the required bound.

Claim 2 —  c(i) ≤ i 2i.

Proof

Since c(0)=0 it suffices to show that c(i+1) - c(i) ≤ 2i. The Cayley graph of G is connected and if i < s, K(i)−1K(i) ≠ G, then there is an element of the form g1·g2G \ 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 g1·g2G\K(i)−1K(i), 2i steps are sufficient.

We now finish the theorem. Since K(s)−1K(s) = G, any gG can be written in the form k−1
1
·k2 with k−1
1
,k2K(s). By Corollary 2, we need at most s2s 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.

References edit

  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. ^ Nies, André; Tent, Katrin (2017). "Describing finite groups by short first-order sentences". Israel Journal of Mathematics. 221: 85–115. arXiv:1409.8390. doi:10.1007/s11856-017-1563-2.
  4. ^ "ATLAS of Finite Group Representations - V3".

straight, line, program, computer, science, straight, line, program, informally, program, that, does, contain, loop, test, formed, sequence, steps, that, apply, each, operation, previously, computed, elements, this, article, devoted, case, where, allowed, oper. In computer science a straight line program is informally a program that does not contain any loop or any test and is formed by a sequence of steps that apply each an operation to previously computed elements This article is devoted to the case where the allowed operations are the operations of a group that is mutiplication and inversion More specifically 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 either 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 This has important applications in computational group theory by using SLPs to efficiently encode group elements as words over a given generating set Straight line programs were introduced by Babai and Szemeredi in 1984 1 as a tool for studying the computational complexity of certain matrix group properties Babai and Szemeredi prove that every element of a finite group G has an SLP of length O log2 G in every generating set An efficient solution to the constructive membership problem is crucial to many group theoretic algorithms It 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 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 Explicit straight line programs are given for a wealth of finite simple groups in the online ATLAS of Finite Groups Contents 1 Definition 1 1 Informal definition 1 2 Formal definition 2 Examples 3 Applications 4 Reachability theorem 5 ReferencesDefinition editInformal definition edit 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 displaystyle cdot nbsp gk for some j k lt i gi g 1j for some j lt 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 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 Formal definition edit Let G be a finite group and let S be a subset of G A straight line program of length m over S 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 lt i or wi wj wk for some j k lt i such that wm takes upon the value g when evaluated in G in the obvious manner The original definition appearing in 2 requires that G S The definition presented above is a common generalisation of this From a computational perspective the formal definition of a straight line program has some advantages Firstly a sequence of abstract expressions requires less memory than terms over the generating set Secondly it allows straight line programs to be constructed in one representation of G and evaluated in another This is an important feature of some algorithms 2 Examples editThe dihedral group D12 is the group of symmetries of a hexagon It can be generated by a 60 degree rotation r and one reflection l The leftmost column of the following is a straight line program for lr3 l r r2 r3 lr3 l is a generator r is a generator Second rule 2 2 Second rule 3 2 Second rule 1 4 In S6 the group of permutations on six letters we can take a 1 2 3 4 5 6 and b 1 2 as generators The leftmost column here is an example of a straight line program to compute 1 2 3 4 5 6 a b a2 a2b a2ba a2bab a2baba2bab 1 2 3 4 5 6 1 2 1 3 5 2 4 6 1 3 5 2 4 6 1 4 2 5 3 6 1 4 2 5 3 6 1 2 3 4 5 6 a is a generator b is a generator Second rule 1 1 Second rule 3 2 Second rule 4 1 Second rule 5 2 Second rule 6 6 Applications editShort 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 simple group has a first order description of length O log G and every finite group G has a first order description of length O log3 G 3 Straight line programs computing generating sets for maximal subgroups of finite simple groups The online ATLAS of Finite Group Representations 4 provides abstract straight line programs for computing generating sets of maximal subgroups for many finite simple groups 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 E32 E32 C31 This straight line program can be found in the online ATLAS of Finite Group Representations a b ab abb ababb ababbb abb 18 abb 18 abb 18b abb 18b abb 18 ababb 14 ababb 14 ababb 14ababbb ababb 14ababbb ababb 14 a is a generator b is a generator Second rule 1 2 Second rule 3 2 Second rule 3 4 Second rule 5 2 Second rule iterated 4 multiplied 18 times Third rule 7 inverse Second rule 8 2 Second rule 9 7 Second rule iterated 5 multiplied 14 times Third rule 11 inverse Second rule 12 6 Second rule 13 11 Reachability theorem editThe 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 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 z1a1 z2a2 ziai aj 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 an element of K i 1K i effectively making it easier to generate from Z We now need to verify the following claim to ensure that the process terminates within lg G many steps Claim 1 If i lt 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 lt 2 K i By the pigeonhole principle there are k1 k2 K i 1 with k1 z1a1 z2a2 zi 1ai 1 z1b1 z2b2 zi 1bi 1 k2 for some aj bj 0 1 Let r be the largest integer such that ar br Assume WLOG that ar 1 It follows that zr zp ap zp 1 ap 1 z1 a1 z1b1 z2b2 zqbq with p q lt r Hence zr K r 1 1K r 1 a contradiction The next claim is used to show that the cost of every group element is within the required bound Claim 2 c i i 2 i Proof Since c 0 0 it suffices to show that c i 1 c i 2i The Cayley graph of G is connected and if i lt s K i 1K i G then there is an element of the form g1 g2 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 g1 g2 G K i 1K i 2i steps are sufficient We now finish the theorem Since K s 1K s G any g G can be written in the form k 11 k2 with k 11 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 References edit Babai Laszlo and Endre Szemeredi 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 Akos Seress 2003 Permutation Group Algorithms Online Cambridge Tracts in Mathematics No 152 Cambridge Cambridge University Press Nies Andre Tent Katrin 2017 Describing finite groups by short first order sentences Israel Journal of Mathematics 221 85 115 arXiv 1409 8390 doi 10 1007 s11856 017 1563 2 ATLAS of Finite Group Representations V3 Retrieved from https en wikipedia org w index php title Straight line program amp oldid 1222353448, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.