从米利机到摩尔机的转换

17 Mar 2025 | 阅读 2 分钟

在摩尔机中,输出与每个状态相关联,而在米利机中,输出与输入符号一起给出。要将摩尔机转换为米利机,状态输出符号被分配给输入符号路径。但是,在将米利机转换为摩尔机时,我们将为每个新输出符号创建一个单独的状态,并根据传入和传出的边进行分配。

以下步骤用于将米利机转换为摩尔机

步骤 1: 对于每个状态 (Qi),计算米利机转换表中可用的不同输出的数量。

步骤 2: 如果 Qi 的所有输出都相同,则复制状态 Qi。如果它有 n 个不同的输出,则将其分解为 n 个状态,例如 Qin,其中 n = 0, 1, 2....

步骤 3: 如果初始状态的输出为 0,则在开头插入一个新的初始状态,该状态提供 1 个输出。

示例 1

将以下米利机转换为等效的摩尔机。

Conversion from Mealy machine to Moore Machine

解决方案

上述米利机的转换表如下

Conversion from Mealy machine to Moore Machine
  • 对于状态 q1,只有一个带有输出 0 的入射边。因此,我们不需要在摩尔机中拆分此状态。
  • 对于状态 q2,有 2 个带有输出 0 和 1 的入射边。因此,我们将此状态拆分为两个状态 q20(输出为 0 的状态)和 q21(输出为 1 的状态)。
  • 对于状态 q3,有 2 个带有输出 0 和 1 的入射边。因此,我们将此状态拆分为两个状态 q30(输出为 0 的状态)和 q31(输出为 1 的状态)。
  • 对于状态 q4,只有一个带有输出 0 的入射边。因此,我们不需要在摩尔机中拆分此状态。

摩尔机的转换表将是

Conversion from Mealy machine to Moore Machine

摩尔机的转换图将是

Conversion from Mealy machine to Moore Machine

示例 2

将以下米利机转换为等效的摩尔机。

Conversion from Mealy machine to Moore Machine

解决方案

上述米利机的转换表如下

Conversion from Mealy machine to Moore Machine

状态 q1 只有一个输出。状态 q2 和 q3 都有输出 0 和 1。因此,我们将为这些状态创建两个状态。对于 q2,两个状态将是 q20(输出为 0)和 q21(输出为 1)。类似地,对于 q3,两个状态将是 q30(输出为 0)和 q31(输出为 1)。

摩尔机的转换表将是

Conversion from Mealy machine to Moore Machine

摩尔机的转换图将是

Conversion from Mealy machine to Moore Machine