¿Es un autómata pushdown con dos pilas equivalente a una máquina de turing?


41

En esta respuesta se menciona

Un lenguaje normal puede ser reconocido por un autómata finito. Un lenguaje sin contexto requiere una pila, y un lenguaje sensible al contexto requiere dos pilas (lo que equivale a decir que requiere una máquina Turing completa) .

Quería saber sobre la verdad de la parte audaz anterior. ¿De hecho es cierto o no? ¿Cuál es una buena manera de llegar a una respuesta a esto?


Hay dos afirmaciones en el texto en negrita, pero el título de su pregunta sugiere que solo está interesado en una de ellas.
Tyson Williams

@TysonWilliams: sí, ¿y?
Lazer

Esto es confuso. No sé para qué subconjunto de las dos afirmaciones desea justificación.
Tyson Williams

Para el que está en negrita , como se menciona en la pregunta.
Lazer

2
@Lazer: el texto en negrita contiene dos declaraciones ("CSL requiere dos pilas", "dos pilas son equivalentes a TM"). Como CSL es un subconjunto apropiado de RE, solo uno puede ser verdadero.
Raphael

Respuestas:


38

Dos pedazos a esta respuesta;

En primer lugar, la clase de lenguajes reconocidos por Turing Machines no es sensible al contexto , es recursivamente enumerable (sensible al contexto es la clase de lenguajes que obtienes de los autómatas lineales ).

La segunda parte, suponiendo que ajustemos la pregunta, es que sí, un PDA de dos conjuntos es tan poderoso como un TM. Es un poco más simple suponer que estamos usando el modelo de TM que tiene una cinta que es infinita solo en una dirección (aunque ambas direcciones no son mucho más difíciles y equivalentes).

Para ver la equivalencia, piense en la primera pila como el contenido de la cinta a la izquierda de la posición actual, y la segunda como el contenido a la derecha. Empiezas así:

  • Empuje los marcadores normales "parte inferior de la pila" en ambas pilas.
  • Empuje la entrada a la pila izquierda (use el no determinismo para "adivinar" el final de la entrada).
  • Mueva todo a la pila correcta (para mantener las cosas en el orden correcto).

Ahora puede ignorar la entrada y hacer todo sobre el contenido de las pilas (que es simular la cinta). Aparece para leer y presiona para escribir (para que pueda cambiar la "cinta" presionando algo diferente a lo que lee). Luego, podemos simular la TM haciendo estallar desde la pila derecha y empujando hacia la izquierda para mover hacia la derecha, y viceversa para mover hacia la izquierda. Si tocamos la parte inferior de la pila izquierda, nos comportamos en consecuencia (detener y rechazar, o permanecer donde usted, según el modelo), si tocamos la parte inferior de la pila derecha, simplemente empujamos un símbolo en blanco hacia la izquierda.

Para una prueba formal completa, vea la respuesta a otra pregunta .

La relación de la otra manera debería ser aún más obvia, es decir, que podemos simular un PDA de dos pilas con un TM.

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.