EISC M´aquinas de Turing - cime.cl · L es un lenguaje recursivamente enumerable (RE) si existe...

Post on 07-May-2018

234 views 3 download

Transcript of EISC M´aquinas de Turing - cime.cl · L es un lenguaje recursivamente enumerable (RE) si existe...

EISC Maquinas de Turing

Maquinas de Turing

Definicion 1

La Maquina de Turing (MT) es el mo-

delo de automata com maxima capacidad

computacional: la unidad de control puede

desplazarse a izquierda o derecha y sobre-

escribir sımbolos en la cinta de entrada.

Definicion 2

Una Maquina de Turing (MT),

M = (Q,Σ,Γ, q0, T, B, δ)

EISC Maquinas 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 sımbolo blanco (el sımbo-

lo B no puede hacer parte de Σ) apa-

rece en todas las casillas excepto en

aquellas que contienen los sımbolos de

entrada.

6. T ⊆ Q conjunto de estados finales.

EISC Maquinas de Turing

7. δ es la funcion de transicion tal que:

δ : Q× Γ → Q× Γ× {I, D}δ(q, X) = (p, Y, {I, D})

δ es una funcion parcial, es decir, No

puede estar definida en algunos ele-

mentos del dominio.

Definicion 3

(Funcion parcial) Una funcion f ,

f : A → B se dice que es una funcion

parcial si ∃C ⊆ A, C 6= ∅, tal que ∀x ∈C, ∃f(x) ( existe un subconjunto no vacıo

de A en el que todos los elementos tienen

imagen calculable.)

Observacion 1

Una MT procesa una entrada w ∈ Σ∗

colocadas sobre una cinta infinita en

ambas direcciones. Para procesar la

EISC Maquinas de Turing

cadena w, la unidad de control de M

esta en el estado inicial q0 escanendo

el primer sımbolo de w. Las demas ca-

sillas de la cinta contienen el sımbolo

en blanco B.

Una descripcion instantanea, es una

expresion de la forma:

a1a2 . . . ai−1qai . . . an

donde los sımbolos a1, . . . , an ∈ Γ y q ∈Q

Esta descripcion instantanea a1a2 . . . ai−1qai . . . an

indica que la unidad de control de M

esta en el estado q escanendo el sımbo-

lo ai.

EISC Maquinas de Turing

Una transicion δ(q, B) = (p, s, D) en

una MT requiere que el sımbolo este

escrito en la casilla escaneada, ademas

la unidad de control sobre-escribe el

blanco B sobre s y realiza un despla-

zamiento D.

EISC Maquinas de Turing

Computos especiales

Durante el computo o procesamiento de

la palabra de entrada, hay dos situaciones

especiales que se pueden presentar:

1. El computo termina por que en de-

terminado momento no hay transicion

definida.

2. El computo no termina; esto es lo que

se denomina un bucle infinito. Esta si-

tuacion se representa ası:

