62111193 Metodo de Thompson

44
Evander Flores ([email protected]) 1 Método de Thompson

Transcript of 62111193 Metodo de Thompson

Page 1: 62111193 Metodo de Thompson

Evander Flores ([email protected])

1

Método de Thompson

Page 2: 62111193 Metodo de Thompson

Contenidos

2

Objetivos

Alcance

Desarrollo del tema

Resumen

Ejercicio

Page 3: 62111193 Metodo de Thompson

Objetivos

3

Definir el proceso del Algoritmo de Construcción de

Thompson a partir de una ER

Construir a partir de AFN un AFD equivalente por el cálculo

de la cerradura

Page 4: 62111193 Metodo de Thompson

Alcances

4

Método de Construcción de AFN de Thompson.

Kenneth Lane Thompson.

Nomenclatura

Transformación de AFN – AFD

Cálculo de la Cerradura

Proceso de Transformación

Page 5: 62111193 Metodo de Thompson

Algoritmo de Construcción

Thompson

Kenneth Lane Thompson, Nomenclatura,

5

Page 6: 62111193 Metodo de Thompson

Algoritmo de Construcción de Thompson

En honor a Kenneth Lane

Thompson, pionero en el desarrollo

de sistemas operativos y

procesadores.

Diseñador y colaborador del

Sistema Operativo Unix , Lenguaje

Bon, B, C.

6

Page 7: 62111193 Metodo de Thompson

Algoritmo de Construcción de

Thompson

7

El algoritmo construye a partir de expresiones regulares un

diagrama de AFN, para luego poder generar un AFD mínimo

equivalente.

Utiliza una notación estándar para generar un AFN

Page 8: 62111193 Metodo de Thompson

Nomenclatura de Thompson

8

Para la representación de una cadena vacía se utiliza el símbolo

ε.

Cadena Vacía

Φ

Page 9: 62111193 Metodo de Thompson

Nomenclatura de Thompson

9

Para representar un símbolo, se utilizan dos estados y una

transición para el movimiento con el símbolo.

r

Page 10: 62111193 Metodo de Thompson

Nomenclatura de Thompson

10

Para la concatenación de dos símbolos es necesario únicamente

se unen cada uno de los símbolos por

rs

Concatenación de símbolo

Page 11: 62111193 Metodo de Thompson

Nomenclatura de Thompson

11

Para la elección de alternativas, crear transiciones ε para la

unión de las transiciones.

r | s

Elección de alternativas

Page 12: 62111193 Metodo de Thompson

Nomenclatura de Thompson

12

Para la cerradura Positiva, se agregan transiciones ε para

retornar al estado previo, permitiendo agregar 1 o

mas veces el símbolo

r +

Cerradura de Kleene

Page 13: 62111193 Metodo de Thompson

Para la cerradura de Kleene, se agregan transiciones ε

para retornar a estado previo. Y otra transición ε para

saltar la transición con r.

Nomenclatura de Thompson

11/08/2011 13

r *

Cerradura de Kleene

13

Page 14: 62111193 Metodo de Thompson

Diagrama del AFN que representa la ER

a*b.

1. Parte de la cerradura de Kleene.

Ejemplo Método de Thompson

14

a*b

Page 15: 62111193 Metodo de Thompson

2. Para continuar se generan la

concatenación del símbolo b

Ejemplo Método de Thompson

11/08/2011 15

a*b

15

Page 16: 62111193 Metodo de Thompson

3. Para finalizar se numeran los estados y

se indica el estado inicial y final

Ejemplo Método de Thompson

16

a*b

Page 17: 62111193 Metodo de Thompson

A partir de la ER (b|(b*a)*)a

1. Parte de la cerradura de Kleene que se

encuentra dentro de paréntesis.

Ejemplo Método de Thompson

11/08/2011 17

(b|(b*a)*)a

17

Page 18: 62111193 Metodo de Thompson

A partir de la ER (b|(b*a)*)a

2. Completamos dicho paréntesis

concatenando el símbolo a

Ejemplo Método de Thompson

11/08/2011 18

(b|(b*a)*)a

18

Page 19: 62111193 Metodo de Thompson

A partir de la ER (b|(b*a)*)a

3. Aplicar la Cerradura de Kleene al

paréntesis

Ejemplo Método de Thompson

11/08/2011 19

(b|(b*a)*)a ε

ε

19

Page 20: 62111193 Metodo de Thompson

A partir de la ER (b|(b*a)*)a

4. La elección de alternativas del b y el

diagrama anterior.

Ejemplo Método de Thompson

11/08/2011 20

(b|(b*a)*)a ε

ε

20

Page 21: 62111193 Metodo de Thompson

5. Concatenamos el último símbolo,

enumerando e indicando el estado

inicial y el final

Ejemplo Método de Thompson

11/08/2011 21

(b|(b*a)*)a ε

ε

21

Page 22: 62111193 Metodo de Thompson

Conversión AFN - AFD

Cálculo de la Cerradura

22

Page 23: 62111193 Metodo de Thompson

Cálculo de la Cerradura

23

Parte de la unión de conjunto de estados pertenecientes al AFN,

que se representara por un único estado en el AFD.

Donde existe un camino etiquetado que conduce del estado de

inicio al de aceptación.

