¿Es decidible si un lenguaje descrito por número de ocurrencias es regular?

14

Se sabe que el lenguaje de las palabras que contienen el mismo número de 0 y 1 no es regular, mientras que el lenguaje de las palabras que contienen el mismo número de 001 y 100 es regular ( ver aquí ).

Dadas dos palabras , ¿es decidible si el lenguaje de las palabras que contienen el mismo número de y es regular?w 1 w 2w1,w2w1w2

sdcvvc
fuente
¿Puede dar otros ejemplos de lenguajes regulares así definidos, que no sean 1i0 y 01i , o 0i1 y 10i ? ¿Qué tal un ejemplo en un alfabeto de 3 símbolos?
babou
Si w1 es una palabra estricta de w2 , existe una gran posibilidad de que el idioma esté vacío, por lo tanto, regular. No conozco otros ejemplos.
sdcvvc
Sospecho que los ejemplos anteriores son los únicos, lo que haría que el problema sea decidible. Si especifica solo dos subcadenas, supongo que es CF ... dependiendo de lo que pueda especificar con respecto a las ocurrencias. No especifica con precisión lo que quiere decir con "descrito por número de ocurrencias".
babou
El cuerpo de la pregunta es lo suficientemente preciso como OMI.
sdcvvc
1
las soluciones hasta ahora para casos especiales parecen depender de la idea de que las ocurrencias de subcadenas de w1 garantizan solo ocurrencias únicas de intervienen w2. entonces, de alguna manera, suponiendo que las respuestas actuales sean correctas [todavía no me queda claro] parece que hay alguna relación entre w1 , w2 que garantiza en el medio del escaneo de la cadena que uno puede estar en estados "igual" o "desigual" ", pero solo con un número finito máximo para el caso" desigual ".
vzn

Respuestas:

3

Dadas dos palabras , w 2 , ¿es decidible si el lenguaje L de las palabras que contienen el mismo número de w 1 y w 2 es regular?w1w2Lw1w2

Primero algunas definiciones:
podrían hacerse más concisas, y las anotaciones podrían mejorarse si se van a usar en pruebas. Este es solo un primer borrador.

Dados dos palabras y w 2 , se dice que: w1w2

  • siempre ocurrecon w 2 , anotado w 1w 2 , iff w1 w2w1w2

    1. para cualquier cadena tal que s = x w 2 y con x ,ss=xw2y y | x | 0 , | x | 1 | , | y | 0 , | y | 1 | 1 hay otra descomposición s = x w 1 y . Nota: La condición de que x e yx,y ≥∣w1+w2|x|0,|x|1|,|y|0,|y|1|1s=xw1y
      xycada uno contiene al menos un 0 y un 1 es requerido por un caso patológico (encontrado por @sdcvvc): , w 2 = v 1 i + j e y 1 , y sus variantes simétricas.w1=1i0w2=v1i+jy1
    2. hay una cadena con x ,s=xw2y modo que haya como máximo una descomposición s = x w 1 y x,y ≥∣w1+w2s=xw1y
  • siempre coincidecon w 2 , anotado w 1w1 w2 , si cada uno siempre ocurre con el otro,w1w2

  • y w 2 ocurren independientemente, anotado w 1w1w2 , si ninguno de los dos ocurre siempre con el otro,w1w2

  • siempre ocurre m veces o másque w 2 , anotado w 1 m w 2 , iff para cualquier cadena s tal que s = x w 2 y conx , y | w 1+ w 2 hayotras m descomposiciones s = x i w 1 y iw1 mw2w1mw2ss=xw2yx, y| ≥∣w1+w2ms=xiw1yipara tal que i j implica x ix j .i[1,m]ijxixj

Estas definiciones se construyen de modo que podamos ignorar lo que sucede en los extremos de la cadena donde se supone que y w 2 ocurren. Los efectos de límite al final de la cadena deben analizarse por separado, pero representan un número finito de casos (en realidad creo que olvidé uno o dos de estos sub-casos de límite en mi primer análisis a continuación, pero en realidad no importa). Las definiciones son compatibles con la superposición de ocurrencias.w1w2

