Está en la página 1de 28

Tema 6: Mquina de Turing

Departamento de Sistemas Inform aticos y Computaci on


DSIC - UPV http://www.dsic.upv.es p.1/28
Tema 6: M aquina de Turing

La Mquina de Turing.

Mquinas de Turing como aceptores

Otros modelos de mquina de Turing

Mquinas de Turing como computadores de funciones

Mquinas de Turing como enumeradores

Propiedades de cierre
DSIC - UPV http://www.dsic.upv.es p.2/28
La M aquina de Turing
Visin descriptiva

Cinta semi-innita dividida en celdas

Control nito

Cabezal de lectura/escritura

En cada momento, cada celda contiene un smbolo del


alfabeto de cinta

Los smbolos de la palabra inicial pertenecen al alfabeto de


entrada. El resto de la cinta contiene

Movimientos: En funcin del estado del C.F. y del smbolo


accedido por el cabezal, la mquina puede:

Cambiar de estado

Cambiar el smbolo contenido en la casilla accedida

Desplazar el cabezal una posicin a derecha o izquierda


DSIC - UPV http://www.dsic.upv.es p.3/28
La M aquina de Turing
Visin descriptiva

Los movimientos se repiten hasta que:

La mquina entra en estado nal (se detiene aceptando


la entrada)

La mquina intenta acceder a la celda a la izquierda de


la celda inicial (se detiene rechazando la entrada)

La mquina entra en una situacin para la que no hay


denido movimiento (se detiene rechazando la entrada)

Puede ocurrir que ante determinada entrada, la mquina


siga realizando movimientos indenidamente sin aceptar ni
rechazar dicha entrada
DSIC - UPV http://www.dsic.upv.es p.4/28
La M aquina de Turing
Ejemplo:
0 1
q
0
(q
0
,0,R) (q
0
,1,R) (q
1
,,L)
q
1
(q
2
,1,R)
F = {q
2
}

0 0 1 1

q
0

0 0 1 1

q
0

0 0 1 1

q
0

0 0 1 1

q
0

0 0 1 1

q
0

0 0 1 1

q
1

0 0 1 1

q
2

DSIC - UPV http://www.dsic.upv.es p.5/28


La M aquina de Turing
Descripcin formal

M = (Q, , , , q
0
, , F) donde:

Q: conjunto de estados

: alfabeto de entrada

: alfabeto de cinta ( )

: funcin de transicin
: Q Q {L, R}

q
0
: estado inicial

: simbolo blanco ( )

F: conjunto de estados nales


Descripcin instantnea: secuencia de la forma
1
q
2
donde
a
1
,
2

y q Q. Describe la situacin de una MT


La cinta contiene la cadena
1

2
seguida de innitos blancos.
El cabezal seala el primer smbolo de
2
DSIC - UPV http://www.dsic.upv.es p.6/28
La M aquina de Turing
Deniciones

Sobre el conjunto de descripciones instantneas se dene


la relacin movimiento ():
Suponiendo que en un instante, la descripcin de una MT
es: x
1
x
2
. . . x
i1
qx
i
x
i+1
. . . x
n
,

Si (q, x
i
) = (p, y, L) x
1
x
2
. . . px
i1
yx
i+1
. . . x
n
, (i > 1)

Si (q, x
i
) = (p, y, R) x
1
x
2
. . . x
i1
ypx
i+1
. . . x
n

Si D
1
, D
2
son dos descripciones instantneas:

D
1
D
2
el hecho que D
1
pasa a D
2
en un movimiento

D
1

D
2
el hecho que D
1
pasa a D
2
en cero o ms
movimientos
DSIC - UPV http://www.dsic.upv.es p.7/28
M aquinas de Turing como aceptores

Una palabra x es aceptada por una mquina de Turing M


sii a partir de la descripcin inicial se llega a una con estado
nal
x L(M) q
0
x


1
q
2
con
1
,
2

y q F
L(M) = {x

| q
0
x


1
q
2
,
1
,
2

, q F}

Un lenguaje es recursivamente enumerable si es aceptado


por una mquina de Turing

Un lenguaje es recursivo si es aceptado por una mquina


de Turing que se detiene ante todas las entradas
DSIC - UPV http://www.dsic.upv.es p.8/28
M aquinas de Turing como aceptores
Ejemplo 1: Sea el lenguaje L formado por las palabras sobre
= {0, 1} que contienen al menos un 1:
M
1
0 1
q
0
(q
0
,0,R) (q
1
,1,R)
q
1

M
2
0 1
q
0
(q
0
,0,R) (q
1
,1,R) (q
0
,,L)
q
1

F = {q
1
}
F = {q
1
}

Ambas mquinas reconocen L

M
2
no se detiene para 0

