Berlekamps algoritme

Berlekamps  algoritme er en algoritme designet til at faktorisere unitære polynomier over et begrænset felt . Designet af Alvin Berlekamp i 1967 . Det kan også bruges til at teste irreducerbarheden af ​​polynomier over endelige felter . Hovedideen med algoritmen er muligheden for at repræsentere det oprindelige polynomium som et produkt af de største fælles divisorer af selve polynomiet og nogle polynomier, der udvider sig op til en fri term.

Berlekamps algoritme har en høj beregningsmæssig kompleksitet, så der er udviklet en række yderligere metoder til at reducere antallet af nødvendige matematiske operationer. På trods af dens kompleksitet er Berlekamps algoritme blevet implementeret i computeralgebrasystemer. Algoritmen har fundet bred anvendelse i kodningsteori og i studiet af lineære gentagelsesrelationer i endelige felter. Der er mange beregningsmæssige problemer i algebra og talteori, der på en eller anden måde er relateret til nedbrydningen af ​​polynomier over endelige felter, for eksempel faktorisering af polynomier over ringen af ​​heltal , finde nedbrydningen af ​​et rationelt primtal i feltet af algebraiske tal, beregning Galois-gruppen af ​​en eller anden ligning over feltet af rationelle tal og konstruktionen af ​​feltudvidelser.

Oprettelseshistorie

En amerikansk matematiker, professor ved University of California, Berlekamp, ​​studerede cykliske fejldetekterings- og korrektionskoder , herunder Bose-Chowdhury-Hockwingham-koden , hvis egenskaber afhænger af divisorerne for de genererende polynomier. Berlekamps tekniske fremskridt inden for afkodning af disse koder har gjort dem mere praktiske [1] .

Algoritmen blev først beskrevet i artiklen "Factoring Polynomials Over Finite Fields" [2] og senere gengivet i bogen "Algebraic Coding Theory" [2] . I dette papir fra 1967 [3] skriver Berlekamp, ​​at faktoriseringsproblemet opstår i Golombs skrifter [ 4] . Imidlertid blev muligheden for at bruge en matrix til at bestemme antallet af normaliserede faktorer i et polynomium først bemærket i en artikel af Karel Piotr[5] . Butlers artikel [6] fandt, at rangeringen af ​​en matrixer, et andet bevis på dette faktum blev givet af Schwartz [7] .

Berlekamp-algoritmen blev nævnt i mange værker [8] og var den vigtigste algoritme til løsning af faktoriseringsproblemet indtil fremkomsten af ​​Cantor-Zassenhaus-algoritmen i 1981[9] . Der blev udviklet en teknik [10] , der gør det muligt at faktorisere et polynomium ihvor er en indikator til at estimere kompleksiteten af ​​at multiplicere kvadratmatricer [11] .

Udsagn og definitioner

Problemet med faktorisering af et polynomium af grad ( ) over et begrænset felt ( ,  er et primtal ) [12] til forskellige irreducerbare unitære polynomier betragtes .

Til brug i algoritmen er en matrix bygget i henhold til følgende betingelser:

.

Et polynomium sådan, at , kaldes -nedbrydende polynomium [13] .

Grundlæggende sag

Faktoriseringsalgoritme over et endeligt felt af et polynomium af formen:

består af følgende trin:

  1. Matrixberegning [14] .
  2. Søg efter grundlaget for underrummet af løsninger af systemet af lineære ligninger [15] : , i dette tilfælde er det muligt at vælge vektoren , da den altid vil være til stede [15] i grundlaget for løsningsrummet på grund af det faktum, at kl .
  3. Det fundne tal er antallet af irreducerbare divisorer [14] .
    • Hvis , så er polynomiet
    irreducerbart .
  4. Hvis , så har vektorerne formen . Disse tal bruges til at konstruere -dekomponerende polynomier: .
  5. Nedbrydningssøgning [15] : som: , hvor , i det generelle tilfælde, ikke er irreducerbare. Funktioner faktoriseres på samme måde [15] , dvs. .

Generel sag

Problemet med faktorisering af et arbitrært unitært polynomium er reduceret til overvejelsen af ​​hovedtilfældet. Til dette beregnes polynomiet

ved hjælp af Euklids algoritme .

Således er problemet med at faktorisere et vilkårligt unitært polynomium over et endeligt felt reduceret til at faktorisere et endeligt antal polynomier, der ikke har flere irreducerbare faktorer, det vil sige til hovedtilfældet [16] .

Begrundelse

Lade:

, hvor .

Ifølge den kinesiske restsætning er der et unikt polynomium for ethvert sæt feltelementer [17] :

sådan at:

.

Polynomiet opfylder betingelsen [17] :

,

og så [18] :

.

Fra tilstanden:

,

