Está en la página 1de 42

EISC

Mquinas de Turing a

Mquinas de Turing a

Denicin 1 o La Mquina de Turing (MT) es el moa delo de autmata com mxima capacidad o a computacional: la unidad de control puede desplazarse a izquierda o derecha y sobreescribir s mbolos en la cinta de entrada.

Denicin 2 o Una Mquina de Turing (MT), a M = (Q, , , q0, T, B, )

EISC

Mquinas de Turing a

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 aqullas que contienen los s e mbolos de entrada.

6. T Q conjunto de estados nales.

EISC

Mquinas de Turing a

7. es la funcin de transicin tal que: o o : Q Q {I, D} (q, X) = (p, Y, {I, D}) es una funcin parcial, es decir, No o puede estar denida en algunos elementos del dominio. Denicin 3 o (Funcin parcial) Una funcin f , o o f : A B se dice que es una funcin o 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.) Observacin 1 o

Una MT procesa una entrada w colocadas sobre una cinta innita en ambas direcciones. Para procesar la

EISC

Mquinas de Turing a

cadena w, la unidad de control de M est en el estado inicial q0 escanendo a el primer s mbolo de w. Las dems caa sillas de la cinta contienen el s mbolo en blanco B.

Una descripcin instantnea, es una o a expresin de la forma: o a1a2 . . . ai1qai . . . an donde los s mbolos a1, . . . , an y q Q

Esta descripcin instantnea a1a2 . . . ai1qai . . . o a indica que la unidad de control de M est en el estado q escanendo el s a mbolo ai.

EISC

Mquinas de Turing a

Una transicin (q, B) = (p, s, D) en o una MT requiere que el s mbolo este escrito en la casilla escaneada, adems a la unidad de control sobre-escribe el blanco B sobre s y realiza un desplazamiento D.

EISC

Mquinas de Turing a

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

1. El cmputo termina por que en deo terminado momento no hay transicin o denida.

2. El cmputo no termina; esto es lo que o se denomina un bucle innito. Esta situacin se representa as o : w1qw2 que indica que el cmputo que se inio cia en w1qw2 no se detiene nunca.

EISC

Mquinas de Turing a

Lenguaje aceptado por una MT Una cadena de entrada w es aceptada por una MT M si el cmputo que se indica la o conguracin inicial q0w termina en una o conguracin instantnea w1pw2, p es un o a estado de aceptacin, en la cual M se o 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 mquina M pertenece a L(M ), a la mquina M siempre se detiene. a Denicin 4 o Las mquinas de Turing originan las sia guientes clases de lenguajes:

1. L es un lenguaje recursivamente enumerable (RE) si existe una MT M tal que L(M ) = L.

EISC

Mquinas de Turing a

Denicin 5 o Sea M una mquina de Turing; se dice a 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. Denicin 6 o

EISC

Mquinas de Turing a

Se dice que L es un lenguaje recursivo si existe al menos una mquina de Tua ring M , tal que L = L(M ) y x L, M se DETIENE en q T , x L, M se DETIENE en q T / /

Observacin 2 o Todo lenguaje recursivo es recursivamente enumerable, pero la armacin rec o proca no es (en general) vlida. a Denicin 7 o Un diagrama de transicin est formado o a por un conjunto de nodos que corresponden a los estados de la MT. la transicin o (q, a) = (p, b, D) se representa as :

EISC

Mquinas de Turing a

Denicin 8 o El control nito estacionario es una transicin que tiene la forma: o (q, a) = (p, b, N ) donde a, b y N representa un Nodesplazamiento. Observacin 3 o Los MT con transiciones estacionarias (q, a) = (p, b, N ), aceptan los mismos lenguajes que los MT estndares. La directiva N tama bien se puede simular con un movimiento a la izquierda, seguido de un retorno a la derecha. Ejemplo 1

EISC

Mquinas de Turing a

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 mquina para en el estado a q1 y reconoce la cadena.

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

EISC

Mquinas de Turing a

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 slo queden Xs y Y s. o

EISC

Mquinas de Turing a

