graph grammars - mcgill universitymsdl.cs.mcgill.ca/.../presentations/040218.marcprovost.pdf ·...

26
Graph Grammars Marc Provost McGill University [email protected] February 18, 2004 Abstract This presentation introduces graph transformations. – Typeset by Foil T E X

Upload: others

Post on 31-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Graph Grammars

Marc ProvostMcGill University [email protected]

February 18, 2004

AbstractThis presentation introduces graph transformations.

– Typeset by FoilTEX –

Page 2: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost

Structure of the talk

• Graph Theory

• Subgraph isomorphism problem and algorithms

• Graph Rewriting: General Framework & Difficulties

• Double & Single pushout approaches

– Typeset by FoilTEX – 1

Page 3: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Theory

Graph Theory

• A (labelled, directed) graph G = (V, E, source, target, label) consists ofa finite nonempty set V (vertices) and a finite set E ⊆ V × V (edges),along with two mappings source and target assigning a source and atarget node to each edge, and a mapping label assigning a labellingsymbol from a given alphabet to each node and each edge.

– order: |V |, size: |E|– An arc e = (v, w) is said to be incident with vertices v (source) and

w (target).– G.inc(v), G.outc(v), are two mapping assigning a given vertice v to

its in and out connections,respectively.

• Subgraph, induced subgraph. Given two graphs, G = (V,E), G′ =

– Typeset by FoilTEX – 2

Page 4: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Theory

(V ′, E′), G′ is said to be a subgraph of G if E′ ⊆ E. The subgraph ofG induced by G′ is the graph (V ′, E ∩ V ′ × V ′).

subgraph induced subgraph

Figure 1: Sugraph / Induced subgraph (labels omitted)

• Homomorphism (mapping). Given two graphs G = (V,E), G′ =(V ′, E′), a vertex mapping H : V → V ′ is said to be an homomorphismfrom G to G′ if it is edge preserving: Given two vertices u, v ∈ V , H(u)is adjacent to H(v) whenever u is adjacent to v.

• Graph Isomorphism. A bijective (one-to-one, surjective) homomorphism.

– Typeset by FoilTEX – 3

Page 5: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Theory

• (Partial) Subgraph Isomorphism. An injective (one-to-one)homomorphism. Also called monomorphism in the literature.

• Induced (Complete) Subgraph Isomorphism. A injective homomorphismreflecting in G the structure of the induced subgraph of G′.

G G’V1

V2

V3 V4

U1

U2

U3

Figure 2: Homomorphism

– Typeset by FoilTEX – 4

Page 6: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Theory

G’GV1

V2

V3 V4

GV1

V2

V3 V4

G’

Subgraph Isomorphism

Induced Subgraph Isomorphism

Figure 3: Complete,Partial subgraph isomorphisms

– Typeset by FoilTEX – 5

Page 7: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Subgraph Isomorphism Problem & Algorithms

Subgraph Isomorphism Problem & Algorithms

• The first step to rewrite a host graph is to match the left-hand side of arule.

• Subgraph Isomorphism is NP-Complete for general graphs.

• In general, the algorithms are based on the idea of backtracking : Extenda partial solution, one variable at a time, until a complete solution isreached or the partial solution cannot be extended anymore; this can beviewed by a backtracking tree.

• Most algorithms try to limit the time-space explosion by pruning thebacktracking tree.

– Typeset by FoilTEX – 6

Page 8: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Subgraph Isomorphism Problem & Algorithms

L1

L2 L3

LG1 G2

G3 G4

G5

G

L1 G1 G2 G3 G4 G5

L2 G3 G1

L3 G2

G3 G3

Backtracking tree matching L in G

Figure 4: Execution of a typical subgraph isomorphism algorithm– Typeset by FoilTEX – 7

Page 9: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Subgraph Isomorphism Problem & Algorithms

• Pruning involves testing that the current partial solution cannot evolvetoward a complete solution. Given a graph L to be matchedinto a graph G, suppose we have the following partial solutionM=((l1, g1), (l2, g2), ..., (li, gi)). Now, we are extending M with(li+1, gi+1), and we want to test if this path can possibly lead to acomplete solution. Possible pruning:

– If L.outc(li+1) > G.outc(gi+1): prune the tree!– If L.inc(li+1) > G.inc(gi+1): prune the tree!– Ullmann’s algorithm [4]: Check that, for all vertices lv adjacent

to li+1, there is at least one vertex gv adjacent to gi+1 such thatM ∪ {(li+1, gi+1), (lv, gv)} is a valid partial solution. If not, prune thetree!

• Other approaches to subgraph isomorphism:

– Is it possible to solve the problem in polynomial time if some

– Typeset by FoilTEX – 8

Page 10: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Subgraph Isomorphism Problem & Algorithms

preprocessing is used? A very interesting paper [3] shows how tosolve the problem by means of decision trees:∗ A decision tree is constructed from a database of model graphs.

(By generating the set of all permutations of the adjacency matrixof all graphs, and organizing it into a decision tree)

∗ At run-time, easily determine if there is a subgraph isomorphismbetween an unknown input graph and some of the model graphs.

∗ Run in time O(n2) if preprocessing is neglected∗ But, the size of the decision tree contains an exponential number of

