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

Annale · 2024Session du 22 avril 2024

Info X-ENS PSI 2024 (Info-B) — reconstruction d'image

Sujet Informatique X-ENS PSI 2024 (sigle Info-B) — composition Python 2h sur la reconstruction d'une petite image à partir de contraintes sur le placement de pixels par ligne et par colonne. Quatre parties. Top pièges Python (mutabilité, complexité) et analyse Hadamard.

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Session 2024 :

InfoMathsPhysiquePhysique
Aperçu rapide

Top piège du sujet : Complexité O(n²) annoncée sans définir n (Q1)

Analyse

Ce qu'a observé le jury

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

Présentation du sujet

Composition d'informatique 2h, filière PSI (sigle 'Info-B' en 2024). Sujet sur la résolution d'un système de contraintes graphiques : reconstruire une petite image à partir de contraintes sur le placement des pixels par ligne et par colonne. Quatre parties : Partie 1 routines de vérification d'une solution. Partie 2 résolution par recherche exhaustive. Partie 3 algorithmes de placement de blocs de pixels. Partie 4 résolution par programmation dynamique.

Structure de l'épreuve

  1. Partie IPartie 1 — Routines de vérification d'une solution(Q1-Q4)Niveau attendu

    Q1 beaucoup annoncent une complexité O(n²) sans définir n. Q2 maladresses du type 'if cases_lignes == cases_col: return true else: return false'. Q3 cas len(cle)==0 très rarement traité.

  2. Partie IIPartie 2 — Recherche exhaustive(Q5-Q7)Difficile

    Q5 division euclidienne n=k.nc+l : beaucoup expriment l = n−k.nc sans voir qu'il s'agit de n mod nc. Q6 candidats construisent toutes les combinaisons puis les testent, alors qu'il vaut mieux les tester à la volée.

  3. Partie IIIPartie 3 — Placement de blocs de pixels(Q8-Q9)Difficile

    Q8 très peu de tests de bord. Q9 fonction conflit utilisée alors que l'énoncé l'interdisait.

  4. Partie IVPartie 4 — Programmation dynamique(Q10-Q14)Très difficile

    Q10 cas c-s-1<0 très peu traité, beaucoup recopient les indications. La plupart n'ont pas dépassé cette question. Q11-Q12 très peu et très mal traitées. Q13 question bien traitée. Q14 très rarement traitée.

Analyse globale du jury

« Le sujet portait sur la résolution d'un système de contraintes graphiques. Il s'agissait de reconstruire une petite image à partir de contraintes sur le placement des pixels par ligne et par colonne. Globalement, le niveau est meilleur que l'année précédente mais reste très lacunaire. Beaucoup de candidats maîtrisent mal l'algorithmique et le langage python. En particulier, la notion de donnée mutable n'est presque jamais comprise, ce qui est inquiétant. »

Top pièges sanctionnés

  • Complexité O(n²) annoncée sans définir n (Q1)-1 pts

    « Beaucoup de copies annoncent une complexité en O(n²) sans définir n. Ce n'est pas parce que deux boucles sont imbriquées que la complexité est quadratique ! »

  • Boucle for avec modification de i (mauvaise pratique)-2 pts

    « Plusieurs copies montraient une incompréhension inquiétante des boucles for. Dans plusieurs copies, des candidats ont voulu modifier la valeur de i à l'intérieur d'une boucle for i in range.... C'est une pratique fortement déconseillée, dangereuse dans la pratique et en dehors de toute règle de bonnes pratiques. »

  • Construire toutes les combinaisons puis tester (Q6)-3 pts

    « Certains tentent de construire toutes les combinaisons et ensuite de les tester alors qu'il vaut mieux les tester à la volée pour limiter l'empreinte mémoire. Beaucoup de récursions fausses. Oubli qu'une liste est mutable, qu'elle est donc passée par adresse et qu'il faut donc en stocker une copie. »

  • Recopie d'indications de l'énoncé sans calcul (Q10)-2 pts

    « Le cas c-s-1<0 a été très peu traité, beaucoup de candidats se contentent de recopier les indications de l'énoncé. La plupart des candidats n'ont pas dépassé cette question. »

Chapitres clés à maîtriser

Algorithmique : récursion, recherche exhaustive
Programmation dynamique
Python : données mutables, listes en paramètres
Complexité algorithmique : analyse de boucles imbriquées
Division euclidienne, modulo

Source : Rapport du jury X-ENS · Info PSI, session 2024 · PDF officiel ↗

Ressources

Téléchargements

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

FAQ

Questions fréquentes — 2024

Partager

Préparation X-ENS · Info PSI

Bossez ce sujet 2024 avec un ancien taupin

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