La funcin se dene as o : (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 q2X0Y 1 XXY q11 XXq0Y Y XXY Y q3B X0q111 Xq00Y 1 XXq2Y Y XXY q3Y XXY Y Bq4B Xq20Y 1 XXq1Y 1 Xq2XY Y

EISC

Mquinas de Turing a

la MT para por que qued en un estado o de aceptacin y la cadena es reconocida. o 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

Mquinas de Turing a

mquina reemplaza la cadena X, Y y a Zs reconoce la cadena vac y busca a el estado de aceptacin. o

EISC

Mquinas de Turing a

MT como calculadora de funciones Como las mquinas de Turing pueden transa formar cadenas de entradas, tambin se e utilizan como mecanismos para calcular funciones. Denicin 9 o Formalmente una MT M = (Q, , , q0, T, B, ) calcula una funcin o 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 aceptacin, el estado qf es llamado estado o nal se usa para terminar el proceso de la entrada y producir la salida. Ejemplo 4

EISC

Mquinas de Turing a

Supongamos que tenemos = {a, b} y que representamos los enteros positivos mediante cadenas slo de as. As el enteo ro n estar representado por an. Se puea de construir la MT que calcule la funcin o f (n, m) = n + m, implementando la transformacin anbam en an+mb. o Solucin. Se recorren desde la izquierda o todas las as hasta encontrar una b, sta e 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

Mquinas de Turing a

funcin se dene as o : (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

Mquinas de Turing a

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

Mquinas de Turing a

El siguiente MT genera cadenas con un nmero par de aes sobre = {a}, u L = {a2i : i 0}

EISC

Mquinas de Turing a

Tcnicas para la construccin de MT e o Existen tcnicas que facilitan la construce cin de MT, pero no afectan la potencia o computacional del modelo ya que siempre se puede simular la solucin obtenida o mediante el modelo estndar. a Almacenamiento en el control nito Se puede utilizar el estado de control para almacenar una cantidad nita de informacin. o ([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 informacin que se pretende almacenar, adems o a , Ejemplo 6

EISC

Mquinas de Turing a

Construir una MT que reconozca: L = 01 + 10 Para la mquina M = (Q, , , q0, T, B, ): a Q = {q0, q1} {0, 1, B} Estado inicial [q0, B] Estado nal [q1, B] La funcin de transicin esta dad por: o o ([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

Mquinas de Turing a

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

Habr estados de llamados a subrutinaqll a caracterizados por que suponen la transicin al estado inicial de una subruo tina

EISC

Mquinas de Turing a

El estado nal de la subrutina ser reala mente un estado de salida que permite transitar hacia un estado de return en la MT principal.

Observacin 4 o Para obtener una MT estndar, bastar a a con reescribir todas las funciones de transicin como una nica funcin de transio u o cin ms grande. o a

EISC

Mquinas de Turing a

Mquinas de Turing Modicadas a Hay ciertos modelos de computacin reo lacionados con las mquinas de Turing, a que poseen el mismo potencial como reconocedores de lenguajes que el modelo bsico. a Mquina de Turing Multicinta a En el modelo de multicintas, hay n cintas diferentes y n cabezas de L/E. La funcin o de transicin para mquinas de Turing con o a n cintas: : Q n Q n {D, I, N }n

EISC

Mquinas de Turing a

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 funcin de transicin es la siguieno o te, 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

Mquinas de Turing a

Mquina de Turing Multipista a En el modelo multipista, la cinta est dia vidida en un nmero nito de k pistas, u la funcin de transicin tiene la siguiente o o 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 transicin: o

(q0, ) =

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

EISC

Mquinas de Turing a

Teorema 1 El lenguaje L es reconocido por una MT multicinta L es reconocido por una mquia na 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 ser a la cinta de la cadena de entrada.

2. ) Si L es reconocido por una MT multicinta entonces L es reconocido por una mquina a 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

Mquinas de Turing a

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 informacin de las dos cintas. Las o 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 simulacin de los cabezales o de M .

EISC

Mquinas de Turing a

EISC

Mquinas de Turing a

Mquina de Turing no deterministas a Se diferencia de las MT deterministas por la funcin , que para cada caso q y para o cada s mbolo de cinta X: (q, X) = {(q1, Y1, S1), (q2, Y2, S2), . . . (qk , Yk , Sk )} para cualquier k entero postivo nito. Observacin 5 o Ambos modelos tienen el mismo poder computacional. Teorema 2 El lenguaje L es reconocido por una Mquina a de Turing No Determinista L es reconocido por una mquina de Turing Determinista. a Observacin 6 o

EISC

Mquinas de Turing a

Ambos modelos tienen el mismo poder computacional.

1. ) Si L es reconocido por una MTD entonces L es reconocido por una Mquina de Turing a No Determinista. las MTD son mquinas de Turing No a Deterministas en las que hay una transicin por cada estado/s o mbolo.

2. ) Si L es reconocido por una Mquia na de Turing NO determinista entonces L es reconocido por una Mquina a de Turing Determinista. Podemos simular una MTND con una MT determinsta de tres cintas: a) Se obtiene un n que es el nmeu ro mximo de opciones asociada a a cada transicin. o b) En la primera cinta va la cadena de entrada.

EISC

Mquinas de Turing a

c) En la segunda cinta se generan las cadenas sobre el alfabeto {1, 2, . . . , n} por orden numrico. e 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 lexicogrco. a

