Corrigé Mines-Ponts 2025 Informatique option MP — Partie 2 (Q10 à Q13) : Séparabilité par rapport à un langage
Sujet officiel du concours Mines-Ponts, session 2025, épreuve Informatique option MP. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
Un langage régulier , inconnu, est fixé jusqu'à la fin du sujet. On l'interroge par un oracle : requête d'appartenance (« ? ») et requête d'équivalence (« l'automate reconnaît-il ? »), qui en cas de réponse négative fournit un contre-exemple , mot sur lequel se trompe.
(* module Oracle *)
type answer = Yes | Counterexample of word
val mem : word -> bool
val equiv : automaton -> answer
type disc = word (* rôle de discriminant, mot surligné dans le sujet *)
désigne l'indicatrice d'un langage . Deux mots sont séparés par relativement à si ; est alors un discriminant. Ils sont séparables si un discriminant les sépare, inséparables sinon, ce que l'on note .
Q10. Écrire separated_by (u1:word) (u2:word) (v:disc) : bool, qui teste si sépare et relativement à .
Q11. Montrer que est une relation d'équivalence sur .
Q12. Soit un automate de langage , et tels que . Montrer que .
Q13. Citer un théorème liant langages réguliers et langages reconnus par automate ; en déduire avec Q12 que n'a qu'un nombre fini de classes.
Corrigé
Q10. Deux requêtes d'appartenance, puis on compare les deux booléens :
let separated_by (u1:word) (u2:word) (v:disc) : bool =
Oracle.mem (u1 @ v) <> Oracle.mem (u2 @ v)
C'est exactement la définition : la différence de deux booléens est le « ou exclusif » des deux cas décrits par le sujet. Coût : pour les deux concaténations (@ recopie son premier argument), plus deux requêtes. Ce que le correcteur attend : un booléen renvoyé directement, sans if … then true else false (relevé dans un tiers des copies). (Exécutée avec un oracle pour : separated_by [A] [A;A] [] vaut true car et ; separated_by [] [B] [A] vaut false, car ni ni n'est dans .)
Q11. Par définition, pour tous mots ,
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.