nodes...∗ Useful if the model graphs are small, and real time behavior is

needed.

– Typeset by FoilTEX – 9

Page 11: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Rewriting: General Idea

Graph Rewriting: General Idea [2]

• Basic Idea: Iteratively apply rules to transform a host graph G.

• General framework: a (graph transformation) rule r=(L,R,K,glue,emb,appl)consists of:

– Two graphs: a left-hand side L and a right-hand side R

– A subgraph K of L; the interface graph.– A homomorphism glue, relating K to the right-hand side R

– An embedding relation emb, relating nodes of L to nodes of R.– A set appl specifying the applications conditions for the rule

– Typeset by FoilTEX – 10

Page 12: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Rewriting: General Idea

L

K

R

glue

emb

G

Figure 5: Example of a graph transformation rule

– Typeset by FoilTEX – 11

Page 13: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Rewriting: General Idea

• Step 1: Match L in the host graph G:

L

K

R

glue

emb

G

• Step 2: Check the applications conditions (Assume none in this example).

– Typeset by FoilTEX – 12

Page 14: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Rewriting: General Idea

• Step 3: Remove from G the part of the isomorphic match that correspondto L (i.e. keep the interface subgraph K), along with all dangling edges.This yields the context graph D. In short, D = G − (L − K):

L

K

R

glue

emb

G D

– Typeset by FoilTEX – 13

Page 15: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Rewriting: General Idea

• Step 4: Glue the context graph D and the right-hand side R, accordingto the glue homomorphism. This yields the gluing graph E:

G

L

K

R

glue

emb

D E

– Typeset by FoilTEX – 14

Page 16: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Rewriting: General Idea

• Step 5: Embed the right-hand side R into D, according to the relationemb. This yields the derived graph H:

G

L

K

R

glue

emb

D E H

– Typeset by FoilTEX – 15

Page 17: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Graph Rewriting: General Idea

• Several Difficulties occur with graph grammars:

– Do we require an isomorphism between the LHS and the host graph?– Do we delete dangling edges when replacing the LHS by the RHS? Or

we do not allow such rule to execute?– How do we organize the rules?

– Typeset by FoilTEX – 16

Page 18: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Double pushout approach

Double pushout approach (DPO) [1]

• The first algebraic approach

• Algebraic: Basic algebraic constructions (from category theory) wereused to define the transformation.

– In DPO: Two pushouts (glues) are performed in the transformation.The first pushout correspond to the deletion of the LHS in the hostgraph. The second pushout correspond to the insertion of the RHS.

• No embedding function.

• The homomorphisms between K and L; K and R must be injective.

– Typeset by FoilTEX – 17

Page 19: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Double pushout approach

• Does not require an isomorphism between L and the host graph G.Instead, a less restrictive approach is used. Two conditions are added forthe application of a rule. (also known as the gluing conditions):

– Dangling condition: If a vertex is deleted, then the production mustspecify the deletion of the edges incident to that node.G

L

K

R

K

G

– Typeset by FoilTEX – 18

Page 20: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Double pushout approach

– Identification condition: Every element that should be deleted in Ghas only one pre-image in L

L

K

R

K

G

– Typeset by FoilTEX – 19

Page 21: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Double pushout approach

L

K

R

glue

emb

G

Figure 6: General graph transformation rule

– Typeset by FoilTEX – 20

Page 22: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Double pushout approach

RKL

G

l r

m

l*

d

r*

HD

m*

1

2

3

45

1

2

3

45

1

2

3

45

Figure 7: DPO graph transformation rule

– Typeset by FoilTEX – 21

Page 23: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Single pushout approach

Single pushout approach (SPO) [1]

• The SPO approach was introduced to add expressiveness to thederivations.

• No gluing conditions.

• No embedding function.

• Deletion has priority over preservation

• The interface graph is expressed as a partial homomorphism between Land R.

– Typeset by FoilTEX – 22

Page 24: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Single pushout approach

RL

G

p

m

p*

H

m*

1 2

34

1 2

3 4

Figure 8: SPO graph transformation rule– Typeset by FoilTEX – 23

Page 25: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Single pushout approach

References

[1] A. Corradini, H. Ehrig, R. Heckel, M. Korff, M. Lowe, L. Ribeiro,and A. Wagner. Algebraic approaches to graph transformation - partI: Basic concepts and double pushout approach. In G. Rozenberg,editor, Handbook of Graph Grammars and Computing by GraphTransformation. Vol. I: Foundations, chapter 4, pages 247–312. WorldScientific, 1997.

[2] A. H. B. H. H.-J. K. S. K. D. P. A. S. G. T. M.Andries, Gregor Engels.Graph Transformation for specification and programming. PhD thesis,1996.

[3] B. T. Messmer and H. Bunke. Subgraph isomorphism in polynomialtime. Technical Report IAM 95-003, 1995.

– Typeset by FoilTEX – 24

Page 26: Graph Grammars - McGill Universitymsdl.cs.mcgill.ca/.../presentations/040218.MarcProvost.pdf · 2008-09-09 · Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca

Marc Provost Single pushout approach

[4] J. Ullman. An algorithm for subgraph isomorphism. Journal of theACM, 23:31–42, 1976.

– Typeset by FoilTEX – 25