Método de Thompson

download Método de Thompson

of 44

description

Procedimiento de transformacion de expresion regular a automata finito no determinista NFA AFND y automata finito determinista AFD DFA por medio del metodo de thompson

Transcript of Método de Thompson

Mtodo de Thompson

Evander Flores ([email protected])

1

ContenidosObjetivos Alcance Desarrollo del tema Resumen

Ejercicio2

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

3

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

Transformacin de AFN AFD Clculo de la Cerradura

Proceso de Transformacin

4

Algoritmo de Construccin ThompsonKenneth Lane Thompson, Nomenclatura,

5

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

6

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

7

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

Cadena Vaca8

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

r

9

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

rs

Concatenacin de smbolo

10

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

r|s

Eleccin de alternativas11

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

r+

Cerradura de Kleene12

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

r*

Cerradura de Kleene13 11/08/2011 13

Ejemplo Mtodo de ThompsonDiagrama del AFN que representa la ER a*b. 1. Parte de la cerradura de Kleene. a*b

14

Ejemplo Mtodo de Thompson2. Para continuar se generan la concatenacin del smbolo b a*b

15 11/08/2011

15

Ejemplo Mtodo de Thompson3. Para finalizar se numeran los estados y se indica el estado inicial y final a*b

16

Ejemplo Mtodo de ThompsonA 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 ThompsonA 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 ThompsonA 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 ThompsonA 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 Thompson5. Concatenamos el ltimo smbolo, enumerando e indicando el estado inicial y el final (b|(b*a)*)a

21 11/08/2011

21

Conversin AFN - AFDClculo de la Cerradura

22

Clculo de la CerraduraParte 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 CerraduraClausura (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 CerraduraEs 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 - AFDClculo 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 - AFDComo ejemplo utilizaremos la expresin regular x ( x | y ) * x que se representa a travs del siguiente AFN.

31

AFN

32

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

33

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

q8

34

Ejemplo AFN - AFDC(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 - AFDC(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 - AFDC(6) = {6, 7, 8, 2, 3, 5} D Mov(D,x) = {4, 9} C Mov(D,y) = {6} D

q4

37

Ejemplo AFN - AFDLuego terminado el proceso, se procede a crear una tabla de resumen de las transiciones generadas.

x

y D D D

AB C D

BC C C

38

Ejemplo AFN AFDAFD Resultantex C A x B x y

y D y

x

39

Ejemplo AFN - AFDx A B y

BC D

CC C

DD 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 - AFDTabla reducida x y B B x C A x

AB C DFA Reducido

BC C

x By

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