识别没有3个连续零的语言的自动机

时间:2014-10-14 16:22:45

标签: regular-language finite-automata

我会创建一个有限状态自动机,它识别0和1的字符串语言,它不包含3个连续的零。 我尝试执行以下自动机但未完成,例如,它无法识别字符串:1001110 enter image description here

我该如何更改?对于其他人来说,我解决这个问题的理由是正确的吗? 非常感谢

2 个答案:

答案 0 :(得分:1)

您的起始状态q0是读取零时未达到的状态。当您在自动机中正确建模时,从状态q0开始,您必须允许自动机读取最多两个零,因此您需要状态q1(通过精确读取一个连续的零到达)和q2(通过精确读取两个连续的零来达到)。

每当你读到1时,你将处于一个通过读零而未达到的状态。 现在的问题是,你需要多少个州?

允许在有限自动机中具有多个结束状态。在这种情况下,必须具有多个结束状态,因为每次读取1时,您必须达到允许读取两个后续连续零的状态,而每次读取零时达到 not 允许读取两个后续连续零的状态,并且您的语言包含以零结尾的字符串以及以1结尾的字符串。

答案 1 :(得分:1)

我在油漆中做了这个,所以看起来不太好,但尝试下面的自动化。enter image description here