EISC

Mquinas de Turing a

d) En la tercera cinta se realiza la simulacin, cada vez que se geneo ra una secuencia en la cinta 2, se copia la cadena de entrada en la cinta 3 y simula computacin del o 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 conguracin o cuando no sirva. Si la cadena es reconocida en el MTND tambin es e reconocida en el MTD multicinta. Ejemplo 8 Sea el siguiente MT no determin stico.

EISC

Mquinas de Turing a

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 derivacin: o q0 a aq1B aBq2B

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

llegar a una transicin no existente. a o Entonces hay una probabilidad que una de las secuencias de la cinta 2 que reconoce la cadena a sea: 1,1,1

EISC

Mquinas de Turing a

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 transicin o (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 transicin (q0, a) = (q1, B, D), o es decir se realiza la transicin 1. o

EISC

Mquinas de Turing a

Simulacin de Autmatas por medio de MT o o Los autmatas (AFD,AFN o AFN- ) y los o autmatas de pila (AFDP o AFPN) se o pueden simular con mquinas de Turing. a Denicin 10 o Dado un autmata M se puede construir o una MT que acepte el mismo lenguaje que M. Observacin 7 o Las simulaciones de autmatas por medio o de MT permiten concluir que los lenguajes regulares y los lenguajes independientes de contexto son recursivos. Denicin 11 o

EISC

Mquinas de Turing a

Dado un AFD M = (Q, , q0, T, ) se puede construir una MT M tal que L(M ) = L(M ). Observacin 8 o La MT M as construida se detiene ante cualquier entrada w. Teorema 3 Todo lenguaje regular es recursivo. Denicin 12 o Un autmata de pila M se puede convertir o en una MT M tal que L(M ) = L(M ). Observacin 9 o La MT ser determinista o no determia nista segn si es un AFDP o un AFDN. u

EISC

Mquinas de Turing a

Observacin 10 o La MT construida siempre parar con toa das las cadenas de entrada. Teorema 4 Todo LIC es un lenguaje recursivo. Teorema 5 Si L1 y L2 son lenguajes recursivos, entonces L1 L2 tambin lo es. e Observacin 11 o Existen lenguajes recursivos que no son lenguajes independientes de contexto. Por ejemplo podemos verque la interseccin o de dos LICs nos dio {aibici : i 0} y no es LIC.

EISC

Mquinas de Turing a

Denicin 13 o Una gramtica G = (, N, S, P ) es una a gramtica sensible de contexto si todas a las producciones son de la forma , donde , (N )+ y | || |. Ejemplo 9

EISC

Mquinas de Turing a

Sea el lenguaje {aibici : i 1} la gramtica a sensible del contexto: S abc | aAbc Ab bA Ac Bbcc bB aa | aaA

Lema 1 Sea G = (N, , S, P ) una gramtica sena sible del contexto. Entonces existe una Mquina de Turing M , que PARA sobre toa da entrada y acepta L(G). Teorema 6 Si L es un lenguaje sensible del contexto, entonces L es recursivo. Teorema 7

EISC

Mquinas de Turing a

1. El complemento de un lenguaje recursivo tambin es recursivo. e

2. La unin de dos lenguajes RE es RE. o

También podría gustarte