Está en la página 1de 10

Molina Palmeros Andrs.

MC: Jos ngel Toledo lvarez


INSTITUTO TECNOLGICO DE MINATITLN
CONVERSIN DE AFND EN AFD
A continuacin veremos dos diagramas de transicin de
autmatas finitos no deterministas:
Este autmata reconoce el lenguaje de las cadenas sobre {1, 2,
3} que terminan en un smbolo que a!a a"arecido "reviamente#
$ientras que este reconoce el lenguaje definido "or la e%"resin
regular a&# ' a ( b )#
En ambos casos "odemos ver que e%isten estados "ara los
cuales a! m*s de una transicin ante un mismo smbolo de entrada:
'+
,
,1) - { +
,
,+
1
}
2

1, 2,3
s t a r t
1, 2,3
1, 2,3
1,2, 3
1 1
2 2
3 3
0
1
2
3
f




s t ar t
1 0 2 3
! "
# $
%
a
a
&

1
0 1

1

1 0 3
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
',,) - { 1,3}
.esde el "unto de vista de "rogramacin, esta situacin es
im"ortante que no suceda, debido a que se dificulta la re"resentacin
del A/ ! disminu!e sensiblemente la eficiencia del reconocedor# 0or
tal motivo es conveniente "oder transformar un A/1. en un A/.
equivalente, o sea, que recono2ca el mismo lenguaje# 0or otra "arte,
los A/ que se obtienen a "artir de e%"resiones regulares son no
deterministas con 3transiciones#
0resentaremos a continuacin un algoritmo que constru!e, a
"artir de un A/1., un A/. equivalente# Este algoritmo se denomina a
menudo, construccin de subconjuntos# En la tabla de transiciones de
un A/1., cada entrada es un conjunto de estados4 mientras que en
la de un A/., cada entrada es un 5nico estado# 6a idea general de
este algoritmo es asociar a cada conjunto de estados del A/1., un
nuevo estado en el A/.# 7ada estado en el A/. re"resenta todos los
"osibles estados en los cuales el A/1. "uede encontrarse des"u8s de
leer cada smbolo de entrada# Esto equivale a decir, que des"u8s de
leer los smbolos a
1
a
2
###a
n
, el A/. se encuentra en un estado que
re"resenta el subconjunto de todos los estados que son alcan2ables
"artiendo del estado inicial del A/1. a trav8s de alg5n camino
a
1
a
2
###a
n
#
As "or ejem"lo, los estados del A/. del 1er autmata seran:
{ { +
,
}, { +
1
}, { +
2
}, { +
3
}, { +
f
}, { +
,
,+
1
}, { +
,
,+
2
},###} - 0'+)
El n5mero de estados en el A/. "uede ser e%"onencial con
res"ecto el n5mero de estados del A/1.# +i el A/1. tiene n estados,
el A/. "uede llegar a tener 2
n
estados, "ero en la "r*ctica este caso
crtico ocurre raramente# 6as transiciones "ara cada uno de los
nuevos estados se determinan formando el conjunto de estados que
se obtiene al a"licar la funcin de transicin original a cada uno de los
estados del conjunto#
As "or ejem"lo:
9'{ +
,
,+
1
},1) - '+
,
,1) '+
1
,1) - { +
,
,+
1
,+
f
}#
Este, "or su"uesto, es uno de los estados del A/.#
+in embargo, la construccin del A/. no es conveniente
reali2arla de esta manera, "uesto que de los 2
n
"osibles estados del
nuevo autmata e%isten algunos '"robablemente mucos) que no
cum"len ninguna funcin, !a que son inaccesibles en el autmata#
3
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
:n estado es inaccesible: +i no e%iste alguna cadena "ara la
cual, el autmata "ueda llegar a 8l "artiendo de la configuracin
inicial, reali2ando un n5mero finito de transiciones#
El estado + es accesible, si:
;
&
( '+
,
,;) '+,)
Ejercicio:
A continuacin dise<aremos un algoritmo que determine el
conjunto de estados accesibles de un A/#
6uego, la idea del algoritmo "ara convertir a A/. es la misma
descrita anteriormente, "ero de forma tal que vamos obteniendo "ara
el nuevo autmata solamente los estados accesibles# 0or tanto, no se
determinan ni se inclu!en las transiciones de los estados inaccesibles#
El algoritmo debe tener en cuenta los e3movimientos, que
re"resentan transiciones a estados sin tener en cuenta el smbolo
actual# 6os e3movimientos incor"oran cierta com"lejidad al algoritmo,
!a que en un momento dado, si el autmata est* en un estado que
"osee e3movimientos, "odr* tambi8n estar en cualquiera de los
estados a los cuales se "asa "or esos e3movimientos, !a que en esta
decisin no interviene el smbolo de entrada#
En el segundo autmata, "or ejem"lo, al comen2ar el
reconocimiento de una cadena, realmente se "uede estar en
cualquiera de los estados ,, 1, 3, = ! >, !a que el estado inicial ,
"osee dos e3movimientos a los estados 1 ! 3, ! el estado 3 a su ve2
"osee dos e3movimientos a = ! a ># 0or lo tanto, se ace necesario
conocer "ara cada estado, el conjunto de estados a los cuales se
"uede llegar "artiendo de 8l "or e3movimientos# .enominaremos e3
clausura'+) a la funcin que calcula todos los estados a los cuales se
"uede llegar "or 3movimientos "artiendo de +# Esta funcin
"odemos e%tenderla "ara calcular la e3clausura de un conjunto de
estados como la unin de las e3clausuras de cada uno de los estados
del conjunto#
Esto es, e3clausura '{ a,b} ) - e3clausura'a) e3clausura'b)#
As,
!
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
e3clausura ',) - { ,,1,3,=,>}
e3clausura ',,?) - { ,,1,3,=,>,?,@}
Algoritmo Obtencin de e-clauura!"#$ donde " e un
conjunto de etado%
colocar todos los estados de T en una pila
inicializar e-clausura(T) con T
mientras la pila no est vaca hacer
sacar U de la
pila
para cada estado V tal que , hacer
si U e-clausura(T)
aadir V a e-clausura(T)
colocar V en la pila
1ecesitaremos tambi8n una funcin que "ara un conjunto de
estados A ! un smbolo a, calcule los estados a los cuales se "uede
llegar a trav8s de a, "artiendo de los estados de A# .enominaremos a
esta funcin mover'A,a)#
El algoritmo "ara obtener el A/. constru!e el autmata
simulando todos los "osibles movimientos del A/1. ante cualquier
cadena de entrada# A trav8s de esta simulacin se van obteniendo los
estados del A/.#
Algoritmo: Contruccin de un AFD a &artir de un AFND
Entrada: :n A/1. 1 - '+,,,+
,
,/)
+alida: :n A/. 19 - '+9,9,,+9
,
,/9), tal que 6'1) - 6'19)
1# S'

