Defina la siguiente clase de idiomas "circulares" sobre un alfabeto finito Sigma. En realidad, el nombre ya existe para denotar una cosa diferente que parece, utilizada en el campo de la computación de ADN. AFAICT, esa es una clase diferente de idiomas.
Un lenguaje L es circular si todas las palabras en , tenemos:w
w
¿Se conoce esta clase de idiomas? Estoy interesado en los idiomas circulares que también son regulares y en particular en:
un nombre para ellos, si ya son conocidos
Decidibilidad del problema, dado un autómata (en particular: un DFA), si el lenguaje aceptado obedece a la definición anterior
fl.formal-languages
automata-theory
regular-language
vincenzoml
fuente
fuente
Respuestas:
En la primera parte, mostramos un algoritmo exponencial para decidir la circularidad. En la segunda parte, mostramos que este es un problema difícil. En la tercera parte, mostramos que cada lenguaje circular es una unión de lenguajes de la forma r + (aquí r podría ser la expresión regular vacía); La unión no es necesariamente disjunta. En la cuarta parte, exhibimos un lenguaje circular que no se puede escribir como una suma disjunta ∑ r + i .r+ r ∑ r+yo
Editar: incorporó algunas correcciones después de los comentarios de Mark. En particular, mis anteriores afirmaciones de que la circularidad está completada con coNP o NP-hard están corregidas.
Editar: Se corrigió la forma normal de ∑ r ∗ i a ∑ r + i . Exhibió un lenguaje "inherentemente ambiguo".∑ r∗yo ∑ r+yo
Continuando con el comentario de Peter Taylor, aquí se explica cómo decidir (extremadamente ineficientemente) si un lenguaje es circular dado su DFA. Construya un nuevo DFA cuyos estados sean n -tuplas de los estados anteriores. Este nuevo DFA ejecuta n copias del antiguo DFA en paralelo.norte norte
Si el lenguaje no es circular, entonces hay una palabra w tal que si lo ejecutamos a través del DFA repetidamente, comenzando con el estado inicial s 0 , entonces obtenemos estados s 1 , ... , s n tal que s 1 está aceptando pero uno de los otros no está aceptando (si todos lo están aceptando, entonces la secuencia s 0 , ... , s n debe hacer un ciclo para que w ∗ esté siempre en el lenguaje). En otras palabras, tenemos una ruta desde s 0 , ... , s nw s0 0 s1, ... , snorte s1 s0 0, ..., snorte w∗ - 1 a s 1 ,..., s n donde s 1 está aceptando pero uno de los otros no está aceptando. Por el contrario, si el lenguaje es circular, eso no puede suceder.s0 0, ... , sn - 1 s1, ... , snorte s1
Así que hemos reducido el problema a una simple prueba de accesibilidad dirigida (solo marque todas las n- tuplas "malas" posibles).norte
El problema de la circularidad es muy difícil. Supongamos que tenemos una instancia de 3SAT con n variables → x y m cláusulas C 1 , ... , C m . Podemos suponer que n = m (agregar variables ficticias) y que n es primo (de lo contrario, encontrar un primo entre n y 2 n usando la prueba de primalidad AKS, y agregar variables ficticias y cláusulas).norte X⃗ metro C1, ... , Cmetro n = m norte norte 2 n
Considere el siguiente lenguaje: "la entrada no tiene la forma → x 1 ⋯ → x n donde → x i es una asignación satisfactoria para C i ". Es fácil construir un O ( n 2 ) DFA para este lenguaje. Si el idioma no es circular, entonces hay una palabra w en el idioma, cuyo poder no está en el idioma. Como las únicas palabras que no están en el idioma tienen una longitud n 2 , w debe ser de longitud 1 o n . Si es de longitudX⃗ 1⋯ x⃗ norte X⃗ yo Cyo O ( n2) w norte2 w 1 norte 1 , considere w n en su lugar (todavía está en el idioma), de modo que w esté en el idioma y w n no esté en el idioma. El hecho de que w n no esté en el idioma significa que w es una tarea satisfactoria.1 wnorte w wnorte wnorte w
Por el contrario, cualquier tarea satisfactoria se traduce en una palabra que demuestra la no circularidad del idioma: la tarea satisfactoria w pertenece al idioma pero w n no. Por lo tanto, el lenguaje es circular si la instancia de 3SAT no es satisfactoria.w wnorte
En esta parte, discutimos una forma normal para los lenguajes circulares. Considere algunas de DFA para un lenguaje circular L . Una secuencia C = C 0 , ... es real si C 0 = s (el estado inicial), todos los demás estados aceptan, y C i = C j implica C i + 1 = C j + 1 . Por lo tanto, cada secuencia real es eventualmente periódica, y solo hay finitamente muchas secuencias reales (ya que el DFA tiene muchos estados).L C=C0,… C0=s Ci=Cj Ci+1=Cj +1
Decimos que una palabra se comporta de acuerdo con CC si la palabra toma el DFA del estado c i al estado c i + 1 , para todo i . El conjunto de todas esas palabras E ( C ) es regular (el argumento es similar a la primera parte de esta respuesta). Tenga en cuenta que E ( C ) es un subconjunto de L .ci ci+1 i E(C) E(C) L
Dada una secuencia real C , defina C k como la secuencia C k ( t ) = C ( k t ) . La secuencia C k también es real. Dado que solo hay finitamente muchas secuencias diferentes C k , el lenguaje D ( C ), que es la unión de todos E ( C k ), también es regular.C Ck Ck(t)=C(kt) Ck Ck D(C) E(Ck)
Afirmamos que D ( C ) tiene la propiedad de que si x , y ∈ D ( C ) entonces x y ∈ D ( C ) . De hecho, suponga que x ∈ C k y y ∈ C l . Entonces x y ∈ C k + l . Por lo tanto, D ( C ) = D ( C ) + se puede escribir en la forma rD(C) x,y∈D(C) xy∈D(C) x∈Ck y∈Cl xy∈Ck+l D(C)=D(C)+ + para alguna expresión regular r .r+ r
Cada palabra w en el lenguaje corresponde a alguna secuencia real C , es decir, existe una secuencia real C que w se comporta según. Por lo tanto L es la unión de D ( C ) sobre toda la secuencia real de C . Por lo tanto, cada lenguaje circular tiene una representación de la forma ∑ r + i . Por el contrario, cada lenguaje es circular (trivial).w C C w L D(C) C ∑r+i
Considere el lenguaje circular L de todas las palabras sobre a , b que contienen un número par o un 's o un número par de b ' (o ambos). Mostramos que no puede escribirse como una suma disjunta ∑ r + i ; por "disjunto" queremos decir que r + i ∩ r + j = ∅ .L a,b a b ∑r+i r+i∩r+j=∅
Deje N i sea el tamaño de la algunos DFA para r + i , y N > max N i ser algún extraño entero. Considere x = a N b N ! . Como x ∈ L , x ∈ r + i para algunos i . Por el lema de bombeo, podemos bombear un prefijo de x de longitud como máximo N . Por lo tanto, r + i genera z = a N !Ni r+i N>maxNi x=aNbN! x∈L x∈r+i i x N r+i b N ! . Del mismo modo, y = a N ! b N es generado por algunos r + j , que también genera z . Tenga en cuenta que i ≠ j desde x y ∉ L . Por lo tanto, la representación no puede ser disjunta.z=aN!bN! y=aN!bN r+j z i≠j xy∉L
fuente
Aquí hay algunos documentos que discuten estos idiomas:
Thierry Cachat, El poder de los lenguajes racionales de una letra, DLT 2001, Springer LNCS # 2295 (2002), 145-154.
S. Hovath, P. Leupold y G. Lischke, Raíces y poderes de los idiomas regulares, DLT 2002, Springer LNCS # 2450 (2003), 220-230.
H. Bordihn, La libertad de contexto del poder de los lenguajes libres de contexto es indecidible, TCS 314 (2004), 445-449.
fuente
@Dave Clarke, L = a * | b * sería circular, pero L * sería (a | b) *.
En términos de capacidad de decisión, un lenguaje L es circular si hay un L ' tal que L es el cierre bajo + de L ' o si es una unión finita de lenguajes circulares.L L′ L L′
(I'm dying to redefine "circular" replacing your >> with ≥≥ . It simplifies things a lot. We can then characterise the circular languages as those for which there exists a NDFA whose starting state has only epsilon-transitions to accepting states and has an epsilon-transition to each accepting state).
fuente
Edit: A complete (simplified) PSPACE-completeness proof appears below.
Two updates. First, the normal form described in my other answer appears already in a paper by Calbrix and Nivat titled Prefix and period languages of rational ωω -langauges, unfortunately not available online.
Second, deciding whether a language is circular given its DFA is PSPACE-complete.
Circularity in PSPACE. Since NPSPACE=PSPACE by Savitch's theorem, it is enough to give an NPSPACE algorithm for non-circularity. Let A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F) be a DFA with |Q|=n|Q|=n states. The fact that the syntactic monoid of L(A)L(A) has size at most nnnn implies that if L(A)L(A) is not circular then there is a word ww of length at most nnnn such that w∈L(A)w∈L(A) but wk∉L(A)wk∉L(A) for some k≤nk≤n . The algorithm guesses ww and computes δw(q)=δ(q,w)δw(q)=δ(q,w) for all q∈Qq∈Q , using O(nlogn)O(nlogn) space (used to count up to nnnn ). It then verifies that δw(q0)∈Fδw(q0)∈F but δ(k)w∉Fδ(k)w∉F for some k≤nk≤n .
Circularity is PSPACE-hard. Kozen showed in his classic 1977 paper Lower bounds for natural proof systems that it is PSPACE-hard to decide, given a list of DFAs, whether the intersection of the languages accepted by them is empty. We reduce this problem to circularity. Given binary DFAs A1,…,AnA1,…,An , we find a prime p∈[n,2n] and construct a ternary DFA A accepting the language
L(A)=¯{2w12w2⋯2wp:wi∈L(A1+(imodn))}.
fuente
Every s∈L of length p>0 can be written as xyiz where x=z=ϵ , y=w≠ϵ . It's obvious that |xy|≤p and |y|=|w|>0. It follows that the language is regular for non-empty inputs, by the pumping lemma.
For w=ϵ , the definition holds, since a NDFA that accepts the empty string will also accept any number of empty strings.
The union of the above languages is the language L and since regular languages are closed under union, it follows that every circular language is regular.
By Rice's theorem, CIRCULARITY/TM is undecidable. The proof is similar to regularity.
fuente