Variante del problema posterior a la correspondencia

12

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.α1,,αNβ1,,βNi1,,iKαi1αiK=βi1βiK

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!α1,,αNβ1,,βNi1,,iK,j1,,jKαi1αiK=βj1βjK

alpoge
fuente
Sin hacer una nueva pregunta, estoy editando la condición de que y K ' no sean necesariamente iguales. En el caso de que sean iguales, el problema probablemente debería ser indecidible; sin embargo, una reducción no es obvia (para mí). KK
alpoge

Respuestas:

17

Esta nueva versión, donde , es decidible.K=K

Demostremos que el lenguaje L:=k1(Ak  Bk) 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, esLxxABAxxBxn . 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).nnAB

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 TxtAuBtuxtu 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).tu

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 .k2O(l2)lAB

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

Jeffrey Shallit
fuente
2
bienvenido a cstheory!
Suresh Venkat
1
¡Increíble! Ahora solo necesitamos a Eric Bach ...
Huck Bennett
¡Agradable! Eso es perfecto.
alpoge
13

αi1αiK=βj1βjKK=K

Aαi1αiKBβj1βjKABA,B

Yuval Filmus
fuente
Agh, de hecho! Lo siento, tienes toda la razón.
alpoge
K=K
2
T1T2T1+T2+M
K=K