Известно, что минимизация размера регулярного выражения является PSPACE-полной, даже если у нас есть DFA в качестве спецификации языка .
Каковы результаты, если язык конечен?
Можно рассмотреть эту проблему в двух моделях:
- Входные данные - это все строки в языке, и мы измеряем размер ввода как сумму длины всех строк.
- Входные данные являются DFA, и мы измеряем размер входных данных по количеству состояний DFA.
Звезда Клини бесполезна в конечном случае, поэтому только ,и (конкатенация) используются в выражении. Конечно, длина регулярного выражения кажется произвольной. Вместо этого можно дать вес каждой операции (включая добавление скобок) и попросить минимизировать вес регулярного выражения.| ⋅
Редактировать: Как отметил adrianN, это связано с грамматическими кодами. NP-Complete для создания контекстно-свободной грамматики минимальной длины для описания конечного множества. Непонятно, почему грамматика без контекста минимального размера может много значить для регулярного выражения минимального размера. Возможно, умное правило переписывания может связать эти два и доказать, что в первой модели проблема в NP.