Wie schnell können wir entscheiden, ob ein bestimmter DFA minimal ist?

11

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.AA

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.AA

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.O(nlogn)

Cornelius Brand
quelle
Der Hopcroft-Algorithmus läuft bereits in quasilinearer Zeit, daher gibt es nicht viel Raum für Verbesserungen.
Yuval Filmus
Ja, ich habe meine Frage so bearbeitet, dass sie diese Tatsache widerspiegelt. @YuvalFilmus
Cornelius Brand
1
Ich glaube, der schnellste bekannte DFA-Minimierungsalgorithmus ist immer noch dieser . Es ist schneller als jeder vor 2008 veröffentlichte Algorithmus, der in der Zeit wird, wobei m die Anzahl der Übergänge ist. O(n+mlogn)m
Juho
Es scheint mir unwahrscheinlich, dass das Entscheidungsproblem in seiner Komplexität dem Minimierungsproblem entspricht. Ersteres scheint möglicherweise schwieriger zu sein, da es die Prüfung auf DFA-Äquivalenz beinhaltet, die nicht trivial ist. Es scheint also, dass die Komplexität des Entscheidungsproblems das Maximum von "Minimierungs- oder Äquivalenztests" ist. und wie komplex sind Äquivalenztests?
vzn
@vzn Angenommen, Sie meinten "[...] was nicht trivial ist": Es muss nicht unbedingt sein, da z. B. das in meiner Frage angegebene Verfahren das Testen auf Äquivalenz vermeidet. Ich denke jedoch auch, dass das Problem nicht einfacher ist als zu minimieren.
Cornelius Brand

Antworten:

5

Dies ist möglicherweise nicht genau die Art von Antwort, nach der Sie suchen, aber da Sie nach Entscheidungsproblemen gefragt haben, dachte ich, dass Sie an der Komplexität des Problems interessiert sein könnten. Es ist vollständig.NL

Was bedeutet es nun, dass ein DFA minimal ist? Es gibt zwei Eigenschaften:

  1. Jeder Zustand ist erreichbar: sodass wir erreichen können , q von dem Startzustand s durch folgende w ; in Symbolen: s w q .qQwΣqswswq

  2. Jedes Paar von Zuständen unterscheiden: mit q r w & Sgr; * , so dass q w s und r w t und | { s , t } F | = 1 (nur einer vonq,rQqr wΣqwsrwt|{s,t}F|=1 ist ein Akzeptanzzustand).s,t

Beachten Sie, dass die kann in log-Raum (dh berechnet werden L , nur die aktuelle Position verfolgen , wie Sie folgen w zu einem Zeitpunkt ein Brief). Des Weiteren gibt es nur eine endliche Anzahl von Wechseln zwischen und so als Folge des Immerman-Szelepcsenyi Satz haben wir , dass das Problem in ist N L .xwyLwNL

Der einfachste Weg , um zu sehen , dass es für schwierig ist , ist zu bemerken , dass Eigentum 1 löst s - t unreachability gerichtet, die das prototypische schwierige Problem ist. Aber selbst wenn Sie nur erreichbare DFAs betrachten, ist das Problem immer noch schwierig (dh Eigenschaft 2 ist N L -hart) und Sie können einen relativ einfachen Beweis in Lemma 2.2 von Cho & Huynh (1992) finden .NLstNL

Natürlich habe ich Nicht-Determinismus verwendet, daher ist es ein bisschen hustend, wie es sich von Hopcrofts Algorithmus unterscheidet. Wir wissen jedoch, dass , sodass Sie diese Konstruktionen verwenden können, um einen platzsparenderen Algorithmus als Hopcroft zu erhalten (der naturgemäß n verfolgen mussNLL2n viele Partitionen im ).

Artem Kaznatcheev
quelle
Dies scheint die räumliche, aber nicht die zeitliche Komplexität zu verbessern.
vzn
Ich stimme vzn zu. Obwohl mir diese Antwort gefällt, interessieren mich immer noch Erkenntnisse, die enger mit der ursprünglichen Frage zusammenhängen.
Cornelius Brand
NLP