Académique Documents
Professionnel Documents
Culture Documents
Karën Fort
karen.fort@sorbonne-universite.fr / https://members.loria.fr/KFort/
1 / 40
Quelques sources d’inspiration
par ordre d’importance décroissant
2 / 40
Sources
Automates finis
Pour finir
3 / 40
Langages et alphabets
{aab,aaa,ε,a,b,ababababababbbbbbb}, {ε,aaaaaaaa,a,bbbbbbb} et
∅ sont des langages de l’alphabet {a,b}
4 / 40
Calculer avec les langages
Nous avons vu :
I les opérations
I les lois
5 / 40
Expression régulière
Définition
Dans une expression régulière :
I n’interviennent que les opérations ∪, * et produit
I le calcul commence à partir de singletons d’une seule lettre
Les langages qui peuvent être décrits par des expressions régulières
sont des langages réguliers
6 / 40
Langages réguliers
P
L’ensemble R des langages réguliers sur un alphabet est le plus
petit ensemble de langages satisfaisant les conditions suivantes :
1. ∅ ∈ R ; ε ∈ R
P
2. {a} ∈ R pour tout a ∈
3. si A, B ∈ R, alors A ∪ B, AB et A∗ ∈ R
tous les langages finis sont réguliers (tous les mots du langage
sont énumérables)
7 / 40
Exemple :
le langage L = {ab, raca, dabra} est la valeur de l’expression
E = {a}{b} ∪ {r }{a}{c}{a} ∪ {d}{a}{b}{r }{a}
En programmation, on écrit :
E = ab|raca|dabra
8 / 40
Pour quoi faire ?
9 / 40
Cas des langages
10 / 40
Classes de langages, classes de grammaires et classes
d’automates
11 / 40
Langages réguliers, grammaires régulières, automates finis
12 / 40
Calcul des langages, valeur
13 / 40
Lois du calcul sur les langages
14 / 40
Sources
Automates finis
Définition
Exemples de langages représentables par un automate
Représentation graphique
Retour aux exemples
Pour finir
15 / 40
Automate fini (finite-state automaton)
16 / 40
Mécanisation
I le mot à traiter est lu de gauche à
a b b a a a a . . . Ruban droite (ici)
q1 I la valeur vrai ou faux est obtenue à
la fin du programme
Tête de lecture I après la lecture de chaque lettre,
l’automate est dans un certain état
ci-dessous : machine et ses états qui matérialise l’information
q3 .. emmagasinée au cours de la lecture
. des lettres précédentes
I la lecture de la prochaine lettre fait
q2 qn
passer l’automate dans un autre
état : c’est une transition
q1 q0
I si le calcul s’arrête dans un état
final (terminal), alors le résultat est
vrai
17 / 40
Automate fini sur un alphabet X
Définition
un automate fini sur un alphabet X est constitué par :
I un ensemble fini dont les éléments sont appelés états
I une fonction de transitions qui, à chaque état et à chaque
lettre de l’alphabet, associe un état
I un état initial
I un ensemble d’états terminaux (finaux)
18 / 40
Codes
I de portes : digicode
I pour obtenir une boisson dans une machine
19 / 40
Livre dont vous êtes le héros
20 / 40
Les injures du Capitaine Haddock
c Hergé
21 / 40
Automate pas à pas
État initial :
22 / 40
Automate pas à pas
1 2
23 / 40
Automate pas à pas
1 2
24 / 40
Automate pas à pas
1 2
25 / 40
Que reconnaît l’automate suivant ?
a b
b
1 2
a
26 / 40
Table de transition de l’automate
a b
b
1 2
a
a b
1 1 2
2 1 2
27 / 40
Que reconnaît l’automate suivant ?
b e
1 2 4
n a
28 / 40
Digicode : 93B97
9 3 B 9 7
1 2 3 4 5 6
29 / 40
https://xkcd.com/1619/
30 / 40
Les injures du Capitaine Haddock : un (petit) bout
Tchouk-tchouk-nougat
Tête de lard
1 2 3 6
mule
31 / 40
Les injures du Capitaine Haddock : un (petit) bout
Tchouk-tchouk-nougat
Tête de lard
1 2 3 6
Vercingétorix carnaval
Mussolini mule
Problème ?
32 / 40
Les injures du Capitaine Haddock : un (petit) bout
Tchouk-tchouk-nougat
Tête de lard
1 2 3 6
mule
Vercingétorix
Mussolini carnaval
4 5
de
Tête de lard
1 2 3 6
mule
ε
Flibustier carnaval
4 5
de
→ tout ce qui n’est pas reconnu (accepté) par l’automate n’est pas
une insulte du Capitaine Haddock
34 / 40
Sources
Automates finis
Pour finir
CQFR : Ce Qu’il Faut Retenir
TD
35 / 40
I une expression régulière a pour
valeur un langage (régulier)
I un langage régulier peut
correspondre à plusieurs expressions
régulières
I un langage régulier peut être
représenté par un automate
I expressions régulières
I langage régulier
I automate :
I définition
I représentation graphique
36 / 40
Exercice 1 : à faire, ici et maintenant
et les tester !
37 / 40
Exercice 2 : à faire, ici et maintenant
38 / 40
Exercice 3 : à faire, ici et maintenant
39 / 40
Exercice 4 : à faire, ici et maintenant
40 / 40