máquinas de turing o máquinas con cola

51
Máquinas de Turing o máquinas con cola We can only see a short distance ahead, but we can see plenty there that needs to be done.— Alan Turing Ivan Meza

Upload: ivan-vladimir-meza-ruiz

Post on 26-Jan-2017

24 views

Category:

Education


2 download

TRANSCRIPT

Máquinas de Turing o máquinascon cola

We can only see a short distance ahead, but we can see plenty there that needs to be done.—Alan Turing

Ivan Meza

Jerarquía de ChomskyLenguaje Gramática Máquina Ejemplo

Dependiente delcontexto

Tipo 1 ( )

Autómatalineal confronteras

Independientedel contexto

Tipo 2 ( )

Autómata depila

Regular Tipo 3 ( )

Autómatafinito

αV β → αγβww, anbncn

V → αw ,wr anbn

V → aA|ϵw, a∗

AF, AFNDAFND-ɛ

L

Verdadero

Falso

R

LLCAP, APD

ALFLDC

Máquinas de TuringEs una tupla (Q, Σ, Γ, , B, A, δ)q0

conjunto finito de estados alfabeto de cadenas reconocidas alfabeto de cinta, estado inicial Símbolo de espacio en blanco pero estados finales

función de transición

QΣΓ Σ ⊂ Γq0B B ∈ Γ B ∉ ΣAδ Q × Γ → Q × Γ × {der, izq}

La cintaInfinitaTodo lo que no es entrada tiene un símbolo

El principio de la cinta es la posición

B[… , B, B, a, a, b, b, B, B, …]

0

Autómata lineal con fronteraEs una tupla (Q, Σ, Γ, , B, A, δ)q0

conjunto finito de estados alfabeto de cadenas reconocidas alfabeto de cinta, estado inicial Símbolo de espacio en blanco pero estados finales

función de transición

QΣΓ Σ ⊂ Γq0B B ∈ Γ B ∉ ΣAδQ × Γ ∪ {<, >} → Q × Γ ∪ {<, >} × {der, izq}

MT con cinta �nita

Algoritmos interesantes cuyo requerimiento de memoriacrece linearlmente con la entrada

Ejemploa b X Y B

q0 ( , X, R)q1 ( , Y , R)q3

q1 ( , a, R)q1 ( , Y , L)q2 ( , Y , R)q1

q2 ( , a, l)q2 ( , X, R)q0 ( , Y , L)q2

q3 ( , Y , R)q3 ( , B, R)q4

q4

¿Problema, cómo especi�car la con�guración?

AF Estado y símbolo de cadenaAP Estado, símbolo de cadena, símbolo pilaAPDo Estado, símbolo de cadena, símbolo pila uno y símbolo pilados

¡Cinta!

Recordandoa b X Y B

q0 ( , X, R)q1 ( , Y , R)q3

q1 ( , a, R)q1 ( , Y , L)q2 ( , Y , R)q1

q2 ( , a, l)q2 ( , X, R)q0 ( , Y , L)q2

q3 ( , Y , R)q3 ( , B, R)q4

q4

Descripción instantáneasδ(q, ) = (p, Y , L)Xi

excepción

,,

… q … ⊢ … p Y …X1X2 Xi−1 XiXi+1 Xn X1X2 Xi−2 Xi−1 Xi+1

i = 1 q … ⊢ pBY …X1X2 Xn X2 Xn

i = n, Y = B … q ⊢ B … pX1X2 Xn−1 Xn X1X2 Xn−1

Descripción instantáneasδ(q, ) = (p, Y , R)Xi

excepción

,,

… q … ⊢ … Y p …X1X2 Xi−1 XiXi+1 Xn X1X2 Xi−1 Xi+1 Xn

i = n … q ⊢ … Y pBX1X2 Xn X1X2i = 1, Y = B q … ⊢ p …X1X2 Xn X2 Xn−1

aabbq0⊢ X abbq1⊢ Xa bbq1⊢ X aY bq2⊢ XaY bq2⊢ X aY bq0⊢ XX Y bq0⊢ XXY bq1⊢ XX Y Yq2⊢ X XY Yq2⊢ XX Y Yq0⊢ XXY Yq3⊢ XXY Y q3⊢ XXY Y B Bq4

