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

some algorithmic questions in finite group theory
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Some Algorithmic questions in Finite Group Theory

V Arvind Institute of Mathematical Sciences, Chennai India email arvind@imsc.res.in June 30, 2015

slide-2
SLIDE 2

Plan of Talk

Permutation groups: background and some basic algorithms.

slide-3
SLIDE 3

Plan of Talk

Permutation groups: background and some basic algorithms. Fixed point-free elements of a permutation group. Existence and computation.

slide-4
SLIDE 4

Plan of Talk

Permutation groups: background and some basic algorithms. Fixed point-free elements of a permutation group. Existence and computation. Computing small bases for permutation groups.

slide-5
SLIDE 5

Plan of Talk

Permutation groups: background and some basic algorithms. Fixed point-free elements of a permutation group. Existence and computation. Computing small bases for permutation groups. Random subproducts in groups.

slide-6
SLIDE 6

What is in this talk for me?

  • The group theory content is easy/elementary and is from a first

course in algebra.

slide-7
SLIDE 7

What is in this talk for me?

  • The group theory content is easy/elementary and is from a first

course in algebra.

  • The algorithms are straightforward based on simple techniques

taught in a first algorithms course.

slide-8
SLIDE 8

What is in this talk for me?

  • The group theory content is easy/elementary and is from a first

course in algebra.

  • The algorithms are straightforward based on simple techniques

taught in a first algorithms course.

  • What’s new is probably the cocktail of group theory +

algorithms.

slide-9
SLIDE 9

What is in this talk for me?

  • The group theory content is easy/elementary and is from a first

course in algebra.

  • The algorithms are straightforward based on simple techniques

taught in a first algorithms course.

  • What’s new is probably the cocktail of group theory +

algorithms.

  • Teachers: Experimenting with similar cocktails in other courses

like linear algebra can be interesting.

slide-10
SLIDE 10

Permutation Groups: Definitions

  • Let Sn denote the group of all permutations on n elements, say

{1, 2, . . . , n}. It is a group under permutation composition and has n! many elements.

slide-11
SLIDE 11

Permutation Groups: Definitions

  • Let Sn denote the group of all permutations on n elements, say

{1, 2, . . . , n}. It is a group under permutation composition and has n! many elements.

  • A subgroup G of Sn, denoted G ≤ Sn, is a permutation group.
slide-12
SLIDE 12

Permutation Groups: Definitions

  • Let Sn denote the group of all permutations on n elements, say

{1, 2, . . . , n}. It is a group under permutation composition and has n! many elements.

  • A subgroup G of Sn, denoted G ≤ Sn, is a permutation group.
  • We can “describe” a permutation group G by listing down all its
  • elements. A more compact description is to give a generating set

for it.

slide-13
SLIDE 13

Permutation Groups: Definitions

  • Let Sn denote the group of all permutations on n elements, say

{1, 2, . . . , n}. It is a group under permutation composition and has n! many elements.

  • A subgroup G of Sn, denoted G ≤ Sn, is a permutation group.
  • We can “describe” a permutation group G by listing down all its
  • elements. A more compact description is to give a generating set

for it.

  • The permutation group S, generated by a subset S ⊆ Sn of

permutations, is the smallest subgroup of Sn containing S.

slide-14
SLIDE 14

Permutation Groups: Definitions Contd.

  • Every finite group G has a generating set of size log2 |G|.

Because g1 < g1, g2 < . . . < g1, g2, . . . , gk = G.

slide-15
SLIDE 15

Permutation Groups: Definitions Contd.

  • Every finite group G has a generating set of size log2 |G|.

Because g1 < g1, g2 < . . . < g1, g2, . . . , gk = G. Each new generating element at least doubles the group size by Lagrange’s theorem. Thus, k ≤ log2 |G|.

slide-16
SLIDE 16

Permutation Groups: Definitions Contd.

  • Every finite group G has a generating set of size log2 |G|.

Because g1 < g1, g2 < . . . < g1, g2, . . . , gk = G. Each new generating element at least doubles the group size by Lagrange’s theorem. Thus, k ≤ log2 |G|. So, giving a generating set for G is a succinct representation as it as algorithmic input.

slide-17
SLIDE 17

Permutation Groups: Definitions Contd.

  • For a permutation π ∈ Sn, the image of a point i ∈ [n] is

denoted by iπ.

slide-18
SLIDE 18

Permutation Groups: Definitions Contd.

  • For a permutation π ∈ Sn, the image of a point i ∈ [n] is

denoted by iπ.

  • For a permutation π ∈ Sn, a point i ∈ [n] is a fixed point if

iπ = i. Let fix(π) denote the number of points fixed by π.

slide-19
SLIDE 19

Permutation Groups: Definitions Contd.

  • For a permutation π ∈ Sn, the image of a point i ∈ [n] is

denoted by iπ.

  • For a permutation π ∈ Sn, a point i ∈ [n] is a fixed point if

iπ = i. Let fix(π) denote the number of points fixed by π.

  • A permutation group G ≤ Sn partitions the domain [n] into
  • rbits: i and j are in the same orbit precisely when ig = j for some

g ∈ G.

slide-20
SLIDE 20

Permutation Groups: Definitions Contd.

  • For a permutation π ∈ Sn, the image of a point i ∈ [n] is

denoted by iπ.

  • For a permutation π ∈ Sn, a point i ∈ [n] is a fixed point if

