Натхненний цим питанням , мені цікаво таке:
Яка найгірша складність перевірки того, чи приймається дана DFA тією ж мовою, що й заданий регулярний вираз?
Це відомо? Будемо сподіватися, що ця проблема є в P - що існує поліном алгоритму розміром обох.
Натхненний цим питанням , мені цікаво таке:
Яка найгірша складність перевірки того, чи приймається дана DFA тією ж мовою, що й заданий регулярний вираз?
Це відомо? Будемо сподіватися, що ця проблема є в P - що існує поліном алгоритму розміром обох.
Відповіді:
Згідно з Гарі та Джонсоном (стор. 174), РЕГУЛЯРНА ВИПУСКА НЕУНІВЕРСАЛЬНІСТЬ завершена PSPACE. Це проблема прийняття рішення , є чи регулярний вираз над ніяк НЕ генерує всі рядки. Тож ваша проблема також PSPACE-завершена.
Ось один із способів побачити, що проблема ОП полягає в PSPACE. Враховуючи DFA і регулярний вираз r , побудуйте NFA B для r і використовуйте побудову потужності, щоб практично побудувати DFA C, еквівалентний B ; ми не збережемо C у пам’яті, але маємо доступ до оракула до C, використовуючи лише поліноміальний простір. Тепер практично побудуйте DFA D для симетричної різниці A і C, використовуючи конструкцію виробу. Цей DFA не приймає рядків (і так L ( A ) = L ( r ) якщо немає шляху від початкового стану до прийнятого. Оскільки доступність в NL та D має розмір 2 p o l y ( n ) , ми можемо перевірити, чиу, остання рівність завдяки теоремі Савича.N S P A C E ( p o l y ( n ) ) = N P S P A C E = P S P A C E