Berlekampin algoritmi

Berlekampin  algoritmi on algoritmi, joka on suunniteltu jakamaan unitaarisia polynomeja rajallisen kentän yli . Alvin Berlekampin suunnittelema vuonna 1967 . Sitä voidaan käyttää myös polynomien redusoitumattomuuden testaamiseen äärellisten kenttien yli . Algoritmin pääideana on mahdollisuus esittää alkuperäinen polynomi itse polynomin ja joidenkin vapaaseen termiin laajenevien polynomien suurimpien yhteisten jakajien tulona.

Berlekampin algoritmilla on suuri laskennallinen monimutkaisuus, joten tarvittavien matemaattisten operaatioiden määrän vähentämiseksi on kehitetty useita lisämenetelmiä. Monimutkaisuudestaan ​​​​huolimatta Berlekampin algoritmi on kuitenkin toteutettu tietokonealgebrajärjestelmissä. Algoritmi on löytänyt laajan käytön koodausteoriassa ja äärellisten kenttien lineaaristen toistuvuussuhteiden tutkimuksessa. Algebrassa ja lukuteoriassa on monia laskentaongelmia, jotka liittyvät jollain tapaa polynomien hajoamiseen äärellisten kenttien yli, esimerkiksi polynomien laskeminen kokonaislukujen renkaan yli, alkurationaaliluvun hajotuksen löytäminen algebrallisten lukujen kentässä, laskeminen joidenkin yhtälöiden Galois-ryhmä rationaalisten lukujen alalla ja kenttälaajennusten rakentamisessa.

Luontihistoria

Amerikkalainen matemaatikko, professori Kalifornian yliopistossa Berlekampissa, tutki syklisiä virheiden havaitsemis- ja korjauskoodeja , mukaan lukien Bose-Chowdhury-Hockwingham-koodia , jonka ominaisuudet riippuvat generoivien polynomien jakajista. Berlekampin tekninen kehitys näiden koodien purkamisessa on tehnyt niistä käytännöllisempiä [1] .

Algoritmi kuvattiin ensin artikkelissa "Factoring Polynomials Over Fields" [2] ja myöhemmin toistettiin kirjassa "Algebraic Coding Theory" [2] . Tässä vuoden 1967 artikkelissa [3] Berlekamp kirjoittaa, että faktorointiongelma nousee esiin Golombin kirjoituksissa [ 4] . Kuitenkin mahdollisuus käyttää matriisia polynomin normalisoitujen tekijöiden lukumäärän määrittämiseen havaittiin ensimmäisen kerran Karel Piotrin artikkelissa.[5] . Butlerin artikkelissa [6] havaittiin, että matriisin arvoon, toisen todisteen tästä tosiasiasta antoi Schwartz [7] .

Berlekamp-algoritmi mainittiin monissa teoksissa [8] ja se oli pääalgoritmi faktorointiongelman ratkaisemisessa Cantor-Zassenhaus-algoritmin käyttöön asti vuonna 1981.[9] . Kehitettiin tekniikka [10] , joka mahdollistaa polynominmissä on indikaattori neliömatriisien kertomisen monimutkaisuuden arvioinnissa [11] .

Lausunto ja määritelmät

Tarkastellaan ongelmaa asteisen ( ) polynomin faktorisoinnista äärellisessä kentässä ( ,  on alkuluku ) [12] erilaisiksi pelkistymättömiksi unitaarisiksi polynomeiksi .

Algoritmissa käytettäväksi matriisi rakennetaan seuraavien ehtojen mukaisesti:

.

Sellaista polynomia , että , kutsutaan -hajoavaksi polynomiksi [13] .

Perustapaus

Faktorisointialgoritmi muotoa olevan polynomin äärellisessä kentässä :

koostuu seuraavista vaiheista:

  1. Matriisilaskenta [14] .
  2. Etsi lineaariyhtälöjärjestelmän [15] ratkaisujen aliavaruuden perusta : , tässä tapauksessa on mahdollista valita vektori , koska se on aina läsnä [15] ratkaisuavaruuden perusteella johtuen siitä, että klo .
  3. Löytynyt luku on redusoitumattomien jakajien lukumäärä [14] .
    • Jos , niin polynomi on
    redusoitumaton .
  4. Jos , niin vektoreilla on muoto . Näitä lukuja käytetään hajottavien polynomien muodostamiseen: .
  5. Hajotushaku [15] : kuten: , joissa , eivät yleensä ole redusoitumattomia. Funktiot faktoroidaan samalla tavalla [15] , eli: .

Yleinen tapaus

Mielivaltaisen unitaarisen polynomin tekijöiden jakamisen ongelma rajoittuu päätapauksen tarkasteluun. Tätä varten lasketaan polynomi

käyttämällä Euclid-algoritmia .

Täten ongelma mielivaltaisen unitaaripolynomin tekijöiden määrittämisessä äärellisen kentän yli rajoittuu äärellisen määrän polynomeihin, joilla ei ole useita redusoitumattomia tekijöitä, eli päätapaukseen [16] .

Perustelut

Päästää:

, missä .

Kiinan jäännöslauseen mukaan mille tahansa kenttäelementtijoukolle on ainutlaatuinen polynomi [17] :

