📜  生成二进制数的余数模“2”的机器的构造

📅  最后修改于: 2021-09-27 14:30:32             🧑  作者: Mango

先决条件:Mealy 和 Moore 机,Mealy 机和 Moore 机之间的区别
在本文中,我们将看到一些带有输出的有限自动机的设计,即摩尔机和米利机。

问题:构建以二进制数 {0, 1} 作为输入并产生余数模“2”作为输出的机器,即当 {0, 1} 上的二进制输入的等效十进制数除以 2 时,它给出输出为余数。
认为,

Ε = {0, 1} and 
Δ = {0, 1} 

其中,E 和 Δ 分别是输入和输出字母表。

所需的摩尔机构造如下:

在上图中,初始状态 ‘X’ 在将 ‘0’ 作为输入时保持其自身状态并打印 ‘0’ 作为输出,在获得 ‘1’ 作为输入时它传输到状态 ‘Y’ ‘ 并打印 ‘1’ 作为其余状态的输出,依此类推。

例如,当输入字符串为 ’10’ 时,Moore 机器产生 0 作为输出,因为二进制输入 ’10’ 的十进制等效值为 2,2 除以 2 为 0,即余数为 0。因此最终高于 Moore机器可以很容易地产生余数模“2”作为输出,即当 {0, 1} 上的二进制输入的等效十进制数除以 2 时,它给出输出作为它的余数。

所需的 Mealy 机器构造如下:

在上图中,初始状态 ‘X’ 在将 ‘0’ 作为输入时保持其自身状态并打印 ‘0’ 作为输出,在获得 ‘1’ 作为输入时它传输到状态 ‘Y’ ‘ 并打印 ‘1’ 作为输出。状态 ‘Y’ 在获得 ‘1’ 作为输入时它保持在自身的状态并打印 ‘1’ 作为输出,在获得 ‘0’ 作为输入时它返回到初始状态 ‘X’ 并打印 ‘ 0’ 作为输出。

例如,当输入字符串为 ’10’ 时,Mealy 机器产生 0 作为输出,因为二进制输入 ’10’ 的十进制等价物为 2,2 除以 2 为 0,即余数为 0。因此最终高于 Mealy机器可以很容易地产生余数模“2”作为输出,即当 {0, 1} 上的二进制输入的等效十进制数除以 2 时,它给出输出作为它的余数。