Мне было интересно, существует ли «лучший» (я объясню в каком смысле) алгоритм для запуска из DFA и построения регулярного выражения такого что , чем в книге Хопкрофта и Уллмана (1979). Там наборы используются для представления наборов строк, которые переводят DFA из состояния в без прохождения через любое состояние, пронумерованное выше . Эта конструкция, хотя и очевидно правильная и очень полезная, является довольно технической. r L ( A ) = L ( r ) R k i j q i q j k
Я пишу монографию по теории алгебраических автоматов, и я не хочу отвлекать свою аудиторию слишком большим количеством технических деталей (по крайней мере, не деталями, которые не имеют отношения к результатам, которые я хочу показать), но я хочу включить доказательство эквивалентности между DFA и регулярными выражениями для полноты картины. Для записи я использую автоматы Глушкова для перехода от регулярного выражения к DFA. Это казалось более интуитивным, чем -transitions, которые я вообще не определял (опять же, потому что они мне не нужны).
Какие другие алгоритмы известны как переход от DFA к регулярному выражению? Я ценю простоту, а не эффективность (для меня это «лучше»), но это не является обязательным требованием.
Заранее спасибо за вашу помощь!
Ответы:
Еще две конструкции: исключение состояний Бжозовского-МакКласки [1] и устранение Гаусса в системе уравнений с использованием леммы Ардена. Вероятно, лучшим источником является книга Жака Сакаровича [2].
[1] Дж. Бжозовский, Э. Маккласки-младший, Методы графа потока сигналов для последовательных диаграмм состояний цепей, транзакции IEEE на электронных компьютерах EC-12 (1963) 67–76.
[2] Дж. Сакарович, Элементы теории автоматов. Издательство Кембриджского университета, 2009.
источник
В книге Козена «Автоматы и вычислимость» упоминается элегантное обобщение этого алгоритма Флойда-Варшалла. Поскольку вы упомянули обращение к алгебраистам, вы можете найти это полезным. Вы найдете это на странице 58-59 этого текста. (Я думаю, что у книг Google есть предварительный просмотр.)
Другой вывод структур алгебры Клини над матрицами приведен в «Теореме полноты для алгебр Клини и алгебры регулярных событий » Козена.
источник
Безусловно, самая приятная процедура, которую я видел, это та, о которой упоминает Сильвен. В частности, это, кажется, дает более краткие выражения, чем другие.
Я написал этот документ, объясняющий метод для студентов прошлым летом. Это напрямую связано с конкретной лекцией; упомянутая ссылка является типичным определением регулярных выражений. Доказательство леммы Ардена содержится; один для правильности метода отсутствует. Как я узнал об этом в лекции, к сожалению, у меня нет ссылки.
источник