ATLAS Ouvrir dans l'atlas →

ExerciceMaths Sup – MPSI, chapitre 21 — Dénombrement et probabilités · Dénombrement

Exercice 16

AlgorithmiqueDémonstrationCalcul

Pour nn, k∈ℕk \in \mathbb{N}, on note T(n,k)T(n, k) le nombre de partitions de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket en kk parties non vides, avec les conventions T(0,0)=1T(0, 0) = 1 et T(n,0)=T(0,k)=0T(n, 0) = T(0, k) = 0 pour nn, k⩾1k \geqslant 1. On note BnB_{n} le nombre de partitions de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket, avec B0=1B_{0} = 1 : c'est le nn-ième nombre de Bell.

1. Que vaut T(n,k)T(n, k) pour k>nk > n ? Calculer T(n,1)T(n, 1) et T(n,n)T(n, n) pour n⩾1n \geqslant 1.

2. Montrer que T(n,k)=T(n−1,k−1)+k T(n−1,k)T(n, k) = T(n - 1, k - 1) + k\,T(n - 1, k) pour tous nn, k⩾1k \geqslant 1, en distinguant les partitions selon que {n}\{n\} en est une partie ou non. Écrire une fonction Python récursive qui calcule T(n,k)T(n, k).

3. Montrer que le nombre S(n,k)S(n, k) de surjections de l'exercice 15 vaut k! T(n,k)k!\,T(n, k) pour nn, k⩾1k \geqslant 1.

4. Calculer B1B_{1}, B2B_{2}, B3B_{3}, puis montrer que Bn+1=∑k=0n(nk)BkB_{n+1} = \displaystyle\sum_{k=0}^{n} \binom{n}{k}B_{k} pour tout n∈ℕn \in \mathbb{N}, en considérant la partie qui contient n+1n + 1. En déduire B4B_{4} et B5B_{5}, et comparer avec l'exercice 28 de la feuille du chapitre 2.

Corrigé

1. Les kk parties d'une partition de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket en parties non vides sont deux à deux disjointes et ont chacune au moins un élément, donc k⩽nk \leqslant n par la proposition 2 (i). La seule partition en une partie est {⟦1 ,n⟧}\{\llbracket 1\,,n \rrbracket\}, et la seule partition en nn parties est celle en singletons. T(n,k)=0 pour k>n,T(n,1)=T(n,n)=1 pour n⩾1\boxed{T(n, k) = 0 \text{ pour } k > n, \qquad T(n, 1) = T(n, n) = 1 \text{ pour } n \geqslant 1}

2. Soit n,k⩾1n, k \geqslant 1. On sépare les partitions de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket en kk parties selon que {n}\{n\} en est une partie ou non.

• Si {n}\{n\} est une partie, les k−1k - 1 autres forment une partition de ⟦1 ,n−1⟧\llbracket 1\,,n - 1 \rrbracket, et réciproquement toute partition de ⟦1 ,n−1⟧\llbracket 1\,,n - 1 \rrbracket en k−1k - 1 parties, complétée par {n}\{n\}, convient. Il y a T(n−1,k−1)T(n - 1, k - 1) telles partitions ; pour n=1n = 1, la partition {{1}}\{\{1\}\} correspond à la partition vide de ∅\varnothing, ce que traduit la convention T(0,0)=1T(0, 0) = 1.

• Sinon, nn appartient à une partie PP qui a d'autres éléments. En retirant nn de PP, on obtient une partition de ⟦1 ,n−1⟧\llbracket 1\,,n - 1 \rrbracket en kk parties non vides. Réciproquement, une partition de ⟦1 ,n−1⟧\llbracket 1\,,n - 1 \rrbracket en kk parties est obtenue de cette façon à partir de exactement kk partitions, selon la partie à laquelle on ajoute nn. Le lemme des bergers donne k T(n−1,k)k\,T(n - 1, k) partitions.

T(n,k)=T(n−1,k−1)+k T(n−1,k)pour n,k⩾1\boxed{T(n, k) = T(n - 1, k - 1) + k\,T(n - 1, k) \quad \text{pour } n, k \geqslant 1} Les conventions rendent la formule valable au bord. Pour n=k=1n = k = 1, par exemple, le second membre vaut T(0,0)+T(0,1)=1T(0, 0) + T(0, 1) = 1, qui est bien T(1,1)T(1, 1) ✓.

def T(n, k):
    if n == 0 and k == 0:
        return 1
    if n == 0 or k == 0:
        return 0
    return T(n - 1, k - 1) + k * T(n - 1, k)

print([T(4, k) for k in range(5)])   # affiche [0, 1, 7, 6, 1]

Chaque appel non terminal diminue nn de 11, et les appels avec n=0n = 0 s'arrêtent : la fonction se termine, comme à l'exercice 15.

