diff --git a/07-teorie-cisel/teorie-cisel.tex b/07-teorie-cisel/teorie-cisel.tex index 33b01f0b08dc13ee7d30c23c0d2439b4d6e1917e..15bd6de4093bd8f301cc93011ec50501c0353497 100644 --- a/07-teorie-cisel/teorie-cisel.tex +++ b/07-teorie-cisel/teorie-cisel.tex @@ -433,6 +433,35 @@ který nepotřebuje faktorizaci, není znám. \section{Faktorizace versus prvočíselnost} +Mezi základní algoritmické problémy teorie čísel patří \em{faktorizace} celých čísel +(rozklad na součin prvočísel) a testování, zda dané číslo je prvočíslem. Jakkoliv podobně +tyto problémy vypadají, jejich obtíznost je zásadně různa. + +Faktorizace: + +\tightlist{o} +\:Známe triviální exponenciální algoritmus (zkoušení všech dělitelů až do odmocniny trvá $\O(2^{b/2}b^2)$). +\:Neznáme žádný polynomiální algoritmus. +\:Známe subexponenciální algoritmy, zatím nejlepší je general number field sieve +se složitostí $\exp(1.923\cdot(\log n)^{1/3}(\log\log n)^{2/3})$. Paralelní verze +tohoto algoritmu běžící na stovkách počítačů dokázala v~roce 2020 faktorizovat 829-bitové číslo. +\:Rozhodovací verze (je dáno~$x$ a interval $[a,b]$, existuje dělitel čísla~$x$ ležící v~intervalu?) +leží v~průniku $\NP$ a $\cc{co-NP}$, považuje se za nepravděpodobné, že by byla \NP-úplná. +\:Známe polynomiální kvantový algoritmus (Shorův z~roku 1994). +\endlist + +Prvočíselnost: + +\tightlist{o} +\:Známe rychlé pravděpodobnostní testy s~malou pravděpodobností chyby. +\:Známe deterministické polynomiální algoritmy, zatím nejlepší je od Lenstry a Pomerance + se složitostí $\O(b^6\log^c b)$. V~praxi jsou mnohem pomalejší než ty pravděpodobnostní. +\endlist + +\subsection{Fermatův test} + +\subsection{Rabinův-Millerův test} + \section{Diskrétní logaritmy} \section{Diskrétní odmocniny}