Está en la página 1de 4

Minimizacin de Autmatas Finitos Deterministas

Sebastin Ruiz Blais


ruizble@yahoo.com
Estudiante de pregrado,
Escuela de Ciencias de Computacin e Inormtica
!ni"ersidad de Costa Rica
Resumen#
El algoritmo de minimizacin de autmatas initos deterministas
permite simpliicar el mane$o de autmatas. Se presenta a%u& los
detalles de este algoritmo y un e$emplo concreto. Se busca acilitar el
entendimiento del algoritmo, en particular en estudiantes de cursos de
compiladores o en proesionales %ue bus%uen la reerencia al tema.
'( Introduccin#
Cuando se traba$a en compiladores, se re%uiere utilizar gramticas y autmatas
asociados a )stas. E*isten herramientas %ue permiten simpliicar la utilizacin de los
autmatas. En particular, para los autmatas initos deterministas +,-.(, es de suma
utilidad aplicar el algoritmo de minimizacin, ya %ue de )sta orma se obtiene un
autmata e%ui"alente, pero mucho ms eiciente.
Se brindar una e*plicacin paso por paso del uncionamiento del algoritmo de
minimizacin de ,-., en un primer momento. /uego, se proceder a aplicar el
algoritmo en un e$emplo prctico.
0( E*plicacin del algoritmo de 1inimizacin#
El algoritmo de minimizacin consiste en cinco pasos, aun%ue )stos a "eces deben
ser repetidos#
2articin inicial
2articin de nue"os con$untos
3eriicar la nue"a particin
Eliminar los estados %ue se encuentren en el mismo grupo
Remo"er estados sumidero y no alcanzables desde s&mbolo inicial
.e los pasos anteriores, el segundo y el tercero orman un ciclo, mientras %ue los dems
son procesos mecnicos %ue slo se deben aplicar una "ez. , continuacin,
detallaremos cada uno de estos pasos.
, partir de un autmata determinista +,-.(, ya sea una tabla con los "alores o
su dibu$o, se determinan dos con$untos# uno %ue contiene a todos los estados inales y
otro %ue contiene a los dems estados. 2or e$emplo, en la tabla de aba$o, los estados
inales son a%uellos %ue tienen 4+(5 despu)s del n6mero +7 y 8( y los estados no inales
son los dems +' y 0(. 2ara el dibu$o, los estados inales son los %ue tienen doble c&rculo
+7 y 8(, mientras %ue los no inales son los %ue tienen c&rculo sencillo +' y 0(. , este
proceso se le conoce como particin inicial.
Estados \ 9ransiciones a b
'+i( 0
0 ' 8
7+( 8 7
8+( 7
+i(: estado inicial
+(: estado inal
9abla de representacin de un autmata inito determinista
.ibu$o de representacin de un autmata inito determinista
, partir de cada estado en cada uno de los con$untos %ue se tiene, se estudia
cules transiciones tienen, a cules estados se dirigen y a cules con$untos pertenecen
estos estados de llegada. Si dos estados del mismo con$unto se dirigen a estados de
con$untos distintos por medio de una de las transiciones, entonces estos estados deben
separarse, ormando as& una nue"a particin. , esto se le llama particin de nue"os
con$untos. ,simismo, si uno de los estados del con$unto tiene una transicin hacia otro
estado y los dems estados del con$unto no "an a ninguna parte con el terminal de la
transicin, entonces el %ue s& la tiene debe separarse.
En estrecha relacin con el paso anterior se encuentra el paso de "eriicacin de
la nue"a particin. Este indica %ue se debe repetir la ase de particin hasta %ue los
con$untos ya no se puedan separar ms. /os con$untos no se pueden separar cuando
%uedan con 6nicamente un estado o cuando todos los estados del con$unto tienen
transiciones hacia estados de los mismos con$untos. Cuando ya no se puede realizar ms
particiones a los con$untos, se sigue con el cuarto paso. Resulta de suma importancia
considerar %ue cuando se separan dos estados de un con$unto, esto puede aectar las
uturas particiones.
Se dispone ahora de una particin inal. Si todos los estados estn en con$untos
distintos, no hay %ue hacer nada. Si, por el contrario, hay "arios estados en uno o "arios
de los con$untos, estos estados deben usionarse. /a $ustiicacin es sencillamente %ue
todos los estados de un con$unto cumplen una misma uncin y el autmata no se "e
aectado si se unen. 2ara realizar esta usin, se determina arbitrariamente un estado
representante por cada con$unto. En la tabla del autmata, se reemplazan los dems
estados del con$unto por el representante. /uego, se eliminan las ilas repetidas.
-inalmente, se debe remo"er a%uellos estados no inales %ue slo tienen
transiciones hacia ellos mismos o, en otras palabras, a%uellos a partir de los cuales no se
puede llegar a ning6n estado inal. , estos se les denomina estados sumideros.
,simismo, se debe eliminar los estados a los %ue no se puede llegar desde el estado
inicial.
7( E$emplo de 1inimizacin de un ,utmata .eterminista
Se tiene la siguiente tabla de un autmata.
' ;
, B <
B B C
C , E
. . <
=E> E E
- < -
< < <
El estado , es inicial y el estado E es inal. Se aplicar el algoritmo de minimizacin
descrito anteriormente.
2rimer paso. Se separan los estados en estados inales y no inales. 9enemos los
con$untos# ?, B C . - <@ y ?E@.
Segundo paso. , e*cepcin de C, todos los estados tienen transiciones hacia los
estados del primer con$unto ?, B C . - <@. Como C se dirige a E por medio de ;,
separamos a este estado. Aos %uedan entonces los con$untos# ?, B . - <@ ?C@ ?E@.
/os estados C y E han %uedado solos en sus con$untos y entonces no pueden ser
separados ms.
Se "uel"e a realizar el paso 0. B se dirige a C mediante ;. Como C se encuentra
en un con$unto dierente al de los dems estados de llegada a partir del con$unto ?, B .
- <@, hay %ue separar a B. Esto nos da# ?, . - <@ ?B@ ?C@ ?E@. B ya no puede ser
particionado.
Se "uel"e a realizar el paso 0. , se dirige a B mediante ' y B est en un grupo
distinto del con$unto de llegada de ?. - <@. 2or lo tanto, , debe separarse del grupo.
Aos %ueda# ?. - <@ ?,@ ?B@ ?C@ ?E@. , no puede separarse ms.
9ercer paso. ?. - <@ no se puede separar ms ya %ue todos sus estados se
dirigen a un mismo con$unto de estados +?. - <@(.
Cuarto paso. 2ara el 6nico con$unto con ms de un estado ?. - <@, se escoge el
representante .. En la tabla, reemplazamos por . donde sea %ue aparezca - o <.
9enemos la siguiente tabla#
' ;
, B .
B B C
C , E
. . .
=E> E E
. . .
. . .
Como resultado, se tiene tres ilas id)nticas. 2or lo tanto, se elimina dos de ellas,
obteniendo la siguiente tabla#
' ;
, B .
B B C
C , E
. . .
=E> E E
,hora, el autmata %ue se tiene no tiene estados sumidero y todos los estados son
alcanzables a partir del estado inicial ,. El autmata ha sido minimizado.
8( Conclusiones
El uso del algoritmo de minimizacin es de gran utilidad para disminuir el n6mero
de estados de un autmata determinista. Sin embargo, esto no asegura %ue el n6mero de
transiciones entre estados se reduzca. El algoritmo es bastante sencillo de aprender,
aun%ue es necesario realizar mucha prctica para poder dominarlo. 2ara acilitar la
obtencin de un autmata m&nimo se recomienda partir de un autmata simple si se da
la oportunidad de crearlo a partir de una e*presin regular. Entre ms estados tenga un
autmata, ms comple$o resultar y ser ms di&cil de mane$ar.
Bibliogra&a#
B,ho, ,lred 3 C Sethi, Ra"i C !llman, Derey ..# Compilers: Principles,
Techniques and Tools, ,ddison Eesley. 'FGF.
B.i 1are. Herramientas de curso ,utmatas y Compiladores# http#IIJJJ.diB
mare.comIpubI,yCI

También podría gustarte