Graph Isomorphism -...

Post on 01-Jan-2020

8 views 0 download

Transcript of Graph Isomorphism -...

Graph IsomorphismChris Coyle, Austin Wyer, Elvis Offor

4/5/2017

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?

Elvis Offor

• Hometown: Clarksville, TN• Research:

• Neuromorphic Computing

Austin Wyer

• Hometown - Clarksville TN• Advisor - Dr. Rose

Neuromorphic Computing

Chris Coyle

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

Outline

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

Overview

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.

Example

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

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

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)

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

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

History

Laszlo Babai

• Born July 20, 1950 in Budapest, Hungary

• Won the gold at the International Mathematical Olympiad

• Currently teaches at University of Chicago

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)

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

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

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

Algorithms

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

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

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)

VF example

NAUTY

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

two graphs, and compare those• Pruning:

• Find automorphisms• Node invariants

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)

Special Cases

• Trees• Planar graphs• Interval graphs• Bounded parameters

• genus• degree• treewidth

Applications

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

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.

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.

Biometrics

• Fingerprint scanners• Facial recognition• Retina scanners

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

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

Implementation

Neuromorphic Computing

• Brain inspired computing • Motivations

• Lower power• Learning

mrDANNA

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

• Spiking network• Good candidate for synapse

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

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

Applications

• Polebalancer

• Iris Classification

Results - Polebalancer

• After pruning the networks we found 5 possible isomorphisms

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

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

Graphs Found

Possible Refinements

• Subgraph isomorphism• Near isomorphisms• Digraph isomorphism

Open Questions

• Is there a polynomial time algorithm for graph isomorphism?

• Is graph isomorphism an NP-intermediate problem?

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

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

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”

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?