Я пытаюсь составить таксономию алгоритмов для преобразования регулярных выражений в автоматы, чтобы выполнить некоторые эмпирические тесты их свойств сложности в определенных областях.
Я знаю несколько «больших» имен, например:
Томпсон
«Алгоритм поиска регулярных выражений», Томпсон, 1968
Глушков
«Новый квадратичный алгоритм для преобразования регулярного выражения в автомат», Ponty, et. Аль, 1996
Антимиров
«Частичные производные регулярных выражений и конструкции конечных автоматов», Антимиров, 1996
следить
"Follow Automata", Ilie, et. al, 2003;
«Вычисление следующего автомата выражения», Champarnaud, et. 2002 год
Hromkovic
«Перевод регулярных выражений в малые недетерминированные конечные автоматы, свободные от электронных», Hromkovic, et. 2001 год
и их отличительные свойства (отсутствие эпсилон-ности, детерминизм, размер, минимизация и т. д.), но я знаю, что это не исчерпывающий список.
Меня особенно интересуют алгоритмы, которые представляют либо существенно отличающиеся временные сложности от перечисленных выше, и / или существенно отличающиеся топологии.
Если вы знаете о других, ссылка на документ , который описывает алгоритм построения в деталях было бы весьма признателен (читай необходимо , если я собираюсь реализовать это!)
Изменить: Добавлено несколько ссылок в соответствии с просьбой.
Ответы:
Уотсон (Tech. Rep. Univ. Eindhoven 1995) написал таксономию алгоритмов построения конечных автоматов; несколько более недавних событий найдены ниже.
Для NFA с эпсилон-переходами в книге теории разбора Sippu / Soisalon-Soininen (Springer, 1998) содержится вариант построения Томпсона. Илие и Ю (I & C 2003) и Гулан и Фернэу (FSTTCS 2008) дают усовершенствованные версии классической конструкции. Минимальный требуемый размер эпсилон-НФА, соответствующий регулярным выражениям, дополнительно изучен Грубером и Гуланом (LATA 2010). Структура лежащих в основе орграфов, полученных в результате построения Томпсона, изучена Джаммаррези, Понти, Вудом и Зиади (Discr. Appl. Math 2004) и Гуланом (Tech. Rep. Univ. Trier, 2010).
Что касается свободных от эпсилона NFAs, я хочу упомянуть более раннюю работу Berry & Sethi (TCS 1986) и Brüggemann-Klein (TCS 1993), но это, вероятно, охватывается таксономией Ватсона.
Также обратите внимание: что касается быстрых алгоритмов сопоставления регулярных выражений, мне известны недавние работы Билла и Торапа (ICALP 2009, SODA 2010). Они используют классическую конструкцию Томпсона (плюс, конечно, множество трюков для получения скорости).
источник
В вашем списке не учитываются производные регулярных выражений от Janusz Brzozowski, Journal of ACM 1964, недавно пересмотренные Скоттом Оуэнсом, Джоном Реппи и Аароном Туроном в пересмотренных производных регулярных выражений. Журнал функционального программирования (2009), 19: 173-190 , которые обеспечивают практическую реализацию техники для расширенной записи регулярных выражений.
источник