Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cours 3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 21

Correction

 2) Démontrons que L’ensemble des nombres binaires


impairs est un langage régulier
 On a : L’={(0|1)n 1 /n≥0}
 0* est une expression régulière
 1* est une expression régulière
 (0|1)*1 est une expression régulière car l’union est une
expression régulière, donc L’ est un langage régulier.

48
Expression régulière et automates finis
 Automates finis

-États finis
-Vocabulaire: 2dh, 1dh, café, thé ….
-Transitions

49
Expression régulière et automates finis
 Automates finis
Définition
Un automate fini (AF) est un diagramme de transition qui peut reconnaitre avec
précision ce que les expressions régulières peuvent dénoter.
Modélisation de l’AF
Un AF est une machine modélisée par:
- Un ruban d’entrée (Input Tape): Sur lequel on place le mot à traiter
(Input Word). Le ruban est divisé en case (caractères).
- Une tête de lecture (Read Head): Indiquant la position du caractère
suivant à lire.
- Un ensemble d’états (Set of states) parmi lesquels:
- L’état initial: Etat de l’automate au départ de l’exécution.
- Des états accepteurs: Etats finals de l’automate.
- Une relation de transition: Indiquant pour chaque état et symbole lu qu’il
est l’état suivant de l’automate.

50
Expression régulière et automates finis
 Automates finis
caractère courant
bae mot à reconnaître

q0 b q1 a q2 b q3 e q4
a
état initial état courant
c état final
ou accepteur

51
Expression régulière et automates finis
 Automates finis
Formalisation d’un AF
Un automate fini est un modèle mathématique qui est défini par un
quintuplet A=(Q,V, δ, q0, F) où:

- Q est un ensemble d‘états finis.


- V est un ensemble de symboles d'entrée (alphabet) ou d’élément
accepté.
- δ est une fonction de transition qui prend comme argument un état et
un
symbole d'entrée et qui retourne un état: δ: Q×V→Q
- q0 est l’état initial de l’automate tel que q0 Q .
- F est un ensemble d‘états finals ou états d'acceptation tel que .

52
Expression régulière et automates finis
 Automates finis
 Exemple: id:
 V={a,…,z,0,…,9}
 ER X= x.(x|y)* / x {a,…,z} et y {0,…,9}

-a est un identificateur -l’automate fini permettre de décider est


-b2 est un identificateur ce que une chaine appartient ou non à un
-b3c est un identificateur langage régulier
………….
53
Expression régulière et automates finis
 Automates finis
Représentation d’un AF par un graphe de transition
Un AF est représenté par un graphe (ou diagramme) orienté étiqueté, appelé
graphe de transition tel que :
- L’état initial est désigné par une flèche entrante au sommet correspondant
- Pour chaque état q, q Q, il existe un nœud étiqueté q.
- Pour chaque état q et chaque symbole a de V tel que δ(q; a) = p, il existe un
arc du nœud q vers le nœud p étiqueté a.
- Les nœuds correspondant aux états de satisfaction (états appartenant à F) sont
représentés par un cercle double.

Exemple: Soit le langage L = {akbr/ k≥0 et r >0}

54
Expression régulière et automates finis
 Automates finis
 Expression  automate: cas de base

début

(a) Automate pour .

début e

(b) Automate pour e.

début a

(c) Automate pour le caractère "a".

55
Expression régulière et automates finis
 Automates finis
Représentation d’un AF par une table de transition
La table de transition est un tableau qui permet de représenter la fonction de transition
δ(q; a) = p entre les deux états q et p par le symbole a.
Soit l’AF de l’exemple précédent, la table de transition correspondante est:

a b Exemple: δ(q0; a) = q0

→ q0 q0 q1 → : désigne l’état initial


* q1 - q1 * : désigne l’état final

56
Expression régulière et automates finis
 Automates finis
Automate Fini non déterministe (AFN)
Un AFN est un AF caractérisé par:
- Plusieurs transitions correspondantes au même symbole sortant d’un même état.
a q2
q
q1
a
- Des transitions sur le symbole ε (mot vide): Changer d’état sans avancé dans le mot d’entrée.

ε
q > q1
Exemple d’un AFN

q0 q1 q2
57
Expression régulière et automates finis
 Automates finis
Automate Fini déterministe (AFD)
Un AFD est un cas particulier des AFN tel que:
- Aucun état n’a de ε transition.
- Pour chaque état q et chaque symbole a, il existe au plus un arc
d’étiquette a partant de q.

Exemple d’un AFD

q0 q1

58
Exercice 1

59
Correction

60
Exercice 1

Correction

61
Exercice 2
 Soit A = {a,b,c}. Pour chacun des langages suivants, donner un
automate fini déterministe (AFD) le reconnaissant :
 l’ensemble des mots dont la longueur est un multiple de 3 ;
 l’ensemble des mots se terminant par b ;
 l’ensemble des mots ne se terminant pas par b ;
 l’ensemble des mots contenant exactement un b ;
 l’ensemble des mots ne contenant aucun b ;
 l’ensemble des mots comportant au moins 3 lettres et dont la
troisième lettre à partir de la fin est un a ou un c ;
 Proposer un automate et une expression régulier pour le
langage de tous les mots {a,b,c}*. dont cac est un sous-mot

62
Expression régulière et automates finis
 Automates finis
Automate Fini déterministe complet (AFDC)
Un automate fini déterministe complet (AFDC) est un automate
déterministe pour lequel chaque état q et chaque symbole a, il
existe au moins un arc d’étiquette a partant de q.

Exemple d’un AFDC

63
Expression régulière et automates finis
 Automates finis
Transformation de l’AFD en AFDC
Tout AFD peut être transformé en un AFDC reconnaissant le même langage par
l’algorithme suivant:
- Rajouter à l’AFD un nouvel état P non final (« P est appelé état poubelle ou
état erreur »)
- Rajouter les transitions d’étiquettes manquantes en les dirigeant toutes vers
cet état poubelle P ; ne pas oublier les transitions de P vers lui-même .
Exemple

a,b,c

64 AFD non complet AFD complet


Expression régulière et automates finis
 Exemple: rendre cet automates Complet

65
Expression régulière et automates finis
 Automates finis
Théorème de Rabin et Scott
Tout langage accepté par un AFN est également accepté
par un AFD.

Proposition
Tout AFN (avec ou sans ε-transition) peut être
transformé en un AFD.

66
Expression régulière et automates finis
 Automates finis
Transformation d’un AFN sans ε-transition en AFD
1- A partir de l’état initial E(0)={q0} (c’est l’état initial du nouvel automate);
2- Construire E(1) l’ensemble des états obtenus à partir de E(0) par la transition x:
E(1)=Uq’E(0)δ(q’,x)
3-Recommencer l’étape 2 pour toutes les transitions possibles et pour chaque nouvel
ensemble E(k);
E(k)= Uq’E(k-1)δ(q’,x)
4- Tous les ensembles contenant au moins un état final du premier automate
deviennent finaux;
5- Renuméroter les états en tant qu’états simples.

67
Expression régulière et automates finis
Exercice
Transformer en AFD l’automates suivant :

68

Vous aimerez peut-être aussi