Vous êtes sur la page 1sur 50

TEMA 4: AUTMATAS FINITOS

(Parte A)

Mara Llanos Alonso Daz-Marta


Antonio Fernndez Caballero

Departamento de Sistemas Informticos


Universidad de Castilla-la Mancha
Teora de Autmatas y Lenguajes Formales 1
TEMA 4: AUTMATAS FINITOS

INDICE

z Sistemas de estados finitos


z Autmatas finitos deterministas
z Autmatas finitos no deterministas
z Autmatas finitos con transiciones nulas AFND-
z Autmatas finitos y lenguajes regulares

Teora de Autmatas y Lenguajes Formales 2


TEMA 4: AUTMATAS FINITOS
SISTEMAS DE ESTADOS FINITOS (1)
z Un Sistema de Estados Finitos es un dispositivo fsico o
lgico caracterizado porque, en un momento dado, puede
encontrarse en un estado de entre un conjunto finito de
ellos y stos resumen el comportamiento del sistema
hasta este instante dado.
z Ejemplos:
{ Semforo: (rojo, amarillo, verde).
{ Ascensor: (parado-piso-i, en-marcha).
{ Mquina expendedora: (espera, coge-dinero, sirve ...).
z Para caracterizar estos sistemas se usan modelos
lgicos que simulan el comportamiento de un sistema de
estados finitos.
Teora de Autmatas y Lenguajes Formales 3
TEMA 4: AUTMATAS FINITOS
SISTEMAS DE ESTADOS FINITOS (2)
z Un Autmata Finito es, en particular, un sistema de
estados finitos que reconoce palabras, y, en general, un
modelo matemtico para describir sistemas de estados
finitos.
z Ejemplo de Sistema de
Estados Finitos (SEF).
Control de un ascensor
{ Estados: (parado-piso-i, en-
marcha-hasta-i)
{ Acciones: (pulsar-boton-
piso-i, stop)

Teora de Autmatas y Lenguajes Formales 4


TEMA 4: AUTMATAS FINITOS
SISTEMAS DE ESTADOS FINITOS (2)
z Un Autmata Finito es, en particular, un sistema de
estados finitos que reconoce palabras, y, en general, un
modelo matemtico para describir sistemas de estados
finitos.
z Ejemplo de Sistema de
Estados Finitos (SEF).
Control de un ascensor
{ Estados: (parado-piso-i, en-
marcha-hasta-i)
{ Acciones: (pulsar-boton-
piso-i, stop)

Teora de Autmatas y Lenguajes Formales 5


TEMA 4: AUTMATAS FINITOS
SISTEMAS DE ESTADOS FINITOS (2)
z Un Autmata Finito es, en particular, un sistema de
estados finitos que reconoce palabras, y, en general, un
modelo matemtico para describir sistemas de estados
finitos.
z Ejemplo de Sistema de
Estados Finitos (SEF).
Control de un ascensor
{ Estados: (parado-piso-i, en-
marcha-hasta-i)
{ Acciones: (pulsar-boton-
piso-i, stop)

Teora de Autmatas y Lenguajes Formales 6


TEMA 4: AUTMATAS FINITOS
SISTEMAS DE ESTADOS FINITOS (2)
z Un Autmata Finito es, en particular, un sistema de
estados finitos que reconoce palabras, y, en general, un
modelo matemtico para describir sistemas de estados
finitos.
z Ejemplo de Sistema de
Estados Finitos (SEF).
Control de un ascensor
{ Estados: (parado-piso-i, en-
marcha-hasta-i)
{ Acciones: (pulsar-boton-
piso-i, stop)

Teora de Autmatas y Lenguajes Formales 7


TEMA 4: AUTMATAS FINITOS
SISTEMAS DE ESTADOS FINITOS (2)
z Un Autmata Finito es, en particular, un sistema de
estados finitos que reconoce palabras, y, en general, un
modelo matemtico para describir sistemas de estados
finitos.
z Ejemplo de Sistema de
Estados Finitos (SEF).
Control de un ascensor
{ Estados: (parado-piso-i, en-
marcha-hasta-i)
{ Acciones: (pulsar-boton-
piso-i, stop)

Teora de Autmatas y Lenguajes Formales 8


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (1)
DESCRIPCIN INFORMAL
zUn Autmata Finito Determinista es un SEF que reconoce
palabras de un determinado lenguaje. Se denomina
determinista porque su comportamiento queda determinado
conocida la entrada.
zSe compone de:
{ Una Cinta de entrada dividida en celdas, la cual contiene la palabra
de entrada (un smbolo por cada celda y desde la izquierda).
{ Una Cabeza lectora, la cual apunta a una celda de la cinta
determinada.
{ Un Control finito; es como una caja negra que contiene el
mecanismo de transicin entre los estados en donde puede
permanecer.
Teora de Autmatas y Lenguajes Formales 9
TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (2)

a a a b b

Cabeza lectora

Control

Autmata finito

Estado: Inicial

Teora de Autmatas y Lenguajes Formales 10


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (2)

a a a b b

Cabeza lectora

Control

Autmata finito

Estado: Tras leer a

Teora de Autmatas y Lenguajes Formales 11


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (2)

a a a b b

Cabeza lectora

Control

Autmata finito

Estado: Siguiente a

Teora de Autmatas y Lenguajes Formales 12


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (2)

a a a b b

Cabeza lectora

Control

Autmata finito

Estado: Aceptado

Teora de Autmatas y Lenguajes Formales 13


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (3)

zFuncionamiento: Cada lenguaje tiene asociado (al


menos) un Autmata Finito.
{Lee los smbolos de entrada de izquierda a derecha.
{Cambia de estado con cada smbolo.
{Segn el tipo de estado en donde quede tras el
ltimo smbolo ledo, se decide si la palabra se
acepta o no.
{Para leer una palabra de n smbolos, el AF realiza n
transiciones, visitando (el control) n+1 estados.

Teora de Autmatas y Lenguajes Formales 14


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (4)

a1, a2, , an a1, a2, , an a1, a2, , an

q0 qi1 qin- qF
1

Teora de Autmatas y Lenguajes Formales 15


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (5)
DESCRIPCIN FORMAL
z Un AFD es una quntupla M = (Q, , , q0, F) donde:
z Q: Conjunto finito y no vaco de estados {q0, q1, , qn-1}.
z : Alfabeto de entrada: conjunto finito y no vaco de
smbolos.
z q0 Q: Estado inicial.
z F Q: Subconjunto de estados finales.
z : Funcin de transicin: reglas de cambio de estados.
: Q x Q (totalmente definida)
donde, si (p, a) = q, significa que el AFD pasa del
estado p al estado q cuando lee la entrada a.
Teora de Autmatas y Lenguajes Formales 16
TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (6)
z El trmino determinista hace referencia a que desde un estado
p Q y una entrada a , el AFD cambia de forma nica y
determinista a uno y solo uno de los estados de Q.
z La simplicidad del AFD radica en que, para cambiar de estado,
basta conocer el estado actual y el smbolo de entrada
correspondiente, sin necesidad de conocer qu ha pasado
hasta este momento (no hace falta memoria adicional).

Teora de Autmatas y Lenguajes Formales 17


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (7)
REPRESENTACIN (1)
z Un AFD M = (Q, , , q0, F) puede representarse:
a): Como un grafo dirigido: Los nodos son los estados Q y las
aristas son ternas (p,q,a) (p, a) = q, donde p,q Q y a .

z Existen estados no finales a


donde va cualquier salida
no indicada, denominados
estados sumideros

Teora de Autmatas y Lenguajes Formales 18


TEMA 4: AUTMATAS FINITOS
EJEMPLO

z Consideremos el AFD M = ({q0,q1,q2,q3}, {a,b}, , q0,


{q2}), donde viene dada por:
(q0,a) = q1 (q0,b) = q3
(q1,a) = q2 (q1,b) = q1
(q2,a) = q3 (q2,b) = q3
(q3,a) = q3 (q3,b) = q3
Representar este AFD mediante un grafo dirigido.

Teora de Autmatas y Lenguajes Formales 19


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (8)
REPRESENTACIN (2)
z Un AFD M = (Q, , , q0, F) puede representarse:
b): Como una tabla de transiciones de la funcin de
transicin , en donde:
{ Las columnas estn etiquetas por los smbolos de .
{ Las filas estn etiquetadas por los estados de Q.
{ El estado inicial se simboliza anteponiendo al smbolo
la marca >.
{ Los estados finales con la marca *.
{ Una casilla [p,a], contendr q si y solo si (p, a) = q
con p,q Q y a .
Teora de Autmatas y Lenguajes Formales 20
TEMA 4: AUTMATAS FINITOS

EJEMPLO

M1 = ({q0,q1,q2}, {a,b}, , q0, {q0,q1})

Teora de Autmatas y Lenguajes Formales 21


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (9)
LENGUAJE ACEPTADO POR UN AFD (1)
zSea un AFD M = (Q, , , q0, F).
{ Una descripcin instantnea (DI) es un par (q,) que
define la situacin de M en un instante dado en el
reconocimiento de una palabra , en donde q es el
estado actual y es el sufijo de que falta por leer.
{ Se denomina transicin vlida a la relacin M entre
dos DIs definida como: (q,a) M (p,) (q, a) = p.
{ A partir de M se define, de forma natural, el cierre
reflexivo y transitivo, *M: Si I1, I2 son dos DIs,
entonces
I1*M I2 J1, J2,, Jn DIs | I1 = J1M J2M Jn = I2,
con n 0.
Teora de Autmatas y Lenguajes Formales 22
TEMA 4: AUTMATAS FINITOS
EJEMPLO

Si tenemos el siguiente AFD:

tenemos que (q0,aabb) (q0,abb) (q0,bb) (q1,b)

Teora de Autmatas y Lenguajes Formales 23


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (10)
LENGUAJE ACEPTADO POR UN AFD (2)
z Veremos ahora otra forma equivalente de definir el
Lenguaje aceptado por un AFD.
z Definiremos Funcin de transicin extendida a palabras
de y lo notaremos como a una funcin:
: Q x Q
como
1. (q, ) = q
2. (q, a) = ((q,),a), q Q, , a
3. Equivalentemente:
(q,a) = ((q,a),), q Q, , a
Teora de Autmatas y Lenguajes Formales 24
TEMA 4: AUTMATAS FINITOS

EJEMPLO

(q0,abb) = ((q0,ab),b) = ((((q0,),a),b),b) = q1

Teora de Autmatas y Lenguajes Formales 25


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (11)

LENGUAJE ACEPTADO POR UN AFD (3)


z Segunda definicin de Lenguaje aceptado por un
AFD a partir de la definicin de .
z Una palabra es aceptada por un AFD M si
(q0,) F.
z Se define el Lenguaje aceptado por M al conjunto:
L(M) = { | (q0,) F }

Teora de Autmatas y Lenguajes Formales 26


TEMA 4: AUTMATAS FINITOS

EJEMPLO (1)
z Construir un AFD para reconocer las cadenas binarias que
tengan un nmero impar de unos.
{Alfabeto de entrada ser: = {0,1}
{Los estados tienen que representar las posibles situaciones:
zLa subcadena leda hasta ahora tiene nmero par de unos q0
zLa subcadena leda hasta ahora tiene nmero impar de unos q1

1
0

q0 q1
0
1
Teora de Autmatas y Lenguajes Formales 27
TEMA 4: AUTMATAS FINITOS

EJEMPLO (1)
z Construir un AFD para reconocer las cadenas binarias que
tengan un nmero impar de unos.
{Alfabeto de entrada ser: = {0,1}
{Los estados tienen que representar las posibles situaciones:
zLa subcadena leda hasta ahora tiene nmero par de unos q0
zLa subcadena leda hasta ahora tiene nmero impar de unos q1

1
0

q0 q1
0
1
Teora de Autmatas y Lenguajes Formales 28
TEMA 4: AUTMATAS FINITOS
EJEMPLO (2)

zConstruir un AFD para reconocer las cadenas vlidas


de ADN.
zUna cadena de ADN est formada por dos cadenas.
zLa informacin gentica reside en el orden en que
aparecen las cuatro bases Adenina, Timina, Guanina
y Citosina.
zAdems se conoce que por condicionante qumicos
la Adenina slo puede emparejarse con la Timina y la
Citosina con la Guanina.
zNo permitimos la cadena .
Teora de Autmatas y Lenguajes Formales 29
TEMA 4: AUTMATAS FINITOS
EJEMPLO (2)

Teora de Autmatas y Lenguajes Formales 30


TEMA 4: AUTMATAS FINITOS
EJEMPLO (2)

Teora de Autmatas y Lenguajes Formales 31


TEMA 4: AUTMATAS FINITOS
EJEMPLO (2)

Teora de Autmatas y Lenguajes Formales 32


TEMA 4: AUTMATAS FINITOS
EJEMPLO (3)

zRepresentar el autmata finito que genera el lenguaje


L = {abna | n 0}.
a

b
q0 q1

b a
a,b
a,b q2 q3

Teora de Autmatas y Lenguajes Formales 33


TEMA 4: AUTMATAS FINITOS

PROBLEMAS

1. Dados los siguientes AFD


AFD1 = ( {A,B}, {a,b,c}, 1, A, {B} )
AFD2 = ( {A,B}, {a,b,c}, 2, A, {B} )

1 a b c 2 a b c
A A B A A B A A
B B B B B B B B

Determinar el lenguaje aceptado por cada uno de ellos.


Teora de Autmatas y Lenguajes Formales 34
TEMA 4: AUTMATAS FINITOS

PROBLEMAS

2. Construir los AFD que acepten los siguientes lenguajes con


el alfabeto {0,1}.
a) El conjunto de todas las cadenas terminadas en 00.
b) El conjunto de todas las cadenas con tres ceros
consecutivos.
c) El conjunto de todas las cadenas en las que el nmero de
ceros sea divisible por 5 y el nmero de unos sea divisible
por 3.
d) El conjunto de todas las cadenas que comiencen por 1 y
que, si se interpretan como la representacin binaria de un
entero, sean mltiplos de 5 (Ejemplo: 101, 1010, 1111).

Teora de Autmatas y Lenguajes Formales 35


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (12)

ESTADOS ACCESIBLES. AUTMATA CONEXO


Sea un AFD M, entonces:
z Un estado q Q es accesible desde otro estado p
Q si existe una palabra * tal que (p,) = q.
z Nota: Cualquier estado es siempre accesible desde
l mismo a travs de la palabra vaca .
z Un AFD es conexo si cualquiera de sus estados es
accesible desde el estado inicial q0.

Teora de Autmatas y Lenguajes Formales 36


TEMA 4: AUTMATAS FINITOS
EJEMPLO

Teora de Autmatas y Lenguajes Formales 37


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (13)

AFD CONEXO EQUIVALENTE (1)


z Sea un AFD M. Llamaremos Mc al subautmata
conexo de M donde:
{ Qc = {q | q Q y q es accesible en M desde q0}
{ c =
{ q0c = q0
{ Fc = F Qc
{ c ser una restriccin de a Qc x c Qc

Teora de Autmatas y Lenguajes Formales 38


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (14)

AFD CONEXO EQUIVALENTE (2)


z Propiedad: Dado un AFD M siempre existe un AFD
conexo Mc equivalente a M.
Demostraremos la doble inclusin:
Si x L(M) * (q0, x) F
* (q0, x) = p F, entonces p es accesible
* (q0, x) F Qc
* (q0, x) Fc
x L(Mc)
Si x L(Mc) * (q0, x) Fc F
* (q0, x) F
x L(M)

Teora de Autmatas y Lenguajes Formales 39


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (15)
ALGORITMO PARA AFD CONEXO EQUIVALENTE
z Veremos un algoritmo que, basado en la definicin de AFD
conexo, busca en anchura en el grafo desde q0 hasta
completar todos los posibles caminos dirigidos desde este
estado inicial.
Dado un AFD M = (Q, , , q0, F) calcular el AFD conexo Mc =
(Qc, , c, q0, Fc).
1. Qc = {q0} e i = 0, nmero de fila.
2. Mientras hay estado qj Qc y qj no est en la tabla, hacer:
a) Crear una fila i en la tabla para qj
b) Rellenar fila i con los estados Ei = {q | (qj , a) = q, a }
c) Etiquetar nuevas filas con los estados Nuevos = Ei - Qc
d) Qc = Qc Nuevos e i = i + 1
3. Fc = F Qc
Teora de Autmatas y Lenguajes Formales 40
TEMA 4: AUTMATAS FINITOS

EJEMPLO

Construir el AFD conexo Mc para el siguiente


AFD:

Teora de Autmatas y Lenguajes Formales 41


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (16)

MINIMIZACIN DE AFDs (1)


z Dado un AFD M podemos intuir que varios estados
se pueden comportar de similar manera ante una
palabra o subpalabra de entrada.
z Informalmente, dos estados p y q sern equivalentes
si, cuando estamos reconociendo una palabra , lo
que ocurra tras leer desde p es lo mismo que leer
desde q.

Teora de Autmatas y Lenguajes Formales 42


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (17)

MINIMIZACIN DE AFDs (2)


zFormalmente: Hemos de definir la relacin E. Dos
estados son equivalentes y lo notamos por pEq si:
x , *(p, x) F *(q, x) F
zDos estados son equivalentes en longitud n y lo
notaremos como pEnq si:
x , |x| n, *(p, x) F *(q, x) F
zA partir de las definiciones anteriores, se sigue que pEq
pEnq, n, y tambin que pEnq pEkq, k < n.
Teora de Autmatas y Lenguajes Formales 43
TEMA 4: AUTMATAS FINITOS

EJEMPLO

1
> q0 q1

0 0 1

0,1 q3 q2 1
0

Teora de Autmatas y Lenguajes Formales 44


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (18)
MINIMIZACIN DE AFDs (3)
z Dado un AFD M. Las relaciones E y Ei son relaciones de
equivalencia. Por lo tanto existen los conjuntos cocientes
Q = Q/E y Qi = Q/Ei .
Q/E0 = Q0 = {Q00, Q01, ...}
Q/E1 = Q1 = {Q10, Q11, ...}
...
Q/Em, = Qm = {Qm0, Qm1, ...}
z Se sabe que: Si pEi+1q pEiq.
z Dado Qi = {Qi0, Qi1, ... , Qim} y p, q Qij , entonces se
cumple:
pEi+1q a , Qik Qi | (p, a), (q, a) Qik
z Esto significa que podemos obtener Qi+1 a partir de Qi,
empezando por Q0.
Teora de Autmatas y Lenguajes Formales 45
TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (19)

MINIMIZACIN DE AFDs (4)


ALGORITMO DEL CALCULO DE LOS CONJUNTOS
COCIENTES Qi
1. Q0 = { Q-F, F }, i = 0
2. Mientras haya cambios (Qi Qi+1)
a) Qi = { Qi0, Qi1, Qim }
b) Para cada Qij Qi hacer subgrupos S1, S2, ..., Sh
tales que:
p, q Sr a , Qik | (p, a) (q, a) Qik
c) i = i + 1

Teora de Autmatas y Lenguajes Formales 46


TEMA 4: AUTMATAS FINITOS
EJEMPLO (1)
Calcular las clases de equivalencia Q/E del AFD:
Paso 1: Q0
Q00 = {q0, q1, q2} (no finales) ; Q01 = {q3} (finales)
Paso 2: Q1

0 1
1 q0 Q01 Q00
> q0 q1
Q00 q1 Q01 Q00
q2 Q01 Q00
0 0 1 Q01 q3 Q01 Q01

0,1 1 Q10 = Q00 ; Q11 = Q01


q3 q2
0 Paso 3: Q1 = Q0 FIN

Teora de Autmatas y Lenguajes Formales 47


TEMA 4: AUTMATAS FINITOS

EJEMPLO (2)
Calcular las clases de equivalencia Q/E del AFD:
0
> q0 q1
0
1 1

q2 q3
1 0

0 1

0 q5 0,1
q4
1

Teora de Autmatas y Lenguajes Formales 48


TEMA 4: AUTMATAS FINITOS
AUTMATAS FINITOS DETERMINISTAS (20)
MINIMIZACIN DE AFDs (5)
z Entrada: AFD M = (Q, , , q0, F).
z Salida: AFD M = (Q, , , q0, F) tal que L(M) = L(M) y
|Q| |Q|.
1. Eliminar de Q todos los estados inaccesibles desde q0. Es
decir, obtener Mc de M.
2. Construir Q = Q/E de Mc.
3. Construir el autmata M como sigue:
z Q = Q/E = {Q0, Q1, ..., Qn}
z q0 = Qi Q con q0 Qi
z F = {Qi Q con Qi F}
z (Qi,a) = Qj p Qi tal que (p,a) Qj
Teora de Autmatas y Lenguajes Formales 49
TEMA 4: AUTMATAS FINITOS

EJEMPLO
Minimizar el siguiente AFD:
0
> q0 q1
0
1 1

q2 q3
1 0

0 1

0 q5 0,1
q4
1

Teora de Autmatas y Lenguajes Formales 50