📜  如果输入以“1”、“0”或什么都没有结束,则生成“A”、“B”或“C”的机器的构造

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

如果输入以“1”、“0”或什么都没有结束,则生成“A”、“B”或“C”的机器的构造

先决条件:Mealy 和 Moore 机器,Mealy 机器和 Moore 机器的区别
问题:构造机器,将 {0, 1} 上的所有字符串集合作为输入,如果输入以 '1' 结尾,则生成 'A' 作为输出,如果输入以 '0' 结尾,则生成'B' 作为输出否则产生'C'作为输出。
认为,

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

其中Ε和Δ分别是输入和输出字母。

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

在上图中,初始状态 'w' 在获得 '2' 作为输入时,它保持自身状态并打印'C' 作为输出,在获得'1' 作为输入时,它传输到状态'Y ' 并打印 'A' 作为输出,获得 '0' 作为输入,它传输到状态 'X' 并打印 'B' 作为输出,以此类推其余状态。

因此,如果输入以“1”结尾,最终上述摩尔机器可以很容易地产生“A”作为输出,或者如果输入以“0”结尾,则产生“B”作为输出,否则产生“C”

以上 Moore 机器将 {0, 1} 上的所有字符串集合作为输入,如果输入以 '1' 结尾,则生成 'A' 作为输出,如果输入以 '0' 结尾,则生成 'B' 作为输出,否则生成 'C ' 作为输出。

现在我们需要将上述摩尔机转换图转换为等效的 Mealy 机转换图。

从摩尔机到米利机的转换:
所需转换的步骤如下:-

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

  • 在上面的转换表中,状态“W”、“X”和“Y”保留在第一列,当输入“0”时,它分别转换到“X”、“X”和“X”状态,保持在第二列并在获得“1”作为输入时分别转换为“Y”、“Y”和“Y”状态,保留在第三列并在获得“2”作为输入时转换为“W” '、'W'和'W'状态分别保持在第四列和Δ下的第五列中,有第一列状态的对应输出。在表中,箭头 (→) 表示初始状态。
  • Step-2:从上面的摩尔机转移表形成Mealy机转移表-
    下面的转换表将在上表及其条目的帮助下形成,只需使用第一列状态的相应输出并将它们相应地放置在第二列和第三列中。

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

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

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