Equivalencia y Minimizaci on de Aut omatas Finitos

Preview:

Citation preview

Equivalencia y Minimizacion de Automatas FinitosDeterministas

Implementacion de Metodos Computacionales(TC2020)

M.C. Xavier Sanchez Dıazsax@tec.mx

Tabla de contenidos

1 Equivalencia de AFDs

2 Simplificacion de AFDs

2 / 22

Definicion de EquivalenciaEquivalencia de AFDs

Definicion 1

Dos automatas M1 y M2 son equivalentes, M1 ≡M2, cuando aceptanexactamente el mismo lenguaje.

3 / 22

EquivalenciaEquivalencia de AFDs

¿Son estos dos automatas equivalentes?

A B

a

b

a

b

A B C

a

b

a

b a

b

4 / 22

¿Como podemos probarlo?Equivalencia de AFDs

Sistematicamente, probando con las palabras de σ∗ = {ε, a, b, aa, ab, . . . }¿Que pasa si no son equivalentes? Simplemente nunca acabaremos.

Podemos probar todas las posibilidades mediante un arbol de estados in-compatibles.

5 / 22

¿Como podemos probarlo?Equivalencia de AFDs

Sistematicamente, probando con las palabras de σ∗ = {ε, a, b, aa, ab, . . . }¿Que pasa si no son equivalentes? Simplemente nunca acabaremos.

Podemos probar todas las posibilidades mediante un arbol de estados in-compatibles.

5 / 22

¿Como podemos probarlo?Equivalencia de AFDs

Sistematicamente, probando con las palabras de σ∗ = {ε, a, b, aa, ab, . . . }¿Que pasa si no son equivalentes? Simplemente nunca acabaremos.

Podemos probar todas las posibilidades mediante un arbol de estados in-compatibles.

5 / 22

¿Como podemos probarlo?Equivalencia de AFDs

Sistematicamente, probando con las palabras de σ∗ = {ε, a, b, aa, ab, . . . }¿Que pasa si no son equivalentes? Simplemente nunca acabaremos.

Podemos probar todas las posibilidades mediante un arbol de estados in-compatibles.

5 / 22

Arbol de comparacionEquivalencia de AFDs

A B

a

b

a

b

A′ B′ C ′

a

b

a

b a

b

(A,A′)

(B,B′)

(A,C ′)

(A,B′)×(B,C ′)×

a b

a

a

b

b

6 / 22

q0 q1

q4 q5

q2 q3

q6 q7

a

b a

b a

b

a, b

a

b

a

b

a

b

a

b

B C A D

E

a

b

a

b a

b

a, b

a

b

¿Por que simplificar AFDs?Simplificacion de AFDs

Una maquina M puede tener estados redundantes.

q3

q4

q5

a

b

a

b

a, b

8 / 22

¿Por que simplificar AFDs?Simplificacion de AFDs

Una maquina M puede tener estados redundantes.

q3

q4

q5

a

b

a

b

a, b

8 / 22

Eliminacion de estados equivalentesSimplificacion de AFDs

Borrar transiciones:

q3

q4

q5

a

b

a, b

9 / 22

Eliminacion de estados equivalentesSimplificacion de AFDs

Redirigir transiciones:

q3

q5

a

b

a, b

10 / 22

Deduccion de estados distinguiblesSimplificacion de AFDs

Dos estados son distinguibles si son incompatibles: uno es final y elotro es no final.

Si tenemos transiciones δ(p0, σ) = p y δ(q0, σ) = q, donde p, q sondistinguibles, entonces tambien p0 y q0 son distinguibles.

11 / 22

Deduccion de estados distinguiblesSimplificacion de AFDs

Dos estados son distinguibles si son incompatibles: uno es final y elotro es no final.

Si tenemos transiciones δ(p0, σ) = p y δ(q0, σ) = q, donde p, q sondistinguibles, entonces tambien p0 y q0 son distinguibles.

11 / 22

Deduccion de estados distinguiblesSimplificacion de AFDs

5

3

4 2

1

a

b

a

b

a

b

a

b

a, b

234

5

1 2 3 4

234

5

1 2 3 4

234

5

1 2 3 4

234

5

1 2 3 4

12 / 22

Deduccion de estados distinguiblesSimplificacion de AFDs

5

3

4 2

1

a

b

a

b

a

b

a

b

a, b

234

5

1 2 3 4

2 ×3 ×4 ×5 × ×

1 2 3 4

2 ×3 ×4 ×5 ×

1 2 3 4

2 ×3 ×4 × × ×5 × × ×

1 2 3 4

13 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

Formar clases de estados de un automata que pudieran ser equivalentes.

Al seguir examinando las clases, podremos percatarnos de si es necesariovolver a dividirlas.

Si las clases ya no pueden dividirse mas, entonces hemos encontrado elautomata mas pequeno.

14 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

Formar clases de estados de un automata que pudieran ser equivalentes.

Al seguir examinando las clases, podremos percatarnos de si es necesariovolver a dividirlas.

Si las clases ya no pueden dividirse mas, entonces hemos encontrado elautomata mas pequeno.

14 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

Formar clases de estados de un automata que pudieran ser equivalentes.

Al seguir examinando las clases, podremos percatarnos de si es necesariovolver a dividirlas.

Si las clases ya no pueden dividirse mas, entonces hemos encontrado elautomata mas pequeno.

14 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

5

3

4 2

1

a

b

a

b

a

b

a

b

a, b

15 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

5

3

4 2

1

a

b

a

b

a

b

a

b

a, b

16 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

5

3

4 2

1

a

b

a

b

a

b

a

b

a, b

17 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

A C B

a

b

a

b

a, b

18 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

a

b

c

d

e

f

0

1

0

1

0

10

1

0

1

0, 1

19 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

a

b

c

d

e

f

0

1

0

1

0

10

1

0

1

0, 1

20 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

a

b

c

d

e

f

0

1

0

1

0

10

1

0

1

0, 1

21 / 22

Simplificacion por clases de equivalenciaSimplificacion de AFDs

a b c

0

1

0

1

0, 1

22 / 22

Recommended