Está en la página 1de 114

Tema 1: Mquinas de Turing.

Fun iones y
Lenguajes Cal ulables

Serafn Moral

Universidad de Granada

Febrero, 2016

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Contenido

Introdu in
Mquinas de Turing
Lenguajes re ursivamente enumerables. Lenguajes re ursivos
T ni as de onstru in de Mquinas de Turing: memoria adi ional, pistas
mltiples, subrutinas
Extensiones del on epto de MT
Movimientos estti os
Mquinas multi inta
Mquinas no deterministas
Limita iones de las MT
Mquinas on intas semiilimitadas
Cal ulabilidad
Codi a in de adenas y MTs
El lenguaje diagonal
El lenguaje universal
Problemas inde idibles
Teorema de Ri e
El problema de las orresponden ias de Post

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
El Problema de la Parada

Enun iado
Entrada: un programa y unos datos de entrada
Salida: SI ( uando el programa termina para esos datos) y NO
( uando el programa i la de forma indenida para esos datos)

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Por qu es dif il saber si un programa termina?
i n t exp ( i n t i , n )
/ a l u l a i a l a p o t e n i a n /
{
i n t ans , j ;
ans = 1 ;
f o r ( j =1; j<=n ; j ++) ans = i ;
r e t u r n ( ans ) ;
}

main ( )
{
int n , total , x ,y , z ;
s a n f ( " %d" ,&n ) ;
t o t al = 3;
while (1) {
f o r ( x =1; x<=t o t a l 2; x++)
f o r ( y =1; y<=t o t a l x 1; y++) {
z = t o t a l xy ;
i f ( exp ( x , n ) + exp ( y , n ) == exp ( z , n ) )
{ p r i n t f ( " h o l a mundo" ) ; e x i t ( 0 ) ; }
}
t o t a l ++;
}
}
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Motiva in
El programa termina para una entrada n si y solo si existen
nmeros enteros positivos x , y , z tales que
xn + yn = zn

Ahora se sabe que no termina para n > 2 segn el ltimo


teorema de Fermat, pero ha e algunos aos esto no se saba.
El teorema fue enun iado en 1637, pero no fue demostrado
hasta 1995 por el matemti o Andrew Wiles
Se han ne esitado ms de 300 aos para saber si un programa
on reto termina, pero nosotros queremos un algoritmo que
nos diga si ualquier programa termina!!
Este es un problema inde idible. La teora para demostrar esto
la haremos usando Mquinas de Turing. La podramos ha er
usando programas en C, pero las demostra iones matemti as
seran ms omplejas.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Mquinas de Turing

