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

42
EISC aquinas de Turing aquinas de Turing Definici´ on 1 La M´ aquina de Turing (MT) es el mo- delo de aut´ omata com m´ axima capacidad computacional: la unidad de control puede desplazarse a izquierda o derecha y sobre- escribir s´ ımbolos en la cinta de entrada. Definici´ on 2 Una aquina de Turing (MT), M =(Q, Σ, Γ,q 0 ,T,B,δ )

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

Page 1: EISC M´aquinas de Turing - cime.cl · 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

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, δ)

Page 2: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 3: EISC M´aquinas de Turing - cime.cl · 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

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

Page 4: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 5: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 6: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 7: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 8: EISC M´aquinas de Turing - cime.cl · 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

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

Page 9: EISC M´aquinas de Turing - cime.cl · 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

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ı:

Page 10: EISC M´aquinas de Turing - cime.cl · 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

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

Page 11: EISC M´aquinas de Turing - cime.cl · 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

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}

Page 12: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 13: EISC M´aquinas de Turing - cime.cl · 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

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

Page 14: EISC M´aquinas de Turing - cime.cl · 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

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

Page 15: EISC M´aquinas de Turing - cime.cl · 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

EISC Maquinas de Turing

maquina reemplaza la cadena X, Y y

Zs reconoce la cadena vacıa y busca

el estado de aceptacion.

Page 16: EISC M´aquinas de Turing - cime.cl · 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

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

Page 17: EISC M´aquinas de Turing - cime.cl · 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

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

Page 18: EISC M´aquinas de Turing - cime.cl · 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

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)

Page 19: EISC M´aquinas de Turing - cime.cl · 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

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

Page 20: EISC M´aquinas de Turing - cime.cl · 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

EISC Maquinas de Turing

El siguiente MT genera cadenas con

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

Page 21: EISC M´aquinas de Turing - cime.cl · 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

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

Page 22: EISC M´aquinas de Turing - cime.cl · 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

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)

Page 23: EISC M´aquinas de Turing - cime.cl · 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

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”

Page 24: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 25: EISC M´aquinas de Turing - cime.cl · 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

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

Page 26: EISC M´aquinas de Turing - cime.cl · 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

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))

Page 27: EISC M´aquinas de Turing - cime.cl · 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

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)

Page 28: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 29: EISC M´aquinas de Turing - cime.cl · 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

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 .

Page 30: EISC M´aquinas de Turing - cime.cl · 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

EISC Maquinas de Turing

Page 31: EISC M´aquinas de Turing - cime.cl · 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

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

Page 32: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 33: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 34: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 35: EISC M´aquinas de Turing - cime.cl · 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

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

Page 36: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 37: EISC M´aquinas de Turing - cime.cl · 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

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

Page 38: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 39: EISC M´aquinas de Turing - cime.cl · 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

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.

Page 40: EISC M´aquinas de Turing - cime.cl · 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

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

Page 41: EISC M´aquinas de Turing - cime.cl · 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

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

Page 42: EISC M´aquinas de Turing - cime.cl · 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

EISC Maquinas de Turing

1. El complemento de un lenguaje recur-

sivo tambien es recursivo.

2. La union de dos lenguajes RE es RE.