Exposici+¦n Estrella de Kleene2
-
Upload
kaeren-winchester -
Category
Documents
-
view
79 -
download
13
Transcript of Exposici+¦n Estrella de Kleene2
![Page 1: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/1.jpg)
TEOREMA DE KLEENETEOREMA DE KLEENEMAESTRÍA EN CIENCIAS EN CIENCIAS MAESTRÍA EN CIENCIAS EN CIENCIAS
DE LA COMPUTACIÓNDE LA COMPUTACIÓN
Presentan:Sylfra Avendaño Romero
Selene Contreras CórdovaOmar Andrei Martínez Aguilar
Reyes Martínez Solano
![Page 2: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/2.jpg)
TEOREMA DE TEOREMA DE KLEENEKLEENE
Un lenguaje es regular si y sólo si es aceptado por un autómata
finito.
Consta de 4 algoritmos:
• E.R. a NFA-ε
• NFA- ε a NFA
• NFA a DFA
• DFA a E.R.
![Page 3: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/3.jpg)
Estrella de Kleene:
E.R.
NFA- ε
NFA
DFA
TEOREMA DE TEOREMA DE KLEENEKLEENE
![Page 4: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/4.jpg)
1) E.R. a NFA- ε
Se debe tomar en cuenta los operandos de los que está compuesta la E.R. para determinar la forma en que se enlazará el autómata esto se hace en base a las reglas a la derecha.
![Page 5: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/5.jpg)
Ejemplo: Tenemos la E.R. ->-> aa* + aa* + bcbc
1 2a
aε
6 8 10 11aε
ε
ε
a*
3 5 7 9b cε
bc
![Page 6: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/6.jpg)
3 5 7 9b cε
Formando el autómata:
1
2 4a
ε
ε
ε
6 8 10 11aε
ε
εε
12
ε
ε
T.Kleene
![Page 7: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/7.jpg)
1. Se interpretan los estados y sus direcciones teniendo en cuenta hacia donde nos lleva en base a epsilon y agregando que cada estado se lleva a si mismo.
2. Mover cada estado que resulto de la cerradura épsilon con los valores del alfabeto.
Cε(1) = {1,2,3}
Mov{Cε(1) ,a}={4}
Mov{Cε(1), b }={5}
Mov{Cε(1), c }={ }
NFAε-NFA ε
1
2
3
4
5
6
7
8
9
12
10 11a
b c
a
ε
ε
ε ε
ε
ε
εε
ε
![Page 8: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/8.jpg)
Cε(2) = {2}
Mov{Cε(2) ,a}={4}
Mov{Cε(2), b }={ }
Mov{Cε(2), c }={ }
Cε(3) = {3}
Mov{Cε(3) ,a}={ }
Mov{Cε(3), b }={5}
Mov{Cε(3), c }={ }
Cε(4) = {4,6,8,11,12}
Mov{Cε(4) ,a}={10}
Mov{Cε(4), b }={ }
Mov{Cε(4), c }={ }Cε(5) = {5,7}
Mov{Cε(5) ,a}={ }
Mov{Cε(5), b }={ }
Mov{Cε(5), c }={9}
Cε(6) = {6,8,11,12}
Mov{Cε(6) ,a}={10}
Mov{Cε(6), b }={ }
Mov{Cε(6), c }={ }
Cε(7) = {7}
Mov{Cε(7) ,a}={ }
Mov{Cε(7), b }={ }
Mov{Cε(7), c }={9}
![Page 9: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/9.jpg)
Cε(8) = {8}
Mov{Cε(8) ,a}={10}
Mov{Cε(8), b }={ }
Mov{Cε(8), c }={ }
Cε(9) = {9,12}
Mov{Cε(9) ,a}={ }
Mov{Cε(9), b }={ }
Mov{Cε(9), c }={ }
Cε(10) = {10,11,8,6}
Mov{Cε(10) ,a}={10}
Mov{Cε(10), b }={ }
Mov{Cε(10), c }={ }
Cε(11) = {11,12}
Mov{Cε(11) ,a}={ }
Mov{Cε(11), b }={ }
Mov{Cε(11), c }={ }
Cε(12) = {12}
Mov{Cε(12) ,a}={ }
Mov{Cε(12), b }={ }
Mov{Cε(12), c }={ }
![Page 10: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/10.jpg)
3. Se genera la siguiente tabla para después minimizarla mediante la identificación de los estados a los que no hay forma de llegar a ellos mediante otros estados.
AlfabetoAlfabeto EstadoEstado aa bb cc CCεε
11
22
33
44
55
66
77
88
99
1010
1111
1212
44
44
--
1010
--
1010
--
1010
--
1010
--
--
55
--
55
--
--
--
--
--
--
--
--
--
--
--
--
--
99
--
99
--
--
--
--
--
1,2,31,2,3
22
33
4,6,8,11,124,6,8,11,12
5,75,7
6,8,11,126,8,11,12
77
88
9,129,12
6,8,11,106,8,11,10
11,1211,12
1212
![Page 11: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/11.jpg)
4. Si se quiere dibujar el autómata solo se debe tomar en cuenta que los estados finales serán aquellos que en su cerradura epsilon contengan al antiguo estado final.
5 104 9
a
b c
a
T.Kleene
![Page 12: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/12.jpg)
NFA-DFA
5 104 9
a
b c
a
4
5
a
a
bc
9
10
![Page 13: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/13.jpg)
NFA-DFADe la tabla minimizada de la Conversión Anterior
AlfabetoAlfabeto EstadoEstado aa bb cc
11
22
33
44
55
66
77
88
99
1010
1111
1212
44
44
--
1010
--
1010
--
1010
--
1010
--
--
55
--
55
--
--
--
--
--
--
--
--
--
--
--
--
--
99
--
99
--
--
--
--
--
![Page 14: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/14.jpg)
1. Mover los estados resultantes con cada valor del alfabeto.
NFA-DFA
Mov{Cε(9) ,a}={ }
Mov{Cε(9), b }={ }
Mov{Cε(9), c }={ }
Mov{Cε(4) ,a}={10, 4}
Mov{Cε(4), b }={5}
Mov{Cε(4), c }={ }
Mov{Cε(5) ,a}={ }
Mov{Cε(5), b }={ }
Mov{Cε(5), c }={ 9 }Mov{Cε(10) ,a}={10}
Mov{Cε(10), b }={ }
Mov{Cε(10), c }={ }
![Page 15: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/15.jpg)
2. En caso de que el resultado de algún movimiento resulte vacío, se aumenta un nuevo movimiento con otro estado que apunta a nada.
NFA-DFA Se realiza la Tabla de Resultados (En el estado 4 se toma el valor del estado inicial en b que es igual a 5, y no se toma el valor con a debido a que ya tiene este estado una salida)
Alfabeto Alfabeto
EstadoEstadoaa bb cc
44
55
99
1010
10,410,4
--
--
1010
55
--
--
--
--
99
--
--
![Page 16: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/16.jpg)
3. Se realiza la tabla de los resultados de los movimientos
NFA-DFA Se realiza la Tabla de Resultados
Alfabeto Alfabeto
EstadoEstadoaa bb cc
44
55
99
1010
XX
1010
--
--
1010
--
55
--
--
--
--
--
99
--
--
--
![Page 17: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/17.jpg)
NFA-DFA
4. Si en la tabla se aumentó un nuevo estado, este estado de trampa debe apuntar a sí mismo con los valores del alfabeto
4
5
a
a
bc
9
10x
a,b,c
![Page 18: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/18.jpg)
NFA-DFA
De igual forma, los estados que no tengan salida con el mismo número de elementos del alfabeto debe apuntar con el elemento del alfabeto faltante al nuevo estado de trampa.
4
5
a
a
bc
9
10x
c
b,c
a,b
a,b,c
a,b,c
T.Kleene
![Page 19: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/19.jpg)
1
3
a
a
bc
4
2
DFA – e.r.•Teniendo este autómata finito determinístico.
5c
b,c
a,b
a,b,c
a,b,c
![Page 20: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/20.jpg)
1
3
a
a
bc
4
2
•Se aumenta un estado inicial que apunta con Null a los antiguos estados iniciales.
q0
5c
b,c
a,b
a,b,c
a,b,c
qf
•Se aumenta un estado final.
![Page 21: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/21.jpg)
1
3
a
a
bc
4
2
q0
5c
b,c
a,b
a,b,c
a,b,c
qf
•Se detectan los estados de no aceptación. Son aquellos que apuntan en todo el alfabeto a sí mismos y no son finales.
•Se sustituye por vacío todos los apuntadores al estado de no aceptación
![Page 22: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/22.jpg)
1
3
a
a
bc
4
2
q0
5
qf
•Se detectan los estados de no aceptación. Son aquellos que apuntan en todo el alfabeto a sí mismos y no son finales.
•Se sustituye por vacío todos los apuntadores al estado de no aceptación
![Page 23: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/23.jpg)
1
3
a
a
bc
4
2
•Los estados finales se vuelven normales, y apuntan con null al nuevo estado final.
q0
qf
![Page 24: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/24.jpg)
1
3
a
a
bc
4
2
q0
qf
aa*
•Se empieza con el estado inicial, se generan cadenas independientes por cada letra del alfabeto concatenada con la cadena hacia donde apunta, en caso de que apunte a sí misma se considera como * y se concatena a los restantes.
![Page 25: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/25.jpg)
1
3
a
a
bc
4
2
•Se empieza con el estado inicial, se generan cadenas independientes por cada letra del alfabeto concatenada con la cadena hacia donde apunta, en caso de que apunte a sí misma se considera como * y se concatena a los restantes.
q0
qf
aa* + bc = a+ + bc
![Page 26: Exposici+¦n Estrella de Kleene2](https://reader030.fdocuments.net/reader030/viewer/2022012308/54864b5db4af9f6e0d8b514a/html5/thumbnails/26.jpg)
Gracias por su AtenciónGracias por su Atención