Мене цікавить класична проблема РЕГУЛЯЦІЙНЕ ВКЛЮЧЕННЯ МОВИ. Давши регулярний вираз , позначимо через звичайну мову, пов'язану з ним. (Регулярні вирази знаходяться на фіксованому алфавіті , з об'єднанням операцій, зіркою Kleene та конкатенацією.)
Введення: Два регулярні вирази і E 2 Питання: Чи правда, що L ( E 1 ) ⊆ L ( E 2 ) ?
ВКЛЮЧЕННЯ РЕГУЛЯРНОЇ МОВИ, як відомо, є повним PSPACE [1].
Класичний спосіб її вирішення (в PSPACE) - побудувати NFAs і A 2, пов'язані з E 1 і E 2 , побудувати DFA D 2 з A 2 , доповнити його в DFA D C 2 і, нарешті, побудувати автомат перехрестя A P з A 1 і D C 2, відповідний перетину L ( E 1 ) і L ( E 2 ) C. Тепер тоді і тільки тоді, коли в A P немає прийнятного шляху .
Якщо я не помиляюсь, весь процес може бути здійснений у поліноміальний час, коли є фіксованою мовою, оскільки єдине експоненціальне вибух відбувається від перетворення A 2 в D 2 . Ще краще, що проблема - FPT, коли параметризовано | Е 2 | , довжина E 2 .
Це мотивує моє запитання:
Запитання: Коли - виправлений вираз, у чому полягає складність РЕГУЛЯРНОГО ВКЛЮЧЕННЯ МОВИ? Чи залишається він PSPACE-повним?
[1] Л.Д. Стокмейер та А.Р. Мейєр. Проблеми зі словом, що вимагають експоненціального часу: попередній звіт. Праці п'ятого щорічного симпозіуму АСМ з теорії обчислень, STOC '73, стор. 1-9.
Зауваження: Будучи не експертом у цій галузі, я вважаю [1] (і пов'язані з цим папери того часу) досить нечитабельними, і не міг знайти іншого підтвердження повноти PSPACE - будь-якого вказівника на сучасний доказ, наприклад, у книга, дуже вітаємо! Також, здається, автори дозволяють проводити квадрати у своїх регулярних висловлюваннях, що, на сьогодні, я вважаю досить нестандартним.)