Splicing/Fusion Grammars and Their Relation to (Chomsky and) - - PowerPoint PPT Presentation

splicing fusion grammars and their relation to chomsky
SMART_READER_LITE
LIVE PREVIEW

Splicing/Fusion Grammars and Their Relation to (Chomsky and) - - PowerPoint PPT Presentation

Splicing/Fusion Grammars and Their Relation to (Chomsky and) Hypergraph Grammars org Kreowski 1 , Sabine Kuske 1 and Aaron Lye 2 Hans-J University of Bremen 1 Department of Computer Science, 2 Department of Mathematics P.O.Box 33 04 40, 28334


slide-1
SLIDE 1

Splicing/Fusion Grammars and Their Relation to (Chomsky and) Hypergraph Grammars

Hans-J¨

  • rg Kreowski 1, Sabine Kuske 1 and Aaron Lye 2

University of Bremen

1 Department of Computer Science, 2 Department of Mathematics

P.O.Box 33 04 40, 28334 Bremen, Germany {kreo,kuske,lye}@informatik.uni-bremen.de

25.06.2018 11th International Conference on Graph Transformation (ICGT)

slide-2
SLIDE 2

Motivation

We introduced fusion grammars at ICGT17. Formal framework for fusion processes in: ◮ DNA computing ◮ chemistry ◮ tiling ◮ fractal geometry ◮ visual modeling ◮ etc

slide-3
SLIDE 3

DNA computing

fusion (ligation)

slide-4
SLIDE 4

DNA computing

fusion (ligation) splicing (triggered by enzymes)

slide-5
SLIDE 5

Hypergraph

We consider hypergraphs over Σ with hyperedges like

  • v1

1

  • v2

2

A

  • vk

k

where A ∈ Σ. The class of all hypergraphs over Σ is denoted by HΣ.

slide-6
SLIDE 6

Fusion

Let F ⊆ Σ be a fusion alphabet with a type k(A) ∈ N for each A ∈ F and with a disjoint complementary copy F ⊆ Σ where k(A) = k(A). A fusion rule fr(A) is defined as

  • 1

1

  • 1′

1

  • 2

2

  • 2′

2

A A

  • k(A)

k(A)

k(A)′

k(A)

  • 1
  • 1′
  • 2
  • 2′
  • k(A)
  • k(A)′

  • 1 = 1′
  • 2 = 2′
  • k(A) = k(A)′
slide-7
SLIDE 7

Fusion

Let F ⊆ Σ be a fusion alphabet with a type k(A) ∈ N for each A ∈ F and with a disjoint complementary copy F ⊆ Σ where k(A) = k(A). A fusion rule fr(A) is defined as

  • 1

1

  • 1′

1

  • 2

2

  • 2′

2

A A

  • k(A)

k(A)

k(A)′

k(A)

  • 1
  • 1′
  • 2
  • 2′
  • k(A)
  • k(A)′

  • 1 = 1′
  • 2 = 2′
  • k(A) = k(A)′

fr(A) = (A• + A

  • in+in

← − − − K + K

1K,1K

− − − − − → K) where K = [k(A)], in is the inclusion of K into A• and in is the inclusion of K into A

  • .
slide-8
SLIDE 8

Fusion rule application

◮ The application of fr(A) is defined by a double pushout K K + K A• + A

  • H

C H′ 1K, 1K f ′ c e in + in f e′ where matching morphism f : A• + A

  • → H satisfies the

gluing condition always. ◮ C is unique up to isomorphism because in + in is injective. ◮ It is denoted by H = ⇒

fr(A) H′.

slide-9
SLIDE 9

Example

2

  • 3
  • 1

# 2 3 1

+

2 3 1

= ⇒

fr(△)

  • #

2 3 1 2

  • 3
  • 1

# 2 3 1

+

2 3 1

⇐ =

? (△)

  • #

2 3 1

slide-10
SLIDE 10

Fusion grammar FG = (Z, F, M, T)

◮ Z ∈ HF∪F∪M∪T start hypergraph F, M, T ⊆ Σ, fusion, marker, terminal alphabet M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ = T ∩ M

slide-11
SLIDE 11

Fusion grammar FG = (Z, F, M, T)

◮ Z ∈ HF∪F∪M∪T start hypergraph F, M, T ⊆ Σ, fusion, marker, terminal alphabet M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ = T ∩ M ◮ A direct derivation is either H = ⇒

fr(A) H′

for some A ∈ F or H = ⇒

m m · H =

  • C∈C(H)

