从Mealy机到Moore机的转换

在Moore机器中,输出与每个状态相关联;在Mealy机器中,输出沿带有输入符号的边给出。为了将Moore机器转换为Mealy机器,将状态输出符号分配到输入符号路径。但是,在将Mealy机器转换为Moore机器时,我们将为每个新的输出符号创建一个单独的状态,并根据传入和传出的边缘进行分布。
以下步骤用于将Mealy机器转换为Moore机器:
步骤1:针对每个状态(Qi),计算Mealy机器的转换表中可用的不同输出的数量。
步骤2:如果Qi的所有输出都相同,则复制状态Qi。如果qi具有n个不同的输出(其中n = 0、1、2 … ),则将qi分解为n个状态,称为Qin。
步骤3:如果初始状态的输出为0,则在起始处插入一个新的初始状态,以提供1个输出。
范例1:
将以下Mealy机器转换为等效的Moore机器。

从Mealy机到Moore机的转换

文章图片
解:
以上Mealy机器的转换表如下:
从Mealy机到Moore机的转换

文章图片
  • 对于状态q1,只有一个入射边具有输出0。因此,我们不需要在摩尔机中拆分此状态。
  • 对于状态q2,有两个入射边,输出为0和1。因此,我们将将此状态分为两个状态q20(输出为0的状态)和q21(输出为1的状态)。
  • 对于状态q3,有2个入射边,输出为0和1。因此,我们将将此状态分为两个状态q30(状态为输出0)和q31(状态为输出1)。
  • 对于状态q4,只有一个入射边缘具有输出0。因此,我们不需要在摩尔机中拆分此状态。
摩尔机的转换表为:
从Mealy机到Moore机的转换

文章图片
摩尔机的过渡图将为:
从Mealy机到Moore机的转换

文章图片
范例2:
将以下Mealy机器转换为等效的Moore机器。
从Mealy机到Moore机的转换

文章图片
解:
以上Mealy机器的转换表如下:
从Mealy机到Moore机的转换

文章图片
状态q1只有一个输出。状态q2和q3都具有输出0和1。因此,我们将为这些状态创建两个状态。对于q2,两个状态分别为q20(输出为0)和q21(输出为1)。同样,对于q3,两个状态分别为q30(输出为0)和q31(输出为1)。
摩尔机的转换表为:
从Mealy机到Moore机的转换

文章图片
【从Mealy机到Moore机的转换】摩尔机的过渡图将为:
从Mealy机到Moore机的转换

文章图片

    推荐阅读