我正在研究一些计算理论,正如所暗示的那样,这是非常理论的。为什么在DFA上使用NFA
我可以很容易地从正则表达式转换为NFA到DFA,我可以理解。
但是由于所有的NFA都可以转换为DFA(我敢肯定)在UNIX中的grep
命令使用正则表达式来确定匹配的字符串,最常用的有限自动机,DFA或NFA是什么?根据我的经验(不是很多),DFA在表示常规语言时通常要简单得多,而且也是确定性的,因此应该总是选择超过NFA。
NFA分支到多个结果,需要递归功能,只是看起来更尴尬。
我知道编译器是有限自动机的另一种实际应用。
我的问题...为什么学习/使用两个。对我而言,DFA似乎完全没问题。
感谢您的任何答案!
阅读[为什么非确定性有用的概念?](http://cs.stackexchange.com/questions/22472/why-is-non-determinism-useful-concept/22481#22481) –