Re[4]: Регулярные языки и конечные автоматы
От: Aleх  
Дата: 06.11.13 19:54
Оценка:
Здравствуйте, watchmaker, Вы писали:

W>Здравствуйте, Aleх, Вы писали:



A>>Вообще задача такая. Строятся различные регулярные выражения, используя в том числе операции пересечения и вычитания. После этого нужно для заданных двух выражений определять дают ли они в пересечении пустой язык или нет.

W>Хороший пример PSPACE-complete задачи. Ну удачи тебе в поиске быстрого решения
Под поиском быстрого решения я имею ввиду быстрый на практике алгоритм. Понятно, что даже построение Детерминированного конечного автомата имеет сложность O(2^n). При этом для регулярных выражений, используемых на практике, время построения обычно не достигает теоретической оценки.

A>>Именно это я и хочу. На итоговую оценку сложности это не должно повлиять.

W>О какой оценке ты говоришь? Там как требовалось огромное число действий, так и будет требоваться.
Я говорю о том, что на теоретическую оценку не повлияет, если каждый символ превратить в тривиальный конечный автомат и выполнять операции объединения, пересечения и конкатенации над автоматами, либо же строить результирующий автомат сразу по регулярному выражению. Кажется, что второй способ быстрее на практике.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.