Berlekampův algoritmus

Berlekampův  algoritmus je algoritmus navržený k rozkladu unitárních polynomů přes konečné pole . Navrhl Alvin Berlekamp v roce 1967 . Lze jej také použít k testování neredukovatelnosti polynomů nad konečnými tělesy . Hlavní myšlenkou algoritmu je možnost reprezentovat původní polynom jako součin největších společných dělitelů samotného polynomu a některých polynomů, které se rozšiřují až na volný člen.

Berlekampův algoritmus má vysokou výpočetní náročnost, proto byla vyvinuta řada dalších metod, které snižují počet nezbytných matematických operací. Navzdory své složitosti byl však Berlekampův algoritmus implementován v systémech počítačové algebry. Algoritmus našel široké uplatnění v teorii kódování a při studiu lineárních rekurentních vztahů v konečných polích. V algebře a teorii čísel existuje mnoho výpočetních problémů, které nějak souvisejí s rozkladem polynomů na konečných tělesech, například rozklad polynomů na kruh celých čísel , hledání rozkladu prvočíselného racionálního čísla v oboru algebraických čísel, výpočet Galoisova grupa nějaké rovnice nad oborem racionálních čísel a konstrukce rozšíření pole.

Historie vytvoření

Americký matematik, profesor na Kalifornské univerzitě v Berlekampu, studoval cyklické kódy detekce chyb a opravy , včetně kódu Bose-Chowdhury-Hockwingham , jehož vlastnosti závisí na dělitelích generujících polynomů. Berlekampovy technické pokroky v dekódování těchto kódů je učinily praktičtějšími [1] .

Algoritmus byl poprvé popsán v článku "Factoring Polynomials Over Finite Fields" [2] a později reprodukován v knize "Algebraic Coding Theory" [2] . V tomto článku z roku 1967 [3] Berlekamp píše, že problém faktorizace vyvstává ve spisech Golomba [4] . Možnost použít matici k určení počtu normalizovaných faktorů polynomu však byla poprvé zaznamenána v článku Karla Piotra[5] . Butlerův článek [6] zjistil, že hodnost maticeje, další důkaz této skutečnosti podal Schwartz [7] .

Algoritmus Berlekamp byl zmíněn v mnoha pracích [8] a byl hlavním algoritmem pro řešení problému faktorizace až do příchodu algoritmu Cantor-Zassenhaus v roce 1981.[9] . Byla vyvinuta technika [10] , která umožňuje faktorizovat polynom v tom, kde je indikátor při odhadu složitosti násobení čtvercových matic [11] .

Prohlášení a definice

Je zvažován problém rozkladu polynomu stupně ( ) nad konečným tělesem ( ,  je prvočíslo ) [12] na různé ireducibilní unitární polynomy .

Pro použití v algoritmu je matice vytvořena podle následujících podmínek:

.

Polynom takový, že , se nazývá -rozkládající polynom [13] .

Základní případ

Faktorizační algoritmus nad konečným tělesem polynomu ve tvaru:

se skládá z následujících kroků:

  1. Maticový výpočet [14] .
  2. Hledání základu podprostoru řešení soustavy lineárních rovnic [15] : , v tomto případě je možné zvolit vektor , protože bude vždy přítomen [15] v základu prostoru řešení vzhledem k tomu, že při .
  3. Nalezené číslo je počet ireducibilních dělitelů [14] .
    • Jestliže , pak je polynom
    ireducibilní .
  4. Jestliže , pak vektory mají tvar . Tato čísla se používají ke konstrukci rozkládajících polynomů: .
  5. Dekompoziční vyhledávání [15] : tak jako: , kde v obecném případě nejsou neredukovatelné. Funkce jsou faktorizovány stejným způsobem [15] , tj. .

Obecný případ

Problém faktorizace libovolného unitárního polynomu je redukován na zvážení hlavního případu. K tomu se vypočítá polynom

pomocí Euklidova algoritmu .

Problém faktorizace libovolného unitárního polynomu nad konečným tělesem je tedy redukován na faktorizaci konečného počtu polynomů, které nemají více neredukovatelných faktorů, tedy na hlavní případ [16] .

Odůvodnění

Nechat:

, kde .

Podle čínské věty o zbytku existuje pro jakoukoli sadu prvků pole jedinečný polynom [17] :

takové, že:

.

Polynom splňuje podmínku [17] :

,

a tak [18] :

.

Z podmínky:

,

