Conversion Afn a Afd

Preview:

DESCRIPTION

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

Citation preview

Conversión de un AFN a un AFD

Luis Obeymar EstradaCOMPILADORES

So

So →aS1

→aS3

S1 →bS2

S3 →cS4

S4 →A

AFN

S1

S3

S2

S4

a

a

b

c

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

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

So→aS1 →A (aceptación)

S1→bS2

→cS3

S2 →A

S3 →A

AFD

So S1

S2

S3

b

ca

Conversión de un AFN a un AFD

Otro ejemploCon mayor complejidad

1

b

b

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

AFN

1 2

3

b

ab a

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

AFN

1 2

3

b

ab a

El Estado Inicial seguirá siendo el mismo.

AFN

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

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

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

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

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

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

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

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

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

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

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

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

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

1 2

b

ab

a

3

AFN

1

1-3

2-3bb

AFD

a

MUCHAS GRACIAS POR SU ATENCIÓN!!!

Recommended