Graph Automorphisms Graph Automorphisms Bernard Knueven CS 594 - Graph Theory March 12, 2014 Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 1 / 31 Graph Automorphisms Agenda 1 Definitions 2 Group Theory 3 Examples 4 History 5 Applications 6 Open Problems 7 References 8 Homework Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 2 / 31 Graph Automorphisms Definitions Isomorphism and Automorphism Let X and Y be simple graphs. We say X and Y are isomorphic and write X – Y if there exists a bijection φ : V pX q Ñ V pY q such that uv P EpX q if and only if φpuqφpv q P EpY q. An isomorphism from X to itself is called an automorphism of X . We denote the set of all automorphisms on X as AutpX q. We can see that AutpX q forms a group under the composition operator. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 3 / 31 Graph Automorphisms Group Theory Definition of Group A nonempty set G together with an operation ˚ is called a group if the following hold: Closure: For all a, b P G, a ˚ b P G. Associativity: For all a, b, c P G, pa ˚ bq ˚ c “ a ˚ pb ˚ cq. Identity Element: There exists e P G, such that for all a P G, e ˚ a “ a “ a ˚ e. Inverse Element: For all a P G, there exists b P G such that a ˚ b “ b ˚ a “ e, where e is the identity element. We denote the group as pG, ˚q. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 4 / 31 Graph Automorphisms Group Theory Some Results from Group Theory The group axioms imply that the identity and inverses are unique. If pG, ˚q is a group, H Ď G is nonempty, and H with the operation of G is a group, then H is called a subgroup of G. We write H ď G. Lagrange’s Theorem Suppose G is a finite group. If H ď G, then |H| |G|. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 5 / 31 Graph Automorphisms Group Theory Examples of Groups pZ, `q ď pQ, `q ď pR, `q ď pC, `q pQzt0u, ¨q The set of all permutations of a set V is a group under composition and is denoted SympV q or Sympnq when |V | “ n. Notice that |Sympnq| “ n! For a graph X , we have then that AutpX q ď SympV pX qq. Question: For which graphs of degree n do we have AutpX q – Sympnq? Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 6 / 31 Graph Automorphisms Group Theory Examples of Groups pZ, `q ď pQ, `q ď pR, `q ď pC, `q pQzt0u, ¨q The set of all permutations of a set V is a group under composition and is denoted SympV q or Sympnq when |V | “ n. Notice that |Sympnq| “ n! For a graph X , we have then that AutpX q ď SympV pX qq. Question: For which graphs of degree n do we have AutpX q – Sympnq? When X “ Kn and the empty graph on n vertices, that is, X “ Kn . Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 6 / 31 Graph Automorphisms Group Theory A bit more notation For v P V and g P SympV q, v g will denote the image of vertex v under the permutation g. In this way, for G ď SympV q, we say that ‘G acts on V ’. Define orbpv q “ tu P V | Dg P G such that v g “ uu. In our context, when V is the vertex set of a graph X and G “ AutpX q, we will call orbpv q the orbit of vertex v . It can be shown that the orbits partition the vertex set [13]. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 7 / 31 Graph Automorphisms Group Theory Groups of Permutations Let’s look at Symp3q. There are 3! “ 6 permutations 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 Ó Ó Ó, Ó Ó Ó, Ó Ó Ó, Ó Ó Ó, Ó Ó Ó, Ó Ó Ó 1 2 3 2 1 3 3 2 1 1 3 2 2 3 1 3 1 2 which we will denote in cycle notation, respectively, as tpq, p12q, p13q, p23q, p123q, p132qu. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 8 / 31 Graph Automorphisms Group Theory Symp3q continued Notice we can create the following ‘multiplication’ table (known as a Cayley table), where we apply the row element first and then the column element, i.e. row ˚ column: ˚ () (12) (13) (23) (123) (132) () () (12) (13) (23) (123) (132) (12) (12) () (132) (123) (23) (13) (13) (13) (123) () (132) (12) (23) (23) (23) (132) (123) () (13) (12) (123) (123) (13) (23) (12) (132) () (132) (132) (23) (12) (13) () (123) This demonstrates that the group Symp3q is non-commutative, or non-abelian. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 9 / 31 Graph Automorphisms Examples Example: K3 1 2 3 We saw before AutpK3 q “ Symp3q “ tpq, p12q, p13q, p23q, p123q, p132qu. What are the vertex orbits of K3 ? Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 10 / 31 Graph Automorphisms Examples Example: K3 1 2 3 We saw before AutpK3 q “ Symp3q “ tpq, p12q, p13q, p23q, p123q, p132qu. What are the vertex orbits of K3 ? t1, 2, 3u Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 10 / 31 Graph Automorphisms Examples Example: K3 1 2 3 We saw before AutpK3 q “ Symp3q “ tpq, p12q, p13q, p23q, p123q, p132qu. What are the vertex orbits of K3 ? t1, 2, 3u When V pX q “ orbpv q for any v P V pX q, we say the graph X is vertex-transitive. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 10 / 31 Graph Automorphisms Examples Example: P3 1 2 3 Using the labeling above, what is AutpP3 q? What are the vertex orbits of P3 ? Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 11 / 31 Graph Automorphisms Examples Example: P3 1 2 3 Using the labeling above, what is AutpP3 q? What are the vertex orbits of P3 ? AutpP3 q “ tpq, p13qu ď Symp3q Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 11 / 31 Graph Automorphisms Examples Example: P3 1 2 3 Using the labeling above, what is AutpP3 q? What are the vertex orbits of P3 ? AutpP3 q “ tpq, p13qu ď Symp3q vertex orbits: t1, 3u, t2u Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 11 / 31 Graph Automorphisms Examples Example: C4 1 2 4 3 What are the valid permutations? What are the vertex orbits? Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 12 / 31 Graph Automorphisms Examples Example: C4 1 2 4 3 What are the valid permutations? What are the vertex orbits? AutpC4 q “ tpq, p13q, p24q, p14qp23q, p12qp34q, p1234q, p13qp24q, p1432qu Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 12 / 31 Graph Automorphisms Examples Example: C4 1 2 4 3 What are the valid permutations? What are the vertex orbits? AutpC4 q “ tpq, p13q, p24q, p14qp23q, p12qp34q, p1234q, p13qp24q, p1432qu vertex orbits: t1, 2, 3, 4u Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 12 / 31 Graph Automorphisms Examples Example: C4 1 2 4 3 What are the valid permutations? What are the vertex orbits? AutpC4 q “ tpq, p13q, p24q, p14qp23q, p12qp34q, p1234q, p13qp24q, p1432qu vertex orbits: t1, 2, 3, 4u In general, AutpCn q – Dn , where Dn is the group of all symmetries of a regular n-gon [11]. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 12 / 31 Graph Automorphisms Examples Vertex Invariants When computing automorphism groups of a graph, it is useful to distinguish vertices that cannot be symmetric. For example, two vertices cannot be symmetric if they have different degrees. Such properties are called vertex invariants. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 13 / 31 Graph Automorphisms Examples Example: Kite Graph 1 4 2 3 What are the valid permutations? What are the vertex orbits? Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 14 / 31 Graph Automorphisms Examples Example: Kite Graph 1 4 2 3 What are the valid permutations? What are the vertex orbits? AutpX q “ tpq, p13q, p24q, p13qp24qu Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 14 / 31 Graph Automorphisms Examples Example: Kite Graph 1 4 2 3 What are the valid permutations? What are the vertex orbits? AutpX q “ tpq, p13q, p24q, p13qp24qu vertex orbits: t1, 3u, t2, 4u Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 14 / 31 Graph Automorphisms Examples Frucht’s Theorem As an aside for the mathematicians Theorem (Frucht, 1939 [10]) Given any finite group G there exist infinitely many non-isomorphic connected graphs X whose automorphism group is isomorphic to G. Later, de Groot [8] and Sabidussi [26] independently made the following improvement to Frucht’s Theorem. Theorem Every group is isomorphic to the automorphism group of some graph. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 15 / 31 Graph Automorphisms History History I The graph isomorphism problem (determining whether there is an isomorphism between two given graphs) became of practical interest to chemist in the 1960s as a way of comparing two chemical structures [27]. Of particular interest was finding a canonical form for a given class of graphs closed under isomorphism. Let X denote a class of graphs closed under isomorphisms. The function CF : X Ñ X is a canonical form for X if: (i) For X P X , CF pX q – X (ii) For X , Y P X , X – Y if and only if CF pX q “ CF pY q. If we have the canonical form for a class of graphs, we can use standard data structures to store and query a database of graphs. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 16 / 31 Graph Automorphisms History History II In the 1970s, several algorithms were developed for computing canonical forms [5, 3]. However, the first algorithm of practical use was that of McKay [20], and was implemented by McKay in a program that became known as nauty. The main innovation of nauty was its use of automorphisms to prune the search space, and as a result nauty computed the generators for the automorphism group of the input graph. nauty would be the program of choice for computing canonical forms and automorphisms for the next several decades [21]. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 17 / 31 Graph Automorphisms History History III As symmetry detection became to be recognized as a good tool for helping to solve ‘hard’ problems, the need for a specialized algorithm for computing the automorphism groups of a graph became apparent. In 2004, Darga et al. introduced saucy, which outperformed nauty by several orders of magnitude for many graphs of practical interest [6]. Two other programs made subsequent improvements, namely bliss [16] and Traces [24], both of which compute automorphisms and canonical labels. Since their release all the programs above have undergone further improvements [7, 17, 15, 18, 21]. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 18 / 31 Graph Automorphisms Applications Applications Graph Drawing [1] Graph Coloring [25] Boolean Satisfiability [2] Constraint Programming [12] Model Checking [9] Markov Models [22] Integer Programming [23] Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 19 / 31 Graph Automorphisms Applications Integer Programming Example Integer programs are usually solved using a branch-and-bound technique. However, this can perform badly even for some problems that are easy to solve: min tx5 | 2x1 ` 2x2 ` 2x3 ` 2x4 ` x5 “ 3u. xPt0,1u5 This problem comes from [23]. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 20 / 31 Graph Automorphisms Applications Integer Programming Example Integer programs are usually solved using a branch-and-bound technique. However, this can perform badly even for some problems that are easy to solve: min tx5 | 2x1 ` 2x2 ` 2x3 ` 2x4 ` x5 “ 3u. xPt0,1u5 x5 “ 1. This problem comes from [23]. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 20 / 31 Graph Automorphisms Applications min tx5 | 2x1 ` 2x2 ` 2x3 ` 2x4 ` x5 “ 3u xPt0,1u5 The symmetries force the branch-and-bound algorithm to search the symmetric parts of the branch-and-bound tree: A x1 = 1 x1 = 0 B C x2 = 1 x2 = 0 x2 = 0 D E F x3 = 1 x3 = 0 x3 = 0 x3 = 0 G H I x4 = 0 x4 = 0 x4 = 0 L M x5 = 1 x5 = 1 p Q J x4 = 1 N x5 = 1 R O x5 = 1 S Graphic is courtesy of Jim Ostrowski. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 21 / 31 Graph Automorphisms Applications min tx5 | 2x1 ` 2x2 ` 2x3 ` 2x4 ` x5 “ 3u xPt0,1u5 However, we can capture at least some the structure in the problem as a graph. We can then use nauty (or one of its cousins) to compute the generators of the automorphism group, which will also be automorphisms of our problem! This allows us to compute in the above problem that tx1 , x2 , x3 , x4 u are in the same orbit, and can thus be treated equivalently for branching purposes. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 22 / 31 Graph Automorphisms Applications min tx5 | 2x1 ` 2x2 ` 2x3 ` 2x4 ` x5 “ 3u xPt0,1u5 This is called orbital branching, and for highly symmetric problems like this one significantly reduces the size of the branch-and-bound tree: x1 = 1 A B x1 + x2 + x3 + x4 = 0 C x2 + x3 + x4 = 0 L x5 = 1 P Graphic is courtesy of Jim Ostrowski. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 23 / 31 Graph Automorphisms Open Problems Computational Complexity In 1979, Mathon showed that the following problems are polynomial-time equivalent [19]: isomorphism recognition for two graphs X and Y (GI), isomorphism map from X onto Y , if it exists, number of isomorphism from X onto Y , order of the automorphism group of X , generators of the automorphism group of X , automorphism partition of X . These problems are said to be isomorphism-complete or GI-complete. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 24 / 31 Graph Automorphisms Open Problems Open Problems What is the computational complexity of GI? Is GI P P? Is GI NP-complete? Considered unlikely, in 1991 Goldreich showed it would imply the collapse of the polynomial-time hierarchy [14]. Or is GI NP-intermediate? Is graph canonization GI-complete? Fastest running time algorithm for GI was provided by Babai et al. in ´1983 ? [4]¯ and has stood for the last three decades at e O n log n Bernard Knueven (CS 594 - Graph Theory) [21]. March 12, 2014 25 / 31 Graph Automorphisms References References I [1] David Abelson, Seok-Hee Hong, and Donald E Taylor. A group-theoretic method for drawing graphs symmetrically. In Graph Drawing, pages 86–97. Springer, 2002. [2] Fadi A Aloul, Arathi Ramani, Igor L Markov, and Karem A Sakallah. Solving difficult SAT instances in the presence of symmetry. In Proceedings of the 39th annual Design Automation Conference, pages 731–736. ACM, 2002. [3] V.L. Arlazarov, I.I. Zuev, A.V. Uskov, and I.A. Faradzhev. An algorithm for the reduction of finite non-oriented graphs to canonical form. {USSR} Computational Mathematics and Mathematical Physics, 14(3):195 – 201, 1974. [4] László Babai, William M Kantor, and Eugene M Luks. Computational complexity and the classification of finite simple groups. In Foundations of Computer Science, 1983., 24th Annual Symposium on, pages 162–171. IEEE, 1983. [5] Derek Gordon Corneil and Calvin C Gotlieb. An efficient algorithm for graph isomorphism. Journal of the ACM (JACM), 17(1):51–64, 1970. [6] Paul T Darga, Mark H Liffiton, Karem A Sakallah, and Igor L Markov. Exploiting structure in symmetry detection for CNF. In Proceedings of the 41st annual Design Automation Conference, pages 530–534. ACM, 2004. [7] Paul T. Darga, Karem A. Sakallah, and Igor L. Markov. Faster symmetry discovery using sparsity of symmetries. In Proceedings of the 45th Annual Design Automation Conference, DAC ’08, pages 149–154, New York, NY, USA, 2008. ACM. [8] Johannes de Groot. Groups represented by homeomorphism groups I. Mathematische Annalen, 138(1):80–102, 1959. [9] Alastair F Donaldson and Alice Miller. Automatic symmetry detection for model checking using computational group theory. In FM 2005: Formal Methods, pages 481–496. Springer, 2005. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 26 / 31 Graph Automorphisms References References II [10] Robert Frucht. Herstellung von Graphen mit vorgegebener abstrakter Gruppe. Compositio Mathematica, 6:239–250, 1939. [11] Ashwin Ganesan. Automorphism groups of graphs. arXiv preprint arXiv:1206.6279, 2012. [12] Ian P Gent, Karen E Petrie, and Jean-François Puget. Symmetry in constraint programming. Handbook of Constraint Programming, pages 329–376, 2006. [13] Chirs Godsil and Gordon Royle. Algebraic Graph Theory. Springer-Verlag, 2001. [14] Oded Goldreich, Silvio Micali, and Avi Wigderson. Proofs that yield nothing but their validity or all languages in np have zero-knowledge proof systems. Journal of the ACM (JACM), 38(3):690–728, 1991. [15] Tommi Junttila and Petteri Kaski. Conflict propagation and component recursion for canonical labeling. In Theory and Practice of Algorithms in (Computer) Systems, pages 151–162. Springer, 2011. [16] Tommi A Junttila and Petteri Kaski. Engineering an efficient canonical labeling tool for large and sparse graphs. In ALENEX, volume 7, pages 135–149. SIAM, 2007. [17] Hadi Katebi, Karem A Sakallah, and Igor L Markov. Symmetry and satisfiability: An update. In Theory and Applications of Satisfiability Testing–SAT 2010, pages 113–127. Springer, 2010. [18] Hadi Katebi, Karem A Sakallah, and Igor L Markov. Conflict anticipation in the search for graph automorphisms. In Logic for Programming, Artificial Intelligence, and Reasoning, pages 243–257. Springer, 2012. [19] Rudolf Mathon. A note on the graph isomorphism counting problem. Information Processing Letters, 8(3):131–136, 1979. [20] Brendan D McKay. Practical graph isomorphism. Department of Computer Science, Vanderbilt University, 1981. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 27 / 31 Graph Automorphisms References References III [21] Brendan D McKay and Adolfo Piperno. Practical graph isomorphism, II. Journal of Symbolic Computation, 60:94–112, 2014. [22] W Douglas Obal, Michael G McQuinn, and William H Sanders. Detecting and exploiting symmetry in discrete-state markov models. Reliability, IEEE Transactions on, 56(4):643–654, 2007. [23] James Ostrowski. Symmetry in Integer Programming. PhD thesis, Lehigh University, 2009. [24] Adolfo Piperno. Search space contraction in canonical labeling of graphs. arXiv preprint arXiv:0804.4881, 2008. [25] Arathi Ramani, Fadi A Aloul, Igor L Markov, and Karem A Sakallah. Breaking instance-independent symmetries in exact graph coloring. In Design, Automation and Test in Europe Conference and Exhibition, 2004. Proceedings, volume 1, pages 324–329. IEEE, 2004. [26] Gert Sabidussi. Graphs with given infinite group. Monatshefte für Mathematik, 64(1):64–67, 1960. [27] Edward H Sussenguth. A graph-theoretic algorithm for matching chemical structures. Journal of Chemical Documentation, 5(1):36–43, 1965. [28] Douglas B. West. Introduction to Graph Theory. Prentice-Hall, 2001. Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 28 / 31 Graph Automorphisms Homework Homework I ` ˘ 1. Show that for any graph X , Aut pX q “ Aut X . [13] 2. Let X be a graph. Show that if u, v P V pX q and g P AutpX q, then dpu, v q “ dpu g , v g q. [13] 3. Find the automorphism group of the following graphs (expressed in cycle notation) and the vertex orbits (graphs from [28]). 1 2 4 a. 3 1 b. 2 4 3 Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 29 / 31 Graph Automorphisms Homework Homework II 5 3 2 c. 4 1 5 d. 2 1 4 Bernard Knueven (CS 594 - Graph Theory) 3 March 12, 2014 30 / 31 Graph Automorphisms Questions? Bernard Knueven (CS 594 - Graph Theory) March 12, 2014 31 / 31