Graph Automorphisms Bernard Knueven March 12, 2014 CS 594 - Graph Theory

advertisement
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
Download