Недавно я думал о конечных автоматах (FSM) и о том, как бы я реализовал их в программном обеспечении (язык программирования не имеет значения).
Насколько я понимаю, детерминированные автоматы широко используются (парсеры / лексеры, компиляторы и т. Д.), Но что случилось с недетерминированными машинами состояний ?
Я знаю, что возможно преобразовать все недетерминированные конечные автоматы в детерминированные (даже программно). Это не моя точка зрения. Я также представляю, что недетерминированные конечные автоматы гораздо сложнее реализовать.
В любом случае, имеет ли смысл любой смысл реализовывать недетерминированный конечный автомат? Есть ли какие-то специальные приложения, о которых я не знаю?
Какие могут быть причины для этого? Может быть, оптимизированные и специализированные недетерминированные автоматы быстрее?