Exposici+¦n Estrella de Kleene2

26
TEOREMA DE KLEENE TEOREMA DE KLEENE MAESTRÍA EN CIENCIAS EN CIENCIAS MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA COMPUTACIÓN DE LA COMPUTACIÓN Presentan: Sylfra Avendaño Romero Selene Contreras Córdova Omar Andrei Martínez Aguilar Reyes Martínez Solano

Transcript of Exposici+¦n Estrella de Kleene2

Page 1: Exposici+¦n Estrella de Kleene2

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

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

Estrella de Kleene:

E.R.

NFA- ε

NFA

DFA

TEOREMA DE TEOREMA DE KLEENEKLEENE

Page 4: Exposici+¦n Estrella de Kleene2

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

Ejemplo: Tenemos la E.R. ->-> aa* + aa* + bcbc

1 2a

6 8 10 11aε

ε

ε

a*

3 5 7 9b cε

bc

Page 6: Exposici+¦n Estrella de Kleene2

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

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

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

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

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

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

NFA-DFA

5 104 9

a

b c

a

4

5

a

a

bc

9

10

Page 13: Exposici+¦n Estrella de Kleene2

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

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

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

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

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

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

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

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

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

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

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

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

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

Gracias por su AtenciónGracias por su Atención