Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autómatas – Parte 1
Teoría de la Computación
2 Autómatas
Un autómata es un conjunto de reglas que inspecciona una
secuencia de * y decide si está o no está en un lenguaje
dado L *.
Un autómata se dice finito si es guiado por un control finito.
Un autómata se dice determinista si en todo momento,
durante la inspección de la secuencia, existe una y solo una
alternativa para seguir adelante.
Un autómata finito será no determinístico si el siguiente
estado en una transición está solo parcialmente determinado
por el estado actual y el símbolo actual, es decir, puede
haber más de una transición posible.
3 Autómata Finito Determinista (AFD)
Un autómata es un conjunto de reglas que inspecciona una secuencia de * y
decide si está o no está en un lenguaje dado L *.
Un autómata se dice finito si es guiado por un control finito.
Un autómata se dice determinista si en todo momento, durante la inspección
de la secuencia, existe una y solo una alternativa para seguir adelante.
4 Composición de un AFD
Una AFD se compone de :
Una unidad de control que alterna entre elementos de un conjunto
finito, llamado conjunto de estados.
Una cinta de entrada que contiene la secuencia a ser
inspeccionada
Una cabeza lectora que apunta a un símbolo en la cinta de
entrada.
q n q0 Q = {q0, q1, ...., qn}
Control Finito
Cjto. de estados
qi
w = a1a2....an entrada
qi estado actual
Cabeza lectora
aj símbolo actual
Cinta de entrada a1a2............aj.......an
5
Reglas de Operación de un AFD
Inicialmente el AFD comienza en una estado (estado inicial q 0) y con la
cabeza lectora apuntando al primer símbolo de la entrada (a 1)
El AFD inspecciona el símbolo actual y de acuerdo al estado actual cambia de
estado y avanza un símbolo (hacia la derecha). Esto se denomina transición.
Al llegar al estado final de la secuencia (luego de inspeccionar a n) el AFD se
detiene.
: alfabeto de entrada
Q: conjunto finito de estados
Q0: estado inicial, q0Q
F: conjunto de estados finales o de aceptación, F
Q
Matriz de transición de tamaño |Q||| (qi,a) =
qj; qi, qj Q y a
7 Ejemplo de un ADF
Sea M definido como sigue = {a, b}, Q = {q0, q1, q2, q3}, F = {q2}
: Veamos el análisis de w1 = abba y w2 = abaa
Q\ a b w1 w2
q q q Estado Avance Estado Avance
0 1 3 q0 abaa
q q q q0 abba
1 2 1 q1 bba q1 baa
q q q q1 aa
2 3 3 q1 ba
q q q q1 a
q2 a
3 3 3 q3 alto
q2 alto
q2 F q3 F
8
EstadosPersistentes
a
qi qj
12 Ejemplo de diagrama de estado
= {a, b}, Q = {q0, q1, q2, q3}, F = {q2}
: b
Q\ a b
q1 a
q q q a
0 1 3
q q q q0 q2
1 2 1
q q q
2 3 3 b
q q q a,b
3 3 3 q3
a a
q0 q1 q2
b
w * w = o w +
w = (q0, ) *M (q0, ), pero q0 F, luego L(M).
w + w = xw1; x = {a, b} y w1 *. Luego w = aw1 o w = bw1
(q0, bw1) *M (indefinido, w1) w = bw1 L(M).
(q0, aw1) M (q1, w1) .......... (1)
razonando análogamente se tiene que (q1, bw2) *M (q1, w2), y que
(q1, bnw3) *M (q1, w3); n 1 ...............(2); aplicar inducción
(q1, aw4) *M (q2, w4) ..........(3)
Si w4 = entonces w L(M)
Así de (1) w = aw1, de (2) w = abnw3 y de (3) w = abna L(M),
15 AFD y Lenguajes
L(M) = {w {a, b}* / numb(w) = 2n, n 0}, construir un AFD para L
(diagrama de estados b
w1 = ababba L(M)
a
w2 = bababb L(M) q0 q1
q0 : el # de b’s es par
a b
q1 : el # de b’s es impar
(a*ba*b)*
Sea L(M) = (0|1)*00 construir el diagrama de estado
0100100 L 0
0101010 L
1 1 q2
q0
q0 : “estamos como si nada” 0
q1 : tenemos un 0 1 q1 0
q2 : tenemos dos 0’s por lo menos
16 AFD y Lenguajes
Sea R una relación de equivalencia sobre A. Entonces el
conjunto de todas las clases de equivalencias inducidas por
R es
[A]R = {[x] A / [x] es una clase de equivalencia}
Indice(R) = | [A]R|
F = {x / x L}
Demostremos que L(M) = L
w L w x tq x L
w RL x (x RLw)
w = x
Luego (, w) *M (w, )=(x, ), pero x F wL(M)
21 Teorema de Nerode 2ra Parte
EM es de índice finito