Mines Option Informatique MP 2026Sujet et rapport du jury
- Automates finis et langages réguliers
- Déterminisation d'un automate
- Lemme de l'étoile
- Logique du premier ordre
- Déduction naturelle
- Programmation récursive en OCaml
- Complexité temporelle
- Preuves par induction structurelle
Téléchargements
- Corrigé : pas encore disponible
Présentation du sujet
Automates sur des vecteurs binaires et décision de l'arithmétique de PresburgerAfficher ou masquer la section
Présentation du sujet
Le sujet étudie des automates dont l'alphabet est formé des vecteurs colonnes binaires de taille n, qui lisent simultanément plusieurs entiers écrits en binaire. Après des fonctions OCaml préliminaires, il traite la déterminisation, le complémentaire et l'intersection, la reconnaissance de l'addition et de la multiplication, puis les formules de Presburger et la déduction naturelle, avant de construire un automate qui décide si une formule est vraie. Il comporte 30 questions en cinq sections.
- 1Section 1 : implémentation de quelques fonctions utilesOn écrit une exponentiation récursive en O(log n), on exhibe une bijection entre ⟦0, 2^n - 1⟧ et Σn et on l'implémente.
- 2Section 2 : automates finis sur ΣnOn prouve le langage reconnu par des automates donnés, on teste le caractère déterministe complet, puis on implémente la déterminisation, le complémentaire et la construction produit pour l'intersection.
- 3Section 3 : opérations arithmétiquesOn construit et on prouve un automate à deux états reconnaissant l'addition, puis on étudie la reconnaissabilité du langage associé à la multiplication.
- 4Section 4 : arithmétique de PresburgerOn écrit des formules de Presburger, on montre que toute formule se met sous forme simple et on construit des preuves en déduction naturelle, y compris avec des règles sur l'égalité.
- 5Section 5 : retour sur les automatesOn traite les zéros non significatifs et la projection sur une composante, puis on construit par induction un automate associé à une formule, on prouve sa correction et on en déduit un test de vérité.
Ce qu'a observé le jury
6 erreurs relevéesExponentiation rapide ignorée · Double inclusion incomplète · Construction formelle bâcléeAfficher ou masquer la section
Ce qu'a observé le jury
6 erreurs relevéesLes programmes sont en général bien indentés et le codage montre une certaine efficacité, mais beaucoup de copies restent mal présentées, voire illisibles. Le jury relève un refus du formalisme qui produit des argumentations longues et confuses, ainsi qu'une méconnaissance de notions classiques : déterminisation, exponentiation rapide, écriture binaire d'un entier. Les dernières questions ont été peu abordées.
Les erreurs les plus sanctionnées
- 1Exponentiation rapide ignoréeQ1, Q2
La fonction récursive en O(log n) était attendue. Des complexités logarithmiques ont été annoncées pour des codes clairement linéaires.
« L’algorithme de calcul rapide des puissances semble trop souvent ignoré. »
- 2Double inclusion incomplèteQ5
Pour prouver l'égalité entre le langage de l'automate et l'ensemble E, une seule inclusion est souvent traitée, et les preuves restent peu convaincantes.
« Une seule inclusion est souvent citée. »
- 3Construction formelle bâcléeQ10, Q14
La construction de l'automate déterministe et celle de l'automate produit ont donné des réponses approximatives, lourdes ou incohérentes avec la nature des objets.
« Question de cours. Le refus du formalisme est ici manifeste. »
- 4Complémentaire sans déterminisationQ13
Pour reconnaître le complémentaire, il faut d'abord déterminiser l'automate avant d'échanger états finaux et non finaux.
« Beaucoup de candidats oublient de déterminiser l’automate. »
- 5Lemme de l'étoile mal énoncéQ17
La non-reconnaissabilité du langage de la multiplication a été peu traitée, et le lemme invoqué est rarement énoncé correctement.
« Le lemme de l’étoile est souvent cité mais rarement énoncé correctement. »
- 6Induction incomplète sur les formulesQ20
La mise sous forme simple se prouve par induction, mais un cas de base est presque toujours omis.
« le cas de l’égalité de deux termes est quasi-systématiquement oublié. »
Ce qui a été bien réussi
- Les questions 6, 7, 9 et 11 ont été bien traitées en général.
- Les questions 18, 21 et 24 ont été bien traitées en général.
- Le lien avec l'écriture binaire des entiers a été majoritairement fait à la question 3.
- Plusieurs copies utilisent des fonctions auxiliaires pour décomposer les programmes, ce que le jury apprécie.
Conseils du jury
- Connaître l'exponentiation rapide et le calcul de l'écriture binaire d'un entier par divisions euclidiennes successives.
- Savoir donner la construction formelle de l'automate des parties et l'appliquer quand un automate doit être complémenté.
- Prouver une égalité d'ensembles par double inclusion, en justifiant chaque inclusion.
- Fournir du code ou un automate lorsque la question le demande, plutôt qu'une explication.
- Choisir des noms significatifs, découper le code en fonctions auxiliaires et ajouter un bref commentaire.
- Soigner les transitions d'un automate jusqu'au bout, pas seulement les premières.
Synthèse rédigée par WikiPrépa à partir du rapport officiel du jury (à télécharger en PDF). Les citations sont extraites du rapport.
Ces sujets peuvent vous intéresser
Pas encore de corrigé pour ce sujet : voici des sujets proches corrigés.
Lecture du sujet en ligne
L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.Afficher ou masquer la section
Lecture du sujet en ligne
ÉCOLE NATIONALE DES PONTS et CHAUSSÉES, ISAE-SUPAERO, ENSTA, TÉLÉCOM PARIS, MINES PARIS - PSL, MINES SAINT-ÉTIENNE, MINES NANCY, IMT ATLANTIQUE, ENSAE PARIS, CHIMIE PARISTECH - PSL.
Durée de l'épreuve : 3 heures
L'usage de la calculatrice ou de tout dispositif électronique est interdit.
Les candidats sont priés de mentionner de façon apparente sur la première page de la copie :
Cette épreuve concerne uniquement les candidats de la filière MP.
L'énoncé de cette épreuve comporte 9 pages de texte.
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il le signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu'il est amené à prendre.
Préliminaires
Travail attendu
Introduction
Dans tout le sujet, pour tout entier
Considérons par exemple le mot
Dans ce sujet, un automate fini non déterministe à un seul état initial, qu'on s'autorise à appeler simplement automate, est défini comme un tuple
- -
Σ est un alphabet fini; - -
Q est un ensemble fini d'états; - -
q_0 est un état deQ appelé état initial; - -
F est un sous-ensemble deQ appelé ensemble des états finaux ; - -
δ est une fonction deQ × Σ dansP(Q) appelée fonction de transition.
Dans tout le sujet, on fera l'hypothèse simplificatrice qu'en OCaml, on dispose d'une mémoire infinie et que les variables peuvent stocker des valeurs aussi grandes que l'on souhaite.
1. Implémentation de quelques fonctions utiles
□ 1 - Écrire une fonction pow2 : int -> int qui prend en entrée un entier
□ 2 - Démontrer que la complexité de votre algorithme est bien en
□ 3 - Exhiber une bijection entre
- □4 - Écrire une fonction decompose : int -> int -> int array qui prend en entrée x et n tels que
x ∈ [ [0, 2^n − 1] ] et qui renvoie l'élément deΣ_n associée par la bijection précédemment définie. On vérifiera que l'entrée est valide à l'aide d'une assertion.
2. Automates finis sur
∑_n