iπ = i. Let fix(π) denote the number of points fixed by π.

  • A permutation group G ≤ Sn partitions the domain [n] into
  • rbits: i and j are in the same orbit precisely when ig = j for some

g ∈ G.

  • The group G is called transitive if there is exactly one orbit.
slide-21
SLIDE 21

Permutation Group Algorithmics

  • Each permutation π in Sn can be represented as an n-tuple

(1π, 2π, . . . , nπ) (or an array of n integers).

slide-22
SLIDE 22

Permutation Group Algorithmics

  • Each permutation π in Sn can be represented as an n-tuple

(1π, 2π, . . . , nπ) (or an array of n integers).

  • Given π ∈ Sn and a point i ∈ [n] we can “compute” iπ in “one

step” by looking up the ith entry of the array representing π. We can consider this a “unit cost” operation.

slide-23
SLIDE 23

Permutation Group Algorithmics

  • Each permutation π in Sn can be represented as an n-tuple

(1π, 2π, . . . , nπ) (or an array of n integers).

  • Given π ∈ Sn and a point i ∈ [n] we can “compute” iπ in “one

step” by looking up the ith entry of the array representing π. We can consider this a “unit cost” operation.

  • Given two permutations π, ψ ∈ Sn we can compute their product

πψ by computing (iπ)ψ for each i. This operation costs n.

slide-24
SLIDE 24

Permutation Group Algorithmics

  • Each permutation π in Sn can be represented as an n-tuple

(1π, 2π, . . . , nπ) (or an array of n integers).

  • Given π ∈ Sn and a point i ∈ [n] we can “compute” iπ in “one

step” by looking up the ith entry of the array representing π. We can consider this a “unit cost” operation.

  • Given two permutations π, ψ ∈ Sn we can compute their product

πψ by computing (iπ)ψ for each i. This operation costs n.

  • What is an efficient algorithm on permutation groups?
slide-25
SLIDE 25

Permutation Group Algorithmics Contd.

  • Elements and subgroups of Sn require encoding size n and

n2 log n respectively.

slide-26
SLIDE 26

Permutation Group Algorithmics Contd.

  • Elements and subgroups of Sn require encoding size n and

n2 log n respectively.

  • Roughly speaking, for algorithm dealing with permutation groups

in Sn:

slide-27
SLIDE 27

Permutation Group Algorithmics Contd.

  • Elements and subgroups of Sn require encoding size n and

n2 log n respectively.

  • Roughly speaking, for algorithm dealing with permutation groups

in Sn: Polynomial in n many operations = Efficient.

slide-28
SLIDE 28

Permutation Group Algorithmics Contd.

  • Elements and subgroups of Sn require encoding size n and

n2 log n respectively.

  • Roughly speaking, for algorithm dealing with permutation groups

in Sn: Polynomial in n many operations = Efficient. Exponential in n operations = Inefficient.

slide-29
SLIDE 29

Computing Orbits Efficiently

  • Given G ≤ Sn by a generating set S, we can compute the orbit
  • f any point i in (n|S|)O(1) time.
slide-30
SLIDE 30

Computing Orbits Efficiently

  • Given G ≤ Sn by a generating set S, we can compute the orbit
  • f any point i in (n|S|)O(1) time.

Input: S = {g1, g2, . . . , gk} generators for G; O := {i}; while O changes do O := O ∪ {igj | i ∈ S, 1 ≤ j ≤ k}; endwhile

slide-31
SLIDE 31

Computing Orbits Efficiently

  • Given G ≤ Sn by a generating set S, we can compute the orbit
  • f any point i in (n|S|)O(1) time.

Input: S = {g1, g2, . . . , gk} generators for G; O := {i}; while O changes do O := O ∪ {igj | i ∈ S, 1 ≤ j ≤ k}; endwhile

  • The loop runs for at most n steps. In the loop the number of
  • perations is bounded by O(nk). Thus, O(n2k) operations in all.
slide-32
SLIDE 32

The Membership Testing Problem

  • Given as input π ∈ Sn and a subgroup G = S ≤ Sn test if π is

in G. Express π in terms of the generators.

slide-33
SLIDE 33

The Membership Testing Problem

  • Given as input π ∈ Sn and a subgroup G = S ≤ Sn test if π is

in G. Express π in terms of the generators.

  • Writing π as a product of generators may be exponentially long!
slide-34
SLIDE 34

The Membership Testing Problem

  • Given as input π ∈ Sn and a subgroup G = S ≤ Sn 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 2O(√n log n) (by choosing g to be a product of cycles of prime length for different primes).

slide-35
SLIDE 35