m(C) · C for some multiplicity m: C(H) → N where C(H) is the set of all connected components of H. ◮ A derivation is defined by the reflexive and transitive closure.

slide-12
SLIDE 12

Fusion grammar FG = (Z, F, M, T)

◮ Z ∈ HF∪F∪M∪T start hypergraph F, M, T ⊆ Σ, fusion, marker, terminal alphabet M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ = T ∩ M ◮ A direct derivation is either H = ⇒

fr(A) H′

for some A ∈ F or H = ⇒

m m · H =

  • C∈C(H)

m(C) · C for some multiplicity m: C(H) → N where C(H) is the set of all connected components of H. ◮ A derivation is defined by the reflexive and transitive closure. ◮ The generated language L(FG) = {remM(Y ) | Z

= ⇒ H, Y ∈ C(H) ∩ (HT∪M − HT)}.

slide-13
SLIDE 13

Example

2

  • 3
  • 1

# 2 3 1

+

2 3 1

= ⇒

fr(△)

  • #

2 3 1 2

  • 3
  • 1

# 2 3 1

+

2 3 1

⇐ =

sr(△)

  • #

2 3 1

slide-14
SLIDE 14

Splicing

Let F ⊆ Σ be a fusion alphabet with a disjoint complementary copy F ⊆ Σ A splicing rule sr(A) is

  • 1 = 1′
  • 2 = 2′
  • k(A) = k(A)′

  • 1
  • 1′
  • 2
  • 2′
  • k(A)
  • k(A)′

  • 1

1

  • 1′

1

  • 2

2

  • 2′

2

A

  • A
  • k(A)

k(A)

k(A)′

k(A)

K

1K,1K

← − − − − − K + K

in+ in

− − − → A• + A• where K = [k(A)], in is the inclusion of K into A• and in is the respective inclusion of K into A•.

slide-15
SLIDE 15

Splicing rule application

◮ The application of sr(A) is defined by a double pushout K K + K A• + A• H C H′ 1K, 1K f c e in + in f ′ e′ ◮ C is not uniquely determined, because lefthand-side morphism is not injective. ◮ It is denoted by H = ⇒

sr(A) H′.

slide-16
SLIDE 16

Example

Consider sr(A) = (• ← • • →

A

  • A).

Apply sr(A) to ◦

  • • ◦ .

The pushout complement objects are:

  • • ◦
  • • ◦
  • • ◦
  • • ◦
  • •• ◦

The derived graphs are:

  • • ◦

A

  • A
  • • ◦
  • A
  • A
  • • ◦
  • A
  • A
  • • ◦
  • A
  • A
  • •• ◦

A

  • A
  • • ◦
  • A

A

  • • ◦
  • A

A

  • • ◦
  • A

A

  • •• ◦
  • A

A

slide-17
SLIDE 17

Example

Consider sr(A) = (• ← • • →

A

  • A).

Apply sr(A) to ◦

  • • ◦ .

The pushout complement objects are:

  • • ◦
  • • ◦
  • • ◦
  • • ◦
  • •• ◦

The derived graphs are:

  • • ◦

A

  • A
  • • ◦
  • A
  • A
  • • ◦
  • A
  • A
  • • ◦
  • A
  • A
  • •• ◦

A

  • A
  • • ◦
  • A

A

  • • ◦
  • A

A

  • • ◦
  • A

A

  • •• ◦
  • A

A This waste nondeterminism is often undesireable. To cut it down, one may use context conditions.

slide-18
SLIDE 18

Splicing rule with fixed disjoint context

srfdc(A, a) consists of a splicing rule sr(A) and a morphism a: K → X for some context X. srfdc(A, a) = (X

a

← − K

1K,1K

← − − − − − K + K

in+ in

− − − → A• + A•)

slide-19
SLIDE 19

Splicing rule with fixed disjoint context

srfdc(A, a) consists of a splicing rule sr(A) and a morphism a: K → X for some context X. srfdc(A, a) = (X

a

← − K

1K,1K

← − − − − − K + K

in+ in

− − − → A• + A•) It is applicable to H if the pushout complement can be chosen in the following way K K + K H Y + X 1K, 1K f y + a m, b where m: Y → H is injective. ◮ The complement consists of two disjoint parts one of which is X. ◮ It is unique if it exists. ◮ X gets an A-hyperedge and Y get an A-hyperedge.

slide-20
SLIDE 20

Example

cut = (2• 1•

  • ⊇ [2] ← [2] + [2] ⊆ A• +

A•)

  • =

cut

  • A +

A •

slide-21
SLIDE 21

Splicing/fusion grammar SFG = (Z, F, M, T, SR)

