Adloun

informatique (MP2I/MPI) · Chapitre 29 · Exercice de TD

Fini, donc régulier – mais l'automate grandit

Langages réguliers et automates finis · niveau 2

Énoncé

Pour , on pose .

  • Justifier que est régulier.
  • Combien d'états compte son automate déterministe complet minimal ?
  • Qu'en conclure sur ?

Corrigé

1. est fini. Or tout langage fini est régulier : il s'écrit comme l'union finie des expressions dénotant chacun de ses mots. Ici dénote .

2. L'automate minimal compte états. On les nomme par ce que l'automate doit retenir :

  • après pour : il faut retenir — cela fait états, deux à deux distinguables puisque et se distinguent par le mot ;
  • après avec : il faut retenir le nombre de b encore attendus, soit états supplémentaires ;
  • plus un puits, pour tout ce qui a déjà échoué.

On a construit pour chaque l'automate en arbre du langage puis minimisé : on mesure états pour , soit exactement .

3. n'est pas régulier, et l'on voit ici pourquoi le lemme de l'étoile aboutit. Chaque troncature est régulière, mais son automate minimal grandit sans borne. Un automate fixé, à états, ne peut donc reconnaître que pour : il y a toujours un trop grand pour lui. Formellement, le lemme conclut sur : le facteur pompé ne contient que des a, et a plus de a que de b.

Ce qu'il faut retenir. « Régulier » n'est pas une propriété de chaque mot mais du langage entier. Toute partie finie d'un langage non régulier est régulière — cela n'apprend rien sur le langage. C'est la faute de raisonnement la plus fréquente sur ce chapitre.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre