Adloun

Langages réguliers et automates finis

Cours · informatique (MP2I/MPI), chapitre 29 · MP2I et MPI · le début du chapitre, la suite sur Adloun

Un automate fini : des états et des transitions, qui lit un mot lettre par lettre et l'accepte ou le rejette.

29.1 Deux façons de décrire un même ensemble de mots

Le programme introduit les expressions régulières « comme formalisme dénotationnel pour spécifier un motif », et les automates « comme un formalisme opérationnel efficace pour la recherche de motifs ». Ces deux mots portent tout le chapitre :

Expression régulièreAutomate
Ce qu'elle ditquoi : à quoi ressemble un motcomment : on le lit lettre à lettre
Naturedéclarativeopérationnelle
Ce qu'on en faiton l'écriton l'exécute

Et le théorème de Kleene dira que les deux décrivent exactement les mêmes ensembles de mots. C'est ce qui permet d'écrire un motif de façon commode et de le chercher de façon efficace.

29.2 Langages

Définition 29.1Alphabet, mot, langage

Un alphabet est un ensemble fini de lettres. Un mot est une suite finie de lettres ; le mot vide se note . L'ensemble de tous les mots est , et un langage est une partie de .

Le vocabulaire préfixe / suffixe / facteur / sous-mot est celui du chapitre chap:textes.

Définition 29.2Les trois opérations régulières

Pour deux langages et :

  • union : ;
  • concaténation : ;
  • étoile de Kleene : , les concaténations d'un nombre quelconque, éventuellement nul, de mots de .
Définition 29.3Langages réguliers, par induction

L'ensemble des langages réguliers sur est le plus petit ensemble tel que :

C'est encore un ensemble inductif au sens du chapitre chap:induction : les preuves sur les langages réguliers se font par induction sur cette construction.

Définition 29.4Expression régulière

Une expression régulière est une écriture qui dénote un langage régulier. Le programme fixe les notations : pour le langage vide, pour le langage réduit au mot vide, pour l'union, la juxtaposition pour la concaténation, l'étoile pour Kleene.

ExpressionLangage dénoté
le seul mot ab
les deux mots a et b
, a, aa, aaa, …
tous les mots se terminant par a
tous les mots commençant par a
AttentionL'expression est une écriture, le langage est un ensemble

C'est la distinction syntaxe / sémantique, pour la troisième fois du livre. et sont deux expressions différentes qui dénotent le même langage — exactement comme et sont deux formules distinctes et équivalentes.

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre