logo

Máquina Moore

A máquina de Moore é uma máquina de estados finitos na qual o próximo estado é decidido pelo estado atual e pelo símbolo de entrada atual. O símbolo de saída num determinado momento depende apenas do estado atual da máquina. A máquina de Moore pode ser descrita por 6 tuplas (Q, q0, ∑, O, δ, λ) onde,

 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 

Exemplo 1:

O diagrama de estado para a Máquina de Moore é

Máquina Moore

A tabela de transição para a Máquina Moore é:

qual é a diferença entre um megabyte e um gigabyte
Máquina Moore

Na máquina de Moore acima, a saída é representada com cada estado de entrada separado por /. O comprimento de saída para uma máquina de Moore é maior que o comprimento de entrada em 1.

Entrada: 010

Transição: δ (q0,0) => δ (q1,1) => δ (q1,0) => q2

Saída: 1110(1 para q0, 1 para q1, novamente 1 para q1, 0 para q2)

Exemplo 2:

Projete uma máquina de Moore para gerar o complemento de 1 de um determinado número binário.

Solução: Para gerar o complemento de 1 de um determinado número binário, a lógica simples é que se a entrada for 0, a saída será 1 e se a entrada for 1, a saída será 0. Isso significa que existem três estados. Um estado é o estado inicial. O segundo estado é para tomar 0 como entrada e produzir a saída como 1. O terceiro estado é para tomar 1 como entrada e produzir a saída como 0.

Portanto, a máquina de Moore será,

Máquina Moore

Por exemplo, pegue um número binário 1011 e então

Entrada 1 0 1 1
Estado q0 q2 q1 q2 q2
Saída 0 0 1 0 0

Assim, obtemos 00100 como complemento de 1 de 1011, podemos negligenciar o 0 inicial e a saída que obtemos é 0100, que é o complemento de 1 de 1011. A tabela de transações é a seguinte:

Máquina Moore

Assim máquina de Moore M = (Q, q0, ∑, O, δ, λ); onde Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. a tabela de transição mostra as funções δ e λ.

Exemplo 3:

Projete uma máquina de Moore para uma sequência de entrada binária tal que se ela tiver uma substring 101, a máquina produzirá A, se a entrada tiver a substring 110, ela produzirá B, caso contrário, ela produzirá C.

Solução: Para projetar tal máquina, verificaremos duas condições, que são 101 e 110. Se obtivermos 101, a saída será A, e se reconhecermos 110, a saída será B. Para outras strings, a saída será C.

O diagrama parcial será:

d flip-flop
Máquina Moore

Agora iremos inserir as possibilidades de 0 e 1 para cada estado. Assim, a máquina de Moore torna-se:

Máquina Moore

Exemplo 4:

Construa uma máquina de Moore que determine se uma string de entrada contém um número par ou ímpar de 1s. A máquina deve fornecer 1 como saída se um número par de 1 estiver na string e 0 caso contrário.

Solução:

A máquina de Moore será:

Máquina Moore

Esta é a máquina Moore necessária. Nesta máquina, o estado q1 aceita um número ímpar de 1's e o estado q0 aceita um número par de 1's. Não há restrição quanto ao número de zeros. Portanto, para entrada 0, o autoloop pode ser aplicado em ambos os estados.

Exemplo 5:

Projete uma máquina Moore com o alfabeto de entrada {0, 1} e o alfabeto de saída {Y, N} que produz Y como saída se a sequência de entrada contiver 1010 como uma substring, caso contrário, produz N como saída.

Solução:

python classificando tuplas

A máquina de Moore será:

Máquina Moore