! e-clausura( "S

# )
2# S' ! "S'

# e indicar en S' que S

' est$ %& '()*(+&


3# mientras e,ista un estado T %& '()*(+& en S' hacer
marcar T
para cada sm-olo a hacer
( ! mover(T,a)
U ! e-clausura(()
si U S' entonces
aadir U a S' como un estado no marcado
'(T,a) ! U
=# .' son todos los estados T de S' que conten/an al/0n estado
de ., o sea, T.!
v '
"
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
1otemos que si el autmata no tiene e3movimientos,
entonces +
,
9 - { +
,
} ! alobtener las transiciones del estado A ante el
smbolo a, solo es necesario
calcular mover'A,a)#
+i el A/1. no tiene e3movimientos, entonces e3clausura'A) - A#
Ejem"lo: A"liquemos el algoritmo al segundo autmata de la
conferencia
e3clausura',) - { ,,1,3,=,>} - A
mover'A,a) - { 2,?}
9'A,a) - e3clausura'{ 2,?} ) - { 2,?,1,3,=,>,@} - B
mover'A,b) - { C}
9'A,b) - e3clausura' { C} ) - { C,@} - 7
mover'B,a) - { 2,?}
9'B,a) - e3clausura' { 2,?} ) - B
mover'B,b) - { C}
9'B,b) - e3clausura' { C} ) - 7
mover'7,a) - { }
9'7,a) - e3clausura' { } ) - { } - .
mover'7,b) - { }
9'7,b) - e3clausura' { } ) - { } - .
mover'.,a) - { }
9'.,a) - e3clausura' { } ) - .
mover'.,b) - { }
9'.,b) - e3clausura' { } ) - .
9 a b
{ ,,1,3,=,>} A B 7
{ 2,?,1,3,=,>
,@}
B B 7
{ C,@} 7 . .
{ } . . .
6os estados finales del nuevo autmata seran: / - { B,7 }
Deconoce a&#'a(b)
#

