aparentemente este no es un problema muy bien estudiado en el sentido de algoritmos conocidos / disponibles que no sean la estrategia original / de hace mucho tiempo de "determinar a DFA / minimizar DFA". parece indicar que el paso de determinación es el problemático, pero esto es típico, por supuesto, dado que tiene un peor caso exponencial de espacio / tiempo. tenga en cuenta que hay varios algoritmos de minimización de DFA que pueden variar significativamente en rendimiento en promedio.
también se conoce más informalmente como "minimización de NFA sin determinación" . se sabe que es difícil en el sentido de que, básicamente, ni siquiera hay algoritmos de aproximación a menos que P = Pspace como se muestra en este documento:
sin embargo, este documento considera el caso generalmente poco explorado de algunos algoritmos que no se basan en encontrar el DFA 1 st determinado :
Presentamos diferentes técnicas para reducir el número de estados y transiciones en autómatas no deterministas. Estas técnicas se basan en los dos pedidos anticipados sobre el conjunto de estados, relacionados con la inclusión de los idiomas izquierdo y derecho. Dado que su cálculo exacto es NP-hard, nos enfocamos en aproximaciones polinómicas que permiten una reducción del NFA de todos modos.
tenga en cuenta que un paquete / implementación disponible públicamente que puede manejar grandes conversiones / minimizaciones de NFA / DFA, etc. generalmente de la manera más eficiente posible es la biblioteca AT&T FSM .
Tiene una estrategia fsmcompact
que a veces puede ser suficiente:
En los casos en que un transductor o un aceptador ponderado no se puede determinar o crece demasiado, puede ser útil una optimización diferente
fsmcompact
. Esta operación codifica cada triple de una etiqueta de entrada, etiqueta de salida y costo en una sola etiqueta nueva, realiza la determinación y minimización clásicas (aceptador no ponderado) y luego decodifica las etiquetas codificadas nuevamente en sus valores originales. Esto tiene la ventaja de que siempre está definido y que no mueve etiquetas de salida o costos a lo largo de las rutas. Tiene la desventaja de que el resultado no puede ser ni determinista ni mínimo.