Método del Árbol

September 8, 2017 | Author: Evander Flores | Category: Mathematical Concepts, Applied Mathematics, Areas Of Computer Science, Mathematics, Physics & Mathematics
Share Embed Donate


Short Description

Descripción: Procedimiento transformacion de expresion regular a automata finito deterministico AFD FDA por medio del me...

Description

Método del Árbol

Evander Flores ([email protected])

1

Contenidos Objetivos Alcance Desarrollo del tema Resumen 2

Objetivos  Definir el método de construcción de un DFA óptimo por

medio de los métodos del árbol y de subconjuntos.  Ejercitar la construcción de DFA partiendo de ER.

3

Alcances  Método de Árbol  Definición.  Proceso  Ejemplo  Método de Subconjuntos

4

Método del árbol Proceso de transformación de ER hacia un DFA óptimo

5

Método del Árbol Partiendo de una expresión regular  Permite la reducción de estados repetitivos.  Produce autómatas más eficientes  Permite la eliminación de nulos Creando un DFA óptimo.

6

Método 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.

7

Método del Árbol

Aumento de ER con $ El símbolo $ permite definir la finalización de la expresión regular. Por ejemplo:  (b*|a*)a$  a*b(b|a*)$

 (a|(ba)*)ba*$

8

Método del Árbol

Crear el árbol asociado ε

a

$

a|b

ab

a*

Respetando la Precedencia de operadores 9

Método 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 . .

Nodo RAIZ $ 4

L

*

1 |

10

L 2

D 3

CALCULO DE ANULABLES

11

Nodo

Anulabilidad

Hoja ε

Verdadero

Hoja a

Falso

Alternativa

Anulable(C1) OR Anulable(C2)

Union

Anulable(C1) AND Anulable(C2)

Cerradura Kleene

Verdadero

Cerradura Positiva

Anulable(C1)

Aparicion

Verdadero

CALCULO DE PRIMEROS/FIRST Nodo

Primeros/First

Hoja ε

Φ

Hoja a

Número de la Hoja

Alternativa First(C1) U First(C2) Union

If Anulable(C1) then First(C1) U First(C2) Else First(C1)

Cerradura Kleene First(C1)

12

Cerradura Positiva

First(C1)

Aparicion

First(C1)

CALCULO DE ULTIMOS/LAST Nodo Hoja ε Hoja a

Ultimos/Last Φ Número de la Hoja

Alternativa Last(C1) U Last(C2) Union

If Anulable(C2) then Last(C1) U Last(C2) Else Last(C2)

Cerradura Kleene Last(C1)

13

Cerradura Positiva

Last(C1)

Aparicion

Last(C1)

CALCULO DE SIGUIENTES/FOLLOW

14

Nodo

Siguiente

Union

En cada elemento Last(C1) de la lista agregar el First(C2) a su follow

Cerradura Kleene

En cada elemento Last(C1) agregar el First(C1) a su follow

Cerradura Positiva

En cada elemento Last(C1) agregar el First(C1) a su follow

Importante  Los estados de aceptación son todos los que contienen la

posición 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

Método del Árbol

Ejemplo 2. Calcular el Anulable de cada nodo. F .

F .

F $ 4

F L

V *

1 F | F L 2 16

F D 3

ER: L(L|D)*$

Método del Árbol

Ejemplo  Calcular el First de cada nodo. F 1 .

1

F .

F 4 $ 4

1

F L

V 2,3 *

1

2 17

F 2,3 | F L 3 2

F D 3

ER: L(L|D)*$

Método del Árbol

Ejemplo  Calcular el Last de cada nodo. F 1 .

1

4

F F . 1,2,3 4 $

4

4 1

F L

1

V 2,3 *

2,3

1

2 18

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

ER: L(L|D)*$

Método del Árbol

Ejemplo  Hacer el calculo del Follow i

F 1 .

Follow(i)

L

1

2,3,4

L

2

2,3,4

D

3

2,3,4

$

4

-

1

4

F F . 1,2,3 4 $

4

4 1

F L

1

V 2,3 *

2,3

1

2

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

19

Método 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}

F L

1

2,3

1

2 20

V 2,3 *

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

Método 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

Método de Subconjuntos

Ejemplo Contiene a 4 ($) entonces es Un estado de Aceptacion.

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

Siguiente(2)=Siguiente(L)={2,3,4} Siguiente(3)=Siguiente(D)={2,3,4}

22

S1 S1

Método del Árbol

Ejemplo 5. Se construye la Tabla de Transiciones ∑

D

L

0

-

1

1

1

1

Q

23

Método del Árbol

Ejemplo 6. Se construye el AFD (optimo) L,D

S0

24

L

S1

RESUMEN  El método del árbol provee el proceso para la

construcción de un DFA óptimo, partiendo de una expresión regular, realizando el calculo de frist, last y follow, que permite crear subconjuntos que formarán un DFA óptimo.

25

RESUMEN  Pasos del método 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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF