--- title: Machine d'état slug: Glossary/State_machine tags: - Glossaire - états translation_of: Glossary/State_machine original_slug: Glossaire/Machine_d_état --- <p>Une machine d'état est une abstraction mathématique utilisée pour concevoir des algorithmes. Une machine d'état lit un ensemble d'entrées et passe à un état différent en fonction de ces entrées.</p> <p>Un état est une description de l'état d'un système en attente d'exécution d'une transition. Une transition est un ensemble d'actions à exécuter lorsqu'une condition est remplie ou qu'un événement est reçu. Dans un diagramme d'état, les cercles représentent chaque état possible et les flèches représentent les transitions entre les états.</p> <p>En regardant l'état final, vous pouvez discerner quelque chose sur la série d'entrées menant à cet état.</p> <p>Il existe deux types de machines d'état de base :</p> <dl> <dt>machine déterministe à états finis</dt> <dd>Ce type ne permet qu'une seule transition possible pour toute entrée autorisée. C'est comme l'{{Glossary("Statement","état")}} du "if" dans <code>if x == true then doThis <em>else</em> doThat</code>. L'ordinateur doit exécuter l'une des deux options.</dd> <dt>machine non déterministe à états finis</dt> <dd>Étant donné un état, une entrée peut conduire à plus d'un état différent.</dd> </dl> <p><em>Figure 1 : Machine déterministe à états finis</em></p> <p><img alt="" src="http://s14.postimg.org/wqu45yc9d/statemachine1.png" style="height: 164px; width: 243px;"></p> <p>Dans la <em>Figure 1</em>, l'état commence en State 1; l'état change vers State 2 en donnant l'entrée 'X', ou vers State 3 en donnant l'entrée 'Y'.</p> <p><em>Figure 2 : Machine non déterministe à états finis</em></p> <p><a href="http://postimg.org/image/mpq3nz82h/"><img alt="" src="http://s28.postimg.org/i3tzfmmjh/statemachine2.png" style="height: 124px; width: 243px;"></a></p> <p>En <em>Figure 2</em>, étant donné l'entrée 'X', l'état peut persister ou passer à State 2.</p> <p>Notez que toute {{Glossary("regular expression","expression régulière")}} peut être représentée par une machine d'état.</p> <h2 id="En_apprendre_plus">En apprendre plus</h2> <h3 id="Culture_générale">Culture générale</h3> <ul> <li style="margin-left: 40px;">{{Interwiki("wikipedia", "Automate_fini","Automate fini")}} sur Wikipedia</li> <li style="margin-left: 40px;">{{Interwiki("wikipedia", "Automate_fini#Automates_UML","Automates UML")}} sur Wikipedia</li> <li style="margin-left: 40px;">{{Interwiki("wikipedia", "Machine_de_Moore","Machine de Moore")}} sur Wikipedia</li> <li style="margin-left: 40px;">{{Interwiki("wikipedia", "Machine_de_Mealy","Machine de Mealy")}} sur Wikipedia</li> </ul>