Sei sulla pagina 1di 4

AUTMATAS FINITOS MTODO DE SUBCONJUNTO En teora de la computacin, la Construccin de subconjuntos es un mtodo estndar para, partiendo de un NFA (Autmata Finito

No Determinista), obtener un DFA (Autmata Finito Determinista) equivalente, es decir, que reconozca el mismo Lenguaje regular. En la teora es importante porque establece que los NFAs aunque son ms flexibles, no pueden reconocer ningn lenguaje que un DFA no pueda. Sin embargo, dado un NFA con estados, el DFA equivalente podra tener hasta estados, por lo que a veces, construir un DFA a partir de un NFA de gran tamao no es practicable. Este problema se minimiza en gran medida con el algoritmo de Construccin de subconjuntos, el cual limita la insercin de estados al DFA resultante nicamente a los casos estrictamente necesarios. Sea un NFA. El algoritmo de Construccin de de modo subconjuntos permite hallar un DFA que Apliquemos ahora el algoritmo al NFA de la siguiente figura:

Empezamos obteniendo la -clausura del estado de arranque del NFA, es decir, el conjunto de estados alcanzables desde el estado inicial, consumiendo nicamente -transiciones.

Una vez que tenemos definido el estado de arranque de nuestro DFA, podemos empezar a completar los estados y transiciones restantes. Como sabemos que S representa un conjunto de estados del NFA inicial, slo tenemos que hacer transitar dicho conjunto con cada smbolo de nuestro alfabeto y estudiar a que otros conjuntos se llega. Si estos otros conjuntos no pertenecen a Q', entonces los aadiremos a nuestro DFA, en el caso contrario, slo tendremos que aadir nuevas transiciones.

En nuestro caso, nuestro estado inicial S = {0,1,2,4,7} transita con smbolo 'a' a un nuevo conjunto ({3,8}), al cual calcularemos su -clausura para obtener B = {0,1,2,3,4,6,7,8}.

Repetimos el proceso anterior usando ahora el otro smbolo perteneciente a nuestro alfabeto.

Una vez creadas todas las transiciones posibles para nuestro estado inicial (S), continuamos la ejecucin del algoritmo con cada uno de los estados encontrados previamente. En esta iteracin, obtenemos un conjunto de estados ya conocido, por lo cual, solo tendremos que aadir la transicin correspondiente a nuestro autmata.

El conjunto de estados de aceptacin del DFA resultante estar formado por todos aquellos estados que contengan un estado final del NFA. En nuestro caso, el NFA inicial tena un estado de aceptacin identificado como 10. En el proceso que hemos seguido slo hemos obtenido un conjunto que contenga ste estado (E), por lo cual este se convertir en nuestro nuevo estado de aceptacin.

El DFA resultante quedara de esta forma:

Potrebbero piacerti anche