Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

Construcción de

Thompson de un AFN a
partir de una expresión
regular

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 1


Construcción de Thompson
La construcción de Thompson construye a partir de una expresión
regular r un AFND que reconoce el lenguaje definido por r, esto se
realiza con el objetivo de que en un algoritmo siguiente se pueda
generar un AFD mínimo equivalente.

Utiliza una notación estándar para generar el AFN

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 2


Notación de Thompson
Para la representación de una cadena vacía se utiliza el símbolo ε.

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 3


Notación de Thompson
Para representar un símbolo, se utilizan dos estados y una transición para el movimiento con el
símbolo.

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 4


Notación de Thompson
Para la concatenación de dos símbolos únicamente se unen

rs

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 5


Notación de Thompson
 Para la elección de alternativas, creamos transiciones ε para la unión de las transiciones.

r|s

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 6


Notación de Thompson
Para la cerradura positiva, se agregan transiciones ε para retornar al estado
previo, permitiendo agregar 1 o mas veces el símbolo.

r+

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 7


Notación 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.

r*

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 8


Ejemplo 1: Diagrama del AFN que
representa la ER a*b

a* b

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 9


Ejemplo 2: Diagrama del AFN que
representa la ER (b|(b*a)*)a
a) Primero hacemos la cerradura de Kleene para b*: (b|(b*a)*)a

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 10


Continuación ejemplo 2
B) Ahora completamos el paréntesis interior (b*a): (b|(b*a)*)a

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 11


Continuación ejemplo 2
c) Aplicamos la cerradura de Kleene al paréntesis (b*a) *: (b|(b*a)*)a

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 12


Continuación ejemplo 2
c) Agregamos la alternativa b, b|(b*a) *: (b|(b*a)*)a

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 13


Continuación ejemplo 2
d) Concatenamos a: (b|(b*a)*)a

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 14


Contruye los AFND
1. (abc)*
2. (b|bc)+
3. letra_(letra_|digito)*
4. (a|b)*abb
5. [(b|b*a)*]a
6. (a*|b+) +

TEORÍA COMPUTACIONAL - PROF. RAFAEL AGUILAR ESCOM - IPN 15

También podría gustarte