ATLAS Ouvrir dans l'atlas →

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

Exercice 9

AlgorithmiqueDémonstrationCalcul

Un mot de longueur nn est un élément de {a,b}n\{a, b\}^{n}, que l'on écrit sans parenthèses ni virgules : aaaabbaaaaabba est le 77-uplet (a,a,a,a,b,b,a)(a, a, a, a, b, b, a). Un facteur d'un mot est un mot formé de lettres consécutives de celui-ci : tous les mots de longueur 22 sont des facteurs de aaaabbaaaaabba, mais abaaba n'en est pas un. On note (Fn)n∈ℕ(F_{n})_{n \in \mathbb{N}} la suite de Fibonacci, définie par F0=0F_{0} = 0, F1=1F_{1} = 1 et Fn+2=Fn+1+FnF_{n+2} = F_{n+1} + F_{n}.

1. Soit unu_{n} le nombre de mots de longueur nn dont aaaa n'est pas un facteur. Calculer u1u_{1} et u2u_{2}, montrer que un+2=un+1+unu_{n+2} = u_{n+1} + u_{n} pour tout n⩾1n \geqslant 1, et en déduire unu_{n} en fonction des termes de la suite de Fibonacci.

2. Dénombrer les mots de longueur nn dont abab n'est pas un facteur, puis ceux dont aabaab n'est pas un facteur.

3. En déduire le nombre de parties de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket qui ne contiennent pas deux entiers consécutifs.

4. Un concours comporte 2020 questions, et l'on code les résultats d'un candidat par une liste de 2020 termes égaux à 11 pour une bonne réponse et à 00 sinon. Écrire une fonction Python qui calcule unu_{n}. Parmi 17 71217\,712 candidats, aucun n'a donné de bonnes réponses à deux questions consécutives. Peut-on affirmer que deux candidats ont obtenu exactement les mêmes résultats ?

Corrigé

1. Les mots de longueur 11 sont aa et bb, et ceux de longueur 22 sans facteur aaaa sont abab, baba et bbbb : u1=2u_{1} = 2 et u2=3u_{2} = 3. Soit n⩾1n \geqslant 1, et ww un mot de longueur n+2n + 2 sans facteur aaaa. On distingue selon sa dernière lettre.

• Si ww se termine par bb, alors w=w′bw = w'b, où w′w' est un mot de longueur n+1n + 1 sans facteur aaaa ; réciproquement, pour tout tel mot w′w', le mot w′bw'b n'a pas de facteur aaaa, puisqu'un tel facteur se trouverait dans w′w'. Il y a un+1u_{n+1} tels mots.

• Si ww se termine par aa, son avant-dernière lettre est bb, et w=w′′baw = w''ba, où w′′w'' est un mot de longueur nn sans facteur aaaa ; réciproquement, tout mot w′′baw''ba de ce type convient. Il y a unu_{n} tels mots.

Les deux cas sont disjoints, et la proposition 2 (i) donne un+2=un+1+un pour tout n⩾1\boxed{u_{n+2} = u_{n+1} + u_{n} \text{ pour tout } n \geqslant 1} Comme u1=2=F3u_{1} = 2 = F_{3} et u2=3=F4u_{2} = 3 = F_{4}, une récurrence double montre que un=Fn+2u_{n} = F_{n+2} pour tout n⩾1n \geqslant 1 : si un=Fn+2u_{n} = F_{n+2} et un+1=Fn+3u_{n+1} = F_{n+3}, alors un+2=Fn+3+Fn+2=Fn+4u_{n+2} = F_{n+3} + F_{n+2} = F_{n+4}. un=Fn+2 pour tout n⩾1\boxed{u_{n} = F_{n+2} \text{ pour tout } n \geqslant 1} La formule vaut aussi pour n=0n = 0, si l'on convient que le mot vide compte : u0=1=F2u_{0} = 1 = F_{2}.

