Ensembles, applications, dénombrementDans le dialogue d’impression, choisissez « Enregistrer au format PDF » comme destination.
Retour

Mathématiques · C1 Outils de base · Chapitre 2 · 5 h

Ensembles, applications, dénombrement

Compter sans énumérer : injections et bijections, arrangements, combinaisons, binôme de Newton.

Dénombrer, c'est compter sans énumérer. Personne ne dressera la liste des 1000000010\,000\,000 codes possibles d'une carte à sept chiffres : on veut le nombre, pas la liste. Tout le chapitre consiste à reconnaître, derrière un énoncé en français, laquelle de quatre situations on a sous les yeux — et l'immense majorité des erreurs de bac vient de ce diagnostic, pas du calcul qui suit.

Ensembles : le vocabulaire minimal

Un ensemble est une collection d'objets distincts, sans ordre. On note xAx \in A l'appartenance, ABA \subset B l'inclusion, et card(A)\operatorname{card}(A) le cardinal de AA, c'est-à-dire son nombre d'éléments.

Trois opérations et leurs cardinaux :

OpérationNotationCardinal
RéunionABA \cup Bcard(A)+card(B)card(AB)\operatorname{card}(A) + \operatorname{card}(B) - \operatorname{card}(A \cap B)
IntersectionABA \cap B
Complémentaire dans EEAˉ\bar{A}card(E)card(A)\operatorname{card}(E) - \operatorname{card}(A)
Produit cartésienA×BA \times Bcard(A)×card(B)\operatorname{card}(A) \times \operatorname{card}(B)

La première ligne est la formule du crible. Le terme soustrait n'est pas une subtilité : les éléments communs ont été comptés deux fois, une fois dans chaque ensemble, et il faut retirer ce doublon. Additionner sans retrancher est l'erreur la plus fréquente du chapitre.

La dernière ligne mérite d'être lue comme un principe multiplicatif : quand un choix se décompose en étapes indépendantes, les nombres de possibilités se multiplient. C'est de là que sortiront toutes les formules qui suivent.

Enfin, l'ensemble des parties de EE, noté P(E)\mathcal{P}(E), a pour cardinal 2n2^n si card(E)=n\operatorname{card}(E) = n : construire une partie, c'est décider pour chaque élément s'il entre ou non — nn décisions binaires indépendantes.

Injection, surjection, bijection

Soit f:EFf : E \to F une application.

Ces trois mots ne sont pas là pour décorer : ils comptent. Si ff est injective, alors card(E)card(F)\operatorname{card}(E) \leqslant \operatorname{card}(F) ; si elle est bijective, alors card(E)=card(F)\operatorname{card}(E) = \operatorname{card}(F). C'est le principe de toute la technique du dénombrement par bijection : pour compter un ensemble difficile, on le met en bijection avec un ensemble facile, et on compte celui-là.

Quiz · 1 question

On range 10 lettres dans 9 casiers. Peut-il exister une injection de l'ensemble des lettres dans celui des casiers ?

  • Oui, si l'on range les lettres avec soin
  • Non : une injection imposerait 10 ⩽ 9
  • Non, mais uniquement parce que les casiers sont trop petits

Réponse : Une injection de E dans F impose card(E) ⩽ card(F), donc 10 ⩽ 9 : impossible. Deux lettres au moins partagent un casier. C'est le principe des tiroirs, et c'est un argument de dénombrement, pas de bon sens.

Les quatre modèles de tirage

Tout exercice de dénombrement se ramène à tirer pp objets parmi nn. Deux questions, et deux seulement, déterminent la formule.

Le tirage se fait-il avec remise ? Autrement dit, un objet peut-il apparaître plusieurs fois ? L'ordre compte-t-il ? Autrement dit, deux tirages des mêmes objets dans un ordre différent sont-ils des résultats différents ?

OrdonnéNon ordonné
Avec remisepp-listes : npn^phors programme
Sans remiseArrangements : Anp=n!(np)!A_n^p = \dfrac{n!}{(n-p)!}Combinaisons : Cnp=n!p!(np)!C_n^p = \dfrac{n!}{p!\,(n-p)!}

Les trois cases utiles se lisent l'une après l'autre, et chaque contrainte ajoutée fait chuter le compte :

Graphique

Tirer 3 objets parmi 5 — nombre de résultats possibles

  • Avec remise, ordonné : 125125
  • Sans remise, ordonné : 6060
  • Sans remise, non ordonné : 1010