3. À une surjection ff de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket sur ⟦1 ,k⟧\llbracket 1\,,k \rrbracket, on associe la partition π(f)\pi(f) de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket formée de ses kk fibres f−1({y})f^{-1}(\{y\}), non vides puisque ff est surjective. Fixons une partition {P1,…,Pk}\{P_{1}, \dots, P_{k}\} en kk parties : les surjections ff telles que π(f)\pi(f) soit cette partition sont constantes sur chaque PiP_{i}, et la valeur prise sur les parties définit une bijection de {P1,…,Pk}\{P_{1}, \dots, P_{k}\} sur ⟦1 ,k⟧\llbracket 1\,,k \rrbracket ; réciproquement, chaque bijection fournit une telle surjection. Chaque fibre de π\pi a donc k!k! éléments, et le lemme des bergers donne S(n,k)=k! T(n,k)pour n,k⩾1\boxed{S(n, k) = k!\,T(n, k) \quad \text{pour } n, k \geqslant 1} Choisir une surjection, c'est choisir un partage en kk paquets, puis étiqueter les paquets. On en déduit T(n,2)=2n−22=2n−1−1T(n, 2) = \frac{2^{n} - 2}{2} = 2^{n-1} - 1, et T(n+1,n)=(n+12)T(n + 1, n) = \binom{n + 1}{2} par l'exercice 15.

4. On a B1=1B_{1} = 1, puis B2=2B_{2} = 2, avec les partitions {{1,2}}\{\{1, 2\}\} et {{1},{2}}\{\{1\}, \{2\}\}, et B3=5B_{3} = 5, avec {{1,2,3}}\{\{1, 2, 3\}\}, les trois partitions {{i,j},{k}}\{\{i, j\}, \{k\}\} et la partition en singletons.

Soit n∈ℕn \in \mathbb{N}, et 𝒫\mathcal{P} une partition de ⟦1 ,n+1⟧\llbracket 1\,,n + 1 \rrbracket. Notons PP la partie qui contient n+1n + 1, et Q=P∖{n+1}Q = P \setminus \{n + 1\}, partie de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket. Les autres parties de 𝒫\mathcal{P} forment une partition de ⟦1 ,n⟧∖Q\llbracket 1\,,n \rrbracket \setminus Q. Réciproquement, une partie QQ de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket et une partition de ⟦1 ,n⟧∖Q\llbracket 1\,,n \rrbracket \setminus Q déterminent une unique partition de ⟦1 ,n+1⟧\llbracket 1\,,n + 1 \rrbracket, dont Q∪{n+1}Q \cup \{n + 1\} est la partie contenant n+1n + 1. Si ⟦1 ,n⟧∖Q\llbracket 1\,,n \rrbracket \setminus Q a kk éléments, il y a BkB_{k} partitions de cet ensemble, avec B0=1B_{0} = 1 pour Q=⟦1 ,n⟧Q = \llbracket 1\,,n \rrbracket ; et il y a (nk)\binom{n}{k} parties QQ dont le complémentaire a kk éléments (proposition 4). En regroupant selon kk : Bn+1=∑k=0n(nk)Bk\boxed{B_{n+1} = \sum_{k=0}^{n} \binom{n}{k}B_{k}}

B4=1+3×1+3×2+1×5=15,B5=1+4×1+6×2+4×5+1×15=52.B_{4} = 1 + 3 \times 1 + 3 \times 2 + 1 \times 5 = 15, \qquad B_{5} = 1 + 4 \times 1 + 6 \times 2 + 4 \times 5 + 1 \times 15 = 52.

B1=1,B2=2,B3=5,B4=15,B5=52\boxed{B_{1} = 1, \quad B_{2} = 2, \quad B_{3} = 5, \quad B_{4} = 15, \quad B_{5} = 52} L'exercice 28 de la feuille du chapitre 2 a dénombré les partitions de {1,2,3,4}\{1, 2, 3, 4\}, qui sont 1515, et en a déduit le nombre de relations d'équivalence sur un ensemble à quatre éléments : le chapitre 2 (proposition 8 et théorème 4) a établi une bijection entre relations d'équivalence et partitions. Le nombre BnB_{n} est donc aussi le nombre de relations d'équivalence sur un ensemble à nn éléments. On a encore Bn=∑k=0nT(n,k)B_{n} = \sum_{k=0}^{n} T(n, k), en regroupant les partitions selon leur nombre de parties : par exemple B4=1+7+6+1B_{4} = 1 + 7 + 6 + 1.

À retenir. Le corrigé de l'exercice 3 de la feuille du chapitre 20 avait trouvé les coefficients 11, 11, 22, 55, 1515 de e\mathrm{e} dans ∑n=0+∞nkn!\sum_{n=0}^{+\infty} \frac{n^{k}}{n!}, pour k=0k = 0, …, 44, et annonçait qu'ils comptent les partitions d'un ensemble à kk éléments : on reconnaît B0B_{0}, …, B4B_{4}. Le calcul de sympy confirme ∑n=0+∞nkn!=Bk e\sum_{n=0}^{+\infty} \frac{n^{k}}{n!} = B_{k}\,\mathrm{e} jusqu'à k=5k = 5.

Dans l'édifice

Thèmes

dénombrement, coefficients binomiaux, applications et dénombrement

Notions

cardinal, coefficient binomial

Ouvrir dans l'atlas interactif →