w1qw2 `∗ ∞

que indica que el computo que se ini-

cia en w1qw2 no se detiene nunca.

EISC Maquinas de Turing

Lenguaje aceptado por una MT

Una cadena de entrada w es aceptada poruna MT M si el computo que se indica laconfiguracion inicial q0w termina en unaconfiguracion instantanea w1pw2, p es unestado de aceptacion, en la cual M sedetiene 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 entra-da en una maquina M pertenece a L(M),la maquina M siempre se detiene.

Definicion 4

Las maquinas de Turing originan las si-guientes clases de lenguajes:

1. L es un lenguaje recursivamente enumerable

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

EISC Maquinas de Turing

Definicion 5

Sea M una maquina de Turing; se dice

que L = L(M) es un lenguaje recursi-

vamente 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.

Definicion 6

EISC Maquinas de Turing

Se dice que L es un lenguaje recursivo

si existe al menos una maquina de Tu-ring M , tal que L = L(M) y

∀x ∈ L, M se DETIENE en q ∈ T ,

∀x /∈ L, M se DETIENE en q /∈ T

Observacion 2

Todo lenguaje recursivo es recursivamenteenumerable, pero la afirmacion recıprocano es (en general) valida.

Definicion 7

Un diagrama de transicion esta formadopor un conjunto de nodos que correspon-den a los estados de la MT. la transicionδ(q, a) = (p, b, D) se representa ası:

EISC Maquinas de Turing

Definicion 8

El control finito estacionario es una tran-

sicion que tiene la forma:

δ(q, a) = (p, b, N)

donde a, b ∈ Γ y N representa un No-

desplazamiento.

Observacion 3

Los MT con transiciones estacionarias δ(q, a) =

(p, b, N), aceptan los mismos lenguajes que

los MT estandares. La directiva N tam-

bien se puede simular con un movimiento

a la izquierda, seguido de un retorno a la

derecha.

Ejemplo 1

EISC Maquinas de Turing

Se puede construir una MT que reconoz-

ca 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 maquina para en el estado

q1 y reconoce la cadena.

Ejemplo 2

Se puede disenar un MT que reconozca

{0n1n : n ≥ 1}

EISC Maquinas 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

solo queden Xs y Y s.

EISC Maquinas de Turing

La funcion δ 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 Maquinas de Turing

la MT para por que quedo en un estado

de aceptacion 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 encuen-

tra la primera c y la cambia por Z y se

mueve a la izquierda.

2. Luego se mueva a la izquierda pasan-

do por encima de bs, Y s, as, hasta en-

contrar la X la reemplaza por una X

y repite el proceso anterior, cuando la

EISC Maquinas de Turing

maquina reemplaza la cadena X, Y y

Zs reconoce la cadena vacıa y busca

el estado de aceptacion.

EISC Maquinas de Turing

MT como calculadora de funciones

Como las maquinas de Turing pueden trans-

formar cadenas de entradas, tambien se

utilizan como mecanismos para calcular

funciones.

Definicion 9

Formalmente una MT M = (Q,Σ,Γ, q0, T, B, δ)

calcula una funcion

f : Σ∗ → Γ∗ (parcial o total)

si para una entrada w se tiene:

q0w `∗ qfv, donde v = f(w)

El modelo de MT no utiliza estado de

aceptacion, el estado qf es llamado estado

final se usa para terminar el proceso de la

entrada y producir la salida.

Ejemplo 4

EISC Maquinas de Turing

Supongamos que tenemos Σ = {a, b} y

que representamos los enteros positivos

mediante cadenas solo de as. Ası el ente-

ro n estarıa representado por an. Se pue-

de construir la MT que calcule la funcion

f(n, m) = n+m, implementando la trans-

formacion anbam en an+mb.

Solucion. Se recorren desde la izquierda

todas las as hasta encontrar una b, esta

se reemplaza por una a, cambiando de es-

tado, en este mismo estado se recorren

todas las as a la derecha y cuando se lle-

ga 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 res-

tarle 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 Maquinas de Turing

funcion δ 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 Maquinas 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. Con-

cretamente 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 ini-

cial q0, hay una cadena u ∈ L escrita

sobre la cinta.

3. Todas las cadenas de L son, eventual-

mente, generadas por M .

Ejemplo 5

EISC Maquinas de Turing

El siguiente MT genera cadenas con

un numero par de aes sobre Σ = {a},L = {a2i : i ≥ 0}

EISC Maquinas de Turing

Tecnicas para la construccion de MT

Existen tecnicas que facilitan la construc-

cion de MT, pero no afectan la potencia

computacional del modelo ya que siem-

pre se puede simular la solucion obtenida

mediante el modelo estandar.

Almacenamiento en el control finito

Se puede utilizar el estado de control para

almacenar una cantidad finita de informa-

cion.

