Lire un automate
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 29 — Langages réguliers et automates finis
Énoncé
Soit l'automate sur d'état initial , d'unique état acceptant , et de table
- Lesquels des mots
ab,abb,aba,bbab,ba, sont reconnus ? - Décrire le langage reconnu, et en donner une expression régulière.
- On change une seule case de la table : au lieu de . Quel langage obtient-on ?
Corrigé
1. On déroule. ab : , reconnu. abb : , refusé. aba : , refusé. bbab : , reconnu. ba : , refusé. : on reste en , refusé.
2. Le langage est celui des mots se terminant par ab, soit . La lecture des états le montre : signifie « la dernière lettre lue est un a », signifie « les deux dernières lettres lues sont ab », signifie « ni l'un ni l'autre ». Chacune des six transitions se relit dans ces termes, et l'invariant est conservé.
3. On obtient les mots contenant le facteur ab. La modification rend l'état absorbant : une fois le motif vu, on n'en sort plus.
Ce que l'exercice met en scène. Une case de la table sépare « se terminer par » de « contenir ». C'est la différence entre un état qui mémorise la fin du mot lu et un état qui mémorise un événement passé. Rien dans la notation ne signale cette différence : il faut la lire dans les transitions.
Les deux automates ont été exécutés sur les mots de longueur au plus et comparés aux deux prédicats « se termine par ab » et « contient ab » : accord complet dans les deux cas.
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.