125, puis 60, puis 10. Chaque contrainte ajoutée divise le compte : interdire la répétition fait passer de 5³ à 5×4×3, et ignorer un ordre divise encore par 3! = 6.

Le raisonnement derrière les formules vaut mieux que les formules elles-mêmes.

Pour une pp-liste, chaque tirage est indépendant : nn choix, pp fois de suite, donc npn^p. Un code à 44 chiffres, c'est 104=1000010^4 = 10\,000 possibilités.

Pour un arrangement, le vivier diminue d'un objet à chaque tirage : n×(n1)××(np+1)n \times (n-1) \times \cdots \times (n-p+1), ce qui s'écrit n!(np)!\dfrac{n!}{(n-p)!}. Le podium d'une course à 88 concurrents : A83=8×7×6=336A_8^3 = 8 \times 7 \times 6 = 336.

Pour une combinaison, on part de l'arrangement et on corrige : chaque poignée de pp objets a été comptée une fois par ordre possible, c'est-à-dire p!p! fois. On divise donc par p!p!. Un jury de 33 personnes parmi 88 : C83=3366=56C_8^3 = \dfrac{336}{6} = 56.

Le cas p=np = n d'un arrangement porte un nom : une permutation de nn objets, et il y en a n!n!.

Quiz · 1 question

Dans une classe de 30 élèves, on désigne un délégué et un suppléant. Puis, séparément, on désigne une équipe de 2 élèves. Quels sont les deux nombres ?

  • 870 dans les deux cas : ce sont les mêmes choix
  • 870 pour le premier, 435 pour le second
  • 435 pour le premier, 870 pour le second

Réponse : Délégué et suppléant sont deux rôles distincts : l'ordre compte, c'est un arrangement, A(30,2) = 30 × 29 = 870. Une équipe de 2 n'a pas de rôles : l'ordre ne compte pas, on divise par 2! et on obtient C(30,2) = 435. Repérer si les places tirées sont interchangeables est tout le travail.

Propriétés des combinaisons

Trois identités reviennent à chaque session, et chacune se démontre en une phrase de français plutôt qu'en une ligne de calcul.

Symétrie : Cnp=CnnpC_n^p = C_n^{\,n-p}. Choisir les pp objets que l'on garde, c'est choisir les npn-p que l'on écarte. Une seule décision, deux façons de la décrire.

Relation de Pascal : Cnp=Cn1p1+Cn1pC_n^p = C_{n-1}^{\,p-1} + C_{n-1}^{\,p}. Fixons un objet particulier. Ou bien il est dans la poignée — il reste p1p-1 objets à choisir parmi les n1n-1 autres — ou bien il n'y est pas — il faut alors choisir les pp objets parmi les n1n-1 autres. Ces deux cas sont disjoints et couvrent tout.

Cas particuliers : Cn0=Cnn=1C_n^0 = C_n^n = 1 et Cn1=nC_n^1 = n. Il y a exactement une façon de ne rien choisir, ce qui justifie la convention 0!=10! = 1.

La relation de Pascal se lit directement dans le triangle, où chaque terme est la somme des deux qui le surmontent :

nnp=0p=0p=1p=1p=2p=2p=3p=3p=4p=4
001
1111
22121
331331
4414641

Le binôme de Newton

(a+b)n=p=0nCnpapbnp(a+b)^n = \sum_{p=0}^{n} C_n^p\, a^{p} b^{\,n-p}

La formule se démontre par récurrence — c'est un exercice classique, qui utilise précisément la relation de Pascal à l'étape d'hérédité. Mais elle se comprend par le dénombrement : développer (a+b)n(a+b)^n, c'est choisir, dans chacun des nn facteurs, si l'on prend aa ou bb. Le terme apbnpa^p b^{\,n-p} apparaît autant de fois qu'il y a de façons de choisir les pp facteurs qui fournissent le aa — soit CnpC_n^p fois.

Deux conséquences immédiates, en faisant a=b=1a = b = 1 puis a=1, b=1a = -1,\ b = 1 :

p=0nCnp=2netp=0n(1)pCnp=0(n1)\sum_{p=0}^{n} C_n^p = 2^n \qquad\text{et}\qquad \sum_{p=0}^{n} (-1)^p\, C_n^p = 0 \quad (n \geqslant 1)

