logo

Machine Moore

La machine de Moore est une machine à états finis dans laquelle l'état suivant est décidé par l'état actuel et le symbole d'entrée actuel. Le symbole de sortie à un instant donné dépend uniquement de l'état actuel de la machine. La machine de Moore peut être décrite par 6 tuples (Q, q0, ∑, O, δ, λ) 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 

Exemple 1:

Le diagramme d’état de Moore Machine est

Machine Moore

La table de transition pour Moore Machine est :

composition des relations
Machine Moore

Dans la machine de Moore ci-dessus, la sortie est représentée avec chaque état d'entrée séparé par /. La longueur de sortie d'une machine Moore est supérieure à l'entrée de 1.

Saisir: 010

Transition: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2

Sortir: 1110 (1 pour q0, 1 pour q1, encore 1 pour q1, 0 pour q2)

Exemple 2 :

Concevez une machine de Moore pour générer le complément à 1 d'un nombre binaire donné.

Solution: Pour générer le complément à 1 d'un nombre binaire donné, la logique simple est que si l'entrée est 0, la sortie sera 1 et si l'entrée est 1, la sortie sera 0. Cela signifie qu'il y a trois états. Un état est l’état de départ. Le deuxième état consiste à prendre des 0 en entrée et à produire une sortie à 1. Le troisième état consiste à prendre des 1 en entrée et à produire une sortie à 0.

La machine de Moore sera donc :

Machine Moore

Par exemple, prenons un nombre binaire 1011 puis

Saisir 1 0 1 1
État q0 q2 q1 q2 q2
Sortir 0 0 1 0 0

Ainsi nous obtenons 00100 comme complément à 1 de 1011, nous pouvons négliger le 0 initial et le résultat que nous obtenons est 0100 qui est le complément à 1 de 1011. La table des transactions est la suivante :

Machine Moore

Ainsi machine de Moore M = (Q, q0, ∑, O, δ, λ) ; où Q = {q0, q1, q2}, ∑ = {0, 1}, O = {0, 1}. le tableau de transition montre les fonctions δ et λ.

générateur de valeurs aléatoires en Java

Exemple 3 :

Concevez une machine de Moore pour une séquence d'entrée binaire telle que si elle a une sous-chaîne 101, la machine produit A, si l'entrée a une sous-chaîne 110, elle produit B sinon elle produit C.

Solution: Pour concevoir une telle machine, nous vérifierons deux conditions, à savoir 101 et 110. Si nous obtenons 101, la sortie sera A, et si nous reconnaissons 110, la sortie sera B. Pour les autres chaînes, la sortie sera C.

Le schéma partiel sera :

Machine Moore

Nous allons maintenant insérer les possibilités de 0 et de 1 pour chaque état. La machine de Moore devient donc :

disquette
Machine Moore

Exemple 4 :

Construisez une machine de Moore qui détermine si une chaîne d'entrée contient un nombre pair ou impair de 1. La machine doit donner 1 en sortie si un nombre pair de 1 est dans la chaîne et 0 sinon.

Solution:

La machine de Moore sera :

Machine Moore

C'est la machine Moore requise. Dans cette machine, l'état q1 accepte un nombre impair de 1 et l'état q0 accepte un nombre pair de 1. Il n'y a aucune restriction sur le nombre de zéros. Par conséquent, pour une entrée 0, l’auto-boucle peut être appliquée sur les deux états.

Exemple 5 :

Concevez une machine Moore avec l'alphabet d'entrée {0, 1} et l'alphabet de sortie {Y, N} qui produit Y en sortie si la séquence d'entrée contient 1010 comme sous-chaîne, sinon elle produit N en sortie.

Solution:

La machine de Moore sera :

Machine Moore