Stages de Pré-Rentrée — Inscriptions ouvertes, places très limitées ! S'inscrire

Aller au contenu principal
Annale · 2017★★★Niveau moyenSession du 29 avril 2017· 1 498 candidats

Option Info Centrale-Supélec MP 2017, sujet & corrigé

Sujet d'option informatique 2017 sur les mots synchronisants : étude théorique puis algorithmes en Caml manipulant vecteurs, listes et structures construites. Moyenne 10.21, σ=3.60, médiane 10.0.

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Top piège du sujet

Confusion Caml / Python, rigueur insuffisante

Statistiques jury

Comment les candidats s'en sont sortis

Notes brutes officielles publiées par le jury — non harmonisées.

Moyenne

10.21

Médiane

10.0

Écart-type

3.60

Q1 (25%)

7.5

Q3 (75%)

12.7

Candidats présents

1 498

sur 1 588 inscrits · 5.7% d'absents

Calculateur

Où je me situe sur ce sujet ?

Entrez votre note brute. Le percentile et la position se mettent à jour en temps réel.

Analyse

Ce qu'a observé le jury

Synthèse Hadamard du rapport officiel — citations, chiffres et conseils du jury.

Présentation du sujet

Le sujet 2017 de l'option informatique traite des mots synchronisants, utiles pour rétablir un état particulier d'une machine à partir d'une situation quelconque. Après une étude théorique, la mise en œuvre des algorithmes demandés nécessite la manipulation de vecteurs, de listes et de structures construites. Un peu de logique et quelques études de complexité complètent le sujet. Le problème est découpé en parties indépendantes, mais il faut bien lire les hypothèses.

Structure de l'épreuve

  1. Partie IÉtude théorique des automates et mots synchronisants(I.A-I.C)Niveau attendu

    Lecture du sujet souvent défaillante. Justification minimale attendue même sans demande explicite. Confusion fréquente entre Caml et Python, rigueur insuffisante dans la syntaxe Caml. Difficultés sur l'usage de référence (mutables vs constantes).

  2. Partie IIAlgorithmes classiques sur structures construites(II.A-II.B)Difficile

    Difficulté résidant dans le respect des types particuliers définis dans le texte. II.A.1 et II.A.2 difficiles : réponses incohérentes entre elles, mauvaise maîtrise des enregistrements, pile au lieu de file. Confusion liste/vecteur explicite (suggérer que vect_length est O(n)).

  3. Partie IIIJustifications partielles et complexité(III)Difficile

    Justifications trop partielles. « Pourraient faire une récurrence », annoncée comme « évidente » sans propriété ni variable. Respecter les types demandés (« vecteur de listes » pour la machine).

Analyse globale du jury

« Le sujet a été globalement compris. Les meilleurs candidats ont pu traiter le problème dans son ensemble. Les signatures des fonctions Caml étaient imposées ; elles ont été bien respectées, mais nous avons constaté de grandes difficultés sur le respect des types des structures de données ainsi que sur les filtrages. De manière générale, nous avons observé des confusions importantes entre Caml et Python et une rigueur insuffisante dans la syntaxe Caml. Beaucoup de candidats compliquent le sujet en n'utilisant pas les éléments précédemment définis, écrivent des codes sans commentaire ou multiplient inutilement le nombre de fonctions auxiliaires. Les calculs de complexité sont trop souvent mal justifiés. »

Top pièges sanctionnés

  • Confusion Caml / Python, rigueur insuffisante-2 pts

    « De manière générale, nous avons observé des confusions importantes entre Caml et Python et une rigueur insuffisante dans la syntaxe Caml. »

  • n_etats transformé en liste mais utilisé comme mutable-2 pts

    « Plus surprenant, l'entier n_etats a été transformé en liste, mais il a aussi été considéré comme mutable. Même si ce n'est pas explicitement indiqué, quand on teste si un mot est synchronisant, il semble normal de s'arrêter dès qu'on vérifie qu'il ne l'est pas ; beaucoup de candidats calculent tout, et même parfois deux fois, avant de conclure. »

  • vect_length supposé O(n) (FAUX)-1 pts

    « Confusion explicite quand les candidats suggèrent que la complexité de vect_length est O(n). »

  • Pile et file confondues, enregistrements mal maîtrisés-2 pts

    « Trop de réponses proposées incohérentes entre elles, mauvaise maitrise des enregistrements, bien que la syntaxe soit rappelée, implémentation d'une pile et non d'une file. »

  • Récurrence annoncée comme « évidente » sans rédaction-2 pts

    « Plusieurs fois dans le problème, des candidats indiquent qu'ils « pourraient faire une récurrence », annoncée comme « évidente », mais sans aucune indication de la propriété, ni même de la variable, sur laquelle pourrait porter cette récurrence. »

  • Bornes de boucles, V.(n) non défini-1 pts

    « Il convient également de faire attention aux bornes dans les boucles : si V est un vecteur de longueur n, V.(n) n'est pas défini. »

