Adloun

Karatsuba : trois produits au lieu de quatre

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 15 — Diviser pour régner

Énoncé

Pour multiplier deux nombres de chiffres, on les coupe en deux moitiés : et . La méthode scolaire calcule quatre produits. Karatsuba en calcule trois. Écrire lesquels, et chiffrer le gain.

Corrigé

Le produit complet vaut . La méthode scolaire calcule les quatre produits , , , , d'où , soit par l'exercice précédent : on retrouve la multiplication apprise à l'école.

L'astuce est que le terme central s'obtient par soustraction :

Les deux produits et étant déjà nécessaires, un troisième produit suffit. D'où , et

Le gain, compté exactement — nombre de multiplications de chiffres, en déroulant les deux récurrences et :

chiffresméthode scolaireKaratsubarapport
1625681
64729
256
31,6

Le rapport vaut : il croît, mais lentement.

Ce que cet exemple enseigne. Le troisième temps — combiner — est ici plus lourd que chez la méthode scolaire : il y a des additions et deux soustractions en plus. Le gain ne vient pas de la combinaison, il vient d'avoir supprimé un appel récursif. Dans , quand les feuilles dominent, c'est qu'il faut attaquer, pas . Passer de à change l'exposant ; améliorer n'y changerait rien.

En pratique, Karatsuba ne devient rentable qu'à partir de quelques dizaines de chiffres — en dessous, les additions supplémentaires coûtent plus que le produit économisé. Toutes les bibliothèques de grands entiers basculent donc de l'une à l'autre à un seuil, mesuré une fois pour toutes sur la machine cible.

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.