extends fusion grammars by splicing rules with fixed disjoint context. ◮ F, M, T ⊆ Σ, fusion, marker, terminal alphabet M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ = T ∩ M M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅

slide-22
SLIDE 22

Splicing/fusion grammar SFG = (Z, F, M, T, SR)

extends fusion grammars by splicing rules with fixed disjoint context. ◮ F, M, T ⊆ Σ, fusion, marker, terminal alphabet M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ = T ∩ M M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ ◮ A direct derivation is either H = ⇒

fr(A) H′

for some A ∈ F or H = ⇒

m m · H =

  • C∈C(H)

m(C) · C for some m: C(H) → N or H = ⇒

srfdc(A,a) H′

for some A ∈ F and a: K → X.

slide-23
SLIDE 23

Splicing/fusion grammar SFG = (Z, F, M, T, SR)

extends fusion grammars by splicing rules with fixed disjoint context. ◮ F, M, T ⊆ Σ, fusion, marker, terminal alphabet M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ = T ∩ M M ∩ (F ∪ F) = ∅, T ∩ (F ∪ F) = ∅ ◮ A direct derivation is either H = ⇒

fr(A) H′

for some A ∈ F or H = ⇒

m m · H =

  • C∈C(H)

m(C) · C for some m: C(H) → N or H = ⇒

srfdc(A,a) H′

for some A ∈ F and a: K → X. ◮ The generated language L(SFG) = {remM(Y ) | Z

= ⇒ H, Y ∈ C(H) ∩ (HT∪M − HT)}

slide-24
SLIDE 24

Generative power

ICGT17: ◮ Fusion grammars can simulate hyperedge replacement grammars. ◮ Their membership problem is deciable. How powerful are splicing/fusion grammars?

slide-25
SLIDE 25

Transformation of Chomsky grammars into splicing/fusion grammars

Let (N, T, P, S) be a Chomsky grammar. Let p = (u1 . . . uk, v1 . . . vl) ∈ P. Let x1 . . . xn = x1 . . . xi−1u1 . . . ukxi+k . . . xn Then x1 . . . xi−1u1 . . . ukxi+k . . . xn = ⇒

p x1 . . . xi−1v1 . . . vlxi+k . . . xn

slide-26
SLIDE 26

Transformation of Chomsky grammars into splicing/fusion grammars

Let (N, T, P, S) be a Chomsky grammar. Let p = (u1 . . . uk, v1 . . . vl) ∈ P. Let x1 . . . xn = x1 . . . xi−1u1 . . . ukxi+k . . . xn Then x1 . . . xi−1u1 . . . ukxi+k . . . xn = ⇒

p x1 . . . xi−1v1 . . . vlxi+k . . . xn

Adapting a transformation of Chomsky grammars into iterated splicing systems (cf. [P˘ aun,Rozenberg,Salomaa:1998]). cyc(x1 . . . xn) = u1 uk xn x1 xi−1 xi+k be

= ⇒ v1 vl xn x1 xi−1 xi+k be

slide-27
SLIDE 27

Simulating a direct derivation

p = (u1 . . . uk, v1 . . . vl) ∈ P cyc(x1 . . . xn)act,i = xn x1 x2 be xi−1 xi xi+1 xn x1 x2 act = u1 uk xn x1 xi−1 xi+k be act

slide-28
SLIDE 28

Simulating a direct derivation

p = (u1 . . . uk, v1 . . . vl) ∈ P cyc(x1 . . . xn)act,i = xn x1 x2 be xi−1 xi xi+1 xn x1 x2 act = u1 uk xn x1 xi−1 xi+k be act

  • 1. splicing, i.e.,

cyc(x1 . . . xn)act,i = ⇒

sr(Ap,u1...,uk)

xi−1 xi+k xn x1 Ap be +

  • . . .
  • u1

uk

  • Ap

act sr(Ap, u1 . . . uk) =

  • 1
  • . . . • •

2

act u1 uk ⊇ •

1

  • 2 ← •

1

  • 2
  • 1′ •

2′ ⊆ • 1

  • 2
  • 1′
  • 2′

Ap

  • Ap
slide-29
SLIDE 29

Simulating a direct derivation

p = (u1 . . . uk, v1 . . . vl) ∈ P cyc(x1 . . . xn)act,i = xn x1 x2 be xi−1 xi xi+1 xn x1 x2 act = u1 uk xn x1 xi−1 xi+k be act

  • 1. splicing, i.e.,

cyc(x1 . . . xn)act,i = ⇒

