graph pattern matching graph ggraph qisomorphism f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) =...

9
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) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7

Upload: dwayne-reed

Post on 03-Jan-2016

213 views

Category:

Documents


0 download

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

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

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

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

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

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

• 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

• 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

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

• 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