La recherche en mathématique avance. Deux chercheurs, Joris Van Der Hoeven, du Laboratoire informatique de l'École polytechnique à Palaiseau, et David Harvey, de l'Université Nouvelle-Galles du Sud en Australie, ont découvert une méthode de multiplication des grands entiers plus rapide qu'aucune autre. Or, qui dit amélioration des méthodes de multiplication, dit possibilités d'avancées dans le domaine de l'informatique.
La multiplication des grands nombres entiers est devenu un sujet de recherche plébiscité depuis le développement de l'informatique, car son perfectionnement suppose l'accélération, et donc l'amélioration, de nombreux algorithmes. Depuis les années 1960, la science ne cesse de progresser dans ce domaine. Les découvertes d'aujourd'hui s'inscrivent dans cette dynamique.
La multiplication, la plus fastidieuse des opérations ?
La multiplication fait partie des opérations courantes. Apprise dès l'école primaire, elle est utile dans la vie de tous les jours. Pour autant, qui pose encore ses multiplications ? Ces deux chercheurs ont remis en évidence la complexité et surtout la lenteur du processus, qui demande à effectuer plusieurs multiplications puis plusieurs additions avant d'arriver au résultat final. De fait, plus les nombres à calculer sont importants, plus l'opération est complexe et donc... plus elle est lente.Cela peut s'avérer problématique pour la vivacité de nos ordinateurs, comme nous l'explique Joris van der Hoeven : « Pour deux nombres d'un milliard de chiffres chacun, il faut un milliard fois un milliard de multiplications, soit un milliard de milliards (ou 1018) d'étapes. Donc si on suppose qu'il faut une seconde pour faire un milliard d'opérations, comme c'est le cas pour un ordinateur moyen actuel, cela requiert au final un milliard de secondes, soit... près de 32 années ! »
Un nouvel algorithme
Les deux scientifiques ont réussi à créer un algorithme qui réduit pour la première fois le nombre d'opérations à Cx(nx(log n). Dans cette formule, C est un nombre constant, qui est uniquement dépendant de la vitesse de l'ordinateur sur lequel le calcul est effectué. Le logarithme log permet quant à lui de transformer la multiplication en addition, c'est-à-dire qu'au lieu de multiplier 10 000 on va ajouter 5 (pour faire simple, cela revient ici à compter les zéros). Ce système devrait donc accélérer et optimiser les calculs des grands entiers. Le chercheur de l'École polytechnique souligne que, dans certains cas, l'algorithme, en diminuant le temps calcul des ordinateurs, pourrait s'avérer très utile : « Par exemple en recherche en mathématique, pour calculer les innombrables décimales du nombre Pi ((3,14159...), une constante impliquée dans de nombreuses formules de maths, d'ingénierie et de physique ».Joris Van Der Hoeven indique que « des variantes de l'algorithme pourraient aussi être implantées dans des logiciels utilisant l'algorithme dit de la “transformation de Fourier rapide” (ou FFT), utilisé couramment pour traiter et interpréter des signaux numérisés dans divers domaines : simulation informatique, mécanique des fluides, traitement d'images, etc ». En effet, nombre d'algorithmes actuels se basent sur cet outil mathématique capital qu'est la transformation de Fourier rapide (ou FFT pour Fast Fourier Transform), qui « associe à une fonction dont la variable est le temps (ou la position spatiale) une fonction dépendant d'une fréquence (ou d'une quantité dite conjuguée de la position) »
Ces théories doivent encore être vérifiées et validées par un comité d'experts, comme le signale Fredrik Johansson, chercheur à l'Institut de mathématiques de Bordeaux, mais si elles le sont, cela « constituerait une avancée majeure pour la recherche fondamentale, dans le domaine de la théorie de la complexité informatique ». Et, demain, qui sait, ces progrès scientifiques pourraient peut être trouver leur place dans nos ordinateurs...
Source : CNRS