Accueil🇫🇷Chercher

Algorithme galactique

Un algorithme galactique est un algorithme de résolution d'un problème qui est plus rapide que tous les autres algorithmes quand le problème est suffisamment grand, mais dans le cas où « suffisamment grand » est tellement grand que l’algorithme n’est en pratique jamais utilisé. Les algorithmes galactiques ont été nommés ainsi par Richard Lipton et Ken Regan[1] parce qu'ils ne seront jamais utilisés pour aucun ensemble de données trouvé sur Terre.

Un exemple d'algorithme galactique est l'algorithme pour multiplier deux nombres[2] qui est basĂ© sur une transformĂ©e de Fourier Ă  1 729 dimensions[3] - [2]. Cela signifie qu’elle ne sera pas la plus rapide tant que les nombres n’auront pas au moins 101038 chiffres, (considĂ©rablement) plus de chiffres qu’il n’y a d’atomes dans l’univers. Donc, cet algorithme n'est jamais utilisĂ© dans la pratique.

Malgré le fait qu’ils ne seront jamais utilisés, les algorithmes galactiques peuvent néanmoins contribuer à l'informatique :

  • un algorithme, mĂŞme s’il n’est pas utilisable, peut montrer de nouvelles techniques pouvant Ă©ventuellement ĂŞtre utilisĂ©es pour crĂ©er des algorithmes plus efficaces ;
  • la puissance des ordinateurs peuvent rattraper la defaillance, de sorte qu'un algorithme auparavant peu pratique le devient ;
  • un algorithme inutilisable peut toujours dĂ©montrer que des bornes conjecturĂ©es peuvent ĂŞtre obtenues, ou alternativement, montrer que les limites conjecturĂ©es sont fausses. Comme le dit Lipton, « En soi cet argument est suffisant pour donner d'excellentes raisons de trouver de tels algorithmes. Par exemple, s'il existait demain une dĂ©couverte montrant qu'il existait un algorithme de factorisation avec une limite de temps Ă©norme mais polynomiale, cela changerait nos connaissances sur la factorisation. L’algorithme pourrait ne jamais ĂŞtre utilisĂ©, mais dĂ©terminerait certainement les recherches futures en factorisation. » De mĂŞme, un algorithme O( N2100 ) pour le problème SAT, bien qu'inutilisable en pratique, rĂ©glerait le problème P = NP, qui est le problème ouvert le plus important en informatique[4]. Un effet pratique immĂ©diat serait l'obtention par le dĂ©couvreur d'un prix d'un million de dollars par le Clay Mathematics Institute.

Exemples

Il existe plusieurs algorithmes connus ayant un comportement asymptotique, mais uniquement sur des problèmes peu pratiques :

  • Multiplication d'entiers : un algorithme mis au point en 2019 par David Harvey et Joris van der Hoeven permet d'effectuer une multiplication d'entiers avec une complexitĂ© en O(n log n) mais celui-ci n'est efficace que pour des nombres supĂ©rieurs Ă  7,13Ă—1038, ce qui est inutilisable en pratique[5].
  • multiplication matricielle. La première amĂ©lioration par rapport Ă  la multiplication par force brute, O(N3), est l'algorithme de Strassen, un algorithme rĂ©cursif qui est O(N2,807). Cet algorithme n'est pas galactique et est utilisĂ© dans la pratique. L’algorithme de Coppersmith-Winograd et ses successeurs lĂ©gèrement meilleurs, en O(N2,373), sont d’autres extensions de cette thĂ©orie, qui font appel Ă  la thĂ©orie des groupes sophistiquĂ©e. Celles-ci sont galactiques - "Nous soulignons nĂ©anmoins que de telles amĂ©liorations n'ont qu'un intĂ©rĂŞt thĂ©orique, car les Ă©normes constantes impliquĂ©es dans la complexitĂ© de la multiplication rapide de matrices rendent gĂ©nĂ©ralement ces algorithmes inutilisables." ;
  • le problème consistant Ă  dĂ©cider si un graphe G contient H en tant que mineur est NP-complet en gĂ©nĂ©ral, mais lorsque H est fixe, il peut ĂŞtre rĂ©solu en temps polynomial. Le temps d'exĂ©cution pour tester si H est mineur de G dans ce cas est O(n2)[6] oĂą n est le nombre de sommets dans G et la grande notation O masque une constante qui dĂ©pend superexponentiellement de H. La constante est supĂ©rieure Ă  (en utilisant la notation des puissances itĂ©rĂ©es de Knuth ), et oĂą h est le nombre de sommets dans H[7] ;
  • pour les cryptographes, une « collision » cryptographique est plus rapide qu'une attaque par force brute, c'est-Ă -dire qu'elle effectue un dĂ©cryptage d'essai pour chaque clĂ© possible dans l'ordre. Dans de nombreux cas, mĂŞme s’il s’agit des mĂ©thodes les plus connues, elles sont encore impossibles avec la technologie actuelle. Un exemple est la meilleure attaque connue contre AES 128 bits, qui ne nĂ©cessite que 2126 opĂ©rations[8]. Bien qu’elles soient impraticables, les attaques thĂ©oriques peuvent parfois donner un aperçu des schĂ©mas de vulnĂ©rabilitĂ© ;
  • il existe un algorithme unique appelĂ© « recherche de Hutter » qui peut rĂ©soudre tout problème bien dĂ©fini dans un temps asymptotiquement optimal, Ă  moins de rĂ©serves. Cependant, ses constantes cachĂ©es dans le temps d'exĂ©cution sont si grandes qu'il ne serait jamais pratique pour quoi que ce soit[9] - [10].

Notes et références

  1. Lipton, Richard J., and Kenneth W. Regan, People, Problems, and Proofs, Heidelberg, Springer Berlin, , 109–112 p., « David Johnson: Galactic Algorithms »
  2. (en) David Harvey et Joris Van Der Hoeven, « Integer multiplication in time O(n log n) », HAL,‎ (lire en ligne)
  3. David Harvey, « We've found a quicker way to multiply really big numbers », Phys.org,
  4. Fortnow, L., « The status of the P versus NP problem », Communications of the ACM, vol. 52, no 9,‎ , p. 78-86 (lire en ligne)
  5. Jean-Paul Delahaye, « L'efficacité trompeuse des algorithmes galactiques », Pour la Science, no 548,‎ .
  6. Kawarabayashi, K. I., Kobayashi, Y., & Reed, B., « The disjoint paths problem in quadratic time », Journal of Combinatorial Theory, Series B, vol. 102, no 2,‎ , p. 424-435
  7. Johnson, David S., « The NP-completeness column: An ongoing guide (edition 19) », Journal of Algorithms, vol. 8, no 2,‎ , p. 285–303 (DOI 10.1016/0196-6774(87)90043-5)
  8. Biaoshuai Tao et Hongjun Wu, Information Security and Privacy, vol. 9144, coll. « Lecture Notes in Computer Science », , 39–56 p. (ISBN 978-3-319-19961-0, DOI 10.1007/978-3-319-19962-7_3)
  9. Hutter, « The Fastest and Shortest Algorithm for All Well-Defined Problems », arXiv:cs/0206022,‎ (lire en ligne)
  10. (en) Gagliolo, « Universal search », Scholarpedia, vol. 2, no 11,‎ , p. 2575 (ISSN 1941-6016, DOI 10.4249/scholarpedia.2575, lire en ligne)
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.