La première retrouve le cardinal de P(E)\mathcal{P}(E) : sommer sur toutes les tailles de parties, c'est compter toutes les parties.

Quiz · 1 question

Quel est le coefficient de a³b² dans le développement de (a + b)⁵ ?

  • 5, car l'exposant est 5
  • 10, c'est-à-dire C(5,3)
  • 6, c'est-à-dire 3!

Réponse : Il faut choisir lesquels des 5 facteurs fournissent un a : C(5,3) = 10. La symétrie donne le même résultat en comptant les facteurs qui fournissent un b, C(5,2) = 10.

Méthode : lire l'énoncé avant de calculer

Ce que dit l'énoncéCe que ça signifieFormule
« code », « numéro », « avec répétition possible »avec remise, ordonnénpn^p
« classement », « podium », « rôles distincts »sans remise, ordonnéAnpA_n^p
« équipe », « poignée », « comité », « ensemble de »sans remise, non ordonnéCnpC_n^p
« ranger tous les objets »permutationn!n!
« au moins un… »passer par le complémentairecard(E)card(Aˉ)\operatorname{card}(E) - \operatorname{card}(\bar{A})

La dernière ligne vaut un réflexe : les énoncés en « au moins un » se traitent presque toujours par le contraire, « aucun », qui est un seul cas au lieu d'une somme.

À vous

Exercice de code

Écrivez les trois comptages. La dernière ligne teste la convention 0! = 1 : vérifiez que votre code y répond 1 et non 0.

Point de départ

// Trois façons de tirer p objets parmi n, à écrire dans cet ordre.
const factorielle = (k) => (k <= 1 ? 1 : k * factorielle(k - 1));

// p-listes : avec remise, ordonné.
const pListes = (n, p) => 0;      // à corriger

// Arrangements : sans remise, ordonné — n × (n-1) × … × (n-p+1).
const arrangements = (n, p) => 0; // à corriger

// Combinaisons : sans remise, non ordonné.
const combinaisons = (n, p) => 0; // à corriger

console.log(pListes(5, 3));       // attendu : 125
console.log(arrangements(5, 3));  // attendu : 60
console.log(combinaisons(5, 3));  // attendu : 10
console.log(combinaisons(5, 2));  // attendu : 10  (symétrie)
console.log(combinaisons(10, 0)); // attendu : 1

Solution

const factorielle = (k) => (k <= 1 ? 1 : k * factorielle(k - 1));

// Chaque tirage est indépendant : n choix, p fois.
const pListes = (n, p) => n ** p;

// Le vivier diminue d'un objet à chaque tirage : c'est n! / (n-p)!,
// mais le produit se calcule directement, sans factorielle géante.
const arrangements = (n, p) => {
  let total = 1;
  for (let i = 0; i < p; i++) total *= n - i;
  return total;
};

// Chaque poignée de p objets a été comptée une fois par ordre possible,
// c'est-à-dire p! fois. On divise donc par p!.
const combinaisons = (n, p) => arrangements(n, p) / factorielle(p);

console.log(pListes(5, 3));       // 125
console.log(arrangements(5, 3));  // 60
console.log(combinaisons(5, 3));  // 10
console.log(combinaisons(5, 2));  // 10 — choisir 3 objets à garder, c'est
                                  // en choisir 2 à écarter : C(n,p) = C(n,n-p)
console.log(combinaisons(10, 0)); // 1 — il y a exactement une façon de ne
                                  // rien choisir, d'où la convention 0! = 1

À retenir

Flashcards · 5 cartes

Quelles deux questions déterminent la formule de dénombrement ?
Y a-t-il remise ? L'ordre compte-t-il ? Les réponses donnent n^p, A(n,p) ou C(n,p) — le reste est du calcul.
Pourquoi divise-t-on l'arrangement par p! pour obtenir la combinaison ?
Parce que chaque poignée de p objets a été comptée une fois par ordre possible, et il y a p! ordres.
Que vaut card(A ∪ B) ?
card(A) + card(B) − card(A ∩ B). Sans le terme soustrait, les éléments communs sont comptés deux fois.
Comment traiter un énoncé en « au moins un » ?
Par le complémentaire : total − nombre de cas « aucun ». Un seul calcul au lieu d'une somme de cas.
Que donne le binôme de Newton pour a = b = 1 ?
La somme des C(n,p) vaut 2^n, soit le nombre de parties d'un ensemble à n éléments.