unj*_*nj2 18 computer-science finite-automata
这不是一个家庭作业问题.我正在看这个系列讲座而且很好奇.
由于所有非确定性FSM都具有相应的确定性FSM,因此对1和2的答案应该相同.
如果您想了解更多信息,请获取Michael Sipser撰写的"计算理论导论",这是一本非常好的书,可以学习这些东西.Sipser知道他谈论什么以及如何很好地沟通.
一些非正式的答案给你的想法,详细的证据读了一本关于Automata的好书,例如这个或其他答案中提到的那些.而且我很确定您可以找到回答所有问题的在线资料.
该过程是消除重复状态(或合并等效状态).您知道状态和转换是生成字符串的关键.基本上,重复的状态无助于使语言生成更大或更少.该算法从始终具有生成lamda(空字符串)的能力的最终状态开始,并递归地更新指示状态的生成能力的表,并最终合并那些没有区别的状态.
NFA的规范化DFA使用不同的NFA状态集合作为DFA的状态,例如,{state0} - (1) - > {state1,state2}来删除非确定性部分,没有办法避免国家爆炸,DFA必须这样做才能代表语言.
我记得最好的一个是O(NLogN)在西安大略大学教授的一些论文中重复使用信息,并怀疑是否存在更好的信息.我相信经典的是O(N ^ 2).
是.获取最小的一个,通过访问字符串来编码状态(一个字符串可以从开始状态到达状态,这几乎就是状态的真实"名称"),并验证转换映射.可能有更好的方法,但bigO上没有太大的区别.