Upload
juan-bastidas
View
228
Download
3
Embed Size (px)
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!!!