Turing

También podría gustarte

Está en la página 1de 42

EISC

M
aquinas de Turing

M
aquinas de Turing

Definici
on 1
La M
aquina de Turing (MT) es el modelo de aut
omata com m
axima capacidad
computacional: la unidad de control puede
desplazarse a izquierda o derecha y sobreescribir smbolos en la cinta de entrada.

Definici
on 2
Una M
aquina de Turing (MT),
M = (Q, , , q0, T, B, )

EISC

M
aquinas de Turing

donde:

1. Q es un conjunto finito de estados.

2. es el alfabeto de entrada.

3. es el alfabeto de la cinta, que incluye


a ,

4. q0 Q es el estado inicial.

5. B es el smbolo blanco (el smbolo B no puede hacer parte de ) aparece en todas las casillas excepto en
aqu
ellas que contienen los smbolos de
entrada.

6. T Q conjunto de estados finales.

EISC

M
aquinas de Turing

7. es la funci
on de transici
on tal que:
: Q Q {I, D}
(q, X) = (p, Y, {I, D})
es una funci
on parcial, es decir, No
puede estar definida en algunos elementos del dominio.
Definici
on 3
(Funci
on parcial) Una funci
on f ,
f : A B se dice que es una funci
on
parcial si C A, C 6= , tal que x
C, f (x) ( existe un subconjunto no vaco
de A en el que todos los elementos tienen
imagen calculable.)
Observaci
on 1

Una MT procesa una entrada w


colocadas sobre una cinta infinita en
ambas direcciones. Para procesar la

EISC

M
aquinas de Turing

cadena w, la unidad de control de M


est
a en el estado inicial q0 escanendo
el primer smbolo de w. Las dem
as casillas de la cinta contienen el smbolo
en blanco B.

Una descripci
on instant
anea, es una
expresi
on de la forma:
a1a2 . . . ai1qai . . . an
donde los smbolos a1, . . . , an y q
Q

Esta descripci
on instant
anea a1a2 . . . ai1qai . . .
indica que la unidad de control de M
est
a en el estado q escanendo el smbolo ai.

EISC

M
aquinas de Turing

Una transici
on (q, B) = (p, s, D) en
una MT requiere que el smbolo este
escrito en la casilla escaneada, adem
as
la unidad de control sobre-escribe el
blanco B sobre s y realiza un desplazamiento D.

EISC

M
aquinas de Turing

Computos especiales
Durante el c
omputo o procesamiento de
la palabra de entrada, hay dos situaciones
especiales que se pueden presentar:

1. El c
omputo termina por que en determinado momento no hay transici
on
definida.

2. El c
omputo no termina; esto es lo que
se denomina un bucle infinito. Esta situaci
on se representa as:
w1qw2 `
que indica que el c
omputo que se inicia en w1qw2 no se detiene nunca.

EISC

M
aquinas de Turing

Lenguaje aceptado por una MT


Una cadena de entrada w es aceptada por
una MT M si el c
omputo que se indica la
configuraci
on inicial q0w termina en una
configuraci
on instant
anea w1pw2, p es un
estado de aceptaci
on, en la cual M se
detiene completamente. El lenguaje L(M )
aceptado por una MT M se define como:
L(M ) = {w : q0w ` w1pw2, p T }
M se para en w1pw2 Si la cadena de entrada en una m
aquina M pertenece a L(M ),
la m
aquina M siempre se detiene.
Definici
on 4
Las m
aquinas de Turing originan las siguientes clases de lenguajes:

1. L es un lenguaje recursivamente enumerable


(RE) si existe una MT M tal que
L(M ) = L.

EISC

M
aquinas de Turing

Definici
on 5
Sea M una m
aquina de Turing; se dice
que L = L(M ) es un lenguaje recursivamente enumerable si:
x L, M se DETIENE en q T ,
x
/ L, M se DETIENE en q
/ T
o bien No se DETIENE.

2. L es un lenguaje recursivo si existe


una MT M tal que L(M ) = L y M
se DETIENE con todas las cadenas de
entrada.
Definici
on 6

EISC

M
aquinas de Turing

Se dice que L es un lenguaje recursivo


si existe al menos una m
aquina de Turing M , tal que L = L(M ) y
x L, M se DETIENE en q T ,
x
/ L, M se DETIENE en q
/T

Observaci
on 2
Todo lenguaje recursivo es recursivamente
enumerable, pero la afirmaci
on recproca
no es (en general) v
alida.
Definici
on 7
Un diagrama de transici
on est
a formado
por un conjunto de nodos que corresponden a los estados de la MT. la transici
on
(q, a) = (p, b, D) se representa as:

