Das Minimieren deterministischer endlicher Automaten (DFAs) ist ein Problem, das in der Literatur gründlich untersucht wurde, und es wurden verschiedene Algorithmen vorgeschlagen, um das folgende Problem zu lösen: Berechnen Sie bei gegebenem DFA einen entsprechenden minimalen DFA, der dieselbe Sprache wie A akzeptiert . Die meisten dieser Algorithmen laufen in Polynomzeit.
Ich frage mich jedoch, ob die Entscheidungsvariante dieses Problems - "bei einem DFA ist A minimal?" - kann effizienter gelöst werden als die Berechnung des Minimalautomaten. Dies kann natürlich auch effizient erfolgen, indem beispielsweise der Partitionsverfeinerungsalgorithmus von Hopcroft ausgeführt und dann entschieden wird, ob alle Partitionen genau einen Status enthalten.
Wie Yuval Filmus in seiner Antwort vorschlägt , kann die Entscheidbarkeitsvariante schneller gelöst werden, möglicherweise unter Verwendung der Standardalgorithmen. Leider kann ich nicht sehen wie (ich hoffe, ich vermisse hier keinen offensichtlichen Punkt).
Yuval weist in den Kommentaren hier darauf hin, dass die bekanntesten Algorithmen (wie der obige) in der Zeit für Alphabete konstanter Größe ausgeführt werden. Daher bin ich nicht nur an asymptotisch signifikanten Laufzeitgewinnen interessiert, da diese eher unwahrscheinlich erscheinen. Was mich am meisten stört, ist, dass ich mir keine "Abkürzung" vorstellen kann, die sich aus der Tatsache ergibt, dass wir nur an einer Ja-Nein-Antwort interessiert sind - nicht einmal an einer Abkürzung, die es ermöglicht, asymptotisch vernachlässigbare Zeit zu sparen. Ich bin der Meinung, dass jeder vernünftige Algorithmus, der über die Minimalität eines DFA entscheidet, den DFA tatsächlich minimieren und prüfen muss, ob sich während des Prozesses etwas ändert.