Método de Thompson
Evander Flores (ev (
[email protected])
[email protected])
1
Contenidos Objetivos Alcance Desarrollo del tema Resumen
Ejercicio 2
Objetivos
3
Definir el proceso del Algoritmo de Construcción de Thompson a partir de una ER Construir a partir par tir de AFN un AFD equivalente por el cálculo de la cerradura
Alcances
Método de Construcción de AFN AFN de Thompson.
Transformación ransfor mación de AFN – AFD
4
Kenneth Lane Thompson. Nomenclatura Cálculo de la Cerradura Proceso de Transformación
Algoritmo de Construcción Thompson Kenneth Lane Thompson, Nomenclatura,
5
Algoritmo de Construcción de Thompson
6
En honor a Kenneth Lane Thompson, pionero en el desarrollo de sistemas operativos operativos y procesadores. Diseñador y colaborador del Sistema Operativo Unix , Lenguaje Bon, B, C.
Algoritmo de Construcción de Thompson
7
El algoritmo construye a partir par tir de expresiones regulares regulares un diagrama de AFN, para luego poder generar un AFD mínimo equivalente. Utiliza una notación estándar para generar un AFN
Nomenclatura de Thompson Para la representación de una cadena vacía se utiliza el símbolo ε.
Φ
Cadena Vacía 8
Nomenclatura de Thompson Para representar un símbolo, se utilizan dos estados y una transición para el movimiento movimiento con el e l símbolo. símbolo.
r
9
Nomenclatura de Thompson Para la concatenación concatenación de dos símbolos es necesario únicamente se unen cada uno de los símbolos por
rs
Concatenación de símbolo
10
Nomenclatura de Thompson Para la elección de alternativas, crear crear transiciones ε para la unión de las transiciones.
r|s
Elección de alternativas 11
Nomenclatura de Thompson Para la cerradura Positiva, se agregan transiciones ε para retornar al estado previo, previo, permitiendo agregar 1 o mas veces el símbolo
r+
Cerradura de Kleene 12
Nomenclatura de Thompson Para la cerradura de Kleene, se agregan transiciones ε para retor ret ornar nar a estado previo p revio..Y otra transición transici ón ε para saltar la transición con r.
r*
Cerradura de Kleene 13
Ejemplo Método de Thompson Diagrama del AFN que representa la ER a*b. 1. Parte de la cerradura de Kleene. Kleene. a*b a* b
14
Ejemplo Método de Thompson 2. Para continuar se generan la concatenación del símbolo b a*b a* b
15
Ejemplo Método de Thompson 3. Para finalizar se numeran los estados y se indica el estado inicial y final a*b
16
Ejemplo Método de Thompson A partir de la l a ER (b|(b*a)*)a 1. Parte de la cerradura cerradura de Kleene que se encuentra dentro de paréntesis. (b|(b* (b|( b*a)*)a a)*)a
17
Ejemplo Método de Thompson A partir de la l a ER (b|(b*a)*)a 2. Completamos dicho paréntesis concatenando el símbolo a (b|(b*a (b|( b*a)*)a )*)a
18
Ejemplo Método de Thompson A partir de la l a ER (b|(b*a)*)a 3. Aplicar la Cerradura de Kleene al paréntesis (b|(b*a)* (b| (b*a)*)a )a ε
ε
19
Ejemplo Método de Thompson A partir de la l a ER (b|(b*a)*)a 4. La elección elección de de alternativas alternativas del b y el diagrama anterior. (b|(b*a)* b|(b*a)*)a )a
ε
ε
20
Ejemplo Método de Thompson 5. Concatenamos el último símbolo, enumerando e indicando el estado inicial y el final ε
(b|(b*a)*)a
ε
21
Conversión AFN - AFD Cálculo de la Cerradura
22
Cálculo de la Cerradura Parte de la unión de conjunto de estados pertenecientes per tenecientes al AFN, 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.
23
Operaciones de Cerradura Clausura (Sn): conjunto de estados del AFN alcanzables desde
el estado Sn, con transiciones ε (épsilon)
24
Por ejemplo desde q0 se puede alcanzar q1, q2, q4.
Operaciones de Cerradura
25
Mov(T,a): representa el movimiento desde el estado T, con una transición a, que es parte par te del alfabeto. alfabeto.
La transición transición Mov(q2,a) Mov(q2,a) logra llegar al estado q3
Operaciones de Cerradura Es importante impor tante llevar el control de las cerraduras que se crean, llevar el control de su uso e identificarlas cuando se haya haya finalizado el análisis. Además de indicar claramente los estados de inicio y el final del autómata.
26
Construcción de Tabla de Transiciones
27
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
Transformación AFD AFD - AFD Cálculo de la Cerradura
28
Transformación NFA - DFA
29
La transformación se hace a través 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 orig inal para la construcción de un AFD equivalente.
Calculo de la Cerradura
30
Se calcula al estar en un estado si existe una trayectoria trayectoria con épsilon: es decir, no se requiere de un símbolo determinado para llegar llegar a otro estado es tado..Y a este se le l e asigna un un nombre. Por lo general una letra. Luego se calcula los movimientos movimientos de este a través de los símbolos símbol os del AFN. AFN. Y se continua con el siguiente estado.
Ejemplo AFN - AFD Como ejemplo utilizaremos la expresión regular x ( x | y ) * x que se representa a través 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 { 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 { 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} {4,9,7,8,2,3,5} Mov(C,x) = {4, 9} C Mov(C,y) = {6}
→
C *estado de aceptacion
q8
36
Ejemplo AFN - AFD C(6) = {6, 7, 8, 2, 3, 5} Mov(D,x) = {4, 9} C Mov(D,y) = {6} D
→
D
q4
37
Ejemplo AFN - AFD Luego terminado el proceso, se procede a crear una tabla de resumen de las transiciones generadas.
x
38
y
A
B
B
C
D
C
C
D
D
C
D
Ejemplo AFN – AFD AFD Resultante
x
C A
x
x
x
B
39
y
D y
y
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.
40
Ejemplo AFN-AFD
41
Se puede minimizar el numero de estados a partir par tir 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.
Ejemplo AFN - AFD Tabla reducida x
y
A
B
B
C
B
C
C
B
DFA Reducido
x
C A
x
x
y
B y 42
RESUMEN
43
Los AFN difieren de AFD que el movimiento de estados puede ser a varios vari os estados con el mismo símbolo. símbolo. Se pueden construir diagramas diag ramas de AFD por medio de la utilización del Algoritmo de Thompson para un AFN. AFN.
RESUMEN
44
AFD son un conjunto finito de estados y un conjunto de transiciones de estado a estado, 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 par tir de cada estado.