===== Automate (ou machine) à états finis =====
Machine abstraite définie par un quintuplet
(Q, ∑, T, s, A), avec :
* Q, ensemble fini d’états,
* \Sigma, alphabet fini,
* T, fonction de transition (T: Q\times \Sigma\rightarrow Q)
* qd, état de départ ∈ Q
* A, ensemble d’états « acceptants » ∈ Q
L’ensemble des états acceptés forme le langage reconnu par l’automate à états finis.
==== Exemple de FSM (finite state machine) ====
Soit M=(S, ∑, T, s, A), avec
* ∑ = {0,1}
* Q={q0,q1},
* qd=q0,
* A=q0.
^ T ^ 0 ^ 1 ^ ^
^ q0 | q1 | q0 | transi- |
^ q1 | q0 | q1 | tions |
^ état ^ signaux ^^ ^
==== Langages reconnus par les FSM ====
Les états représentent la mémoire de la machine. Problème : une fois la machine définie, on ne peut plus ajouter, modifier ou supprimer des états. Ceci limite beaucoup la puissance de la machine.
=== Théorème de Kleene : ===
Les langages reconnus par les automates finis sont exactement les langages pouvant être décrits par les expressions régulières.
Les FSM sont beaucoup utilisés en informatique (réseaux, …)