Проблема с высотой звезды
-
Определение и примеры высоты звезды
- Высота звезды — это минимальное количество звездочек, необходимое для представления языка.
- Примеры языков с высотой звезды 1 включают регулярные выражения и языки с конечным числом состояний.
- Примеры языков с высотой звезды 2 включают регулярные выражения с двумя звездочками и языки с конечным числом состояний и переходов.
-
Алгоритм Клини и его обобщение
- Алгоритм Клини позволяет построить регулярное выражение для языка, заданного детерминированным конечным автоматом.
- Обобщение алгоритма Клини позволяет строить регулярные выражения для языков с высотой звезды меньше n.
-
Сложность вычисления высоты звезды
- Для обычных языков проблема высоты звезды оставалась открытой более 25 лет.
- Алгоритм Хашигути 1988 года был неэффективным и требовал экспоненциальных ресурсов.
- Алгоритм Кирстена 2005 года был более эффективным, но все еще требовал значительных ресурсов.
- В 2008 году Колкомбет и Лединг оптимизировали алгоритм Кирстена, что привело к созданию инструмента Stamina.
-
Рекомендации и дальнейшее чтение
- В статье приведены рекомендации по использованию регулярных выражений и ссылки на технические отчеты.
Полный текст статьи: