08.01.2013 Views

LNCS 2950 - Aspects of Molecular Computing (Frontmatter Pages)

LNCS 2950 - Aspects of Molecular Computing (Frontmatter Pages)

LNCS 2950 - Aspects of Molecular Computing (Frontmatter Pages)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

On Some Classes <strong>of</strong> Splicing Languages 87<br />

|w|a. Also the mirror image function mi : V ∗ −→ V ∗ can be readily extended to<br />

mi : V ◦ −→ V ◦ ;ifˆw is read in a clockwise manner, mi(ˆw) =ˆmi(w) consists <strong>of</strong><br />

the letters <strong>of</strong> w read in a counter-clockwise manner. We will denote composition<br />

<strong>of</strong> functions algebraically.<br />

To a language L ⊆ V ∗ we can associate the circular language Cir(L) ={ˆw |<br />

w ∈ L} which will be called the circularization <strong>of</strong> L. The notation L ◦ is also<br />

used in the literature.<br />

To a circular language C ⊆ V ◦ we can associate several linearizations, i.e.,<br />

several languages L ⊆ V ∗ such that Cir(L) =C. Thefull linearization <strong>of</strong> the<br />

circular language C will be Lin(C) ={w | ˆw ∈ C}.<br />

Having a family FL<strong>of</strong> languages we can associate to it its circular counterpart<br />

FL ◦ = {Cir(L) | L ∈ FL}. Wecanthusspeak<strong>of</strong>FIN ◦ , REG ◦ ,etc.Acircular<br />

language is in REG ◦ if some linearization <strong>of</strong> it is in REG.<br />

Next we recall some notions on splicing. A splicing rule is a quadruple r =<br />

(u1,u2; u3,u4) withui ∈ V ∗ for i =1, 2, 3, 4. The action <strong>of</strong> the splicing rule r on<br />

linear words is given by<br />

(x1u1u2x2,y1u3u4y2) ⊢r x1u1u4y2.<br />

In other words, the string x = x1u1u2x2 is cut between u1 and u2, the string<br />

y = y1u3u4y2 between u3 and u4, and two <strong>of</strong> the resulting substrings, namely<br />

x1u1 and u4y2, are pasted together producing z = x1u1u4y2.<br />

For a language L ⊆ V ∗ and a splicing rule r, wedenote<br />

r(L) ={z | (x, y) ⊢r z for some x, y ∈ L}.<br />

We say that a splicing rule r respects a language L if r(L) ⊆ L. Inother<br />

words, L is closed w.r.t. the rule r. Aset<strong>of</strong>rulesR respects the language L if<br />

R(L) ⊆ L.<br />

For an alphabet V , a (finite) A ⊂ V ∗ and a set R <strong>of</strong> splicing rules, a triple<br />

S =(V,A,R) is called a splicing system, orH system. The pair σ =(V,R) is<br />

called a splicing (or H) scheme.<br />

For an arbitrary language L ⊆ V ∗ ,wedenoteσ 0 (L) =L, σ(L) =L ∪{z |<br />

for some r ∈ R, x, y ∈ L, (x, y) ⊢r z}, andforanyn ≥ 1 we define σ n+1 (L) =<br />

σ n (L) ∪ σ(σ n (L)). The language generated by the H scheme σ starting from<br />

L ⊆ V ∗ is defined as<br />

σ ∗ (L) = �<br />

σ n (L).<br />

n≥0<br />

The language generated by the H system S =(V,A,R), denoted L(S), is<br />

L(S) =σ ∗ (A), i.e., what we obtain by iterated splicing starting from the strings<br />

in the axiom set A. We recall that L(S) can be also characterized as being the<br />

smallest language L ⊆ V ∗ such that:<br />

(i) A ⊆ L ;<br />

(ii) r(L) ⊆ L for any r ∈ R.<br />

In a similar manner we define splicing on circular languages. The only difference<br />

is that we start from circular strings as axioms, A ⊂ V ◦ , and the application

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!