automata - DFA 中的最少状态数

标签 automata dfa

DFA 接受字符串(基数 3,即三元形式)中与 5 模 6 全等的最小数字状态?

我尝试过,但没能做到。

最佳答案

乍一看,它似乎有 6 个状态,但可以进一步最小化。
我们先看一下状态转换表: STATE TRANSITION TABLE

这里,状态 q0, q1, q2,...., q5> 对应于除以 6 时分别模 0,1,2,..., 5 的状态。 q0 是我们的初始状态,由于我们需要模 5,因此我们的最终状态将是 q 5

从上面的状态转换表中得出的一些观察结果:

  • 状态 q0、q2 和 q4 完全相同
  • 状态 q1、q3 和 q5 完全相同

在相同输入上转换到相同状态的状态可以合并为单个状态。

注意:最终状态和非最终状态永远不能合并。

因此,我们可以将 q0、q2、q4 合并在一起,以及 q1、q 3 在一起,使状态 q5 远离排序规则。
最终的最小 DFA 有 3 个状态,如下所示: Minimal DFA

关于automata - DFA 中的最少状态数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60136627/

相关文章:

java - 基于 DFA 的 Java 正则表达式引擎与捕获

theory - 如何将 DFA 转换为图灵机?

regex - 如何实现基于 NFA 或 DFA 的正则表达式匹配算法来查找所有匹配项?

algorithm - Knuth-Morris-Pratt 算法基于 DFA `?

automata - PDA for {a^n b^m | n<=m<=2n}

regex - 对于给定的有限代表字符串列表,正则表达式的语法推理?

regex - 将正则表达式转换为CFG

automata - PDA 接受 a 多于 b 和 c 的语言

automata - 为 L = {(na(w)-nb(w)) mod 3>0} 构造 DFA

java - java 查找字符串中所有连续的重复项