L-merkintä

L - merkintä  on asymptoottinen merkintä , joka on samanlainen kuin O - merkintä , joka onkirjoitettu äärettömyyteen pyrkiväksi . Kuten Big O , L - merkintätapaa käytetään yleensä approksimoimaantietyn algoritmin laskennallinen monimutkaisuus . Samallaedustaa jotakin algoritmin syöttötiedon parametria, suhteessa niiden kokoon: esimerkiksi syötegraafin kärkien ja reunojen lukumäärä algoritmeissa lyhimmän polun löytämiseksi siitä tai luonnollinen luku algoritmeja sen hajottamiseksi yksinkertaisiksi tekijöiksi .

määräytyy kaavan mukaan

,

missä  on positiivinen vakio ja  on vakio .

L - merkintää käytetään ensisijaisesti laskennallisessa lukuteoriassa ilmaisemaan algoritmien monimutkaisuus lukuteorian koville ongelmille , kuten seulaalgoritmeille luonnollisten lukujen laskemiseksi alkutekijöiksi ja menetelmien diskreettien logaritmien laskentaan . Tämän merkinnän etuna on yksinkertaistaa algoritmien analysointia.

Tekijä heijastaa hallitsevaa komponenttia ja tekijä viittaa kaikkeen vähemmän merkittävään. Kuitenkin, kun se on 0,

on polynomi kohdassa ln  n , kun taas kun se on 1,

on ln  n :n eksponentti (ja siten n:n polynomi ) . Jos se on jossain välillä 0 ja 1, funktio on osaeksponentiaalinen, eli se kasvaa hitaammin kuin eksponentiaalinen funktio, jonka kanta on suurempi kuin 1 (tai superpolynomi).

Esimerkkejä

Monilla algoritmeilla lukujen hajottamiseksi alkutekijöiksi on subeksponentiaalinen aikamonimutkaisuus. Paras menetelmä laskennallisten resurssien säästämisessä on yleislukukenttäseulamenetelmä , jolla on arvio:

varten .

Paras algoritmi ennen lukukenttäseulan kehittämistä oli neliöllinen seulamenetelmä , jonka monimutkaisuusarvio on:

Elliptisen käyrän diskreetin logaritmin ongelmaan nopein yleisesti soveltuva algoritmi on suurten ja pienten askelten algoritmi - Shanks-algoritmi , jonka oireeton ajoaikaestimaatti on yhtä suuri kuin ryhmän n kertaluvun neliöjuuri . L - merkinnöissä tämä kirjoitetaan:

AKS:n primaalisuustestin olemassaolo , joka suoritetaan polynomiajassa , tarkoittaa, että primaalisuustestin monimutkaisuuden tulee olla korkeintaan

ja on todistettu, että c ei saa olla suurempi kuin 6. [1]

Historia

-notaatiota on kirjallisuudessa määritelty eri tavoin. -notaatiota käytti ensimmäisenä Karl Pomerans työssään "Joidenkin kokonaislukufaktorointialgoritmien analyysi ja vertailu" [2] .

Tällä lomakkeella oli vain yksi parametri , joka oli vakio kaavassa . Pomerans käytti kirjainta (tai pientä ) tässä ja edellisessä artikkelissa kaavoille, jotka sisälsivät monia logaritmeja.

Yllä olevan kaksi parametria sisältävän kaavan esittelivät Arjen Lenstra ja Hendrik Lenstra artikkelissaan "Algoritms in Number Theory" [3] , jossa merkintää käytettiin Coppersmithin algoritmin diskreetin logaritmin analysoinnissa . Tällä hetkellä merkintä on kirjallisuudessa eniten käytetty.

Applied Cryptography Manual määrittelee L -merkinnän [4] :

Tämä ei ole vakiomääritelmä. olettaa, että algoritmin suorittavan agentin käyntiaika on rajoitettu ylhäältä. Kuitenkin kokonaislukukerroin ja diskreetti logaritmi , arvioinnissa käytetty -notaatio ei ole yläraja, joten tällainen määritelmä ei ole täysin oikea.

Muistiinpanot

  1. Hendirk W. Lenstra Jr. ja Carl Pomerance, Primaliteettitestaus Gaussin jaksoilla Arkistoitu 25. helmikuuta 2012 Wayback Machinessa , preprint, 2011.
  2. Carl Pomerance, Joidenkin kokonaislukulaskenta-algoritmien analyysi ja vertailu Arkistoitu 4. helmikuuta 2021 Wayback Machinessa , julkaisussa Mathematisch Centrum Computational Methods in Number Theory, Part 1, pp. 89-139, 1982.
  3. Arjen K. Lenstra ja Hendrik W. Lenstra, Jr, "Algoritms in Number Theory", julkaisussa Handbook of Theoretical Computer Science (osa A): Algorithms and Complexity, 1990.
  4. Alfred J. Menezes, Paul C. van Oorschot ja Scott A. Vanstone. Handbook of Applied Cryptography Arkistoitu 7. maaliskuuta 2005 Wayback Machinessa . CRC Press, 1996. ISBN 0-8493-8523-7 .