我试图掌握绘制 DFA 的窍门。我的以下尝试有以下问题,想知道是否有人可以告诉我我是否正确,或者如果不正确,我做错了什么。谢谢!此外,如果有人有很好的资源来了解有关如何执行这些操作的更多信息,将不胜感激。
给出识别下列语言的 DFA 的状态图。在所有部分中,字母表都是 {0,1 }
{w | w 的长度最多为 5}
我试图掌握绘制 DFA 的窍门。我的以下尝试有以下问题,想知道是否有人可以告诉我我是否正确,或者如果不正确,我做错了什么。谢谢!此外,如果有人有很好的资源来了解有关如何执行这些操作的更多信息,将不胜感激。
给出识别下列语言的 DFA 的状态图。在所有部分中,字母表都是 {0,1 }
{w | w 的长度最多为 5}
这里有一些线索。
{0,1}
相关的语言没有要求。这意味着每次有 的转换时,相同的转换必须可用于,反之亦然。(或者一些等价的关系可以简化为这条规则——但这在括号中,因为这不是你需要考虑的事情。)0
1
0
1
我认为上面显示的 DFA 是错误的。它将接受长度为 5 的字符串,因此您应该将所有前六个状态设为最终状态。你只接受'1',但它也应该接受'0'......所以将0与所有1连接起来。
这是您的错误:
由于字母表是 {0, 1},因此您必须在每个状态中指定遇到 0 或 1 时会发生什么。如果您遇到未指定边的输入字符,按照惯例,您将进入死状态,该状态始终返回自身并且永远不会被接受,但未绘制。这就是为什么你的最右边的状态是不必要的,但你的左边的状态是不完整的。
最终的大提示:您可以有多个“接受”或“最终”状态。