EISC

M
aquinas de Turing

Definici
on 8
El control finito estacionario es una transici
on que tiene la forma:
(q, a) = (p, b, N )
donde a, b y N representa un Nodesplazamiento.
Observaci
on 3
Los MT con transiciones estacionarias (q, a) =
(p, b, N ), aceptan los mismos lenguajes que
los MT est
andares. La directiva N tambien se puede simular con un movimiento
a la izquierda, seguido de un retorno a la
derecha.
Ejemplo 1

EISC

M
aquinas de Turing

Se puede construir una MT que reconozca a sobre = {a, b}.


Para M = (Q, , , q0, T, B, ) donde Q =
{q0, q1}, T = {q1}
(q0, a) = (q0, a, D)
(q0, B) = (q0, a, D)
Sea w = aa

q0aa ` aq0a ` aaq0B ` aaBq1B


por tanto esta m
aquina para en el estado
q1 y reconoce la cadena.

Ejemplo 2
Se puede dise
nar un MT que reconozca
{0n1n : n 1}

EISC

M
aquinas de Turing

Cambia un 0 por una X y se mueve


hacia la derecha, pasando por encima
de los ceros e Y , hasta llegar al primer
1.

cambia el 1 por la Y y se mueve hacia


la izquierda por encima de todos los
Y y de todos los ceros hasta llegar a
una X y se repite el proceso hasta que
s
olo queden Xs y Y s.

EISC

M
aquinas de Turing

La funci
on se define as:
(q0, 0) = (q1, X, D)
(q1, 0) = (q1, 0, D)
(q1, X) = (q1, X, D)
(q1, 1) = (q2, Y, I)
(q2, Y ) = (q2, Y, I)
(q2, 0) = (q2, 0, I)
(q2, X) = (q0, X, D)
(q0, Y ) = (q3, Y, D)
(q3, Y ) = (q3, Y, D)
(q3, B) = (q4, B, D)
Sea T = {q4}
sea w = 1100
q00011 ` Xq111 ` X0q111 ` Xq20Y 1
` q2X0Y 1 ` Xq00Y 1 ` XXq1Y 1
` XXY q11 ` XXq2Y Y ` Xq2XY Y
` XXq0Y Y ` XXY q3Y
` XXY Y q3B ` XXY Y Bq4B

EISC

M
aquinas de Turing

la MT para por que qued


o en un estado
de aceptaci
on y la cadena es reconocida.
Ejemplo 3
Se puede construir una MT que acepte el
lenguaje L = {aibici : i 0} sobre =
{a, b, c}.

1. Se cambia la a por una X y se mueve


hacia la derecha pasando por encima
de todas las a0s e Y s, hasta llegar a la
primera b, cambia la primera b por una
Y , se mueve a la derecha pasando por
encima de las bs y Zs y luego encuentra la primera c y la cambia por Z y se
mueve a la izquierda.

2. Luego se mueva a la izquierda pasando por encima de bs, Y s, as, hasta encontrar la X la reemplaza por una X
y repite el proceso anterior, cuando la

EISC

M
aquinas de Turing

m
aquina reemplaza la cadena X, Y y
Zs reconoce la cadena vaca y busca
el estado de aceptaci
on.

EISC

M
aquinas de Turing

MT como calculadora de funciones


Como las m
aquinas de Turing pueden transformar cadenas de entradas, tambi
en se
utilizan como mecanismos para calcular
funciones.
Definici
on 9
Formalmente una MT M = (Q, , , q0, T, B, )
calcula una funci
on
f :

(parcial o total)

si para una entrada w se tiene:


