¿Qué tan rápido podemos decidir si un DFA dado es mínimo?


11

Minimizar los autómatas finitos deterministas (DFA) es un problema que se ha estudiado a fondo en la literatura, y se han propuesto varios algoritmos para resolver el siguiente problema: Dado un DFA , calcule un DFA mínimo correspondiente que acepte el mismo lenguaje que . La mayoría de estos algoritmos se ejecutan en tiempo polinómico.AAA

Sin embargo, me pregunto si la variante de decisión de este problema: "dado un DFA , ¿es mínimo?" - se puede resolver de manera más eficiente que computar realmente el autómata mínimo. Obviamente, esto también se puede hacer de manera eficiente ejecutando, por ejemplo, el algoritmo de refinamiento de partición de Hopcroft y luego decidiendo si todas las particiones contienen exactamente un estado.AAA

Como Yuval Filmus sugiere en su respuesta , la variante de capacidad de decisión se puede resolver más rápido, posiblemente utilizando los algoritmos estándar. Desafortunadamente, no puedo ver cómo (espero no perderme un punto obvio aquí).

Yuval señala en los comentarios aquí que los algoritmos más conocidos (como el anterior) se ejecutan en tiempo para alfabetos de tamaño constante. Por lo tanto, no solo estoy interesado en ganancias asintóticamente significativas en tiempo de ejecución, ya que estas parecen bastante improbables. Lo que más me molesta es que no puedo imaginar ningún "atajo" que pueda derivarse del hecho de que solo estamos interesados ​​en un sí-no-respuesta, ni siquiera un atajo que permita ahorrar una cantidad de tiempo asintóticamente insignificante. Creo que cada algoritmo sensible que decida la minimidad de un DFA tendría que minimizarlo y ver si algo cambia durante el proceso.O(nlogn)


El algoritmo de Hopcroft ya se ejecuta en tiempo cuasilineal, por lo que no hay mucho margen de mejora.
Yuval Filmus

Sí, edité mi pregunta para que refleje este hecho, @YuvalFilmus
Cornelius Brand

1
Creo que el algoritmo de minimización de DFA más rápido conocido sigue siendo este . Es más rápido que cualquier algoritmo publicado antes de 2008 ejecutándose en tiempo , donde es el número de transiciones. mO(n+mlogn)m
Juho

Me parece poco probable que el problema de decisión sea equivalente en complejidad al problema de minimización, el primero parece posiblemente más difícil porque implica la prueba de equivalencia de DFA que no es trivial. entonces parece que la complejidad del problema de decisión es el máximo de "pruebas de minimización o equivalencia". ¿Y cuál es la complejidad de las pruebas de equivalencia?
vzn

@vzn Suponiendo que quisieras decir "[...] lo que no es trivial": no necesariamente tiene que hacerlo, ya que, por ejemplo, el procedimiento que di en mi pregunta evita probar la equivalencia. Sin embargo, también creo que el problema no es más fácil que minimizarlo.
Cornelius Brand

Respuestas:


5

Es posible que este no sea exactamente el tipo de respuesta que está buscando, pero dado que preguntó sobre problemas de decisión, pensé que podría estar interesado en la complejidad del problema. Es -completo.NL

Ahora, ¿qué significa que un DFA sea mínimo? Hay dos propiedades:

  1. Cada estado es accesible: modo que podamos alcanzar desde el estado inicial siguiendo ; en símbolos: . q s w s w qqQwΣqswswq

  2. Cada par de estados se puede distinguir: con tal que e y (solo uno de es un estado de aceptación).q r w Σ q w s r w t | { s , t } F | = 1 s , tq,rQqr wΣqwsrwt|{s,t}F|=1s,t

Tenga en cuenta que se puede calcular en el espacio logarítmico (es decir, ; solo siga su posición actual a medida que sigue letra por letra). Además, solo existe un número finito de alternancias entre y por lo que, como consecuencia del teorema Immerman-Szelepcsenyi , tenemos que el problema está en .L w N LxwyLwNL

La forma más fácil de ver que es difícil para es darse cuenta de que la propiedad 1 soluciona - inaccesibilidad, que es el problema difícil prototípico dirigido. Pero incluso si considera solo los DFA accesibles, el problema sigue siendo difícil (es decir, la propiedad 2 es -hard) y puede encontrar una prueba relativamente sencilla en el Lema 2.2 de Cho y Huynh (1992) . s t N LNLstNL

Por supuesto, utilicé el no determinismo, por lo que es un poco tosco en la forma en que difiere del algoritmo de Hopcroft. Pero sabemos que , por lo que puede usar esas construcciones para obtener un algoritmo más eficiente en espacio que Hopcroft (que por su propia naturaleza tiene que realizar un seguimiento de muchas particiones ) nNLL2n


¿Esto parece mejorar el espacio pero no la complejidad del tiempo?
vzn

Estoy de acuerdo con vzn. Aunque me gusta esta respuesta, todavía estoy interesado en ideas que estén más relacionadas con la pregunta original.
Cornelius Brand

@ C.Brand Mi respuesta está destinada a ser tangencial (de ahí el descargo de responsabilidad al comienzo;)) Acabo de darle la clase de complejidad más baja para la que sé que el problema está completo. Existe una técnica estándar para convertir los algoritmos en los (es decir, BFS en el gráfico de configuración ), pero no creo que la construcción le dé un algoritmo de tiempo más rápido. PNLP
Artem Kaznatcheev
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.