Source : Rapport du jury Centrale-Supélec · Info MP, session 2017 · PDF officiel ↗

Contexte

L'épreuve en quelques chiffres

L'épreuve Option Informatique Centrale-Supélec MP 2017 s'est déroulée fin avril 2017, en 4 heures, coefficient 10. Sujet sur les mots synchronisants, très utiles pour rétablir un état particulier d'une machine à partir d'une situation quelconque.

Après une étude théorique (automates déterministes, langages rationnels), le sujet bascule sur la mise en œuvre algorithmique en Caml : manipulation de vecteurs, de listes, de structures construites. Un peu de logique et quelques études de complexité complètent le problème. Le sujet est découpé en parties indépendantes, mais il est nécessaire de bien lire les hypothèses et d'analyser comment les données sont représentées.

La moyenne brute s'est établie à 10.21/20, écart-type 3.60. Médiane 10.0, premier quartile 7.5, troisième quartile 12.7. 1498 candidats présents sur 1588 inscrits. Distribution centrée et équilibrée : l'écart Q1–Q3 est de 5.2 points, et la moyenne est très proche de la médiane, gage d'une évaluation de qualité selon le jury.

Accompagnement personnalisé

Travaillez ce sujet avec un prof de l'équipe

Nos professeurs anciens taupins (Polytechnique, ENS, Centrale) reprennent ce sujet avec toi en cours particulier — corrigé ligne par ligne, méthode, pièges évités.

Cours 1 à 1 en visio ou présentielCorrigé détaillé du sujetMéthode de rédaction
Travailler avec un prof
RDV gratuit de 15 min

Trouvez le prof qu'il vous faut

Échangez avec notre équipe pour trouver le professeur idéal selon vos besoins.

Matching avec le bon prof
Programme sur-mesure
Premier cours d'essai

Sans engagement • Réponse sous 24h

Stratégie

Notre approche pour ce sujet

Le jury 2017 est explicite : « il faut absolument pratiquer sur machine pour acquérir les réflexes ». Stratégie clé : respect strict des types Caml, justifications minimales même non demandées, et arrêt précoce dès qu'on a la réponse (un mot non synchronisant doit faire sortir de la boucle).

Si tu vises 10-13/20 (médiane à top 25%)

Sécurise la partie I (étude théorique des automates) et les questions algorithmiques simples. Distingue clairement Caml et Python, le jury sanctionne le mélange. Respecte les signatures imposées. Justifie chaque complexité (vect_length est O(1), pas O(n)). Arrête tôt dès que la réponse est trouvée.

Si tu vises 15+ (top 10%)

Il faut traiter II.A.1 et II.A.2 proprement (file et non pile, enregistrements maîtrisés), rédiger explicitement les récurrences (propriété + variable, pas juste « par récurrence évidente »), respecter les types « vecteur de listes » dans la machine. Justifier les complexités, pas les affirmer. Soigner les indentations et utiliser les éléments précédemment définis.

Gestion des 4h : 1h sur la partie théorique (logique + automates), 2h sur les algorithmes Caml (manipuler les types proposés sans en inventer d'auxiliaires inutiles), 45 min sur les complexités et démonstrations finales, 15 min de relecture. Numéroter les questions, commenter le code, éviter les fonctions auxiliaires multiples : le jury rappelle que les copies sont lues par des humains.

Conseils du jury

Cinq conseils transversaux

  • Pratiquer sur machine. Le temps de formation en informatique est limité ; l'apprentissage simultané de deux langages dont la philosophie est différente impose une pratique régulière sur machine pour acquérir les réflexes.
  • Lisibilité du code. Les codes doivent être clairs, avec des notations courantes ou explicitées, en conservant celles du texte quand elles sont données.
  • Justifications minimales. Même quand la demande n'est pas explicite, un minimum de justification ou démonstration des réponses est attendu. Une récurrence « évidente » sans propriété ni variable n'est pas acceptable.
  • Respecter les types. Le respect strict des types donnés par le sujet est crucial : ne pas transformer une liste en vecteur ou inversement, ne pas considérer un entier comme mutable.
  • Bien lire l'énoncé. Prendre le temps de comprendre les implications des hypothèses et indications données dans le texte. Une liste de fonctions utiles est souvent fournie en annexe, l'exploiter au lieu de tout réinventer.

Ressources

Téléchargements

Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.

FAQ

Questions fréquentes — 2017

Partager

Préparation Centrale-Supélec · Info MP

Bossez ce sujet 2017 avec un ancien taupin

Nos professeurs analysent votre copie sur ce sujet, identifient vos faiblesses et structurent votre révision pour la session 2018.