q0w ` qf v,

donde v = f (w)

El modelo de MT no utiliza estado de


aceptaci
on, el estado qf es llamado estado
final se usa para terminar el proceso de la
entrada y producir la salida.
Ejemplo 4

EISC

M
aquinas de Turing

Supongamos que tenemos = {a, b} y


que representamos los enteros positivos
mediante cadenas s
olo de as. As el entero n estara representado por an. Se puede construir la MT que calcule la funci
on
f (n, m) = n + m, implementando la transformaci
on anbam en an+mb.
Soluci
on. Se recorren desde la izquierda
todas las as hasta encontrar una b,
esta
se reemplaza por una a, cambiando de estado, en este mismo estado se recorren
todas las as a la derecha y cuando se llega a un blanco se reemplaza por el mismo
blanco se deja la cabezera a la izquierda y
se reemplaza la a por un blanco para restarle la que adiciono y se mueve hacia la
derecha y se cambia al estado final q3.
Para M = (Q, , , q0, q3, B, ) donde la

EISC

M
aquinas de Turing

funci
on se define as:
(q0, a) = (q0, a, D)
(q0, b) = (q1, a, D)
(q1, a) = (q1, a, D)
(q1, B) = (q2, B, I)
(q2, a) = (q3, B, D)

EISC

M
aquinas de Turing

MT como generadoras de lenguaje


Otra de las capcidades importantes es la
de generar lenguajes, tarea en la cual los
estados finales son son necesarios. Concretamente una MT M = (Q, , , q0, B, )
genera un lenguaje L si:

1. M comienza a operar con la cinta en


blanco en el estado inicial q0.

2. Cada vez que M retorna al estado inicial q0, hay una cadena u L escrita
sobre la cinta.

3. Todas las cadenas de L son, eventualmente, generadas por M .


Ejemplo 5

EISC

M
aquinas de Turing

El siguiente MT genera cadenas con


un n
umero par de aes sobre = {a},
L = {a2i : i 0}

EISC

M
aquinas de Turing

T
ecnicas para la construcci
on de MT
Existen t
ecnicas que facilitan la construcci
on de MT, pero no afectan la potencia
computacional del modelo ya que siempre se puede simular la soluci
on obtenida
mediante el modelo est
andar.
Almacenamiento en el control finito
Se puede utilizar el estado de control para
almacenar una cantidad finita de informaci
on.
([qi, ], ) = ([qt, ], , {I, D, N })
Cada estado se representa como un par
ordenado [qi, ] donde el primer elemento
es el estado real y el segundo la informaci
on que se pretende almacenar, adem
as
,
Ejemplo 6

EISC

M
aquinas de Turing

Construir una MT que reconozca:


L = 01 + 10
Para la m
aquina M = (Q, , , q0, T, B, ):
Q = {q0, q1} {0, 1, B}
Estado inicial [q0, B]
Estado final [q1, B]
La funci
on de transici
on esta dad por:
([q0, B], 0) = ([q1, 0], 0, D)
([q1, 0], 1) = ([q1, 0], 1, D)
([q1, 0], B) = ([q1, B], B, D)
([q0, B], 1) = ([q1, 1], 1, D)
([q1, 1], 0) = ([q1, 1], 0, D)
([q1, 1], B) = ([q1, B], B, D)

EISC

M
aquinas de Turing

Uso de subrutinas
Es la misma idea cuando se trabaja en un
lenguaje de alto nivel, aprovechar las ventajas del dise
no modular para facilitar el
dise
no de la MT.
En una tabla de transici
on se resuelve el
problema de llamados:

Habr
a estados de llamados a subrutinaqll
caracterizados por que suponen la transici
on al estado inicial de una subrutina

EISC

M
aquinas de Turing

El estado final de la subrutina ser


a realmente un estado de salida que permite
transitar hacia un estado de return en
la MT principal.

Observaci
on 4
Para obtener una MT est
andar, bastara
con reescribir todas las funciones de transici
on como una
unica funci
on de transici
on m
as grande.

EISC

M
aquinas de Turing

M
aquinas de Turing Modificadas
Hay ciertos modelos de computaci
on relacionados con las m
aquinas de Turing,
que poseen el mismo potencial como reconocedores de lenguajes que el modelo
b
asico.
M
aquina de Turing Multicinta
En el modelo de multicintas, hay n cintas
diferentes y n cabezas de L/E. La funci
on
de transici
on para m
aquinas de Turing con
n cintas:
: Q n Q n {D, I, N }n

EISC

M
aquinas de Turing

Ejemplo 7
La MT de dos cintas que reconoce el lenguaje:
L = {aibici : i 0}
Se coloca la cadena de entrada en la primera cinta, la idea es copiar en la segunda
cinta una X por cada a y cuando encuentre la primera b, se detiene en la primea
cinta, luego se avanza a la derecha en la
primera cinta y se avanza a la izquierda
en la segunda cinta, cuando encuentra la
primera c las dos cintas avanzan hacia la
derecha.
La funci
on de transici
on es la siguiente, sea T = {q3}
(q0, (a, B)) = (q0, (a, X), (D, D))
(q0, (b, B)) = (q1, (b, B), (N, D))
(q1, (b, X)) = (q1, (b, X), (D, I))
(q1, (c, B)) = (q2, (c, B), (N, D))
(q2, (c, X)) = (q2, (c, X), (D, D))
(q2, (B, B)) = (q3, (B, B), (D, D))

EISC

M
aquinas de Turing

M
aquina de Turing Multipista
En el modelo multipista, la cinta est
a dividida en un n
umero finito de k pistas,
la funci
on de transici
on tiene la siguiente
forma:
: Q k Q k {D, I, N }
(q, (a1, a2, a3, . . . , ak )) = (p, (b1, b2, b3, . . . , bk ),
{I, D, N })

por ejemplo para realizar la suma de estos dgitos se va de la parte izquierda a la


derecha con la siguiente transici
on:

(q0, ) =

(q0, , D) si =
6 (B, B, B)
(q1, , I) si = (B, B, B)

EISC

M
aquinas de Turing

Teorema 1
El lenguaje L es reconocido por una MT
multicinta L es reconocido por una m
aquina de Turing de una sola cinta.

1. ) Si L es reconocido por una MT de


una sola cinta, Entonces L es reconocido
por una MT multicinta.
Basta con hacer funcionar una sola
cinta de la MT multicinta, podra ser
la cinta de la cadena de entrada.

2. ) Si L es reconocido por una MT multicinta


entonces L es reconocido por una m
aquina
de Turing de una sola cinta.
Se supone que la MT M dispone de k
cintas, acepta el lenguaje L, y simulamos M mediante una MT N de una
sola cinta, soponiendo 2k pistas.

EISC

M
aquinas de Turing

Si La MT multicinta tiene k = 2
cintas se dispone de una MT de
una sola cintas de 2k = 4 pistas, las
pistas primera y tercera tienen la
informaci
on de las dos cintas. Las
pistas segunda y cuarta tienen las
cabezas.
Para simular un movimiento M , la
cabeza de N usamos un marcador
para las cabezas de la cintas y si
hay un desplazamiento a la derecha
en M , entonces reemplazamos el 1
en N por B y viceversa si hay un
desplazamiento en la izquierda, el
reemplazo de 1 por B y B por 1
hace la simulaci
on de los cabezales
de M .

EISC

M
aquinas de Turing

EISC

M
aquinas de Turing

M
aquina de Turing no deterministas
Se diferencia de las MT deterministas por
la funci
on , que para cada caso q y para
cada smbolo de cinta X:
(q, X) = {(q1, Y1, S1), (q2, Y2, S2), . . . (qk , Yk , Sk )}
para cualquier k entero postivo finito.
Observaci
on 5
Ambos modelos tienen el mismo poder
computacional.
Teorema 2
El lenguaje L es reconocido por una M
aquina
de Turing
No Determinista L es reconocido por una
m
aquina de Turing Determinista.
Observaci
on 6

EISC

M
aquinas de Turing

Ambos modelos tienen el mismo poder


computacional.

1. ) Si L es reconocido por una MTD entonces


L es reconocido por una M
aquina de Turing
No Determinista.
las MTD son m
aquinas de Turing No
Deterministas en las que hay una transici
on por cada estado/smbolo.

2. ) Si L es reconocido por una M


aquina de Turing NO determinista entonces L es reconocido por una M
aquina
de Turing Determinista.
Podemos simular una MTND con una
MT determinsta de tres cintas:
a) Se obtiene un n que es el n
umero m
aximo de opciones asociada a
cada transici
on.
b) En la primera cinta va la cadena de
entrada.

EISC

M
aquinas de Turing

c) En la segunda cinta se generan las


cadenas sobre el alfabeto {1, 2, . . . , n}
por orden num
erico.
1) Todas las cadenas de longitud 1.
1, 2, 3, . . . , n
2) Todas las cadenas de longitud 2.
11, 12, 13, . . . , 1n, 21, 22, 23, . . . , 2n, n1, n2,

n3, . . . , nn
3) Todas las cadenas de longitud 3.
111, 112, 113, . . . , 11n, 121, 122, 123, . . . ,
12n, 1n1, 1n2, 1n3, . . . , 1nn
Al final todas las cadenas de todas
las longitudes deben ir en la cinta
2 en orden lexicogr
afico.

EISC

M
aquinas de Turing

d) En la tercera cinta se realiza la simulaci


on, cada vez que se genera una secuencia en la cinta 2, se
copia la cadena de entrada en la
cinta 3 y simula computaci
on del
MTND.
(q, (a, 1, B)) = (p, (a, 1, a), (D, D, D))
e) La MTD prueba todas las combinaciones de la cinta dos, empezando cada vez que una configuraci
on
cuando no sirva. Si la cadena es reconocida en el MTND tambi
en es
reconocida en el MTD multicinta.
Ejemplo 8
Sea el siguiente MT no determinstico.

EISC

M
aquinas de Turing

1
}|

{ z

1
}|

1
}|

2
}|

(q0, a) = {(q0, a, D), (q1, a, D)}


(q1, b) = {(q1, b, D)}
{

(q1, B) = {(q2, B, D)}


si se va ha reconocer la cadena la MTND
hace esta derivaci
on:
q0a ` aq1B ` aBq2B
y la cadena es reconocida pero si se va
por el otro camino
q0a ` aq0B
llegara a una transici
on no existente.
Entonces hay una probabilidad que una de
las secuencias de la cinta 2 que reconoce
la cadena a sea: 1,1,1

