Autómatas y Lenguajes Formales 2016-1
Maestría en Ciencia e Ingeniería de la Computación UNAM Tema 13: Máquinas de Turing y computabilidad
Dr. Favio Ezequiel Miranda Perea
Facultad de Ciencias UNAM
Máquinas de Turing
IntroducciónLas máquinas de Turing (MT)son máquinas idealizadas capaces de realizar cómputos.
Una MT consiste de una cinta infinita dividida en sectores (cuadros) y una cabeza de lectoescritura.
Cada sector de la cinta contiene un símbolo de cierto alfabeto de entrada o bien el símbolo blanco.
La cabeza lee el sector y puede escribir sobre él.
Máquinas de Turing
DefiniciónUna máquina de Turing es una septupla:
M=hQ,Σ,Γ, δ,q0, ,Fi
Q6=∅es un conjunto finito de estados.
Σes el alfabeto de entrada.
Γes el alfabeto de la cinta, el cual incluye aΣ, es decir,Σ⊆Γ.
δ :Q×Γ→Q×Γ× {←,→}es la función de transición
q0∈Qes el estado inicial.
∈Γes el símbolo blanco tal que ∈/Σ.
Función de transición
Máquinas de Turingδ :Q×Γ→Q×Γ× {←,→}
δ(q,a) = (p,b,D)
El estado actual esqy el símbolo a leer esa.
La transición es hacia el estadop
bes el símbolo escrito en lugar dea.
La cabeza se mueve una celda según la dirección dada por
D∈ {←,→}. Dichos movimientos se realizan después de leer
Ejemplos
Máquinas de Turingδ(q,a) = (p,b,→)
Estado actual:q
Símbolo a leer:a.
La cabeza borraay escribeb.
El nuevo estado esp.
Ejemplos
Máquinas de TuringM =h{q0,q1},{a,b},{a,b, }, δ,q0, ,{q1}i
δ(q0,a) = (q0,b,→)
δ(q0,b) = (q0,b,→)
L
=
{
w
∈ {
0,
1
}
?|
w
tiene un número par de ceros
}
Ejemplos
δ 0 1
q0 (q1,0,→) (q0,1,→) (qf, ,−)
q1 (q0,0,→) (q1,1,→)
Ejemplos
Máquinas de TuringM =h{q0,q1},{a,b},{a,b, }, δ,q0, ,∅i
δ(q0,a) = (q1,a,→)
δ(q0,b) = (q1,b,→)
δ(q0, ) = (q1, ,→)
δ(q1,a) = (q0,a,←)
δ(q1,b) = (q0,b,←)
L
=
{
a
nb
n|
n
≥
1
}
Ejemplos
δ a b X Y
q0 (q1,X,→) (q3,Y,→)
q1 (q1,a,→) (q2,Y,←) (q1,Y,→)
q2 (q2,a,←) (q0,X,→) (q2,Y,←)
q3 (q3,Y,→) (q4, ,
Máquina Estandar de Turing
Máquinas de TuringLa cinta es infinita en ambas direcciones.
Se permite un número arbitrario de movimientos en cualquier dirección.
La máquina es determinista,δdefine a lo más un movimiento
para cada configuración posible.
No hay transiciones desde estados finales, es decir,δ(q,a)no
está definida siq∈F.
Configuraciones
Máquinas de TuringUna configuración o descripción instantanea
a1a2. . .ak−1qakak+1. . .an
está determinada por:
El estado actual de la unidad de control (cabeza).
El contenido de la cinta.
La posición de la unidad de control.
Cómputos
Máquinas de TuringUn cómputo o paso de computación es el cambio de una descripción
instantanea a otra mediante una transición dada porδ.
uqav `ubpv
si y sólo siδ(q,a) = (p,b,→)
ucqav `upcbv
si y sólo siδ(q,a) = (p,b,←)
Cómputos
Casos especiales conεuqa`ubp
si y sólo siδ(q,a) = (p,b,→)
qav `p bv
Situaciones especiales
CómputosCómputos bloqueados: el cómputo se bloquea porque la siguiente transición no está definida.
uqv 6`?
Cómputos infinitos: el cómputo entra en un ciclo infinito.
Lenguaje de aceptación
Máquinas de TuringEl lenguaje de aceptación se define como todas aquellas cadenas de entrada con las cuales la máquina se detiene en un estado final.
L(M) ={w ∈Σ? |q0w `? w1qfw2 qf ∈F}
Observaciones:
A diferencia con los autómatas se acepta una cadena en el momento en que el proceso llega a un estado final.
No es necesario consumir toda la cadena.
Variaciones
MTExisten diversas variaciones en la definición de MT.
Todas ellas resultan equivalentes, es decir, el poder de computación de cualquier modelo resulta equivalente al de la máquina estandar.
MT con cabeza lectora estacionaria
VariacionesSe permite que al leer y escribir un símbolo la cabeza no realice movimiento alguno.
El conjunto de direcciones se amplia a{←,→,−}.
La transición
δ(q,a) = (p,b,−)
significa que la cabeza leea, escribeby no se mueve
MT con múltiples pistas
VariacionesIdea: la cinta se divide en multiples pistas.
La función de transición es:
δ:Q×Γn→Q×Γn× {←,→}
MT con múltiples cintas
VariacionesIdea: se agregan más cintas a la máquina.
La función de transición es:
δ :Q×Γn →Q×(Γ× {←,→})n
MT No-determinista
VariacionesLa función de transición es:
δ:Q×Γn→ P(Q×Γ× {←,→})
δ(q,ha1, . . . ,ani) ={hb1,D1i, . . . ,hbn,Dni}
Generación de lenguajes
Máquinas de TuringLas MT tienen suficiente poder como para generar lenguajes y calcular funciones.
Una MTMgenera al lenguajeL⊆Σ? si
I M comienza a operar con la cinta en blanco enq0.
I Cada vez queM regresa aq0hay una cadena deLescrita sobre la cinta.
Cálculo de funciones
Máquinas de TuringLa máquina de TuringM =h{q0,qf},Σ,Γ, δ,q0, ,∅icalcula una
funciónf : Σ? →Γ? si
q0w `? qfv dondef(w) =v
Observaciones:
No hay estados finales, el estadoqf se usa para detener la
máquina, es decir, no hay transiciones desdeqf.
El proceso se termina enqfv, es decir la cabeza debe estar
Lenguajes recursivos y recursivamente enumerables
Aceptación en MTUn lenguajeLesrecursivamente enumerablesi es reconocido por
una máquina de Turing, es decir, si existe una máquina de Turing
M tal queL=L(M).
un lenguajeLesrecursivosi es reconocido por una máquina de
Turing que siempre se detiene, es decir, si existe una máquina de
TuringM que se detiene con todas las cadenas de entrada y
Propiedades de Cerradura
Lenguajes recursivos y R.E.SiLes recursivo entoncesLes recursivo.
SiL,Mson recursivos entoncesL∪Mes recursivo.
SiL,Mson rec. enumerables entoncesL∪Mes rec. enumerable.
Jerarquía de Chomsky
su relación con autómatasLas gramáticas tipo 3 (regulares) son equivalentes a los autómatas finitos.
Las gramáticas tipo 2 (libres de contexto) son equivalentes a los autómatas de pila (no-determinísticos).
¿Qué pasa con las gramáticas tipo 1 (sensibles al contexto)?
L
=
{
a
ib
ic
i|
i
≥
0
}
Gramática sensible al contexto
S→A
A→aABC |abC
CB→BC
bB→bb
bC →bc
Autómatas Linealmente Acotados
DefiniciónUn autómata linealmente acotado (ALA) es una máquina de Turing que satisface las siguientes condiciones:
El alfabeto de entradaΣincluye dos símbolos especiales[,]que
sirven como marcas de fin de cinta izquierda y derecha respectivamente.
Autómatas Linealmente Acotados
DefiniciónFormalmente tenemos
M =hQ,Σ,Γ, δ,q0, ,[,],Fi
con[,]∈Σ.
El lenguaje de aceptación es
L(M) ={w ∈Σ?− {[,]} |q0[w]`? w1qfw2 qf ∈F}
Las marcas[,]no son consideradas como parte de la cadena a
procesar.
ALA y Gramáticas
EquivalenciaDada una gramática sensible al contextoG, existe un autómata
linealmente acotadoM tal queL(G) =L(M). Es decir, los
lenguajes sensibles al contexto son reconocidos por autómatas linealmente acotados.
SiL=L(M)es un lenguaje reconocido por un autómata
linealmente acotadoM entonces existe una gramática sensible al
Máquinas de Turing y gramáticas irrestrictas
EquivalenciaPara toda gramáticaGde tipo 0 existe una máquina de TuringM
tal queL(M) =L(G). Es decir, los lenguajes tipo 0 son recursivamente enumerables.
Para toda máquina de TuringM existe una gramáticaGde tipo 0
Jerarquía de Chomsky
su relación con autómatasLas gramáticas tipo 3 (regulares) son equivalentes a los autómatas finitos.
Las gramáticas tipo 2 (libres de contexto) son equivalentes a los autómatas de pila (no-determinísticos).
Las gramáticas tipo 1 (sensibles al contexto) son equivalentes a los autómatas linealmente acotados.