logo

Màquina Moore

La màquina de Moore és una màquina d'estats finits en la qual el següent estat es decideix per l'estat actual i el símbol d'entrada actual. El símbol de sortida en un moment determinat només depèn de l'estat actual de la màquina. La màquina de Moore es pot descriure per 6 tuples (Q, q0, ∑, O, δ, λ) on,

 Q: finite set of states q0: initial state of machine ∑: finite set of input symbols O: output alphabet δ: transition function where Q × ∑ → Q λ: output function where Q → O 

Exemple 1:

El diagrama d'estats de la màquina de Moore és

Màquina Moore

La taula de transicions per a Moore Machine és:

convertir cadena en char java
Màquina Moore

A la màquina de Moore anterior, la sortida es representa amb cada estat d'entrada separat per /. La longitud de sortida d'una màquina de Moore és més gran que l'entrada en 1.

Entrada: 010

Transició: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2

Sortida: 1110(1 per q0, 1 per q1, de nou 1 per q1, 0 per q2)

Exemple 2:

Dissenyeu una màquina de Moore per generar el complement 1 d'un nombre binari donat.

Solució: Per generar el complement 1 d'un nombre binari donat, la lògica simple és que si l'entrada és 0, la sortida serà 1 i si l'entrada és 1, la sortida serà 0. Això vol dir que hi ha tres estats. Un estat és l'estat inicial. El segon estat és per prendre 0 com a entrada i produeix una sortida com 1. El tercer estat és per prendre 1 com a entrada i produir sortida com 0.

Per tant, la màquina de Moore serà,

Màquina Moore

Per exemple, agafeu un nombre binari 1011

funció estàtica en java
Entrada 1 0 1 1
Estat q0 q2 q1 q2 q2
Sortida 0 0 1 0 0

Així, obtenim 00100 com a complement d'1 de 1011, podem descuidar el 0 inicial i la sortida que obtenim és 0100, que és el complement d'1 de 1011. La taula de transaccions és la següent:

Màquina Moore

Així la màquina de Moore M = (Q, q0, ∑, O, δ, λ); on Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. la taula de transicions mostra les funcions δ i λ.

Exemple 3:

Dissenyeu una màquina de Moore per a una seqüència d'entrada binària de tal manera que si té una subcadena 101, la màquina de sortida A, si l'entrada té una subcadena 110, produeix B en cas contrari surt C.

Solució: Per dissenyar aquesta màquina, comprovarem dues condicions, i aquestes són 101 i 110. Si obtenim 101, la sortida serà A, i si reconeixem 110, la sortida serà B. Per a altres cadenes, la sortida serà C.

El diagrama parcial serà:

Màquina Moore

Ara inserirem les possibilitats de 0 i 1 per a cada estat. Així, la màquina de Moore es converteix en:

Màquina Moore

Exemple 4:

Construeix una màquina de Moore que determina si una cadena d'entrada conté un nombre parell o senar d'1. La màquina hauria de donar 1 com a sortida si hi ha un nombre parell d'1 a la cadena i 0 en cas contrari.

Solució:

La màquina de Moore serà:

Màquina Moore

Aquesta és la màquina Moore necessària. En aquesta màquina, l'estat q1 accepta un nombre imparell d'1 i l'estat q0 accepta un nombre parell d'1. No hi ha cap restricció sobre un nombre de zeros. Per tant, per a l'entrada 0, l'autobucle es pot aplicar als dos estats.

cadena i subcadena

Exemple 5:

Dissenyeu una màquina de Moore amb l'alfabet d'entrada {0, 1} i l'alfabet de sortida {Y, N} que produeix Y com a sortida si la seqüència d'entrada conté 1010 com a subcadena, en cas contrari, produeix N com a sortida.

Solució:

La màquina de Moore serà:

Màquina Moore