logo

Moore maskine

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

Moore maskine

Overgangstabel til Moore Machine er:

mysql brugerliste
Moore maskine

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,

Moore maskine

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

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:

Moore maskine

Nu vil vi indsætte mulighederne for 0'er og 1'er for hver tilstand. Således bliver Moore-maskinen:

websteder som bedpage
Moore maskine

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:

Moore maskine

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:

Moore maskine