You are on page 1of 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 Sistemas de estados finitos Autmatas finitos deterministas Autmatas finitos no deterministas Autmatas finitos con transiciones nulas AFND- Autmatas finitos y lenguajes regulares

Teora de Autmatas y Lenguajes Formales

TEMA 4: AUTMATAS FINITOS


SISTEMAS DE ESTADOS FINITOS (1)
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. Ejemplos:
Semforo: (rojo, amarillo, verde). Ascensor: (parado-piso-i, en-marcha). Mquina expendedora: (espera, coge-dinero, sirve ...).

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)
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. Ejemplo de Sistema de Estados Finitos (SEF). Control de un ascensor
Estados: (parado-piso-i, enmarcha-hasta-i) Acciones: (pulsar-botonpiso-i, stop)

Teora de Autmatas y Lenguajes Formales

TEMA 4: AUTMATAS FINITOS


SISTEMAS DE ESTADOS FINITOS (2)
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. Ejemplo de Sistema de Estados Finitos (SEF). Control de un ascensor
Estados: (parado-piso-i, enmarcha-hasta-i) Acciones: (pulsar-botonpiso-i, stop)

Teora de Autmatas y Lenguajes Formales

TEMA 4: AUTMATAS FINITOS


SISTEMAS DE ESTADOS FINITOS (2)
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. Ejemplo de Sistema de Estados Finitos (SEF). Control de un ascensor
Estados: (parado-piso-i, enmarcha-hasta-i) Acciones: (pulsar-botonpiso-i, stop)

Teora de Autmatas y Lenguajes Formales

TEMA 4: AUTMATAS FINITOS


SISTEMAS DE ESTADOS FINITOS (2)
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. Ejemplo de Sistema de Estados Finitos (SEF). Control de un ascensor
Estados: (parado-piso-i, enmarcha-hasta-i) Acciones: (pulsar-botonpiso-i, stop)

Teora de Autmatas y Lenguajes Formales

TEMA 4: AUTMATAS FINITOS


SISTEMAS DE ESTADOS FINITOS (2)
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. Ejemplo de Sistema de Estados Finitos (SEF). Control de un ascensor
Estados: (parado-piso-i, enmarcha-hasta-i) Acciones: (pulsar-botonpiso-i, stop)

Teora de Autmatas y Lenguajes Formales

TEMA 4: AUTMATAS FINITOS


AUTMATAS FINITOS DETERMINISTAS (1)
DESCRIPCIN INFORMAL Un Autmata Finito Determinista es un SEF que reconoce palabras de un determinado lenguaje. Se denomina determinista porque su comportamiento queda determinado conocida la entrada. Se 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) Funcionamiento: 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 . q0 qi1 qin qF a1, a2, , an

Teora de Autmatas y Lenguajes Formales

15

TEMA 4: AUTMATAS FINITOS


AUTMATAS FINITOS DETERMINISTAS (5)
DESCRIPCIN FORMAL Un AFD es una quntupla M = (Q, , , q0, F) donde: Q: Conjunto finito y no vaco de estados {q0, q1, , qn-1}. : Alfabeto de entrada: conjunto finito y no vaco de smbolos. q0 Q: Estado inicial. F Q: Subconjunto de estados finales. : 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)
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. 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)
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 .

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 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) 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) Sea 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)
Veremos ahora otra forma equivalente de definir el Lenguaje aceptado por un AFD. 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) Segunda definicin de Lenguaje aceptado por un AFD a partir de la definicin de . Una palabra es aceptada por un AFD M si (q0,) F. 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)
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:
La subcadena leda hasta ahora tiene nmero par de unos q0 La subcadena leda hasta ahora tiene nmero impar de unos q1
0 1

q0
1

q1
0
Teora de Autmatas y Lenguajes Formales 27

TEMA 4: AUTMATAS FINITOS


EJEMPLO (1)
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:
La subcadena leda hasta ahora tiene nmero par de unos q0 La subcadena leda hasta ahora tiene nmero impar de unos q1
0 1

q0
1

q1
0
Teora de Autmatas y Lenguajes Formales 28

TEMA 4: AUTMATAS FINITOS


EJEMPLO (2) Construir un AFD para reconocer las cadenas vlidas de ADN. Una cadena de ADN est formada por dos cadenas. La informacin gentica reside en el orden en que aparecen las cuatro bases Adenina, Timina, Guanina y Citosina. Adems se conoce que por condicionante qumicos la Adenina slo puede emparejarse con la Timina y la Citosina con la Guanina. No 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) Representar el autmata finito que genera el lenguaje L = {abna | n 0}.
a

q0
b a,b a,b

q1
a

q2

q3
33

Teora de Autmatas y Lenguajes Formales

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 a A B b B B c A B 2 A B a B B b A B c A 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: Un estado q Q es accesible desde otro estado p Q si existe una palabra * tal que (p,) = q. Nota: Cualquier estado es siempre accesible desde l mismo a travs de la palabra vaca . 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) 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) 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 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) Dado un AFD M podemos intuir que varios estados se pueden comportar de similar manera ante una palabra o subpalabra de entrada. 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) Formalmente: Hemos de definir la relacin E. Dos estados son equivalentes y lo notamos por pEq si: x , *(p, x) F *(q, x) F Dos estados son equivalentes en longitud n y lo notaremos como pEnq si: x , |x| n, *(p, x) F *(q, x) F A 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 0 0 q1

>

1 1

0,1

q3

q2

Teora de Autmatas y Lenguajes Formales

44

TEMA 4: AUTMATAS FINITOS


AUTMATAS FINITOS DETERMINISTAS (18) MINIMIZACIN DE AFDs (3) 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, ...} Se sabe que: Si pEi+1q pEiq. Dado Qi = {Qi0, Qi1, ... , Qim} y p, q Qij , entonces se cumple: pEi+1q a , Qik Qi | (p, a), (q, a) Qik 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 1 q0 0 0 q3 q2 q1 1 1
Q00 Q01 q0 q1 q2 q3 0 Q01 Q01 Q01 Q01 1 Q00 Q00 Q00 Q01

>

0,1

Q10 = Q00 ; Q11 = Q01 Paso 3: Q1 = Q0 FIN


47

Teora de Autmatas y Lenguajes Formales

TEMA 4: AUTMATAS FINITOS


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

>

q0 1 q2 0 1

q1 1 0 q3 1

q4

q5

0,1

Teora de Autmatas y Lenguajes Formales

48

TEMA 4: AUTMATAS FINITOS


AUTMATAS FINITOS DETERMINISTAS (20) MINIMIZACIN DE AFDs (5) Entrada: AFD M = (Q, , , q0, F). 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: Q = Q/E = {Q0, Q1, ..., Qn} q0 = Qi Q con q0 Qi F = {Qi Q con Qi F} (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 1 q2 0 1

q1 1 0 q3 1

q4

q5

0,1

Teora de Autmatas y Lenguajes Formales

50

You might also like