Adloun

Deux expressions, un même langage ?

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 29 — Langages réguliers et automates finis

Énoncé

Décider, pour chacun de ces trois couples, si les deux expressions dénotent le même langage. Donner un mot témoin quand ce n'est pas le cas, et dire quel algorithme tranche en général.

Corrigé

Premier couple : même langage. dénote toutes les concaténations de blocs de la forme ; comme un tel bloc peut être réduit à une seule lettre, on obtient tous les mots.

Deuxième couple : même langage. Les deux dénotent les mots alternés commençant et finissant par a : , , , … Elles ne se ressemblent pas, et c'est le point : groupe par la gauche, par la droite, et le langage est le même. Deux écritures, un ensemble — la distinction syntaxe / sémantique du chapitre.

Troisième couple : différents. Le plus court témoin est ab, qui est dans et dans aucune des deux branches de .

L'algorithme général. On ne compare pas des expressions, on compare des automates :

Le parcours ne rend pas seulement « oui » ou « non » : il rend le plus court mot de la différence, donc un témoin. C'est ainsi que les témoins ci-dessus ont été obtenus, et confirmés par un calcul indépendant par dérivées sur tous les mots de longueur au plus .

Ce que ce test montre en creux. L'équivalence de deux expressions régulières est décidable — au sens du chapitre chap:decidabilite. Peu de problèmes de ce genre le sont : l'équivalence de deux grammaires non contextuelles, elle, ne l'est pas.

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.