Die Kosten einer Äquivalenzabfrage für DFA

12

Inspiriert von dieser Frage bin ich neugierig auf Folgendes:

Wie komplex ist es im schlimmsten Fall, zu überprüfen, ob ein bestimmter DFA dieselbe Sprache wie ein bestimmter regulärer Ausdruck akzeptiert?

Ist das bekannt? Die Hoffnung wäre, dass dieses Problem in P liegt - dass es ein Algorithmuspolynom in der Größe von beiden gibt.

Lev Reyzin
quelle

Antworten:

16

Laut Garey und Johnson (S. 174) ist die REGULARE EXPRESSION NON-UNIVERSALITY PSPACE-vollständig. Das ist das Problem der Entscheidung , ob ein regulärer Ausdruck über ist nicht alle Saiten erzeugen. Dein Problem ist also auch PSPACE-komplett.{0,1}

ArBrCBCCDACL(A)=L(r)D2poly(n)L(D)=NSPACE(poly(n))=NPSPACE=PSPACE, die letztere Gleichheit aufgrund des Satzes von Savitch.

Yuval Filmus
quelle
Sind Sie sicher, dass es in PSPACE ist (wenn nicht, wäre es nur PSPACE-HARD)? Oder reicht es vielleicht aus, alle Zeichenfolgen einer Polynomlänge zu überprüfen, um festzustellen, ob Regexp und DFA in allen übereinstimmen? Ist das offensichtlich? :-)
Neal Young
4
Denken Sie daran, dass die Erreichbarkeit in NL liegt. Obwohl der DFA, der dem regulären Ausdruck entspricht, exponentiell ist, können wir herausfinden, ob der symmetrische Unterschied in NPSPACE = PSPACE leer ist oder nicht, da der Zugriff durch Oracle billig ist.
Yuval Filmus
Ich sehe das Ergebnis der Härte nicht. Wie reduzieren Sie das obige Problem auf die Universalität regulärer Ausdrücke?
Markus
2
Wählen Sie den DFA, der alles akzeptiert. Um die Härte zu zeigen, reduzieren Sie REGULAR EXPRESSION NON-UNIVERSALITY auf das betreffende Problem.
Yuval Filmus
1
@YuvalFilmus Danke für den Hinweis! Sie sollten der Vollständigkeit
halber