some algorithmic questions in finite group theory
play

Some Algorithmic questions in Finite Group Theory V Arvind - PowerPoint PPT Presentation

Some Algorithmic questions in Finite Group Theory V Arvind Institute of Mathematical Sciences, Chennai India email arvind@imsc.res.in June 30, 2015 Plan of Talk Permutation groups: background and some basic algorithms. Plan of Talk


  1. The Membership Testing Problem • Given as input π ∈ S n and a subgroup G = � S � ≤ S n test if π is in G . Express π in terms of the generators. • Writing π as a product of generators may be exponentially long! Example Consider the cyclic group G = � g � , where g is a permutation of order 2 O ( √ n log n ) (by choosing g to be a product of cycles of prime length for different primes).

  2. The Membership Testing Problem • Given as input π ∈ S n and a subgroup G = � S � ≤ S n test if π is in G . Express π in terms of the generators. • Writing π as a product of generators may be exponentially long! Example Consider the cyclic group G = � g � , where g is a permutation of order 2 O ( √ n log n ) (by choosing g to be a product of cycles of prime length for different primes). We need to have a more compact way of expressing π ∈ G in terms of its generators.

  3. Membership Testing Contd. Elements of G are g b where b is t = O ( √ n log n ) bits. We compute g b by repeated squaring and multiplying the appropriate powers g 2 i . Let b = � t − 1 i =0 b i 2 i .

  4. Membership Testing Contd. Elements of G are g b where b is t = O ( √ n log n ) bits. We compute g b by repeated squaring and multiplying the appropriate powers g 2 i . Let b = � t − 1 i =0 b i 2 i . The following straight-line program computes g b :

  5. Membership Testing Contd. Elements of G are g b where b is t = O ( √ n log n ) bits. We compute g b by repeated squaring and multiplying the appropriate powers g 2 i . Let b = � t − 1 i =0 b i 2 i . The following straight-line program computes g b : x 0 := g ; for i := 1 to t − 1 do x i := x 2 i − 1 ; x t := 1; for i := 1 to t − 1 do x t + i := x t + i − 1 · x b i i ;

  6. Srtaight-Line Programs Let π ∈ G = � g 1 , g 2 , . . . , g k � ≤ S n . A straight-line program for π consists of the following:

  7. Srtaight-Line Programs Let π ∈ G = � g 1 , g 2 , . . . , g k � ≤ S n . A straight-line program for π consists of the following: • The first k lines of the program has x i := g i , 1 ≤ i ≤ k as instructions, where g 1 , g 2 , . . . , g k are the generators of G .

  8. Srtaight-Line Programs Let π ∈ G = � g 1 , g 2 , . . . , g k � ≤ S n . A straight-line program for π consists of the following: • The first k lines of the program has x i := g i , 1 ≤ i ≤ k as instructions, where g 1 , g 2 , . . . , g k are the generators of G . • Each subsequent line is an instruction of the form: x i := x j x k Where j < i and k < i .

  9. Srtaight-Line Programs Let π ∈ G = � g 1 , g 2 , . . . , g k � ≤ S n . A straight-line program for π consists of the following: • The first k lines of the program has x i := g i , 1 ≤ i ≤ k as instructions, where g 1 , g 2 , . . . , g k are the generators of G . • Each subsequent line is an instruction of the form: x i := x j x k Where j < i and k < i . • Nice Fact If π ∈ � g 1 , g 2 , . . . , g k � ≤ S n then it has a straight-line program of length polynomial in n and k , and the membership testing algorithm will find in poly ( n ) time.

  10. Strong Generating Sets For G ≤ S n let G [ i ] denote its subgroup that pointwise stabilizes { 1 , 2 , . . . , i } .

  11. Strong Generating Sets For G ≤ S n let G [ i ] denote its subgroup that pointwise stabilizes { 1 , 2 , . . . , i } . • Consider the tower of stabilizers subgroups in G : { id } = G [ n − 1] < G [ n − 2] < . . . < G [1] < G [0] = G .

  12. Strong Generating Sets For G ≤ S n let G [ i ] denote its subgroup that pointwise stabilizes { 1 , 2 , . . . , i } . • Consider the tower of stabilizers subgroups in G : { id } = G [ n − 1] < G [ n − 2] < . . . < G [1] < G [0] = G . Consider the right coset representative sets T i for G [ i ] in G [ i − 1] , 1 ≤ i ≤ n − 1. Their union forms a strong generating set for G .

  13. Strong Generating Sets For G ≤ S n let G [ i ] denote its subgroup that pointwise stabilizes { 1 , 2 , . . . , i } . • Consider the tower of stabilizers subgroups in G : { id } = G [ n − 1] < G [ n − 2] < . . . < G [1] < G [0] = G . Consider the right coset representative sets T i for G [ i ] in G [ i − 1] , 1 ≤ i ≤ n − 1. Their union forms a strong generating set for G . • “Strong” because every π ∈ G can be expressed uniquely as a “short” product π = π n − 1 π n − 2 . . . π 1 , where π i ∈ T i .

  14. Back to Membership Testing • Given a strong generating set for G ≤ S n , membership testing is easy and efficient. Let π ∈ S n : π ∈ G ⇐ ⇒ π ∈ G [1] π 1 for π 1 ∈ T 1 . We can find π 1 ∈ T 1 easily and the problem reduces to checking if ππ − 1 is in G [1] . 1

  15. Back to Membership Testing • Given a strong generating set for G ≤ S n , membership testing is easy and efficient. Let π ∈ S n : π ∈ G ⇐ ⇒ π ∈ G [1] π 1 for π 1 ∈ T 1 . We can find π 1 ∈ T 1 easily and the problem reduces to checking if ππ − 1 is in G [1] . 1 • How do we find a strong generating set for G ?

  16. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ?

  17. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ? Schreier’s Lemma Let G = � A � and H ≤ G of finite index with R as the set of right coset representatives. Then H is generated by the set B = { r 1 ar − 1 ∈ H | a ∈ A , r 1 , r 2 ∈ R } . 2

  18. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ? Schreier’s Lemma Let G = � A � and H ≤ G of finite index with R as the set of right coset representatives. Then H is generated by the set B = { r 1 ar − 1 ∈ H | a ∈ A , r 1 , r 2 ∈ R } . 2 Proof We know G = HR .

  19. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ? Schreier’s Lemma Let G = � A � and H ≤ G of finite index with R as the set of right coset representatives. Then H is generated by the set B = { r 1 ar − 1 ∈ H | a ∈ A , r 1 , r 2 ∈ R } . 2 Proof We know G = HR . And we have RA ⊆ BR

  20. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ? Schreier’s Lemma Let G = � A � and H ≤ G of finite index with R as the set of right coset representatives. Then H is generated by the set B = { r 1 ar − 1 ∈ H | a ∈ A , r 1 , r 2 ∈ R } . 2 Proof We know G = HR . And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR .

  21. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ? Schreier’s Lemma Let G = � A � and H ≤ G of finite index with R as the set of right coset representatives. Then H is generated by the set B = { r 1 ar − 1 ∈ H | a ∈ A , r 1 , r 2 ∈ R } . 2 Proof We know G = HR . And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR . Repeating, we get R � A � ⊆ � B � R .

  22. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ? Schreier’s Lemma Let G = � A � and H ≤ G of finite index with R as the set of right coset representatives. Then H is generated by the set B = { r 1 ar − 1 ∈ H | a ∈ A , r 1 , r 2 ∈ R } . 2 Proof We know G = HR . And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR . Repeating, we get R � A � ⊆ � B � R . Hence G = � B � R .

  23. Finding a Strong Generating Set • Given G = � S � , finding T 1 is easy. We can compute the orbit O of 1, and for each j ∈ O keep track of a π 1 ∈ G such that 1 π 1 = j . How do we find T 2 ? Schreier’s Lemma Let G = � A � and H ≤ G of finite index with R as the set of right coset representatives. Then H is generated by the set B = { r 1 ar − 1 ∈ H | a ∈ A , r 1 , r 2 ∈ R } . 2 Proof We know G = HR . And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR . Repeating, we get R � A � ⊆ � B � R . Hence G = � B � R . Since � B � ≤ H it follows that � B � = H .

  24. Finding a Strong Generating Set Difficulty Applying Schreier’s lemma, the number of generators for G [1] can be n | A | . For G [2] it can grow to n 2 | A | and so on...

  25. Finding a Strong Generating Set Difficulty Applying Schreier’s lemma, the number of generators for G [1] can be n | A | . For G [2] it can grow to n 2 | A | and so on... Solution: a “reduce” step Given G = � g 1 , g 2 , . . . , g k � , we can efficiently find a generating set of size O ( n 2 ).

  26. Finding a Strong Generating Set Difficulty Applying Schreier’s lemma, the number of generators for G [1] can be n | A | . For G [2] it can grow to n 2 | A | and so on... Solution: a “reduce” step Given G = � g 1 , g 2 , . . . , g k � , we can efficiently find a generating set of size O ( n 2 ). for i = 1 to n do while there are generators x , y fixing 1 , 2 , . . . , i − 1 such that i x = i y do replace the pair x , y with the pair x , yx − 1 . end-while end-for

  27. How many generators are needed? • Exercise Given G = � S � ≤ S n as input we can efficiently compute a generating set of size at most n − 1. Hint:

  28. How many generators are needed? • Exercise Given G = � S � ≤ S n as input we can efficiently compute a generating set of size at most n − 1. Hint: For each g ∈ S , let i g ∈ [ n ] be the smallest point moved by g .

  29. How many generators are needed? • Exercise Given G = � S � ≤ S n as input we can efficiently compute a generating set of size at most n − 1. Hint: For each g ∈ S , let i g ∈ [ n ] be the smallest point moved by g . Consider the graph X S on vertex set { 1 , 2 , . . . , n } and edge set { ( i g , i g g ) | g ∈ S } .

  30. How many generators are needed? • Exercise Given G = � S � ≤ S n as input we can efficiently compute a generating set of size at most n − 1. Hint: For each g ∈ S , let i g ∈ [ n ] be the smallest point moved by g . Consider the graph X S on vertex set { 1 , 2 , . . . , n } and edge set { ( i g , i g g ) | g ∈ S } . As long as X S has cycles, we can apply a modified reduce step to shrink the size of S .

  31. How many generators are needed? • Exercise Given G = � S � ≤ S n as input we can efficiently compute a generating set of size at most n − 1. Hint: For each g ∈ S , let i g ∈ [ n ] be the smallest point moved by g . Consider the graph X S on vertex set { 1 , 2 , . . . , n } and edge set { ( i g , i g g ) | g ∈ S } . As long as X S has cycles, we can apply a modified reduce step to shrink the size of S . • McIver-Neumann Every subgroup of S n has a generating set of size at most n / 2. Proof uses CFSG. No efficient algorithm is known for it.

  32. How many generators are needed? • Exercise Given G = � S � ≤ S n as input we can efficiently compute a generating set of size at most n − 1. Hint: For each g ∈ S , let i g ∈ [ n ] be the smallest point moved by g . Consider the graph X S on vertex set { 1 , 2 , . . . , n } and edge set { ( i g , i g g ) | g ∈ S } . As long as X S has cycles, we can apply a modified reduce step to shrink the size of S . • McIver-Neumann Every subgroup of S n has a generating set of size at most n / 2. Proof uses CFSG. No efficient algorithm is known for it.

  33. Finding a Strong Generating Set Theorem (Schreier-Sims) Let G < S n be input by some generating set. In polynomial time we can compute a strong generating set ∪ T i with the following properties: 1 Every element π ∈ G can be expressed uniquely as a product π = π 1 π 2 . . . π n − 1 with π i ∈ T i ,

  34. Finding a Strong Generating Set Theorem (Schreier-Sims) Let G < S n be input by some generating set. In polynomial time we can compute a strong generating set ∪ T i with the following properties: 1 Every element π ∈ G can be expressed uniquely as a product π = π 1 π 2 . . . π n − 1 with π i ∈ T i , 2 Membership in G of a given permutation can be tested in polynomial time.

  35. Finding a Strong Generating Set Theorem (Schreier-Sims) Let G < S n be input by some generating set. In polynomial time we can compute a strong generating set ∪ T i with the following properties: 1 Every element π ∈ G can be expressed uniquely as a product π = π 1 π 2 . . . π n − 1 with π i ∈ T i , 2 Membership in G of a given permutation can be tested in polynomial time. 3 | G | can be computed in polynomial time.

  36. Finding a Strong Generating Set Theorem (Schreier-Sims) Let G < S n be input by some generating set. In polynomial time we can compute a strong generating set ∪ T i with the following properties: 1 Every element π ∈ G can be expressed uniquely as a product π = π 1 π 2 . . . π n − 1 with π i ∈ T i , 2 Membership in G of a given permutation can be tested in polynomial time. 3 | G | can be computed in polynomial time.

  37. Running Time Analysis Suppose G = � S � is the input group.

  38. Running Time Analysis Suppose G = � S � is the input group. • Initial reduce operation if | S | > n 2 . For i = 1 , 2 , . . . , n − 1 we compute i g for | S | many g . After that at most | S | n many replacements of x , y by x , yx − 1 .

  39. Running Time Analysis Suppose G = � S � is the input group. • Initial reduce operation if | S | > n 2 . For i = 1 , 2 , . . . , n − 1 we compute i g for | S | many g . After that at most | S | n many replacements of x , y by x , yx − 1 . • In Schreier’s lemma: computing orbit of i takes n 2 | S | ≤ n 4 operations, which also gives transversal R for G [ i ] in G [ i − 1] .

  40. Running Time Analysis Suppose G = � S � is the input group. • Initial reduce operation if | S | > n 2 . For i = 1 , 2 , . . . , n − 1 we compute i g for | S | many g . After that at most | S | n many replacements of x , y by x , yx − 1 . • In Schreier’s lemma: computing orbit of i takes n 2 | S | ≤ n 4 operations, which also gives transversal R for G [ i ] in G [ i − 1] . • | R | · | S | = n 3 operations for computing generating set of G [ i ] . Applying reduce operation costs | S | n ≤ n 4 operations.

  41. Running Time Analysis Suppose G = � S � is the input group. • Initial reduce operation if | S | > n 2 . For i = 1 , 2 , . . . , n − 1 we compute i g for | S | many g . After that at most | S | n many replacements of x , y by x , yx − 1 . • In Schreier’s lemma: computing orbit of i takes n 2 | S | ≤ n 4 operations, which also gives transversal R for G [ i ] in G [ i − 1] . • | R | · | S | = n 3 operations for computing generating set of G [ i ] . Applying reduce operation costs | S | n ≤ n 4 operations. Overall costs is n 4 · n plus O ( | S | n ) operations. Each operation costs O ( n ). Thus, O ( n 6 + | S | n 2 ) is the time.

  42. Orbit Counting Lemma i ∈ [ n ] is a fixpoint of g ∈ G if i g = i .

  43. Orbit Counting Lemma i ∈ [ n ] is a fixpoint of g ∈ G if i g = i . fix ( g ) = number of fixpoints of g .

  44. Orbit Counting Lemma i ∈ [ n ] is a fixpoint of g ∈ G if i g = i . fix ( g ) = number of fixpoints of g . orb ( G ) = number of orbits of G .

  45. Orbit Counting Lemma i ∈ [ n ] is a fixpoint of g ∈ G if i g = i . fix ( g ) = number of fixpoints of g . orb ( G ) = number of orbits of G . Lemma (Orbit Counting Lemma) Let G ≤ S n and orb ( G ) denote the number of orbits of G. Then 1 � orb ( G ) = fix ( g ) = E g ∈ G [ fix ( g )] . | G | g ∈ G

  46. Orbit Counting Lemma i ∈ [ n ] is a fixpoint of g ∈ G if i g = i . fix ( g ) = number of fixpoints of g . orb ( G ) = number of orbits of G . Lemma (Orbit Counting Lemma) Let G ≤ S n and orb ( G ) denote the number of orbits of G. Then 1 � orb ( G ) = fix ( g ) = E g ∈ G [ fix ( g )] . | G | g ∈ G Proof Define 0-1 matrix: M g , i = 1 iff i g = i . Equate row-wise and column-wise sums using | O ( i ) | = | G | / | G i | .

  47. Fixpoint free elements in G Theorem (Jordan’s Theorem) If G ≤ S n is transitive then the group G has fixpoint free elements.

  48. Fixpoint free elements in G Theorem (Jordan’s Theorem) If G ≤ S n is transitive then the group G has fixpoint free elements. Proof G has a single orbit and fix ( g ) = n for the identity. Since the expectation is 1 there are g such that fix ( g ) = 0.

  49. Fixpoint free elements in G Theorem (Jordan’s Theorem) If G ≤ S n is transitive then the group G has fixpoint free elements. Proof G has a single orbit and fix ( g ) = n for the identity. Since the expectation is 1 there are g such that fix ( g ) = 0. Problem: Given G = � g 1 , g 2 , . . . , g k � transitive, can we find a fixpoint free element in polynomial time?

  50. Cameron-Cohen’s Theorem Theorem (CC92) If G ≤ S n is transitive then the group G has at least | G | / n many fixpoint elements. Proof

  51. Cameron-Cohen’s Theorem Theorem (CC92) If G ≤ S n is transitive then the group G has at least | G | / n many fixpoint elements. Proof Let A denote the set of fixpoint free elements in G .

  52. Cameron-Cohen’s Theorem Theorem (CC92) If G ≤ S n is transitive then the group G has at least | G | / n many fixpoint elements. Proof Let A denote the set of fixpoint free elements in G . � � � | G | = fix ( g ) = fix ( g ) + fix ( g ) g ∈ G g ∈ G 1 g ∈ G \ G 1

  53. Cameron-Cohen’s Theorem Theorem (CC92) If G ≤ S n is transitive then the group G has at least | G | / n many fixpoint elements. Proof Let A denote the set of fixpoint free elements in G . � � � | G | = fix ( g ) = fix ( g ) + fix ( g ) g ∈ G g ∈ G 1 g ∈ G \ G 1 | G | ≥ | G | / n + | G 1 | + | G \ ( A ∪ G 1 ) | Which yields | A | ≥ | G | / n .

  54. A Randomized Algorithm Let G = � S � be a permutation group given as input by generating set S .

  55. A Randomized Algorithm Let G = � S � be a permutation group given as input by generating set S . • We first compute a strong generating set T for G .

  56. A Randomized Algorithm Let G = � S � be a permutation group given as input by generating set S . • We first compute a strong generating set T for G . • Using T we can sample π ∈ G uniformly at random, and check if π is fixpoint free.

  57. A Randomized Algorithm Let G = � S � be a permutation group given as input by generating set S . • We first compute a strong generating set T for G . • Using T we can sample π ∈ G uniformly at random, and check if π is fixpoint free. Analysis Probability that we do not find a fixpoint free element in, say, n 2 trials is bounded by (1 − 1 / n ) n 2 ≈ e − n .

  58. Deterministic Algorithm • Let move ( g ) = n − fix ( g ). Orbit counting lemma restated: 1 � E g ∈ G [ move ( g )] = move ( g ) = n − orb ( G ) . | G | g ∈ G

  59. Deterministic Algorithm • Let move ( g ) = n − fix ( g ). Orbit counting lemma restated: 1 � E g ∈ G [ move ( g )] = move ( g ) = n − orb ( G ) . | G | g ∈ G For G transitive we have E g ∈ G [ move ( g )] = n − 1.

  60. Deterministic Algorithm • Let move ( g ) = n − fix ( g ). Orbit counting lemma restated: 1 � E g ∈ G [ move ( g )] = move ( g ) = n − orb ( G ) . | G | g ∈ G For G transitive we have E g ∈ G [ move ( g )] = n − 1. Since G 1 has at least two orbits, E g ∈ G 1 [ move ( g )] ≤ n − 2 . Let G = ⊎ π ∈ R G 1 π .

  61. Deterministic Algorithm • Let move ( g ) = n − fix ( g ). Orbit counting lemma restated: 1 � E g ∈ G [ move ( g )] = move ( g ) = n − orb ( G ) . | G | g ∈ G For G transitive we have E g ∈ G [ move ( g )] = n − 1. Since G 1 has at least two orbits, E g ∈ G 1 [ move ( g )] ≤ n − 2 . Let G = ⊎ π ∈ R G 1 π . E g ∈ G [ move ( g )] = E π ∈ R E g ∈ G 1 π [ move ( g )] .

  62. Deterministic Algorithm • Let move ( g ) = n − fix ( g ). Orbit counting lemma restated: 1 � E g ∈ G [ move ( g )] = move ( g ) = n − orb ( G ) . | G | g ∈ G For G transitive we have E g ∈ G [ move ( g )] = n − 1. Since G 1 has at least two orbits, E g ∈ G 1 [ move ( g )] ≤ n − 2 . Let G = ⊎ π ∈ R G 1 π . E g ∈ G [ move ( g )] = E π ∈ R E g ∈ G 1 π [ move ( g )] . • Thus, for some coset G 1 π of G 1 in G we must have E g ∈ G 1 π [ move ( g )] > n − 1.

  63. Deterministic Algorithm Contd. • For each coset representative π ∈ R we explain how to efficiently compute E g ∈ G 1 π [ move ( g )]. Revisit the proof of the orbit counting lemma: Recall M g π, i = 1 iff i g π = i .

  64. Deterministic Algorithm Contd. • For each coset representative π ∈ R we explain how to efficiently compute E g ∈ G 1 π [ move ( g )]. Revisit the proof of the orbit counting lemma: Recall M g π, i = 1 iff i g π = i . • Number of 1’s in the i th column is |{ g ∈ G 1 | i g π = i }| .

  65. Deterministic Algorithm Contd. • For each coset representative π ∈ R we explain how to efficiently compute E g ∈ G 1 π [ move ( g )]. Revisit the proof of the orbit counting lemma: Recall M g π, i = 1 iff i g π = i . • Number of 1’s in the i th column is |{ g ∈ G 1 | i g π = i }| . • This number is zero if i and i π − 1 are in different G 1 -orbits, and is | G 1 , i | otherwise. Thus, using the Schreir-Sims algorithm we can compute all column sums efficiently, and hence also the above expectation in polynomial time.

  66. Method of Conditional Probabilities G G 1 π 1 . . . G 1 π i G 1 π k G 1 , 2 τ 1 . . . G 1 , 2 τ ℓ

  67. Method of Conditional Probabilities G G 1 π 1 . . . G 1 π i G 1 π k G 1 , 2 τ 1 . . . G 1 , 2 τ ℓ • At the d th level of the tree compute the coset G 1 ,..., d σ that maximizes E g ∈ G 1 ,..., d σ [ move ( g )].

Recommend


More recommend