Page 24: 62111193 Metodo de Thompson

Operaciones de Cerradura Clausura (Sn): conjunto de estados del AFN alcanzables desde

el estado Sn, con transiciones ε (épsilon) Por ejemplo desde q0 se puede alcanzar

q1, q2, q4.

24

Page 25: 62111193 Metodo de Thompson

Operaciones de Cerradura Mov(T,a): representa el movimiento desde el estado T, con

una transición a, que es parte del alfabeto.

La transición Mov(q2,a) logra llegar al estado q3

25

Page 26: 62111193 Metodo de Thompson

Operaciones de Cerradura

Es importante llevar el control de las cerraduras que se crean,

llevar el control de su uso e identificarlas cuando se haya

finalizado el análisis.

Además de indicar claramente los estados de inicio y el final del

autómata.

26

Page 27: 62111193 Metodo de Thompson

Construcción de Tabla de

Transiciones

Cada estado se obtiene de la cerradura, y representa

una fila.

Cada símbolo de entrada o carácter representa una

columna.

La unión del estado y el símbolo representa el conjunto

resultante al operar la cerradura.

El estado de aceptación es el conjunto de estados en el

que se incluye el estado de aceptación

27

Page 28: 62111193 Metodo de Thompson

Transformación AFD - AFD

Cálculo de la Cerradura

28

Page 29: 62111193 Metodo de Thompson

Transformación NFA - DFA

29

La transformación se hace a través de la utilización de la

cerradura de épsilon.

La función cerradura es concentrar en un sólo estado

situaciones similares dentro del AFN original para la

construcción de un AFD equivalente.

Page 30: 62111193 Metodo de Thompson

Calculo de la Cerradura

30

Se calcula al estar en un estado si existe una trayectoria con

épsilon: es decir, no se requiere de un símbolo determinado

para llegar a otro estado. Y a este se le asigna un nombre. Por

lo general una letra.

Luego se calcula los movimientos de este a través de los

símbolos del AFN.

Y se continua con el siguiente estado.

Page 31: 62111193 Metodo de Thompson

Ejemplo AFN - AFD

31

Como ejemplo utilizaremos la expresión regular x ( x | y ) *

x que se representa a través del siguiente AFN.

Page 32: 62111193 Metodo de Thompson

AFN

32

Page 33: 62111193 Metodo de Thompson

33

C(0) = {0} → lo definimos como A

Mov(A,x) = {1} * calculamos el siguiente estado

Mov(A,y) = {}

Ejemplo AFN - AFD

Page 34: 62111193 Metodo de Thompson

34

C(1) = {1,2,3,5,8} → lo definimos como B

Mov(B,x) = {4, 9} * calculamos el siguiente estado

q8

Ejemplo AFN - AFD

Page 35: 62111193 Metodo de Thompson

35

C(1) = {1,2,3,5,8} → lo definimos como B

Mov(B,x) = {4, 9}

Mov(B,y) = {6} * calculamos el siguiente estado

Ejemplo AFN - AFD

Page 36: 62111193 Metodo de Thompson

Ejemplo AFN - AFD

36

C(4,9) = {4,9,7,8,2,3,5} → C *estado de aceptacion

Mov(C,x) = {4, 9} C

Mov(C,y) = {6}

q8

Page 37: 62111193 Metodo de Thompson

37

C(6) = {6, 7, 8, 2, 3, 5} → D

Mov(D,x) = {4, 9} C

Mov(D,y) = {6} D

q4

Ejemplo AFN - AFD

Page 38: 62111193 Metodo de Thompson

Ejemplo AFN - AFD

38

Luego terminado el proceso, se procede a crear una tabla de

resumen de las transiciones generadas.

x y

A B

B C D

C C D

D C D

Page 39: 62111193 Metodo de Thompson

Ejemplo AFN – AFD

39

AFD Resultante

A D

B

C

x

y

x

x

y

y

x

Page 40: 62111193 Metodo de Thompson

40

Ejemplo AFN - AFD

x y

A B

B C D

C C D

D C D

B y D son estados equivalentes por lo que el

autómata puede ser reducido.

Page 41: 62111193 Metodo de Thompson

Ejemplo AFN-AFD

41

Se puede minimizar el numero de estados a partir de la tabla

de transiciones en donde existan las mismas transiciones

desde estados distintos Sn con un simbolo a Є al alfabeto ∑,

entonces se puede suprimir el estado Sj por el estado Sn

siempre y cuando Sj no sea un estado de aceptacion.

Page 42: 62111193 Metodo de Thompson

42

x y

A B

B C B

C C B

Ejemplo AFN - AFD

A

C

x

x

Tabla reducida

DFA Reducido

B

x

y

y

Page 43: 62111193 Metodo de Thompson

RESUMEN

43

Los AFN difieren de AFD que el movimiento de estados

puede ser a varios estados con el mismo símbolo.

Se pueden construir diagramas de AFD por medio de la

utilización del Algoritmo de Thompson para un AFN.

Page 44: 62111193 Metodo de Thompson

RESUMEN

44

AFD son un conjunto finito de estados y un conjunto de

transiciones de estado a estado, que se dan sobre símbolos de

entrada tomados de un alfabeto S .

Para cada símbolo de entrada existe exactamente una

transición a partir de cada estado.