本文概述
在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机。
解:
给定的摩尔机的转换表如下:
问 | 一种 | b | 输出(λ) |
---|---|---|---|
q0 | 00 | 11 | 0 |
q1 | 00 | 11 | 1 |
等效的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机器的转换表可以绘制如下:
等效的Mealy机器将是
注意:在Moore机器中,输出序列的长度为“ n 1”,在Mealy机器中为“ n”。
范例2:
将给定的Moore机器转换为其等效的Mealy机器。
解:
给定的摩尔机的转换表如下:
问 | 一种 | b | 输出(λ) |
---|---|---|---|
q0 | 11 | 00 | 0 |
q1 | 11 | 22 | 0 |
q2 | 11 | 00 | 1 |
等效的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机器的转换表可以绘制如下:
等效的Mealy机器将是
范例3:
将给定的Moore机器转换为其等效的Mealy机器。
问 | 一种 | b | 输出(λ) |
---|---|---|---|
q0 | 00 | 11 | 0 |
q1 | 22 | 00 | 1 |
q2 | 11 | 22 | 2 |
解:
给定问题的事务图可以绘制为:
等效的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机器的转换表可以绘制如下:
等效的Mealy机器将是
评论前必须登录!
注册