Notation L

La notation L est un analogue aux notations de Landau en notation asymptotique. Cette notation a été introduite par Carl Pomerance en 1982[1] pour comparer différents algorithmes de factorisation et a été généralisée à deux paramètres par Arjen Lenstra et Hendrik Lenstra. Elle est principalement utilisée en théorie algorithmique des nombres, où elle permet de donner une échelle entre les différents algorithmes exponentiels. En effet L n [ 0 , c ] = ln ( n ) c + o ( 1 ) {\displaystyle L_{n}[0,c]=\ln(n)^{c+o(1)}} représente les fonctions polynomiales de ln (n) de degré c, et L n [ 1 , c ] = n c + o ( 1 ) {\displaystyle L_{n}[1,c]=n^{c+o(1)}} les fonctions exponentielles en la taille de l’entrée (ici, la taille est prise comme étant log n {\displaystyle \log n} , ce qui est le cas pour la représentation binaire des nombres), donc L n [ 1 , c ] {\displaystyle L_{n}[1,c]} représente les fonctions polynomiales de n de degré c.

Définition

La notation L est définie comme suit pour α [ 0 , 1 ] , c R + {\displaystyle \alpha \in [0,1],c\in \mathbb {R} _{+}} : L n [ α , c ] = exp ( ( c + o ( 1 ) ) ln ( n ) α ( ln ln ( n ) ) 1 α ) . {\displaystyle L_{n}[\alpha ,c]=\exp \left((c+o(1))\ln(n)^{\alpha }(\ln \ln(n))^{1-\alpha }\right).}

On peut remarquer que contrairement à la notation grand-O, la constante est ici importante puisqu’elle se retrouve dans l’exponentielle. Ce qui fait qu’un gain sur la constante peut réduire considérablement les temps de calcul.

Par exemple :

  • L n [ 0 , c ] = e ( c + o ( 1 ) ) ln ln n = ( ln n ) c + o ( 1 ) {\displaystyle L_{n}\left[0,c\right]=e^{(c+o(1))\ln \ln n}=(\ln n)^{c+o(1)}} .
  • L n [ 1 , 1 2 ] = e ( 1 2 + o ( 1 ) ) ln n = n 1 / 2 + o ( 1 ) {\displaystyle L_{n}\left[1,{\tfrac {1}{2}}\right]=e^{({\tfrac {1}{2}}+o(1))\ln n}=n^{1/2+o(1)}} .
  • L n [ 1 2 , c ] = e ( c + o ( 1 ) ) ln ( n ) ln ( ln ( n ) ) {\displaystyle L_{n}\left[{\tfrac {1}{2}},c\right]=e^{(c+o(1)){\sqrt {\ln(n)\ln(\ln(n))}}}} .

Exemples

La complexité du crible algébrique pour la résolution de la factorisation est en notation L : L n [ 1 3 , 64 9 3 ] {\displaystyle L_{n}\left[{\tfrac {1}{3}},{\sqrt[{3}]{\tfrac {64}{9}}}\right]} .

En comparaison, le précédent meilleur algorithme pour la factorisation, le crible quadratique fonctionnait en temps L n [ 1 2 , 1 ] {\displaystyle L_{n}\left[{\tfrac {1}{2}},1\right]} .

De manière similaire, pour le problème du logarithme discret dans les sous-groupes d'ordre n d'une courbe elliptique sur un corps fini, les meilleurs algorithmes ne peuvent fonctionner en moins de L n [ 1 , 1 2 ] {\displaystyle L_{n}\left[1,{\tfrac {1}{2}}\right]} [2], il s’agit d'algorithmes exponentiels comme l'algorithme baby-step giant-step.

Notes et références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « L-notation » (voir la liste des auteurs).

Bibliographie

  • [Pomerance 1982] (en) Carl Pomerance, « Analysis and comparison of some integer factoring algorithms », Mathematisch Centrum Computational Methods in Number Theory,‎ , p. 89−139 (lire en ligne [PDF])
  • [Shoup 1997] Victor Shoup, « Lower bounds for discrete logarithms and related problems », Eurocrypt,‎ (lire en ligne [PDF])
  • icône décorative Portail de l'informatique théorique
  • icône décorative Arithmétique et théorie des nombres