【问题标题】:General proof of equivalence of two FSMs in finite time?有限时间内两个 FSM 等价的一般证明?
【发布时间】:2009-08-06 21:15:36
【问题描述】:

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

【问题讨论】:

    标签: theory fsm proof state-machine


    【解决方案1】:

    有一个证据,虽然我不知道。查找 Sipser 关于该主题的教科书,我就是从那里了解到的。

    搜索我的记忆:基本上,对于给定的 DFA,有一个唯一的最小 DFA,并且有一个总是终止的最小化算法。最小化 A 和 B,看看它们是否具有相同的最小 DFA。我不知道最小化的复杂性,尽管它还不错(我认为它是多项式)。图同构很难计算,但是因为有一个特殊的起始节点,它可能会更容易一些。老实说,您甚至可能不需要图同构。

    但是不,您不需要实际运行 DFA,只需分析它们的结构即可。

    【讨论】:

    • 图同构不知道是 NP 完全的,事实上,被认为不是。
    • 你完全正确,我的错。我已经编辑了帖子来解决这个问题。
    【解决方案2】:

    假设您有两个具有 O(n) 个状态的 FSM。然后你可以制作一个大小为 O(n2) 的 FSM,它只识别它们接受语言的对称差异。 (创建一个 FSM,其状态对应于一对状态,每个 FSM 一个。然后在每一步,同时更新该对的每个部分。新 FSM 中的一个状态是一个接受状态,当且仅当该对中的一个是一个接受状态。)现在最小化这个 FSM,看看它是否与拒绝一切的平凡单态 FSM 相同。最小化具有 m 状态的 FSM 需要时间 O(m log m),所以总的来说你可以在 O(n 2 记录 n)。

    @Agor 正确地指出,Sipser 是这类事情的一个很好的参考。我回答的重点是,即使指数很小,您也可以在多项式时间内做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多