Hay 4 casos principales a considerar (ignorando la simetría entre y w 2 ):w1w2

  1. Ambas palabras se unen necesariamente, excepto posiblemente en los extremos de la cadena. Esto se refiere solo a pares de la forma 1 i 0 y 01 i , o 0 i 1 y 10 i . Esto es fácilmente reconocido por unautómata finitoque solo comprueba si hay eventos solitarios en ambos extremos de la cadena que se reconocerán, para asegurarse de que haya un evento solitario en ambos extremos o en ninguno de los extremos. También existe el caso degenerado cuando w 1 = w 2 : entonces el lenguaje L es obviamente regular.w1w2
    1i001i0i110iw1=w2

  2. , pero no w 2w 1 Una de las 2 palabras no puede aparecer sin la otra, pero lo contrario no es cierto (excepto posiblemente en los extremos de la cadena). Esto sucede cuando:w1w2w2w1

    • es una subcadena de w 2 : entonces un autómata finito puede simplemente verificar que w 1 no ocurra fuera de una instancia de w 2 .w1w2w1w2

    • y w 2 = v 1 j para alguna palabra v { 0 , 1 } , v 01 i : luego una comprobación de autómata finita como en el caso anterior de que w 1 no ocurre separado de w 2 . Sin embargo, el autómata permite contar una instancia adicional de w 1 que permitirá la aceptación si w 2w1=1i0w2=v1jv{0,1}v01iw1w2w1w2es un sufijo de la cadena. Hay otros tres casos simétricos (simetría 1-0 y simetría izquierda-derecha).

  3. Una de las 2 palabras aparece dos veces en la otra. Eso puede ser reconocido por una automatización finita que verifica que la palabra más pequeña nunca aparece en la cadena. También es una variante un poco más compleja que combina las dos variaciones del caso 2. En este caso, el autómata verifica que la cadena más pequeña 1 i 0 nunca ocurra, excepto posiblemente como parte de v en la más grande v 1 j que viene como sufijo de la cadena (y otros 3 casos por simetría).w12w2
    1i0vv1j

  4. Las 2 palabras pueden aparecer independientemente una de la otra. Construimos una máquina secuencial-generalizada (GSM) G que la producción de una cuando se reconoce una aparición de W 1 y b al reconocer una aparición de W 2 , y se olvida de todo lo demás. El idioma L es regular solo si el idioma G ( L ) es regular. Pero G ( L ) = { w { a , b } w aw1w2
    Gaw1bw2LG(L) que está claramente libre de contexto y no es regular. Por lo tanto, L no es regular. En realidad tenemos L = G - 1 ( G ( L ) ) . Dado que los lenguajes regulares y los lenguajes libres de contexto están cerrados bajo mapeo gsm y mapeo gsm inverso, también sabemos que L está libre de contexto.G(L)={w{a,b} wa=∣wb}L
    L=G1(G(L))L

Una forma de organizar una prueba formal podría ser la siguiente. Primero construya un PDA que reconozca el lenguaje. En realidad, se puede hacer con una máquina de 1 contador, pero es más fácil tener dos símbolos de pila para evitar duplicar el control finito. Luego, para los casos en que debería ser un FA, demuestre que el contador puede estar limitado por una constante que depende solo de las dos palabras. Para los otros casos, demuestre que el contador puede alcanzar cualquier valor arbitrario. Por supuesto, el PDA debe organizarse de modo que las pruebas sean lo suficientemente fáciles de llevar.

Representar al FA como un PDA de 2 símbolos de pila es probablemente la representación más simple para él. En el caso no regular, la parte de control finito del PDA es la misma que la del GSM en el bosquejo de prueba anterior. En lugar de generar 's y b ' s como el GSM, el PDA cuenta la diferencia en número con la pila.ab

babou
fuente
Tenía una pregunta sobre la libertad de contexto en el caso de tres palabras. Lo eliminé cuando me di cuenta de que podía analizarse de manera similar. Primero pensé que probar que no era CFness sería un ejercicio original, pero el GSM lo arruina.
babou
2
No está claro qué quiere decir con "ocurrir independientemente el uno del otro", "unirse necesariamente", etc. En su lugar, escriba definiciones formales y demuestre que cubren todos los casos.
sdcvvc
1
No estoy seguro de lo que está preguntando, y qué nivel de formalización necesita, con qué propósito. Me di cuenta de que analizar a mano las posibles relaciones de las dos palabras no está garantizado para ser correcto, y de todos modos no importa. Lo que importa es si puede existir una ocurrencia de una palabra sin crear al mismo tiempo una ocurrencia (o varias) de la otra palabra. Los detalles no importan, ya que siempre estarán localizados y, por lo tanto, serán manejables de manera finita. Los dos extremos tampoco importan, ya que también están localizados. Incluso las superposiciones de sucesos no importan ya que solo pueden ser finitamente muchas en 1 lugar
babou
1
Le pregunté sobre definiciones precisas de los términos mencionados en el comentario. Gracias por escribirlos. ¿Se suponía que debía adivinarlos previamente? De todos modos, parece afirmar que . Esto no satisface la condición 1. de la definición de " w 1 siempre ocurre con w 2 ", ya que no hay aparición de 1 0 i en s = 0 M 0 i 1 1 M . 0i110iw1w210is=0M0i11M
sdcvvc
Lo siento, no quise hacerte adivinar. Solo me llevó tiempo entender exactamente lo que querías. Solo mi falla. Con respecto a su contraejemplo, está en lo correcto. Pero para mí solo significa que tengo que tener un poco más de cuidado con los telómeros, en la definición de las relaciones. Los definí demasiado rápido, pero o 1 M no transmiten mucha información en este contexto. Este es realmente un ejemplo patológico límite dentro de un caso patológico, que en realidad no puede ocurrir cuando se usan más de 2 símbolos. Simplemente no creo que cambie nada. 0M1M
babou