- □5 - Démontrer que
L(A_1) = E . - □6 - Montrer que pour tout
m ∈ L(A_1), v_1(m) ≡ v_2(m)[2 × v_2(m)] . - □7 - Décrire sans justifier le langage
L(A_2) en donnant une condition nécessaire et suffisante pour qu'un motm surΣ_2 soit dans le langage qui fait intervenirv_1(m) etv_2(m) .
Pour implémenter les automates, on utilise le type automate suivant en OCaml. Un automate sur
type automate = {
k : int ;
n : int ;
finaux : bool array ;
delta : int -> int array -> int list ;
}
□ 9 - Écrire une fonction est_deterministe_complet : automate -> bool qui vérifie si un automate
□ 10 - Soit
□ 11 - Écrire une fonction union : int array -> automate -> int array -> int array qui prend en entrée les paramètres etats, a et lettre, tels que :
- a soit un automate à
k états; - etats soit un tableau d'entiers de taille
k à valeur dans{0, 1} ; - lettre soit une lettre représentée par un tableau d'entiers.
□ 12 - En déduire une fonction determinise : automate -> automate qui prend en entrée un automate et renvoie un automate déterministe complet reconnaissant le même langage.
Indication : On pourra utiliser la fonction decompose plusieurs fois.
□ 13 - Écrire une fonction complementaire : automate -> automate qui prend en entrée un automate et renvoie un automate reconnaissant son langage complémentaire.
□ 14 - Considérons deux automates
3. Opérations arithmétiques
□ 15 - Donner, dans un premier temps sans justifier, un automate à deux états reconnaissant le langage
□ 16 - Démontrer que l'automate proposé dans la question précédente reconnaît bien
4. Arithmétique de Presburger
L'ensemble des termes est défini inductivement de la façon suivante :
- -pour tout
x ∈ V, x est un terme; - -pour deux termes
t_1 ett_2, t_1 + t_2 est un terme.
- -pour
t_1 ett_2 deux termes,t_1 = t_2 est une formule; - -pour
φ une formule,¬φ est une formule; - -pour
φ_1 etφ_2 deux formulesφ_1 → φ_2, φ_1 ∧ φ_2 etφ_1 ∨ φ_2 sont des formules; - -pour
φ une formule etx une variable qui n'apparaît pas juste après un quantificateur dansφ , alors∃x.φ et∀x.φ sont des formules.
□ 18 - Donner une formule de Presburger
□ 19 - Pour tout entier
Attention,
- (i)Elle ne contient pas les opérateurs
∨ et →. - (ii)Elle ne contient pas le quantificateur
∀ .
- soit
t_2 est une variable dansV ; - soit
t_2 = x + y avecx ety deux variables deV .
□ 20 - Montrer que toute formule de Presburgerφ est équivalente à une formule sous forme simple.
□ 21 - Prouver à l'aide de la déduction naturelle le séquent suivant où
□ 22 - Donner une formule de Presburger
5. Retour sur les automates
□ 25 - Écrire une fonction automate_existe : automate -> int -> automate qui prend en entrée un automate
On note
type terme = V of int | Plus of int*int
type formule =
|Existe of int * formule
|Et of formule * formule
|Non of formule
|Egale of terme * terme
- □26 - Expliquer en langage courant le principe d'un algorithme qui prend en entrée une formule
φ sous forme simple, l'indice de la plus grande variable apparaissant dansφ , et qui renvoie un automate reconnaissantL_φ . - □27 - Faites tourner à la main votre algorithme en détaillant bien les étapes et automates intermédiaires sur la formule
φ(x_2):=¬∃x_1.¬(x_1 = x_2) pour renvoyer l'automate correspondant - □28 - Écrire une fonction automate_formule : formule -> int -> automate qui prend en entrée une formule
φ sous forme simple et l'indice de la plus grande variable apparaissant dansφ , et qui renvoie un automate reconnaissantL_φ . - □29 - Démontrer la correction de votre algorithme.
- □30 - En déduire une fonction est_vraie : formule -> int -> bool qui détermine pour une formule sous forme simple supposée sans variable libre et le plus grand indice de ses variables si elle est vraie.
A. Annexe : Règles de la déduction naturelle
Les arbres de preuves doivent être effectués à partir de l'ensemble de règles fourni ci-dessous.
- Les sujets sont la propriété du GIP CCMP. Ils sont publiés sous les termes de la licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 3.0 France.
Questions fréquentes
4 questionsSur quoi porte le sujet Mines informatique option MP 2026 ?Afficher ou masquer la section
Questions fréquentes
4 questionsSur quoi porte le sujet Mines informatique option MP 2026 ?
Le sujet porte sur des automates lisant des vecteurs binaires, sur la reconnaissance de l'addition et de la multiplication, sur l'arithmétique de Presburger et la déduction naturelle, puis sur la décision de la vérité d'une formule à l'aide d'automates. Les réponses se programment en OCaml.
Quelles erreurs le jury a-t-il relevées en Mines option informatique MP 2026 ?
Le jury cite l'exponentiation rapide ignorée, les preuves par double inclusion incomplètes, l'oubli de déterminiser avant de complémenter, un lemme de l'étoile mal énoncé et un refus général du formalisme.
Quelles questions ont été les mieux réussies en Mines option info MP 2026 ?
Selon le rapport, les questions 6, 7, 9, 11, 18, 21 et 24 ont été bien traitées en général. Les questions 22, 23 et 25 à 30 ont été peu abordées.
Faut-il connaître la déduction naturelle pour Mines informatique MP 2026 ?
Oui, la section 4 demande des arbres de preuve en déduction naturelle. L'énoncé fournit toutefois les règles en annexe, ainsi que des règles supplémentaires sur l'égalité.
Pas de description pour le moment
