método del Árbol

Upload: evander-flores

Post on 07-Jul-2015

7.260 views

Category:

Documents


1 download

DESCRIPTION

Procedimiento transformacion de expresion regular a automata finito deterministico AFD FDA por medio del metodo del arbol

TRANSCRIPT

Mtodo del rbol

Evander Flores ([email protected])

1

ContenidosObjetivosAlcance Desarrollo del tema Resumen2

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.

3

Alcances Mtodo de rbol Definicin. Proceso Ejemplo Mtodo de Subconjuntos

4

Mtodo del rbolProceso de transformacin de ER hacia un DFA ptimo

5

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

6

Mtodo del rbolPaso 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.

7

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

8

Mtodo del rbol

Crear el rbol asociado a $

a|b

ab

a*

Respetando la Precedencia de operadores9

Mtodo del rbol

EjemploPor 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 NodoHoja Hoja a Alternativa

AnulabilidadVerdadero 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 NodoHoja 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 NodoHoja 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 NodoUnion Cerradura Kleene

SiguienteEn 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

Ejemplo2. Calcular el Anulable de cada nodo.F . F . F L 1 F | F L 216

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

1

217

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 *

4

1

1

2,3

218

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 Followi L L D $ 1 2 3 4 Follow(i) 2,3,4 2,3,4 2,3,4 1 1 F 1 .

4

F F . 1,2,3 4 $ 4

4

F L1

1

V 2,3 *

2,3

2

F 2,3 | 2,3 F F L 2 3 D 3 2 3ER: L(L|D)*$

19

Mtodo del rbol

Ejemplo4. 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

1

V 2,3 *

2,3

2

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

EjemploS0 ={1} S0 Siguiente(1)=Siguiente(L)={2,3,4} S1 (Nuevo Estado) Se lee como= de S0 nos vamos a S1 con una L S1Contiene 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

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

23

Mtodo del rbol

Ejemplo6. Se construye el AFD (optimo)L,D

S0

L

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