3

正如标题所示,我希望有人帮助我编写 NFA 到 DFA 的转换。我只需要伪代码。我试过用谷歌搜索,甚至找到了整个源代码,但是几乎没有资源可以帮助我给我一个正式的方法(用书面文字,而不是通过图片)进行转换。这是一道作业题,而且我已经过了截止日期,所以在这里我真的需要一些利他主义。

谢谢。

4

1 回答 1

8

我写了一篇关于这个主题的文章。

通过子集构造将 NFA 转换为 DFA

它还包括有关如何进行转换的伪代码。

基本上该算法是,从 NFA 的起始状态开始:

Perform closure on the current state set
For each input symbol do the GOTO operation on the closure set.
   If the state set you get from the GOTO is not empty
      Do a closure of the state set.
      If it is a new set of states:
         add a transition between the state sets on the input 
         repeat the entire operation on this new set
      Else
         add a transition between the state sets on the input

执行此操作,直到不再添加任何集合或过渡。这是一个很难解释的算法,但如果你有两个基本操作CLOSUREGOTO完成了,这并不难。

于 2012-08-14T14:55:12.837 回答