graph pattern matching graph ggraph qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) =...
TRANSCRIPT
![Page 1: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/1.jpg)
1. 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.
Graph pattern matching
Graph G Graph Q isomorphism
f(a) = 1 f(b) = 6f(c) = 8f(d) = 3f(g) = 5f(h) = 2f(i) = 4f(j) = 7
![Page 2: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/2.jpg)
Tucker, Sec. 1.2 21/25/2005
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.
![Page 3: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/3.jpg)
Tucker, Sec. 1.2 31/25/2005
Example of isomorphic graphs
G
a b
cd
ef
1 23
4
56
GAn isomorphism between G and :
a 6 d 5
b 1 e 2
c 3 f 4
G
![Page 4: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/4.jpg)
Tucker, Sec. 1.2 41/25/2005
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.
![Page 5: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/5.jpg)
Tucker, Sec. 1.2 51/25/2005
For the class to try:
a
b f
e
c d
1
2
3
4
5
6
Are these pairs of graphs isomorphic?
#1
#2
Isomorphic: a-1, b-5, c-4, d-3, e-2, f-6.
Not Isomorphic:5 K3’s on left,4 K3’s on right.
a b c
d
f ge
1 2
34
5 6
7
![Page 6: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/6.jpg)
• More Example of Simple and Dual Simulation
100
200
A
B
1
2
B
B
3
4
B
B
5
6
B
D
7K
8A
A 0, 8, 9
B 1, 2, 3, 4, 5
9A
Simple Simulation
A 0, 8, 9
B 1, 2, 3, 4, 5
Dual Simulation 0
1
A
B
4B
8A
1
2
B
B
3
4
B
5
8A
B
B
0A
0A
3B
QG
![Page 7: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/7.jpg)
• More Example of Simple and Dual Simulation
10
30
A
C
A 1
B 2
C 3
D 4 , 5
E 7 , 8 , 11
F 6 , 9, 10
Simple Simulation Q G
40
20
6050
D
B
E F
1
2
A
B
4
3
6
D
C
F
5
D
E
1110
98F
F
E
E 7
![Page 8: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/8.jpg)
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
1. for all nodes v in ˆG[v, r], the shortest distance dist(v, v) ≤ r,
2. 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 subgraph Gs of G such that
3. Q ≺D Gs, with the maximum match relation S;
4. Gs is exactly the match graph w.r.t. S
5. Gs is contained in the ball ˆG[v, dQ], where dQ is the diameter of Q.
Graph Simulation
100
200 4
321
321
Q
P
P
P PP
P
P P P
P 1, 2, 3, 44
31
P
P
P
G
4
21
P
P
4
32
PP
P
![Page 9: Graph pattern matching Graph GGraph Qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7](https://reader036.vdocuments.site/reader036/viewer/2022082818/56649ef25503460f94c03a5b/html5/thumbnails/9.jpg)
• More Example of Strong Simulation
100
200
A
B
1
2
B
A
3
4
B
A
5
6
B
B
0A
QG
1
6B
0
B
A
1
2
B
A
0A
1
2
B
A
3B
2A
3
4
B
A
3
4
B
A
5B
4A
5
6
B
A
5
6
B
B
0A