Coût d'une requête d'équivalence pour DFA

12

Inspiré par cette question , je suis curieux de savoir ce qui suit:

Quelle est la pire des situations pour vérifier si un DFA donné accepte le même langage qu'une expression régulière donnée?

Est-ce connu? L'espoir serait que ce problème soit en P - qu'il existe un algorithme polynomial dans la taille des deux.

Lev Reyzin
la source

Réponses:

16

Selon Garey et Johnson (p. 174), la NON-UNIVERSALITÉ D'EXPRESSION RÉGULIÈRE est complète sur PSPACE. C'est le problème de décider si une expression régulière sur ne génère pas toutes les chaînes. Votre problème est donc également complet sur PSPACE.{0,1}

Voici une façon de voir que le problème de l'OP est dans PSPACE. Étant donné un DFA et une expression régulière , construisez un NFA pour et utilisez la construction de l'ensemble de puissance pour construire virtuellement un DFA équivalent à ; nous ne garderons pas en mémoire, mais nous avons un accès Oracle à utilisant uniquement l'espace polynomial. Construisez maintenant virtuellement un DFA pour la différence symétrique de et utilisant la construction du produit. Ce DFA n'accepte aucune chaîne (et doncArBrCBCCDACL(A)=L(r)) s'il n'y a pas de chemin entre l'état de départ et l'état d'acceptation. Puisque l'accessibilité est en NL et a une taille , nous pouvons vérifier si dans , cette dernière égalité due au théorème de Savitch.D2poly(n)L(D)=NSPACE(poly(n))=NPSPACE=PSPACE

Yuval Filmus
la source
Êtes-vous sûr que c'est dans PSPACE (sinon ce serait juste PSPACE-HARD)? Ou peut-être suffit-il de vérifier toutes les chaînes d'une longueur polynomiale pour voir si l'expression rationnelle et le DFA sont tous d'accord? Est-ce évident? :-)
Neal Young
4
Rappelez-vous que l'accessibilité est en NL, donc même si le DFA correspondant à l'expression régulière est exponentiel, car l'accès Oracle à celui-ci est bon marché, nous pouvons déterminer si la différence symétrique est vide ou non dans NPSPACE = PSPACE.
Yuval Filmus
Je ne vois pas le résultat de la dureté. Autrement dit, comment réduire le problème ci-dessus à l'universalité des expressions régulières?
Markus
2
Choisissez le DFA qui accepte tout. Pour montrer la dureté, vous réduisez la NON-UNIVERSALITÉ D'EXPRESSION RÉGULIÈRE au problème en question.
Yuval Filmus
1
@YuvalFilmus Merci pour la référence! Vous devriez probablement ajouter votre premier commentaire à votre réponse pour être complet, dans les deux sens du mot :)
Lev Reyzin