a ze skutečnosti, že faktory na pravé straně jsou koprimé, vyplývá, že každý ireducibilní dělitel polynomu dělí jeden a pouze jeden z polynomů . Platnost a jednoznačnost rozkladu [18] je tedy prokázána :

Chcete-li najít polynom:

Podívejme se na srovnání:

,

což je ekvivalentní podmínce [17] :

.

Definicí matice dostaneme:

,

takže [17] :

.

Výsledný systém rovnic určuje koeficienty -rozkladných polynomů a lze jej zapsat jako:

nebo:

[17] .

Složitost algoritmu

Složitost algoritmu jsou matematické operace [19] . Algoritmus bude účinný pouze pro malá pole. Je to kvůli potřebě vyjmenovat všechny .

Vylepšení

Aplikace

Polynomiální faktorizační algoritmy jsou důležité pro teorii kódování a pro studium lineárních rekurentních vztahů v konečných polích. Algoritmus Berlekamp se také používá k výpočtu Galoisovy grupy rovnice nad polem racionálních čísel a konstrukci řešení polí, rozšíření polynomů v kruhu celých čísel, k nalezení rozkladu jednoduchého racionálního čísla v oboru algebraických čísel, a pro některé další výpočetní problémy [24] . Algoritmy s faktorovými bázemipoužijte polynomiální faktorizační algoritmy k řešení problému nalezení diskrétního logaritmu [25] , na jehož výpočetní složitosti je schéma ElGamal postaveno .

Implementace v systémech počítačové algebry

V systému počítačové algebry PARI/GP lze Berlekampův algoritmus použít s příkazem factormod[26] .

Poznámky

  1. Berlekamp, ​​​​1967 , str. 1854: „O cyklických kódech“.
  2. 12 Berlekamp , ​​​​1967 .
  3. Berlekamp, ​​​​1967 , str. 1853.
  4. Golomb, Solomon Wolf. Sekvence posuvného registru . — Egejský park Pr; Upravené vydání, 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, str. 85-94 .
  6. Butler, MCR O redukovatelnosti polynomů v konečném poli. - The Quarterly Journal of Mathematics Oxford Second Series 5, 1954. - S. 102-107 .
  7. Schwarz, St. O redukovatelnosti polynomů nad konečným tělesem. — Quart. J Math. Oxford Ser. (2) 7, 1956. - str. 110-124 .
  8. Lidl, 1988 , Historický komentář, str. 223-224.
  9. Cantor DG, Zassenhaus H. Nový algoritmus pro faktorování polynomů nad konečnými tělesy. — Matematika. Comp., 1981. Vol. 36. - S. 587-592.
  10. von zur Gathen J., Shoup V. Počítání Frobeniových map a faktoringové polynomy. — Počítač. Complexity, 1992. - svazek 2 . - S. 187-224 .
  11. Vasilenko, 2003 , s. 185: "Složitost algoritmu Cantor-Zassenhaus".
  12. Lidl, 1988 , Vyjádření k problému, str. 187.
  13. Vasilenko, 2003 , Definice, str. 172.
  14. 1 2 Vasilenko, 2003 , Popis algoritmu, str. 173.
  15. 1 2 3 4 Lidl, 1988 , Popis algoritmu.
  16. 1 2 3 4 Lidl, 1988 , Redukce na hlavní věc, str. 188.
  17. 1 2 3 4 5 Lidl, 1988 , Zdůvodnění správnosti algoritmu, str. 189-190.
  18. 1 2 Vasilenko, 2003 , s. 174.
  19. Vasilenko, 2003 , s. 174: "Složitost algoritmu."
  20. Lidl, 1988 , Více o metodě, str. 201.
  21. Van der Waerden, 1976 , O výsledku, s. 124.
  22. Lidl, 1988 , Více o metodě, str. 206.
  23. Kaltofen E, Lobo A. Factoring high-degree polynomials by the black box Berlekamp algorithm  //  Sborník z mezinárodního sympozia o symbolických a algebraických výpočtech (ISSAC '94). - N. Y .: ACM Press, 1994. - S. 90-98 . — ISBN 0-89791-638-7 . - doi : 10.1145/190347.190371 .
  24. Lidl, 1988 , Aplikace algoritmu, str. 187.
  25. Vasilenko, 2003 , O použití algoritmů s faktorovými bázemi pro řešení problému diskrétního logaritmu, str. 137.
  26. Katalog funkcí GP/PARI: Aritmetické funkce Archivováno 11. března 2007.

Literatura