Académique Documents
Professionnel Documents
Culture Documents
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 1/31
4.1. Introduction aux langages rationnels
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 2/31
4.1. Introduction aux langages rationnels
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 3/31
4.2. Les expressions régulières
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 4/31
4.2. Les expressions régulières
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 5/31
4.2. Les expressions régulières
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 6/31
4.2. Les expressions régulières
Remarques :
- r + s se note aussi r |s.
- r .s se note aussi rs.
- ∗ a précédence sur + : a + b ∗ s’interprète comme (a + (b ∗ ))
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 7/31
4.2. Les expressions régulières
On a L(r ) = L(s)
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 8/31
4.2. Les expressions régulières
Définition
Si L(r)=L(s), on dira que r et s sont des expressions régulières
équivalentes, noté r ∼s.
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 9/31
4.2. Les expressions régulières
Propriétés :
1 (r ∗ )∗ = r ∗
2 r (r ∗ ) = (r ∗ )r = r +
3 (a∗ b ∗ )∗ = (a + b)∗
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 10/31
4.2. Les expressions régulières
Théorème
Un langage est rationnel si et seulement si il existe une expression
régulière le reconnaissant.
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 11/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 12/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 13/31
4.3. Les automates d’états finis
Un automate d’états finis est un graphe orienté fini dont les arcs
sont étiquetés.
Il est composé :
1 d’un nombre fini de configurations (les états), qui sont les
sommets du graphe
2 d’actions permettant de passer d’un état à un autre (ces
actions étiquettent les arcs du graphe)
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 14/31
4.3. Les automates d’états finis
Principe (informel) :
On part de l’état initial (q0 ) et on parcourt le graphe jusqu’à ce
qu’on décide de s’arrêter sur un état final (ici q2 ou q4 , symbolisés
par un double cerclage).
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 15/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 16/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 17/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 18/31
4.3. Les automates d’états finis
Etiquetage de l’état initial et des états finaux :
1 l’état initial est noté par une flèche
2 les états finaux ont un double cerclage
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 19/31
4.3. Les automates d’états finis
Formellement :
Définition
Un automate d’états finis est un quintuplet A = (Q, Σ, δ, q0 , F ),
où :
1 Q est un ensemble d’états (de cardinal fini)
2 Σ est un alphabet (de cardinal fini)
3 δ est une fonction de transition (qui permet de passer d’un
état à un autre)
4 q0 ∈ Q est l’état initial
5 F ⊆ Q est l’ensemble des états finaux
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 20/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 21/31
4.3. Les automates d’états finis
Question :
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 22/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 23/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 24/31
4.3. Les automates d’états finis
Définition
Lorqu’un arc d’un automate d’états finis est étiqueté par le mot
vide (souvent noté par l’absence d’un caractère), il correspond à
une -transition.
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 25/31
4.3. Les automates d’états finis
Définition
On dit qu’un automate d’états finis A = (Q, Σ, δ, q0 , F )
accepte un mot ω de Σ∗ si et seulement si
il existe (au moins) un chemin dans A allant de q0 à un état final,
étiqueté par les lettres successives de ω, entre lesquelles on a
éventuellement intercalé des occurences de .
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 26/31
4.3. Les automates d’états finis
Exemple 1 :
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 27/31
4.3. Les automates d’états finis
Exemple 2 :
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 28/31
4.3. Les automates d’états finis
a b
q0 {q1 } {q2 }
q1 {q3 } {∅}
Sur l’exemple 2 :
q2 {∅} {q2 , q4 }
q3 {q4 } {q3 }
q4 {∅} {∅}
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 29/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 30/31
4.3. Les automates d’états finis
Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 31/31