Trois seuils, et ce qu'une machine mille fois plus rapide y change
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 14 — Exploration exhaustive et retour sur trace
É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.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.