s t a r t
A
(
C
)
a
a
a ,&
&
&
a ,&
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
'INI'I(ACIN DE AFD
:n resultado terico im"ortante es que todo lenguaje regular
'definido "or un autmata finito) "osee un A/. mnimo que lo
reconoce# Esto quiere decir, "or ejem"lo, que "ara las e%"resiones
regulares 'a(b)& ! 'a&#b&)& 'las cuales definen el mismo lenguaje
&) e%iste un solo autmata finito determinista mnimo# +in embargo,
al obtener los A/1. a "artir de las e%"resiones regulares, resultan
autmatas diferentes# Este resultado nos "ermite entonces, obtener
el A/. mnimo que reconoce un lenguaje regular,
inde"endientemente de la e%"resin regular que lo defina# 6os "asos
"ara obtener el A/. mnimo a "artir de la e%"resin regular que
define el lenguaje son:
Ebtener el A/1. a "artir de la e%"resin regular#
7onvertir el A/1. en A/.#
$inimi2ar el A/.#
6a minimi2acin de un A/ se basa en la eliminacin de estados
inaccesibles ! en la reunin de los estados redundantes# Ambas
estrategias intentan reducir al mnimo el n5mero de estados del A/.#
6a "rimera "arte consiste en determinar cu*les son los estados
inaccesibles del A/. ! eliminarlos conjuntamente con sus
transiciones# En el caso de los autmatas construidos a "artir de
e%"resiones regulares o A/. obtenidos a "artir de A/1., no es
necesario reali2ar este "aso, "uesto que estos algoritmos generan
solamente los estados accesibles# 7entraremos nuestra atencin, "or
tanto, en la minimi2acin de los A/. a trav8s de la reunin de los
estados redundantes#
El algoritmo de minimi2acin requiere que el A/. sea
com"letamente definido# +i no fuera este el caso, se agrega un nuevo
Festado muertoG $, con transiciones a 8l mismo ante todos los
smbolos de entrada, ! "ara cada estado + que no tenga definida una
transicin ante el smbolo a, se adiciona una transicin de + a $ "or
a# 6os estados redundantes se obtienen "articionando el conjunto de
estados en clases de equivalencia de forma tal que cada clase
contiene los estados que son mutuamente indistinguibles#
Heamos cuando dos estados son distinguibles: +ea 1 -
'+,,,+
,
,/) un A/1., ! +
1
, +
2
dos estados de +# .ecimos que la
cadena ; & distingue a +
1
de +
2
, si:
'+
1
,;) '+
3
, )
'+
2
,;) '+
=
, )
$
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
! slo uno entre +
3
! +
=
"ertenece a /#
.ecimos que +
1
! +
2
son I3indistinguibles '+
1

