Professional Documents
Culture Documents
Contenidos
Objetivos
Alcance Desarrollo del tema Resumen
2
Objetivos
Definir el mtodo de construccin de un DFA ptimo por
medio de los mtodos del rbol y de subconjuntos. Ejercitar la construccin de DFA partiendo de ER.
Alcances
Mtodo de rbol
Definicin. Proceso Ejemplo Mtodo de Subconjuntos
Aumento de ER con $
El smbolo $ permite definir la finalizacin de la expresin regular. Por ejemplo:
(b*|a*)a$ a*b(b|a*)$
(a|(ba)*)ba*$
a|b
ab
a*
Ejemplo
Por ejemplo la siguiente ER: L(L|D)* 1. Aumentar la expresion ER: L(L|D)*$ 2. Construir el arbol de la ER y enumerar las hojas
. . $ 4 L 1 | L 2 D 3 *
Nodo RAIZ
10
Anulabilidad
Verdadero Falso Anulable(C1) OR Anulable(C2)
Cerradura Positiva
Anulable(C1)
Aparicion
Verdadero
11
Primeros/First
Nmero de la Hoja
Cerradura Kleene
Aparicion
First(C1)
12
Ultimos/Last
Nmero de la Hoja
Cerradura Kleene
Aparicion
Last(C1)
13
Siguiente
En cada elemento Last(C1) de la lista agregar el First(C2) a su follow En cada elemento Last(C1) agregar el First(C1) a su follow En cada elemento Last(C1) agregar el First(C1) a su follow
Cerradura Positiva
14
Importante
Los estados de aceptacin son todos los que contienen la
posicin asociada con el marcador de final #/$. El metodo del arbol es un algoritmo por el cual se construye un DFA optimo, sin embargo este DFA NO SIEMPRE SERA UN AUTOMATA CON ESTADOS MINIMOS.
15
Ejemplo
2. Calcular el Anulable de cada nodo.
F . F . F L 1 F | F L 2
16
F $ 4 V *
F D 3
ER: L(L|D)*$
Ejemplo
Calcular el First de cada nodo.
F 1 .
F . V 2,3 * F 2,3 | F L 3 2 F 4 $ 4 1 F L 1
2
17
F D 3
ER: L(L|D)*$
Ejemplo
Calcular el Last de cada nodo.
F 1 .
4
1 F L 1
F F . 1,2,3 4 $ 4 V 2,3 *
2,3
2
18
F 2,3 | 2,3 F F L 2 3 D 3 2 3
ER: L(L|D)*$
Ejemplo
Hacer el calculo del Follow
i L L D $ 1 2 3 4 Follow(i) 2,3,4 2,3,4 2,3,4 1 1 F 1 .
F F . 1,2,3 4 $ 4
F L
1
V 2,3 *
2,3
F 2,3 | 2,3 F F L 2 3 D 3 2 3
ER: L(L|D)*$
19
Ejemplo
4. Construir los subconjuntos a partir de la tabla de siguientes F El primer estado es formado por el 1 . 4 conjunto de elementos que son los F F 1 . 1,2,3 4 $ 4 Primeros del nodo Raiz.
4
F L 1
V 2,3 *
2,3
F 2,3 | 2,3 F F L 2 3 D 2 3
Ejemplo
Se construyen los nuevos estados a partir de los Siguientes de
cada elemento en la lista del Estado Actual, si el conjunto de estados es distinto a los que ya se tienen entonces este conjunto forma un Nuevo Estado. Se repite el Proceso hasta que ya no hayan mas estados. El conjunto de Estados de Aceptacion son aquellos que tengan el numero de la hoja que denota el fin de la Expresion Regular ($ o #)
21
Mtodo de Subconjuntos
Ejemplo
S0 ={1} S0 Siguiente(1)=Siguiente(L)={2,3,4} S1 (Nuevo Estado) Se lee como= de S0 nos vamos a S1 con una L
S1
Contiene a 4 ($) entonces es Un estado de Aceptacion.
Siguiente(2)=Siguiente(L)={2,3,4} Siguiente(3)=Siguiente(D)={2,3,4}
S1 S1
22
Ejemplo
5. Se construye la Tabla de Transiciones
Q 0 1 1 1 1 D L
23
Ejemplo
6. Se construye el AFD (optimo)
L,D
S0
S1
24
RESUMEN
El mtodo del rbol provee el proceso para la
construccin de un DFA ptimo, partiendo de una expresin regular, realizando el calculo de frist, last y follow, que permite crear subconjuntos que formarn un DFA ptimo.
25
RESUMEN
Pasos del mtodo del rbol
Paso 1: Aumentar la ER con $ Paso 2: Crear el rbol asociado a la ER y enumerar las hojas Paso 3: Calcular Anulable, first, last, follow (primeros, ltimos, siguientes) Paso 4: Construir los subconjutos Paso 5: Construir la tabla de transiciones Paso 4: Construir el AFD.
26