sellainen että:

.

Polynomi täyttää ehdon [17] :

,

ja niin [18] :

.

Tilanteesta:

,

ja siitä tosiasiasta, että oikean puolen tekijät ovat koprime, seuraa, että jokainen polynomin redusoitumaton jakaja jakaa yhden ja vain yhden polynomeista . Siten hajotuksen [18] pätevyys ja ainutlaatuisuus todistetaan :

Polynomin etsiminen:

Katsotaanpa vertailua:

,

joka vastaa ehtoa [17] :

.

Matriisin määritelmän mukaan saamme:

,

niin [17] :

.

Tuloksena oleva yhtälöjärjestelmä määrittää -hajoavien polynomien kertoimet ja voidaan kirjoittaa seuraavasti:

tai:

[17] .

Algoritmin monimutkaisuus

Algoritmin monimutkaisuus on matemaattiset operaatiot [19] . Algoritmi toimii vain pienissä kentissä. Tämä johtuu tarpeesta luetella kaikki .

Parannukset

Sovellus

Polynomifaktorointialgoritmit ovat tärkeitä koodausteorialle ja lineaaristen toistuvuussuhteiden tutkimiseen äärellisissä kentissä. Berlekamp-algoritmia käytetään myös yhtälön Galois-ryhmän laskemiseen rationaalisten lukujen kentän yli ja kenttäratkaisujen muodostamiseen, polynomien laajentamiseen kokonaislukujen renkaan yli, yksinkertaisen rationaaliluvun hajotuksen löytämiseen algebrallisten lukujen kentässä, ja joihinkin muihin laskentaongelmiin [24] . Algoritmit tekijäperusteillakäyttää polynomifaktorointialgoritmeja ratkaistaksesi ongelman löytää diskreetti logaritmi [25] , jonka laskennallisen monimutkaisuuden varaan ElGamal- kaavio rakennetaan .

Toteutukset tietokonealgebrajärjestelmissä

PARI/GP tietokonealgebrajärjestelmässä Berlekampin algoritmia voidaan käyttää komennolla factormod[26] .

Muistiinpanot

  1. Berlekamp, ​​1967 , s. 1854: "syklisistä koodeista".
  2. 1 2 Berlekamp, ​​1967 .
  3. Berlekamp, ​​1967 , s. 1853.
  4. Golomb, Solomon Wolf. Vaihtorekisterisekvenssit . — Aegean Park Pr; Tarkistettu painos, 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 Polynomien pelkistävyydestä äärellisessä kentässä. - The Quarterly Journal of Mathematics Oxford Second Series 5, 1954. - S. 102-107 .
  7. Schwarz, St. Polynomien pelkistävyydestä äärellisessä kentässä. — Quart. J Math. Oxford Ser. (2) 7, 1956. - s. 110-124 .
  8. Lidl, 1988 , Historiallinen kommentti, s. 223-224.
  9. Cantor DG, Zassenhaus H. Uusi algoritmi polynomien faktorointiin äärellisten kenttien yli. — Matematiikka. Comp., 1981. Voi. 36. - P. 587-592.
  10. von zur Gathen J., Shoup V. Frobenius-karttojen laskeminen ja tekijäpolynomien laskeminen. - Tietokone. Complexity, 1992. - Vol. 2 . - S. 187-224 .
  11. Vasilenko, 2003 , s. 185: "Cantor-Zassenhaus-algoritmin monimutkaisuus".
  12. Lidl, 1988 , Ongelman selvitys, s. 187.
  13. Vasilenko, 2003 , Määritelmät, s. 172.
  14. 1 2 Vasilenko, 2003 , Algoritmin kuvaus, s. 173.
  15. 1 2 3 4 Lidl, 1988 , Algoritmin kuvaus.
  16. 1 2 3 4 Lidl, 1988 , Alennus pääasiaan, s. 188.
  17. 1 2 3 4 5 Lidl, 1988 , Algoritmin oikeellisuuden perustelu, s. 189-190.
  18. 1 2 Vasilenko, 2003 , s. 174.
  19. Vasilenko, 2003 , s. 174: "Algoritmin monimutkaisuus."
  20. Lidl, 1988 , Lisää menetelmästä, s. 201.
  21. Van der Waerden, 1976 , On the Resultant, s. 124.
  22. Lidl, 1988 , Lisää menetelmästä, s. 206.
  23. Kaltofen E, Lobo A. Korkean asteen polynomien faktorointi black box Berlekamp -algoritmilla  //  Proceedings of the International Symposium on Symbolic and algebraic computation (ISSAC '94). - N. Y .: ACM Press, 1994. - P. 90-98 . — ISBN 0-89791-638-7 . - doi : 10.1145/190347.190371 .
  24. Lidl, 1988 , Algoritmin soveltaminen, s. 187.
  25. Vasilenko, 2003 , Tekijäpohjaisten algoritmien käytöstä diskreetin logaritmiongelman ratkaisemiseen, s. 137.
  26. GP/PARI-funktioiden luettelo: Aritmeettiset funktiot Arkistoitu 11. maaliskuuta 2007.

Kirjallisuus