什么是 TOC 中的摩尔机?


摩尔机是一种有限状态机,其中下一状态由当前状态和当前输入符号决定。

给定时间的输出符号仅取决于机器的当前状态。

摩尔机有 6 个元组

(Q, q0, Σ, O, δ, λ)

其中,

  • Q:有限状态集
  • q0:机器的初始状态
  • Σ:有限输入符号集
  • O:输出字母表
  • δ:转移函数,其中 Q × Σ → Q
  • λ:输出函数,其中 Q → O

状态图如下所示:

示例 1

输入 - 010

转移 - δ (q0,0) => δ(q1,1) => δ(q1,0) => q2

输出 - 1110(q0 为 1,q1 为 1,q1 再次为 1,q2 为 0)

摩尔机的状态转换表如下所示:

当前状态下一状态输出
01
q0q1q21
q1q2q11
q2q2q00

解释

  • 步骤 1 - 当前状态 q0 在输入“0”时转到状态 q1,在输入“1”时转到状态 q2,生成输出 1。
  • 步骤 2 - q1 在输入“0”时转到状态 q2,在输入“1”时转到状态 q1,生成输出“1”。
  • 步骤 3 - q2 在输入“0”时转到 q2,在输入“1”时转到 q0,生成输出“0”。

示例 2

设计一个摩尔机,判断输入字符串是否包含偶数或奇数个 1。

如果输入是偶数个 1,则输出为 1

否则,输出为 0

状态转换图如下所示:

状态转换表

状态转换表如下所示:

当前状态输入 0 的下一状态输入 1 的下一状态输出
->q0q0q11
q1q1q00


更新于: 2021 年 6 月 11 日

3K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.