You are on page 1of 26

Mtodo del rbol

Evander Flores (evanderex@gmail.com)

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

Mtodo del rbol


Proceso de transformacin de ER hacia un DFA ptimo

Mtodo del rbol


Partiendo de una expresin regular Permite la reduccin de estados repetitivos. Produce autmatas ms eficientes Permite la eliminacin de nulos Creando un DFA ptimo.

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.

Mtodo del rbol

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*$

Mtodo del rbol

Crear el rbol asociado


a $

a|b

ab

a*

Respetando la Precedencia de operadores


9

Mtodo del rbol

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

CALCULO DE ANULABLES Nodo


Hoja Hoja a Alternativa

Anulabilidad
Verdadero Falso Anulable(C1) OR Anulable(C2)

Union Cerradura Kleene

Anulable(C1) AND Anulable(C2) Verdadero

Cerradura Positiva

Anulable(C1)

Aparicion

Verdadero

11

CALCULO DE PRIMEROS/FIRST Nodo


Hoja Hoja a Alternativa First(C1) U First(C2) Union If Anulable(C1) then First(C1) U First(C2) Else First(C1) First(C1) Cerradura Positiva First(C1)

Primeros/First
Nmero de la Hoja

Cerradura Kleene

Aparicion

First(C1)

12

CALCULO DE ULTIMOS/LAST Nodo


Hoja Hoja a Alternativa Last(C1) U Last(C2) Union If Anulable(C2) then Last(C1) U Last(C2) Else Last(C2) Last(C1) Cerradura Positiva Last(C1)

Ultimos/Last
Nmero de la Hoja

Cerradura Kleene

Aparicion

Last(C1)

13

CALCULO DE SIGUIENTES/FOLLOW Nodo


Union Cerradura Kleene

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

Mtodo del rbol

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)*$

Mtodo del rbol

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)*$

Mtodo del rbol

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)*$

Mtodo del rbol

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

Mtodo del rbol

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

Primeros del nodo raiz Entonces: S0 ={1}


20

F L 1

V 2,3 *

2,3

F 2,3 | 2,3 F F L 2 3 D 2 3

Mtodo del rbol

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

Mtodo del rbol

Ejemplo
5. Se construye la Tabla de Transiciones
Q 0 1 1 1 1 D L

23

Mtodo del rbol

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

You might also like