M
1
se detiene ante cualquier entrada. L es recursivo
DSIC - UPV http://www.dsic.upv.es p.9/28
M aquinas de Turing como aceptores
Ejemplo 2: Mquina que acepta el lenguaje de palabras sobre
{0, 1} que comienzan y acaban con el mismo smbolo
q
0
q
1
q
2
q
3
q
4
q
5
(0/0/R)
(1/1/R)
(0/0/R)
(1/1/R)
(0/0/R)
(1/1/R)
(//L)
(//L)
(0/0/R)
(1/1/R)
DSIC - UPV http://www.dsic.upv.es p.10/28
M aquinas de Turing como aceptores
Ejemplo 3: Mquina que acepta el lenguaje de palndromos
sobre {0, 1}
q
0
q
1
q
2
q
3
q
4
q
5
q
6
(0//R)
(1//R)
(0/0/R)
(1/1/R)
(0/0/R)
(1/1/R)
(//L)
(//L)
(0//L)
(1//L)
(0/0/L)
(1/1/L)
(//R)
(//R)
(//R)
(//R)
DSIC - UPV http://www.dsic.upv.es p.11/28
Otros modelos de m aquinas de Turing
M aquina con cinta innita en ambos sentidos
M = (Q, , , , q
0
, , F)
Respecto el modelo bsico, ante la descripcin instantnea
qa y disponiendo de la transicin (q, a) = (p, b, L):

El modelo bsico para

Este modelo conduce a la D.I. pb


Teorema: Un lenguaje L es reconocido por una mquina de
Turing con cinta innita si y solo si L es reconocido por una
mquina de Turing con cinta semiinnita
DSIC - UPV http://www.dsic.upv.es p.12/28
Otros modelos de m aquinas de Turing
M aquina multicinta

La mquina dispone de tantos cabezales


independientes como cintas

Una cinta (la primera) contiene la entrada. Las dems


estn en blanco

Cada movimiento viene determinado por el estado y por


los smbolos leidos por los distintos cabezales:

Cambiando de estado

Sustituyendo los smbolos en las cintas accedidas

Desplazando (L, R) o no (S) la posicin del cabezal


de cada cinta (nueva opcin)
ejemplo de movimiento en una mquina con tres cintas:
(q, x
1
, x
2
, x
3

smbolos
) = (p, y
1
, y
2
, y
3

smbolos
, m
1
, m
2
, m
3

movimientos
), m
i
{L, R, S}
DSIC - UPV http://www.dsic.upv.es p.13/28
Otros modelos de m aquinas de Turing
M aquina multicinta
M = (Q, , , , q
0
, , F)

: Q
k
Q( {1, 0, 1})
k

Desc. Intantanea: (
1
q
1
,
2
q
2
, . . . ,
k
q
k
)

Lenguaje aceptado: (
i
,
i

, q F)
L(M) = {x

: q
0
x, q
0
, . . . , q
0

(
1
q
1
, . . . ,
k
q
k
)}
Teorema: Un lenguaje L es reconocido por una mquina de
Turing multicinta si y solo si L es reconocido por una mquina
de Turing estandar
DSIC - UPV http://www.dsic.upv.es p.14/28
Otros modelos de m aquinas de Turing
M aquina no determinista
Mquina de Turing con una nica cinta y control nito nico

: Q P(Q {L, R})


(q, a) = {(p
1
, a
1
, z
1
), (p
2
, a
2
, z
2
), . . . , (p
n
, a
n
, z
n
)} donde:
p
i
Q, a
i
y z
i
{L, R}
Teorema: Un lenguaje L es reconocido por una mquina de
Turing no detereminista si y solo si L es reconocido por una
mquina de Turing estandar
DSIC - UPV http://www.dsic.upv.es p.15/28
Otros modelos de m aquinas de Turing
M aquina multicabezal
Un nico movimiento permite desplazar
independientemente las n cabezas de la mquina sobre la
nica cinta.
M aquina multidimensional
Mquina con una matriz de celdas k dimensional innita
como cinta.
En funcin del estado y el smbolo analizado, la mquina
cambia de estado y desplaza el cabezal de lectura en una
de las 2k direcciones.
DSIC - UPV http://www.dsic.upv.es p.16/28
M aquinas de Turing como computadores de funciones
La mquina de Turing puede verse como un computador de
funciones enteras f : Z
n
Z
m

Funcin parcial vs. funcin total


Para codicar los valores de entrada y salida adoptamos la
siguiente convencin:
cod(x
1
, x
2
, . . . , x
n
) = 0
x
1
10
x
2
1 . . . 10
x
n
p.e: cod(2, 1, 3, 2) = 00101000100; cod(0, 3) = 1000;
cod(2, 0, 1) = 00110; cod(0, 0, 1) = 110
Se dice que una mquina de Turing M = (Q, , , , q
0
, , )
calcula la funcin f : Z
n
Z
m
si y solo si M para tras la
computacin:
q
0
cod(x
1
, x
2
, . . . , x
n
)

M
q
donde: = cod(f(x
1
, x
2
, . . . , x
n
))
DSIC - UPV http://www.dsic.upv.es p.17/28
M aquinas de Turing como computadores de funciones
Ejemplo: diferencia propia: mn =

mn si m n
0 en otro caso
M = ({q
1
, q
2
, q
3
, q
4
, q
5
, q
6
}, {0, 1}, {0, 1, }, , q
0
, , )
M
1
0 1
q
0
(q
1
, , R) (q
5
, , R)
q
1
(q
1
, 0, R) (q
2
, 1, R)
q
2
(q
3
, 1, L) (q
2
, 1, R) (q
4
, , L)
q
3
(q
3
, 0, L) (q
3
, 1, L) (q
0
, , R)
q
4
(q
4
, 0, L) (q
4
, , L) (q
6
, 0, R)
q
5
(q
5
, , R) (q
5
, , R) (q
6
, , R)
q
6

DSIC - UPV http://www.dsic.upv.es p.18/28
M aquinas de Turing como transductores

Podemos considerar que una mquina de Turing computa


una determinada funcin sobre una cadena (o un conjunto
de ellas) en lugar de computarla sobre un conjunto de
enteros

En este caso hablamos de transduccin

ejemplos sencillos son:

Dividir una palabra en dos

Aplicar un homomorsmo

Desplazar (rotar) los simbolos un nmero de veces a


derecha o izquierda
DSIC - UPV http://www.dsic.upv.es p.19/28
M aquinas de Turing como enumeradores
Sea una mquina de Turing M multicinta que posee una cinta
de solo escritura (salida) cuyo cabezal no se desplaza nunca a
la izquierda.
M escribe cadenas sobre la cinta de salida separadas por un
smbolo especial de separacin #.
contenido de la cinta de salida: x
1
#x
2
#. . . #x
n
#. . . donde
x
i

Lenguaje generado por M: G(M) = {x


1
#x
2
#. . . #x
n
#. . .}
Notese que L = G(M) es nito a no ser que M no pare nunca
Todo lenguaje recursivo puede ser generado por una mquina
de Turing en orden lexicogrco
DSIC - UPV http://www.dsic.upv.es p.20/28
Construcci on de m aquinas de Turing

Una vez denida la mquina de Turing y sus variaciones,


puede estudiarse que problemas pueden resolverse
mediante una mquina de Turing

Podemos considerar mquinas de Turing como subrutinas


para la construccin de otras mquinas ms complejas.

Podemos considerar mquinas simples:

Mquinas generadoras de un lenguaje

Mquinas que aceptan lenguajes recursivos (paran para


toda entrada)

Mquinas que aceptan lenguajes r.e. (paran para toda


palabra que pertenece al lenguaje)

Mquinas que computan alguna funcin o transduccin

Podemos representar estas mquinas como cajas negras,


pudiendo utilizar el resultado que devuelven como entrada
o seal de activacin de otras mquinas.
DSIC - UPV http://www.dsic.upv.es p.21/28
Construcci on de m aquinas de Turing
Ejemplo:
M
1
M
2
w si
no
si
si
no
start
no
DSIC - UPV http://www.dsic.upv.es p.22/28
Propiedades de cierre
Dado un lenguaje recursivo L, su complementario es recursivo
Sea M
1
una mquina de Turing que reconoce L
M
1
si
no
no
si
w
DSIC - UPV http://www.dsic.upv.es p.23/28
Propiedades de cierre
La clase de los lenguajes recursivos es cerrada bajo unin
Sean dos lenguajes rec. L
1
, L
2
y dos mquinas de Turing M
1
y
M
2
, tales que L
1
= L(M
1
) y L
2
= L(M
2
)
M
1
M
2
w si
no
si
si
no
start
no
DSIC - UPV http://www.dsic.upv.es p.24/28
Propiedades de cierre
La clase de los lenguajes recursivos es cerrada bajo
interseccin
Sean dos lenguajes rec. L
1
, L
2
y dos mquinas de Turing M
1
y
M
2
, tales que L
1
= L(M
1
) y L
2
= L(M
2
)
M
1
M
2
w
start
si
no no
si
no
si
DSIC - UPV http://www.dsic.upv.es p.25/28
Propiedades de cierre
La clase de los lengujes recursivamente enumerables es
cerrada bajo unin
Sean dos lenguajes r.e. L
1
, L
2
y dos mquinas de Turing M
1
y
M
2
, tales que L
1
= L(M
1
) y L
2
= L(M
2
).
(M
1
y M
2
nicamente aseguran el n de la computacin si la
entrada pertenece al lenguaje)
M
1
M
2 si
si
si
w
DSIC - UPV http://www.dsic.upv.es p.26/28
Propiedades de cierre
Si L es recursivamente enumerable y L es recursivamente
enumerable, entonces L es recursivo
Sean dos mquinas de Turing M
1
y M
2
, tales que L = L(M
1
) y
L = L(M
2
).
M
1
M
2 si
si
w
si
no
DSIC - UPV http://www.dsic.upv.es p.27/28
Propiedades de cierre
Dados un lenguaje L y su complementario L, nicamente
pueden darse las siguientes situaciones:

Tanto L como L son recursivos

El lenguaje L es recursivamente enumerable (no recursivo)


y L no es recursivamente enumerable

Los lenguajes L y L no son recursivamente enumerables


DSIC - UPV http://www.dsic.upv.es p.28/28

También podría gustarte