graph grammars - mcgill universitymsdl.cs.mcgill.ca/.../presentations/040218.marcprovost.pdf ·...
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/1.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/2.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/3.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/4.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/5.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/6.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/7.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/8.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/9.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/10.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/11.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/12.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/13.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/14.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/15.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/16.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/17.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/18.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/19.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/20.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/21.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/22.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/23.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/24.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/25.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022040611/5ed92a486714ca7f47694472/html5/thumbnails/26.jpg)
Marc Provost Single pushout approach
[4] J. Ullman. An algorithm for subgraph isomorphism. Journal of theACM, 23:31–42, 1976.
– Typeset by FoilTEX – 25