EISC

M
aquinas de Turing

algunas transiciones que pueden simular el


MTND seran:
(q0, (a, 1, B)) = (q1, (a, 1, a), (D, D, D)
(q1, (B, , B)) = (q5, (B, , B), (I, N, I)
(q5, (a, , a)) = (q5, (a, , B), (I, N, I)
(q5, (B, , B)) = (q0, (B, , B), (D, D, D)
(q0, (a, , B)) = (q5, (a, , B), (D, D, D)
(q5, (B, 2, B)) = (q5, (B, 2, B), (I, N, I)
(q5, (a, 2, B)) = (q5, (a, 2, a), (D, D, D)
En la transici
on
(q0, (a, 1, B)) = (q1, (a, 1, a), (D, D, D), el
1 de (a, 1, B) significa que se modela en el
MTND la transici
on (q0, a) = (q1, B, D),
es decir se realiza la transici
on 1.

EISC

M
aquinas de Turing

Simulaci
on de Aut
omatas por medio de MT
Los aut
omatas (AFD,AFN o AFN-) y los
aut
omatas de pila (AFDP o AFPN) se
pueden simular con m
aquinas de Turing.
Definici
on 10
Dado un aut
omata M se puede construir
una MT que acepte el mismo lenguaje que
M.
Observaci
on 7
Las simulaciones de aut
omatas por medio
de MT permiten concluir que los lenguajes
regulares y los lenguajes independientes de
contexto son recursivos.
Definici
on 11

EISC

M
aquinas de Turing

Dado un AFD M = (Q, , q0, T, ) se puede construir una MT M 0 tal que L(M ) =
L(M 0).
Observaci
on 8
La MT M 0 as construida se detiene ante
cualquier entrada w.
Teorema 3
Todo lenguaje regular es recursivo.
Definici
on 12
Un aut
omata de pila M se puede convertir
en una MT M 0 tal que L(M ) = L(M 0).
Observaci
on 9
La MT ser
a determinista o no determinista seg
un si es un AFDP o un AFDN.

EISC

M
aquinas de Turing

Observaci
on 10
La MT construida siempre parar
a con todas las cadenas de entrada.
Teorema 4
Todo LIC es un lenguaje recursivo.
Teorema 5
Si L1 y L2 son lenguajes recursivos, entonces
L1 L2 tambi
en lo es.
Observaci
on 11
Existen lenguajes recursivos que no son
lenguajes independientes de contexto. Por
ejemplo podemos verque la intersecci
on
de dos LICs nos dio {aibici : i 0} y no es
LIC.

EISC

M
aquinas de Turing

Definici
on 13
Una gram
atica G = (, N, S, P ) es una
gram
atica sensible de contexto si todas
las producciones son de la forma ,
donde , (N )+ y | || |.
Ejemplo 9

EISC

M
aquinas de Turing

Sea el lenguaje {aibici : i 1} la gram


atica
sensible del contexto:
S abc | aAbc
Ab bA
Ac Bbcc
bB aa | aaA

Lema 1
Sea G = (N, , S, P ) una gram
atica sensible del contexto. Entonces existe una
M
aquina de Turing M , que PARA sobre toda entrada y acepta L(G).
Teorema 6
Si L es un lenguaje sensible del contexto,
entonces L es recursivo.
Teorema 7

EISC

M
aquinas de Turing

1. El complemento de un lenguaje recursivo tambi


en es recursivo.

2. La uni
on de dos lenguajes RE es RE.

También podría gustarte