logo

Mūra mašīna

Mūra mašīna ir ierobežota stāvokļa mašīna, kurā nākamo stāvokli nosaka pašreizējais stāvoklis un pašreizējās ievades simbols. Izvades simbols noteiktā laikā ir atkarīgs tikai no iekārtas pašreizējā stāvokļa. Mūra mašīnu var aprakstīt ar 6 korežiem (Q, q0, ∑, O, δ, λ), kur,

 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 

1. piemērs:

Mūra mašīnas stāvokļa diagramma ir

Mūra mašīna

Moore Machine pārejas tabula ir:

kas ir automātiski pieslēgts java
Mūra mašīna

Iepriekš minētajā Mūra mašīnā izvade tiek attēlota ar katru ievades stāvokli, kas atdalīts ar /. Mūra iekārtas izvades garums ir par 1 lielāks nekā ievades garums.

Ievade: 010

Pāreja: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2

Izvade: 1110 (1 q0, 1 q1, atkal 1 q1, 0 q2)

2. piemērs:

Izstrādājiet Mūra mašīnu, lai ģenerētu dotā binārā skaitļa 1 papildinājumu.

Risinājums: Lai ģenerētu dotā binārā skaitļa 1 papildinājumu, vienkārša loģika ir tāda, ka, ja ievade ir 0, tad izvade būs 1 un, ja ievade ir 1, tad izvade būs 0. Tas nozīmē, ka ir trīs stāvokļi. Viens stāvoklis ir sākuma stāvoklis. Otrais stāvoklis ir paredzēts 0 kā ievadi un izvada kā 1. Trešais stāvoklis ir paredzēts 1 kā ievadei un izvadei kā 0.

Tādējādi Mūra mašīna būs,

Mūra mašīna

Piemēram, ņemiet vienu bināru skaitli 1011

Ievade 1 0 1 1
Valsts q0 q2 q1 q2 q2
Izvade 0 0 1 0 0

Tādējādi mēs iegūstam 00100 kā 1 papildinājumu 1011, mēs varam neņemt vērā sākotnējo 0, un iegūtais rezultāts ir 0100, kas ir 1 1011 papildinājums. Darījumu tabula ir šāda:

Mūra mašīna

Tādējādi Mūra mašīna M = (Q, q0, ∑, O, δ, λ); kur Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. pārejas tabulā parādītas δ un λ funkcijas.

3. piemērs:

Izveidojiet Mūra mašīnu binārai ievades secībai tā, ka, ja tai ir apakšvirkne 101, mašīnas izvade A, ja ievadei ir apakšvirkne 110, tā izvada B, pretējā gadījumā tā izvada C.

virkne kā masīvs

Risinājums: Lai izstrādātu šādu mašīnu, mēs pārbaudīsim divus nosacījumus, un tie ir 101 un 110. Ja mēs saņemsim 101, izvade būs A, un, ja mēs atpazīsim 110, izvade būs B. Citām virknēm izvade būs C.

Daļēja diagramma būs šāda:

Mūra mašīna

Tagad mēs ievietosim 0 un 1 iespējas katram stāvoklim. Tādējādi Mūra mašīna kļūst:

Mūra mašīna

4. piemērs:

Izveidojiet Mūra mašīnu, kas nosaka, vai ievades virknē ir pāra vai nepāra 1 skaitļi. Ja virknē ir pāra skaitlis 1, iekārtai kā izvadei ir jādod 1 un 0 pretējā gadījumā.

Risinājums:

kā uzzināt displeja izmēru

Mūra mašīna būs:

Mūra mašīna

Šī ir vajadzīgā Mūra mašīna. Šajā iekārtā stāvoklis q1 pieņem nepāra skaitu 1 un stāvoklis q0 pieņem pāra skaitu 1. Nulles skaitam nav ierobežojumu. Tādējādi 0 ievadei pašcilpu var lietot abos stāvokļos.

5. piemērs:

Izstrādājiet Mūra mašīnu ar ievades alfabētu {0, 1} un izvades alfabētu {Y, N}, kas rada Y kā izvadi, ja ievades secībā kā apakšvirkne ir 1010, pretējā gadījumā tā rada N kā izvadi.

Risinājums:

Mūra mašīna būs:

Mūra mašīna