Minimizzando automi finiti deterministici (DFA) è un problema che è stato accuratamente studiato in letteratura, e sono stati proposti diversi algoritmi per risolvere il seguente problema: Dato un DFA , calcolare un corrispondente minimo DFA accettare la stessa lingua A . La maggior parte di questi algoritmi viene eseguita in tempi polinomiali.
Tuttavia, mi chiedo se la variante decisionale di questo problema - "dato un DFA , è A minima?" - può essere risolto in modo più efficiente rispetto al calcolo effettivo dell'automa minimo. Ovviamente, questo può essere fatto anche in modo efficiente eseguendo ad esempio l'algoritmo di affinamento delle partizioni di Hopcroft e quindi decidere se tutte le partizioni contengono esattamente uno stato.
Come suggerisce Yuval Filmus nella sua risposta , la variante di decidibilità può essere risolta più rapidamente, possibilmente utilizzando gli algoritmi standard. Sfortunatamente, non riesco a vedere come (spero di non perdere un punto ovvio qui).
Yuval sottolinea nei commenti qui che gli algoritmi più noti (come quello sopra) vengono eseguiti nel tempo per alfabeti di dimensioni costanti. Pertanto, non sono solo interessato a guadagni asintoticamente significativi nel tempo di esecuzione, in quanto questi sembrano piuttosto improbabili. Ciò che mi preoccupa di più è che non riesco a immaginare alcuna "scorciatoia" che potrebbe essere disegnata dal fatto che siamo interessati solo a una risposta sì-no-risposta - nemmeno una scorciatoia che consente di salvare un periodo di tempo asintoticamente trascurabile. Sento che ogni algoritmo sensibile che decide la minimalità di un DFA dovrebbe effettivamente minimizzare il DFA e vedere se qualcosa cambia durante il processo.