3
aquinas de Turing, recordatorio y problemas Elvira Mayordomo, Jorge Bernad Universidad de Zaragoza 13 de diciembre de 2013 1. Recordatorio de la definici´on de m´ aquina de Turing Una m´ aquina de Turing, abreviadamente TM, es intuitivamente un aut´ omata finito con una cinta de entrada s´ olo de lectura y una cinta de memoria adicional de lectura y escritura. Cada cinta est´ a dividida en celdas, la m´ aquina accede a la informaci´ on de la cinta a trav´ es de una cabeza lectora/escritora que puede leer/escribir sobre una ´ unica celda cada vez. Cada cabeza se puede mover a derecha o izquierda, pero s´ olo una posici´ on cada vez. Una transici´ on de una m´ aquina de Turing depende del estado en que est´ a la aquina y del contenido de las dos cabezas lectoras, seg´ un estos se realizar´ an las siguientes tres acciones: cambio de estado, escritura en la celda de la memoria sobre la que est´ a la cabeza, movimiento de las dos cabezas. Admitiremos tres tipos de movimientos para cada cabeza: celda a la derecha, celda a la izquierda y no moverse. La definici´ on formal de una m´ aquina de Turing es: Definici´ on 1.1 Una aquina de Turing es una estructura (Q, Σ, Γ, δ, q 0 ,F ), donde Q es un conjunto finito de estados, Σ es un alfabeto, el alfabeto de entrada, Γ es el alfabeto de cinta, Σ ∪{$, ♦} ⊆ Γ ($, ♦ 6∈ Σ), δ : Q × Γ × Γ Q ×{I, D, NΓ ×{I, D, N} es la funci´ on de transici´ on, q 0 es el estado inicial (q 0 Q), F es el conjunto de estados finales (F Q). 1

131213TesisTuringDecidibilidad.pdf

Embed Size (px)

DESCRIPTION

131213TesisTuringDecidibilidad.pdf

Citation preview

Page 1: 131213TesisTuringDecidibilidad.pdf

Maquinas de Turing, recordatorio y problemas

Elvira Mayordomo, Jorge Bernad Universidad de Zaragoza

13 de diciembre de 2013

1. Recordatorio de la definicion de maquina deTuring

Una maquina de Turing, abreviadamente TM, es intuitivamente un automatafinito con una cinta de entrada solo de lectura y una cinta de memoria adicionalde lectura y escritura. Cada cinta esta dividida en celdas, la maquina accede ala informacion de la cinta a traves de una cabeza lectora/escritora que puedeleer/escribir sobre una unica celda cada vez. Cada cabeza se puede mover aderecha o izquierda, pero solo una posicion cada vez.

Una transicion de una maquina de Turing depende del estado en que esta lamaquina y del contenido de las dos cabezas lectoras, segun estos se realizaranlas siguientes tres acciones:

cambio de estado,

escritura en la celda de la memoria sobre la que esta la cabeza,

movimiento de las dos cabezas.

Admitiremos tres tipos de movimientos para cada cabeza: celda a la derecha,celda a la izquierda y no moverse.

La definicion formal de una maquina de Turing es:

Definicion 1.1 Una maquina de Turing es una estructura (Q,Σ,Γ, δ, q0, F ), donde

Q es un conjunto finito de estados,

Σ es un alfabeto, el alfabeto de entrada,

Γ es el alfabeto de cinta, Σ ∪ {$,♦} ⊆ Γ ($,♦ 6∈ Σ),

δ : Q× Γ× Γ→ Q× {I,D,N} × Γ× {I,D,N} es la funcion de transicion,

q0 es el estado inicial (q0 ∈ Q),

F es el conjunto de estados finales (F ⊆ Q).

1

Page 2: 131213TesisTuringDecidibilidad.pdf

La funcion de transicion, dado el estado actual, el sımbolo que lee la cabezade la entrada y el sımbolo que lee la cabeza de la memoria, especifica el nuevoestado, el movimiento en la cinta de entrada, el nuevo sımbolo a escribir en lacinta de memoria y el movimiento de la cabeza en la cinta de memoria.

Inicialmente la maquina se encuentra en el estado q0, y la posicion mas a laizquierda de la cinta de entrada contiene un caracter especial $. A partir de estaposicion la cinta de entrada contiene la cadena de entrada w ∈ Σ∗. El resto dela cinta contiene en todas las celdas un caracter especial denominado blanco,al que representaremos con el signo ♦. La cabeza lectora esta inicialmente enla segunda celda, es decir, sobre el primer caracter de la cadena de entrada.La cinta de memoria contiene inicialmente el caracter $ en la primera posicionseguido de ♦ en el resto. La cabeza lectora/escritora esta sobre la segunda celda,es decir el primer ♦.

La maquina ejecuta transiciones mientras pueda aplicar la funcion de transi-cion. Si en algun momento la maquina se encuentra en un estado q con caracteresa, b en las cabezas y no hay transicion definida para el par (q, a, b), entonces lamaquina para.

Decimos que una maquina M acepta una palabra w cuando si inicialmentew esta en la cinta de entrada como se describe anteriormente la maquina enalgun momento para encontrandose en un estado final.

Definicion 1.2 El lenguaje aceptado por una maquina de Turing M es

L(M) = {w : con entrada w la maquina M para en un estado final}.

2. Problemas

1. Disenar una maquina de Turing que acepte el lenguaje

{anbn : n ∈ N}.

2. Disenar una maquina de Turing que acepte el lenguaje

{anbncn : n ∈ N}.

3. Disenar una maquina de Turing que acepte el lenguaje

{v : v ∈ Σ∗, |v| es par}.

4. Disenar una maquina de Turing que acepte el lenguaje

{vv : v ∈ Σ∗}.

5. Definir una maquina de Turing que no pare con alguna entrada. Definir unamaquina de Turing que no pare con ninguna entrada.

6. Razonar porque para cada AdP (automata de pila) existe una maquina deTuring que hace exactamente lo mismo.

2

Page 3: 131213TesisTuringDecidibilidad.pdf

3. Problemas de temas anteriores

Disenar maquinas de Turing para los enunciados de la hoja “Problemas sobrelenguajes no regulares” del 29 de octubre de 2013.

4. Recordatorio de la definicion de decidible ysemidecidible

Definicion 4.1 Un lenguaje L es semidecidible si existe un programa p que acep-ta L, es decir:

si w ∈ L entonces p con entrada w para y devuelve acepta,

si w 6∈ L entonces p con entrada w no para o no devuelve acepta.

Definicion 4.2 Un lenguaje L es decidible si existe un programa p que parasiempre y acepta L, es decir:

si w ∈ L entonces p con entrada w para y devuelve acepta,

si w 6∈ L entonces p con entrada w para y no devuelve acepta.

Contamos con el siguiente programa Simula que simula un programa p conentrada w durante T pasos (como hacen los interpretes o los debuggers):

Procedimiento Simula (ent p:cadena; ent w:cadena; ent T:natural;

sal ha parado:booleano; sal resultado:cadena)

{Simula T pasos de la ejecucion de p con entrada w}{ha parado=True cuando ha parado en tiempo<=T}{resultado=resultado de p con entrada w si ha parado}

5. Problemas

1. (Examen 1-2012) Demostrar que el siguiente lenguaje es semidecidible.

A = { p#x | p es un programa y x es una cadena

que cumplen que p con entrada x para en tiempo impar}

2. (Examen 9-2012) Demostrar que el siguiente lenguaje es semidecidible.

A = { p#x | p es un programa y x es una cadena

que cumplen que p con entrada x para

y devuelve como resultado un numero multiplo de 3}

3. Demostrar que si A y B son decidibles entonces A ∪B es decidible.

3