og det følger af, at faktorerne på højre side er coprime, at hver irreducibel divisor af polynomiet deler en og kun en af ​​polynomierne . Således er gyldigheden og unikheden af ​​nedbrydningen [18] bevist :

Sådan finder du et polynomium:

Lad os se på sammenligningen:

,

hvilket svarer til betingelsen [17] :

.

Ved definitionen af ​​matricen får vi:

,

[17] :

.

Det resulterende ligningssystem bestemmer koefficienterne for -nedbrydende polynomier og kan skrives som:

eller:

[17] .

Algoritmens kompleksitet

Algoritmens kompleksitet er matematiske operationer [19] . Algoritmen vil kun være effektiv for små felter. Dette skyldes behovet for at opregne alle .

Forbedringer

Ansøgning

Polynomielle faktoriseringsalgoritmer er vigtige for kodningsteori og for studiet af lineære gentagelsesrelationer i endelige felter. Berlekamp-algoritmen bruges også til at beregne Galois-gruppen af ​​en ligning over feltet af rationelle tal og konstruere feltløsninger, udvide polynomier over ringen af ​​heltal, for at finde dekomponeringen af ​​et simpelt rationelt tal i feltet af algebraiske tal, og for nogle andre beregningsproblemer [24] . Algoritmer med faktorbaserbruge polynomielle faktoriseringsalgoritmer til at løse problemet med at finde en diskret logaritme [25] , på hvis beregningsmæssige kompleksitet, ElGamal- skemaet er bygget .

Implementeringer i computeralgebrasystemer

I PARI/GP computeralgebrasystemet kan Berlekamps algoritme bruges med kommandoen factormod[26] .

Noter

  1. Berlekamp, ​​1967 , s. 1854: "Om cykliske koder".
  2. 1 2 Berlekamp, ​​1967 .
  3. Berlekamp, ​​1967 , s. 1853.
  4. Golomb, Solomon Wolf. Skiftregistersekvenser . — Aegean Park Pr; Revideret udgave, 1981. - 274 s. — ISBN 978-0894120480 .
  5. PETR K. Uber die Reduzibilitat eines Polynoms mit ganzzahligen Koeffi-zienten nach einem Primzahlmodul. — Casopis Pest Mat. Fys, 1937, s. 85-94 .
  6. Butler, MCR Om reducerbarheden af ​​polynomier over et begrænset felt. - The Quarterly Journal of Mathematics Oxford Second Series 5, 1954. - S. 102-107 .
  7. Schwarz, St. Om polynomiers reduktion i et begrænset felt. — Kvart. J Math. Oxford Ser. (2) 7, 1956. - s. 110-124 .
  8. Lidl, 1988 , Historisk kommentar, s. 223-224.
  9. Cantor DG, Zassenhaus H. En ny algoritme til faktorisering af polynomier over endelige felter. — Matematik. Comp., 1981. Vol. 36. - S. 587-592.
  10. von zur Gathen J., Shoup V. Computing Frobenius maps and factoring polynomials. - Computer. Complexity, 1992. - Vol. 2 . - S. 187-224 .
  11. Vasilenko, 2003 , s. 185: "Kompleksiteten af ​​Cantor-Zassenhaus-algoritmen".
  12. Lidl, 1988 , Problemformulering, s. 187.
  13. Vasilenko, 2003 , Definitioner, s. 172.
  14. 1 2 Vasilenko, 2003 , Beskrivelse af algoritmen, s. 173.
  15. 1 2 3 4 Lidl, 1988 , Beskrivelse af algoritmen.
  16. 1 2 3 4 Lidl, 1988 , Reduktion til hovedsagen, s. 188.
  17. 1 2 3 4 5 Lidl, 1988 , Begrundelse for algoritmens rigtighed, s. 189-190.
  18. 1 2 Vasilenko, 2003 , s. 174.
  19. Vasilenko, 2003 , s. 174: "Algorithmens kompleksitet."
  20. Lidl, 1988 , Mere om metoden, s. 201.
  21. Van der Waerden, 1976 , Om resultatet, s. 124.
  22. Lidl, 1988 , Mere om metoden, s. 206.
  23. Kaltofen E, Lobo A. Factoring high-grade polynomials by the black box Berlekamp algoritme  //  Proceedings of the international symposium on Symbolic and algebraic computation (ISSAC '94). - N. Y .: ACM Press, 1994. - S. 90-98 . — ISBN 0-89791-638-7 . - doi : 10.1145/190347.190371 .
  24. Lidl, 1988 , Application of the Algorithm, s. 187.
  25. Vasilenko, 2003 , Om brugen af ​​algoritmer med faktorbaser til løsning af det diskrete logaritmeproblem, s. 137.
  26. Katalog over GP/PARI-funktioner: Aritmetiske funktioner Arkiveret 11. marts 2007.

Litteratur