130 likes | 563 Views
Graph pattern matching. Isomorphism : In graph theory, an isomorphism of graphs G and Q is a bijection between the vertex sets of G and Q ( Q G ) such that any two vertices u and v of G are adjacent in G if and only if ƒ( u ) and ƒ( v ) are adjacent in Q
E N D
Graph pattern matching • Isomorphism: In graph theory, an isomorphism of graphs G and Q is a bijection between the vertex sets of G and Q ( Q G ) such that any two vertices u and v of G are adjacent in G if and only if ƒ(u) and ƒ(v) are adjacent in Q • A bijection(or bijective function or one-to-one correspondence) is a function giving an exact pairing of the elements of two sets.
An approach to checking isomorphism: • Count the vertices. The graphs must have an equal number. • Count the edges. The graphs must have an equal number. • Check vertex degree sequence. Each graph must have the same degree sequence. • Check induced subgraphs for isomorphism. If the subgraphs are not isomorphic, then the larger graphs are not either. • Count numbers of cycles/cliques. If these tests don’t help, and you suspect the graphs actually are isomorphic, then try to find a one-to-one correspondence between vertices of one graph and vertices of the other. Remember that a vertex of degree n in the one graph must correspond to a vertex of degree n in the other. Tucker, Sec. 1.2
An isomorphism between G and : a 6 d 5 b 1 e 2 c 3 f 4 Example of isomorphic graphs a b 1 2 3 f 4 e 6 5 d c G Tucker, Sec. 1.2
Two non-isomorphic graphs Vertices: 6 Edges: 7 Vertex sequence: 4, 3, 3, 2, 2, 0. Vertices: 6 Edges: 7 Vertex sequence: 5, 3, 2, 2, 1, 1. Tucker, Sec. 1.2
For the class to try: Are these pairs of graphs isomorphic? 3 Isomorphic: a-1, b-5, c-4, d-3, e-2, f-6. 5 e a 1 #1 c d b f 6 2 4 d 2 Not Isomorphic: 5 K3’s on left, 4 K3’s on right. 1 a b c 5 6 #2 7 3 4 e g f Tucker, Sec. 1.2
0 A G 1 B Q Simple Simulation 0 • More Example of Simple and Dual Simulation A 2 100 B A 1 B 3 B 200 B 2 8 B A 4 7 B K 3 5 B B 0 Dual Simulation 8 A A 4 B 1 B 5 B 9 3 A B 6 D 8 A 4 B
Simple Simulation Q G • More Example of Simple and Dual Simulation 10 1 A A C B C B 3 30 2 20 4 D D D 40 5 E F 8 9 E F F E 50 60 6 7 E F 10 11
Graph Simulation • Strong simulation: Define strong simulation by enforcing two conditions on simulation : duality and locality. Balls. For a node v in a graph G and a non-negative integer r, the ball with center v and radius r is a subgraph of G, denoted by ˆG[v, r], such that • for all nodes v in ˆG[v, r], the shortest distance dist(v, v) ≤ r, • it has exactly the edges that appear in G over the same node set. denoted by Q ≺DL G, if there exist a node v in G and a connected subgraphGsof G such that • Q ≺DGs, with the maximum match relation S; • Gsis exactly the match graph w.r.t. S • Gsis contained in the ball ˆG[v, dQ], where dQis the diameter of Q. P P P Q G 2 1 3 2 P P P 100 3 2 1 P 4 4 P P P 3 2 1 4 P P 200 P 1 3 P P P 4 P
G Q 0 0 0 • More Example of Strong Simulation A A A 100 A 0 A 1 1 1 1 B B B B 200 B 2 2 2 2 A A A A 3 3 3 3 B B B B 4 4 4 4 A A A A 5 5 5 B B B B 5 6 6 6 B B A 6 B