informatique (MP2I/MPI) · Chapitre 14 · Application directe du cours
Trois seuils, et ce qu'une machine mille fois plus rapide y change
Exploration exhaustive et retour sur trace · niveau 2
Énoncé
Le tableau de la première section donne trois ordres de grandeur. Pour chacun, quel est le plus grand traitable en une seconde à opérations par seconde ? Et sur une machine mille fois plus rapide ?
Corrigé
On cherche le plus grand tel que la quantité reste sous le budget. Les valeurs ci-dessous ont été calculées, pas estimées.
| On énumère | Nombre | max en 1 s | max, machine |
|---|---|---|---|
| les sous-ensembles | 29 | 39 | |
| les permutations | 12 | 14 | |
| les mots sur | 18 | 25 |
Les bornes exactes : et ; et ; et .
Ce que ce calcul enseigne, et c'est le point de tout le chapitre. Multiplier la puissance de la machine par mille fait gagner sur les sous-ensembles, sur les mots ternaires, et sur les permutations. Autrement dit : mille fois plus de calcul ajoute deux objets à un problème de permutations.
C'est un fait général et il se lit sur la formule : si le budget est multiplié par , le seuil de augmente de et celui de de — donc logarithmiquement. Pour , la croissance est encore plus rapide que toute exponentielle, et le gain est plus faible encore.
Un algorithme exponentiel ne devient jamais praticable par l'attente. C'est un raisonnement, et non une mesure, qui le fait tomber : c'est l'objet des chapitres chap:diviser, chap:gloutons et chap:dynamique.