Corrigé Centrale 2025 Option informatique MP — Partie II, II.1-II.3 (Q9 à Q18) : Optimums de Pareto en dimensions 1 et 2
Sujet officiel du concours Centrale, session 2025, épreuve Option informatique MP. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
Trajets proposés entre deux gares (figure 3) ; on veut minimiser les trois critères à la fois. Les optimums de Pareto sont ici (a), (c), (d) et (g).
| trajet | durée (h) | correspondances | prix (euros) |
|---|---|---|---|
| (a) | 6 | 0 | 60 |
| (b) | 5 | 1 | 50 |
| (c) | 4 | 2 | 110 |
| (d) | 5 | 1 | 40 |
| (e) | 5 | 1 | 90 |
| (f) | 5 | 2 | 100 |
| (g) | 4 | 1 | 120 |
Pour une relation d'ordre sur , on note si et . Pour , est l'ensemble des éléments minimaux. Sur (chaque totalement ordonné) : l'ordre lexicographique (comparaison à la première composante qui diffère), total, et l'ordre produit ( ssi pour tout ), partiel. Un optimum de Pareto est un élément minimal pour l'ordre produit. Après Q10, pour tout .
Q9. Montrer que (b) et (f) ne sont pas des optimums de Pareto, en donnant pour chacun un trajet strictement meilleur.
Q10. Si admet un minimum pour , montrer que ce minimum est un optimum de Pareto de .
Q11. (Dimension 1.) Écrire element_minimal : int list -> int (liste non vide).
Dimension 2 : un ensemble de couples est une liste sans doublons.
type tuple = int * int
let ex1 = [(4, 1); (5, 7); (3, 3); (1, 3); (2, 9); (1, 4); (2, 2)]
Q12. Éléments minimaux de l'ensemble ex1, sans justification.
Q13. Écrire inferieur : tuple -> tuple -> bool, qui teste .
Q14. Pour à éléments, encadrer par des bornes atteintes.
On dispose de tri_lexico : tuple list -> tuple list, tri croissant pour en , et de la fonction suivante, censée renvoyer les éléments minimaux de l'ensemble ens :
let elements_minimaux ens =
let rec w u =
match u with
| x :: y :: z ->
if inferieur x y then w (x :: z)
else x :: w (y :: z)
| v -> v
in w (tri_lexico ens)
Une trace note -> f args au début d'un appel, <- valeur à son retour, en indentant les appels imbriqués.
Q15. Trace de w lors de l'appel elements_minimaux ex1 (on peut n'écrire que le début des listes).
Q16. Terminaison de elements_minimaux.
Q17. Complexité de elements_minimaux.
Q18. Correction de elements_minimaux.
Corrigé
Q9. On compare (durée, correspondances, prix) composante par composante.
- (b) et (d) : , , et les triplets diffèrent, donc (d) (b) : (b) n'est pas un optimum de Pareto.
- (f) et (d) : , , , donc (d) (f) ; (b) convient aussi, puisque .
Q10. Soit le minimum de pour : et pour tout . Raisonnons par l'absurde et supposons pour l'ordre produit : il existe avec , c'est-à-dire pour tout et . Soit ; alors et , donc , ce qui signifie avec . Or , donc ; par antisymétrie de l'ordre lexicographique, : c'est absurde. Donc est un élément minimal de pour l'ordre produit, c'est-à-dire un optimum de Pareto sur .
Q11.
let rec element_minimal (l : int list) : int =
match l with
| [] -> failwith "element_minimal : liste vide"
| [x] -> x
| x :: r -> min x (element_minimal r)
Par récurrence sur la longueur : pour une liste à un élément, c'est lui ; sinon le minimum de x :: r est le plus petit de x et du minimum de r (non vide). Un appel par élément : . (Testée sur [3; -2; 7; -2], qui donne , et sur un singleton.)
Q12. .
Q13.
let inferieur ((a, b) : tuple) ((c, d) : tuple) : bool = a <= c && b <= d
C'est la définition de l'ordre produit en dimension ; le résultat est false exactement quand ou quand et sont incomparables.
Q14. On a .
- Majoration : .
- Minoration : est fini et non vide, donc il admet un minimum pour l'ordre lexicographique, qui est total ; d'après Q10 c'est un élément minimal pour l'ordre produit, donc .
- La borne est atteinte pour la chaîne : pour tout , donc .
- La borne est atteinte pour , formé de couples distincts : pour , la première composante de est plus petite et la seconde plus grande que celles de ; ces éléments sont deux à deux incomparables, donc tous minimaux.
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é.