Таксономія помітних автоматичних регулярних виразів


10

Я намагаюся скласти таксономію алгоритмів для перетворення регулярних виразів в автомати, щоб виконати деякі емпіричні тести на властивості їх складності в конкретних областях.

Мені відомо кілька «більших» імен, наприклад,


Томпсон

"Алгоритм пошуку регулярних виразів", Томпсон, 1968 рік

Глушков

"Новий квадратичний алгоритм перетворення регулярного виразу в автоматику", Ponty, et. al, 1996

Антиміров

"Часткові похідні від регулярних виразів і кінцевих конструкцій автоматів", Антіміров, 1996

Дотримуйтесь

"Слідкуйте за автоматами", Ilie, et. al, 2003;

"Обчислення наступного автомата виразу", Champarnaud, et. al, 2002

Хромкович

"Переклад регулярних виразів у малі е-вільні недетерміновані кінцеві автомати", Громкович та ін. al, 2001


та їх відмінні властивості (без епсилону, детермінізм, розмір, мінімізація тощо), але я знаю, що це не є вичерпним переліком.

Мене особливо цікавлять алгоритми, які представляють суттєво різні часові складності до перелічених вище, та / або суттєво різні топології.

Якщо ви знаєте про інших, посилання на документ , який описує алгоритм побудови в деталях було б дуже вдячний (читай необхідно , якщо я збираюся реалізувати це!)

Редагувати: Додано кілька посилань відповідно до запиту.


@Radu GRIG Додав декілька посилань. Це найкращі посилання, про які я знаю для цих автоматів, але можуть бути й інші.
s8soj3o289

1
Для Глушкова моє звичайне посилання - Дж. Берстель та Ж.-Е. Пін, "Місцеві мови та алгоритм Беррі-Сетхі", 1996.
Сільвейн

1
До речі, ви можете знайти реалізацію деяких із цих алгоритмів у бібліотеці Vaucanson C ++ для ознайомлення щодо побудови цих алгоритмів. trac.lrde.org/vaucanson/browser/include/vaucanson/algorithms (у яких standard_of = Глушков, thompson_of = Томпсон, похідне_term_automaton = Антіміров, brzozowski = Brzozowski)
Міхаель Кадільхак

@ michael-cadilhac Спасибі за вказівник. Хотілося б, щоб я знав про це ще до того, як сам реалізував інших! Я обов'язково погляну.
s8soj3o289

Відповіді:


7

Ватсон (тех. Реєстр. Ейндховен 1995) написав таксономію алгоритмів побудови кінцевих автоматів; нижче наведено декілька останніх розробок.

Для НФА з епсилон-переходами книга теорії розбору Сіппу / Сойсалона-Сойнінена (Springer, 1998) містить варіант побудови Томпсона. Іллі та Ю (I&C 2003) та Гулан та Фернау (FSTTCS 2008) дають вишукані версії класичної конструкції. Мінімальний необхідний розмір epsilon-NFA, відповідний регулярним виразам, додатково вивчається Грубером та Гуланом (LATA 2010). Структуру основних диграфів, що виникають в результаті побудови Томпсона, вивчають Джаммарресі, Понті, Вуд і Зіаді (Discr. Appl. Math 2004) та Гулан (Tech. Rep. Univ. Trier, 2010).

Стосовно НФА без епсилону, я хочу згадати більш ранні роботи Беррі та Сеті (TCS 1986) та Брюггемана-Кляйна (TCS 1993), але це, ймовірно, охоплено таксономією Уотсона.

Hagenah and Muscholl (RAIRO 2000) дають швидку паралельну версію алгоритму Hromkovic, Seibert & Wilke (HSW). Початкова нижня межа щодо розміру (кількості переходів) NFA, що не належать до епсилону, HSW покращується Ліфшитом (IPL 2003). Гефферт (JCSS 2003) покращує верхню межу у випадку двійкових алфавітів; Пізніше Шнітгер (STACS 2006) покращує нижню межу щодо розміру NFA, що не містять епсилону (для значно зростаючих розмірів алфавіту алгоритм HSW виробляє асимптотично оптимальні NFA) і показує, що розмір достатньо для двійкових алфавітів.н2О(журналн)

Також зверніть увагу: Що стосується швидких алгоритмів для регулярного узгодження виразів, я знаю нещодавню роботу Білла та Торпупа (ICALP 2009, SODA 2010). Вони використовують класичну конструкцію Томпсона (плюс звичайно багато хитрощів для отримання швидкості).


1
це чудова відповідь, дуже дякую. я бачу, ви також нещодавно опублікували книгу на цю тему - чи можу я також запитати, чи. він доступний он-лайн у будь-якій формі та b. це чи ви коли-небудь переглядали складність "середнього випадку" для конкретних доменів? Перш за все, вони зацікавлені в застосуванні до nlp, коли деякі, поки що значною мірою анекдотичні дані свідчать про те, що середня складність випадку деяких із цих алгоритмів суттєво відрізняється від найгірших сценаріїв, описаних у літературі cs.
s8soj3o289

також я не зовсім впевнений, що етикет диктує з точки зору вибору відповіді. ваша відповідь явно перевершує ту, яку я вибрав раніше.
s8soj3o289

Лише тизер книги доступний в Інтернеті безкоштовно.
Герман Грубер

Щодо середньої складності стану випадку, існує також документ про середній розмір NFA для кінцевих мов з М. Холзером (TCS 2007); але найбільш спорідненою, здається, є робота Ніко на автоматах Глушкова (LATA 2009); Є також майбутня доповідь Nicaud, Pivoteau & Razet (FSTTCS 2010) з цікавою назвою - я ще не зміг подивитися.
Герман Грубер

Gouveia, Moreira & Reis (CiE 2010) проводять експерименти з перетворення RE в NFA. Брода, Макіавело, Морейра та Рейс (DLT 2010) порівнюють середню кількість автоматів станів (Глушков) та автоматів рівнянь (Антиміров). Це може також зацікавити.
Герман Грубер

5

Одне з яких не розглядається у вашому списку - похідні регулярних виразів Януша Бжозовського, журнал ACM 1964, який нещодавно було переглянуто Скоттом Оуенсом, Джоном Реппі та Аароном Туроном у похідних із регулярною експресією , які були повторно вивчені. Журнал функціонального програмування (2009), 19: 173-190 , які надають практичну реалізацію методики розширеного позначення для регулярних виразів.


2
Антиміров - це недетермінований варіант Бжозовського.
Sylvain

Назва, безумовно, звучало знайомо.
Дейв Кларк

дякую за "переглянуту" статтю, я цього не бачив!
s8soj3o289
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.