Conversion Afn a Afd

24
Conversión de un AFN a un AFD Luis Obeymar Estrada COMPILADORES

description

diseño de compiladores autómatasconversión de AFN--AFDmétodo rápido y sencillo

Transcript of Conversion Afn a Afd

Page 1: Conversion Afn a Afd

Conversión de un AFN a un AFD

Luis Obeymar EstradaCOMPILADORES

Page 2: Conversion Afn a Afd

So

So →aS1

→aS3

S1 →bS2

S3 →cS4

S4 →A

AFN

S1

S3

S2

S4

a

a

b

c

Page 3: Conversion Afn a Afd

Proceso de Conversión

• So→aS1

• →aS3 Eliminación de la Ambigüedad

• S1→bS2

• S3→cS4

• →A So

S1

S3

S2

S4

a

a

b

c

Page 4: Conversion Afn a Afd

Proceso de Conversión

• So →aS1

• S1 →bS2

• S1 →cS3

• S2 →A

• S3 →A

Se eliminó ambigüedad.Se agregó Estado de aceptación.

SoS1

S2

S3

a b

c

Page 5: Conversion Afn a Afd

So→aS1 →A (aceptación)

S1→bS2

→cS3

S2 →A

S3 →A

AFD

So S1

S2

S3

b

ca

Page 6: Conversion Afn a Afd

Conversión de un AFN a un AFD

Otro ejemploCon mayor complejidad

Page 7: Conversion Afn a Afd

1

b

b

NO ES DETERMINISTA, PUES DESDE EL ESTADO 1 SALEN DOS ARCOS ETIQUETADOS CON b

AFN

Page 8: Conversion Afn a Afd

1 2

3

b

ab a

Y DESDE EL ESTADO 2 SALEN DOS ARCOS ETIQUETADOS CON a.

AFN

Page 9: Conversion Afn a Afd

1 2

3

b

ab a

El Estado Inicial seguirá siendo el mismo.

AFN

Page 10: Conversion Afn a Afd

1 2

b

ab a

F’ es la colección de subconjuntos de S (estados de S’) que contienen, por lo menos, un estado de F (cada uno de los estados de S’ dentro de los cuales hay al menos un estado de aceptación de M).

3

AFNF’ colección de subconjuntos de S

Page 11: Conversion Afn a Afd

1

En éste caso serán todos los subconjuntos que tengan el estado 3, ya que este es el único estado de aceptación del diagrama original; F’= {3, 1-3, 2-3, 1-2-3}

3

F’ colección de subconjuntos de S

1-2-3

1-3

2-3 2

1-2AFN

Page 12: Conversion Afn a Afd

1

+vacío: Se agrega el estado vacío. Éste era el estado de captación global, por lo que se le dibujan tantos arcos que salen e inciden en cada estado, como símbolos del alfabeto haya, con los cuales se rotulan. En este estado, van a incidir todas aquellas transiciones que no existían para algún símbolo en algún estado original.

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2AFN

Page 13: Conversion Afn a Afd

1

+ Estado 1.- Con la etiqueta a no hay transición en el original, por lo tanto el arco se dibuja hacia el estado vacío; con la etiqueta b salen dos arcos, uno hacia el estado 2 y otro al estado 3, por lo tanto el arco se dibuja al estado 2-3

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2AFN

b

a

Page 14: Conversion Afn a Afd

1

+ Estado 2.- Con la etiqueta b no hay transición en el original, por lo tanto el arco se dibuja hacia el estado vacío; con la etiqueta a salen dos arcos, uno hacia el estado 1 y otro al estado 3, por lo tanto el arco se dibuja al estado 1-3. + Estado 3.- Con ninguna de las dos etiquetas hay transición en el original, por lo tanto se dibujan sendos arcos hacia el estado vacío.

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2

a

ab

b

AFN

b

a

Page 15: Conversion Afn a Afd

1

+ Estado 1-2.- Con la etiqueta a hay transición desde el estado 2 original al 1 y 3 original, por lo tanto el arco se dibuja hacia el estado 1-3; con la etiqueta b salen dos arcos desde el estado 1 original, uno hacia el estado 2 y otro al estado 3, por lo tanto el arco se dibuja al estado 2-3.

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2

a

ab

b

abAFN

b

a

Page 16: Conversion Afn a Afd

1

+ Estado 1-3.- Con la etiqueta a no hay transición desde ninguno de los dos estados originales, por lo tanto el arco se dibuja hacia el estado vacío; con la etiqueta b salen dos arcos desde el estado 1 original, uno hacia el estado 2 y otro al estado 3, por lo tanto el arco se dibuja al estado 2-3.

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2

a

ab

b

ab

ab

AFN

b

a

Page 17: Conversion Afn a Afd

1

+ Estado 2-3.- Con la etiqueta a hay transición desde el estado 2 original al 1 y 3 original, por lo tanto el arco se dibuja hacia el estado 1-3; con la etiqueta b no sale ningún arco en ninguno de los dos estados originales, por lo tanto el arco se dibuja al estado vacío.

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2

a

ab

b

ab

a

b

b

a

AFN

b

a

Page 18: Conversion Afn a Afd

1

+ Estado 1-2-3.- Con la etiqueta a hay transición desde el estado 2 original al 1 y 3 original, por lo tanto el arco se dibuja hacia el estado 1-3; con la etiqueta b salen dos arcos desde el estado 1 original, uno hacia el estado 2 y otro al estado 3, por lo tanto el arco se dibuja al estado 2-3.

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2

a

ab

b

ab

ab

b

a

ba

AFN

b

a

Page 19: Conversion Afn a Afd

1

Una vez que hemos terminado todos los pasos, podremos eliminar aquellos estados que sean superfluos al diagrama que acabamos de obtener. En nuestro caso particular podemos eliminar los estados λ, 2, 3, 1-2 y 1-2-3, quedando el definitivo autómata finito determinista.

3

F’ colección de subconjuntos de S

λ

a

b

1-2-3

1-3

2-3 2

1-2

a

ab

b

ab

ab

b

a

ba

AFD

b

a

Page 20: Conversion Afn a Afd

1

Una vez que hemos terminado todos los pasos, podremos eliminar aquellos estados que sean superfluos al diagrama que acabamos de obtener. En nuestro caso particular podemos eliminar los estados 2, 3, 1-2 y 1-2-3, quedando el definitivo autómata finito determinista.

F’ colección de subconjuntos de S

a

b

1-3

2-3

a

ab

b

ab

ab

b

a

ba

AFD

b

a

Page 21: Conversion Afn a Afd

1

Una vez que hemos terminado todos los pasos, podremos eliminar aquellos estados que sean superfluos al diagrama que acabamos de obtener. En nuestro caso particular podemos eliminar los estados 2, 3, 1-2 y 1-2-3 , quedando el definitivo autómata finito determinista.

F’ colección de subconjuntos de S

1-3

2-3

ba

AFD

b

Page 22: Conversion Afn a Afd

1

Una vez que hemos terminado todos los pasos, podremos eliminar aquellos estados que sean superfluos al diagrama que acabamos de obtener. En nuestro caso particular podemos eliminar los estados 2, 3, 1-2 y 1-2-3, quedando el definitivo autómata finito determinista.

1-3

2-3bb

AFD

a

Page 23: Conversion Afn a Afd

1 2

b

ab

a

3

AFN

1

1-3

2-3bb

AFD

a

Page 24: Conversion Afn a Afd

MUCHAS GRACIAS POR SU ATENCIÓN!!!