Мили в/с. Мур

В чем разница между конечными автоматами типа Мили и Мура?


person Community    schedule 24.10.2010    source источник


Ответы (6)


В машине Мура произведенный результат связан с текущим состоянием машины и только на ней. Вместо этого в машине Мили он связан как с состоянием, так и с конкретным входом.

С практической точки зрения у вас есть вывод, который помещается в состояния в машине Мура (таким образом, каждое состояние имеет свой вывод), в то время как в последнем у вас есть выводы в переходах (таким образом, вывод определяется из текущего состояния И исходящего перехода )

person Jack    schedule 24.10.2010
comment
Всегда ли один тип может быть преобразован в другой? - person ; 24.10.2010
comment
Не с теоретической точки зрения. С практической точки зрения выходная функция в машине Мура — это функция state -> output, а в машине Мили — state, input -> output. Это означает, что если вы взорвете каждое состояние вашей машины Мили, добавив определенные входные данные для каждого исходящего перехода, вы сможете имитировать одно и то же поведение, даже если оно концептуально отличается. - person Jack; 24.10.2010
comment
Любую машину Мили можно преобразовать в машину Мура. - person m33lky; 09.03.2012
comment
@dekpos: да, можешь. Преобразование Мили в Мура потребовало бы разделения каждого состояния Мили на количество входов, поступающих в него с разными выходами. Итак, если состояние Мили имеет два входа с двумя разными выходами, вы должны разделить это одно состояние Мили на два состояния в машине Мура, где выход каждого нового состояния будет соответствовать одному из двух переходных выходов в машине Мили. В обратной ситуации вы просто переместите вывод состояния во входящие переходы. Это является теоретическим. - person Parham; 21.11.2012
comment
@Jack: Было бы правильно сказать, что можно создать любую желаемую машину Мили, используя комбинацию машины Мура, выходные данные которой соответствуют ее состоянию, и чисто комбинаторной схемы (без путей обратной связи), которая принимает в качестве входных данных исходную машину. вместе со своими выходными данными состояния, а затем генерирует желаемые выходные данные для схемы в целом? - person supercat; 03.10.2013
comment
@ m33lky Машина Мили может быть преобразована в почти эквивалентную машину Мура, которая отличается только тем, что вывод производится на следующей реакции, а не на текущей. цитата из Lee & Seshia, Introduction to Embedded Systems, LeeSeshia.org - person Vinod; 17.11.2014

Выход машины Мура является функцией только состояния машины, выход машины Мили является функцией состояния машины и ее входов.

person Brandon Frohbieter    schedule 24.10.2010
comment
См.: stackoverflow.com/questions/5357918/ - person maxweber; 02.01.2015

Объяснение на примере / Анекдот.

Это, пожалуй, лучше всего проиллюстрировано примером и анекдотом.

Я ненавижу аэропорты и добираться до них, но мне нравится летать в самолете. Есть три различных состояния, в которые я должен войти, прежде чем сесть в самолет:

  1. Состояние: В такси (событие: затем я оплачиваю проезд и переход к следующему состоянию:)
  2. Состояние: В зале ожидания (событие: ожидание 2 часа и переход в следующее состояние: )
  3. Состояние: В самолете

Но каков результат?

В машине Мили предшествующее состояние, из которого вы пришли, имеет значение — как вы куда-то попадаете, очень важно. В машине Мура не имеет значения, как вы попадаете в состояние.

Давайте добавим результат к приведенному выше, чтобы создать представление Мура конечного автомата:

Пример представления Мура конечного автомата:

  1. Состояние: В такси (событие: оплата проезда и переход в следующее состояние). (Результат: несчастный).
  2. Состояние: В зале ожидания (событие: подождать 2 часа, а затем перейти в следующее состояние) (результат: недоволен)
  3. Состояние: в самолете (результат: счастлив).

При представлении Мура результат прикрепляется непосредственно к состоянию. С представлением Мили - конкретный результат / результат зависит от того, откуда вы пришли. Например, если я смогу добраться до самолета без необходимости ловить такси и ждать в зале ожидания, то я буду счастлив. Входы имеют значение. Важно, откуда вы родом. Конечный автомат представления Мили позволяет показать это на диаграмме. Другими словами, вывод/результат отображается ВНЕ состояния во время перехода.

person BKSpurgeon    schedule 14.01.2019

Машины Мура представляют собой дискретные динамические системы, которые можно представить в виде:

x[k+1] = f(x[k], u[k] )
y[k] = g(x[k] )

где x состояние, u вход, y выход, f описывает отношение перехода (дискретная динамика) и g выходная карта (здесь маркировка состояния), а k обозначает время (индекс в последовательности).

Машина Мили имеет несколько более общий вид:

x[k+1] = f(x[k], u[k] )
y[k] = g(x[k], u[k] )

Обратите внимание, что теперь g больше не является меткой состояния, это метка края.

Они не эквивалентны, в частности, машины Мура строго причинны, а машины Мили — нет.

Дополнительные сведения см. в Lee & Seshia, Introduction to Embedded Systems, LeeSeshia.org, стр. 58.

person Ioannis Filippidis    schedule 30.07.2013

Moore изменяется только после активного тактового импульса, а Melay изменяется после каждого фронта тактового сигнала ("при изменении внешнего входа")

person Nikhilesh    schedule 20.10.2013

  • Вывод машины Мили зависит как от текущего состояния, так и от текущего ввода тогда как вывод Мура зависит только от текущего состояния.

  • Обычно машина Мили имеет состояние лихорадки, чем машина Мура.

  • Выходные данные Мили меняются при переходе часов, но выходные данные Мура меняются, как только выполняется логика.

  • Мили быстрее реагирует на ввод, в то время как вход в систему Мура необходим для декодирования вывода, так как он имеет больше задержек в цепях.

person Hasee Amarathunga    schedule 26.12.2018