The Membership Testing Problem

  • Given as input π ∈ Sn and a subgroup G = S ≤ Sn 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 2O(√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.

slide-36
SLIDE 36

Membership Testing Contd.

Elements of G are gb where b is t = O(√n log n) bits. We compute gb by repeated squaring and multiplying the appropriate powers g2i. Let b = t−1

i=0 bi2i.

slide-37
SLIDE 37

Membership Testing Contd.

Elements of G are gb where b is t = O(√n log n) bits. We compute gb by repeated squaring and multiplying the appropriate powers g2i. Let b = t−1

i=0 bi2i.

The following straight-line program computes gb:

slide-38
SLIDE 38

Membership Testing Contd.

Elements of G are gb where b is t = O(√n log n) bits. We compute gb by repeated squaring and multiplying the appropriate powers g2i. Let b = t−1

i=0 bi2i.

The following straight-line program computes gb: x0 := g; for i := 1 to t − 1 do xi := x2

i−1;

xt := 1; for i := 1 to t − 1 do xt+i := xt+i−1 · xbi

i ;

slide-39
SLIDE 39

Srtaight-Line Programs

Let π ∈ G = g1, g2, . . . , gk ≤ Sn. A straight-line program for π consists of the following:

slide-40
SLIDE 40

Srtaight-Line Programs

Let π ∈ G = g1, g2, . . . , gk ≤ Sn. A straight-line program for π consists of the following:

  • The first k lines of the program has xi := gi, 1 ≤ i ≤ k as

instructions, where g1, g2, . . . , gk are the generators of G.

slide-41
SLIDE 41

Srtaight-Line Programs

Let π ∈ G = g1, g2, . . . , gk ≤ Sn. A straight-line program for π consists of the following:

  • The first k lines of the program has xi := gi, 1 ≤ i ≤ k as

instructions, where g1, g2, . . . , gk are the generators of G.

  • Each subsequent line is an instruction of the form:

xi := xjxk Where j < i and k < i.

slide-42
SLIDE 42

Srtaight-Line Programs

Let π ∈ G = g1, g2, . . . , gk ≤ Sn. A straight-line program for π consists of the following:

  • The first k lines of the program has xi := gi, 1 ≤ i ≤ k as

instructions, where g1, g2, . . . , gk are the generators of G.

  • Each subsequent line is an instruction of the form:

xi := xjxk Where j < i and k < i.

  • Nice Fact If π ∈ g1, g2, . . . , gk ≤ Sn 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.

slide-43
SLIDE 43

Strong Generating Sets

For G ≤ Sn let G[i] denote its subgroup that pointwise stabilizes {1, 2, . . . , i}.

slide-44
SLIDE 44

Strong Generating Sets

For G ≤ Sn 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.

slide-45
SLIDE 45

Strong Generating Sets

For G ≤ Sn 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 Ti for G[i] in G[i−1], 1 ≤ i ≤ n − 1. Their union forms a strong generating set for G.

slide-46
SLIDE 46

Strong Generating Sets

For G ≤ Sn 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 Ti 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 ∈ Ti.

slide-47
SLIDE 47

Back to Membership Testing

  • Given a strong generating set for G ≤ Sn, membership testing is

easy and efficient. Let π ∈ Sn: π ∈ G ⇐ ⇒ π ∈ G[1]π1 for π1 ∈ T1. We can find π1 ∈ T1 easily and the problem reduces to checking if ππ−1

1

is in G[1].

slide-48
SLIDE 48

Back to Membership Testing

  • Given a strong generating set for G ≤ Sn, membership testing is

easy and efficient. Let π ∈ Sn: π ∈ G ⇐ ⇒ π ∈ G[1]π1 for π1 ∈ T1. We can find π1 ∈ T1 easily and the problem reduces to checking if ππ−1

1

is in G[1].

  • How do we find a strong generating set for G?
slide-49
SLIDE 49

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2?

slide-50
SLIDE 50

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2? 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 = {r1ar−1

2

∈ H | a ∈ A, r1, r2 ∈ R}.

slide-51
SLIDE 51

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2? 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 = {r1ar−1

2

∈ H | a ∈ A, r1, r2 ∈ R}. Proof We know G = HR.

slide-52
SLIDE 52

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2? 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 = {r1ar−1

2

∈ H | a ∈ A, r1, r2 ∈ R}. Proof We know G = HR. And we have RA ⊆ BR

slide-53
SLIDE 53

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2? 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 = {r1ar−1

2

∈ H | a ∈ A, r1, r2 ∈ R}. Proof We know G = HR. And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR.

slide-54
SLIDE 54

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2? 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 = {r1ar−1

2

∈ H | a ∈ A, r1, r2 ∈ R}. Proof We know G = HR. And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR. Repeating, we get RA ⊆ BR.

slide-55
SLIDE 55

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2? 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 = {r1ar−1

2

∈ H | a ∈ A, r1, r2 ∈ R}. Proof We know G = HR. And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR. Repeating, we get RA ⊆ BR. Hence G = BR.

slide-56
SLIDE 56

Finding a Strong Generating Set

  • Given G = S, finding T1 is easy. We can compute the orbit O
  • f 1, and for each j ∈ O keep track of a π1 ∈ G such that 1π1 = j.

How do we find T2? 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 = {r1ar−1

2

∈ H | a ∈ A, r1, r2 ∈ R}. Proof We know G = HR. And we have RA ⊆ BR Which implies RAA ⊆ BRA ⊆ BBR. Repeating, we get RA ⊆ BR. Hence G = BR. Since B ≤ H it follows that B = H.

slide-57
SLIDE 57

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 n2|A| and so on...

slide-58
SLIDE 58

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 n2|A| and so on... Solution: a “reduce” step Given G = g1, g2, . . . , gk, we can efficiently find a generating set of size O(n2).

slide-59
SLIDE 59

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 n2|A| and so on... Solution: a “reduce” step Given G = g1, g2, . . . , gk, we can efficiently find a generating set of size O(n2). for i = 1 to n do while there are generators x, y fixing 1, 2, . . . , i − 1 such that ix = iy do replace the pair x, y with the pair x, yx−1. end-while end-for

slide-60
SLIDE 60

How many generators are needed?

  • Exercise Given G = S ≤ Sn as input we can efficiently

compute a generating set of size at most n − 1. Hint:

slide-61
SLIDE 61

How many generators are needed?

  • Exercise Given G = S ≤ Sn as input we can efficiently

compute a generating set of size at most n − 1. Hint: For each g ∈ S, let ig ∈ [n] be the smallest point moved by g.

slide-62
SLIDE 62

How many generators are needed?

  • Exercise Given G = S ≤ Sn as input we can efficiently

compute a generating set of size at most n − 1. Hint: For each g ∈ S, let ig ∈ [n] be the smallest point moved by g. Consider the graph XS on vertex set {1, 2, . . . , n} and edge set {(ig, ig

g ) | g ∈ S}.

slide-63
SLIDE 63

How many generators are needed?

  • Exercise Given G = S ≤ Sn as input we can efficiently

compute a generating set of size at most n − 1. Hint: For each g ∈ S, let ig ∈ [n] be the smallest point moved by g. Consider the graph XS on vertex set {1, 2, . . . , n} and edge set {(ig, ig

g ) | g ∈ S}.

As long as XS has cycles, we can apply a modified reduce step to shrink the size of S.

slide-64
SLIDE 64

How many generators are needed?

  • Exercise Given G = S ≤ Sn as input we can efficiently

compute a generating set of size at most n − 1. Hint: For each g ∈ S, let ig ∈ [n] be the smallest point moved by g. Consider the graph XS on vertex set {1, 2, . . . , n} and edge set {(ig, ig

g ) | g ∈ S}.

As long as XS has cycles, we can apply a modified reduce step to shrink the size of S.

  • McIver-Neumann Every subgroup of Sn has a generating set of

size at most n/2. Proof uses CFSG. No efficient algorithm is known for it.

slide-65
SLIDE 65

How many generators are needed?

  • Exercise Given G = S ≤ Sn as input we can efficiently

compute a generating set of size at most n − 1. Hint: For each g ∈ S, let ig ∈ [n] be the smallest point moved by g. Consider the graph XS on vertex set {1, 2, . . . , n} and edge set {(ig, ig

g ) | g ∈ S}.

As long as XS has cycles, we can apply a modified reduce step to shrink the size of S.

  • McIver-Neumann Every subgroup of Sn has a generating set of

size at most n/2. Proof uses CFSG. No efficient algorithm is known for it.

slide-66
SLIDE 66

Finding a Strong Generating Set

Theorem (Schreier-Sims)

Let G < Sn be input by some generating set. In polynomial time we can compute a strong generating set ∪Ti with the following properties:

1 Every element π ∈ G can be expressed uniquely as a product

π = π1π2 . . . πn−1 with πi ∈ Ti,

slide-67
SLIDE 67

Finding a Strong Generating Set

Theorem (Schreier-Sims)

Let G < Sn be input by some generating set. In polynomial time we can compute a strong generating set ∪Ti with the following properties:

1 Every element π ∈ G can be expressed uniquely as a product

π = π1π2 . . . πn−1 with πi ∈ Ti,

2 Membership in G of a given permutation can be tested in

polynomial time.

slide-68
SLIDE 68

Finding a Strong Generating Set

Theorem (Schreier-Sims)

Let G < Sn be input by some generating set. In polynomial time we can compute a strong generating set ∪Ti with the following properties:

1 Every element π ∈ G can be expressed uniquely as a product

π = π1π2 . . . πn−1 with πi ∈ Ti,

2 Membership in G of a given permutation can be tested in

polynomial time.

3 |G| can be computed in polynomial time.

slide-69
SLIDE 69

Finding a Strong Generating Set

Theorem (Schreier-Sims)

Let G < Sn be input by some generating set. In polynomial time we can compute a strong generating set ∪Ti with the following properties:

1 Every element π ∈ G can be expressed uniquely as a product

π = π1π2 . . . πn−1 with πi ∈ Ti,

2 Membership in G of a given permutation can be tested in

polynomial time.

3 |G| can be computed in polynomial time.

slide-70
SLIDE 70

Running Time Analysis

Suppose G = S is the input group.

slide-71
SLIDE 71

Running Time Analysis

Suppose G = S is the input group.

  • Initial reduce operation if |S| > n2. For i = 1, 2, . . . , n − 1 we

compute ig for |S| many g. After that at most |S|n many replacements of x, y by x, yx−1.

slide-72
SLIDE 72

Running Time Analysis

Suppose G = S is the input group.

  • Initial reduce operation if |S| > n2. For i = 1, 2, . . . , n − 1 we

compute ig 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 n2|S| ≤ n4
  • perations, which also gives transversal R for G[i] in G[i−1].
slide-73
SLIDE 73

Running Time Analysis

Suppose G = S is the input group.

  • Initial reduce operation if |S| > n2. For i = 1, 2, . . . , n − 1 we

compute ig 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 n2|S| ≤ n4
  • perations, which also gives transversal R for G[i] in G[i−1].
  • |R| · |S| = n3 operations for computing generating set of G[i].

Applying reduce operation costs |S|n ≤ n4 operations.

slide-74
SLIDE 74

Running Time Analysis

Suppose G = S is the input group.

  • Initial reduce operation if |S| > n2. For i = 1, 2, . . . , n − 1 we

compute ig 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 n2|S| ≤ n4
  • perations, which also gives transversal R for G[i] in G[i−1].
  • |R| · |S| = n3 operations for computing generating set of G[i].

Applying reduce operation costs |S|n ≤ n4 operations. Overall costs is n4 · n plus O(|S|n) operations. Each operation costs O(n). Thus, O(n6 + |S|n2) is the time.

slide-75
SLIDE 75

Orbit Counting Lemma

i ∈ [n] is a fixpoint of g ∈ G if ig = i.

slide-76
SLIDE 76

Orbit Counting Lemma

i ∈ [n] is a fixpoint of g ∈ G if ig = i. fix(g) = number of fixpoints of g.

slide-77
SLIDE 77

Orbit Counting Lemma

i ∈ [n] is a fixpoint of g ∈ G if ig = i. fix(g) = number of fixpoints of g.

  • rb(G) = number of orbits of G.
slide-78
SLIDE 78

Orbit Counting Lemma

i ∈ [n] is a fixpoint of g ∈ G if ig = i. fix(g) = number of fixpoints of g.

  • rb(G) = number of orbits of G.

Lemma (Orbit Counting Lemma)

Let G ≤ Sn and orb(G) denote the number of orbits of G. Then

  • rb(G) =

1 |G|

  • g∈G

fix(g) = Eg∈G[fix(g)].

slide-79
SLIDE 79

Orbit Counting Lemma

i ∈ [n] is a fixpoint of g ∈ G if ig = i. fix(g) = number of fixpoints of g.

  • rb(G) = number of orbits of G.

Lemma (Orbit Counting Lemma)

Let G ≤ Sn and orb(G) denote the number of orbits of G. Then

  • rb(G) =

1 |G|

  • g∈G

fix(g) = Eg∈G[fix(g)]. Proof Define 0-1 matrix: Mg,i = 1 iff ig = i. Equate row-wise and column-wise sums using |O(i)| = |G|/|Gi|.

slide-80
SLIDE 80

Fixpoint free elements in G

Theorem (Jordan’s Theorem)

If G ≤ Sn is transitive then the group G has fixpoint free elements.

slide-81
SLIDE 81

Fixpoint free elements in G

Theorem (Jordan’s Theorem)

If G ≤ Sn 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.

slide-82
SLIDE 82

Fixpoint free elements in G

Theorem (Jordan’s Theorem)

If G ≤ Sn 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 = g1, g2, . . . , gk transitive, can we find a fixpoint free element in polynomial time?

slide-83
SLIDE 83

Cameron-Cohen’s Theorem

Theorem (CC92)

If G ≤ Sn is transitive then the group G has at least |G|/n many fixpoint elements. Proof

slide-84
SLIDE 84

Cameron-Cohen’s Theorem

Theorem (CC92)

If G ≤ Sn 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.

slide-85
SLIDE 85

Cameron-Cohen’s Theorem

Theorem (CC92)

If G ≤ Sn 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| =

  • g∈G

fix(g) =

  • g∈G1

fix(g) +

  • g∈G\G1

fix(g)

slide-86
SLIDE 86

Cameron-Cohen’s Theorem

Theorem (CC92)

If G ≤ Sn 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| =

  • g∈G

fix(g) =

  • g∈G1

fix(g) +

  • g∈G\G1

fix(g) |G| ≥ |G|/n + |G1| + |G \ (A ∪ G1)| Which yields |A| ≥ |G|/n.

slide-87
SLIDE 87

A Randomized Algorithm

Let G = S be a permutation group given as input by generating set S.

slide-88
SLIDE 88

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.
slide-89
SLIDE 89

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.

slide-90
SLIDE 90

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, n2 trials is bounded by (1 − 1/n)n2 ≈ e−n.

slide-91
SLIDE 91

Deterministic Algorithm

  • Let move(g) = n − fix(g). Orbit counting lemma restated:

Eg∈G[move(g)] = 1 |G|

  • g∈G

move(g) = n − orb(G).

slide-92
SLIDE 92

Deterministic Algorithm

  • Let move(g) = n − fix(g). Orbit counting lemma restated:

Eg∈G[move(g)] = 1 |G|

  • g∈G

move(g) = n − orb(G). For G transitive we have Eg∈G[move(g)] = n − 1.

slide-93
SLIDE 93

Deterministic Algorithm

  • Let move(g) = n − fix(g). Orbit counting lemma restated:

Eg∈G[move(g)] = 1 |G|

  • g∈G

move(g) = n − orb(G). For G transitive we have Eg∈G[move(g)] = n − 1. Since G1 has at least two orbits, Eg∈G1[move(g)] ≤ n − 2. Let G = ⊎π∈RG1π.

slide-94
SLIDE 94

Deterministic Algorithm

  • Let move(g) = n − fix(g). Orbit counting lemma restated:

Eg∈G[move(g)] = 1 |G|

  • g∈G

move(g) = n − orb(G). For G transitive we have Eg∈G[move(g)] = n − 1. Since G1 has at least two orbits, Eg∈G1[move(g)] ≤ n − 2. Let G = ⊎π∈RG1π. Eg∈G[move(g)] = Eπ∈REg∈G1π[move(g)].

slide-95
SLIDE 95

Deterministic Algorithm

  • Let move(g) = n − fix(g). Orbit counting lemma restated:

Eg∈G[move(g)] = 1 |G|

  • g∈G

move(g) = n − orb(G). For G transitive we have Eg∈G[move(g)] = n − 1. Since G1 has at least two orbits, Eg∈G1[move(g)] ≤ n − 2. Let G = ⊎π∈RG1π. Eg∈G[move(g)] = Eπ∈REg∈G1π[move(g)].

  • Thus, for some coset G1π of G1 in G we must have

Eg∈G1π[move(g)] > n − 1.

slide-96
SLIDE 96

Deterministic Algorithm Contd.

  • For each coset representative π ∈ R we explain how to efficiently

compute Eg∈G1π[move(g)]. Revisit the proof of the orbit counting lemma: Recall Mgπ,i = 1 iff igπ = i.

slide-97
SLIDE 97

Deterministic Algorithm Contd.

  • For each coset representative π ∈ R we explain how to efficiently

compute Eg∈G1π[move(g)]. Revisit the proof of the orbit counting lemma: Recall Mgπ,i = 1 iff igπ = i.

  • Number of 1’s in the ith column is |{g ∈ G1 | igπ = i}|.
slide-98
SLIDE 98

Deterministic Algorithm Contd.

  • For each coset representative π ∈ R we explain how to efficiently

compute Eg∈G1π[move(g)]. Revisit the proof of the orbit counting lemma: Recall Mgπ,i = 1 iff igπ = i.

  • Number of 1’s in the ith column is |{g ∈ G1 | igπ = i}|.
  • This number is zero if i and iπ−1 are in different G1-orbits, and is

|G1,i| otherwise. Thus, using the Schreir-Sims algorithm we can compute all column sums efficiently, and hence also the above expectation in polynomial time.

slide-99
SLIDE 99

Method of Conditional Probabilities

G G1π1 . . . G1πi G1,2τ1 . . . G1,2τℓ G1πk

slide-100
SLIDE 100

Method of Conditional Probabilities

G G1π1 . . . G1πi G1,2τ1 . . . G1,2τℓ G1πk

  • At the dth level of the tree compute the coset G1,...,dσ that

maximizes Eg∈G1,...,dσ[move(g)].

slide-101
SLIDE 101

Remarks and related questions

  • Method of conditional probabilities – Erd¨
  • s-Selfridge, Spencer,

Raghavan.

slide-102
SLIDE 102

Remarks and related questions

  • Method of conditional probabilities – Erd¨
  • s-Selfridge, Spencer,

Raghavan.

  • Fixpoint free element checking in general permutation groups

G = S ≤ Sn is NP-complete.

slide-103
SLIDE 103

Remarks and related questions

  • Method of conditional probabilities – Erd¨
  • s-Selfridge, Spencer,

Raghavan.

  • Fixpoint free element checking in general permutation groups

G = S ≤ Sn is NP-complete.

  • Fein-Kantor-Schacher: Every transitive permutation group

G ≤ Sn for n ≥ 2 has a fixpoint free element of prime power order. Is there an efficient algorithm for finding one?

slide-104
SLIDE 104

Remarks and related questions

  • Method of conditional probabilities – Erd¨
  • s-Selfridge, Spencer,

Raghavan.

  • Fixpoint free element checking in general permutation groups

G = S ≤ Sn is NP-complete.

  • Fein-Kantor-Schacher: Every transitive permutation group

G ≤ Sn for n ≥ 2 has a fixpoint free element of prime power order. Is there an efficient algorithm for finding one?

  • Isaacs-Kantor-Spaltenstein: For G ≤ Sn and prime p dividing

|G|, there are at least |G|/n many elements whose order is divisible by p. Deterministic algorithm?

slide-105
SLIDE 105

Remarks and related questions

  • Method of conditional probabilities – Erd¨
  • s-Selfridge, Spencer,

Raghavan.

  • Fixpoint free element checking in general permutation groups

G = S ≤ Sn is NP-complete.

  • Fein-Kantor-Schacher: Every transitive permutation group

G ≤ Sn for n ≥ 2 has a fixpoint free element of prime power order. Is there an efficient algorithm for finding one?

  • Isaacs-Kantor-Spaltenstein: For G ≤ Sn and prime p dividing

|G|, there are at least |G|/n many elements whose order is divisible by p. Deterministic algorithm?

slide-106
SLIDE 106

Bases for Permutation Groups

  • Let G ≤ Sn be a permutation group. A subset of points B ⊆ [n]

is called a base for G if the subgroup GB of G that fixes every point of G is the identity.

slide-107
SLIDE 107

Bases for Permutation Groups

  • Let G ≤ Sn be a permutation group. A subset of points B ⊆ [n]

is called a base for G if the subgroup GB of G that fixes every point of G is the identity.

  • This generalizes bases for vector spaces and has proven

computationally useful. There is a library of nearly linear-time algorithms for small base groups due to Akos Seress and others.

slide-108
SLIDE 108

Bases for Permutation Groups

  • Let G ≤ Sn be a permutation group. A subset of points B ⊆ [n]

is called a base for G if the subgroup GB of G that fixes every point of G is the identity.

  • This generalizes bases for vector spaces and has proven

computationally useful. There is a library of nearly linear-time algorithms for small base groups due to Akos Seress and others.

  • Finding minimum bases of permutation groups is NP-hard [Blaha

1992] even for cyclic groups and groups with bounded orbit size.

slide-109
SLIDE 109

Bases for Permutation Groups

  • Let G ≤ Sn be a permutation group. A subset of points B ⊆ [n]

is called a base for G if the subgroup GB of G that fixes every point of G is the identity.

  • This generalizes bases for vector spaces and has proven

computationally useful. There is a library of nearly linear-time algorithms for small base groups due to Akos Seress and others.

  • Finding minimum bases of permutation groups is NP-hard [Blaha

1992] even for cyclic groups and groups with bounded orbit size.

slide-110
SLIDE 110

Approximating minimum bases

  • If G = S ≤ Sn has minimum base size b then |G| ≤ nb.
slide-111
SLIDE 111

Approximating minimum bases

  • If G = S ≤ Sn has minimum base size b then |G| ≤ nb.

Proof If {1, 2, . . . , b} is a minimum size base then |G[i−1]|/|G[i]| ≤ n and |G[b]| = 1.

slide-112
SLIDE 112

Approximating minimum bases

  • If G = S ≤ Sn has minimum base size b then |G| ≤ nb.

Proof If {1, 2, . . . , b} is a minimum size base then |G[i−1]|/|G[i]| ≤ n and |G[b]| = 1.

  • An irredundant base B = {α1, α2, . . . , αd} is such that no αi is

fixed by the pointwise stabilizer of all earlier points. Hence |G| ≥ 2d.

slide-113
SLIDE 113

Approximating minimum bases

  • If G = S ≤ Sn has minimum base size b then |G| ≤ nb.

Proof If {1, 2, . . . , b} is a minimum size base then |G[i−1]|/|G[i]| ≤ n and |G[b]| = 1.

  • An irredundant base B = {α1, α2, . . . , αd} is such that no αi is

fixed by the pointwise stabilizer of all earlier points. Hence |G| ≥ 2d.

  • Thus, any irredudant base is of size d ≤ b log n.
slide-114
SLIDE 114

A Better Approximation Algorithm

  • Having picked {α1, α2, . . . , αi}, pick αi+1 from an orbit of

largest size in the pointwise stabilizer of {α1, α2, . . . , αi}.

slide-115
SLIDE 115

A Better Approximation Algorithm

  • Having picked {α1, α2, . . . , αi}, pick αi+1 from an orbit of

largest size in the pointwise stabilizer of {α1, α2, . . . , αi}. Claim This yields a base of size (log log n + O(1))b.

slide-116
SLIDE 116

A Better Approximation Algorithm

  • Having picked {α1, α2, . . . , αi}, pick αi+1 from an orbit of

largest size in the pointwise stabilizer of {α1, α2, . . . , αi}. Claim This yields a base of size (log log n + O(1))b. If H ≤ G then H has an orbit of size at least |H|1/b. Fixing a point in it makes |Hα| ≤ |H|1/b.

slide-117
SLIDE 117

A Better Approximation Algorithm

  • Having picked {α1, α2, . . . , αi}, pick αi+1 from an orbit of

largest size in the pointwise stabilizer of {α1, α2, . . . , αi}. Claim This yields a base of size (log log n + O(1))b. If H ≤ G then H has an orbit of size at least |H|1/b. Fixing a point in it makes |Hα| ≤ |H|1/b.

  • Thus, by picking b log log n points |G shrinks as

|G|(1−1/b)b log log n ≈ eb. Pick O(b) more points irredundantly.

slide-118
SLIDE 118

Other Finite Groups

  • Let G ≤ GLn(Fq), where q is a prime power and Fq is the finite

field of size q.

slide-119
SLIDE 119

Other Finite Groups

  • Let G ≤ GLn(Fq), where q is a prime power and Fq is the finite

field of size q.

  • Membership testing is likely to be hard.
slide-120
SLIDE 120

Other Finite Groups

  • Let G ≤ GLn(Fq), where q is a prime power and Fq is the finite

field of size q.

  • Membership testing is likely to be hard.
  • Given a, b ∈ F×

q , checking if ax = b(modp) is considered a

computationally hard problem. Finding x is the so-called discrete log problem.

slide-121
SLIDE 121

Other Finite Groups

  • Let G ≤ GLn(Fq), where q is a prime power and Fq is the finite

field of size q.

  • Membership testing is likely to be hard.
  • Given a, b ∈ F×

q , checking if ax = b(modp) is considered a

computationally hard problem. Finding x is the so-called discrete log problem.

  • We cannot embed F×

q in Sn for small n if q − 1 has “large” prime

factors.

slide-122
SLIDE 122

References/further reading

  • Peter J Cameron “Permutation Groups”, LMS Student Texts 45,

Cambridge Univ Press.

  • Eugene M Luks “Permutation groups and polynomial-time

computation”, in Groups and Computation, DIMACS series in Discrete Mathematics and Theoretical Computer Science 11 (1993), 139-175. Available online.

  • Laszlo Babai “Local expansion of vertex-transitive graphs and

random generation in finite groups”.

slide-123
SLIDE 123

Other Finite Groups Contd.

Suppose G = g1, g2, . . . , gk where we assume no structure about

  • G. What can we compute efficiently? Randomness helps.
  • Random subproducts of g1, g2, . . . , gk are elements of the form

gǫ1

1 gǫ2 2 . . . gǫk k , ǫi ∈R {0, 1}.

slide-124
SLIDE 124

Testing Commutativity

Input G = g1, g2, . . . , gk.

slide-125
SLIDE 125

Testing Commutativity

Input G = g1, g2, . . . , gk.

  • Check if gigj = gjgi for all pairs i, j. This is an O(k2) test, and

the best possible deterministic test.

slide-126
SLIDE 126

Testing Commutativity

Input G = g1, g2, . . . , gk.

  • Check if gigj = gjgi for all pairs i, j. This is an O(k2) test, and

the best possible deterministic test. A randomized test Let x = gǫ1

1 gǫ2 2 . . . gǫk k and y = gµ1 1 gµ2 2 . . . gµk k

be two independent subproducts. Accept iff xy = yx.

slide-127
SLIDE 127

Testing Commutativity Contd.

  • Claim If H < G is a proper subgroup then

Prob[gǫ1

1 gǫ2 2 . . . gǫk k ∈ H] ≥ 1/2.

slide-128
SLIDE 128

Testing Commutativity Contd.

  • Claim If H < G is a proper subgroup then

Prob[gǫ1

1 gǫ2 2 . . . gǫk k ∈ H] ≥ 1/2.

Prob[xy = yx] ≤ Prob[x ∈ Z(G)] + Prob[y ∈ C(x) ∧ x ∈ Z(G)] ≤ p + (1 − p)/2 = (1 + p)/2 ≤ 3/4

slide-129
SLIDE 129

Testing Commutativity Contd.

  • Claim If H < G is a proper subgroup then

Prob[gǫ1

1 gǫ2 2 . . . gǫk k ∈ H] ≥ 1/2.

Prob[xy = yx] ≤ Prob[x ∈ Z(G)] + Prob[y ∈ C(x) ∧ x ∈ Z(G)] ≤ p + (1 − p)/2 = (1 + p)/2 ≤ 3/4 Curious Fact If G is nonabelian then Probx,y∈G[xy = yx] ≤ 5/8.

slide-130
SLIDE 130

Erd¨

  • s-R´

enyi Sequences

  • Random subproducts come from an Erd¨
  • s-R´

enyi paper titled “Probabilistic methods in group theory”.

slide-131
SLIDE 131

Erd¨

  • s-R´

enyi Sequences

  • Random subproducts come from an Erd¨
  • s-R´

enyi paper titled “Probabilistic methods in group theory”. A random subproduct ge1

1 ge2 2 . . . gek k

is ε-uniform in G if for all x ∈ G (1 − ε)/|G| ≤ Prob[ge1

1 ge2 2 . . . gek k = x ≤ (1 + ε)/|G|.

If k ≥ 2 log |G| + 2 log(1/ε) + log(1/δ) and g1, g2, . . . , gk are randomly picked, then ge1

1 ge2 2 . . . gek k

is ε-uniform in G with probability 1 − δ.

slide-132
SLIDE 132
slide-133
SLIDE 133

Straight-line programs for G

  • G = g1, g2, . . . , gk.
slide-134
SLIDE 134

Straight-line programs for G

  • G = g1, g2, . . . , gk.

Define the cube C = {ge1

1 . . . gek k | ei ∈ {0, 1}} and C −1 be the

inverses of the elements in C.

slide-135
SLIDE 135

Straight-line programs for G

  • G = g1, g2, . . . , gk.

Define the cube C = {ge1

1 . . . gek k | ei ∈ {0, 1}} and C −1 be the

inverses of the elements in C. If G = C −1C, we have short st-line programs for all of G.

slide-136
SLIDE 136

Straight-line programs for G

  • G = g1, g2, . . . , gk.

Define the cube C = {ge1

1 . . . gek k | ei ∈ {0, 1}} and C −1 be the

inverses of the elements in C. If G = C −1C, we have short st-line programs for all of G. Otherwise, there is a generator gj such that C −1Cgj ⊂ C −1C.

slide-137
SLIDE 137

Straight-line programs for G

  • G = g1, g2, . . . , gk.

Define the cube C = {ge1

1 . . . gek k | ei ∈ {0, 1}} and C −1 be the

inverses of the elements in C. If G = C −1C, we have short st-line programs for all of G. Otherwise, there is a generator gj such that C −1Cgj ⊂ C −1C. Include an element gk+1 ∈ C −1Cgj \ C −1C to extend the sequence.

slide-138
SLIDE 138

Straight-line programs for G

  • G = g1, g2, . . . , gk.

Define the cube C = {ge1

1 . . . gek k | ei ∈ {0, 1}} and C −1 be the

inverses of the elements in C. If G = C −1C, we have short st-line programs for all of G. Otherwise, there is a generator gj such that C −1Cgj ⊂ C −1C. Include an element gk+1 ∈ C −1Cgj \ C −1C to extend the sequence. As Cgk+1 ∩ C = ∅ we have doubled the size of the cube.

slide-139
SLIDE 139

Short straight-line programs

In ℓ ≤ log |G| steps we obtain elements gk+1, gk+2, . . . , gk+ℓ ∈ G such that for the cube Cℓ = {ge1

1 . . . gek+ℓ k+ℓ | ei ∈ {0, 1}}.

we have G = C −1

Cℓ.

slide-140
SLIDE 140

Short straight-line programs

In ℓ ≤ log |G| steps we obtain elements gk+1, gk+2, . . . , gk+ℓ ∈ G such that for the cube Cℓ = {ge1

1 . . . gek+ℓ k+ℓ | ei ∈ {0, 1}}.

we have G = C −1

Cℓ. Each g ∈ G has a straight-line program of length

log |G|

  • i=0

(2(k + i) + 1) + 2(k + log |G|) = O((k + log |G|) log |G|) in terms of the original generators.

slide-141
SLIDE 141

THANKS!