Permutation Group Algorithms 2016 1 / 32 Permutation Group Algorithms Zoltán Halasi Eötvös Loránd University 2016
More group theory Permutation Group Algorithms 2016 2 / 32 Going into deeper to the structure of groups
More group theory Permutation Group Algorithms 2016 3 / 32 Normal subgroups, quotient groups; Composition factors Normal subgroup: N G, if N G and g G : Ng = gn, g 1 Ng := {g 1 ng n N} = N N G, g, h G Ng Nh = N(gh) (as product of complexes) Quotient group: G/N := {Ng g G} with multiplication given by Ng Nh = Ngh. (Unit element: N = N 1, Inverse (Ng) 1 = Ng 1.) G is simple if N G N = 1 or N = G Composition series: 1 = G k G k 1... G 1 G 0 = G, with G i 1 /G i simple for every 1 i k. The name of the G i 1 /G i s: composition factors Theorem (Jordan-Hölder): The composition factors are uniquely determined for a group up to ordering and isomorphism.
More group theory Permutation Group Algorithms 2016 4 / 32 The finite simple groups Every finite group is built up from finite simple groups Classification of Finite Simple Groups (CFSG, 1980) Every finite simple group is isomorphic to one of the following: Abelian: Z p for p prime; Alternating: Alt n for n 5; Groups of Lie type: Related to simple Lie algebras Chevalley groups: A n (q), B n (q), C n (q), D n (q) E 6 (q), E 7 (q), E 8 (q), F 4 (q), G 2 (q) Steinberg groups: 2 A n (q 2 ), 2 D n (q 2 ), 2 E 6 (q 2 ), 3 D 4 (q 3 ) Suzuki Ree group and Tits group: 2 B 2 (2 2n+1 ), 2 F 4 (2 2n+1 ), 2 G 2 (3 2n+1 ), 2 F 4 (2) One of the 26 sporadic gorups (Named after their discover): M 11, M 12, M 22, M 23, M 24, J 1, J 2, J 3, J 4, Co 1, Co 2, Co 3, Fi 22, Fi 23, Fi 24, HS, McL, He, Ru, Suz, O N, HN, Ly, Th, B, M
More group theory Permutation Group Algorithms 2016 4 / 32 The finite simple groups Every finite group is built up from finite simple groups Classification of Finite Simple Groups (CFSG, 1980) Every finite simple group is isomorphic to one of the following: Abelian: Z p for p prime; Alternating: Alt n for n 5; Groups of Lie type: Related to simple Lie algebras Chevalley groups: A n (q), B n (q), C n (q), D n (q) E 6 (q), E 7 (q), E 8 (q), F 4 (q), G 2 (q) Steinberg groups: 2 A n (q 2 ), 2 D n (q 2 ), 2 E 6 (q 2 ), 3 D 4 (q 3 ) Suzuki Ree group and Tits group: 2 B 2 (2 2n+1 ), 2 F 4 (2 2n+1 ), 2 G 2 (3 2n+1 ), 2 F 4 (2) One of the 26 sporadic gorups (Named after their discover): M 11, M 12, M 22, M 23, M 24, J 1, J 2, J 3, J 4, Co 1, Co 2, Co 3, Fi 22, Fi 23, Fi 24, HS, McL, He, Ru, Suz, O N, HN, Ly, Th, B, M
More group theory Permutation Group Algorithms 2016 5 / 32 Homomorphisms and quotient groups Homomorphism: ϕ : G H, product-preserving, i.e. ϕ(xy) = ϕ(x)ϕ(y) for x, y G. Image: Im(ϕ) := {h H g G : ϕ(g) = h} H; Kernel: ker(ϕ) := {n G ϕ(n) = 1 H } G. Isomorphism: Bijective homomorphism. ϕ : G H, Im ϕ = H, ker(ϕ) = 1 (Notation: G H); First Isomorphism theorem ϕ : G H is a homomorphism Im ϕ G ker ϕ Generators for G with help of homomorphism: Let ϕ : G H homomorphism, X ker(ϕ), X = ker(ϕ), and Y G be any set satisfying ϕ(y) y Y = Im(ϕ) Then X Y is a set of generators for G.
More group theory Permutation Group Algorithms 2016 6 / 32 Blocks and primitivity In the following if G acts on Ω, g G and X Ω, then let X g := {x g x X }. Definition Let G act on Ω in a transitive way A partition B = {B 1,..., B k } of Ω is a block system for G if for every B i B and g G we have B g i B The elements of B = {B 1,..., B k } are called blocks A block system is trivial, if either B = {Ω} or B = {{ω 1 },..., {ω n }} The action on G is primitive if no nontrivial block system for G exists; otherwise the action is called imprimitive An equivalence relation given on Ω is called a G-congruence if G preserves this relation, i.e. if α β then α g β g holds for every g G
More group theory Permutation Group Algorithms 2016 7 / 32 Blocks and primitivity Let G act on Ω in a trnsitive way A partition B = {B 1,..., B k } of Ω is a block system if and only if the relation defined by B (i.e. α β iff they are in the same B i ) is a G-congruence For each 1 i, j k there is a g G such that B g i = B j As a result, B 1 = B 2 =... = B k and k B 1 = Ω Let α Ω be fixed. Then { α Ω, is a block} {H G α H G}, G = {g G g = }, H α H Ω In particular, the action is primitive G α max G If G is a p-group (i.e. G = p k is a prime power), then M max G M G and G : M = p. A consequence is that if G is a p-group acting on Ω, then G is primitive Ω = p
More group theory Permutation Group Algorithms 2016 8 / 32 Induced actions for a block system Let G Sym(Ω) transitive and B = {B 1,..., B k } a block system. top action The elements of G permutes the elements of the set B = {B 1,..., B k }, which defines an action of G on B a homomorphism G Sym(B) with kernel {g G B g i = B i, i} bottom action The subgroup G Bi permutes the elements of B i between each other The restriction map defines a homomorphism G Bi Sym(B i ) The whole action of G is somehow built up from these two actions (a subgroup of the wreath product) The non-trivial block system B = {B 1,..., B k } is minimal if there is no block B 1 B 1 (i.e. part of block system) such that 1 < B 1 < B 1 ( the action of G B1 on B 1 is primitive) It is called maximal if there is no block B 1 B 1 with B 1 < B 1 < Ω ( the action of G on B is primitive)
More group theory Permutation Group Algorithms 2016 9 / 32 How to find block systems (Atkinson s algorithm) Let G Sym(Ω) given by a set of generators X and Γ Ω. The algorithm finds the finest block system B = {B 1,..., B k } such that Γ B 1. (Finest means: The B i -s are as small as possible.) Applying this for each subset Γ = {1, α} with α Ω \ {1} one can find all the minimal block systems; Continuing this with the top action of G in a recursive way one can find all the block systems for G; The algorithm has polynomial running time A maximal block system can be found for G in polynomial time.
More group theory Permutation Group Algorithms 2016 10 / 32 Atkinson s algorithm Main idea: We maintain an equivalence class on Ω. is stored by an array r indexed by the elements of Ω. At each step, r[α] α is a representative of the equivalence class of α such that r[α] = r[β] iff α β; As initialisation, let γ 1 Γ be fixed and define r(α) := γ 1 for α Γ and r(α) := α otherwise; During the algorithm, whenever we find α, β Ω such that α β we apply all generators x X and modify to let α x = β x ; This modification is done by a subroutine usually called Union-find, which we describe first.
More group theory Permutation Group Algorithms 2016 11 / 32 Psudocode: Union-find Union-find(r, α, β) Input: the array r representing on Ω, and α, β Ω representatives; Result: The equivalence classes of α and β are merged; 1 for ω Ω do 2 if r[ω] = β then 3 r[ω] := α;
More group theory Permutation Group Algorithms 2016 12 / 32 The implementation of Atkinson s algorithm As initialisation, we choose γ 1 := Γ[1] and define r[α] := γ 1 for α Γ, and r[α] := α otherwise; We also maintain an other array q (This helps us to decrease the number of steps the algorithm takes); We initialise q := Γ. During the algorithm we go through the elements of q; If α q is the next element, then let β := r[α], so α β. Now, we search for an element x X satisfying α x (β) x r[α x ] r[β x ]. If we find one, then we call Union-find(r, r[α x ], r[β x ]) to merge the classes of α x and β x, and we append r[β x ] to the list q (So, we always add an element to q if ends to being the representative of its class) When we run out of the elements of q, then r represents the finest block system containing Γ in a block.
More group theory Permutation Group Algorithms 2016 13 / 32 Pseudocode: Atkinson s algorithm Atkinson(X, Γ) Input: X with X = G, and Γ Ω; Output: Array r representing the finest block system containing Γ in a block. 1 r := [ ]; q := [ ]; 2 for α Ω do 3 if α Γ then r[α] := Γ[1]; Append α to q; 4 else r[α] := α; 5 for α q do 6 β := r[α]; 7 for x X do 8 if r[α x ] r[β x ] then 9 Union-find(r, r[α x ], r[β x ]); 10 Append r[β x ] to q; 11 return r;
More group theory Permutation Group Algorithms 2016 14 / 32 How to examine a general permutation group? A permutation group G Sym(Ω) is given with X s.t. X = G. We would like to understand the structure of G e.g. compute its composition factors Divide-and-conquer: We divide a problem into several subcases, which we solve independently For complexity: If we can handle each subcases in polynomial time, and the number of subcases is also polynomial (in input length), then the original problem can also be solved in polynomial time Divide-and-conquer for permutation groups: General Transitive Primitive Simple (CFSG)
More group theory Permutation Group Algorithms 2016 15 / 32 Reducing to transitive groups Let G Sym(Ω) given by X, X = G 1 We apply the orbit algorithm {Ω 1,..., Ω k } orbits of G; If G is not transitive, then Restriction maps: ϕ i : G Sym(Ω i ); G i := ϕ i (G) Sym(Ω i ) is generated by ϕ i (X ) G is a subdirect product of G 1... G k Sym(Ω 1 )... Sym(Ω k ); The composition factors of G can be calculated from the composition factors of the G i -s; We can reduce many problems for the case G Sym(Ω) transitive.
More group theory Permutation Group Algorithms 2016 16 / 32 Reducing to primitive groups 2 For G Sym(Ω) transitive, we use e.g. Atkinson s algorithm for every pair Γ := {1, α}, until we find a minimal block system B = {B 1,..., B k } for G; (or we get G is primitive) If we found a non-trivial B, then The top action: Φ : G Sym(B) can be handled, where Φ(G) Sym(B) is generated by Φ(X ); For each i, a set of generators for the setwise stabiliser H i = G Bi can be calculated by the orbit-stabiliser algorithm used for Φ(G) Sym(B); The action of H i can be restricted to B i. Thus, we get H i is a primitive permutation group acting on B i ; G can be viewed as a subgroup of the wreath product H 1 Φ(G); One can continue this process to Φ(G) Sym(B) in a recursive way to find primitive components for G; In that way, many questions can be reduced for primitive groups.
More group theory Permutation Group Algorithms 2016 17 / 32 The O Nan Scott theorem 3 The primitive permutation groups are classified. Theorem (O Nan Scott) Let G Sym(Ω) be a primitive permutation group The socle of G: The subgroup generated by all the minimal normal subgroups of G; If G Sym(Ω) is primitive, then soc(g) S k for some S simple group; If S C p is Abelian, then G is affine; i.e. Ω = soc(g) = F k p is a vector space, soc(g) acts on itself regularly (by translations); and the point stabiliser G 0 GL(k, q) is a matrix group other field of CGT; Otherwise, there are several possibilities for the action (diagonal, product action, twisted wreath product, almost simple) which are described; Then one can use CFSG to find the possible values of S.
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 18 / 32 Isomorphism of Graphs of Bounded Valence
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 19 / 32 The graph isomorphism problem There was a major breakthrough in graph theory at the end of the last year: Theorem (Babai, Nov 2015) Let X 1, X 2 be two graphs on n vertices. Then there is an algorithm which decides whether the two graphs are isomorphic in quasipolynomial time, i.e. the algorithm has running time n logc n for some constant c > 0. In what follows, we present a result of Luks from 1982, which was also a starting point of Babai s work.
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 20 / 32 Notation and the result of Luks Let X be a (finite, undirected, simple) graph. V (X ) = set of vertices of X ; E(X ) = set of edges of X ; If a, b V (X ) are adjacent, write (a, b) E(X ); The degree of a V (X ) is d(a) := {b V (X ) (a, b) E(X )} ; The valence of X is v(x ) := max{d(a) a V (X )}. For two graphs X 1, X 2 a graph isomorphism ϕ : X 1 X 2 is a bijective map ϕ : V (X 1 ) V (X 2 ) such that a, b V (X 1 ) : (a, b) E(X 1 ) (ϕ(a), ϕ(b)) E(X 2 ); For a graph X let Aut(X ) := {All ϕ : X X isomorphisms}. Theorem (Luks, (1982)) Let X 1, X 2 be graphs with X 1 = X 2 = n and v(x 1 ) = v(x 2 ) t be bounded. Then the isomorphism of X 1 and X 2 can be decided in polynomial-time, i.e. which has running time O(n c ) for some constant c = c(t).
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 21 / 32 Reducibility to group-theoretic problems Let X 1, X 2 be graphs. Decide whether X 1 X 2, i.e. there exists a graph isomorphism ϕ : X 1 X 2? We can assume that X 1 and X 2 are connected. Possible ways to reduce the problem for connected graphs: Connect each vertices of X i with a newly added vertex a i ; (Problem: the valency increases) Check isomorphism for each pair (C 1, C 2 ) of connected components C 1 of X 1 and C 2 of X 2. Then search for a perfect matching in a bipartite graph. Let X 1, X 2 be connected graphs, and form X = X 1 X 2 (disjoint union). Equivalent: X 1 X 2 ; g Aut(X ) such that g(x 1 ) = X 2, g(x 2 ) = X 1 ; For any set of generators S Aut(X ), g S such that g(x 1 ) = X 2, g(x 2 ) = X 1. Graph isomorphism can be reduced in polynomial-time to the problem of finding a set of generators for Aut(X ) of a graph X.
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 22 / 32 Reducibility to group-theoretic problems Graph automorphisms with fixed edge. Let X be a graph, e = (a, b) E(X ) and Aut e (X ) = {ϕ Aut(X ) ϕ(e) = e} ϕ({a, b}) = {a, b}}. Graph isomorphism is can be reduced in polynomial-time to the problem of finding generators for Aut e (X ). Let X 1, X 2 be (connected) graphs, fix an edge e 1 E(X 1 ). For any e 2 E(X 2 ) define a new graph X : Take the disjoint union X 1 X 2; Insert new vertices v 1 on e 1 and v 2 on e 2; Connect v 1 and v 2 with a new edge e. Find a set of generators S for Aut e (X ) in time O(n c ). ϕ : X 1 X 2 isomorphism s.t. ϕ(e 1 ) = e 2 g Aut e (X ), g(v 1 ) = v 2 s S, g(v 1 ) = v 2. Doing this for every edge e 2 E(X 2 ), X 1 X 2 can be decided in time E(X 2 ) O(n c ) ( n 2) O(n c ) = O(n c+2 ).
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 23 / 32 Reducibility to the Color Automorphism Problem Definition (Color Automorphism Problem) Let A be a colored set (i.e. a set and a coloring χ : A {colors}) and a permutation group G Sym(A) given by a set of generators. Find a set of generators for the subgroup {g G χ(a g ) = χ(a), a A} of color preserving maps. If X is a graph with V (X ) = n, then finding generators for Aut(X ) is polynomially reducible to the Color Automorphism Problem for a pair (A, G) where A is a suitable colored set, G Sym(A) and G S n. Let A := {{a, b} a, b V (X )}. G = Sym(V (X )) S n acts on A by {a, b} g := {a g, b g }. Define coloring χ : A {0, 1} by χ({a, b}) = 0, if (a, b) / E(X ) and χ({a, b}) = 1, if (a, b) E(X ) g G preserves χ g Aut(X ).
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 24 / 32 Reducibility to the Color Automorphism Problem Definition (The class of groups Γ k ) For a k > 0 integer, the group G Γ k if every composition factor of G is a subgroup of S k. If N G, then G Γ k N, G/N Γ k ; G Γ k and H G H Γ k. Lemma If X is a graph with valence t, then the problem of finding a set of generators for Aut e (X ) for an e E(X ) is polynomial-time reducible to the Color Automorphism Problem for groups in Γ t 1.
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 25 / 32 Reducibility to the Color Automorphism Problem Define subgraphs X r X, r = 1,..., n by X r = {all pathes of length r through e}. X r is not an induced subgraph! If a, b V (X r ) \ V (X r 1 ) and (a, b) E(X ), then (a, b) E(X r+1 ) \ E(X r ). g Aut e (X r+1 ) X r is g-invariant Restriction map π r : Aut e (X r+1 ) Aut e (X r ) (group homomorphism) Homomorphism Theorem: Aut e (X r+1 )/ ker(π r ) Im(π r ) Generators for ker(π r )+ Extension of Generators for Im(π r ) to X r+1 Generators for Aut e (X r+1 )
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 26 / 32 Reducibility to the Color Automorphism Problem Set of parents : F := {U V (X r ) 1 U t} parents function : f : V (X r+1 ) \ V (X r ) F, f (a) := {u V (X r ) (a, u) E(X r+1 )} Siblings: a, b V (X r+1 ) if f (a) = f (b). Equivalence relation on V (X r+1 ) V (X r+1 ) = 1... s (Equivalence classes of siblings) v(x ) t i t 1 for each i. ker(π r ) Sym( 1 ) Sym( 2 )... Sym( s ) ker(π r ) Γ t 1 and a generator set for ker(π r ) can be chosen. By induction, Aut e (X r ) Γ t 1 Aut e (X r+1 )/ker(π r ) Im(π r ) Γ t 1 Aut e (X r+1 ) Γ t 1 for every r.
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 27 / 32 Reducibility to the Color Automorphism Problem Aut e (X r ) Γ t 1 acts on F Aut e (X r ) Sym(F) A coloring on F: F s = {U F f 1 (U) = s} for 0 s t 1; F = {{u, v} F u, v V (X r ), (u, v) E(X r+1 ) \ E(X r )}; F 0 F, F 0 \ F, F 1 F, F 1 \ F,..., F t 1 F, F t 1 \ F is a partition of F a coloring on F with 2t colors. g Aut e (X r ) is extendable to X r+1 coloring g preserves this A polynomial-time algorithm for the Color Automorphism Problem A set of generators for Im(π r ) in polynomial time. By induction, we can find a set of generators for Aut e (X r ) with r = 1, 2,..., n also for Aut e (X ) = Aut e (X n ).
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 28 / 32 A polynomial-time solution of the Color Automorphism Problem for 2-groups If X 1, X 2 have valence 3, then the above argument shows that? the question X 1 X2 is reducible in polynomial-time to the Color Automorphism Problem for G Γ 2 G is a 2-group; For a colored set A and a, b A let a b a has the same color as b ; For B A and K Sym(A) let C B (K) := {σ K b σ b, b B}. We will use the following properties C B (K K ) = C B (K) C B (K ) for every B A, and K, K Sym(A); C B B (K) = C B (C B (K)) for every B, B A, and K Sym(A).
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 29 / 32 A generalization of the Color Automorphism Problem We will use divide-and-conquer algorithm to the following generalization Problem Let A be a colored set, G Sym(A) be a 2-group given by a set of generators, B A a G-invariant subset and σ Sym(A). Find C B (Gσ) in polynomial time of B. This is a really generalization of the Color Automorphism Problem (take B = A, σ = 1) If C B (Gσ), then C B (Gσ) = C B (G)σ 0 for any σ 0 C B (Gσ); Input: (B, σ, X ), where X = G; Output: (σ 0, X 0 ), where σ 0 C B (Gσ); X 0 = C B (G).
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 30 / 32 By assumption, G acts on B. First we check, whether this action is transitive. If not, then we can find a proper disjoint union B = B 1 B 2 with B 1, B 2 are G-invariant; We have C B (Gσ) = C B2 (C B1 (Gσ)); Recursive call: First apply the algorithm to input (B 1, σ, X ) to get σ 1, X 1 such that G 1 := C B1 (G) = X 1 and C B1 (Gσ) = G 1 σ 1 ; Then apply the algorithm to input (B 2, σ 1, X 1 ) to get σ 2, X 2 such that C B (Gσ) = C B2 (G 1 σ 1 ) = X 2 σ 2 ; If the action of G is transitive on B, then we can find a system of maximal blocks for G. Since G is a 2-group, every such block system is of the form B = {B 1, B 2 } with B 1 = B 2 = B /2; Let H := G B1 = G B2 and τ G \ H; Then we can find such a τ and a set of generators for H (By using the orbit-stabilizer algorithm);
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 31 / 32 Then G = H Hτ. Furthermore, C B (Gσ) = C B (Hσ Hτσ) = C B (Hσ) C B (H(τσ)) = C B2 (C B1 (Hσ)) C B2 (C B1 (H(τσ)). This means that the Problem for input (B, σ, X ) can be reduced in polynomial time to four similar problems on sets B 1 and on B 2 with B 1 = B 2 = B /2. Finally, if B = {b}, then C B (Gσ) is either Gσ or (it can be decided in constant time) One can prove that by induction that the total time this recursive algorithm needs is still polynomial in B.
Isomorphism of Graphs of Bounded Valence Permutation Group Algorithms 2016 32 / 32 Thank you for your attention!