informatique (MP2I/MPI) · Chapitre 29 · Application directe du cours
Le produit d'automates
Langages réguliers et automates finis · niveau 2
Énoncé
Soit l'automate à deux états reconnaissant les mots ayant un nombre pair de a, et celui à trois états reconnaissant les mots contenant le facteur ab. Construire un automate reconnaissant , puis un pour . Combien d'états ? Quel est le plus court mot de l'intersection ?
Corrigé
Les états du produit sont les couples , et la transition agit sur les deux composantes à la fois :
Il y a états, et la même construction sert pour les deux opérations : seule change la condition d'acceptation — les deux composantes acceptantes pour l'intersection, au moins une pour l'union.
Les plus courts mots de l'intersection sont de longueur , aab et aba : deux a pour la parité, et le facteur ab. On l'obtient par un parcours en largeur depuis l'état initial du produit — c'est le test de vacuité, et il rend au passage un témoin, ici aab.
Les tailles mesurées. Le produit a états ; l'émondage en retire un, et la minimisation n'en retire aucun de plus : états dans les deux cas. Le couple perdu est , et il n'est pas accessible : sa première composante dit « un nombre impair de a », donc au moins un a lu, tandis que la seconde dit « aucun a encore lu ». Les deux ne peuvent pas être vraies ensemble — mais le produit, qui fabrique tous les couples, ne le sait pas. Pour l'union, le minimal tombe à . Les deux automates ont été comparés aux prédicats correspondants sur les mots de longueur au plus : accord complet.
C'est le défaut ordinaire du produit : il crée des états qui ne correspondent à aucune situation possible. On émonde donc systématiquement après, et le gain est parfois considérable.
La leçon de coût. Le produit est le seul procédé du chapitre dont la taille se multiplie sans exploser : . Comparé à la déterminisation, qui peut coûter , c'est bon marché. C'est pourquoi on préfère toujours intersecter des automates déterministes plutôt que de manipuler des expressions régulières, pour lesquelles l'intersection n'a pas de notation.
Exercices semblables
- Lire un automate corrigé
- Berry-Sethi sur une expression corrigé
- Émonder corrigé
- Problème — Berry-Sethi, de l'induction au programme corrigé
- Problème — Minimiser, et décider l'équivalence corrigé