Вартість запиту на еквівалентність для DFA


12

Натхненний цим питанням , мені цікаво таке:

Яка найгірша складність перевірки того, чи приймається дана DFA тією ж мовою, що й заданий регулярний вираз?

Це відомо? Будемо сподіватися, що ця проблема є в P - що існує поліном алгоритму розміром обох.

Відповіді:


16

Згідно з Гарі та Джонсоном (стор. 174), РЕГУЛЯРНА ВИПУСКА НЕУНІВЕРСАЛЬНІСТЬ завершена PSPACE. Це проблема прийняття рішення , є чи регулярний вираз над ніяк НЕ генерує всі рядки. Тож ваша проблема також PSPACE-завершена.{0,1}

Ось один із способів побачити, що проблема ОП полягає в PSPACE. Враховуючи DFA і регулярний вираз r , побудуйте NFA B для r і використовуйте побудову потужності, щоб практично побудувати DFA C, еквівалентний B ; ми не збережемо C у пам’яті, але маємо доступ до оракула до C, використовуючи лише поліноміальний простір. Тепер практично побудуйте DFA D для симетричної різниці A і C, використовуючи конструкцію виробу. Цей DFA не приймає рядків (і так L ( A ) = L ( rArBrCBCCDAC ) якщо немає шляху від початкового стану до прийнятого. Оскільки доступність в NL та D має розмір 2 p o l y ( n ) , ми можемо перевірити, чиу, остання рівність завдяки теоремі Савича.L(A)=L(r)D2poly(n)N S P A C E ( p o l y ( n ) ) = N P S P A C E = P S P A C EL(D)=NSPACE(poly(n))=NPSPACE=PSPACE


Ви впевнені, що це в PSPACE (якби не просто PSPACE-HARD)? Чи, може, достатньо перевірити всі рядки деякої довжини полінома, щоб побачити, чи погоджуються регулярні вирази та DFA? Це очевидно? :-)
Ніл Янг

4
Пам’ятайте, що доступність є в NL, тому, хоча DFA, відповідний регулярному вираженню, є експоненціальним, оскільки доступ оракула до нього дешевий, ми можемо з’ясувати, чи симетрична різниця порожня чи ні в NPSPACE = PSPACE.
Yuval Filmus

Я не бачу результату твердості. Тобто, як ви зводите проблему вище до універсальності регулярних виразів?
Маркус

2
Виберіть DFA, який приймає все. Щоб проявити твердість, ви зменшуєте НЕУНІВЕРСАЛЬНІСТЬ РЕГУЛЯРНОГО ВИРАЗУ до проблеми, про яку йдеться.
Yuval Filmus

1
@YuvalFilmus Дякую за довідку! Напевно, ви повинні додати свій перший коментар до своєї відповіді для повноти в обох значеннях слова :)
Лев Рейзін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.