Adloun

Le complémentaire d'un automate incomplet

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 , dont la table est partielle :

Corrigé

1. : une suite de a, puis au moins un b. Lire un a après un b bloque l'automate, et un mot sur lequel la lecture bloque n'est pas reconnu.

2. Avec , l'automate de l'élève reconnaît — et rien d'autre, car il bloque toujours au même endroit. Or le vrai complémentaire contient , a, ba, aba, bab… Le plus court témoin est ba : il n'est pas dans , donc il doit être dans le complémentaire ; l'automate de l'élève le refuse, car il bloque sur le a.

3. Il faut compléter d'abord. On ajoute un état puits , non acceptant, absorbant, et l'on y envoie toutes les transitions manquantes :

L'automate a maintenant trois états. On échange ensuite : . Le puits, devenu acceptant, est exactement ce qui recueille les mots sur lesquels la lecture bloquait.

Le piège nommé. Un automate incomplet refuse deux sortes de mots : ceux qui finissent hors de , et ceux dont la lecture bloque. L'échange des états acceptants ne retourne que la première sorte. La règle du chapitre — « le complémentaire exige un automate déterministe et complet » — n'a pas d'autre contenu que celui-là.

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.