Існують різні алгоритми для перетворення регулярних виразів у кінцеві автомати. Ви можете переходити безпосередньо від регулярних виразів до DFA, не будуючи спочатку жодного іншого автомата, неявно виконуючи побудову підмножини під час генерації автомата. Інший варіант прямого отримання детермінованих автоматів - це використання методу похідних.
Перевірка, чи регулярний вираз представляє мову, що містить усі рядки, є повною проблемою PSPACE (див. Цю відповідь для посилання). Перевірка, чи приймає DFA, що мова може бути виконана в поліноміальний час, тому, якщо ви переходите безпосередньо від регулярного виразу до DFA, десь буде вибух.
Моє розуміння літератури полягає в тому, що ми можемо вибрати переклади, які дозволять нам локалізувати вибух. Тобто, існують різні способи переходу від регулярного виразу до кінцевого автомата, і переважні методи, лінійні чи поліноми. Зазвичай експоненціальні витрати підштовхуються до визначення автоматів.
Було проведено багато роботи з визначення під-родин регулярних виразів, з яких ми можемо ефективно генерувати DFA. Цей напрямок роботи залежить від перекладу, який ви використовуєте. Значить, ви фіксуєте відображення від регулярних виразів до NFA і намагаєтесь охарактеризувати регулярні вирази, які відображають у DFA.
Стандартна побудова автоматів з регулярних виразів не є кращою конструкцією в таких роботах. Конструкції вибору створюють автомати, які дуже нагадують структуру регулярного виразу. Ці конструкції використовують поняття похідної регулярного виразу.
Похідні від регулярних виразів , Й. А. Бжозовський. 1964 рік.
сrаrа
Часткові похідні правильних виразів і кінцевих конструкцій автоматів , В. Антиміров. 1995 рік.
Якщо ви вважаєте стан автомата як представлення всіх рядків, прийнятих з цього стану, (часткові) похідні дозволяють вам трактувати регулярні вирази як стани . На відміну від стандартної конструкції підручника, яка інтуїтивно трактує регулярні вирази як автомати, а не стани.
Від регулярних виразів до детермінованих автоматів , Г. Беррі та Р. Сетхі, 1986.
Відповідність між регулярними виразами та станами автомата та детермінізмом чітко обговорюється Беррі та Сетхі, які поєднують поняття похідних Бжозовського з ідеєю розрізнити виникнення одного і того ж символу, щоб надати синтаксис перекладу регулярних виразів у кінцеві автомати.
Однозначні регулярні мови , А. Брюггман-Кляйн та Дерик Вуд, 1998.
Ця стаття спирається на попередню роботу Брюггемана-Кляйна та вивчає випадки, в яких можна використовувати похідні для генерування DFA в поліноміальний час. За цим документом йде великий обсяг роботи. Це було важливо з точки зору веб-технологій, оскільки регулярні вирази, якими можна ефективно маніпулювати (також відповідні DFA), були важливими для обробки SGML та XML.
Було проведено багато робіт з вивчення інших особливих випадків детермінованих регулярних виразів. Дуже недавній документ, що вивчає, коли деякі з цих проблем можна вирішити за лінійним часом, починається з 2012 року.
Детерміновані регулярні вирази у лінійному часі , Бенуа Гроз, Себастьян Манет, Славомір Ставорко. 2012 рік.