2

我有一个家庭作业问题:

构造一个 Moore 机器,它将一个由 a's b's 和 c's 组成的字符串作为输入,并在每个子字符串 abc 的末尾输出一个包含 1 并且在所有其他位置包含 0 的字符串。例如输入,aabcb 产生输出,000010

我尝试构建,但我走到了死胡同。这是我的尝试: 在此处输入图像描述

如您所见,我无法创建字符串 cccb,而 'abc' 可以输出 0。我觉得我把这个简单的问题复杂化了。

编辑:休息一下,重新做。我认为这是对的,除非有人可以告诉我:

在此处输入图像描述

4

2 回答 2

2

解决方案。只需要想清楚。

解决方案

于 2014-08-24T22:13:30.957 回答
0

我会尽力帮助你而不破坏答案:

  • 为什么要使用第二个循环(下三角形)?
  • 您将如何实现一台在找到子序列后成功停止的机器?
  • 你需要做什么才能让它无限期地运行?说服自己匹配子序列的错误等同于初始状态。

我只使用四种状态解决了它,但也许只有三种状态的解决方案。应该清楚的是,你不能比这更好。

于 2014-08-24T21:17:08.610 回答