logo

Машина Мур

Машината на Мур е крайна машина, в която следващото състояние се определя от текущото състояние и текущия входен символ. Изходният символ в даден момент зависи само от текущото състояние на машината. Машината на Мур може да бъде описана с 6 кортежа (Q, q0, ∑, O, δ, λ), където,

 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:

Диаграмата на състоянието за Moore Machine е

Машина Мур

Преходната таблица за Moore Machine е:

java има следващ
Машина Мур

В горната машина на Мур изходът е представен с всяко входно състояние, разделено с /. Изходната дължина за машина на Мур е по-голяма от входната с 1.

Вход: 010

Преход: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2

Изход: 1110 (1 за q0, 1 за q1, отново 1 за q1, 0 за q2)

Пример 2:

Проектирайте машина на Мур за генериране на допълнение към 1 на дадено двоично число.

Решение: За да генерирате допълнение към 1 на дадено двоично число, простата логика е, че ако входът е 0, тогава изходът ще бъде 1, а ако входът е 1, тогава изходът ще бъде 0. Това означава, че има три състояния. Едно състояние е начално състояние. Второто състояние е за приемане на 0 като вход и генериране на изход като 1. Третото състояние е за приемане на 1 като вход и произвеждане на изход като 0.

Следователно машината на Мур ще бъде,

Машина Мур

Например вземете едно двоично число 1011

Вход 1 0 1 1
състояние q0 q2 q1 q2 q2
Изход 0 0 1 0 0

Така получаваме 00100 като допълнение към 1 на 1011, можем да пренебрегнем първоначалната 0 и изходът, който получаваме, е 0100, което е допълнение към 1 на 1011. Таблицата на транзакциите е както следва:

Машина Мур

Така машината на Мур M = (Q, q0, ∑, O, δ, λ); където Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. таблицата на прехода показва функциите δ и λ.

Пример 3:

Проектирайте машина на Мур за двоична входна последователност, така че ако има подниз 101, машината извежда A, ако входът има подниз 110, извежда B, в противен случай извежда C.

Решение: За да проектираме такава машина, ще проверим две условия и те са 101 и 110. Ако получим 101, изходът ще бъде A, а ако разпознаем 110, изходът ще бъде B. За други низове изходът ще бъде ° С.

масив в java

Частичната диаграма ще бъде:

Машина Мур

Сега ще вмъкнем възможностите за 0 и 1 за всяко състояние. Така машината на Мур става:

Машина Мур

Пример 4:

Конструирайте машина на Мур, която определя дали въведен низ съдържа четен или нечетен брой 1. Машината трябва да даде 1 като изход, ако четен брой 1 има в низа и 0 в противен случай.

Решение:

Машината на Мур ще бъде:

Машина Мур

Това е необходимата машина на Мур. В тази машина състояние q1 приема нечетен брой 1, а състояние q0 приема четен брой 1. Няма ограничение за броя на нулите. Следователно за 0 вход може да се приложи самоконтур и в двете състояния.

jframe

Пример 5:

Проектирайте машина на Мур с входна азбука {0, 1} и изходна азбука {Y, N}, която произвежда Y като изход, ако входната последователност съдържа 1010 като подниз, в противен случай тя произвежда N като изход.

Решение:

Машината на Мур ще бъде:

Машина Мур