L-notatie - L-notation
L - notatie is een asymptotische notatie analoog aan big-O-notatie , aangeduid alseen gebonden variabele neigt naar oneindigheid . Net als big-O-notatie, wordt het meestal gebruikt om de ongeveer brengen computationele complexiteit van een bepaald algoritme .
Definitie
Hieronder wordt verstaan
waarbij c een positieve constante en is een constante .
L-notatie wordt meestal gebruikt in computationele getaltheorie , de complexiteit van algoritmen voor moeilijke drukken getaltheorie problemen, bijvoorbeeld zeven te ontbinden in priemfactoren en werkwijzen voor het oplossen van discrete logaritmen . Het voordeel van deze notatie is dat het de analyse van deze algoritmen vereenvoudigt. Het drukt de dominante term, en het zorgt voor alles kleiner.
Wanneer 0 is,
een polynoom functie van ln n ; wanneer 1 is,
een volledig exponentiële functie van ln n (en daardoor polynoom n ).
Indien tussen 0 en 1, de functie subexponential ln n (en superpolynomial ).
Voorbeelden
Veel general-purpose ontbinden in priemfactoren algoritmen subexponential tijd complexiteit . Het beste is de getallenlichamenzeef , die een verwachte looptijd van heeft
voor . De beste dergelijke algoritme vóór het nummerveld zeef was kwadratische zeef die looptijd heeft
Voor de elliptische curve discrete logaritme probleem, de snelste algemene algoritme is de baby stap giant-stap algoritme, dat een looptijd van de orde van de vierkantswortel van de groepsvolgorde heeft n . In L -notatie zou dit
Het bestaan van de AKS-test , die loopt in polynomiale tijd betekent dat de tijdscomplexiteit voor priemtesten bekend is dat hoogstens
waarin c is bewezen hoogstens 6 te zijn.
Geschiedenis
L-notatie is gedefinieerd in verschillende vormen gedurende de literatuur. Het eerste gebruik van het kwam van Carl Pomerance in zijn paper "Analyse en vergelijking van een aantal integer factoring algoritmen". Deze vorm had alleen de parameter: de in de formule was voor de algoritmes hij analyseerde. Pomerance gebruik hadden gemaakt van de brief (of kleine letters ) in deze en eerdere papieren voor formules die betrokken zijn veel logaritmes.
De bovenstaande formule waarbij twee parameters werd geïntroduceerd door Arjen Lenstra en Hendrik Lenstra in hun artikel over "algoritmen in de getaltheorie". Het werd geïntroduceerd in hun analyse van een discrete logaritme algoritme van koperslager . Dit is de meest gebruikte vorm in de literatuur van vandaag.
Het Handbook of Applied Cryptography definieert de L-notatie met een grote rond de formule in dit artikel. Dit is niet de standaard definitie. De grote zou suggereren dat de looptijd is een bovengrens. Voor het gehele getal en ontbinden discrete logaritme algoritmen die L-notatie gewoonlijk wordt gebruikt voor de looptijd is geen bovengrens, zodat deze definitie niet de voorkeur.