Graph Isomorphism -...

50
Graph Isomorphism Chris Coyle, Austin Wyer, Elvis Offor 4/5/2017

Transcript of Graph Isomorphism -...

Page 1: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Graph IsomorphismChris Coyle, Austin Wyer, Elvis Offor

4/5/2017

Page 2: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Questions

1. Who created the graph isomorphism algorithm with the best asymptotic(Big-O) run time?

2. What is it called when a person proves to another person that a given statement is true without conveying any information?

3. What is the name for a labeling that is the same for all isomorphic graphs?

Page 3: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Elvis Offor

• Hometown: Clarksville, TN• Research:

• Neuromorphic Computing

Page 4: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Austin Wyer

• Hometown - Clarksville TN• Advisor - Dr. Rose

Neuromorphic Computing

Page 5: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Chris Coyle

• Hometown: Cleveland, TN• Advisor: Dr. Berry• Hobbies: Sports, games, working out

Page 6: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Outline

• Overview• History• Algorithms• Applications• Implementations• Open Questions• References • Discussion

Page 7: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Overview

Page 8: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Graph Isomorphism

• An isomorphism between graphs G and H is a bijection f: V(G) -> V(H) such that any two vertices u and v in G are adjacent if and only if f(u) and f(v) are adjacent.

• The Graph Isomorphism problem asks if given two graphs G and H, does there exist an isomorphism between the two.

Page 9: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Example

Page 10: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Graph Invariants

• A property of the graph that only depends on the structure of the graph, and not the labeling

• Examples• Number of vertices and edges• Number of connected components• Degree sequence• Chromatic number• Many more

Page 11: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Line Graphs A line graph of an undirected graph G is another graph L(G) that represents the adjacencies between edges of G.

Page 12: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Whitney Theorem• Theorem - Two graphs are isomorphic iff

their line graphs are isomorphic, with the exceptions of K3 and K1,3

K3 L(K3) K1,3 L(K1,3)

Page 13: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Canonical Labeling

• Problem - Many ways to label the same structure

• We can pick one labelling to represent all isomorphic graphs

• Represent graphs as a string, and choose the largest or smallest representation

Page 14: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Subgraph Isomorphism Problem• Given two graphs G and H, does G

contain a subgraph that is isomorphic to H?

• Problem is known to be NP-Complete

Page 15: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

History

Page 16: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Laszlo Babai

• Born July 20, 1950 in Budapest, Hungary

• Won the gold at the International Mathematical Olympiad

• Currently teaches at University of Chicago

Page 17: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Eugene M. Luks

• Born circa 1940• Showed isomorphism can be

tested in polynomial time• won Fulkerson Prize for

this work• Worked with Babai to create

the lowest theoretical bound algorthim for graph isomorphism (1983)

Page 18: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Brendan McKay

• Born October 26, 1951• Practical algorithm for graph

isomorphism problem• additionally, the software

implementation, NAUTY (No AUTomorphisms, Yes?)

• Involved in rebuttal of biblical prediction ciphers

• Provided original source for the Azzam Pasha Quotation

Page 19: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

History of Complexity• One of Garey and Johnson’s 12 problems

unknown to be NP-complete or in P• 1980s - runtime 2O(√nlogn)

• 2015- Babai publishes a quasi-polynomial time algorithm exp(log(n)O(1))

• 2017 -• Harald Helfgott discovers an error resulting in

sub exponential time• Babai makes a revision to restore the

quasi-polynomial claim

Page 20: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

12 Problems1. Graph isomorphism2. Subgraph homeomorphism3. Graph genus4. Chordal graph completion5. Chromatic index6. Spanning tree parity problem7. Partial order dimension

8. Precedence constrained 3-processors scheduling

9. Linear Programming10. Total unimodularity11. Composite number12. Minimum length triangulation

Page 21: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Algorithms

Page 22: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Algorithms - Theoretical vs Practical• Practical algorithms run quickly on most

graphs• Worst case not likely to occur. Might even

need to construct• There is still much theoretical work in

finding a lower bound for graph isomorphism

Page 23: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Ullman’s Algorithm

• Algorithm for subgraph isomorphism• Description:

• Determine a candidate vertex for mapping• Recursively try to map its neighbors using

DFS• If a neighbor cannot be mapped we

backtrack• O(n!n3)• Can implement with matrix multiplies

Page 24: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

VF

• Based on Ullman, but reduces search space further

• Apply feasibility rules to “look ahead” and determine whether it was worth continuing along a branch

• O(n!n)

Page 25: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

VF example

Page 26: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

NAUTY

• “No AUTomorphisms, Yes?”• Idea - find the canonical labelings of the

two graphs, and compare those• Pruning:

• Find automorphisms• Node invariants

Page 27: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Babai’s Algorithm

• More theoretical than practical• Quasi-polynomial time exp(log(n)O(1))• Divide and conquer strategy• Looks for Johnson graphs

J(5,2)

Page 28: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Special Cases

• Trees• Planar graphs• Interval graphs• Bounded parameters

• genus• degree• treewidth

Page 29: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Applications

Page 30: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

CryptographyOne application of graph isomorphism is cryptography, utilizing something known as a zero knowledge proof. • Zero knowledge proof - a method by which

one party (the prover) can prove to another party (the verifier) that a given statement is true, without conveying any information apart from the fact that the statement is indeed true.

