You are on page 1of 44

Mtodo de Thompson

Evander Flores (evanderex@gmail.com)

Contenidos
Objetivos Alcance Desarrollo del tema Resumen

Ejercicio
2

Objetivos
Definir el proceso del Algoritmo de Construccin de

Thompson a partir de una ER


Construir a partir de AFN un AFD equivalente por el clculo

de la cerradura

Alcances
Mtodo de Construccin de AFN de Thompson.
Kenneth Lane Thompson. Nomenclatura

Transformacin de AFN AFD


Clculo de la Cerradura

Proceso de Transformacin

Algoritmo de Construccin Thompson


Kenneth Lane Thompson, Nomenclatura,

Algoritmo de Construccin de Thompson


En

honor a Kenneth Lane Thompson, pionero en el desarrollo de sistemas operativos y procesadores. y colaborador del Sistema Operativo Unix , Lenguaje Bon, B, C.

Diseador

Algoritmo de Construccin de Thompson


El algoritmo construye a partir de expresiones regulares un

diagrama de AFN, para luego poder generar un AFD mnimo equivalente.


Utiliza una notacin estndar para generar un AFN

Nomenclatura de Thompson
Para la representacin de una cadena vaca se utiliza el smbolo .

Cadena Vaca
8

Nomenclatura de Thompson
Para representar un smbolo, se utilizan dos estados y una transicin para el movimiento con el smbolo.

Nomenclatura de Thompson
Para la concatenacin de dos smbolos es necesario nicamente se unen cada uno de los smbolos por

rs

Concatenacin de smbolo

10

Nomenclatura de Thompson
Para la eleccin de alternativas, crear transiciones para la unin de las transiciones.

r|s

Eleccin de alternativas
11

Nomenclatura de Thompson
Para la cerradura Positiva, se agregan transiciones para retornar al estado previo, permitiendo agregar 1 o mas veces el smbolo

r+

Cerradura de Kleene
12

Nomenclatura de Thompson
Para la cerradura de Kleene, se agregan transiciones para retornar a estado previo.Y otra transicin para saltar la transicin con r.

r*

Cerradura de Kleene
13 11/08/2011 13

Ejemplo Mtodo de Thompson


Diagrama del AFN que representa la ER a*b. 1. Parte de la cerradura de Kleene. a*b

14

Ejemplo Mtodo de Thompson


2. Para continuar se generan la concatenacin del smbolo b a*b

15 11/08/2011

15

Ejemplo Mtodo de Thompson


3. Para finalizar se numeran los estados y se indica el estado inicial y final a*b

16

Ejemplo Mtodo de Thompson


A partir de la ER (b|(b*a)*)a 1. Parte de la cerradura de Kleene que se encuentra dentro de parntesis. (b|(b*a)*)a

17 11/08/2011

17

Ejemplo Mtodo de Thompson


A partir de la ER (b|(b*a)*)a 2. Completamos dicho parntesis concatenando el smbolo a (b|(b*a)*)a

18 11/08/2011

18

Ejemplo Mtodo de Thompson


A partir de la ER (b|(b*a)*)a 3. Aplicar la Cerradura de Kleene al parntesis (b|(b*a)*)a

19 11/08/2011

19

Ejemplo Mtodo de Thompson


A partir de la ER (b|(b*a)*)a 4. La eleccin de alternativas del b y el diagrama anterior. (b|(b*a)*)a

20 11/08/2011

20

Ejemplo Mtodo de Thompson


5. Concatenamos el ltimo smbolo, enumerando e indicando el estado inicial y el final (b|(b*a)*)a

21 11/08/2011

21

Conversin AFN - AFD


Clculo de la Cerradura

22

Clculo de la Cerradura
Parte de la unin 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 aceptacin.

23

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

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

una transicin a, que es parte del alfabeto. La transicin Mov(q2,a) logra llegar al estado q3

25

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 anlisis. Adems de indicar claramente los estados de inicio y el final del autmata.

26

Construccin de Tabla de Transiciones


Cada estado se obtiene de la cerradura, y representa

una fila. Cada smbolo de entrada o carcter representa una columna. La unin del estado y el smbolo representa el conjunto resultante al operar la cerradura. El estado de aceptacin es el conjunto de estados en el que se incluye el estado de aceptacin

27

Transformacin AFD - AFD


Clculo de la Cerradura

28

Transformacin NFA - DFA


La transformacin se hace a travs de la utilizacin de la

cerradura de psilon.
La funcin cerradura es concentrar en un slo estado

situaciones similares dentro del AFN original para la construccin de un AFD equivalente.

29

Calculo de la Cerradura
Se calcula al estar en un estado si existe una trayectoria con

psilon: es decir, no se requiere de un smbolo 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 travs de los smbolos del AFN. Y se continua con el siguiente estado.

30

Ejemplo AFN - AFD


Como ejemplo utilizaremos la expresin regular x ( x | y ) * x que se representa a travs del siguiente AFN.

31

AFN

32

Ejemplo AFN - AFD


C(0) = {0} lo definimos como A Mov(A,x) = {1} * calculamos el siguiente estado Mov(A,y) = {}

33

Ejemplo AFN - AFD


C(1) = {1,2,3,5,8} lo definimos como B Mov(B,x) = {4, 9} * calculamos el siguiente estado

q8

34

Ejemplo AFN - AFD


C(1) = {1,2,3,5,8} lo definimos como B Mov(B,x) = {4, 9} Mov(B,y) = {6} * calculamos el siguiente estado

35

Ejemplo AFN - AFD


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

36

Ejemplo AFN - AFD


C(6) = {6, 7, 8, 2, 3, 5} D Mov(D,x) = {4, 9} C Mov(D,y) = {6} D

q4

37

Ejemplo AFN - AFD


Luego terminado el proceso, se procede a crear una tabla de resumen de las transiciones generadas.

y D D D

A
B C D

B
C C C

38

Ejemplo AFN AFD


AFD Resultante
x C A x B x y

y D y

39

Ejemplo AFN - AFD


x A B y

B
C D

C
C C

D
D D B y D son estados equivalentes por lo que el autmata puede ser reducido.

40

Ejemplo AFN-AFD
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.

41

Ejemplo AFN - AFD


Tabla reducida x y B B x C A x

A
B C DFA Reducido

B
C C

x B
y

42

RESUMEN
Los AFN difieren de AFD que el movimiento de estados

puede ser a varios estados con el mismo smbolo. Se pueden construir diagramas de AFD por medio de la utilizacin del Algoritmo de Thompson para un AFN.

43

RESUMEN
AFD son un conjunto finito de estados y un conjunto de

transiciones de estado a estado, que se dan sobre smbolos de entrada tomados de un alfabeto S . Para cada smbolo de entrada existe exactamente una transicin a partir de cada estado.

44

You might also like