Una clase especial de idiomas: idiomas "circulares". ¿Se sabe?


20

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:wwΣΣ

ww pertenece a L si y solo si para todos los enteros , pertenece a L.k>0k>0wkwk

¿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


1
Esta es una pregunta muy interesante. Dos preguntas relacionadas: 1) si tenemos un lenguaje regular L y un DFA asociado, ¿podemos hacerlo circular? 2) Dado cualquier lenguaje L, ¿es el caso que circ (L) es regular o tiene algunas buenas propiedades?
Suresh Venkat

ps tal vez esto es obvio, pero ¿por qué crees que los lenguajes circulares son una subclase de lenguajes regulares?
Suresh Venkat

3
@Suresh, creo que está definiendo un lenguaje para que sea circular si es a) regular; b) satisface una propiedad de cierre . w L , n N : w nLwL,nN:wnL
Peter Taylor


1
Tal vez no debería publicar mi agradecimiento, pero esta fue mi primera pregunta y aprecié mucho la calidad de los comentarios, respuestas y debates. Gracias.
vincenzoml

Respuestas:


19

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+rr+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".ryor+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.nortenorte

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 nws0 0s1, ... , snortes1s0 0, ..., snortew- 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 - 1s1, ... , snortes1

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).norteX⃗ metroC1, ... , Cmetron = mnortenorte2 n

Considere el siguiente lenguaje: "la entrada no tiene la forma x 1x 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⃗ 1x⃗ norteX⃗ yoCyoO ( n2)wnorte2w1norte1 , 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.1wnortewwnortewnortew

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.wwnorte


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).LC=C0,C0=sCi=CjCi+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 .cici+1iE(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.CCkCk(t)=C(kt)CkCkD(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,yD(C)xyD(C)xCkyClxyCk+lD(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).wCCwLD(C)Cr+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 + ir + j = .La,babr+ir+ir+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 !Nir+iN>maxNix=aNbN!xLxr+iixNr+ib 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!bNr+jzijxyL


Parece que hay una serie de errores aquí. Está reduciendo de UNSAT, no SAT, por lo que está mostrando que es difícil. ¿Cuál es su testigo de tiempo polinómico para (no) membresía?
Mark Reitblatt

"Dado que las únicas palabras que no están en el idioma tienen longitud n 2 " ¿No debería ser n m ? n2nm
Mark Reitblatt

No creo que sea "trivialmente en coNP". Al menos, no es trivialmente obvio para mí. El certificado "obvio" sería una cadena l en el idioma y una potencia k tal que l k no esté en el idioma. Pero no es inmediatamente obvio para mí por qué esa palabra debe tener un tamaño polinómico. Tal vez sea por un simple hecho de la teoría de autómatas que estoy pasando por alto. lklk
Mark Reitblatt

Un defecto aparente aún más grave es que saltas de cada cláusula que es satisfactoria individualmente a que toda la fórmula es satisfactoria. A menos que esté leyendo mal, por supuesto.
Mark Reitblatt

Estoy de acuerdo en que no está claro que la circularidad esté en coNP. Por otro lado, no veo problemas en el resto del argumento (ahora que he puesto n = m ). Si cada cláusula es satisfecha por la misma asignación, entonces la instancia de 3SAT es satisfecha por esta asignación. n=m
Yuval Filmus

17

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.


6

@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.LLLL

(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).


You are right. I've removed my incorrect post.
Dave Clarke

Regarding adaption with : I am thinking that a minimal DFA should always have exactly one accepting state, namely the start state. Maybe more accepting states can happen, but then they need an εε-transition to the start state.
Raphael

1
@Raphael, consider again L = a*|b*. A DFA whose start state is the only accepting state and which accepts a and b must accept (a|b)*.
Peter Taylor

On the question of decidability, again: suppose you have a DFA with nn states of which nana are accepting. Suppose it accepts a word ww, and also accepts w2w2, w3w3, ..., wna+1wna+1. Then it accepts wxwx for x>0x>0. (Proof is a straightforward application of the pigeonhole principle). If it's possible to show that the minimal (minimising |w||w|) counterexample (ww, xx) to the circularity of the language accepted by the DFA has length bounded by a function of nn then brute force testing is possible. I suspect that |w|<=n+1|w|<=n+1, but I haven't proved it.
Peter Taylor

To follow up on @Raphael's idea above. The idea of start state = only accept state is wrong for this problem, but it does capture some interesting property. When M is a minDFA, the start state is the only accept state if and only if L(M) is the Kleene star of a prefix-free language. This is one of my favorite DFA trivia tidbits and thus I am quick to share it! ;)
mikero

5

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 wL(A)wL(A) but wkL(A)wkL(A) for some knkn. The algorithm guesses ww and computes δw(q)=δ(q,w)δw(q)=δ(q,w) for all qQqQ, using O(nlogn)O(nlogn) space (used to count up to nnnn). It then verifies that δw(q0)Fδw(q0)F but δ(k)wFδ(k)wF for some knkn.

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)=¯{2w12w22wp:wiL(A1+(imodn))}.

(With some more effort, we can make A binary as well.) It is not difficult to see (using the fact that p is prime) that L(A) is circular if and only if the intersection L(A1)L(An) is empty.

0

Every sL 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.


1
The pumping lemma is a necessary, but not sufficient, condition for regularity. In particular, there are nonregular languages satisfying the pumping condition. Also, Rice's theorem would say that {M|L(M) is circular} is undecidable. This does not mean that {D|L(D) is circular} is undecidable (where D is a DFA, M a TM)! For instance, emptiness testing for DFAs is decidable, while emptiness testing for TMs is not.
alpoge

1
Here's a non-computable circular language. Let D={0x1:xR}, where R is some non-computable language (e.g. codes of halting TMs). Then D is circular but clearly non-computable (an oracle for D can be used to decide R).
Yuval Filmus

2
@Peter, have you read this answer? It was trying to prove that any circular language (without the condition of regularity) is regular.
Yuval Filmus

1
@Yuval, my mistake. @chazisop, the pumping lemma is useful for proving non-regularity of languages, but not regularity. (Besides, the assertion of your first sentence reduces to "Every sL of length p>0 can be written as yi where yϵ", which is clearly false).
Peter Taylor

1
Yes, I use CIRCULARITY/TM to refer to this. CIRCULARITY/DFA is probably decidable.
chazisop
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.