Gary’s Work on Graph Isomorphism
Gary’s Papers on Graph Isomorphism On the n log n isomorphism technique: a preliminary report. ACM STOC, Isomorphism testing for graphs of bounded genus. ACM STOC, 1980 Isomorphism of graphs which are pairwise k-separable. Information & Control, Isomorphism of k-contractible graphs: a generalization of bounded valence and bounded genus. Information & Control, 1983.
Gary’s Papers on Graph Isomorphism
Graph eigenvalues and eigenvectors
Graph eigenvalues and eigenvectors = node = sum of nbrs -2(-1)=(1+1)
Graph eigenvalues and eigenvectors = Are up to n eigenvalues, invariant under relabeling of vertices node = sum of nbrs
Graph eigenvalues and eigenvectors = Are up to n eigenvalues, invariant under relabeling of vertices node = sum of nbrs eigenvalues different -> graphs different
Graph eigenvalues and eigenvectors = When are n eigenvalues, each has one-dimensional eigenspace: (cv) = A(cv) Can fix v to have norm 1, but cannot normalize sign
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.
A Delaunayed Gary
Embedding of graph using two eigvecs v 2 (i) v 3 (i)
If use v 2 (i), v 3 (i) as label of vertex i determined up to flips in sign of eigvecs
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: § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : label of node 2 1 = = = = =
Distinguish verts when labels allow. Make signs cannonical when possible. v1:v2:v3:v4:v5:v1:v2:v3:v4:v5: § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : Can only map to each other
Distinguish verts when labels allow. Make signs canonical when possible. v1:v2:v3:v4:v5:v1:v2:v3:v4:v5: § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : Can only map to each other Fix signs so that labels are same
Distinguish verts when labels allow. Make signs canonical when possible. v1:v2:v3:v4:v5:v1:v2:v3:v4:v5: § u 1 : § u 2 : § u 3 : § u 4 : § u 5 : Can only map to each other Fix signs so that labels are same
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.
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)
For all products? Either v k 1 (i)*v k 2 (i)*...*v k r (i) splits class: v 1 : v 2 : v 3 : v 3 v 3 : or v k r = product of some of v k 1 *v k 2 *...*v k r-1 on that class. v 1 : v 2 : v 4 : v 4 = v 1 v 2
When finished All classes have form v 1 : v 2 : v 4 : 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)
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.