Il costo di una query di equivalenza per DFA


12

Ispirato da questa domanda , sono curioso di sapere quanto segue:

Qual è la complessità peggiore nel verificare se un determinato DFA accetta la stessa lingua di una determinata espressione regolare?

Questo è noto? La speranza è che questo problema sia in P - che esista un algoritmo polinomiale delle dimensioni di entrambi.

Risposte:


16

Secondo Garey e Johnson (p. 174), LA NON-UNIVERSALITÀ DI ESPRESSIONE NORMALE è completa per PSPACE. Questo è il problema di decidere se un'espressione regolare sopra non non genera tutte le stringhe. Quindi anche il tuo problema è completo di PSPACE.{0,1}

Ecco un modo per vedere che il problema del PO è in PSPACE. Dato un DFA e un'espressione regolare , costruisci un NFA per e usa la costruzione del gruppo di potenza per costruire virtualmente un DFA equivalente a ; non terremo in memoria, ma avremo accesso oracolare a usando solo lo spazio polinomiale. Ora costruisci virtualmente un DFA per la differenza simmetrica di e usando la costruzione del prodotto. Questo DFA non accetta stringhe (e quindiArBrCBCCDACL(A)=L(r)) se non esiste alcun percorso dallo stato iniziale a uno stato accettante. Poiché la raggiungibilità è in NL e ha dimensioni , possiamo verificare se in , quest'ultima uguaglianza dovuta al teorema di Savitch.D2poly(n)L(D)=NSPACE(poly(n))=NPSPACE=PSPACE


Sei sicuro che sia in PSPACE (se no sarebbe solo PSPACE-HARD)? O forse è sufficiente controllare tutte le stringhe di una certa lunghezza polinomiale per vedere se la regexp e il DFA sono d'accordo su tutte? È ovvio? :-)
Neal Young

4
Ricorda che la raggiungibilità è in NL, quindi anche se il DFA corrispondente all'espressione regolare è esponenziale, poiché l'accesso all'oracolo è economico, possiamo capire se la differenza simmetrica è vuota o no in NPSPACE = PSPACE.
Yuval Filmus

Non vedo il risultato di durezza. Cioè, come si riduce il problema sopra all'universalità delle espressioni regolari?
Markus

2
Scegli il DFA che accetta tutto. Per dimostrare la durezza, ridurre la NON UNIVERSALITÀ DI ESPRESSIONE NORMALE al problema in questione.
Yuval Filmus,

1
@YuvalFilmus Grazie per il riferimento! Probabilmente dovresti aggiungere il tuo primo commento alla tua risposta per completezza, in entrambi i significati della parola :)
Lev Reyzin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.