El lenguaje aceptado por unamáquina de TuringL(T ) = {w ∈ | w αpβ, p ∈ A}Σ∗ q0 ⊢∗

A los lenguajes aceptados por las MT se les conoce comoLenguajes Recursivos Enumerables

q₀ q₁ q₂

q₃ q₄

a/X,Rb/Y,L

Y/Y,R

Y/Y,L

B/B,R

Y/Y,R

Y/Y,R

X/X,R

a/a,R

b/b,L

1110

q1 q2 q3

q4 q5

1/X,R B/1,L

1/1,R

1/1,L

0/0,R

0/0,L

X/1,L

X/X,R

0/0,R

0/0,L

1101110

q₀

q₆ q₁ q₅ q₇ q₈

q₉

q10q11q12

1/B,R

0/0,R 1/1,L 0/0,L

1/1,L

B/B,R

B/B,R

0/B,R0/B,L

1/B,R

1/1,R

1/1,L

copia

Relación entre máquinasSabemos qué es más poderosa que ALF, la cinta no tiene límiteSabemos qué es diferente a AP* y AF*Esta sesión y la siguiente definiremos el poder de la MT

APD para un MTSimular un MT con un APDSimular un APD con una MT

Una APD para una MTUsamos la pila para presentar lo que está a la izquierda o derechade la descripción instantánea

produce las cintas

Movimientos son equivalentes a un pop en una pila y un push en laotra, en el proceso se re-escribe

… q …X1 Xn Xn+1 Xk

… ] [ …Xn X1 Xk Xn+1

Una MT para un APDSe define un marcador para una pila a la izquiera de la cienta, y unsegunda a la derechaSe definen funciones que permitan posicionar en los marcadores yhacer push y pops sobre la pila

Autómata de doble pila*Es una tupla (Q, Σ, Γ, , , A, δ)q0 Z0

conjunto finito de estados alfabeto de cadenas reconocidas alfabeto de pila estado inicial símbolo inicial de la pila

estados finales función de transición

QΣΓq0Z0Aδ Q × (Σ ∪ {ϵ}) × Γ × Γ → Q × ×Γ∗ Γ∗

Un AFND- + dos pilasϵ

A partir de ahora, todo lo que de�namos para MT se aplica a APD

MT varias cintasUna con varias cintas MT MkT

Para toda existe una equivalente L( )MkT L( )MT

Construir una que simule a MT MkT

MT no determinísticoLa función de transición regresa un conjuntoδ

Para toda existe una equivalente L(MN )DT L( )MT

Construir una que simule a MT MNDT

MT semi-infinitasLa cinta sólo existe hacia al lado derecho

[a, a, b, b, B, B, …]

Construir una que simule a semi-�nitaMT MT

Autómata con colaEs una tupla (Q, Σ, Γ, , , A, δ)q0 Z0

conjunto finito de estados alfabeto de cadenas reconocidas alfabeto de pila estado inicial símbolo inicial de la cola

estados finales función de transición

QΣΓq0Z0Aδ Q × (Σ ∪ {ϵ}) × Γ → Q × Γ∗

Un AFND- + una colaϵ

Simulando una MTProcesador: automáta �nito

Memoria y disco: cinta

Simulando una computadoraMultiples cintas: Memoria, contador de instrucción, direcciónde memoria, dispositivo de entrada, auxiliar

Automáta: para ejecutar instruccion, por instruacción

Son una tupla , donde:

Gramáticas de fraseG = (V , Σ, P , S)

es otro alfabeto que denominamos símbolos no terminales(generalmente en mayúsculas)

es un alfabeto que denominamos símbolos terminales es conjunto de reglas con la forma donde

que denominamos símbolo inicial

V

ΣP α → βα, β ∈ (Σ ∪ V )∗

S ∈ V

A partir de ahora, todo lo que de�namos para MT se aplica a , MT varias cintas, MT no deterministicos, ,

computadoras, APD AC

GF

Revisando la MTo cómo aprendí a amar eldeterminismo

AF, AFNDAFND-ɛ

L

Verdadero

Falso

R

LLCAP, APD

ALFLDC

Lenguajes aceptadosDada , ¿cúando un AF* acepta a ?w w

En el último símbolo de la cadena,Estado final un estado aceptor

¿Cúando no?

En el último símbolo de la cadena, ninguno de los estados esaceptorEn cualquier símbolo de la cadena, no hay transición

Un pequeño problema¿En qué situación no podríamos llegar a sí o no?

Que se quede trabado, ciclo infinitoTransiciones al mismo estado, AFND y AFND-No es problema, lo pasamos a AF o quitamos ciclos

ϵ ϵ

Ufff, nos salvamos de romper nuestra maquinaria: sí o no

Dada , ¿cuándo un AP* acepta a ?w w

En el último símbolo de la cadena,Estado final un estado aceptor

¿Cuándo no?

En el último símbolo de la cadena, ninguno de los estados esaceptorEn cualquier símbolo de la cadena, no hay transición

Mismo problemaQue se quede trabado, ciclo infinitoTransiciones al mismo estado, APNo todos los tienen un APD, pero podemos quitar ciclos infinitos

ϵL

Ufff, nos volvimos a salvar de romper nuestra maquinaria: sí ono

Dada , ¿cuándo un ALF acepta a ?w w

En el algún símbolo de la cadena... pasamos por un estado aceptor

¿Cuándo no?

En cualquier símbolo de la cadena, no hay transición

Un problema mucho másgrande!!!!

Que se quede trabado, ciclo infinitoNo solo con transiciones , sino en la cintaϵ

Uchales, no sé ve por donde!!!!! ¿se rompe la maquinaria?

Que no cunda el pánico!Dada , ¿cuándo un ALF acepta a ?w w

En el algún símbolo de la cadena... pasamos por un estado aceptor

¿Cuándo no?

En cualquier símbolo de la cadena, no hay transiciónY no se queda en un ciclo infinito ;-)

