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

Aller au contenu principal
Annale · 2020★★★Niveau moyenSession du 29 avril 2020· 1 739 candidats

Option Informatique Centrale-Supélec MP 2020, sujet & corrigé

Sujet en trois parties sur les systèmes de vote : vote par préférence et théorème de McGarvey, vainqueurs de Condorcet et méthode de Schulze, NP-complétude du problème Control-Alt-Add. Session 2020 perturbée par la crise sanitaire, écrits maintenus fin août, sans oraux. Moyenne 10.79, σ=4.16, médiane 10.7.

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Top piège du sujet

Mélanger syntaxe Caml et Python (every year)

Statistiques jury

Comment les candidats s'en sont sortis

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

Moyenne

10.79

Médiane

10.7

Écart-type

4.16

Q1 (25%)

7.9

Q3 (75%)

13.7

Candidats présents

1 739

sur 1 861 inscrits · 6.6% d'absents

Comparaison

Comment ce sujet se compare aux autres

Moyenne stable par rapport à 2019 (10.79 vs 10.78). Écart-type plus élevé (σ 3.58 → 4.16), notes plus dispersées. Effectif +8% (1612 → 1739 présents).

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 porte sur les systèmes de vote à effectuer lors d'une élection. Trois parties : (I) vote par préférence et théorème de McGarvey sur sa relation avec les matrices ; (II) vainqueurs de Condorcet et méthode de sélection d'un vainqueur de Schulze ; (III) problème de décision Control-Alt-Add, démonstration de sa NP-complétude. Les candidats ont bien abordé l'ensemble du problème et les meilleurs ont traité toutes les questions.

Structure de l'épreuve

  1. Partie IVote par préférence, théorème de McGarvey(Q1-Q10)Niveau attendu

    Q1 mal comprise par certains qui n'avaient pas vu qu'il fallait écrire la fonction dans le cas de l'exemple (« Premier exemple »). Coefficients diagonaux oubliés en Q4. Q7 sur les bases d'espaces vectoriels, rappelons que ℤ n'est pas un corps.

  2. Partie IIVainqueurs de Condorcet et méthode de Schulze(Q11-Q23)Difficile

    Q8 problèmes de complexité. Confusion listes/tableaux à Q11. Q13-Q15 (notion de distance entre sommets non usuelle) ont posé problème. Q22 difficile mais bien réussie quand l'indication est correctement utilisée, Floyd-Warshall récompensé.

  3. Partie IIIControl-Alt-Add, NP-complétude(Q24+)Très difficile

    Q24 : grand nombre indiquent qu'il existe 2ⁿ distributions de vérité, peu justifient la complexité O(2ⁿ) pour les générer. Test d'une distribution en O(m) (m=nombre de littéraux, pas de clauses) rarement justifié. Partie déstabilisante par sa composante mathématique forte.

Analyse globale du jury

« Sujet globalement bien compris, jury satisfait d'une majorité des candidats. Questions de programmation plutôt bien traitées, mais comme chaque année des candidats ont une maitrise superficielle de la syntaxe Caml et la mélangent avec Python. Certaines questions théoriques ont perturbé une partie des candidats par leur composante mathématique forte. La dernière partie sur la NP-complétude en a déstabilisé plus d'un. Des consignes sans ambiguïté sur les fonctions autorisées étaient présentées : certains candidats ont toutefois réécrit des fonctions déjà existantes. Malgré tout, beaucoup rendent des copies exemplaires. »

Top pièges sanctionnés

  • Mélanger syntaxe Caml et Python (every year)-2 pts

    « Comme chaque année, nous constatons des candidats qui ont une maitrise très superficielle de la syntaxe Caml, la mélangent avec celle de Python, et ne comprennent pas les différences fondamentales entre ces deux langages. »

  • Utilisation maladroite des références (! et :=)-2 pts

    « L'utilisation maladroite des références, voire leur oubli total. Nous constatons une absence régulière du !, ou l'utilisation de = au lieu de :=. Nous rappelons qu'une liste est un objet non modifiable. Ainsi, le code suivant [boucle qui fait l @ [i] sans effet] ne fait absolument rien. »

  • Confusion listes/tableaux, u.(i) sur une liste n'a aucun sens-2 pts

    « La confusion perpétuelle entre listes et tableaux, dans un sens comme dans l'autre, même en fin de deuxième année de classe préparatoire. Si u est une liste, u.(i) n'a aucun sens. De même, la commande List.make n'existe pas. »

  • Complexité de u@v vs v@u, non justifiée-1 pts

    « Les questions de complexité sont parfois mal justifiées, et en particulier, les candidats oublient que la complexité temporelle de u@v n'est pas nécessairement la même que celle de v@u. »

  • Réécrire les fonctions de librairies autorisées-1 pts

    « Cette année, des consignes sans ambiguïté étaient présentées en début de sujet sur les fonctions informatique autorisées pour la composition. Certains candidats ont toutefois réécrit des fonctions déjà existantes dans les librairies autorisées, soit par ignorance de ces fonctions, soit car ils n'avaient pas lu correctement les consignes. »

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

