Calcul de sommes classiques
Lors de calculs de complexité, on va de nombreuses fois avoir les mêmes sommes à estimer, voir à calculer.
Cette série d'exercice va vous montrer les plus classiques et leur usage dans les calculs de complexité. On aura presque jamais besoin de les calculer explicitement, seul les équivalence en $\Theta$ ou en $\mathcal{O}$ vont nous intéresser.
Séries des premiers entiers
Classiques et se démontrent aisément par récurrence (mais faite tout de même les calculs pour vous en rendre compte). Montrez que :
Et pour finir :
corrigé
corrigé
Par récurrence. On suppose $\sum_{i=0}^{n}i^{k-1} = \Theta(n^{k}) = \Omega(n^{k})$.
Puis :
- $\sum_{i=0}^{n}i^k\leq n \cdot \sum_{i=0}^{n}i^{k-1} = n \mathcal{O}(n^k) = \mathcal{O}(n^{k+1})$
- $\sum_{i=0}^{n}i^{k} \geq \sum_{i=n/2}^{n}i^k \geq \frac{n}{2}\sum_{i=n/2}^{n}i^{k-1} = \frac{n}{2}\sum_{i=0}^{n/2}(i+n/2)^{k-1} \geq \frac{n}{2} \cdot \sum_{i=0}^{n/2}(i)^{k-1} = \frac{n}{2}\Omega((n/2)^k) = \Omega(n^{k+1})$
Séries géométriques
On considère la série suivante :
Montrez que :
corrigé
corrigé
Trivial par récurrence.
En déduire que :
En complexité c'est souvent avec des puissance de 2 que l'on va jouer. Por le coup, il est utile de connaître les valeurs des sommes car elles sont souvent des calculs intermédiaires :
Montrez que :
et que :
corrigé
corrigé
La première égalité est uniquement une application numérique et la seconde résulte de $\frac{1}{2^n} \to_{+\infty} 0$.
La seconde série a une interprétation géométrique
Une variation classique de la série géométrique, vue par exemple dans le calcul du tri rapide pour $r=2$ est :
Montrez que :
Vous pourrez utiliser le polynôme $P(x) = \sum_{i=1}^nx^i$ et le dériver.
corrigé
corrigé
On a : $S'_n = rP'(r)$ et donc e n utilisant la formule de l'exercice précédent :
En déduire que :
Et pour le cas souvent intéressant en complexité :
Montrez que :
et que :
Avez vous remarqué que :
Surprenant, non ?
Série harmonique
On définie la série harmonique comme :
Montrez que $H(2^n) \geq 1 + \frac{n}{2}$
corrigé
corrigé
Et on conclut par une récurrence (devenue) triviale.
En déduire que $H(n)$ diverge lorsque $n$ tend vers $+\infty$.
corrigé
corrigé
Si $H(n)$ converge, alors toute suite extraite également. Cela n'est donc pas possible puisque l'exercice précédent montre que $H(2^n)$ diverge en $+\infty$.
Si la série harmonique arrive dans le calcul des complexités c'est que l'on cherche à montrer que cette dernière va se comporter comme une fonction logarithmique (ou plus généralement polylogarithmique).
Montrons le en utilisant le fait que comme $f(x) = \frac{1}{x}$ est une fonction décroissante sur $\mathbb{R}^+$ on peut utiliser, on a pour tout entier $i> 1$ :
Et a pour tout entier $i> 0$ :
On peut alors utiliser la comparaison série-intégrale pour en déduire que pour tout $n> 0$ :
corrigé
corrigé
L'inégalité de droite est claire en sommant de $i=2$ à $i=n$.
Pour l'inégalité de gauche, la première inégalité donne en sommant de $i=1$ à $i=n$ : $\ln(n+1) \leq H(n)$ et on conclut puisque $\ln$ est une fonction croissante.
Ce qui doit amener à :
corrigé
corrigé
L'encadrement de l'exercice précédent montre que $H(n) / \ln(n) \to_{+\infty} 1$ les deux fonctions sont donc équivalentes en $+\infty$ (ce qui est plus fort que ce qu'on demande)
Problème de Bâle et variante
La somme suivante à un nom car le calcul exact de sa limite elle a résisté pendant plusieurs années avant qu'Euler n'en vienne à bout. Son résultat est diablement surprenant :
5 preuves différentes du résultat et les détails dans voyage en Analystan
On ne va pas ici démontrer la valeur exacte de la limite (qui a plus sa place dans un cours d'analyse), juste qu'elle converge et que c'est donc un $\mathcal{O}(1)$. On va pour cela utiliser une série proche mais admirablement facile à calculer.
Montrez que :
corrigé
corrigé
Clair par récurrence :
En déduire que pour tout $n$ :
Indice
Pour $i> 1$ vous pourrez remarquer que : $\frac{1}{i(i+1)} \leq \frac{1}{i^2} \leq \frac{1}{i(i-1)}$
corrigé
corrigé
En sommant l'indice on obtient :
Et l'encadrement final vient du fait que :
En déduire que :
corrigé
corrigé
La série est croissante et bornée, elle converge.
Classiquement en analyse on aurait aussi utilisé la comparaison série-intégrale pour faire la même chose. C'est moins élégant dans ce cas là, mais cela vous servira dans bien d'autres calcul de sommes (gardez la sous le coude).