2. Un mot w=w1⋯wnw = w_{1}\cdots w_{n} n'a pas de facteur abab si et seulement si aucune lettre aa n'est suivie, plus loin, d'une lettre bb. En effet, s'il existe i<ji < j tels que wi=aw_{i} = a et wj=bw_{j} = b, notons j′j' le plus petit indice j′>ij' > i tel que wj′=bw_{j'} = b : les lettres wiw_{i}, …, wj′−1w_{j'-1} sont des aa, et wj′−1wj′=abw_{j'-1}w_{j'} = ab est un facteur. Les mots sans facteur abab sont donc les mots bkan−kb^{k}a^{n-k}, formés de kk lettres bb suivies de n−kn - k lettres aa, avec k∈⟦0 ,n⟧k \in \llbracket 0\,,n \rrbracket, et ils sont deux à deux distincts. n+1 mots sans facteur ab\boxed{n + 1 \text{ mots sans facteur } ab} Pour aabaab, on sépare les mots qui n'ont pas de facteur aaaa, au nombre de un=Fn+2u_{n} = F_{n+2}, et ceux qui en ont un. Soit ww un mot sans facteur aabaab qui contient le facteur aaaa, et ii la position de la première occurrence de ce facteur. Toutes les lettres qui suivent sont des aa : sinon, la première lettre bb située après la position ii serait précédée de deux aa au moins. Le mot ww s'écrit donc ana^{n}, ou bien vbamvba^{m} avec m∈⟦2 ,n−1⟧m \in \llbracket 2\,,n - 1 \rrbracket et vv un mot de longueur n−1−mn - 1 - m sans facteur aaaa ; réciproquement, ces mots n'ont pas de facteur aabaab et contiennent aaaa. Pour n⩾2n \geqslant 2, il y en a donc, en posant j=n−1−mj = n - 1 - m et avec u0=F2=1u_{0} = F_{2} = 1, 1+∑m=2n−1un−1−m=1+∑j=0n−3Fj+2=1+(Fn+1−2)=Fn+1−1,1 + \sum_{m=2}^{n-1} u_{n-1-m} = 1 + \sum_{j=0}^{n-3} F_{j+2} = 1 + \big(F_{n+1} - 2\big) = F_{n+1} - 1, puisque ∑i=0NFi=FN+2−1\sum_{i=0}^{N} F_{i} = F_{N+2} - 1 : les égalités Fi=Fi+2−Fi+1F_{i} = F_{i+2} - F_{i+1} donnent une somme télescopique (chapitre 3, proposition 3), égale à FN+2−F1F_{N+2} - F_{1}. Au total, Fn+2+Fn+1−1=Fn+3−1F_{n+2} + F_{n+1} - 1 = F_{n+3} - 1, valeur qui reste juste pour n=1n = 1, où les deux mots conviennent. Fn+3−1 mots sans facteur aab\boxed{F_{n+3} - 1 \text{ mots sans facteur } aab} Les trois formules ont été vérifiées par énumération pour n⩽14n \leqslant 14. Pour n=4n = 4, on trouve 88, 55 et 1212 mots.

3. À une partie AA de ⟦1 ,n⟧\llbracket 1\,,n \rrbracket, on associe le mot w1⋯wnw_{1}\cdots w_{n} défini par wi=aw_{i} = a si i∈Ai \in A et wi=bw_{i} = b sinon : c'est l'indicatrice de AA, écrite avec les lettres aa et bb, et cette application est une bijection de 𝒫(⟦1 ,n⟧)\mathcal{P}\big(\llbracket 1\,,n \rrbracket\big) sur {a,b}n\{a, b\}^{n} (démonstration de la proposition 3). La partie AA contient deux entiers consécutifs ii et i+1i + 1 si et seulement si wiwi+1=aaw_{i}w_{i+1} = aa. La bijection envoie donc les parties cherchées sur les mots sans facteur aaaa. Fn+2 parties de ⟦1 ,n⟧ sans deux entiers conseˊcutifs\boxed{F_{n+2} \text{ parties de } \llbracket 1\,,n \rrbracket \text{ sans deux entiers consécutifs}}

4. La fonction suivante calcule unu_{n} par la récurrence de la question 1, à partir de u0=1u_{0} = 1 et u1=2u_{1} = 2.

def u(n):
    a, b = 1, 2           # a = u_k, b = u_(k+1), pour k = 0
    for _ in range(n):    # on passe de k a k + 1
        a, b = b, a + b
    return a

print(u(20))              # affiche 17711

Les résultats d'un candidat forment un mot de longueur 2020 sur l'alphabet {0,1}\{0, 1\}, et la condition « jamais deux bonnes réponses consécutives » signifie que 1111 n'en est pas un facteur : il y a u20=F22=17 711u_{20} = F_{22} = 17\,711 listes de résultats possibles. Si les 17 71217\,712 candidats avaient des résultats deux à deux distincts, l'application qui associe à chaque candidat sa liste serait une injection d'un ensemble à 17 71217\,712 éléments dans un ensemble à 17 71117\,711 éléments, ce qu'interdit le principe des tiroirs (chapitre 2, théorème 2). Oui : deux candidats au moins ont exactement les meˆmes reˊsultats\boxed{\text{Oui : deux candidats au moins ont exactement les mêmes résultats}} À retenir. Les mots sans facteur aaaa reviennent sous de nombreux déguisements : parties sans entiers consécutifs, pavages d'une bande par des dominos et des carrés, montées d'un escalier une ou deux marches à la fois. Chaque fois, la décomposition selon la fin de l'objet donne la récurrence de Fibonacci. C'est cette décomposition, et non la formule, qu'il faut retenir.

Ouvrir dans l'atlas interactif →