sr(Ap,u1...,uk)

xi−1 xi+k xn x1 Ap be +

  • . . .
  • u1

uk

  • Ap

act sr(Ap, u1 . . . uk) =

  • 1
  • . . . • •

2

act u1 uk ⊇ •

1

  • 2 ← •

1

  • 2
  • 1′ •

2′ ⊆ • 1

  • 2
  • 1′
  • 2′

Ap

  • Ap
  • 2. fusion, i.e.,
  • . . . •
  • v1

vl Ap act = ⇒

fr(Ap)

+ cyc(x1 . . . xi−1Apxi+k . . . xn) v1 vl xn x1 xi−1 xi+k be act

slide-30
SLIDE 30

Moving the act-loop

Q = P ∪ {(x, x) | x ∈ N ∪ T} i.e., for each x ∈ N ∪ T: ◮ cx = •

  • x

Ax act, and ◮ sr(Ax, x) =

  • 1
  • 2

act x ⊇ •

1

  • 2 ← •

1

  • 2
  • 1′ •

2′ ⊆ • 1

  • 2
  • 1′
  • 2′

Ax

  • Ax
slide-31
SLIDE 31

Moving the act-loop

Q = P ∪ {(x, x) | x ∈ N ∪ T} i.e., for each x ∈ N ∪ T: ◮ cx = •

  • x

Ax act, and ◮ sr(Ax, x) =

  • 1
  • 2

act x ⊇ •

1

  • 2 ← •

1

  • 2
  • 1′ •

2′ ⊆ • 1

  • 2
  • 1′
  • 2′

Ax

  • Ax
  • 1. splicing, i.e.,

cyc(x1 . . . xn)act,i = ⇒

sr(Axi ,xi)

xi−1 xi+1 xn x1 Axi be +

  • xi
  • Axi

act

slide-32
SLIDE 32

Moving the act-loop

Q = P ∪ {(x, x) | x ∈ N ∪ T} i.e., for each x ∈ N ∪ T: ◮ cx = •

  • x

Ax act, and ◮ sr(Ax, x) =

  • 1
  • 2

act x ⊇ •

1

  • 2 ← •

1

  • 2
  • 1′ •

2′ ⊆ • 1

  • 2
  • 1′
  • 2′

Ax

  • Ax
  • 1. splicing, i.e.,

cyc(x1 . . . xn)act,i = ⇒

sr(Axi ,xi)

xi−1 xi+1 xn x1 Axi be +

  • xi
  • Axi

act

  • 2. fusion, i.e.,

cyc(x1 . . . xi−1Axixi+k . . . xn) + cxi = ⇒

fr(Axi )

xi−1 xi xi+1 xn x1 x2 be act

slide-33
SLIDE 33

Transformation Chomsky grammars into splicing/fusion grammars

Given Chomsky grammar CG = (N, T, P, S). Let Q = P ∪ {(x, x) | x ∈ N ∪ T}. SFG(CG) = (Z(CG), N(CG), ∅, T(CG), SR(CG)) N(CG) = {Ay | y ∈ N ∪ T ∪ P} ∪ {act} T(CG) = T ∪ {be} Z(CG) =

  • S

be act + • act +

  • p=(u,v1...vl)∈Q
  • . . . •
  • v1

vl Ap act SR(CG) = {sr(Ap, u1 . . . , uk) | p = (u1 . . . uk, v) ∈ Q} where sr(Ap, u1 . . . , uk) =

  • 1
  • . . . • •

2

act u1 uk ⊇ •

1

  • 2 ← •

1

  • 2
  • 1′ •

2′ ⊆ • 1

  • 2
  • 1′
  • 2′

Ap

  • Ap
slide-34
SLIDE 34

Theorem I

Let CG = (N, T, P, S) be a Chomsky grammar and SFG(CG) the corresponding splicing/fusion grammar. Then cyc(L(CG)) = L(SFG(CG)). CG SFG(CG) L(CG) cyc(L(CG)) = L(SFG(CG)) transform generate generate cyc

slide-35
SLIDE 35

Hypergraph grammar HGG = (N, T, P, S)

◮ N, T ⊆ Σ, T ∩ N = ∅, S ∈ N, A ∈ N has a type k(A) ∈ N P is a finite set of rules of the form r = (L

a

← − K

b

− → R) where L, K, R ∈ HΣ, K discrete and a injective. ◮ A rule application H = ⇒

r

H′ (direct derivation) is defined by a double pushout L K R H I H′ g a m d b h m′ where matching morphism g : L → H is subject to the gluing condition. ◮ L(HGG) = {X ∈ HT | S•

= ⇒

P X}.

