Adloun

informatique (MP2I/MPI) · Chapitre 29 · Application directe du cours

Lire un automate

Langages réguliers et automates finis · niveau 2

É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.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre