cursus.

Cours 1 · Outils de baseLeçon 2 sur 4

Ensembles, applications, dénombrement

5 h de lecture8 sections Version PDF

À la fin de cette leçon, vous saurez

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.

  • ff est injective si deux éléments distincts ont des images distinctes : personne ne partage son image. Formellement, f(x)=f(y)x=yf(x) = f(y) \Rightarrow x = y.
  • ff est surjective si tout élément de FF est atteint : yF, xE, f(x)=y\forall y \in F,\ \exists x \in E,\ f(x) = y.
  • ff est bijective si elle est les deux : chaque élément de FF a exactement un antécédent.

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 · vérifiez votre compréhension Sans réponse

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

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 :

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 · vérifiez votre compréhension Sans réponse

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 ?

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 · vérifiez votre compréhension Sans réponse

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

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 · JavaScript · à vous de jouer

É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.

En attente
// 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

Console de sortie
Le résultat s'affiche dans la console

À retenir

Flashcards · 1 / 5Toucher pour retourner
Fin de la leçon

Vous avez parcouru les 8 sections.

Marquez-la terminée pour faire avancer votre parcours, ou revenez sur un point avant de passer à la suite.