slide-36
SLIDE 36

Simulating a direct derivation

HGG : r = (L ⊇ K

b

− → R)

  • L

= ⇒

r

  • R

⇐ ⇒ SFG :

  • L

+

R Ar

  • 2

1 k(Ar)

R together with an additional Ar-hyperedge attached to b(1) · · · b(k).

slide-37
SLIDE 37

Simulating a direct derivation

HGG : r = (L ⊇ K

b

− → R)

  • L

= ⇒

r

  • R

⇐ ⇒ SFG :

  • L

+

R Ar

  • 2

1 k(Ar)

R together with an additional Ar-hyperedge attached to b(1) · · · b(k). = ⇒

srfdc(Ar,a)

a:k(Ar )→L

  • Ar

2 1 k(Ar)

+

L

  • Ar
  • 2

1 k(Ar)

+

R Ar

  • 2

1 k(Ar)

slide-38
SLIDE 38

Simulating a direct derivation

HGG : r = (L ⊇ K

b

− → R)

  • L

= ⇒

r

  • R

⇐ ⇒ SFG :

  • L

+

R Ar

  • 2

1 k(Ar)

R together with an additional Ar-hyperedge attached to b(1) · · · b(k). = ⇒

srfdc(Ar,a)

a:k(Ar )→L

  • Ar

2 1 k(Ar)

+

L

  • Ar
  • 2

1 k(Ar)

+

R Ar

  • 2

1 k(Ar)

= ⇒

fr(Ar)

  • R

+

L

  • Ar
  • 2

1 k(Ar)

slide-39
SLIDE 39

Transformation of hypergraph grammars into splicing/fusion grammars

Connective hypergraph grammar: Each connected component contains some gluing node and for each (L ⊇ K

b

− → R): if i, j ∈ VK are connected in L, then b(i), b(j) are connected in R.

Lemma

Connectedness is preserved.

slide-40
SLIDE 40

Transformation of hypergraph grammars into splicing/fusion grammars

Connective hypergraph grammar: Each connected component contains some gluing node and for each (L ⊇ K

b

− → R): if i, j ∈ VK are connected in L, then b(i), b(j) are connected in R.

Lemma

Connectedness is preserved.

Theorem (2)

Let HGG = (N, T, P, S) be a connective hypergraph grammar and SFG(HGG) its corresponding splicing/fusion grammar. Then L(HGG) = L(SFG(HGG)). In other words, splicing/fusion grammars can simulate hypergraph grammars, but connectedness must be preserved.

slide-41
SLIDE 41

Transformation of hypergraph grammars into splicing/fusion grammars

SFG(HGG) = (Z(HGG), F(HGG), M(HGG), T(HGG), SR(HGG)) ◮ F(HGG) = {Ar | r = (L ⊇ [k] → R) ∈ P, k(Ar) = k}, M(HGG) = {µ} with k(µ) = 0, T(HGG) = T ◮ F(HGG), F(HGG), F(HGG), M(HGG), T are pairwise disjoint. ◮ Z(HGG) = S•

µ + r∈P

C(r) where C(r) for r = (L ⊇ [k] b − → R) is R together with an additional Ar-hyperedge attached to b(1) · · · b(k). ◮ SR(HGG) = {srfdc(Ar, a) | r = (L

a

⊇ [k] − → R) ∈ P) where srfdc(Ar, a) = (L

a

⊇ [k(Ar)]

1[k(Ar )],1[k(Ar )]

← − − − − − − − − − [k(Ar)]+[k(Ar)] in+

in

− − − → A•

r +

A•

r

slide-42
SLIDE 42

Pushout property

Lemma

Let C be a category with finite coproduct (denoted by +) and

  • pushouts. Consider the following diagrams:

L K H I a g d m (1) K K + K H I + L 1K, 1K g ◦ a d + a m, g (2) Then the left diagram is a pushout if and only if the right diagram is a pushout.

slide-43
SLIDE 43

Conclusion

◮ We have extended fusion grammars by splicing rules with fixed disjoint context. ◮ Transformation of Chomsky grammars into splicing/fusion grammars. ◮ Transformation of connective hypergraph grammars into splicing/fusion grammars. Further work: ◮ Are there other meaningful conditions for splicing besides fixed disjoint context? ◮ How are DNA computing models related to splicing/fusion grammars? ◮ How can we overcome the limitation of generating connected components? ◮ Are there interesting examples where one can use all connected component resulting from splicing?

slide-44
SLIDE 44

Thank you! Questions?