δ([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 informa-

cion que se pretende almacenar, ademas

σ, β ∈ Γ

Ejemplo 6

EISC Maquinas de Turing

Construir una MT que reconozca:

L = 01∗ + 10∗

Para la maquina M = (Q,Σ,Γ, q0, T, B, δ):

Q = {q0, q1} × {0,1, B}Estado inicial [q0, B]

Estado final [q1, B]

La funcion de transicion δ 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 Maquinas de Turing

Uso de subrutinas

Es la misma idea cuando se trabaja en un

lenguaje de alto nivel, aprovechar las ven-

tajas del diseno modular para facilitar el

diseno de la MT.

En una tabla de transicion se resuelve el

problema de llamados:

Habra estados de ”llamados a subrutina”qll

caracterizados por que suponen la tran-

sicion al estado inicial de una ”subru-

tina”

EISC Maquinas de Turing

El estado final de la subrutina sera real-mente un estado de salida que permitetransitar hacia un estado de return enla MT ”principal”.

Observacion 4

Para obtener una MT estandar, bastarıacon reescribir todas las funciones de tran-sicion como una unica funcion de transi-cion mas grande.

EISC Maquinas de Turing

Maquinas de Turing Modificadas

Hay ciertos modelos de computacion re-lacionados con las maquinas de Turing,que poseen el mismo potencial como re-conocedores de lenguajes que el modelobasico.

Maquina de Turing Multicinta

En el modelo de multicintas, hay n cintasdiferentes y n cabezas de L/E. La funcionde transicion para maquinas de Turing conn cintas:

δ : Q× Γn → Q× Γn × {D, I, N}n

EISC Maquinas de Turing

Ejemplo 7

La MT de dos cintas que reconoce el len-guaje:

L = {aibici : i ≥ 0}Se coloca la cadena de entrada en la pri-mera cinta, la idea es copiar en la segundacinta una X por cada a y cuando encuen-tre la primera b, se detiene en la primeacinta, luego se avanza a la derecha en laprimera cinta y se avanza a la izquierdaen la segunda cinta, cuando encuentra laprimera c las dos cintas avanzan hacia laderecha.

La funcion de transicion δ es la siguien-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 Maquinas de Turing

Maquina de Turing Multipista

En el modelo multipista, la cinta esta di-vidida en un numero finito de k pistas,la funcion de transicion tiene la siguienteforma:

δ : 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 es-tos dıgitos se va de la parte izquierda a laderecha con la siguiente transicion:

δ(q0, σ) =

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

EISC Maquinas de Turing

Teorema 1

El lenguaje L es reconocido por una MT

multicinta⇔ L es reconocido por una maqui-

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ıa ser

la cinta de la cadena de entrada.

2. ⇒) Si L es reconocido por una MT multicinta

entonces L es reconocido por una maquina

de Turing de una sola cinta.

Se supone que la MT M dispone de k

cintas, acepta el lenguaje L, y simula-

mos M mediante una MT N de una

sola cinta, soponiendo 2k pistas.

EISC Maquinas 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

informacion 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 simulacion de los cabezales

de M .

EISC Maquinas de Turing

EISC Maquinas de Turing

Maquina de Turing no deterministas

Se diferencia de las MT deterministas por

la funcion δ, 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 finito.

Observacion 5

Ambos modelos tienen el mismo poder

computacional.

Teorema 2

El lenguaje L es reconocido por una Maquina

de Turing

No Determinista ⇔ L es reconocido por una

maquina de Turing Determinista.

Observacion 6

EISC Maquinas de Turing

Ambos modelos tienen el mismo poder

computacional.

1. ⇐) Si L es reconocido por una MTD entonces

L es reconocido por una Maquina de Turing

No Determinista.

las MTD son maquinas de Turing No

Deterministas en las que hay una tran-

sicion por cada estado/sımbolo.

2. ⇒) Si L es reconocido por una Maqui-

na de Turing NO determinista enton-

ces L es reconocido por una Maquina

de Turing Determinista.

Podemos simular una MTND con una

MT determinsta de tres cintas:

a) Se obtiene un n que es el nume-

