Mooren kone on äärellisen tilan kone, jossa seuraava tila määräytyy nykyisen tilan ja nykyisen syöttösymbolin perusteella. Lähtösymboli tietyllä hetkellä riippuu vain koneen nykyisestä tilasta. Mooren konetta voidaan kuvata kuudella monikolla (Q, q0, ∑, O, δ, λ), jossa
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
Esimerkki 1:
Moore Machinen tilakaavio on
Moore Machinen siirtymätaulukko on:
ms word pikakäyttötyökalupalkki
Yllä olevassa Mooren koneessa lähtö esitetään siten, että jokainen tulotila on erotettu /-merkillä. Moore-koneen lähtöpituus on 1:llä suurempi kuin syöte.
Syöte: 010
Siirtyminen: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2
Lähtö: 1110(1 q0:lle, 1 q1:lle, jälleen 1 q1:lle, 0 q2:lle)
Esimerkki 2:
Suunnittele Mooren kone generoimaan 1:n komplementti tietystä binääriluvusta.
Ratkaisu: Tietyn binääriluvun 1:n komplementin muodostamiseksi yksinkertainen logiikka on, että jos tulo on 0, tulos on 1 ja jos tulo on 1, tulos on 0. Tämä tarkoittaa, että tilaa on kolme. Yksi tila on aloitustila. Toinen tila on ottaa 0:t syötteeksi ja tuottaa ulostulon 1:ksi. Kolmas tila on ottaa 1:t syötteeksi ja tuottaa ulostuloksi 0.
Siksi Mooren kone on,
Otetaan esimerkiksi yksi binääriluku 1011
merkkijonomuoto
Syöte | 1 | 0 | 1 | 1 | |
Osavaltio | q0 | q2 | q1 | q2 | q2 |
Lähtö | 0 | 0 | 1 | 0 | 0 |
Siten saamme 00100 luvun 1:n komplementtina luvusta 1011, voimme jättää huomioimatta alkuperäisen 0:n ja saatava tulos on 0100, joka on 1:n komplementti luvusta 1011. Tapahtumataulukko on seuraava:
Siten Mooren kone M = (Q, q0, ∑, O, δ, λ); missä Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. siirtymätaulukko näyttää δ- ja λ-funktiot.
Esimerkki 3:
Suunnittele Mooren kone binäärisyötesekvenssille siten, että jos sillä on alimerkkijono 101, kone tulostaa A, jos tulossa on alimerkkijono 110, se tulostaa B, muuten se tulostaa C.
Ratkaisu: Tällaisen koneen suunnittelussa tarkastetaan kaksi ehtoa, jotka ovat 101 ja 110. Jos saamme 101, tulos on A ja jos tunnistamme 110, tulos on B. Muiden merkkijonojen lähtö on C.
Osittainen kaavio tulee olemaan:
Nyt lisätään 0:n ja 1:n mahdollisuudet jokaiselle tilalle. Näin Mooren koneesta tulee:
Esimerkki 4:
Rakenna Mooren kone, joka määrittää, sisältääkö syötemerkkijono parillisen vai parittoman määrän ykkösiä. Koneen tulee antaa tulostuksena 1, jos merkkijonossa on parillinen määrä ykkösiä ja 0 muussa tapauksessa.
Ratkaisu:
Mooren koneesta tulee:
Tämä on vaadittu Mooren kone. Tässä koneessa tila q1 hyväksyy parittoman määrän ykkösiä ja tila q0 hyväksyy parillisen määrän ykkösiä. Nollien lukumäärää ei ole rajoitettu. Siten 0-sisääntulolle itsesilmukkaa voidaan soveltaa molemmissa tiloissa.
smtp Internet-protokolla
Esimerkki 5:
Suunnittele Mooren kone syöteaakkosilla {0, 1} ja lähtöaakkosilla {Y, N}, joka tuottaa Y:n ulostulona, jos syötesekvenssi sisältää 1010 alimerkkijonona, muuten se tuottaa N tulosteena.
Ratkaisu:
Mooren koneesta tulee: