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∗
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
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
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ϵ
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 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
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
Lenguaje decidiblesExiste una máquina que lo acepte
Para cualquier que tienen la secuencia máxima depasos es �nita
w ∈ 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
Top Related