合并DFA的最终状态

时间:2015-10-30 13:43:10

标签: automata dfa

我们可以合并或合并具有多个最终状态的DFA的所有最终状态吗?它会产生另一个等效的DFA吗? 到目前为止,我只想弄清楚在某些情况下,合并DFA的所有最终状态可以产生另一个NFA,它可能等同于前面的DFA。 谢谢你

1 个答案:

答案 0 :(得分:0)

您只能合并/合并等效的状态。如果它们所承认的语言是相同的,则各国是等同的。识别的语言是从给定状态到停止状态的字符串集。

考虑正则表达式a+|b。在序列aa DFA处于停止状态后,将其命名为s1。它必须在a到另一个停止状态的传出转换,这可能本身就是。

另一方面,在输入b上,DFA也处于停止状态,称之为s2。这不能具有任何将在停止状态中结束的传出转换,因为否则将识别以b开头的一些字符串,a+|b不允许这样做。

因此,s1和s2不等同,不能合并。

但是,您注意到我们始终可以将所有停止状态的epsilon转换添加到唯一的新停止状态。但结果是NFA,而不是DFA。