• Pool ball example

Page 31: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Cryptography cont...• Two graphs G and H are isomorphic and f is the

isomorphism that relates them.• Prover knows isomorphism f but Verifier does not.• Prover takes G and randomly permutes vertices to get

graph F.• Verifier tosses coin and asks Prover to show that G ∼= F

if heads, or H ∼= F if tails.• Prover has to reveal the isomorphism mapping from

either G to F or from H to F. Prover knows the former by construction and the latter because H and G are isomorphic.

Page 32: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Layout Versus Schematic

The layout versus schematic is the class of electronic design automation verification software that determines whether a particular circuit layout corresponds to the original circuit diagram of the design.

Page 33: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Biometrics

• Fingerprint scanners• Facial recognition• Retina scanners

Page 34: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Chemistry/Biology

• Compound identification• Graph isomorphism/subgraph isomorphism testing is

used to find a chemical compound in a chemical database.

• Atoms represented by vertices, covalent bonds represented by edges.

• Molecular graph generation• Combinatorial chemistry• Correct identification of coronary arteries

Page 35: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Other misc. applications

• Linking two accounts together for the same person• Recognizing web users based on their behavior• Recognizing plagiarism• Analysis of business relations• Analysis of social structures• Automata theory language equivalence• Recognizing geographic locations with desired

properties

Page 36: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Implementation

Page 37: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Neuromorphic Computing

• Brain inspired computing • Motivations

• Lower power• Learning

Page 38: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

mrDANNA

• Memristors - Resistors that change their resistance when a voltage • Low power• Low area

• Spiking network• Good candidate for synapse

Page 39: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Genetic Algorithms

• How do we generate a network structure that can perform the computation we want?

• Genetic Algorithms have been shown to be a possible candidate• Mutation• Crossover

Page 40: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Network Representations

• Are there common computational structures used by the networks?

• mrDANNA networks are represented as digraphs

• We can convert these to finite simple graphs and use graph isomorphism to answer this question

Page 41: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Applications

• Polebalancer

• Iris Classification

Page 42: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Results - Polebalancer

• After pruning the networks we found 5 possible isomorphisms

• None of them were isomorphic• Many “close candidates”

Page 43: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Results - Iris Classification

• After pruning we found 24 possible isomorphisms

• We found 2 isomorphisms, between 2 pairs of networks

• Need further evaluation to determine how close the actual networks are

Page 44: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Graphs Found

Page 45: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Possible Refinements

• Subgraph isomorphism• Near isomorphisms• Digraph isomorphism

Page 46: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Open Questions

• Is there a polynomial time algorithm for graph isomorphism?

• Is graph isomorphism an NP-intermediate problem?

Page 47: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

References

1. http://math.stackexchange.com/questions/120408/what-are-the-applications-of-the-isomorphic-graphs - List of applications

2. http://pallini.di.uniroma1.it/index.html - “NAUTY Software Page”, Brendan McKay

3. https://en.wikipedia.org/wiki/Graph_isomorphism_problem#cite_note-FOOTNOTELuks1982-19 -

4. https://rjlipton.wordpress.com/2011/07/01/and-then-there-were-two/ - Garey adn Johnson’s 12 problems

5. https://arxiv.org/abs/1512.03547 - Graph Isomorphism in Quasi-polynomial time, Laszlo Babai

Page 48: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

References cont.

6. https://www.cs.cmu.edu/~ryanw/crypto/lec6.pdf - Cryptography

7. http://www.math.unl.edu/~aradcliffe1/Papers/Canonical.pdf - “McKay’s Canonical Labeling Algorithm”, Hatke

8. https://en.wikipedia.org/wiki/Johnson_graphhttps://en.wikipedia.org/wiki/Layout_Versus_Schematic

9. https://en.wikipedia.org/wiki/Brendan_McKay10. https://en.wikipedia.org/wiki/Eugene_M._Luks11. https://en.wikipedia.org/wiki/Johnson_graph 12. http://stackoverflow.com/questions/6743894/any-workin

g-example-of-vf2-algorithm/6744603#6744603 - VF2 Example

Page 49: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

References cont.

13. https://en.wikipedia.org/wiki/L%C3%A1szl%C3%B3_Babai14. https://en.wikipedia.org/wiki/Canonical_form - Canonical labeling15. http://www.hpl.hp.com/news/2008/apr-jun/memristor.html - HP finds the lost memristor16.https://jeremykun.com/2015/11/12/a-quasipolynomial-time-algorithm-for-graph-isomorphism-the-details/ - “Summary of Babai’s work”, Jeremy Kun17.https://science.energy.gov/~/media/bes/pdf/reports/2016/NCFMtSA_rpt.pdf - “Neuromorphic Computing: From Materials to Systems Architecture”

Page 50: Graph Isomorphism - UTKweb.eecs.utk.edu/~cphill25/cs594_spring2017/presentations/graph-isomorphism.pdf1.Who created the graph isomorphism algorithm with the best asymptotic(Big-O)

Discussion and Questions

1. Who created the graph isomorphism algorithm with the fastest asymptotic(Big-O) run time?

2. What is it called when a person proves to another person that a given statement is true without conveying any information?

3. What is the name for a labeling that is the same for all isomorphic graphs?