Este documento describe las máquinas de Turing y la jerarquía de Chomsky. Las máquinas de Turing son una representación formal de una computadora y pueden simular cualquier computadora real. La jerarquía de Chomsky clasifica los lenguajes formales de acuerdo con la complejidad de la gramática y el tipo de autómata que puede reconocerlos.
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 de
doble pila/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. 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
8. ¿Problema, cómo especificar la configuració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!
9. 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
10. 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 ⊢ pB … pX1 X2 Xn−1 Xn X1 X2 Xn−1
11. Descripción instantáneas
δ(q, ) = (p, Y , R)Xi
excepción
,
,
… q … ⊢ … p 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
12. 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
13. 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
17. MT varias cintas
Una con varias cintasMT MkT
Para toda existe una equivalenteL( )MkT L( )MT
Construir una que simule aMT MkT
18. 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
19. MT semi-infinitas
La cinta sólo existe hacia al lado derecho
[a, a, b, b, B, B, …]
Construir una que simule a semi-finitaMT MT
21. 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ϵ
22. 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
25. 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}
Restricción, no se puede ir más allá de los símbolos <, >
29. Lenguajes que computan parte de w
El lenguaje de máquinas que no aceptan al lenguaje vacioMt
30. Jerarquía de Chomsky
Lenguaje Gramática Máquina Ejemplo
Recursivamente
enumerables
Tipo 0
( )
Máquina de
Turing
??
Dependiente del
contexto
Tipo 1
( )
Autómata de
doble
pila/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
∗
32. 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