k
+
2
) si ! solo si
no e%iste ; & ! (;( I que distinga a +
1
de +
2
# .ecimos que +
1
!
+
2
son indistinguibles '+
1
+
2
) si son I3indistinguibles "ara I ,#
Aomemos, "or ejem"lo, el siguiente autmata:
, 1
+
,
+
1
+
,
+
1
+
2
+
1
+
2
+
1
+
2
J7u*les seran los estados ,3indistinguiblesK
En "rimer lugar, "ara que dos estados sean ,3distinguibles es
necesario encontrar una cadena de longitud , 'o sea, la cadena )
que los distinga# Heamos qu8 estados "ueden ser distinguidos "or la
cadena vaca:
'+,, ) '+,, )
'+1, ) '+1, )
'+2, ) '+2, )
+
,
se distingue de +
1
!a que solo uno entre +
,
! +
1
/#
+
1
se distingue de +
2
"or la misma ra2n, ! +
,
no se distingue
de +
2
!a que +
,
! +
2
/ ambos#
6uego, la cadena vaca divide el conjunto de estados en dos
clases de equivalencia: las clases de los estados ,3indistinguibles,
que seran los estados finales en un gru"o ! lo no finales en otro#
El algoritmo se basa en ir formando los gru"os de estados
indistinguibles "ara cada una de las "osibles cadenas de entrada, ! a
la misma ve2, se"arando en gru"os diferentes a aquellos estados que
se distinguen "or alguna cadena# El "roceso de obtencin de estos
gru"os se reali2a "articionando de forma iterativa el conjunto de
estados en nuevos subgru"os asta que nos sea "osible "articionar
nuevamente ning5n gru"o#
6a "articin inicial es aquella cu!os gru"os est*n formados "or
los estados ,3indistinguibles# Esta "articin contiene, como !a emos
visto, solamente dos gru"os de estados: el gru"o de los estados
finales ! el de los no finales# .e manera general, la idea del algoritmo
es la siguiente: su"ongamos que estamos en la I38sima "articin
I
%
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
! en ellas tenemos los gru"os L
1
, L
2
, M, L
n
# En este
momento los estados de cada L
i
son I3indistinguibles ! cualquier "ar
de estados tomados de gru"os diferentes son distinguibles "ara
alguna cadena ;, (;( I# 0ara obtener la nueva "articin solo es
necesario anali2ar si es "osible dividir alguno de los gru"os, "uesto
que en lo adelante dos estados de gru"os distintos no "odr*n
reunirse nuevamente en alg5n gru"o# +i dos estados son distinguidos
"or alguna cadena de longitud I, !a no "odr*n ser indistinguibles#
0ara anali2ar cada gru"o se toman sus estados dos a dos ! se
com"rueba si son 'IN1)3indistinguibles anali2ando sus transiciones
ante cada smbolo de entrada# Aomemos, "or ejem"lo, los estados +
1
! +
2
de L
1
! analicemos sus transiciones ante el smbolo a: '+
1
,a) !
'+
2
,a)# +i estas transiciones son a estados que se encuentran en
gru"os distintos de la "articin
I
, entonces estos estados an sido
distinguidos "or una cadena ;a, (;a( - IN1, luego, ellos deben ser
se"arados en gru"os distintos de la nueva "articin# 0ara que dos
estados contin5en "erteneciendo a un mismo gru"o en la nueva
"articin es necesario que "ara todos los smbolos de entrada sus
transiciones ante cada smbolo sean a estados de un mismo gru"o# El
algoritmo termina cuando
IN1
-
I
#
Algoritmo: 'inimi)acin de un AFD reuniendo u etado
redundante
Entrada: :n A/. 1 - '+,,,+,,/)
+alida: :n A/. 19 - '+9,9,,+9,,/9) mnimo, tal que 6'1) - 6'19)
1# 7onstruir una "articin inicial ,, con dos gru"os de estados,
los finales ! los no finales#
I - 1
2# A"licar el siguiente "rocedimiento a I31 "ara obtener I#
a) 0ara cada gru"o L I31, "articionar L en subgru"os
de forma tal que dos estados + ! A de L est8n en un mismo
subgru"o si ! solo si "ara todo smbolo a '+,a) ! 'A,a) son a
estados de un mismo gru"o de I31
b) I es la nueva "articin formada "or los subgru"os
obtenidos#
3# +i I - I31, entonces acer final - I e ir a =, de lo
contrario acer I - IN1 e ir a 2#
=# 7onstruir el nuevo autmata de la siguiente forma:
a) Aomar de cada gru"o de final un estado
re"resentante
b) 6os estados de 19 son los re"resentantes de cada
gru"o
*
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
c) 0ara cada estado re"resentante +, si e%iste
una transicin "or a de + a A en 1, entonces en 19 abr* una
transicin "or a de + a D, donde D es el re"resentante del gru"o
de A
d) El estado inicial es el re"resentante del gru"o donde
est* el estado inicial de 1, ! los estados finales son los
re"resentantes de los gru"os que contienen estados finales del
autmata original
Ejem"lo: A"liquemos el algoritmo al siguiente autmata

s t a r t
A
(
)
0
0
1
1
1
1
1
1
0
0
1
0
0
C +
, -
0rimero debemos determinar los estados accesibles:
A, AB., AB.7, AB.7E, AB.7E, "or tanto, / ! L son inaccesibles
$inimi2acin
,: L1 - { A,B,. } L2 - { 7,E }
A,B,. son ,3indistinguibles
7,E son ,3indistinguibles
, 1
A L1 L1
L1 B L1 L2
. L1 L2
L2 7 L1 L2
E L1 L2
En L1, B ! . son 13indistinguibles, mientras que A se distingue
de ambos# 6uego, es necesario se"arar A de B ! . en la "r%ima
"articin#
En L2, 7 ! E son 13indistinguibles, "or lo que no "odr*n
se"ararse en el "r%imo "aso#
10
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
1: L1 - { A } L2 - { B,. } L3 - { 7,E }
2: L1 - { A } L2 - { B,. } L3 - { 7,E }
2 - 1 - final
El autmata resultante es:
E*+IVA,ENCIA EN"RE A+"'A"AS -
.RA'/"ICAS%
El esquema Lenerador de 6enguajes 'Lram*ticas) fue
desarrollado "or el cientfico 1oam 7omsI! '1O?>) ! el esquema
generador de 6enguajes fue desarrollado "or el cientfico A# $# Auring
'1O3>), e%istiendo una estreca relacin entre ambos resultados, es
decir una com"leta relacin entre la clasificacin de gram*ticas eca
"or 7omsI! ! la 7lasificacin de Autmatas eca "or Auring# 6a
relacin es la siguiente#
Lram*ticas 6ineales a la
.ereca
Autmatas /initos
Lram*ticas de 6ibre 7onte%to Autmatas de 0ila
Lram*ticas .e"endientes del
7onte%to
Autmatas de /rontera
6ineal
Lram*ticas sin Destricciones $*quinas de Auring

11

s t a rt
A
(
0
1
C
0,1
0

También podría gustarte