Autómata Finito. Configuración de un AF. Leguaje aceptado por un AF. Autómata Finito Determinista (AFD). AFD conexo y completo. Estados sumidero y generador. Representación Matricial. AFD y ER.
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
Lenguajes Regulares y Autómatas Finitos - Clase 7
1. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATA FINITO (AF):
El Autómata Finito es la máquina más restrictiva de todas y desde luego que se
puede definir como un caso particular de una MT. También podemos verla
como un AP sin pila. Obviamente que al sacarle la pila lo único que queda es la
cinta finita de entrada. Este modelo matemático abstracto representa la
solución del problema de aceptación de lenguajes de tipo 3 o LR.
Para su mejor comprensión lo representaremos con el siguiente esquema:
e1 e2 ••• ••• en-1 en
Cabezal de Lectura
Cinta Finita Entrada
01
Estados
X
Control . 2
. . 3
ING. JORGE BUABUD
2. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATA FINITO (AF):
Al comienzo se escribe en la cinta de entrada la palabra que se desea analizar (ei ),
la misma termina con un símbolo de fin de cadena que por simplicidad no
consideraremos en forma explícita y un cabezal de lectura se encuentra sobre la
posición del primer símbolo de dicha palabra.
Esta descripción corresponde al estado inicial y desde aquí el modelo comienza a
funcionar del siguiente modo:
1) LEE un símbolo de la cinta de entrada y mueve el cabezal a la derecha.
2) De acuerdo al ESTADO ACTUAL y al símbolo leído, transiciona a un NUEVO
ESTADO (que puede ser el mismo).
3) Repite 1) y 2) hasta que lee totalmente la palabra, en este caso si se encuentra en
alguno de los llamados ESTADOS FINALES se dice que la palabra escrita
inicialmente es ACEPTADA y en caso contrario es RECHAZADA; o hasta que se
llega a un estado en el que no está definida una transición, entonces se dice que el AF
se BLOQUEA y la secuencia de entrada es RECHAZADA.
ING. JORGE BUABUD
3. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATA FINITO (AF):
Definición formal de un Autómata Finito:
AF = 〈 Q , Σ , q0 , F , f 〉
Q : Conjunto finito y no vacío de estados.
Σ : Alfabeto de símbolos de entrada.
q0 : Estado inicial (perteneciente a Q).
F : Conjunto de estados finales (incluido en Q).
f : Función de control o transición, que se define como:
f:QxΣ⇒ Q
En este caso F esta en el dominio, es decir que los estados finales no son de
parada y el final de cadena está implícito en el funcionamiento del AF.
ING. JORGE BUABUD
4. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATA FINITO (AF):
En el caso de los AF y en correspondencia con el algoritmo
constructivo de comprobación de pertenencia para LDC, que por
jerarquía de Chomsky vale para LR, el lenguaje universal Σ* ,
queda dividido en dos subconjuntos:
Todas las palabras aceptadas por el AF.
Σ* Todas las palabras rechazadas por el AF.
Es decir que para todo LR existe un AF que es capaz de aceptarlo
y a la vez rechazar a su complemento.
ING. JORGE BUABUD
5. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATA FINITO (AF):
Representación formal de la función de transición:
Tabla de Transición
Est. Actual Símb. Leído Est. Nuevo
q e q’
Grafo de Transición
e
q0 q q’ F
ING. JORGE BUABUD
6. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATA FINITO (AF):
En ambos casos se representa cada pareja estímulo/ /reacción,
compuesta por el par (estado actual, símbolo leído) y el (estado
nuevo) respectivamente.
Al igual que todos los modelos, la relación de transición puede
ser determinista o no-determinista. Pero en este caso se puede
demostrar que el AF es DETERMINISTA por naturaleza.
Es decir que todos los AF no-deterministas tienen un
equivalente determinista.
ING. JORGE BUABUD
7. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
EJEMPLO DE AF:
AF = 〈 Q , Σ , q0 , F , f 〉
Q = { 1, 2 }
La función de control f se
Σ = { a, b } representa con su tabla y grafo
q0 = 1 F={2} de transición.
Este AF acepta el lenguaje L(AF) = { an bm / n ≥ 0 , m ≥ 1 } sobre el
alfabeto {a, b}, que contiene todas las palabras compuestas por una
secuencia de “a” seguida de otra secuencia de “b” o solamente una
secuencia de “b”.
ING. JORGE BUABUD
8. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
EJEMPLO DE AF:
GRAFO DE TRANSICIÓN
TABLA DE
a b TRANSICIÓN
Est. Sím. Est.
1 2 Actual Leído Nuevo
b
→1 a 1
1 b 2
* 2 b 2
ING. JORGE BUABUD
9. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
CONFIGURACIÓN DE UN AF:
Una descripción instantánea de un AF requiere las siguientes
especificaciones:
Estado actual del AF.
Contenido que falta leer de la cinta de entrada.
Este par constituye la CONFIGURACIÓN del AF y vamos a representar con
el estado actual seguido de la secuencia de símbolos que faltan leer en la cinta
de entrada: qkei...en
De igual modo que en los modelos anteriores, una sucesión de
configuraciones consecutivas se llama SECUENCIA DE CONFIGURACIÓN
del AF.
ING. JORGE BUABUD
10. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
LENGUAJE ACEPTADO POR UN AF:
Se define el lenguaje aceptado por un AF como el conjunto de
palabras que partiendo de una configuración inicial, llegan a
una configuración que contiene un estado final del AF y el total
de la entrada leída.
Formalmente se representa como:
L(AF) = {w / w∈Σ* ∧ q0w├─ * qF ∧ qF ∈ F }
∈Σ
Por otro lado, todas las palabras que partiendo de una
configuración inicial llegan a un estado no final o producen el
bloqueo del modelo, dice que son rechazadas por el AF.
ING. JORGE BUABUD
11. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
EJEMPLO DE SECUENCIA DE CONFIGURACION:
Consideremos el ejemplo de AF anterior y las palabras:
w1 = aabbb , w2 = bb , w3 = aaa , w4 = baa
Las secuencias de configuración correspondientes serían:
1) 1aabbb ├─ 1abbb ├─ 1bbb ├─ 2bb
├─ 2b ├─ 2 final/acepta
2) 1bb ├─ 2b ├─ 2 final/acepta
3) 1aaa ├─ 1aa ├─ 1a ├─ 1 no-final/rechaza
4) 1baa ├─ 2aa bloqueo/rechaza
ING. JORGE BUABUD
12. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
En síntesis:
Los AF son modelos abstractos capaces de aceptar LR.
Un AF es un caso particular de MT con ciertas restricciones.
Un AF es Determinista (AFD) si para cada estímulo tiene
solo una reacción posible, caso contrario es No-determinista.
Por naturaleza estos modelos son DETERMINISTAS.
La función de transición tiene los siguientes dominio y rango
f: QxΣ ⇒Q
ING. JORGE BUABUD
13. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
AUTÓMATA CONEXO: Un AFD se dice conexo cuando todos sus
estados son accesibles desde el estado inicial.
AUTÓMATA COMPLETO: Un AFD se dice completo cuando todos
sus estados tienen transiciones con cada uno de los símbolos de entrada
válidos.
ESTADO SUMIDERO: Un estado se llama sumidero cuando no es
final y transiciona con todos los símbolos de entrada a si mismo. Es un
estado de rechazo.
ESTADO GENERADOR: Un estado se llama generador cuando solo
salen transiciones desde él. Solo es útil cuando es el inicial.
ING. JORGE BUABUD
14. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
EJEMPLOS DE AFD: AFD2 b a
AFD1 b a a b
b 2 3
a 3 a 1 a b 7
a a
1 2 a 5 4 a 5
b
b
b 4 b 6
Características:
Características: No-conexo b,a
Conexo Completo
Incompleto Estado 5 generador
Estado 1 generador Estado 6 sumidero
ING. JORGE BUABUD
15. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
EJEMPLOS DE AFD: AFD4 b
AFD3 a a
b 2 3 b
b
a 3 a 1 a a 6
a b
1 2 a 5 4 a 5
b
b,a
b 4 b
b Características:
Características:
a,b Conexo
Conexo Completo
Completo Estado 1 generador
Estado 4 sumidero Estado 4 sumidero
ING. JORGE BUABUD
16. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
REPRESENTACIÓN MATRICIAL:
Cuando tenemos un AF completo conviene representar su función de
transición con una matriz cuyas columnas representan los símbolos de
entrada AFD2 a b
y sus filas los estados. AFD4 a b →1 1 2
AFD3 a b →1 4 2 *2 7 2
→1 2 1 *2 3 2 3 2 7
2 3 4 3 4 6 4 3 4
3 5 1 4 4 4 *5 4 7
4 4 4 *5 4 3 6 6 6
*5 2 4 *6 6 5 *7 6 7
ING. JORGE BUABUD
17. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
¿ CÓMO HACEMOS CONEXO A UN AF ? :
Simplemente se elimina los estados inaccesibles y todas las transiciones que
salen o llegan a ellos. Hay una correspondencia entre estos estados y los
No-terminales inútiles de una GR.
Por ejemplo, el AFD2 quedaría: AFD2 b
AFD2 a b b
a 7
→1 1 2 a
a 2
*2 7 2 b
6 6 6 1 6
b,a
*7 6 7
ING. JORGE BUABUD
18. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
¿ CÓMO COMPLETAMOS UN AF ? :
Si el AF tiene un estado sumidero o algún estado sin transiciones, enviamos
todas las transiciones faltantes hacia ese estado. Caso contrario
agregamos un estado sumidero nuevo y procedemos igual.
Por ejemplo, el AFD1 quedaría: AFD1 b
AFD1 a b 1
a a 3 a
→1 2 6
2 3 4 b 2 a 5
3 5 3
6 b 4 b
4 6 5
a
*5 2 6
a,b b
6 6 6
ING. JORGE BUABUD
19. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
Ejemplos de AFD para ER sencillas:
Lenguaje sobre Σ={a,b,c} de secuencias de Lenguaje sobre Σ={a,b} de secuencias
“a,b” con prefijo “a,b,c” y con sufijo “c” de “a” con prefijo “ab” y sufijo “ba”:
más secuencias de “a”:
ER = a.b.a*.b.a a
ER = (a+b+c).(a+b)*.c.a*
a, b a a b a
1 3 4
b a
1 2 3 b
a, b, c c 2 b
b, c a, b 5
a
a, b, c 4 a, b
AFD5 6
AFD6
ING. JORGE BUABUD
20. U.T.N. – F.R.T. LENGUAJES REGULARES Y
S. y S. de los L.
AUTÓMATAS FINITOS
AUTÓMATAS FINITOS DETERMINISTAS (AFD):
Ejemplos de AFD para ER sencillas:
Lenguaje de secuencias pares y λ Lenguaje de secuencias con prefijo
sobre Σ={a, b, c}: “a” y sufijo “b” sobre Σ={a, b}:
ER = ((a+b+c).(a+b+c))* ER = a.(a+b)*.b
a b
a, b, c
a b
1 2 4
1 2 3
a, b, c a, b, c b
3 a
AFD7 AFD8 a,b
ING. JORGE BUABUD