Download presentation
Presentation is loading. Please wait.
1
Gary’s Work on Graph Isomorphism 2 4 1 3 5 7 6 6 8 4 1 8 5 2 73
2
Gary’s Papers on Graph Isomorphism On the n log n isomorphism technique: a preliminary report. ACM STOC, 1978. Isomorphism testing for graphs of bounded genus. ACM STOC, 1980 Isomorphism of graphs which are pairwise k-separable. Information & Control, 1983. Isomorphism of k-contractible graphs: a generalization of bounded valence and bounded genus. Information & Control, 1983.
3
Gary’s Papers on Graph Isomorphism
4
Graph eigenvalues and eigenvectors 1 4 3 2 5 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0
5
Graph eigenvalues and eigenvectors 1 4 3 2 5 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 -2 = 0 1 1 node = sum of nbrs -2(-1)=(1+1)
6
Graph eigenvalues and eigenvectors 1 4 3 2 5 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 -2 = 0 1 1 Are up to n eigenvalues, invariant under relabeling of vertices node = sum of nbrs
7
Graph eigenvalues and eigenvectors 5 3 1 4 2 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 -2 = 0 1 1 Are up to n eigenvalues, invariant under relabeling of vertices node = sum of nbrs eigenvalues different -> graphs different
8
Graph eigenvalues and eigenvectors 5 3 1 4 2 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 -2 = 0 1 1 When are n eigenvalues, each has one-dimensional eigenspace: (cv) = A(cv) Can fix v to have norm 1, but cannot normalize sign
9
Testing isomorphism when G and H have same eigenvalues Compute eigenvectors of G: v 1, v 2, …, v n and eigenvectors of H: u 1, u 2, …, u n Goal: Label vertex i by v 1 (i), v 2 (i), …, v n (i) But, eigenvectors only determined up to sign.
10
A Delaunayed Gary
11
Embedding of graph using two eigvecs v 2 (i) v 3 (i)
12
If use v 2 (i), v 3 (i) as label of vertex i determined up to flips in sign of eigvecs
13
Testing isomorphism when G and H have same eigenvalues Isomorphic iff are signs s.t. set of labels are same. v1:v2:v3:v4:v5:v1:v2:v3:v4:v5:.50 0 -.50.50 -.50 -.43.74 -.43.12.12.50 0 -.50 -.50.50.18.52.18 -.58 -.58.53.43.53.36.36 -.50.50.50 -.50 0 -.12 -.12.43.43 -.74.50 -.50.50 -.50 0 -.58 -.58.18.18.52.36.36.53.53.43 § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : label of node 2 1 = -2.0000 2 = -1.1701 3 = 0.0000 4 = 0.6889 5 = 2.4812
14
Distinguish verts when labels allow. Make signs cannonical when possible. v1:v2:v3:v4:v5:v1:v2:v3:v4:v5:.50 0 -.50.50 -.50 -.43.74 -.43.12.12.50 0 -.50 -.50.50.18.52.18 -.58 -.58.53.43.53.36.36 -.50.50.50 -.50 0 -.12 -.12.43.43 -.74.50 -.50.50 -.50 0 -.58 -.58.18.18.52.36.36.53.53.43 § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : Can only map to each other
15
Distinguish verts when labels allow. Make signs canonical when possible. v1:v2:v3:v4:v5:v1:v2:v3:v4:v5:.50 0 -.50.50 -.50 -.43.74 -.43.12.12.50 0 -.50 -.50.50.18.52.18 -.58 -.58.53.43.53.36.36 -.50.50.50 -.50 0 -.12 -.12.43.43 -.74.50 -.50.50 -.50 0 -.58 -.58.18.18.52.36.36.53.53.43 § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : Can only map to each other Fix signs so that labels are same
16
Distinguish verts when labels allow. Make signs canonical when possible. v1:v2:v3:v4:v5:v1:v2:v3:v4:v5:.50 0 -.50.50 -.50 -.43.74 -.43.12.12.50 0 -.50 -.50.50.18.52.18 -.58 -.58.53.43.53.36.36 -.50.50.50 -.50 0.12.12 -.43 -.43.74.50 -.50.50 -.50 0 -.58 -.58.18.18.52.36.36.53.53.43 § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : Can only map to each other Fix signs so that labels are same
17
More formally, Partition vertices into classes, initially by |v k (i)| If some class has more positive than negative entries in a v k, make sign canonical. (2, -2, 1, 1, 1, -1, -1, -1) Partition vertices into classes by v k (i), for v k with canonical signs.
18
More formally, Partition vertices into classes, initially by |v k (i)| If some class has more positive than negative entries in a v k, make sign canonical. (2, -2, 1, 1, 1, -1, -1, -1) Partition vertices into classes by v k (i), for v k with canonical signs. Do same for all products v k 1 (i)*v k 2 (i)*...*v k r (i)
19
For all products? Either v k 1 (i)*v k 2 (i)*...*v k r (i) splits class: v 1 : 1 1 1 1 -1 -1 -1 -1 v 2 : 1 1 -1 -1 -1 -1 1 1 v 3 : 1 -1 1 -1 1 1 -1 -1 v 3 v 3 : 1 -1 -1 1 -1 -1 -1 -1 or v k r = product of some of v k 1 *v k 2 *...*v k r-1 on that class. v 1 : 1 1 1 1 -1 -1 -1 -1 v 2 : 1 1 -1 -1 -1 -1 1 1 v 4 : 1 1 -1 -1 1 1 -1 -1 v 4 = v 1 v 2
20
When finished All classes have form v 1 : 1 1 1 1 -1 -1 -1 -1 v 2 : 1 1 -1 -1 -1 -1 1 1 v 4 : 1 1 -1 -1 1 1 -1 -1 v 4 = v 1 v 2 Can solve for all automorphisms of G, and all isomorphisms of G and H by linear eqns over GF(2)
21
What about high eigenvalue multiplicity? Worst case: Strongly regular graphs Are two general families: Latin Square graphs and Steiner Triple Systems On the n log n isomorphism technique: a preliminary report. ACM STOC, 1978.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.