Considere una gramática arbitraria sin contexto sobre el alfabeto . A las producciones de esta gramática, agregue dos producciones fijas sin contexto : y . Llame a la gramática resultante que significa " aumentada con las producciones ".{ 0 , 1 , ¯ 0 , ¯ 1 } P ¯ 0 0 → ϵ ¯ 1 1 → ϵ G P G P
¿Es posible dar un algoritmo que tome una gramática y una cadena over y decida si ? s { 0 , 1 , ¯ 0 , ¯ 1 } s ∈ L ( G P )
context-free
decidability
Amit S
fuente
fuente
Respuestas:
Esta clase de gramáticas es indecidible. Aquí hay una idea aproximada sobre cómo usarlo para emular máquinas Turing.
En cada punto, la palabra actual parcialmente expandida se vería como
Aquí:
Suponga que la cabeza está en estado , y el carácter debajo de la cabeza es i ∈ { 0 , 1 } . Entonces la cabeza está representada por S i no terminal . Si necesita pasar al estado , reemplazar el carácter actual con y moverse hacia la izquierda, hay dos transiciones y . Si necesita moverse hacia la derecha, hay dos transiciones yS i ∈ { 0 , 1 } Syo T j Syo→ 0 T0 0j Syo→ 1 T1j Syo→ j¯T0 00 0¯¯¯ Syo→ j¯T11¯¯¯ . En cierto sentido, la cabeza tiene que "adivinar" el personaje en la dirección en que se mueve produciendo el personaje correspondiente. Si la suposición es incorrecta, la invariante en o sería violada, y nunca se recuperaría.[ cinta a la izquierda ] [ cinta a la derecha ]
Cuando la máquina se detiene, la cabeza debe "consumir" su cinta en ambos lados "adivinando" y produciendo caracteres coincidentes. Después de eso, debería producir una palabra vacía. Como resultado, la palabra vacía sería miembro de dicha gramática si y solo si la máquina de Turing correspondiente se detiene.
fuente