Mașina Moore este o mașină cu stări finite în care starea următoare este decisă de starea curentă și simbolul de intrare curent. Simbolul de ieșire la un moment dat depinde numai de starea actuală a mașinii. Mașina Moore poate fi descrisă de 6 tupluri (Q, q0, ∑, O, δ, λ) unde,
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
Exemplul 1:
Diagrama de stare pentru Moore Machine este
Tabelul de tranziție pentru Moore Machine este:
python snake vs anaconda
În mașina Moore de mai sus, ieșirea este reprezentată cu fiecare stare de intrare separată prin /. Lungimea de ieșire pentru o mașină Moore este mai mare decât intrarea cu 1.
Intrare: 010
Tranziție: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2
Ieșire: 1110(1 pentru q0, 1 pentru q1, din nou 1 pentru q1, 0 pentru q2)
Exemplul 2:
Proiectați o mașină Moore pentru a genera complementul 1 al unui număr binar dat.
Soluţie: Pentru a genera complementul 1 al unui număr binar dat, logica simplă este că, dacă intrarea este 0, atunci ieșirea va fi 1 și dacă intrarea este 1 atunci ieșirea va fi 0. Asta înseamnă că există trei stări. O stare este starea de pornire. A doua stare este pentru a lua 0 ca intrare și produce ieșire ca 1. A treia stare este pentru a lua 1 ca intrare și produce ieșire ca 0.
Prin urmare, mașina Moore va fi,
De exemplu, luați atunci un număr binar 1011
Intrare | 1 | 0 | 1 | 1 | |
Stat | q0 | q2 | q1 | q2 | q2 |
Ieșire | 0 | 0 | 1 | 0 | 0 |
Astfel, obținem 00100 ca complement 1 al lui 1011, putem neglija 0 inițial și rezultatul pe care îl obținem este 0100 care este complementul 1 al lui 1011. Tabelul tranzacțiilor este după cum urmează:
Astfel mașina Moore M = (Q, q0, ∑, O, δ, λ); unde Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. tabelul de tranziție arată funcțiile δ și λ.
Exemplul 3:
Proiectați o mașină Moore pentru o secvență de intrare binară, astfel încât, dacă are un subșir 101, ieșirea mașinii A, dacă intrarea are subșirul 110, iese B, în caz contrar, iese C.
blocați reclamele youtube Android
Soluţie: Pentru proiectarea unei astfel de mașini, vom verifica două condiții, iar acestea sunt 101 și 110. Dacă obținem 101, ieșirea va fi A, iar dacă recunoaștem 110, ieșirea va fi B. Pentru alte șiruri, ieșirea va fi C.
Diagrama parțială va fi:
Acum vom introduce posibilitățile de 0 și 1 pentru fiecare stare. Astfel, mașina Moore devine:
Exemplul 4:
Construiți o mașină Moore care determină dacă un șir de intrare conține un număr par sau impar de 1. Mașina ar trebui să dea 1 ca ieșire dacă un număr par de 1 sunt în șir și 0 în caz contrar.
Soluţie:
testarea software-ului și tipurile
Mașina Moore va fi:
Aceasta este mașina Moore necesară. În această mașină, starea q1 acceptă un număr impar de 1 și starea q0 acceptă un număr par de 1. Nu există nicio restricție asupra unui număr de zerouri. Prin urmare, pentru intrarea 0, auto-bucla poate fi aplicată pe ambele stări.
Exemplul 5:
Proiectați o mașină Moore cu alfabetul de intrare {0, 1} și alfabetul de ieșire {Y, N} care produce Y ca ieșire dacă secvența de intrare conține 1010 ca subșir, altfel, produce N ca ieșire.
Soluţie:
Mașina Moore va fi: