Vous êtes sur la page 1sur 11

Automates Finis

I3307 - Chapitre 1

Livre de référence:
Michael Sipser. Introduction to the Theory of Computation. Cengage Learning, 2012.

Dr. Ali Choumane 1


Introduction
• Un automate fini (AF) ou automate avec un nombre fini d'états est un
modèle mathématique de calcul, utilisé dans de nombreuses
circonstances, surtout dans la conception de programmes informatiques.

• Les AF peuvent modéliser un grand nombre de problèmes, parmi lesquels


• L’analyse lexicale et dans certains cas l’analyse syntaxique
• Compilation
• Vérification de programmes (model checking)
• Contrôleurs embarqués
• …

Dr. Ali Choumane 2


Introduction
• Exemple: contrôleur pour une porte automatique

Devant Derrière

Porte automatique

Dr. Ali Choumane 3


Introduction
• Le contrôleur est dans l'un des deux états: OUVERTE ou FERMÉE
(porte ouverte ou fermée)

• Il y a 4 conditions possibles: Devant, Derrière, Rien, Les deux (devant


et derrière)

Derrière, Devant,
Devant
Les deux, Derrière,
Rien Les deux
FERMÉE OUVERTE

Rien
Dr. Ali Choumane 4
Introduction
• Un AF est représenté par un graphe orienté

• Pour atteindre la définition formelle d’un AF, nous considérons


l’exemple abstrait suivant (noté M1) :

• 3 états : q1, q2, q3


• Etat initial (de départ) : q1
• Etat final : q2
• Des arcs appelés transitions

Dr. Ali Choumane 5


Introduction
• Lorsque cet automate reçoit une entrée telle que « 1101 », il la traite et
produit une sortie.
• La sortie est soit accepter soit rejeter

• Traitement du mot of 1101:


• Démarrer dans l’état initial q1
• Lire 1: transition de q1 à q2
• Lire 1: transition de q2 à q2
• Lire 0: transition de q2 à q3 110 1
• Lire 1: transition de q3 à q2
• Accepter ce mot car la machine (l’AF) a terminé le traitement dans un état final (q2)

Dr. Ali Choumane 6


Définition formelle
• Un AF est un quintuplet (Q, Σ, δ, q0, F), où:
1. Q est un ensemble fini, appelé ensemble des états,
2. Σ est un ensemble fini, appelé alphabet,
3. δ: Q x Σ → Q est la fonction des transitions,
4. q0  Q est l’état initial
5. F Q est l’ensemble des états finaux

Dr. Ali Choumane 7


Définition formelle
• On peut décrire M1 formellement en écrivant:
M1 = (Q, Σ, δ, q1, F), où
1. Q = {q1, q2, q3}
2. Σ = {0, 1}
3. δ est décrit dans le tableau suivant :
δ 0 1
q1 q1 q2
q2 q3 q2
q3 q2 q2

4. q1 est l’état initial


5. F = {q2}

Dr. Ali Choumane 8


Langage d'un automate
• Si A est l'ensemble de toutes les mots que la machine M accepte, on
dit que A est le langage de la machine M
• L(M) = A
• On dit que M reconnait A

• Une machine peut accepter plusieurs mots, mais elle reconnaît


toujours un seul langage

• Si la machine n'accepte aucun mot, elle reconnaît toujours un


langage, à savoir le langage vide Ø

Dr. Ali Choumane 9


Langage d'un automate
• Langage de l’automate M1

• M1 accepte les mots:


• 1: δ(q1, 1) = q2 (état final)
• 01: δ(q1, 0) = q1, δ(q1, 1) = q2 (état final)
• 001
• 000…01
• 0100, 01111101
• etc.
L(M1) = {w / w contient au moins un 1 et un nombre pair de 0 suit le
dernier 1}
Dr. Ali Choumane 10
Langage d'un automate
• Soit l’automate M2 = ({q1, q2}, {0,1}, δ, q1, {q2} ) où la fonction δ est
définie comme suit:

• M2 est représenté par le diagramme suivant:

• L(M2) = {w / w se termine par 1}

Dr. Ali Choumane 11

Vous aimerez peut-être aussi