📜  带输出的有限自动机(第 11 集)

📅  最后修改于: 2022-05-13 01:54:10.481000             🧑  作者: Mango

带输出的有限自动机(第 11 集)

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

问题:构造以二进制数 {0, 1} 作为输入并产生该数字的 1 的补码作为输出的机器。
这里的假设是从 LSB(最低有效位)读取输入字符串并丢弃结束进位。
这就是我们拥有的,
Ε = {0, 1} 和
Δ = {0, 1}
其中Ε和Δ分别是输入和输出字母。

所需的摩尔机构造如下:

解释:
在上图中,初始状态“X”在获得“1”作为输入时保持自身状态并打印“0”作为输出,并在获得“0”作为输入时传输到状态“Y” ' 并打印 '1' 作为其余状态的输出,依此类推。

例如,当输入字符串为“101”时,上述摩尔机器产生的输出为“010”,这只不过是给定输入的 1 的补码,即 1 被转换为 0,反之亦然。
因此,最终上述摩尔机器可以很容易地产生给定输入二进制字符串的 1 的补码。

所需的 Mealy 机器构造如下:-

解释:
在上图中,初始状态“X”在获得“1”作为输入时保持自身状态并打印“0”作为输出,并在获得“0”作为输入时传输到状态“Y” ' 并打印 '1' 作为其余状态的输出,依此类推。

例如,当输入字符串为“101”时,上述摩尔机器产生的输出为“010”,这只不过是给定输入的 1 的补码,即 1 被转换为 0,反之亦然。
因此最后上面的 Mealy 机器可以很容易地产生给定输入二进制字符串的 1 的补码。

从摩尔机到米利机的转换:
摩尔机的状态转换图:

上述摩尔机器将二进制数 {0, 1} 作为输入,并产生该数字的 1 的补码作为输出。
这里的假设是从 LSB(最低有效位)读取输入字符串并丢弃结束进位。

现在我们需要将上述摩尔机转换图转换为等效的 Mealy 机转换图。所需转换的步骤如下:

  • Step-1:上述摩尔机状态转移表的形成——

  • 在上面的转换表中,状态“X”和“Y”保留在第一列,当输入“0”时,它分别转换到“Y”和“Y”状态,保留在第二列并得到'1'作为输入,它分别转换到'X'和'X'状态,保持在第三列和Δ下的第四列,有第一列状态的对应输出。在表中,箭头 (→) 表示初始状态。

  • Step-2:从上面的摩尔机转移表形成Mealy机转移表-
    下面的转换表将在上表及其条目的帮助下形成,只需使用第一列状态的相应输出并将它们相应地放置在第二列和第三列中。

  • 在上表中,第一列中的状态,如“X”,当输入为“0”时,它进入状态“Y”,输出为“1”,输入为“1”到状态“X”并给出“0”作为第一列中剩余状态的输出,依此类推。在表中,箭头 (→) 表示初始状态。

  • Step-3:最后我们可以借助上面的转移表形成 Mealy 机的状态转移图。
    所需的图表如下所示 -

  • 上面的 Mealy 机器将二进制数 {0, 1} 作为输入并产生该数字的 1 的补码作为输出。
    这里的假设是从 LSB(最低有效位)读取输入字符串并丢弃结束进位。

注意:从 Moore 转换到 Mealy 机器时,Moore 和 Mealy 机器的状态数保持不变,但在 Mealy 到 Moore 转换的情况下,它不会给出相同数量的状态。