Contexte

L'épreuve en quelques chiffres

L'épreuve Option Informatique Centrale-Supélec MP 2020 s'est déroulée dans le contexte exceptionnel de la crise sanitaire : épreuves écrites maintenues mais décalées au mois d'août 2020, oraux et pratiques supprimés. Durée 4 heures, coefficient 10. L'admission a été prononcée sur les seuls écrits.

Sujet sur les systèmes de vote à effectuer lors d'une élection. Trois parties : (I) vote par préférence et théorème de McGarvey sur sa relation avec les matrices ; (II) vainqueurs de Condorcet et méthode de sélection d'un vainqueur de Schulze ; (III) problème de décision Control-Alt-Add, démonstration de sa NP-complétude. Le sujet évalue à la fois la maîtrise des connaissances informatiques du programme, l'écriture syntaxiquement correcte de codes (OCaml/Caml), l'analyse de leurs performances, et l'aptitude à porter un regard critique sur les propositions de codes.

La moyenne brute s'est établie à 10.79/20, écart-type 4.16. Médiane 10.7, premier quartile 7.9, troisième quartile 13.7. 1739 candidats présents sur 1861 inscrits (6,6% d'absents). 35 copies à 20/20. Coefficient 10, à égalité avec l'option S2I, qui obtient la même moyenne (10.79) par construction des barèmes.

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 2020 récompense la concision et la lisibilité. Plus la réponse est courte, plus elle est lisible et récompensée. Stratégie clé : maîtriser strictement la syntaxe Caml (différente de Python), le mélange des deux langages est une cause récurrente de pertes de points.

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

Concentre-toi sur la partie I (Q1-Q10) et le SQL/algorithmique de base de la partie II. Lis bien l'énoncé : Q1 attend la fonction dans le cas de l'exemple. Maîtrise l'usage des références (let x = ref 0 puis x := !x + 1, pas x = x + 1). Rappelle-toi que ℤ n'est pas un corps en Q7.

Si tu vises 15+ (top 10%)

Il faut traiter la partie III (NP-complétude) avec rigueur mathématique : justifier que 2ⁿ distributions sont générables en O(2ⁿ), que le test d'une distribution se fait en O(m) (m=nombre de littéraux, pas le nombre de clauses), justifier proprement la transitivité (Q22) avec Floyd-Warshall. Sur les complexités, utilise O(·) plutôt que O(½n(n−1)).

Présentation : pour la grande majorité des copies, un réel effort de présentation est constaté. Néanmoins, les copies rendues sous forme de brouillon (résultats soulignés/encadrés sans règle, ratures omniprésentes, corrections en travers) sont pénalisées. Le jury rappelle que l'usage d'un français correct est de rigueur : orthographe, grammaire, conjugaison. Les abréviations et le style télégraphique sont à proscrire.

Conseils du jury

Cinq conseils transversaux

  • Maîtriser strictement la syntaxe Caml : ne pas la mélanger avec Python ; comprendre les différences fondamentales (immutabilité des listes, références, etc.).
  • Concision et clarté : plus une réponse est courte, plus elle est récompensée. Pas de longs commentaires ligne à ligne du code.
  • Justifier les complexités : préférer O(n²p) à O(½n(n−1)p) ; comprendre que f(g x) coûte la somme, pas le produit, des complexités.
  • Utiliser les fonctions des librairies autorisées mentionnées en début de sujet, ne pas les réécrire (perte de temps + signal de mauvaise lecture).
  • Soigner la présentation et le français : pas de copies sous forme de brouillon, pas de style télégraphique, orthographe et grammaire respectées.

Ressources

Téléchargements

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

FAQ

Questions fréquentes — 2020

Partager

Préparation Centrale-Supélec · Info MP

Bossez ce sujet 2020 avec un ancien taupin

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