📜  Moore 和 Mealy 机器产生“A”、“B”、“C”取决于以“10”或“11”结尾的输入,其他

📅  最后修改于: 2021-09-27 15:34:59             🧑  作者: Mango

先决条件:Mealy 和 Moore 机,Mealy 机和 Moore 机之间的区别
问题:构建将 {0, 1} 上的所有字符串集合作为输入并在输入以“10”结尾时生成“A”作为输出或如果输入以“11”结尾时生成“B”作为输出的机器否则产生’C’作为输出。
认为,

Ε = {0, 1} and 
Δ = {A, B, C}  

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

解释:
所需的摩尔机构造如下:

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

因此,如果输入以“10”结尾,则最终在摩尔机上可以很容易地将“A”作为输出产生;如果输入以“11”结尾,则产生“B”作为输出,否则产生“C”

Moore机到Mealy机的转换:
以上摩尔机将 {0, 1} 上的所有字符串集合作为输入,如果输入以“10”结尾,则生成“A”作为输出;如果输入以“11”结尾,则生成“B”作为输出,否则生成“C” ‘ 作为输出。
现在我们需要将上面的摩尔机转换图转化为等价的米利机转换图。

所需转换的步骤如下:-

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

    在上面的转换表中,状态 ‘W’、’X’、’Y’ 和 ‘Z’ 保存在第一列中,当输入 ‘0’ 作为输入时,它转换为 ‘W’、’Z’、’Z’ ‘ 和 ‘W’ 状态分别保存在第二列中,当输入为 ‘1’ 时,它分别转换为 ‘X’、’Y’、’Y’ 和 ‘X’ 状态,保存在第三列和 In Δ下的第四列,有第一列状态的对应输出。在表中,箭头(→)表示初始状态。
  • Step-2:从上面的Moore机转换表形成Mealy机的转换表-
    下面的转换表将在上表及其条目的帮助下形成,只需使用第一列状态的相应输出并将它们相应地放置在第二和第三列中即可。

    在上表中,第一列中的状态,如“W”,当输入为“0”时,它会进入状态“W”,并给出“C”作为输出,并在输入时获得“1”到状态 ‘X’ 并给出 ‘C’ 作为输出,对于第一列中的其余状态,依此类推。在表中,箭头(→)表示初始状态。
  • Step-3:最后我们可以借助上面的转换表形成 Mealy 机的状态转换图。
    所需图如下所示-

    以上 Mealy 机器将 {0, 1} 上的所有字符串集作为输入,如果输入以“10”结尾,则生成“A”作为输出;如果输入以“11”结尾,则生成“B”作为输出,否则生成“C” ‘ 作为输出。

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