View
217
Download
0
Embed Size (px)
Citation preview
7/30/2019 08 Afn Afd y Construccion de Thompson
1/31
AFN, AFD y Construccin de
Thompson
Ing. Romualdo Jonatan Quintero Hernndez
Sistemas Computacionales
7/30/2019 08 Afn Afd y Construccion de Thompson
2/31
Autmata finitoClasificacin de los autmatas finitos
Autmata finito no determinista (AFN)
Autmata finito determinista (AFD)
Teorema sobre la transformacin de AFN en AFD
Transformacin de una expresin regular en un autmata
finito
Construccin de Thompson de un AFN a partir de una
expresin regular
Nomenclatura de Thompson
Ejemplos
Ejercicios 02 "Construccin de AFNs con Thompson"
Contenido
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
3/31
Un autmata finito es un modelo matemtico de una
mquina que acepta cadenas de un lenguaje definido
sobre un alfabeto.
Consiste en un conjunto finito de estados y un conjunto
de transiciones entre esos estados, que dependen de los
smbolos de la cadena de entrada.
El autmata finito acepta una cadena xsi la secuencia
de transiciones correspondientes a los smbolos de x
conduce desde el estado inicial a un estado final.
Autmata finito
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
4/31
La funcin f: E*x QQ, es en general no determinista. Asen
funcin de f, se hablar de autmatas finitos deterministas
AFD yautmatas finitos no deterministas AFN.
Un autmata finito no determinista AFN se caracteriza por la
posibilidad de que dada una entrada e en un estado qi, se pueda pasar
a un estado qj, qk,...,qn sin saber a ciencia cierta, a cual de esos
estados pasar. Existiendo la misma probabilidad de que pase a
cualquiera de dichos estados.
Un autmata finito determinista AFD es un caso particular de los
autmatas finitos, en el que la funcin de transicin no presenta
ninguna ambigedad en las transiciones de estados para una entrada
dada.
Clasificacin de los autmatas finitos
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
5/31
La definicin de autmata finito no determinista AFN o AFN
coincide con la de autmata finito :
Con la salvedad de que f: E*x QQes no determinista, i.e. es aquel
que presenta cero, una o ms transiciones por el mismo carcter del
alfabeto.
Autmatas finitos no deterministas
(AFN)
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
6/31
Resolver:
AFN Ejemplo
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
7/31
Solucin:
AFN Ejemplo
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
8/31
Un autmata finito determinista AFD es un caso
particular de los autmatas finitos, en el que la
funcin de transicin no presenta ninguna
ambigedad en las transiciones de estados para unaentrada dada.
Un autmata finito determinista es una quntupla
AFD=(E, Q, f, q1, F) donde la funcin f: E*x QQes
determinista.
Autmatas finitos deterministas
(AFD)
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
9/31
"Para todo autmata finito no determinista
AFN=(E, Q, f, q1,F) se puede construir un autmata
finito deterministaAFD=(E, Q, f, q1, F) tal que ellenguaje reconocido por el autmata finito
determinista AFD coincida con el lenguaje
reconocido por el autmata finito no determinista
AFN, es decirL(AFD) = L(AFN)".
Teorema sobre la transformacin de
AFN en AFD
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
10/31
AFN
Expresin: ab|ac*
INICIO
1
a 4
a 2
Transformacin de AFN en AFD
c
b 3
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
11/31
AFD
Expresin: ab|ac*
INICIO1 a 2,4
c 4
b 3
Transformacin de AFN en AFD
c
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
12/31
Dada una expresin regular existe un autmata finito
capaz de reconocer el lenguaje que sta define.
Recprocamente, dado un autmata finito, se puedeexpresar mediante una expresin regular del lenguaje
que reconoce.
Transformacin de una expresin regular
en un autmata finito
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
13/31
Transformacin de una expresin regular
en un autmata finito
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
14/31
Transformacin de una expresin regular
en un autmata finito
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
15/31
Transformacin de una expresin regular
en un autmata finito
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
16/31
La construccin de Thompson construye un AFN a
partir de cualquier expresin regular.
La construccin de Thompson construye a partir de
una expresin regular r un AFN que reconoce el
lenguaje definido por r, esto se realiza con el
objetivo de que en un algoritmo siguiente se puedagenerar un AFD mnimo equivalente.
Utiliza una notacin estndar para generar el AFN
Construccin de Thompson de un AFN a partir de
una expresin regular
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
17/31
Para la representacin de una cadena vaca seutiliza el smbolo.
Cadena Vaca
Nomenclatura de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
18/31
Para representar un smbolo, se utilizan dos
estados y una transicin para el movimiento con
el smbolo.
r
Nomenclatura de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
19/31
Para la concatenacin
nicamente se unen
de dos smbolos
rs
Concatenacin de smbolo
Nomenclatura de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
20/31
Para la eleccin de alternativas, crear
transiciones para la unin de las transiciones.
r|s
Eleccin de alternativas
Nomenclatura de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
21/31
Para la cerradura positiva, se agregan transiciones
para retornar al estado previo, permitiendo
agregar1
o mas veces el smbolo
r+
Cerradura positiva
Nomenclatura de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
22/31
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
Nomenclatura de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
23/31
Diagrama del AFN que representa la ER a*b.
1. Parte de la cerradura de Kleene.
a*b
Ejemplo 01 Mtodo de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
24/31
Ejemplo 01 Mtodo de Thompson
2. Para continuar se generan la concatenacin del
smbolo b
a*b
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
25/31
3. Para finalizar se numeran los estados y se indica el
estado inicial y final
a*b
Ejemplo 01 Mtodo de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
26/31
A partir de la ER (b|(b*a)*)a
1. Parte de la cerradura de Kleene que se encuentra
dentro de parntesis.
Ejemplo 02 Mtodo de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
27/31
A partir de la ER (b|(b*a)*)a
2. Completamos dicho parntesis concatenando el
smbolo a (b|(b*a)*)a
Ejemplo 02 Mtodo de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
28/31
A partir de la ER (b|(b*a)*)a
3. Aplicar la Cerradura de Kleene al parntesis
(b|(b*a)*)a
Ejemplo 02 Mtodo de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
29/31
A partir de la ER (b|(b*a)*)a
4. La eleccin de alternativas del b y el diagrama
anterior.(b|(b*a)*)a
Ejemplo 02 Mtodo de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
30/31
5. Concatenamos el ltimo smbolo, enumerando e
indicando el estado inicial y el final
(b|(b*a)*)a
Ejemplo 02 Mtodo de Thompson
RJQH
7/30/2019 08 Afn Afd y Construccion de Thompson
31/31
Construir los autmatas para las siguientes
expresiones regulares a travs
nomenclatura de Thompson.
1. (abc)*
2. (b|bc)+ si
3. letra_(letra_|digito)* si4. (a|b)*abb si
5. [(b|b*a)*]a
6 (a*|b+) +
de la
Ejercicios 02 "Construccin de AFNs
con Thompson"