有限时间内两个FSM等价的一般证明?

时间:2009-08-06 21:15:36

标签: theory fsm proof state-machine

对于总是需要有限时间的两个(确定性)有限状态机的等价性,是否存在一般证据?也就是说,给定两个FSM,你能证明给定相同的输入它们总是产生相同的输出而不需要实际执行FSM(可能是非终止的吗?)。如果确实存在这样的证据,那么时间复杂度是多少?

2 个答案:

答案 0 :(得分:11)

有证据,但我不知道。寻找Sipser关于这个主题的教科书,这就是我所知道的。

改变我的记忆:基本上,对于给定的DFA,存在唯一的最小DFA,并且存在始终终止的最小化算法。最小化A和B,并查看它们是否具有相同的最小DFA。我不知道最小化的复杂性,虽然它不是太糟糕(我认为它的多项式)。图形同构很难计算,但由于有一个特殊的起始节点,它可能会更容易一些。你可能甚至不需要图同构,说实话。

但不,你不需要实际运行DFA,只需分析它们的结构。

答案 1 :(得分:1)

假设您有两个具有O( n )状态的FSM。然后,您可以创建一个大小为O( n 2 )的FSM,它只识别其接受语言的对称差异。 (使FSM具有对应于一对状态的状态,每个FSM对应一个状态。然后在每一步中,同时更新该对的每个部分。新FSM中的状态是接受状态,如果该对中只有一个是接受状态。)现在最小化这个FSM并查看它是否与拒绝一切的普通单态FSM相同。使用 m 状态最小化FSM需要时间O( m log m ),因此总体而言,您可以及时完成所有操作O( n 2 log n )。

@Agor正确地指出,Sipser是这类事物的一个很好的参考。我的答案的关键是你可以在多项式时间内完成这项工作,即使是一个小指数。