1 / 21

Gary’s Work on Graph Isomorphism

Gary’s Work on Graph Isomorphism. 1. 1. 4. 8. 6. 5. 2. 5. 2. 7. 8. 3. 7. 4. 3. 6. 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

nizana
Download Presentation

Gary’s Work on Graph Isomorphism

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gary’s Work on Graph Isomorphism 1 1 4 8 6 5 2 5 2 7 8 3 7 4 3 6

  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. 2 1 3 5 4 Graph eigenvalues and eigenvectors 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. 2 1 0 -1 -1 1 1 0 -1 -1 1 1 3 5 4 Graph eigenvalues and eigenvectors 0 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 -1 -2 = -1 1  node = sum of nbrs -2(-1)=(1+1)

  6. 2 1 0 -1 -1 1 1 0 -1 -1 1 1 3 5 4 Graph eigenvalues and eigenvectors 0 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 -1 -2 = -1 1  node = sum of nbrs Are up to n eigenvalues, invariant under relabeling of vertices

  7. -1 -1 1 0 1 -1 -1 1 0 1 Graph eigenvalues and eigenvectors 0 4 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 -1 -2 = 5 1 2 3 -1 1  node = sum of nbrs Are up to n eigenvalues, invariant under relabeling of vertices eigenvalues different -> graphs different

  8. -1 -1 1 0 1 -1 -1 1 0 1 Graph eigenvalues and eigenvectors 0 4 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 -1 -2 = 5 1 2 3 -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: v1, v2, …, vn and eigenvectors of H: u1, u2, …, un Goal: Label vertex i by v1(i), v2(i), …, vn(i) But, eigenvectors only determined up to sign.

  10. A Delaunayed Gary

  11. Embedding of graph using two eigvecs v3(i) v2(i)

  12. If use v2(i), v3(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: l1 = -2.0000 l2 = -1.1701 l3 = 0.0000 l4 = 0.6889 l5 = 2.4812 .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 label of node 2 -.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 § u1: § u2: § u3: § u4: § u5:

  14. 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 Distinguish verts when labels allow. Make signs cannonical when possible. Can only map to each other -.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 § u1: § u2: § u3: § u4: § u5:

  15. 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 Distinguish verts when labels allow. Make signs canonical when possible. Can only map to each other Fix signs so that labels are same -.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 § u1: § u2: § u3: § u4: § u5:

  16. 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 Distinguish verts when labels allow. Make signs canonical when possible. Can only map to each other Fix signs so that labels are same -.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 § u1: § u2: § u3: § u4: § u5:

  17. More formally, Partition vertices into classes, initially by |vk(i)| If some class has more positive than negative entries in a vk, make sign canonical. (2, -2, 1, 1, 1, -1, -1, -1) Partition vertices into classes by vk(i), for vk with canonical signs.

  18. More formally, Partition vertices into classes, initially by |vk(i)| If some class has more positive than negative entries in a vk, make sign canonical. (2, -2, 1, 1, 1, -1, -1, -1) Partition vertices into classes by vk(i), for vk with canonical signs. Do same for all products vk1(i)*vk2(i)*...*vkr(i)

  19. For all products? Either vk1(i)*vk2(i)*...*vkr(i) splits class: v1: 1 1 1 1 -1 -1 -1 -1 v2: 1 1 -1 -1 -1 -1 1 1 v3: 1 -1 1 -1 1 1 -1 -1 v3 v3: 1 -1 -1 1 -1 -1 -1 -1 or vkr = product of some of vk1*vk2*...*vkr-1 on that class. v1: 1 1 1 1 -1 -1 -1 -1 v2: 1 1 -1 -1 -1 -1 1 1 v4: 1 1 -1 -1 1 1 -1 -1 v4 = v1 v2

  20. When finished All classes have form v1: 1 1 1 1 -1 -1 -1 -1 v2: 1 1 -1 -1 -1 -1 1 1 v4: 1 1 -1 -1 1 1 -1 -1 v4 = v1 v2 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.

More Related