Eso es trampa....Hacer un aditamento, que lleve la cuenta de los pasos

... hay un límite máximo de cuando ver a un estado aceptor

Ya sucedieron todas las re-escrituras posibles ( )Ya visité todos estados en todas las posiciones ( )

kn

n ∗ q

Si la cuenta de pasos es mayor a pararnqkn

Ufff, por poquito de romper nuestra maquinaria: sí o no

Dada , ¿cuándo una MT acepta a ?w w

En el algún símbolo de la cadena...aparece un estado final un estado aceptor

¿Cuándo no?

En cualquier símbolo de la cadena, no hay transición

Un problemonQue se quede trabado, ciclo infinitoNo solo con transiciones , sino en la cintaLa cinta no está limitada, no se puede definir un límite

ϵ

Nuestra maquinaría está rota

¿Tenemos esperanza?¿Habrá algo diferente a un límite?¿Podremos poner una máquina que vea a la otra máquina y detecteun ciclo?¿Podremos analizar nuestra máquina?

La respuesta desafortunada, la siguiente sesión

AF, AFNDAFND-ɛ

LR

LLCAP, APD

ALFLDC

LRE

MT (variantes), APDo, ACVerdadero

Verdadero

Falso

Falso

Lenguaje decidiblesExiste una máquina que lo acepte

Para cualquier que tienen la secuencia máxima depasos es �nita

w ∈ L

El mapaAF*: decidiblesAP*: decidiblesALF*: decidibles (exepción )MT: no siempre

L = ϵ

El mapaMT: decidibles definen lenguajes recursivos ( )MT: aceptables definen lenguajes recursivamente enumerables (

)

LRec

LRE

Hasta ahora pareciera que es un problema de la máquina, en lasiguiente sesión demostraremos que un problema de los lenguajes

Jerarquía de ChomskyLenguaje Gramática Máquina Ejemplo

/ Tipo 0 ( )

Máquina de Turing,APDo, AC

??

Tipo 1 ( )

Autómata linealcon fronteras

Tipo 2 ( )

Autómata de pila

Tipo 3 ( )

Autómata finito

/LRE LRec

α → β

LDC

αV β → αγβww, anbncn

LLC

V → αw ,wr anbn

Lreg

V → aA|ϵw, a∗

[email protected] ivanvladimir.github.io ivanvladimir

Máquinas de Turing o máquinas con cola by islicensed under a

. Creado a partir de la obra en

.

Ivan V. Meza RuizCreative Commons Reconocimiento 4.0Internacional License

http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/mt.html