RETO MES DE ABRIL .............................docx
Máquinas de turing o máquinas con cola
1. Máquinas de Turing o máquinas
con cola
Wecanonlyseeashortdistanceahead,butwecanseeplentytherethatneedstobedone.—
AlanTuring
Ivan Meza
2. Jerarquía de Chomsky
Lenguaje Gramática Máquina Ejemplo
Dependiente del
contexto
Tipo 1
( )
Autómata
lineal con
fronteras
Independiente
del contexto
Tipo 2
( )
Autómata de
pila
Regular Tipo 3
( )
Autómata
finito
αV β → αγβ
ww, a
n
b
n
c
n
V → α
w ,w
r
a
n
b
n
V → aA|ϵ
w, a
∗
4. Máquinas de Turing
Es 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
Σ
Γ Σ ⊂ Γ
q0
B B ∈ Γ B ∉ Σ
A
δ Q × Γ → Q × Γ × {der, izq}
5.
6. La cinta
Infinita
Todo 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
7. Autómata lineal con frontera
Es 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
Σ
Γ Σ ⊂ Γ
q0
B B ∈ Γ B ∉ Σ
A
δ
Q × Γ ∪ {<, >} → Q × Γ ∪ {<, >} × {der, izq}
MT con cinta nita
Algoritmos interesantes cuyo requerimiento de memoria
crece linearlmente con la entrada
8. Ejemplo
a 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
9. ¿Problema, cómo especi car la con guración?
AF Estado y símbolo de cadena
AP Estado, símbolo de cadena, símbolo pila
APDo Estado, símbolo de cadena, símbolo pila uno y símbolo pila
dos
¡Cinta!
10. Recordando
a 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
11. Descripción instantáneas
δ(q, ) = (p, Y , L)Xi
excepción
,
,
… q … ⊢ … p Y …X1 X2 Xi−1 Xi Xi+1 Xn X1 X2 Xi−2 Xi−1 Xi+1
i = 1 q … ⊢ pBY …X1 X2 Xn X2 Xn
i = n, Y = B … q ⊢ B … pX1 X2 Xn−1 Xn X1 X2 Xn−1
12. Descripción instantáneas
δ(q, ) = (p, Y , R)Xi
excepción
,
,
… q … ⊢ … Y p …X1 X2 Xi−1 Xi Xi+1 Xn X1 X2 Xi−1 Xi+1 Xn
i = n … q ⊢ … Y pBX1 X2 Xn X1 X2
i = 1, Y = B q … ⊢ p …X1 X2 Xn X2 Xn−1
13. 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
14. El lenguaje aceptado por una
máquina de Turing
L(T ) = {w ∈ | w αpβ, p ∈ A}Σ
∗
q0 ⊢
∗
A los lenguajes aceptados por las MT se les conoce como
Lenguajes Recursivos Enumerables
18. Relación entre máquinas
Sabemos qué es más poderosa que ALF, la cinta no tiene límite
Sabemos qué es diferente a AP* y AF*
Esta sesión y la siguiente definiremos el poder de la MT
19. APD para un MT
Simular un MT con un APD
Simular un APD con una MT
20. Una APD para una MT
Usamos la pila para presentar lo que está a la izquierda o derecha
de la descripción instantánea
produce las cintas
Movimientos son equivalentes a un pop en una pila y un push en la
otra, en el proceso se re-escribe
… q …X1 Xn Xn+1 Xk
… ] [ …Xn X1 Xk Xn+1
21. Una MT para un APD
Se define un marcador para una pila a la izquiera de la cienta, y un
segunda a la derecha
Se definen funciones que permitan posicionar en los marcadores y
hacer push y pops sobre la pila
22. 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
Σ
Γ
q0
Z0
A
δ Q × (Σ ∪ {ϵ}) × Γ × Γ → Q × ×Γ
∗
Γ
∗
Un AFND- + dos pilasϵ
23. A partir de ahora, todo lo que de namos para MT se aplica a
AP D
24. MT varias cintas
Una con varias cintasMT MkT
Para toda existe una equivalenteL( )MkT L( )MT
Construir una que simule aMT MkT
25. MT no determinístico
La función de transición regresa un conjuntoδ
Para toda existe una equivalenteL(MN )DT L( )MT
Construir una que simule aMT MN DT
26. MT semi-infinitas
La cinta sólo existe hacia al lado derecho
[a, a, b, b, B, B, …]
Construir una que simule a semi- nitaMT MT
27. Autómata con cola
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 cola
estados finales
función de transición
Q
Σ
Γ
q0
Z0
A
δ Q × (Σ ∪ {ϵ}) × Γ → Q × Γ
∗
Un AFND- + una colaϵ
29. Simulando una computadora
Multiples cintas: Memoria, contador de instrucción, dirección
de memoria, dispositivo de entrada, auxiliar
Automáta: para ejecutar instruccion, por instruacción
30. Son una tupla , donde:
Gramáticas de frase
G = (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
31. A partir de ahora, todo lo que de namos para MT se aplica a
, MT varias cintas, MT no deterministicos, ,
computadoras,
AP D AC
GF
34. Lenguajes aceptados
Dada , ¿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 es
aceptor
En cualquier símbolo de la cadena, no hay transición
35. Un pequeño problema
¿En qué situación no podríamos llegar a sí o no?
Que se quede trabado, ciclo infinito
Transiciones 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
36. 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 es
aceptor
En cualquier símbolo de la cadena, no hay transición
37. Mismo problema
Que se quede trabado, ciclo infinito
Transiciones al mismo estado, AP
No todos los tienen un APD, pero podemos quitar ciclos infinitos
ϵ
L
Ufff, nos volvimos a salvar de romper nuestra maquinaria: sí o
no
38. 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
39. Un problema mucho más
grande!!!!
Que se quede trabado, ciclo infinito
No solo con transiciones , sino en la cintaϵ
Uchales, no sé ve por donde!!!!! ¿se rompe la maquinaria?
40. 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ón
Y no se queda en un ciclo infinito ;-)
41. 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 ( )
k
n
n ∗ q
Si la cuenta de pasos es mayor a pararnqk
n
Ufff, por poquito de romper nuestra maquinaria: sí o no
42. 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
43. Un problemon
Que se quede trabado, ciclo infinito
No solo con transiciones , sino en la cinta
La cinta no está limitada, no se puede definir un límite
ϵ
Nuestra maquinaría está rota
44. ¿Tenemos esperanza?
¿Habrá algo diferente a un límite?
¿Podremos poner una máquina que vea a la otra máquina y detecte
un ciclo?
¿Podremos analizar nuestra máquina?
La respuesta desafortunada, la siguiente sesión
49. Hasta ahora pareciera que es un problema de la máquina, en la
siguiente sesión demostraremos que un problema de los lenguajes
50. Jerarquía de Chomsky
Lenguaje Gramática Máquina Ejemplo
/ Tipo 0
( )
Máquina de Turing,
APDo, AC
??
Tipo 1
( )
Autómata lineal
con fronteras
Tipo 2
( )
Autómata de pila
Tipo 3
( )
Autómata finito
/LRE LRec
α → β
LDC
αV β → αγβ
ww, a
n
b
n
c
n
LLC
V → α
w ,w
r
a
n
b
n
Lreg
V → aA|ϵ
w, a
∗
51. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
Máquinas de Turing o máquinas con cola by is
licensed under a
.
Creado a partir de la obra en
.
Ivan V. Meza Ruiz
Creative Commons Reconocimiento 4.0
Internacional License
http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/mt.html