Fini, donc régulier – mais l'automate grandit
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 29 — Langages réguliers et automates finis
É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
bencore 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.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.