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
La table de transition pour Moore Machine est :
composition des relations
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 :
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 :
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 :
Nous allons maintenant insérer les possibilités de 0 et de 1 pour chaque état. La machine de Moore devient donc :
disquette
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 :
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 :