Probablemente esto sea bastante simple, pero considere el problema estándar de correspondencia posterior:
Dado y β 1 , ... , β N , encuentre una secuencia de índices i 1 , ... , i k tal que alpha i 1 ⋯ α i K = β i 1 ⋯ β i K . Esto es, por supuesto, indecidible.
Ahora, llamo a esto una 'variante', pero en realidad no lo es, esencialmente desecha la 'correspondencia'. De todos modos, considere la siguiente variante:
Dado y β 1 , ... , β N , encuentre dos secuencias de índices i 1 , ... , i K , j 1 , ... , j K de manera que α i 1 ⋯ α i K = β j 1 ⋯ ß j K . ¿Qué se puede decir sobre esta variante? Si esto es trivial, mis disculpas!
Respuestas:
Esta nueva versión, donde , es decidible.K= K′
Demostremos que el lenguajeL : = ⋃k ≥ 1( Ak ∩ B k) es una CFL. Entonces, la capacidad de decisión se deriva de la capacidad de decisión del vacío de un CFL.
Diseñaremos un PDA para aceptar . En la entrada x , esta PDA intentará construir dos factorizaciones de x , uno utilizando palabras de A , y las otras utilizando palabras de B . Utilizará un contador en la pila para garantizar que estas dos factorizaciones tengan la misma longitud. Conceptualmente me referiré a la factorización A de x hasta el punto de sentarse encima de x y a la factorización B como sentado en la parte inferior de x . Entonces la pila contendrá n contadores si el valor absoluto de la diferencia de la cantidad de palabras coincidentes en la parte superior, menos la cantidad de palabras en la parte inferior, esL X X UN si UN x x B x n . Necesitamos otro estado del PDA para registrar a qué corresponde el signo apropiado n (que nos dice si lafactorización A es más larga que lafactorización B , o viceversa).n n A B
A medida que escaneamos las letras de , adivinamos de forma no determinista una palabra t de A y una palabra u de B en la que comienza esta letra. Una vez que adivinamos, nos comprometemos a hacer coincidir el resto de t y u con x ; Si en algún momento nuestro partido falla, nos detendremos en esta elección no determinista. Así también mantenemos, en el estado de nuestra PDA, el sufijo de T y Tx t A u B t u x t u que queda a la par.
A medida que escaneamos más letras, continuamos haciendo coincidir hasta llegar al final de o al final de u (o ambos). Cuando llegamos al final de una palabra, actualizamos la pila adecuadamente y luego adivinamos una nueva palabra para que coincida en la parte superior o inferior (o ambas).t u
Aceptamos si los sufijos que quedan por igualar están vacíos en la parte superior e inferior, y la pila no contiene contadores.
Podemos construir este PDA de manera efectiva, por lo que podemos decidir efectivamente si acepta algo o no (por ejemplo, convirtiendo efectivamente a una gramática y luego usando el método habitual para ver si G genera algo).G
Editar: También se puede convertir esto en un límite superior de cuán grande puede ser , en el peor de los casos. Creo que debería dar un límite superior de algo más o menos como 2 O ( l 2 ) , donde l es la suma de las longitudes de las palabras A y B .k 2O(l2) l A B
Editar: ahora veo que el requisito de que y B sean conjuntos finitos también se puede relajar, al requisito de que A y B sean regulares (posiblemente infinitos). En este caso, en lugar de mantener el sufijo restante para que coincida en "top" y "bottom", mantenemos los estados del DFA respectivo en el que nos encontramos, después de procesar el prefijo de una posible palabra coincidente. Si llegamos a un estado final en "arriba" o "abajo", podemos decidir de forma no determinista volver al estado inicial para una nueva palabra adivinada.A B A B
fuente
fuente