我尝试这样做,但它错误地处理了字符串为 1000 的情况。(q4 是这里的接受状态,a0 是初始状态。)我的 DFA 的图像位于下面的 imgur 链接中: DFA ().
必须有 5 个状态,不能多也不能少。
初始的“0”字符不应移动到另一个状态,因为它们不会影响输入表示的值。所以第一个状态应该有一个“0”循环。
您应该能够判断每个状态代表哪些值。
当输入为“11”(您的 q2)时,如果后面有另一个字符,则应该始终导致接受状态,而不是两个不同的状态。
更正如下: