“Towards a characterization of regular languages generated by finite splicing systems: where are we?” Ravello, 19-21 Settembre 2003 Paola Bonizzoni, Giancarlo Mauri Clelia De Felice, Rosalba Zizza Dipartimento di Informatica Sistemistica e Comunicazioni, Dipartimento di Informatica e Applicazioni, Univ. of Milano - Bicocca, ITALY Univ. of Salerno, ITALY COFIN auditorium after this talk COFIN auditorium working on splicing themes Paun’s linear splicing operation (1996) : (x u1u2 y, wu3u4 z) r = u1 | u2 $ u3 | u4 rule (x u1 u4 z , wu3 u2 y) sites x u1 x u1 u2 x w u3 u4 z u4 u2 u1 y u4 y z w u3 w u3 u2 z Pattern recognition cut paste y Example s| s $ s | t me s s o, pa s t o u1 u2 u3 u4 mesto, passo Paun’s linear splicing system (1996) SPA = (A, I, R) A=finite alphabet; I A* initial language; RA*|A*$A*|A* set of rules; L(SPA) = I (I) 2(I) ... = n0 n(I) splicing language H(F1, F2) = {L=L(SPA) | SPA = (A,I,R), IF1, R F2, H(F1, F2) REG LIN CF CS RE FIN FIN,REG FIN,RE FIN,RE FIN,RE FIN,RE FIN,RE REG REG REG,RE REG,RE REG,RE REG,RE REG,RE LIN LIN,CF LIN,RE LIN,RE LIN,RE LIN,RE LIN,RE CF CF CF,RE CF,RE CF,RE CF,RE CF,RE CS CS,RE CS,RE CS,RE CS,RE CS,RE CS,RE RE RE RE RE RE RE RE I\R FIN F1, F2 families in the Chomsky hierarchy} [Head, Paun, Pixton, Handbook of Formal Languages, 1996] { L | L=L(SPA), I regular, R finite } = Regular { L | L=L(SPA), I, R finite sets } Regular (aa)* L(SPA) (proper subclass) In the following… Finite linear splicing system: SPA = ( A, I, R) with A, I, R finite sets Problem 1 Problem 2 Characterize regular languages generated by finite linear Paun splicing systems Given L regular, can we decide whether L H(FIN,FIN) ? Computational power of splicing languages and regular languages: a short survey… Head 1987 (Bull. Math. Biol.): SLT=languages generated by Null Context splicing systems (triples (1,x,1)) Gatterdam 1992 (SIAM J. of Comp.): specific finite Head’s splicing systems Culik, Harju 1992 (Discr. App. Math.): (Head’s) splicing and domino languages Kim 1997 (SIAM J. of Comp.): from the finite state automaton recognizing I to the f.s.a. recognizing L(SH) Kim 1997 (Cocoon97): given LREG, a finite set of triples X, we can decide whether IL s.t. L= L(SH) Pixton 1996 (Theor. Comp. Sci.): if F is a full AFL, then H(FA,FIN) FA Mateescu, Paun, Rozenberg, Salomaa 1998 (Discr. Appl. Math.): simple splicing systems (all rules a|1 $ a|1, aA); we can decide whether LREG, L= L(SPA ), SPA simple splicing system. Head 1998 (Computing with Bio-Molecules): given LREG, we can decide whether L= L(SPA ) with “special” one sided-contexts rR: r=u|1 $ v|1 (resp. r=1|u $ 1|v), u|1 $ u|1R (resp. 1|u $ 1|uR) Head 1998 (Discr. Appl. Math.): SLT=hierarchy of simple splicing systems Bonizzoni, Ferretti, Mauri, Zizza 2001 (IPL): Strict inclusion among finite splicing systems Head 2002 Splicing systems: regular languages and below (DNA8) Main Difficulty Model Language Generative process of the language Consistency of the model Rules for generating... c z u c v’ v z u u u’ c v v v’ TOOLS: Automata Theory Syntactic Congruence (w.r.t. L) [x] x L x’ [ w,z A* wxz L wx’z L] C(x,L) = C(x’,L) Context of x and x’ L regular M (L) finite syntactic monoid M(L)= A*/ L Minimal Automaton Constant [Schützenberger, 1975] w A* is a CONSTANT for a language L if C(w,L)=Cl (w,L) Cr (w,L) Left context Right context Partial results [Bonizzoni, De Felice, Mauri, Zizza (2002)] L=L(A ) , A = (A, Q,, q0 ,F) minimal Marker [x] [x] > q0 > > > > only here L=L([x])={y’1x’ y’2 A*|(q0 ,y’1 x’ y’2) F , x’ [x]} finite splicing language Marker Language Reflexive splicing system SPA = (A, I, R) u1 | u2 $ u3 | u4 R Remark [Handbook 1996] finite + (reflexive hypothesis on R) u1 | u2 $ u1 | u2 , u3 | u4 $ u3 | u4 R [Handbook 1996] Finite Head splicing system Finite Paun splicing system, reflexive and symmetric Reflexive splicing system L is a reflexive splicing language Theorem [Handbook 1996] L=L(SPA), SPA reflexive splicing system [Head, Splicing languages generated by one-sided context (1998)] L is a regular language generated by a reflexive SPA=(A, I, R) , where rR: r=u|1 $ v|1 (resp. r=1|u $ 1|v) finite set of constants F for L s.t. the set L\ {A*cA* : c F} is finite We can decide the above property, but only when ALL rules are either r=u|1 $ v|1 or r=1|u $ 1|v Main result 1 (and 2) [Bonizzoni, De Felice, Mauri, Zizza, DLT03] Pixton The characterization of reflexive Paun splicing languages structure described by means of • finite set of (Schutzenberger) constants C • finite set of factorizations of these constants into 2 words mapping of some pairs of constants into a word Pixton Reflexive Paun splicing languages FINITE UNION OF languages containing constants in C languages containing mixed factorizations of constants languages containing images of constants Main result 3 The characterization of Head splicing languages Reflexive Paun splicing languages Reflexive and “transitive” Paun splicing languages Head splicing languages FINITE UNION OF Head splicing languages languages containing constants in C languages containing “constrained” mixed factorizations of constants Theorem L is a regular reflexive splicing language T finite subset of N, Constant language L is a split-language. {mt | mt is a constant for a regular language L, t T} L(mt) = {x mt y L| x,yA*} L is a split language L = X Finite set, s.t. no word in X has mt as a factor t T L(mt) (j,j’)L(j,j’) Union of constant languages mt m(j,1) m(j,2) L1m t L2 = L1 m(j,1) m(j,2) L2 L1 m(j,1) m(j’,2) L’2 L’1m(j’,1) m(j,2) L2 m(j’,1) m(j’,2) mt’ L’1 m t’ L’2 = L’1m(j’,1) m(j’,2) L’2 CIRCULAR SPLICING restriction enzyme 2 restriction enzyme 1 ligase enzyme Result [Bonizzoni, De Felice, Mauri, Zizza 2002] shorter than L a* generated by a L =L 1 { ag | g G } + finite circular splicing system finite set (minimal automaton A for L) q0 All regular languages > q1 a > q2 > ... > > > > Zn Decidable property for A > a subgroup of > > qn’ > ^ length of the closed path = p | n’, p | n Definition Star languages L A* star language = L closed under the conjugacy relation and L=X*, X regular Definition Fingerprint closed languages For any cycle c, L contains the Fingerprint of c (“suitable” finite crossing of the closed path labelled with c) Theorem X* star language AND fingerprint closed X* generated (by Paun circular splicing) Example GROUP CODES 2-splicing (1996) 2 : (x u1u2 y, wu3u4 z) r = u1 | u2 $ u3 | u4 rule (x u1 u4 z , wu3 u2 y) 1-splicing (1996) 1 : (x u1u2 y, wu3u4 z) r = u1 | u2 $ u3 | u4 rule x u1 u4 z H2 (F1, F2) H1 (F1, F2) = ... ? [Handbook 1996] Result [Words03] CONSTANT LANGUAGES (2-splicing): Lc, cL, LcL, cLc (LA* regular, c A) [Head 98] H1 (Fin,Fin) H2 (Fin,Fin) L+c*L, L+Lc* L+cLc L+cL+Ld, L+cL+Ld, L+LcL Reg al prossimo COFIN ! Outline of the talk (and of the research steps…) Let us recall the splicing operation Let us manage splicing languages Let us understand the “crux” of splicing languages Let us construct reflexive splicing languages [DLT03] Let us recall our results on circular splicing 1-splicing vs. 2-splicing: separating results [R.Z. & Sergey Verlan, WORDS03] Example (aa)*b =L(SPA) , I={b, aab} , R={1| b$ 1| aab} (aa b , aab) = (aaaab, b) (aaaa b , aab) = (aaaaaab, b) Example (reflexive language) c q0 a a b c qF a b c a a a c CONSTANT LANGUAGES! aac*a =L(SPA) , I={aaa, aaca} , R={c| 1$ 1|c} caa c*ac =L(SPA) , I={caaac, aaacac} , R={caac| 1$ caa|1} aac*a + caac*ac NOT (FINITE UNION OF) CONSTANT LANGUAGES! aac*a + caac*ac + bb + ab + bac*a REFLEXIVE LANGUAGE