Una Mquina de Turing (MT) es una sptupla (Q , A, B , , q0 , #, F )


en la que
Q es un onjunto nito de estados
A es un alfabeto de entrada
B es el alfabeto de smbolos de la inta que in luye a A
es la fun in de transi in que asigna a ada estado q Q y
smbolo b B , el valor (q , b ) que puede ser va o (no
denido) o una tripleta (p , , M ) donde
p Q , B , M {I , D } donde I indi a izquierda y D indi a
dere ha.
q0 es el estado ini ial
# es un smbolo de B \ A llamado smbolo blan o
F es el onjunto de estados nales

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo

Consideremos la MT
M = ({q0 , q1 , q2 , q3 , q4 }, {0, 1}, {0, 1, X , Y , #}, , q0 , #, {q4 }) donde
las transi iones no nulas son las siguientes:

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D )


(q1 , 0) = (q1 , 0, D ) (q1 , 1) = (q2 , Y , I )
(q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # 0 0 0 1 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X 0 0 1 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X 0 0 1 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X 0 0 1 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X 0 0 Y 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X 0 0 Y 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X 0 0 Y 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X 0 0 Y 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X 0 Y 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X 0 Y 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X 0 Y 1 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X 0 Y Y 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X 0 Y Y 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X 0 Y Y 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X 0 Y Y 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y 1 # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Fun ionamiento

(q0 , 0) = (q1 , X , D ) (q0 , Y ) = (q3 , Y , D ) (q1 , 0) = (q1 , 0, D )


(q1 , 1) = (q2 , Y , I ) (q1 , Y ) = (q1 , Y , D ) (q2 , 0) = (q2 , 0, I )
(q2 , X ) = (q0 , X , D ) (q2 , Y ) = (q2 , Y , I )
(q3 , Y ) = (q3 , Y , D ) (q3 , #) = (q4 , #, D )

La palabra 000111 es a eptada

q0 q1 q2 q3 q4

... # X X X Y Y Y # # # ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Pro eso de Cl ulo I
Congura in
Una ongura in de una Mquina de Turing es una tripleta (q , w1 , w2 )
donde
q es el estado en el que se en uentra la mquina
w1 es la representa in de la parte de la palabra que hay a la
izquierda de la posi in del abezal de le tura (puede ser va o).
Esta representa in se obtiene eliminando la su esin innita de
blan os a la izquierda de las asillas que son distinto de blan o.
w2 es la representa in de la parte de la palabra que se obtiene
empezando en el abezal de le tura ha ia la dere ha. No puede ser
va o. Esta representa in se obtiene eliminando la su esin innita
de blan os a la dere ha de las asillas que son distinto de blan o.

Congura in Ini ial


Si u A , la ongura in ini ial de la Mquina de Turing
(Q , A, C , , q0 , #, F ) aso iada a esta palabra es (q0 , , u ), siendo (q0 , , #)
si u = .
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Pro eso de Cl ulo II

Paso de Cl ulo (movimiento a la izquierda)


Si (q , a) = (p , b , I ) enton es de imos que de la ongura in
(q , 1 . . . n , ad2 . . . dm ) llegamos en un paso de l ulo a la
ongura in (p , 1 . . . n1 , n bd2 . . . dm ) lo que se denota omo
(q , 1 . . . n , ad2 . . . dm ) (p , 1 . . . n1 , n bd3 . . . dm ) on dos
ex ep iones:
Si n = 0 (partimos de (q , , ad2 . . . dm )) , se llega a
(p , , #bd2 . . . dm )
(q , , ad2 . . . dm ) (p , , #bd2 . . . dm )
Si m = 1 y b = #, enton es se llega a (p , 1 . . . n1 , n )
(q , 1 . . . n , a) (p , 1 . . . n1 , n )
Las dos ex ep iones se pueden dar de forma simultnea (si b = #)
y enton es de (q , , a) (p , , #)

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Pro eso de Cl ulo III

Paso de Cl ulo (movimiento a la dere ha)


Si (q , a) = (p , b , D ) enton es de imos que de la ongura in
(q , 1 . . . n , ad2 . . . dm ) llegamos en un paso de l ulo a la
ongura in (p , 1 . . . n b , d2 d3 . . . dm ) lo que se denota omo
(q , 1 . . . n , ad2 . . . dm ) (p , 1 . . . n b , d2 d3 . . . dm ) on dos
ex ep iones:
Si m = 1 (partimos de (q , 1 . . . n , a)) , se llega a
(p , 1 . . . n b , #)
(q , 1 . . . n , a) (p , 1 . . . n b , #)
Si n = 0 y b = #, enton es se llega a (p , , d2 d3 . . . dm )
(q , , ad2 . . . dm ) (p , , d2 d3 . . . dm )
Las dos ex ep iones se pueden dar de forma simultnea (si b = #)
y enton es de (q , , a) (p , , #)

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Pro eso de Cl ulo IV

Rela in de pasos de l ulo


Si R y R son ongura iones de una mquina de Turing
M = (Q , A, C , , q0 , #, F ), se di e que desde R se llega en una

su e in de pasos de l ulo a R lo que se denota omo R R si
y solo si existe una su esin nita de ongura iones R1 , . . . , Rn tal
que R = R1 , R = Rn y Ri Ri +1 , i < n.

Lenguaje a eptado por una Mquina de Turing


Si M es una mquina de Turing, enton es el lenguaje a eptado es el
onjunto de palabras L(M ) tales que u L(M ) si y solo si existen

w1 , w2 A y q F tales que (q0 , , u ) (q , w1 , w2 ) (es de ir desde
la ongura in ini ial aso iada a u se puede llegar mediante una
su esin de pasos de l ulo a una ongura in en la que estamos
en un estado nal).

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Lenguaje Re ursivamente Enumerable

Deni in: Re ursivamente Enumerable


Un lenguaje L A se di e re ursivamente enumerable (e.r.) si y
solo si existe una mquina de Turing M = (Q , A, C , , q0 , #, F ) tal
que L(M ) = L.

Parada en las Mquinas de Turing


Una mquina para uando en el estado a tual y smbolo de la inta
no hay ninguna transi in denida.
Cuando se llega a un estado nal q F podemos suponer que la
Mquina de Turing para, es de ir no hay ninguna transi in
denida.
Existe otro riterio de a epta in: una palabra es a eptada uando
la MT para. La lase de lenguajes a eptada por este riterio es
tambin la lase de los lenguajes re ursivamente enumerables.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Lenguaje Re ursivo

Deni in
Un lenguaje se di e re ursivo si es a eptado por una MT que
siempre para.

Un lenguaje re ursivo es siempre re ursivamente enumerable. Los


lenguajes re ursivos son aquellos uyo problema de a epta in
pueder ser resuelto mediante un algoritmo.
En el aso de lenguajes re ursivos, podemos suponer que hay dos
tipos de estados nales: de a epta in y de re hazo. La mquina
a epta uando se llega a un estado de a epta in y re haza uando
llega a un estado de re hazo.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Mquinas de Turing Cal uladoras

Sea D A , H B \ {#} y f : D H una fun in.


Deni in
La fun in f se di e par ialmente al ulable si existe una MT
M = (Q , A, C , , q0 , #, F ) tal que si u D enton es desde la
ongura in (q0 , , u ) ( ongura in ini ial) se llega a una
ongura in (q , u1 , u2 ) en la que u1 u2 = f (u ), q F y la mquina
para (llegamos a una ongura in en la que estamos en un estado
nal, la mquina termina y el ontenido de la inta es f (u ). Si
u 6 D enton es la mquina no para.
Fun iones Cal ulables Totales
Si una fun in es al ulable par ial y D = A (est siempre
denida) se di e que es al ulable total.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo: restar nmeros en unario

Vamos a disear una MT que resta nmeros en unario.


Para dos nmeros naturales n, m N al ula f (n, m) que es
igual a n m si n m y 0 si n < m.
La entrada debe de ser 0n 10m y la salida debe de ser una
onra in en la que en la inta est 0f (n,m) rodeado de
blan os. No nos preo upa ual es la salida si la entrada no es
orre ta (no orresponde a dos series de eros separadas por
un 1).
La MT ser
M = ({{q0 , q1 , q2 , q3 , q4 , q5 , q6 }, {0, 1}, {0, 1, #}, , q0 , #, q6 )

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Restar nmeros en unario: fun in de transi in

viene dada por la siguiente tabla:


Estado 0 1 #
q0 (q1 , #, D ) (q5 , #, D ) 
q1 (q1 , 0, D ) (q2 , 1, D ) 
q2 (q3 , 1, I ) (q2 , 1, D ) (q4 , #, I )
q3 (q3 , 0, I ) (q3 , 1, I ) (q0 , #, D )
q4 (q4 , 0, I ) (q4 , #, I ) (q6 , 0, D )
q5 (q5 , #, D ) (q5 , #, D ) (q6 , #, D )
q6   

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejer i ios

Disear mquinas de Turing para los siguientes lenguajes:


Palabras sobre el alfabeto {0, 1} on el mismo nmero de eros
que de unos.
L = {an bn n |n 1}
{ww 1 | w {0, 1} }
{w w | w {0, 1} }

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Programa in de Mquinas de Turing: re ordando smbolos

Una MT puede disearse para que re uerde un smbolo del


alfabeto de trabajo (o del alfabeto de entrada).
Por ejemplo, si queremos que se re uerde un smbolo de B
uando est en el estado q , enton es basta on ambiar el
estado q por las parejas de estados [q , b ] donde b B .
A menudo queremos que se re uerde un smbolo en ualquier
estado y enton es el onjunto de estados sera el onjunto de
las parejas Q B formadas por un elemento q Q y un
smbolo b B .
Es ribir los estados de esta forma ayuda a omprender el
signi ado de los mismos.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo

Vamos a ha er una mquina de Turing que re onoz a el lenguaje


01 + 10 : la Mquina tiene que re ordar el primer smbolo ledo y
despus omprobar que nun a ms aparez a.
La Mquina es M = (Q , {0, 1}, {0, 1, #}, , [q0 , #], {[q1 , #]}) donde
Q = {q0 , q1 } {0, 1, #}
Las posibles transi iones de son:
1 ([q0 , B ], a) = ([q1 , a], a, D ) para a = 0 o a = 1.
2 ([q1 , a], a) = ([q1 , a], a, D ), donde a es el omplementario de a
(esto es, a = 1 si a = 0 y a = 0 si a = 1).
3 ([q1 , a], #) = ([q1 , #], #, D )

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Programa in de Mquinas de Turing: pistas mltiples

A menudo es til pensar que la MT tiene una inta on varias


pistas: en lugar de tener una sola asilla, disponemos de varias
asillas en ada posi in donde poder es ribir un smbolo.
Tener dos pistas equivale a suponer que el alfabeto de trabajo est
formado por los elementos de B B y tener k intas a suponer que
el alfabeto de trabajo es B k .

q A

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo

Una forma de utilizar las pistas mltiples es imaginar que una pista
se usa para los datos y otra para poner una mar a. Vamos a disear
una MT que a epte el lenguaje L = {w w | w {0, 1}+ }.
La MT tiene los siguientes elementos
M = (Q , A, B , , [q1 , #], [#, #], {[q9 , #]}) donde
Q = {q1 , q2 , . . . , q9 } [0, 1] (podemos re ordar 0, 1.
B = {0, 1, , #} {#, }
A = {0, 1, }. 0 se identi a on [0, #] y 1 se identi a on
[1, #]
La fun in de transi in se espe i a en la siguiente pantalla.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo: Fun in de Transi in

a y b pueden ser 0, 1.
([q1 , #], [a, #]) = ([q2 , a], [a, ], D ) ([q2 , a], [b , #]) = ([q2 , a], [b , #], D )
([q2 , a], [ , #]) = ([q3 , a], [ , #], D ) ([q3 , a], [b , ]) = ([q3 , a], [b , ], D )
([q3 , a], [a, #]) = ([q4 , #], [a, ], I ) ([q4 , #], [a, ]) = ([q4 , #], [a, ], I )
([q4 , #], [ , #]) = ([q5 , #], [ , #], I ) ([q5 , #], [a, #]) = ([q6 , #], [a, #], I )
([q6 , #], [a, #]) = ([q6 , #], [a, #], I ) ([q6 , #], [a, ]) = ([q1 , #], [a, ], D )
([q5 , #], [a, ]) = ([q7 , #], [a, ], D ) ([q7 , #], [ , #]) = ([q8 , #], [ , #], D )
([q8 , #], [a, ]) = ([q8 , #], [a, ], D ) ([q8 , #], [#, #]) = ([q9 , #], [#, #], D )

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Subrutinas

Una subrutina en una MT es un onjunto de estados que realiza una a in


on reta.
En este onjunto de estados habr un estado ini ial y otro estado que sirve
omo estado de retorno.
No se aade ninguna fun ionalidad nueva, slo es una forma de organizar los
estados de una MT agrupando aquellos que realizan una tarea on reta y
suponiendo que siempre podemos movermos a ese onjunto de estados.
La MT no tiene un sistema de llamadas que permita saber a qu posi in y en
qu estado hay que volver.
La posi in se puede re ordar on una pista adi ional y un smbolo extra que
indique la asilla en la que se tiene que posi ionar.
El estado se puede determinar ha iendo varias opias del ltimo estado de la
subrutina, una para ada estado al que haya que volver. El nmero de opias es
nito.
Siempre que hagamos un onjunto de estados para una tarea determinada, por
ejemplo, desplazar el ontenido de todas las asillas a partir de la posi in
a tual un lugar a la dere ha, supondremos que esta tarea siempre la podemos
ha er en una MT sin ne esidad de espe i ar los estados.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo

Vamos a disear una MT que multiplique nmeros en binario


es ritos en base 1: la MT omenzar on una adena de la
forma 0m 10n en la inta, y terminar on 0mn al nal. No nos
preo upamos se la MT tienen una entrada mal es rita.
Finalizar on algo en la inta que no tendr sentido, en
general.
En etapas su esivas, la inta va a ontener adenas de la
forma 0i 10n 10kn donde i + k = m para valores de k = 1, . . . , m.
En un paso bsi o se ambia el primer ero del primer grupo
por un blan o y se aaden n eros al ltimo grupo: se pasa de
0i 10n 10kn a 0i 1 10n 10(k +1)n .
Finalmente la sub adena 10n 1 se sustituye por blan os.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo: Subrutina

Vamos a disear un onjunto de estados que opia n eros al nal


de la inta uando est situada justo al prin ipio de la serie de n
eros. Termina en la misma posi in de la inta en el estado q5 .
Tiene los siguientes estados y estru tura:

(q1 , 0) = (q2 , X , D )
(q2 , 0) = (q2 , 0, D ) (q2 , 1) = (q2 , 1, D )
(q2 , #) = (q3 , 0, I )
(q3 , 0) = (q3 , 0, I ) (q3 , 1) = (q3 , 1, I )
(q3 , X ) = (q1 , X , D ) (q1 , 1) = (q4 , 1, I )
(q4 , X ) = (q4 , 0, I ) (q4 , 1) = (q5 , 1, D )

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Estru tura del Programa

Pasamos de la ongura in en la que hay 0m 10n en la inta y


estamos olo ados al prin ipio de esta palabra a la
ongura in en la que en la inta hay 0m 10n 1 y estamos
olo ados al prin ipio de la palabra.

(q0 , 0) = (q0 , 0, D ) (q0 , 1) = (q0 , 1, D )


(q0 , #) = (q13 , 1, I ) (q13 , 0) = (q13 , 0, I )
(q13 , 1) = (q13 , 1, I ) (q13 , #) = (q14 , #, D )

Miramos si hay un 0 al prin ipio, lo sustituimos por un blan o,


#, y nos ponemos en situa in para opiar n eros al nal.

(q14 , 0) = (q6 , #, D )
(q6 , 0) = (q6 , 0, D ) (q6 , 1) = (q1 , 1, D )

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Estru tura del Programa (II)

Despus de ha er la opia, estamos en q5 y desde este estado,


volvemos a la posi in ini ial si hay ms 0 en la primera serie o
nalizamos si ya no hay ms eros (q12 es el estado nal de
parada):

(q5 , 0) = (q7 , 0, I ) (q7 , 1) = (q8 , 1, I )


(q8 , 0) = (q9 , 0, I ) (q8 , #) = (q10 , #, D )
(q9 , 0) = (q9 , 0, I ) (q9 , #) = (q14 , #, D )
(q10 , 1) = (q11 , #, D )
(q11 , 0) = (q11 , #, D ) (q11 , 1) = (q12 , #, D )

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejer i ios

Redisear las MT de los ejer i ios anteriores introdu iendo las


t ni as de programa in de alma enamiento de smbolo,
multipista o subrutinas.
Disear una subrutina que despla e todos los smbolos desde la
posi in a tual a la dere ha, dejando un espa io en di ha
posi in en el que se pueda es ribir un ar ter. Debe de
terminar on la abeza de le tura en la misma posi in en la
que se termin.
Es ribir una subrutina que omien e en una posi in on un
ero y se mueva a la dere ha de todos los eros hasta que
al an e un uno o un blan o. Se suponen que en la inta solo
hay ara teres del onjunto {0, 1, #}. Si se omienza on un
ar ter que es distinto de ero, la MT debe de pararse.
Utilizar di ha rutina para es ribir una MT que a epte todas las
adenas de eros y unos, que no tengan dos unos onse utivos.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Varia iones de la MT bsi a

Extensiones:
MT que se pueden quedar en la misma posi in en un paso: no
es ne esario moverse a la izquierda o dere ha y pueden
quedarse en el mismo sitio (S).
MT on mltiples intas: hay distintas intas en las que se
puede leer o es ibir y una abeza de le tura para ada una de
ellas.
MT no deterministas: hay distintas transi iones que puede
realizar una MT en una ongura in dada.
Limita iones:
MT on intas semiilimitadas: la inta de la MT es ilimitada
slo por la dere ha y en la izquierda tiene un tope.
Ninguna de estas modi a iones ambiar la poten ialidad de las
MT.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
MT que se pueden quedar en la misma posi in en un paso

En estas MT se supondr que (q , b ) puede ser va o (no


denido) o una tripleta (p , , M ) donde
p Q , B , M {I , D , S }. El smbolo S indi a que el abezal
de le tura no se mueve en ninguna dire in y permane e en el
mismo sitio.
Esto no supone ninguna poten ialidad adi ional, ya que si
(q , b ) = (p , , S ), esto lo podemos simular on un nuevo
estado rp por ada estado p de la MT on estos movimientos
ha iendo, (q , b ) = (rp , d , D ) y desde todos los estados rp lo
ni o que se puede hader es movernos a la izquierda:
(rp , d ) = (p , d , I ) para todo estado rp y todo smbolo d de B .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
MT on Mltiples Cintas

En estas MTs suponemos que existen k intas ilimitadas en las


que leer y es ribir.
Las diferen ias entre mltiples pistas y mltiples intas son:
Mltiples pistas no supone una modi a in de la deni in de
MT, simplemente es una forma de visualizar la inta de una
MT en la que el alfabeto de trabajo es un produ to artesiano
B = B B , es de ir ada smbolo est formado por una pareja
de smbolos bsi os. El tener mltiples intas si impli ar una
modi a in de la deni in. Ahora a ada (q , b1 , . . . , bk ), le
podr asignar un ve tor (p , 1 , . . . , k , M1 , . . . , Mk ).
Cuando hay mltiples intas, el abezal de le tura podr estar
en una posi in distinta en ada inta. Por eso hay que
espe i ar qu movimiento Mi hay que realizar en ada inta i ,
adems de lo que se ve en ada inta bi y lo que se es ribe en
ada una i . Suponemos que el movimiento de ada inta
puede ser {I , D , S }.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
MT on Mltiples Cintas

Congura in
Ser un ve tor (q , u1 , w1 , u2 , w2 , . . . , uk , wk ), donde q es el estado en
el que est la MT, ui es la parte de la palabra que hay a la izquierda
del abezal de le tura de la inta i y wi la parte de la palabra que
hay en la inta i a partir del abezal de le tura de esa inta ha ia la
dere ha (in luyendo el smbolo que se lee en ese momento).

p q

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
MT on Mltiples Cintas

Congura in
Ser un ve tor (q , u1 , w1 , u2 , w2 , . . . , uk , wk ), donde q es el estado en
el que est la MT, ui es la parte de la palabra que hay a la izquierda
del abezal de le tura de la inta i y wi la parte de la palabra que
hay en la inta i a partir del abezal de le tura de esa inta ha ia la
dere ha (in luyendo el smbolo que se lee en ese momento).

p p

Y R

Y T

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Lenguaje A eptado y Fun in Cal ulada
Lenguaje A eptado
El a eptado por una MT on mltiples intas es el onjunto de
palabras u tales que empezando en una ongura in en la que en
la primera inta est la palabra u y el resto de las intas son va as
y el abezal de le tura de la primera inta est en el primer smbolo
de u y en ualquier asilla de las otras intas termina en un estado
de a epta in.

Fun in Cal ulada


La fun in par ial f es al ulada por una MT si para ada palabra
u para la que est denida f (u ), si la MT omienza on u en la
primera inta y el resto de las intas va as y el abezal de le tura
de la primera inta est en el primer smbolo de u ( ongura in
ini ial) se llega a una ongura in en la que estamos en un estado
nal y el ontenido de la ltima inta es f (u ). Si u 6 D enton es la
mquina no para.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Equivalen ia
Est laro que si un lenguaje es a eptado por una MT on una inta puede ha erlo por
una MT on varias intas. El re pro o tambin es ierto.
Teorema
Todo lenguaje a eptado por una MT on varias intas es re ursivamente enumerable.

Supongamos que M es la MT on k intas, vamos a simular su fun ionamiento on


una MT N on una sola inta.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Equivalen ia
Est laro que si un lenguaje es a eptado por una MT on una inta puede ha erlo por
una MT on varias intas. El re pro o tambin es ierto.
Teorema
Todo lenguaje a eptado por una MT on varias intas es re ursivamente enumerable.

Supongamos que M es la MT on k intas, vamos a simular su fun ionamiento on


una MT N on una sola inta.
La MT N tendr una inta on 2k pistas. En ada par de pistas se simula una inta de
M. En una de las pistas se olo a un smbolo espe ial en el lugar en el que se
en uentre el abezal de la MT de k pistas, en la otra pista se olo a el ontenido de la
inta de M.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Equivalen ia
Est laro que si un lenguaje es a eptado por una MT on una inta puede ha erlo por
una MT on varias intas. El re pro o tambin es ierto.
Teorema
Todo lenguaje a eptado por una MT on varias intas es re ursivamente enumerable.

Supongamos que M es la MT on k intas, vamos a simular su fun ionamiento on


una MT N on una sola inta.
La MT N tendr una inta on 2k pistas. En ada par de pistas se simula una inta de
M. En una de las pistas se olo a un smbolo espe ial en el lugar en el que se
en uentre el abezal de la MT de k pistas, en la otra pista se olo a el ontenido de la
inta de M.
La MT N alma ena en la unidad de ontrol los k smbolos que ontiene M. Para ello
omienza a revisar la inta de izquierda a dere ha y ada vez que en uentra un
smbolo lo alma ena en su orrespondiente lugar de la unidad de ontrol. Lleva un
ontador donde empieza en 0 y se aumenta en 1 ada vez que en uentra un smbolo
hasta llegar a k (el valor de k es jo y se puede alma enar).

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Equivalen ia
Est laro que si un lenguaje es a eptado por una MT on una inta puede ha erlo por
una MT on varias intas. El re pro o tambin es ierto.
Teorema
Todo lenguaje a eptado por una MT on varias intas es re ursivamente enumerable.

Supongamos que M es la MT on k intas, vamos a simular su fun ionamiento on


una MT N on una sola inta.
La MT N tendr una inta on 2k pistas. En ada par de pistas se simula una inta de
M. En una de las pistas se olo a un smbolo espe ial en el lugar en el que se
en uentre el abezal de la MT de k pistas, en la otra pista se olo a el ontenido de la
inta de M.
La MT N alma ena en la unidad de ontrol los k smbolos que ontiene M. Para ello
omienza a revisar la inta de izquierda a dere ha y ada vez que en uentra un
smbolo lo alma ena en su orrespondiente lugar de la unidad de ontrol. Lleva un
ontador donde empieza en 0 y se aumenta en 1 ada vez que en uentra un smbolo
hasta llegar a k (el valor de k es jo y se puede alma enar).
Una vez he ho esto, tiene todos los elementos para realizar la transi in de la MT de
k intas, para ello se va olo ando en ada una de las posi iones sealadas de ada
una de las intas y realiza la transi in orrespondiente, es ribiendo el smbolo que
orresponda y moviendo la seal de posi in del abezal de le tura.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Equivalen ia
Est laro que si un lenguaje es a eptado por una MT on una inta puede ha erlo por
una MT on varias intas. El re pro o tambin es ierto.
Teorema
Todo lenguaje a eptado por una MT on varias intas es re ursivamente enumerable.

Supongamos que M es la MT on k intas, vamos a simular su fun ionamiento on


una MT N on una sola inta.
La MT N tendr una inta on 2k pistas. En ada par de pistas se simula una inta de
M. En una de las pistas se olo a un smbolo espe ial en el lugar en el que se
en uentre el abezal de la MT de k pistas, en la otra pista se olo a el ontenido de la
inta de M.
La MT N alma ena en la unidad de ontrol los k smbolos que ontiene M. Para ello
omienza a revisar la inta de izquierda a dere ha y ada vez que en uentra un
smbolo lo alma ena en su orrespondiente lugar de la unidad de ontrol. Lleva un
ontador donde empieza en 0 y se aumenta en 1 ada vez que en uentra un smbolo
hasta llegar a k (el valor de k es jo y se puede alma enar).
Una vez he ho esto, tiene todos los elementos para realizar la transi in de la MT de
k intas, para ello se va olo ando en ada una de las posi iones sealadas de ada
una de las intas y realiza la transi in orrespondiente, es ribiendo el smbolo que
orresponda y moviendo la seal de posi in del abezal de le tura.
Los estados de a epta in de N son aquellos estados que orresponden a los estados
de a epta in de M.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Simula in: omplejidad en tiempo

Teorema
El tiempo empleado por la MT N del teorema anterior en simular n pasos
de la MT de k intas M es O (n2 ).
Para la demostra in, basta tener en uenta:
Despus de n movimientos de la MT M la diferen ia entre las posi iones de los
distintos abezales de le tura es, a lo ms, 2n. Al prin ipio podemos suponer
que todos estn en la misma posi in y, en ada paso, se alejan a lo ms en dos
posi iones (si dos abezales se mueven en distintas dire iones).
Para ver los ontenidos de las distintas asillas en las intas en la mquina N
nos ha en falta 2n pasos omo mximo.
Ahora nos movemos de dere ha a izquierda y ada vez que en ontramos un
mar ador de posi ionamiento, realizamos la transi in orrespondiente. Esta
transi in, a lo ms, ne esita 2 movimientos (para llevarlo a abo y volver a la
posi in en la que estbamos). Esto impli a 2n + 2k movimientos.
Si le sumamos a los 2n ini iales, ha en 4n + 2k por ada movimiento, as que los
n movimientos impli arn omo mximo n(4n + 2k ) que es de orden O (n2 ),
teniendo en uenta que k es onstante.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Mquinas de Turing No Deterministas
Deni in
Una Mquinas de Turing No Determinista (MTND) tiene la misma
deni in que una MT on la ni a diferen ia que ahora (q , a) puede ser
un onjunto nito de tripletas
{(q1 , b1 , M1 ), . . . , (qk , bk , Mk )}

Cl ulo
El l ulo aso iado a una MTND se dene de forma similar a una MT.
Ahora en una ongura in en la que est en el estado q y ve a en la
inta puede evolu ionar on ualquiera de las tripletas (qi , bi , Mi ): puede
ir a qi es ribir bi y ha er el movimiento Mi para i = 1, . . . , k .

Lenguaje A eptado
Es el onjunto de todas las palabras a eptadas.
A epta una palabra uando para la ongura in ini ial aso iada a la
palabra, existe una su esin de movimientos posibles que permiten llegar
a un estado de a epta in y parar. No importa que haya otras
omputa iones posibles que no lleguen a un estado de a epta in.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Equivalen ia MTND y MT
Toda MT es una MTND por lo que todo lenguaje re ursivamente
enumerable es tambin a eptado por una MTND. Tambin se da el
inverso.
Teorema
Si un lenguaje L es a eptado por una MTND, enton es es
re ursivamente enumerable.
Suponemos m el nmero mximo de op iones en la MTND.
Utilizamos una MT on dos intas.
En la primera tenemos una su e in de ongura iones (q , u , v ) separadas por
un smbolo , tambin existe una mar a en la ongura in a tiva.
Ini ialmente hay slo una ongura in: la ongura in ini ial.
En ada momento se oge la ongura in a tiva, se opia en la inta auxiliar,
nos vamos al nal de la primera inta y se realizan todas las transi iones
posibles sobre la ongura in de la inta auxiliar olo ndolas al nal de la
primera inta.
Se bus a la ongura in mar ada y se pasa a pro esar la siguiente.
Si en algn momento sale una ongura in on un estado de a epta in
terminamos.
El pro edimiento ha e una bsqueda en an hura exhaustiva de todos los
posibles l ulos de la MTND. Si en uno se a epta, lo en ontrar.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Equivalen ia MTND y MT. Rela in entre el tiempo de las
dos mquinas
Vamos a suponer k la longitud de la palabra de entrada y m el
nmero de op iones mximo de la MTND.
Si se en uentra en n pasos de la MTND, el nmero de
ongura iones es a lo ms m0 + m1 + . . . + mn , que son de orden
mn+1 .
Como ada ongura in o upa del orden O (k + n), el espa io de
todas ellas es O ((k + n)mn+1 ) = O ((k + n)mn )
Slo m0 + m1 + . . . + mn1 ongura iones (de orden O (mn )) son
pro esadas.
Para pro esar una ne esitamos del orden de O ((k + n)mn ) para
re orrer la primera inta, bus ar la ongura in a tiva y olo arnos
al nal y O ((k + n)m) para ha er las opias y las transi iones. Esto
es de ordenO ((k + n)mn ), que multipli ndolo por el nmero de
ongura iones pro esadas, resulta de orden O ((k + n)m2n ).
Sik n, enton es esto es un tiempo O (nm2n ). Como
nm2n m3n = d n , donde d = m3 , la simula in es de orden O (d n )
donde d > 0. Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejer i ios 1

Supongamos la MTND
M = ({q0 , q1 , q2 }, {0, 1}, {0, 1, #}, , q0, #, {q2 }) donde
0 1 #
q0 {(q0 , 1, D )} {(q1 , 0, D )} 0/
q1 {(q1 , 0, D ), (q0 , 0, I )} {(q1 , 1, D ), (q0 , 1, I )} (q2 , #, D )
q2 0/ 0/ 0/

Estudiar las ongura iones que se pueden al anzar si la palabra de


entrada es:
1 01
2 011

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejer i ios 2

Des ribir MTND ( on una o varias intas) que a epten los


siguientes lenguajes:
1 Conjunto de palabras que ontienen una sub adena de
longitud 100 que se repite aunque no ne esariamente de forma
onse utiva.
2 El onjunto de las adenas w1 w2 wn donde wi {0, 1}
y para algn j wj oin ide on la representa in en binario de j .
3 El onjunto de las adenas w1 w2 wn donde wi {0, 1}
y para, al menos, dos valores de j wj oin ide on la
representa in en binario de j .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejer i ios 3

Se onsidera la MTND
M = ({q0 , q1 , q2 , qf }, {0, 1}, {0, 1, #}, , q0 , #, {qf }) on
(q0 , 0) = {(q0 , 1, D ), (q1 , 1, D )} (q1 , 1) = {(q2 , 0, I )}
(q2 , 1) = {(q0 , 1, D )} (q1 , #) = {(qf , #, D )}

Des ribir el lenguaje generado.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Cintas semiilimitadas
Podemos suponer que las intas son ilimitadas slo por la dere ha y que
la palabra de entrada se es ribe a partir de la primera asilla. Para ello,
vamos a demostrar que todo lenguaje se puede a eptar sin es ribir a la
izquierda de la primera asilla que o upa la palabra de entrada, lo que
equivale a suponer que no existe inta a la izquierda de la palabra de
entrada.
Teorema
Todo lenguaje a eptado por una MT M2 es tambin a eptado por una
MT M1 on las siguientes restri iones:
1 M1 nun a es ribe el espa io en blan o #
2 La abeza de M1 nun a se mueve ha ia la izquierda de su posi in
ini ial.
La primera ondi in es muy f il de onseguir aadiendo un nuevo
smbolo a M1 que es otro espa io en blan o # .
Si M2 es ribe un espa io en blan o 2 (q , a) = (p , #, M ), enton es M1
es ribe el nuevo blan o: 1 (q , a) = (p , # , M ). Despus, ada transi in
1 (q , # ) se ha e idnti a a 2 (q , #).
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Cintas semiilimitadas
Para la segunda ondi in, una inta ilimitada por ambos extremos
se simula on una inta ilimitada slo por la dere ha on dos pistas
y la siguiente estru tura:

X0 X1 X2
X1 X2
Si M2 = (Q2 , A, B2 ,2 , q2 ,#, F2 ) enton es M1 = (Q1 , A {#}, B1 ,1 , q0 ,[#,#], F1 )
donde
Los estados de M1 son {q0 , q1 } (Q2 {S , I }). Los estados q0 y q1 sirven para
preparan la inta de entrada (por ejemplo, poner el tope en la pista inferior).
En los otros estados tenemos que espe i ar el valor S (pista superior) o I
(pista inferior) adems del estado.
Los smbolos de trabajo de M1 son B2 B2 , es de ir todas las parejas de
smbolos de trabajo de M2 . Cada smbolo a A2 de M2 se identi a on el
smbolo [a,#] de M1 . Adems en B1 estn todas las parejas [b,] donde
b B2 . Este smbolo se usa omo tope para saber que estamos en el extremo
izquierdo de la inta.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Cintas semiilimitadas
1 (q0 , [a, #]) = (q1 , [a, ], D ) para ualquier a B2
1 (q1 , [a, #]) = ([q2 , S ], [a, #], I ) (nos movemos a la izquierda y
de imos que estamos arriba)
Si 2 (q , a) = (p , b , M ), enton es para todo B2
1 1 ([q , S ], [a, ]) = ([p , S ], [b , ], M )
2 1 ([q , I ], [ , a]) = ([p , I ], [ , b ], M ), donde M es el movimiento
de sentido opuesto a M.
Si 2 (q , a) = (p , b , D ) enton es
1 ([q , I ], [a, ]) = 1 ([q , S ], [a, ]) = ([p , S ], [b , ], D )
Si estamos al prin ipio de la inta, siempre se supone que el smbolo
a tivo es el superior. All se es ribe y si nos movemos a la dere ha el
superior es el a tivo.
Si 2 (q , a) = (p , b , I ) enton es
1 ([q , I ], [a, ]) = 1 ([q , S ], [a, ]) = ([p , I ], [b , ], D )
Si estamos al prin ipio de la inta, siempre se supone que el smbolo
a tivo es el superior. All se es ribe y si nos movemos a la izquierda
el infererior es el a tivo.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Cintas Semiilimitadas

Cuando usamos intas semiilimitadas, supondremos desde el


prin ipio que tenemos el smbolo a la izquierda de ada una
de las intas que se usen y que si se llega a ese smbolo
inmediatamente nos vamos ha ia la dere ha en el prximo
movimiento.
Esto no supone ninguna limita in, ya que toda MT se puede
simular on una on estas restri iones: siempre podemos
in luir ese smbolo al prin ipio de la palabra de entrada,
desplazando todos los smbolos una asilla a la dere ha y
despus omo hemos visto siempre se puede simular la MT on
una de intas semiilimitadas en las que nun a se pasa a la
izquierda de la palabra de entrada.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Codi a in de Cadenas
Supongamos un alfabeto A = {a1 ,... , an }. Podemos estable er una orresponden ia
biye tiva entre las palabras sobre este alfabeto y los nmeros naturales. Supongamos
w = aik ... , ai1 , enton es el nmero de w que denotaremos omo Z (w ) es kj=1 ij .nj 1 ,
siendo Z () = 0.

Ejemplo
Si A = {0, 1, 2}, Z () = 0, Z (0) = 1, Z (1) = 2, Z (2) = 3, Z (202) = 3 + 1 3 + 3 32

Dado un alfabeto A = {a1 ,... , an }, Si m es un nmero natural, siempre se puede


en ontrar una adena, que denotaremos omo C (m) o omo wm uya odi a in sea
m. Esto se puede onseguir de la siguiente forma,
Si m = 0, C (m) =
Si m > 0, sea
R (m, n) si n no divide a m

i=
n si n divide a m

[m/n] si n no divide a m

p=
[m/n] 1 si n divide a m
donde R (m, n) es el resto de la divisin entera de m entre n y [m/n] es la
divisin entera de m entre n.
Enton es C (m) = C (p )ai .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Distintos alfabetos
Si tenemos dos alfabetos A y B podemos estable er una apli a in
biye tiva entre las palabras de ambos alfabetos:
Sea ZA la apli a in que odi a las palabras de A omo
nmeros naturales: ZA : A N.
Sea CB la apli a in que transforma nmeros naturales en
palabras sobre B : CB : N B .
La omposi in CB ZA es una apli a in biye tiva de A en
B (primero se al ula el digo numri o de una palabra de B
y enton es la palabra del alfabeto de A que orresponde a ese
digo.
Esta fun in es al ulable en una MT.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Distintos alfabetos
Si tenemos dos alfabetos A y B podemos estable er una apli a in
biye tiva entre las palabras de ambos alfabetos:
Sea ZA la apli a in que odi a las palabras de A omo
nmeros naturales: ZA : A N.
Sea CB la apli a in que transforma nmeros naturales en
palabras sobre B : CB : N B .
La omposi in CB ZA es una apli a in biye tiva de A en
B (primero se al ula el digo numri o de una palabra de B
y enton es la palabra del alfabeto de A que orresponde a ese
digo.
Esta fun in es al ulable en una MT.
Toda fun in a lulable sobre un alfabeto es equivalente a otra
fun tin al ulable sobre otro alfabeto distinto. Es su iente
trabajar sobre un slo alfabeto. Usualmente, lo haremos sobre el
alfabeto {0, 1}.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Problemas de De isin

Un problema de de isin, , onsta de los siguientes elementos:


D : Conjunto de ejemplos del problema ( asos posibles o
datos).
Y : Conjunto de ejemplos en los que la respuesta es positiva
( ondi in que es veri ada por algunos de los elementos de
D ).
Y D

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ejemplo: Isomorsmo de subgrafos

D : Datos
Dos grafos G1 = (V1 , E1 ) y G2 = (V2 , E2 )
Y : Condi in
Contiene G1 un subgrafo isomorfo a G2 ?
Es de ir, existe un sub onjunto V V1 y un sub onjunto de
aristas E E1 tal que E V V y existe una apli a in
biye tiva f : V2 V de tal manera que se veri a

(u , v ) E2 (f (u ), f (v )) E

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Codi a in de Problemas

Un sistema de odi a in para un problema es una apli a in

C : D A
donde A es un alfabeto. Es de ir, ada ejemplo del problema se
transforma en una palabra en un determinado alfabeto.
Un problema se identi a on el lenguaje:
L() = {C (X ) : X Y }.
Es de ir los asos on respuesta armativa.
Las palabras que no son una odi a in orre ta de un
ejemplo del problema se onsidera que no forman parte del
lenguaje.
Todos los on eptos que hemos visto sobre lenguajes se
apli an a los problemas de de isin, suponiendo que a un
problema de de isin, se transforma en re ono er un lenguaje.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Problemas y Lenguajes
Palabras de A

Corre tas

SI
Lenguaje

Las deni iones sobre lenguajes se pueden transformar en


deni iones sobre los problemas aso iados. Los problemas uyos
lenguajes son re ursivos se llaman de idibles o al ulable y los que
no lo son inde idibles o no al ulables. Esta terminologa se apli a
tambin a los lenguajes.
Los problemas uyos lenguajes son r.e. se llaman semide idibles o
par ialmente al ulables.
La identi a in de las odi a iones orre tas (palabras que
orresponden realmente a un ejemplo del problema) se onsidera
que no es importante desde el punto de vista omputa ional (en
todos los ejemplos se puede realizar en tiempo lineal).
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Codi ando Mquinas de Turing

Se le puede asignar a ada MT sobre un alfabeto {0, 1} una adena y un nmero


natural. Para ello, suponemos
Los estados son {q1 ,... , qk }. El estado ini ial es q1 y hay un ni o estado nal
q2 (esto siempre se puede onseguir).
Los smbolos de B son {a1 , a2 ,... , am } donde a1 es 0, a2 es 1 y a3 es el smbolo
blan o.
Al movimiento izquierda le asignamos un 1 y al de la dere ha un 2. Este nmero
ser u (M ).
La odi a in de la MT se realiza de la siguiente forma:
Cada transi in (qi , aj ) = (qk , al , M ) se odi a omo 0i 10j 10k 10l 10u(M ) .
Todas las transi iones se van aadiendo a la odi a in separadas por 11.
Una vez al ulada la adena w = R (M ), podemos al ular su nmero Z (w ) on el
alfabeto {0, 1}, segn el pro edimiento que hemos visto para asignar nmeros a
palabras. Este nmero tambin se denotar omo Z (M ).
Cada nmero natural orresponder a una MT, o orresponder a una adena sin
sentido alguno. Sea T (n) la MT orrespondiente al nmero n o 'Nula' si no hay MT
aso iada al nmero n. Tambin denotaremos omo T (w ) la MT uyo digo es w.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Codi ando Mquinas de Turing y Entradas

Para odi ar una MT M y una palabra w sobre el alfabeto


{0, 1}, podemos odi ar M omo hemos visto y despus
aadir 111 seguido de w , dando lugar a la adena R (M , w )
Tambin se le puede asignar un nmero
Z (M , w ) = Z (R (M , w )) asignndole el nmero aso iado a su
adena de ara teres.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
El lenguaje de diagonaliza in

Vamos a denir un lenguaje Ld sobre {0, 1} que no es r.e. Este lenguaje se ono e
omo lenguaje de diagonaliza in.

Lenguaje de Diagonaliza in
Sea w {0, 1} , w Ld si y solo si la MT uya odi a in es w no a epta w.
Se interpreta que si w no es un MT orre ta, enton es representa una MT on un slo
estado y ninguna transi in (siempre re haza).

Si wi es la palabra uya odi a in es i: wi = C (i ).

Palabras
w1 w2 w3 w4 ...
w1 0 0 0 0 ...
Mquinas

w2 1 0 1 0 ...
w3 1 1 0 0 ...
w4 0 1 0 1 ...
. . . . . ...
. . . . . ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
El lenguaje de diagonaliza in

Vamos a denir un lenguaje Ld sobre {0, 1} que no es r.e. Este lenguaje se ono e
omo lenguaje de diagonaliza in.

Lenguaje de Diagonaliza in
Sea w {0, 1} , w Ld si y solo si la MT uya odi a in es w no a epta w.
Se interpreta que si w no es un MT orre ta, enton es representa una MT on un slo
estado y ninguna transi in (siempre re haza).

Si wi es la palabra uya odi a in es i: wi = C (i ).

Palabras
w1 w2 w3 w4 ...
w1 0 0 0 0 ...
Mquinas

w2 1 0 1 0 ...
w3 1 1 0 0 ...
w4 0 1 0 1 ...
. . . . . ...
. . . . . ...
Ld 1 1 1 0 ...

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Ld no es r.e.

Teorema
Ld no es r.e.
Supongamos una MT M que a epta Ld . Di ha MT estar denida
sobre el alfabeto {0, 1}. Di ha mquina a epta palabras w tales que
la MT uya odi a in es w no a epta la palabra w .
Sea wM la odi a in de la MT M : wM = R (M ).
Si wM Ld enton es M a epta wM y la MT uya odi a in
es wM a epta la palabra wM y, por la deni in de Ld ,
wM 6 Ld .
Si wM 6 Ld enton es M no a epta wM y la MT uya
odi a in es wM no a epta la palabra wM y, por la deni in
de Ld , wM Ld .
Con lo que la existen ia de una MT M que a epte Ld nos lleva a
una ontradi in.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Complementarios de los lenguajes re ursivos y r.e.

Si L A , el omplementario de L respe to a A se denotar omo


L.
Teorema
Si L es un lenguaje re ursivo, enton es L tambin lo es.
Demostra in
Si L es re ursivo, enton es es a eptado por una MT que siempre para. Se onstruye M
on las siguientes ara tersti as:
Los estados de a epta in de M se onvierten en estados de re hazo de M
donde no se realizan nuevas transi iones.
M tiene un nuevo estado r que es de a epta in y que no tiene transi iones
denidas.
Para ada estado p de M que no sea de a epta in y para ada smbolo de la
inta a B para el que no haya denida una transi in, se aade
(p , a) = (r , a, D ).
Est laro que M a epta el lenguaje L y siempre termina, ya que M lo ha e.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Complementarios de los lenguajes re ursivos y r.e.

Teorema
Si L y L son ambos r.e., enton es L es re ursivo.
Demostra in
Sea M1 la MT que a epta L y M2 la MT que a epte L. Vamos a onstruir una MT M
on dos intas: en una fun iona omo M1 y en la otra omo M2 .
M es una mquina que fun iona omo M1 y M2 a la vez ( omo en el autmata produ to).
El onjunto de estados de M es el produ to Q1 Q2 donde Q1 es el onjunto de estados
de M1 y Q2 el de M2 . En ada paso, se pasa al estado que orrespone segn M1 y al
estado que orresponde segn M2 .
La MT termina uando una de las dos mquinas termina.
Los estados de a epta in de M son las parejas, en las que apare e un estado de
a epta in de M1 o un estado de a epta in de M2 .
Est laro que M a epta L y siempre termina, ya que toda palabra u A est en L o en
L. En el primer aso, M1 termina y en el segundo lo ha e M2 . Por lo tanto M siempre
termina.
El lengauje Ld no es r.e. Su omplementario podra ser r.e., pero nun a re ursivo. De
he ho, es r.e.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
El Lenguaje Universal
Deni in
El lenguaje universal Lu es el onjunto de todas v las adenas del alfabeto {0, 1} que
odi an parejas (M , w ) (es de ir v = R (M , w )) donde M tiene omo alfabeto de
entrada {0, 1}, w est denida sobre el mismo alfabeto y tales que la MT M a epta la
adena w.

Teorema
El lenguaje Lu es r.e.

Demostra in
La idea bsi a es onstruir una MT Mu que lea la odi a in R (M , w ) simule la MT
M sobre la entrada w y termine uando termina M, a eptando si lo ha e M. Esta MT
se llama Mquina de Turing Universal. Est laro que si ha e la simula in, a eptar
uando M a epta w. Mu ontiene varias intas:
En la primera ontiene la odi a in de M y w
En la segunda ontiene lo que sera la inta de M para la entrada w. Un smbolo
ai B se representa omo 0i y los distintos smbolos se separan por un 1.
En la ter era inta representa el estado de M. El estado qi se representa
mediante 0i
La uarta inta se utiliza para l ulos auxiliares
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Demostra in ( ont.)

1 Primero Mu examina M y w para asegurarse de que la entrada es orre ta.


2 Ini ializa la segunda inta on w. El 0 se odi a omo 01. El 1 se odi a
omo 001. Cada vez que introduz a un blan o lo tendr que ha er omo 0001.
Todo de a uerdo on los digos vistos.
3 Ini ializa la ter era inta on 0 que orresponde on el estado ini ial (suponemos
que es q1 ).
4 Simula los movimientos. Tendr que lo alizar en la primera inta
0i 10j 10k 10l 10m donde qi es el estado en el que se en uentra, 0j 1 es lo que se
ve en la segunda inta. Si no lo en uentra para. Enton es debe de eje utar el
movimiento orrespondientes:
1 Cambiar el la inta 3, el estado a 0k
2 Sustituir 0j en la inta 2 por 0l
3 Ha er el movimiento en la inta 2, segn sea m (m = 1 a la
izquierda, m = 2 a la dere ha).
5 Si M pasa a un estado de a epta in (el estado q2 ), enton es Mu para y a epta.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Inde ibilidad del Lenguaje Universal

Teorema
El lenguaje universal Lu no es re ursivo.

Demostra in
Por redu in al absurdo.
Si Lu fuese re ursivo, enton es Lu tambin sera re ursivo.
Si M es una MT que a eptase Lu , onstruiramos la siguiente MT, M :
Si M lee w enton es, onvierte w en w 111w ( omo la
odi a in de (w , w )).
Enton es pasa a fun ionar omo M , a eptando si M a epta.
M a epta w si y solo s, M a epta w 111w . Es de ir
w 111w 6 Lu . Esto es la MT uya odi a in es w no a epta
la palabra w . Esto es equivalente a que w Ld .
Hemos onstruido una MT que a epta Ld , en ontra de lo que sabemos: Ld no
es r.e.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Redu in (en trminos de problemas)

Sean P1 y P2 problemas de de isin, enton es de imos que P1 se redu e


a P2 is existe un algoritmo M (una MT) que siempre para y al ula una
fun in f tal que para toda entrada w a P1 , tenemos que P2 produ e la
misma respuesta para la entrada f (w ).

MT
SI/NO
P2

Teorema
Si P1 se redu e a P2 , enton es si P1 es inde idible, tambin lo es P2 y si
P1 no es semide idible, tampo o lo es P2 .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Redu in (en trminos de problemas)

Sean P1 y P2 problemas de de isin, enton es de imos que P1 se redu e


a P2 is existe un algoritmo M (una MT) que siempre para y al ula una
fun in f tal que para toda entrada w a P1 , tenemos que P2 produ e la
misma respuesta para la entrada f (w ).

MT
w f (w ) SI/NO
M P2

Teorema
Si P1 se redu e a P2 , enton es si P1 es inde idible, tambin lo es P2 y si
P1 no es semide idible, tampo o lo es P2 .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Redu in (en trminos de problemas)

Sean P1 y P2 problemas de de isin, enton es de imos que P1 se redu e


a P2 is existe un algoritmo M (una MT) que siempre para y al ula una
fun in f tal que para toda entrada w a P1 , tenemos que P2 produ e la
misma respuesta para la entrada f (w ).
MT
P1
MT
w f (w ) SI/NO
M P2

Teorema
Si P1 se redu e a P2 , enton es si P1 es inde idible, tambin lo es P2 y si
P1 no es semide idible, tampo o lo es P2 .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Redu in (en trminos de lenguajes)

Si L1 A y L2 B son lenguajes, el lenguaje L1 se redu e al lenguaje


L2 is existe un algoritmo M (una MT) que siempre para y al ula una
fun in f : A B tal que para toda entrada w A ,
w L1 f (w ) L2 .

MT
SI/NO
L2

Teorema
Si L1 se redu e a L2 , enton es si L1 no es re ursivo, tampo o lo es L2 y si
L1 no es r.e., tampo o lo es L2 .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Redu in (en trminos de lenguajes)

Si L1 A y L2 B son lenguajes, el lenguaje L1 se redu e al lenguaje


L2 is existe un algoritmo M (una MT) que siempre para y al ula una
fun in f : A B tal que para toda entrada w A ,
w L1 f (w ) L2 .

MT
w f (w ) SI/NO
M L2

Teorema
Si L1 se redu e a L2 , enton es si L1 no es re ursivo, tampo o lo es L2 y si
L1 no es r.e., tampo o lo es L2 .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Redu in (en trminos de lenguajes)

Si L1 A y L2 B son lenguajes, el lenguaje L1 se redu e al lenguaje


L2 is existe un algoritmo M (una MT) que siempre para y al ula una
fun in f : A B tal que para toda entrada w A ,
w L1 f (w ) L2 .
MT
L1
MT
w f (w ) SI/NO
M L2

Teorema
Si L1 se redu e a L2 , enton es si L1 no es re ursivo, tampo o lo es L2 y si
L1 no es r.e., tampo o lo es L2 .

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
MTs que a eptan el lenguaje va o

Denimos los siguientes lenguajes sobre el alfabeto {0, 1}:


Le onjunto de palabras w tales que la MT M sobre {0, 1} uya
o a in es w no a epta ninguna palabra (L(M ) = 0/ ).
Lne onjunto de palabras w tales que la MT M sobre {0, 1} uya
o a in es w a epta alguna palabra (L(M ) 6= 0/ ).

Teorema
Lne es r.e.
Demostra in
Hay una MT no determinista M que a epta Lne :
M lee w que odi a una MT N, enton es on el algoritmo no determinista
genera una palabra de entrada u.
Despus pone a simular N sobre u on la MT universal Mu .
Si Mu para y a epta, enton es M a epta w.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
MTs que a eptan el lenguaje va o
Teorema
Lne no es re ursivo
Demostra in
Vamos a redu ir Lu a Lne :
Supongamos una entrada para Lu dado por un par (M , w ) vamos a onstruir un
ejemplo M de Lne on la misma solu in.
M ignora su entrada x y olo a en la inta de entrada (M , w ). Si la longitud de
(M , w ) es n, esto se puede ha er on n estados. Cada estado qi es ribe el
smbolo i de (M , w ) y se mueve a la dere ha. Despus pasara a un nuevo
estado en el que borra lo que quede de x.
M se mueve a la izquierda hasta el primer smbolo de (M , w ).
M simula ahora M on w omo entrada on la MT universal Mu .
Si Mu para y a epta, enton es M para y a epta.
Est laro que M a epta w si y solo si M a epta alguna palabra.

Teorema
Le no es r.e. (si lo fuese, enton es Lne sera re ursivo)
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Demostra in Gr a y Conse uen ia

Dada una entrada (M , u ) la redu in onstruye la siguiente MT:

Mu
x (M , w ) SI/NO

Teorema
Le no es r.e. (si lo fuese, enton es Lne sera re ursivo)

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Propiedades de los r.e.

Propiedad lenguaje r.e. Propiedad de los lenguajes de las MTs


Una propiedad de los lenguajes r.e. se identi a on el lenguaje sobre el
alfabeto {0, 1} de todas las palabras w tales que la MT uyo digo es w
veri a di ha propiedad.
Ejemplo
Propiedades Saber si el lenguaje de una MT es nito o innito.
No es una propiedad de los r.e. saber si una MT tiene ms de 10 estados.
Deni in
Una propiedad de los lenguajes r.e. se di e trivial si para toda MT su
lenguaje a eptado no veri a la propiedad o para toda MT su lenguaje
a eptado siempre veri a la propiedad.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Teorema de Ri e

Teorema de Ri e
Toda propiedad no trivial sobre los lenguajes r.e. es inde idible
Demostra in
Supongamos una propiedad no trivial y supongamos que el lenguaje va o no veri a la
propiedad y que otro lenguaje L a eptado por la MT ML si veri a la propiedad.
Vamos a redu ir el problema Lu a esta propiedad. Supongamos (M , w ) una MT y su
entrada onstruimos M de la siguiente forma (se supone que tiene una entrada x en la
primera inta):
M tiene dos intas. En la segunda olo a a w y empieza trabajando sobre esta
inta on las mismas transi iones de M. Si termina y no a epta, enton es M no
a epta.
Si M termina y a epta on w, enton es empieza a fun ionar omo ML sobre la
entrada x en la primera inta y tiene la misma salida que ML .
Est laro que si M a epta w, enton es el lenguaje de M es L y veri a la propiedad.
Si M no a epta w, enton es el lenguaje de M es va o y no veri a la propiedad. Con
esto se a aba la redu in y la propiedad no es de idible.
Si el lenguaje va o a epta la propiedad se hara la misma transforma in on la pro-
piedad omplementaria, demostrando que no es de idible y, por lo tanto, la propiedad
original tampo o lo es.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Teorema de Ri e. Gr a de la Redu in

Dada una entrada para el problema universal (M , w ) se onstruye la


siguiente MT M
M
M
NO
SI
w
x SI/NO

ML

Est laro que si (M , w ) est en el lenguaje universal, enton es M a epta w, y esta


mquina a epta L y veri a la propiedad.
Si (M , w ) no est en el lenguaje universal, enton es M no a epta w, y esta mquina
a epta 0/ y no veri a la propiedad.
Como el lenguaje universal se redu e a la propiedad no trivial y no es re ursivo, la
propiedad tampo o puede ser re ursiva (de idible).

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Otros Problemas Inde idibles

El Problema de las Corresponden ias de Post


Tenemos un alfabeto de referen ia A, y dos listas on la misma longitud
B1 = w1 ,... , wk , B2 = u1 ,... , uk de palabras sobre A. El problema es determinar si
existe una se uen ia no va a de enteros i1 ,... , im tales que wi1 ... wim = ui1 ... uim .

Podemos pensar en ada pareja (wi , ui ) omo un bloque de onstru in:


wi
.
ui
La espe i a in del problema nos da un onjunto de bloques disponibles. Por ejemplo:
abb b a
a abb bb

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Otros Problemas Inde idibles

El Problema de las Corresponden ias de Post


Tenemos un alfabeto de referen ia A, y dos listas on la misma longitud
B1 = w1 ,... , wk , B2 = u1 ,... , uk de palabras sobre A. El problema es determinar si
existe una se uen ia no va a de enteros i1 ,... , im tales que wi1 ... wim = ui1 ... uim .

Podemos pensar en ada pareja (wi , ui ) omo un bloque de onstru in:


wi
.
ui
La espe i a in del problema nos da un onjunto de bloques disponibles. Por ejemplo:
abb b a
a abb bb

En este aso, la respuesta es armativa. Se uen ia: 1, 3, 1, 1, 3, 2, 2


abb a abb abb a b b abbaabbabbabb

a bb a a bb abb abb abbaabbabbabb

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
El Problema de las Corresponden ias de Post Modi ado

PCP Modi ado


Tenemos un alfabeto de referen ia A, y dos listas on la misma
longitud B1 = w1 , . . . , wk , B2 = u1 , . . . , uk de palabras sobre A y un
entero i . El problema es determinar si existe una se uen ia no va a
de enteros i1 , . . . , im tales que i1 = i y wi1 . . . wim = ui1 . . . uim .

La ni a diferen ia es que ahora nos di en el bloque por el que


ne esariamente hay que omenzar.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
El Problema de las Corresponden ias de Post Modi ado

Teorema
El problema de las orresponden ias de Post modi ado es
inde idible si A tiene al menos 2 smbolos.
Si A tiene dos smbolos, podemos odi ar palabras de ualquier
alfabeto.
Vamos a redu ir el lenguaje universal a este problema.
Vamos a suponer una MT M y una palabra w . La pregunta es si
w L(M ). Vamos a onstruir un problema de orresponden ias de
Post modi ado on la misma solu in.
El alfabeto que vamos a onsiderar para el alfabeto del problema de
las orresponden ias es el alfabeto de la MT, ms el onjunto de
estados, ms un separador que no est en los onjuntos anteriores
Si w = a1 . . . an

Introdu imos el bloque
q0 a1 . . . an

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Demostra in (Cont.)

Si w = a1 . . . an

Introdu imos el bloque , que ser el bloque de
q0 a1 . . . an
omienzo.
Por ada transi in (q , a) = (q , b , D ), introdu imos el bloque
qa
bq
Por ada transi in (q , a) = (q , b , I ), introdu imos el bloque
qa para ada del alfabeto de la MT
q b
Para ada smbolo a de la MT y introdu ir aa

Los bloques ,
# #

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Demostra in (Cont.)
Para ada q F , aade los bloques aq
q ,
qa
q
y el bloque
q .

La idea de la redu in es representar en los bloques el l ulo que
realiza la MT para la palabra de entrada w es ribiendo el historial
de sus ongura iones.
Cada ongura in (q , u , v ) se representa por la adena uqv y las
distintas ongura iones se separan por .
En la parte de abajo se lleva una ongura in de ventaja respe to
a la parte de arriba.
Cuando llegamos a un estado de a epta in, la parte de abajo
empieza a disminuir smbolo a smbolo paso a paso y ompindose
arriba, hasta que quede abajo . . . q y arriba . . . qa . . . aq
donde q es el estado nal. Enton es podemos ompletar on el
ltimo bloque a epta in. En ese aso, podemos ompletar on el
ltimo bloque.
Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
El PCP es inde idible

Teorema
El problema de las orresponden ias de Post es inde idible

Se redu e el problema de las orresponden ias de Post modi ado al


problema de las orresponden ias de Post.
Supongamos que nos dan un onjunto de bloques
u1 ,
u2 , ,
un y
v1 v2 vn
que el primero ne esariamente es el bloque 1 (no hay ninguna prdida de
generalidad al suponer que el obligatorio para omenzar va primero).
Construimos el siguiente problema de Post on dos smbolos nuevos: , 
y on los bloques:
u1 u1 u2 un 
, , , ,
v1  v1  v2  vn  , 
Donde, si u = a1 a2 . . . an , se entiende que
u = a1 a2 . . . an , u = a1 a2 . . . an , u  = a1 a2 . . . an 
Es f il omprobar que los dos problemas son equivalentes.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Problemas sobre Gramti as

Problemas sobre Gramti as


Suponemos que G , G1 y G2 son gramti as independientes del
ontexto dadas y R es un lenguaje regular.
Saber si L(G1 ) L(G2 ) = 0/ .
Determinar si L(G ) = T , donde T es el onjunto de smbolos
terminales.
Comprobar si L(G1 ) = L(G2 ).
Determinar si L(G1 ) L(G2 ).
Determinar si L(G1 ) = R .
Comprobar si L(G ) es regular.
Determinar siG es ambigua.
Cono er si L(G ) es inherentemente ambiguo.
Comprobar si L(G ) es determinista.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula
Demostra in

Teorema
Saber si una gramti a independiente del ontexto es ambigua es
inde idible.
Se redu e el problema de las orresponden ias de Post. Supongamos el
alfabetoA y los bloques uv1 , , uvk .
1 k
Sea B = A {b1 , . . . , bk } donde bi 6 A y onstruimos la siguiente
gramti a:
S A|B
A ui Abi |ui bi , i = 1, . . . , k
B vi Bbi |vi bi , i = 1, . . . , k
La solu in al problema de las orresponden ias de Post es equivalente a
que la gramti a sea ambigua.

Serafn Moral Tema 1: Mquinas de Turing. Fun iones y Lenguajes Cal ula