从Moore机到Mealy机的转换

本文概述

  • 将Moore机转换为Mealy机的方法
在Moore机器中,输出与每个状态相关联,而在粉状机器中,输出沿带有输入符号的边给出。 Moore机器和Mealy机器的等效性意味着这两个机器针对相同的输入字符串生成相同的输出字符串。
我们无法直接将Moore机器转换为其等效的Mealy机器,因为对于给定的输入,Moore机器的长度比Mealy机器长一倍。为了将Moore机器转换为Mealy机器,将状态输出符号分配到输入符号路径中。我们将使用以下方法将Moore机器转换为Mealy机器。
将Moore机转换为Mealy机的方法令M =(Q,∑,δ,λ,q0)为摩尔机器。等效的Mealy机器可由M’ =(Q,∑,δ,λ’ ,q0)表示。输出函数λ’ 可通过以下公式获得:
λ' (q, a) = λ(δ(q, a))

范例1:
将以下摩尔机转换为等效的Mealy机。
从Moore机到Mealy机的转换

文章图片
解:
给定的摩尔机的转换表如下:
一种b输出(λ)
q000110
q100111
等效的Mealy机器可以按以下方式获得:
λ' (q0, a) = λ(δ(q0, a)) = λ(q0) = 0λ' (q0, b) = λ(δ(q0, b)) = λ(q1) = 1

状态q1的λ如下:
λ' (q1, a) = λ(δ(q1, a)) = λ(q0) = 0λ' (q1, b) = λ(δ(q1, b)) = λ(q1) = 1

因此,Mealy机器的转换表可以绘制如下:
从Moore机到Mealy机的转换

文章图片
等效的Mealy机器将是
从Moore机到Mealy机的转换

文章图片
注意:在Moore机器中,输出序列的长度为“ n 1”,在Mealy机器中为“ n”。范例2:
【从Moore机到Mealy机的转换】将给定的Moore机器转换为其等效的Mealy机器。
从Moore机到Mealy机的转换

文章图片
解:
给定的摩尔机的转换表如下:
一种b输出(λ)
q011000
q111220
q211001
等效的Mealy机器可以按以下方式获得:
λ' (q0, a) = λ(δ(q0, a)) = λ(q1) = 0λ' (q0, b) = λ(δ(q0, b)) = λ(q0) = 0

状态q1的λ如下:
λ' (q1, a) = λ(δ(q1, a)) = λ(q1) = 0λ' (q1, b) = λ(δ(q1, b)) = λ(q2) = 1

状态q2的λ如下:
λ' (q2, a) = λ(δ(q2, a)) = λ(q1) = 0λ' (q2, b) = λ(δ(q2, b)) = λ(q0) = 0

因此,Mealy机器的转换表可以绘制如下:
从Moore机到Mealy机的转换

文章图片
等效的Mealy机器将是
从Moore机到Mealy机的转换

文章图片
范例3:
将给定的Moore机器转换为其等效的Mealy机器。
一种b输出(λ)
q000110
q122001
q211222
解:
给定问题的事务图可以绘制为:
从Moore机到Mealy机的转换

文章图片
等效的Mealy机器可以按以下方式获得:
λ' (q0, a) = λ(δ(q0, a)) = λ(q0) = 0λ' (q0, b) = λ(δ(q0, b)) = λ(q1) = 1

状态q1的λ如下:
λ' (q1, a) = λ(δ(q1, a)) = λ(q2) = 2λ' (q1, b) = λ(δ(q1, b)) = λ(q0) = 0

状态q2的λ如下:
λ' (q2, a) = λ(δ(q2, a)) = λ(q1) = 1λ' (q2, b) = λ(δ(q2, b)) = λ(q2) = 2

因此,Mealy机器的转换表可以绘制如下:
从Moore机到Mealy机的转换

文章图片
等效的Mealy机器将是
从Moore机到Mealy机的转换

文章图片

    推荐阅读