Está en la página 1de 42

EISC

M aquinas de Turing

M aquinas de Turing

Denici 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 s mbolos en la cinta de entrada.

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

EISC

M aquinas de Turing

donde:

1. Q es un conjunto nito 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 s mbolo blanco (el s mbolo B no puede hacer parte de ) aparece en todas las casillas excepto en aqu ellas que contienen los s mbolos de entrada.

6. T Q conjunto de estados nales.

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 denida en algunos elementos del dominio. Denici on 3 (Funci on parcial) Una funci on f , f : A B se dice que es una funci on parcial si C A, C = , tal que x C, f (x) ( existe un subconjunto no vac o de A en el que todos los elementos tienen imagen calculable.) Observaci on 1

Una MT procesa una entrada w colocadas sobre una cinta innita 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 s mbolo de w. Las dem as casillas de la cinta contienen el s mbolo en blanco B .

Una descripci on instant anea, es una expresi on de la forma: a1a2 . . . ai1qai . . . an donde los s mbolos 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 s mbolo ai.

EISC

M aquinas de Turing

Una transici on (q, B ) = (p, s, D) en una MT requiere que el s mbolo 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 denida.

2. El c omputo no termina; esto es lo que se denomina un bucle innito. 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 conguraci on inicial q0w termina en una conguraci 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 dene 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. Denici 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

Denici 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. Denici 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 armaci on rec proca no es (en general) v alida. Denici 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

Denici on 8 El control nito 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 = {q 0 , q 1 }, T = {q 1 } (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 dene 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 q 2 X 0Y 1 XXY q11 XXq0Y Y XXY Y q3B X 0q111 Xq00Y 1 XXq2Y Y XXY q3Y XXY Y Bq4B Xq20Y 1 XXq1Y 1 Xq2XY Y

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 a s 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 vac a 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. Denici 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 nal 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 estar a 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 nal q3. Para M = (Q, , , q0, q3, B, ) donde la

EISC

M aquinas de Turing

funci on se dene 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 nales 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 = { a 2i : 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 nito Se puede utilizar el estado de control para almacenar una cantidad nita 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 = { q 0 , q 1 } { 0, 1, B } Estado inicial [q0, B ] Estado nal [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 nal 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, bastar a 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 Modicadas 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 nito 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 d gitos se va de la parte izquierda a la derecha con la siguiente transici on:

(q 0 , ) =

(q0, , D) si = (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, podr a 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 s mbolo de cinta X : (q, X ) = {(q1, Y1, S1), (q2, Y2, S2), . . . (qk , Yk , Sk )} para cualquier k entero postivo nito. 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/s mbolo.

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 nal todas las cadenas de todas las longitudes deben ir en la cinta 2 en orden lexicogr aco.

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 conguraci 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 determin stico.

EISC

M aquinas de Turing

1 1

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


1

(q1, B ) = {(q2, B, D)} si se va ha reconocer la cadena la MTND hace esta derivaci on: q0 a aq1B aBq2B

y la cadena es reconocida pero si se va por el otro camino q0 a aq0B

llegar a 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 ser an: (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 ) signica 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. Denici 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. Denici on 11

EISC

M aquinas de Turing

Dado un AFD M = (Q, , q0, T, ) se puede construir una MT M tal que L(M ) = L(M ). Observaci on 8 La MT M as construida se detiene ante cualquier entrada w. Teorema 3 Todo lenguaje regular es recursivo. Denici on 12 Un aut omata de pila M se puede convertir en una MT M tal que L(M ) = L(M ). 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

Denici 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