Warum ist die NFA-Minimierung ein schweres Problem, die DFA-Minimierung jedoch nicht?

14

Ich weiß, dass wir DFAs minimieren können, indem wir äquivalente Zustände finden und zusammenführen, aber warum können wir das nicht auch mit NFAs tun? Ich suche keinen Beweis oder ähnliches - es sei denn, ein Beweis ist einfacher zu verstehen. Ich möchte nur intuitiv verstehen, warum die NFA-Minimierung so schwierig ist, wenn die DFA-Minimierung dies nicht ist.

Duncan
quelle

Antworten:

8

Für DFA gibt es eine schöne algebraische Struktur, die bestimmt, welche Zustände äquivalent sein können. Die Myhill-Nerode-Äquivalenz für Zeichenfolgen hängt mit der Minimierung von DFA zusammen.

Für NFA ist die Situation kompliziert, da es im Allgemeinen keine eindeutige minimale NFA gibt.

Hier ist ein Beispiel für die endliche Sprache . Die beiden Automaten sind beide state-minimal. Das Beispiel stammt aus dem Aufsatz Eine Anmerkung zu minimalen nicht deterministischen Automaten von Arnold, Dicky und Nivat.{ab,ac,bc,ba,ca,cb}

zwei NFA für dieselbe Sprache

Diese Antwort versucht zum Ausdruck zu bringen, dass die beiden Probleme "technisch" unterschiedlich sind. Siehe die Antwort von vzn für Details, wie sich die Probleme in der Rechenkomplexität unterscheiden.

Hendrik Jan
quelle
8
Weder der kürzeste Weg noch das Minimum-Spanning-Tree-Problem haben (immer) eindeutige Lösungen, aber sie sind immer noch effizient lösbar.
Raphael
5

Sie haben nach einer intuitiven Einstellung gefragt.

In einem DFA kann ein bestimmtes Eingabepräfix höchstens einen Zustand erreichen. Man kann dann Paare von Zuständen zusammenführen, die für ein beliebiges Suffix nicht zu unterscheiden sind. Zustände, die durch ein Suffix unterschieden werden können, können nicht zusammengeführt werden. Dies führt zu einem Minimalautomaten, der zu allen anderen Minimalautomaten isomorph ist.

pqpPPqQPqPQ

n2n

András Salamon
quelle
1

Ö(nsLogn)

Siehe auch diese TCS.se-Frage zur Berechnung der minimalen NFA für eine DFA

vzn
quelle
Ich weiß nicht, wie ich es genau definieren soll, aber ich meinte, dass es keinen effizienten Algorithmus gibt, um es zu lösen.
Duncan
@duncan ok, dann hast du ja das wort im technischen sinne benutzt. Es gibt also einige Erläuterungen zur technischen Härte. In CS ist "effizient" auch ein technischer Begriff, der mit PTime identisch ist. Ihre Frage bezieht sich also tatsächlich auf eine wichtige offene Frage in TCS - es wird allgemein vermutet / formuliert, dass die NFA-Minimierung (zusammen mit allen PSpace-vollständigen Problemen) tatsächlich "schwierig" ist, dh nicht in P, aber noch nicht bewiesen.
VZN