ro maximo de opciones asociada a

cada transicion.

b) En la primera cinta va la cadena de

entrada.

EISC Maquinas de Turing

c) En la segunda cinta se generan las

cadenas sobre el alfabeto {1,2, . . . , n}por orden numerico.

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 lexicografico.

EISC Maquinas de Turing

d) En la tercera cinta se realiza la si-mulacion, cada vez que se gene-ra una secuencia en la cinta 2, secopia la cadena de entrada en lacinta 3 y simula computacion delMTND.δ(q, (a,1, B)) = (p, (a,1, a), (D, D, D))

e) La MTD prueba todas las combi-naciones de la cinta dos, empezan-do cada vez que una configuracioncuando no sirva. Si la cadena es re-conocida en el MTND tambien esreconocida en el MTD multicinta.

Ejemplo 8

Sea el siguiente MT no determinıstico.

EISC Maquinas de Turing

δ(q0, a) = {1︷ ︸︸ ︷

(q0, a, D),

2︷ ︸︸ ︷(q1, a, D)}

δ(q1, b) = {1︷ ︸︸ ︷

(q1, b, D)}

δ(q1, B) = {1︷ ︸︸ ︷

(q2, B, D)}

si se va ha reconocer la cadena la MTND

hace esta derivacion:

q0a ` aq1B ` aBq2B

y la cadena es reconocida pero si se va

por el otro camino

q0a ` aq0B

llegarıa a una transicion 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 Maquinas 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 transicion

δ(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 transicion δ(q0, a) = (q1, B, D),

es decir se realiza la transicion 1.

EISC Maquinas de Turing

Simulacion de Automatas por medio de MT

Los automatas (AFD,AFN o AFN-ε) y los

automatas de pila (AFDP o AFPN) se

pueden simular con maquinas de Turing.

Definicion 10

Dado un automata M se puede construir

una MT que acepte el mismo lenguaje que

M .

Observacion 7

Las simulaciones de automatas por medio

de MT permiten concluir que los lenguajes

regulares y los lenguajes independientes de

contexto son recursivos.

Definicion 11

EISC Maquinas de Turing

Dado un AFD M = (Q,Σ, q0, T, δ) se pue-

de construir una MT M ′ tal que L(M) =

L(M ′).

Observacion 8

La MT M ′ ası construida se detiene ante

cualquier entrada w.

Teorema 3

Todo lenguaje regular es recursivo.

Definicion 12

Un automata de pila M se puede convertir

en una MT M ′ tal que L(M) = L(M ′).

Observacion 9

La MT sera determinista o no determi-

nista segun si es un AFDP o un AFDN.

EISC Maquinas de Turing

Observacion 10

La MT construida siempre parara con to-

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 tambien lo es.

Observacion 11

Existen lenguajes recursivos que no son

lenguajes independientes de contexto. Por

ejemplo podemos verque la interseccion

de dos LICs nos dio {aibici : i ≥ 0} y no es

LIC.

EISC Maquinas de Turing

Definicion 13

Una gramatica G = (Σ, N, S, P ) es una

gramatica sensible de contexto si todas

las producciones son de la forma α → β,

donde α, β ∈ (N ∪Σ)+ y | α |≤| β |.

Ejemplo 9

EISC Maquinas de Turing

Sea el lenguaje {aibici : i ≥ 1} la gramatica

sensible del contexto:

S → abc | aAbc

Ab → bA

Ac → Bbcc

bB → aa | aaA

Lema 1

Sea G = (N,Σ, S, P ) una gramatica sen-

sible del contexto. Entonces existe una

Maquina de Turing M , que PARA sobre to-

da entrada y acepta L(G).

Teorema 6

Si L es un lenguaje sensible del contexto,

entonces L es recursivo.

Teorema 7

EISC Maquinas de Turing

1. El complemento de un lenguaje recur-

sivo tambien es recursivo.

2. La union de dos lenguajes RE es RE.