Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs
Graph Isomorphism -...
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?