Mřížová redukce - Lattice reduction

V matematice je cílem mřížková redukce základu je dáno celé číslo mříž jako vstup, najít a základ s krátkým, téměř ortogonální vektory. To je realizováno pomocí různých algoritmů, jejichž doba běhu je obvykle alespoň exponenciální v dimenzi mřížky.
Téměř ortogonální
Jedno opatření téměř ortogonální je vada ortogonality. Porovná se součin délek základních vektorů s objemem rovnoběžnostěn oni definují. Pro dokonale ortogonální bazální vektory by tyto veličiny byly stejné.
Jakýkoli konkrétní základ vektory mohou být reprezentovány a matice , jehož sloupce jsou základními vektory . V plně dimenzionální v případě, že se počet základních vektorů rovná dimenzi prostoru, který zabírají, je tato matice čtvercová a objem základního rovnoběžnostěnu je prostě absolutní hodnota určující této matice . Pokud je počet vektorů menší než rozměr podkladového prostoru, pak objem je . Pro danou mříž , tento objem je stejný (až k podpisu) pro jakýkoli základ, a proto se označuje jako determinant mřížky nebo mřížková konstanta .
Porucha ortogonality je součinem délek základních vektorů dělených objemem rovnoběžnostěnu;
Z geometrické definice to lze ocenit s rovností právě tehdy, když je základ ortogonální.
Pokud je problém s redukcí mřížky definován jako nalezení základu s nejmenší možnou vadou, pak problém je NP-tvrdé. Existují však polynomiální čas algoritmy k nalezení základu s vadou kde C je nějaká konstanta závislá pouze na počtu bazických vektorů a dimenzi podkladového prostoru (pokud se liší). Toto je dost dobré řešení v mnoha praktických aplikacích.
Ve dvou rozměrech
Pro základ skládající se pouze ze dvou vektorů existuje jednoduchá a účinná metoda redukce, která je velmi analogická s Euklidovský algoritmus pro největší společný dělitel dvou celých čísel. Stejně jako u euklidovského algoritmu je metoda iterativní; v každém kroku je větší ze dvou vektorů snížen přidáním nebo odečtením celočíselného násobku menšího vektoru.
Pseudokód algoritmu, často známý jako Lagrangeův algoritmus nebo Lagrange-Gaussův algoritmus, je následující:
Vstup: základ pro mříž . Předpokládat, že , jinak je vyměňte. Výstup: Základ s .
Zatímco :
Viz část o Lagrangeově algoritmu v [1] pro další detaily.
Aplikace
Algoritmy mřížkové redukce se používají v řadě moderních číselných teoretických aplikací, včetně objevu a algoritmus čepu pro . Ačkoli stanovení nejkratší základny je možná problém NP-úplný, algoritmy, jako je Algoritmus LLL[2] může najít krátký (ne nutně nejkratší) základ v polynomiálním čase se zaručeným výkonem v nejhorším případě. JÁ BUDU je široce používán v dešifrování z veřejný klíč kryptosystémy.
Při použití k nalezení celočíselných vztahů se typický vstup do algoritmu skládá z rozšířeného X matice identity s položkami v posledním sloupci skládající se z prvků (vynásobeno velkou kladnou konstantou k penalizaci vektorů, které nesčítají nulu), mezi nimiž je vztah hledán.
The Algoritmus LLL pro výpočet byla použita téměř ortogonální základna celočíselné programování v jakékoli pevné dimenzi lze provést v polynomiální čas.[3]
Algoritmy
Následující algoritmy snižují mřížkové základny; je zde také uvedeno několik veřejných implementací těchto algoritmů.
Rok | Algoritmus | Implementace |
---|---|---|
1773 | Lagrangeova / Gaussova redukce pro 2D mřížky | |
1982 | Lenstra – Lenstra – Lovász snížení | NTL, fplll (odkaz na GitHub) |
1987 | Blokovat Korkine Zolotarev[4] | NTL, fplll (odkaz na GitHub) |
1993 | Redukce Seysen[5] |
Reference
- ^ Nguyen, Phong Q. (2009). „Hermitovy konstantní a mřížkové algoritmy“. Algoritmus LLL. Berlin, Heidelberg: Springer Berlin Heidelberg. 19–69. doi:10.1007/978-3-642-02295-1_2. ISBN 978-3-642-02294-4. ISSN 1619-7100.
- ^ Lenstra, A. K.; Lenstra, H. W., Jr.; Lovász, L. (1982). "Faktorování polynomů s racionálními koeficienty". Mathematische Annalen. 261 (4): 515–534. CiteSeerX 10.1.1.310.318. doi:10.1007 / BF01457454. hdl:1887/3810. PAN 0682664.CS1 maint: více jmen: seznam autorů (odkaz)
- ^ Lenstra, H.W. (1983). "Celočíselné programování s pevným počtem proměnných". Matematika. Oper. Res. 8 (4): 538–548. CiteSeerX 10.1.1.431.5444. doi:10,1287 / bř. 8.4.538.
- ^ Hanrot, Guillaume; Stehlé, Damien (2008). „Nejhorší případ Hermite-Korkine-Zolotarev snížil příhradové základny“. arXiv:0801.3331 [math.NT ].
- ^ Seysen, Martin (září 1993). "Současná redukce mřížkové báze a její reciproční báze". Combinatorica. 13 (3): 363–376. doi:10.1007 / BF01202355.