Moore-maskine er en endelig tilstandsmaskine, hvor den næste tilstand bestemmes af den aktuelle tilstand og det aktuelle inputsymbol. Udgangssymbolet på et givet tidspunkt afhænger kun af maskinens aktuelle tilstand. Moore-maskine kan beskrives med 6 tupler (Q, q0, ∑, O, δ, λ) hvor,
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
Eksempel 1:
Tilstandsdiagrammet for Moore Machine er
Overgangstabel til Moore Machine er:
mysql brugerliste
I ovenstående Moore-maskine er outputtet repræsenteret med hver inputtilstand adskilt af /. Outputlængden for en Moore-maskine er større end input med 1.
Input: 010
Overgang: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2
Produktion: 1110(1 for q0, 1 for q1, igen 1 for q1, 0 for q2)
Eksempel 2:
Design en Moore-maskine til at generere 1-komplement af et givet binært tal.
Løsning: For at generere 1's komplement af et givet binært tal er den simple logik, at hvis inputtet er 0, vil outputtet være 1, og hvis inputtet er 1, så vil outputtet være 0. Det betyder, at der er tre tilstande. En tilstand er starttilstand. Den anden tilstand er til at tage 0'er som input og producerer output som 1. Den tredje tilstand er til at tage 1'er som input og producere output som 0.
Derfor vil Moore-maskinen være,
Tag for eksempel et binært tal 1011
Input | 1 | 0 | 1 | 1 | |
Stat | q0 | q2 | q1 | q2 | q2 |
Produktion | 0 | 0 | 1 | 0 | 0 |
Således får vi 00100 som 1's komplement af 1011, vi kan negligere det indledende 0 og outputtet, som vi får, er 0100, hvilket er 1's komplement til 1011. Transaktionstabellen er som følger:
Moore-maskine M = (Q, q0, ∑, O, δ, λ); hvor Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. overgangstabellen viser δ- og λ-funktionerne.
ræv vs ulv
Eksempel 3:
Design en Moore-maskine til en binær inputsekvens, sådan at hvis den har en understreng 101, udsender den maskinoutput A, hvis inputtet har understreng 110, udsender den B ellers udsender den C.
Løsning: For at designe en sådan maskine vil vi kontrollere to betingelser, og det er 101 og 110. Hvis vi får 101, vil output være A, og hvis vi genkender 110, vil output være B. For andre strenge vil output være C.
Deldiagrammet vil være:
Nu vil vi indsætte mulighederne for 0'er og 1'er for hver tilstand. Således bliver Moore-maskinen:
websteder som bedpage
Eksempel 4:
Konstruer en Moore-maskine, der bestemmer, om en inputstreng indeholder et lige eller et ulige antal 1'ere. Maskinen skal give 1 som output, hvis der er et lige tal på 1'ere i strengen og 0 ellers.
Løsning:
Moore-maskinen bliver:
Dette er den nødvendige Moore-maskine. I denne maskine accepterer tilstand q1 et ulige antal 1'ere og tilstand q0 accepterer lige antal 1'ere. Der er ingen begrænsning på et antal nuller. Derfor kan selvsløjfe for 0-input anvendes på begge tilstande.
Eksempel 5:
Design en Moore-maskine med input-alfabetet {0, 1} og output-alfabetet {Y, N}, som producerer Y som output, hvis inputsekvensen indeholder 1010 som en understreng ellers producerer den N som output.
Løsning:
Moore-maskinen bliver: