web-dev-qa-db-fra.com

Mealy v/s. Moore

Quelle est la différence entre les machines à états finis de type Mealy & Moore?

17
user191776

Dans une machine Moore, la sortie produite est associée à l'état actuel de la machine et uniquement à celle-ci. Dans une machine Mealy, elle est associée à la fois à un état et à une entrée spécifique.

D'un point de vue pratique, vous avez la sortie placée sur les états d'une machine de Moore (chaque état a donc sa sortie), tandis que sur cette dernière, vous avez des sorties sur les transitions (une sortie est définie à partir de l'état actuel ET de la transition sortante). )

23
Jack

La sortie de la machine Moore dépend uniquement de l’état de la machine, La sortie de la machine farineuse est fonction de l’état de la machine et de ses entrées.

6
Orbit

Explication par exemple/anecdote.

Ceci est peut-être mieux illustré par un exemple et une anecdote. 

Je déteste les aéroports et y aller, mais j'aime être dans l'avion. Avant d'entrer dans l'avion, je dois entrer dans trois états distincts:

  1. État: En taxi (événement: je paie alors le tarif et passage à l'état suivant :)
  2. State: In Lounge (événement: attendez 2 heures et passez au prochain état:)
  3. Etat: en avion 

Mais quel est le résultat?

Dans une machine à farine, l'état précédent d'où vous venez fait une différence - comment vous arrivez quelque part est très important. Dans une machine de Moore, comment vous arrivez à un état ne fait aucune différence.

Ajoutons un résultat à ce qui précède pour créer une représentation de Moore d’une machine à états:

Exemple de représentation de Moore d'une machine à états:

  1. État: En taxi (événement: payer le tarif puis passer à l’état Suivant). (Résultat: malheureux). 
  2. State: In Lounge (événement: attendez 2 heures, puis passage au prochain état) (résultat: malheureux)
  3. Etat: dans le plan (résultat: heureux ).

Avec une représentation de Moore, le résultat est attaché directement à l'état . Avec une représentation Mealy - le résultat/résultat particulier dépend de votre origine. Par exemple, si je peux prendre l'avion sans prendre un taxi et attendre dans le salon, je serais heureux. Les intrants font la différence. Levous venez de est important. Une machine à états de représentation de Mealy permet de montrer cela dans le diagramme. En d'autres termes, le résultat/résultat est affiché EN DEHORS de l'état, pendant la transition.

3
BKSpurgeon

Les machines de Moore sont des systèmes dynamiques discrets qui peuvent être exprimés sous la forme:

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

x l'état, u l'entrée, y la sortie, f décrit la relation de transition (dynamique discrète) et g la carte de sortie (ici un libellé d'état) et k indique le temps (index dans la séquence).

Une machine à farine est d'une forme légèrement plus générale:

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

Notez que maintenant g n’est plus un étiquetage d’état, mais un Edge .

Ce sont pas équivalents, en particulier les machines de Moore sont strictement causales, alors que les machines de Mealy ne le sont pas.

Pour plus de détails, voir Lee & Seshia, Introduction aux systèmes embarqués , LeeSeshia.org, p.58.

3
Ioannis Filippidis
  • Mealy la sortie de la machine dépend à la fois de état actuel et entrée de courant alors que Moore sortie dépend uniquement de état actuel .

  • Généralement Mealy machine a état de fièvre que Moore machine.

  • Mealy La sortie change à la vitesse de tranchant mais Moore la sortie change dès que la logique est terminée.

  • Mealy réagit plus rapidement à l’entrée alors que La connexion Moore est nécessaire pour décoder la sortie car elle a plusieurs circuits de délais .

0
Hasee Amarathunga

Moore ne change que lorsque les horloges actives Pulse et Melay changent après chaque front d'horloge ("si l'entrée externe change") 

0
Nikhilesh