Pravděpodobnostní algoritmy

Podobné dokumenty
19. a 20. přednáška z kryptografie

Subexponenciální algoritmus pro diskrétní logaritmus

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Téma 22. Ondřej Nývlt

Náhodná veličina Číselné charakteristiky diskrétních náhodných veličin Spojitá náhodná veličina. Pravděpodobnost

Pravděpodobnost a statistika (BI-PST) Cvičení č. 4

NMAI059 Pravděpodobnost a statistika

Minikurz aplikované statistiky. Minikurz aplikované statistiky p.1

Náhodná veličina a její charakteristiky. Před provedením pokusu jeho výsledek a tedy ani sledovanou hodnotu neznáte. Proto je proměnná, která

Matematika III. 4. října Vysoká škola báňská - Technická univerzita Ostrava. Matematika III

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Diskrétní náhodná veličina. November 12, 2008

PŘEDNÁŠKA 2 POSLOUPNOSTI

Základy teorie pravděpodobnosti

Pravděpodobnost a statistika, Biostatistika pro kombinované studium. Jan Kracík

Pravděpodobnost a aplikovaná statistika

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

PRAVDĚPODOBNOST A STATISTIKA

Cvičení ze statistiky - 5. Filip Děchtěrenko

Základy teorie množin

Náhodný vektor a jeho charakteristiky

Diskrétní logaritmus

Intuitivní pojem pravděpodobnosti

Limitní věty teorie pravděpodobnosti. Jiří Neubauer. Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel

Lineární algebra : Lineární prostor

IB112 Základy matematiky

z nich byla poprvé dokázána v 19. století velikány analytické teorie čísel (Pafnutij Lvovič Čebyšev, Charles-Jean de la Vallée Poussin a další).

KMA/P506 Pravděpodobnost a statistika KMA/P507 Statistika na PC

Základy matematické analýzy

NÁHODNÉ VELIČINY JAK SE NÁHODNÁ ČÍSLA PŘEVEDOU NA HODNOTY NÁHODNÝCH VELIČIN?

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Lineární algebra : Metrická geometrie

Kapitola 2: Spojitost a limita funkce 1/20

Někdy lze výsledek pokusu popsat jediným číslem, které označíme X (nebo jiným velkým písmenem). Hodíme dvěma kostkami jaký padl součet?

Matematická analýza pro informatiky I. Limita posloupnosti (I)

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.

Pravděpodobnost a statistika

I. D i s k r é t n í r o z d ě l e n í

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

p(x) = P (X = x), x R,

MATEMATICKÁ STATISTIKA. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Pravděpodobnost a statistika I KMA/K413

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

a způsoby jejího popisu Ing. Michael Rost, Ph.D.

Všechno, co jste chtěli vědět z teorie pravděpodobnosti, z teorie informace a

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

III. Úplná pravděpodobnost. Nezávislé pokusy se dvěma výsledky. Úplná pravděpodobnost Nezávislé pokusy se dvěma výsledky Náhodná veličina

Odhad parametrů N(µ, σ 2 )

Matematika III. 27. září Vysoká škola báňská - Technická univerzita Ostrava. Matematika III

10. N á h o d n ý v e k t o r

JAK MODELOVAT VÝSLEDKY NÁH. POKUSŮ? Martina Litschmannová

Přednáška. Diskrétní náhodná proměnná. Charakteristiky DNP. Základní rozdělení DNP

Subexponenciální algoritmus pro faktorizaci

Bayesovské metody. Mnohorozměrná analýza dat

Diskrétní náhodná veličina

Výběrové charakteristiky a jejich rozdělení

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

Odhad parametrů N(µ, σ 2 )

Rozdělení náhodné veličiny. Distribuční funkce. Vlastnosti distribuční funkce

Charakteristika tělesa

Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

Základy teorie pravděpodobnosti

Limita a spojitost funkce. 3.1 Úvod. Definice: [MA1-18:P3.1]

1 Polynomiální interpolace

Řešení. Označme po řadě F (z) Odtud plyne, že

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Bakalářská matematika I

4 Počítání modulo polynom

prof. RNDr. Roman Kotecký DrSc., Dr. Rudolf Blažek, PhD Pravděpodobnost a statistika Katedra teoretické informatiky Fakulta informačních technologií

Náhodné (statistické) chyby přímých měření

2. Definice pravděpodobnosti

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze


Posloupnosti a jejich limity

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

Přijímací zkouška - matematika

Náhodná veličina. Michal Fusek. 10. přednáška z ESMAT. Ústav matematiky FEKT VUT, Michal Fusek

TEORIE PRAVDĚPODOBNOSTI. 2. cvičení

1 Pravděpodobnostní prostor

KGG/STG Statistika pro geografy

Jiří Neubauer. Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel

Nekonečné číselné řady. January 21, 2015

Základy elementární teorie čísel

Charakterizace rozdělení

Markovské metody pro modelování pravděpodobnosti

Teorie. Hinty. kunck6am

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Úvod do informatiky. Miroslav Kolařík

7. Rozdělení pravděpodobnosti ve statistice

Báze a dimense. Odpřednesenou látku naleznete v kapitolách a 3.6 skript Abstraktní a konkrétní lineární algebra.

Pravděpodobnost a její vlastnosti

1 Báze a dimenze vektorového prostoru 1

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

Obsah. Základy teorie pravděpodobnosti Náhodný jev Pravděpodobnost náhodného jevu Pravděpodobnost. Pravděpodobnost. Děj pokus jev

Transkript:

Pravděpodobnostní algoritmy 17. a 18. přednáška z kryptografie Alena Gollová 1/31

Obsah 1 Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test 2 Alena Gollová 2/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Generování náhodných bitů Předpokládejme, že máme algoritmus, který generuje náhodný bit. (Jak to dělá, to ponecháme stranou.) Máme tedy novou instrukci (na stejné úrovni, jako aritmetické instrukce součet dvou bitů a součin dvou bitů ) γ RAND, která přiřadí do proměnné γ náhodně nulu či jedničku tak, že P[γ = 1] = P[γ = 0] = 1 2, výsledek instrukce RAND je nezávislý na jejích předchozích použitích. Budeme předpokládat, že jedno zavolání instrukce RAND trvá konstantní čas O(1). Alena Gollová 3/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Definice jsou algoritmy, které používají instrukci RAND. Deterministické algoritmy instrukci RAND nepoužívají. Na úrovni algoritmů budeme náhodné generování zapisovat takto: y c {0, 1} vygeneruje náhodný bit v čase O(1) y c {0, 1} l vygeneruje řetězec náhodných bitů délky l v čase O(l) Alena Gollová 4/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Pro pravděpodobnostní algoritmus A a vstup x zavedeme náhodné veličiny: LOOPS = počet opakování cyklu při daném běhu algoritmu LOOPTIME = čas běhu jednoho cyklu TIME = celkový čas běhu algoritmu OUTPUT = hodnota výstupu při daném běhu algoritmu Hodnoty těchto náhodných veličin budou záviset na výsledcích instrukce RAND v daném běhu algoritmu A se vstupem x. Bude nás zajímat očekávaný čas běhu algoritmu A se vstupem x, aneb střední hodnota náhodné veličiny TIME, a pravděpodobnostní rozdělení výstupní veličiny OUTPUT. Alena Gollová 5/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Pravděpodobnostní prostor Přesnější postup: Vytvoříme spočetný pravděpodobnostní prostor simulující chování pravděpodobnostního algoritmu A se vstupem x při různých výsledcích instrukcí RAND. Ω = {ω {0, 1} l, l N; ω = přesná trasa běhu} Přesná trasa běhu (exact execution path) je posloupnost 0 a 1, v níž každý člen odpovídá jedné instrukci algoritmu, přičemž poslední člen odpovídá instrukci HALT. Dále pokud je i tá instrukce RAND, tak je i tý člen použit jako výsledek instrukce RAND. P(ω) = 1 2 ω, kde ω = l je délka posloupnosti ω. Lze dokázat, že ω Ω 2 ω = α 1. Říkáme, že algoritmus A zastaví na vstupu x s pravděpodobností α. Pokud α = 1, tak P : Ω < 0, 1 > je pravděpodobnostní funkce na Ω. Alena Gollová 6/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Náhodná veličina Náhodné veličiny budou pak zobrazení definovaná na Ω: TIME(ω) = ω OUTPUT (ω) = výstup algoritmu A se vstupem x, jestliže posloupnost ω simuluje běh algoritmu (má na odpovídajících místech výsledky instrukcí RAND). Potom bychom spočetli pravděpodobnost, že čas běhu je l, takto: P[TIME = l] = P({ω Ω, TIME(ω) = l}) = s 2 l, kde s =počet přesných tras běhu délky l. Budeme s náhodnými veličinami zacházet na intuitivní rovině, aniž bychom zacházeli do detailů výpočtu v příslušném pravděpodobnostním prostoru. Alena Gollová 7/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Diskrétní rozdělení Diskrétní rozdělení náhodné veličiny Nechť náhodná veličina X nabývá spočetně mnoha hodnot z množiny M = {x i, i I }, kde I N. Pravděpodobnostní funkce P je každá nezáporná funkce z M do R, která splňuje i I P[X = x i] = 1. Pravděpodobnostní funkce udává diskrétní rozdělení náhodné veličiny na množině M. Střední hodnota náhodné veličiny Střední hodnota náhodné veličiny X je definována jako E(X ) = i I x ip[x = x i ] (vážený průměr). Střední hodnota je lineární funkce: E(aX + by ) = ae(x ) + be(y ) pro libovolné náhodné veličiny X, Y na množině M a a, b R. Alena Gollová 8/31

Diskrétní rozdělení Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Náhodná veličina X má rovnoměrné rozdělení na množině {1, 2,..., m}, pokud P[X = i] = 1 m pro každé 1 i m. Střední hodnota E(X ) = m+1 2. Náhodná veličina X má alternativní rozdělení s parametrem p na množině {0, 1}, pokud P[X = 1] = p, P[X = 0] = 1 p. Střední hodnota E(X ) = p. Náhodná veličina X má geometrické rozdělení s parametrem p na množině {1, 2, 3,...} = N +, když pro každé i 1 je P[X = i] = (1 p) i 1 p. Střední hodnota E(X ) = 1 p. (Pokus má alternativní rozdělení s pravděpodobností úspěchu p. Geometrické rozdělení udává pravděpodobnost, že první úspěch nastane při i tém opakování pokusu.) Alena Gollová 9/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Algoritmus - házení mincí, dokud nepadne panna repeat y c {0, 1} until y = 1 Analýza algoritmu Pravděpodobnost, že algoritmus zastaví po jednom cyklu je 1 2. Náhodná veličina LOOPS má geometrické rozdělení s parametrem p = 1 2, očekávaný počet cyklů tedy je E(LOOPS) = 2. Pravděpodobnost, že počet cyklů bude aspoň k je rovna P[LOOPS k] = 1, lim P[LOOPS k] = 0. 2 k 1 k Algoritmus se zastaví s pravděpodobností 1, přestože počet kroků algoritmu není omezený. Situace, že se algoritmus nezastaví, má pravděpodobnost 0. Alena Gollová 10/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Algoritmus GT (=Generate and Test) Máme dva pravděpodobnostní algoritmy A(x) a B(x, y), kde B vrací true či false. Algoritmus GT (x) je kombinuje takto: repeat y A(x) until B(x, y) output y Analýza algoritmu GT Pokud A zastaví s pravděpodobností 1 na vstupu x a pro každý výstup y platí, že B zastaví s pravděpodobností 1 na vstupu (x, y), přitom pro některá y je pravděpodobnost, že B(x, y) vrátí true, kladná, pak také GT zastaví s pravděpodobností 1 na vstupu x. Alena Gollová 11/31

Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test Analýza algoritmus GT Buď H 1 jev, že algoritmus zastaví po provedení prvního cyklu, a T množina všech možných výstupů algoritmu A(x). Náhodná veličina LOOPS má geometrické rozdělení s parametrem p = P[H 1 ]. E(TIME) = E(LOOPS) E(LOOPTIME) = 1 p E(LOOPTIME) pro každé t T je P[OUTPUT = t] = P[OUTPUT = t H 1 ] Alena Gollová 12/31

Algoritmus RN (=Random Number) Vstup: přirozené číslo m 1 Výstup: náhodné přirozené číslo menší než m l log 2 (m) (Aneb: 2 l 1 < m 2 l ) repeat y c {0, 1} l (Typ String) n l 1 y i 2 i (Typ Integer) i=0 until n < m output n Alena Gollová 13/31

Analýza algoritmu RN Algoritmus zastaví s pravděpodobností 1. LOOPS má geometrické rozdělení s parametrem p = m 2 l > 1 2, očekávaný počet cyklů tedy je E(LOOPS) < 2. Čas potřebný pro jeden cyklus je O(l), očekávaný čas je E(TIME) O(2l) = O(l), kde l = len(m). Výstup má rovnomětné rozdělení na množině {0,..., m 1}, tedy P[OUTPUT = n] = 1 m pro každé 0 n m 1. Alena Gollová 14/31

Algoritmus RN (=Random Number) Vstup: přirozená čísla 1 m 1 < m 2 Výstup: náhodné přirozené číslo z množiny {m 1,..., m 2 } l log 2 (m 2 + 1) repeat y c {0, 1} l (Typ String) n l 1 y i 2 i (Typ Integer) i=0 until m 1 n m 2 output n Očekávaný čas je O(l) a výstup má rovnoměrné rozdělení na množině {m 1,..., m 2 }. Alena Gollová 15/31

Algoritmus GT (=Generate and Test) konkrétněji Vstup: konečná množina T a její neprázdná podmnožina T Výstup: náhodný prvek z T repeat y c T until y T output y Předpokládáme, že umíme náhodně vygenerovat prvek z T v očekávaném čase O(f ) a že výstup tohoto algoritmu je rovnoměrně rozdělený na množině T. Dále předpokládáme, že umíme efektivně testovat, zda y T v očekávaném čase O(g), a že T. Přitom oba algoritmy zastaví s pravděpodobností 1. Alena Gollová 16/31

Analýza algoritmu GT Algoritmus GT zastaví s pravděpodobností 1. LOOPS má geometrické rozdělení s parametrem p = T T > 0, očekávaný počet cyklů tedy je E(LOOPS) = T T. Očekávaný čas jednoho cyklu je E(LOOPTIME) O(f + g), celkový očekávaný čas tedy je E(TIME) O( T T (f + g)). Výstup má rovnomětné rozdělení na množině T, tedy P[OUTPUT = t] = 1 T pro každé t T, P[OUTPUT = t] = 0 pro každé t T \ T. Alena Gollová 17/31

Algoritmus RP (=Random Prime) Vstup: přirozené číslo m 2 Výstup: náhodné prvočíslo mezi 2 a m (resp. náhodné l bitové prvočíslo) repeat n c {2,... m} (resp. n c {2 l 1,..., 2 l 1}) until IsPrime(n) output n Algoritmus IsPrime(n) na testování prvočíselnosti zatím berme jako černou skříňku, která vrací pro každé n N true či false. Alena Gollová 18/31

Hustota prvočísel Pro časovou analýzu algoritmu RP potřebujeme odhadnout, kolik je prvočísel a jaká je jejich hustota mezi přirozenými čísly. Eukleidova věta Existuje nekonečně mnoho prvočísel. Tvrzení Pro každé n N lze najít n po sobě jdoucích složených čísel. (Mezi po sobě jdoucími prvočísly jsou libovolně velké díry.) Alena Gollová 19/31

Hustota prvočísel Označme π(m) počet prvočísel mezi 1 až m, včetně m. Čebyševova věta Pro každé přirozené číslo m 2 platí: π(m) Θ( m ln(m) ) Tvrzení Pro každé přirozené číslo m 2: π(m) ln(2) 2 m ln(m). = 0, 35 m ln(m) Alena Gollová 20/31

Hustota prvočísel Důsledek Protože ln(m) = log 2 (m) log 2 (e), platí také π(m) Θ( m len(m) ), aneb existují c 1, c 2 > 0 tak, že pro všechna m m 0 platí: 1 c 1 len(m) < π(m) m < c 1 2 len(m) Poznámka Prvočísel do m = 1000 je celkem 168. m Čebyševův odhad je ln(m) = 1000. ln(1000) = 145. Přitom len(1000) = 10,. náš odhad = 100 je tedy o něco nepřesnější. m len(m) = 1000 len(1000) Alena Gollová 21/31

Hustota prvočísel Bertrandův postulát Pro každé přirozené číslo m 1 je π(2m) π(m) > Aneb prvočísel mezi m a 2m je Ω( m ln(m) ). Důsledek Existuje c > 0 tak, že pro všechna m m 0 platí: c 1 π(2m) π(m) < len(m) m m 3 ln(2m). Alena Gollová 22/31

Analýza algoritmu RP pro deterministický IsPrime(n) Budeme předpokládat, že algoritmus IsPrime(n) pracuje pro všechna n m v čase O(τ(l)), kde l = len(m), a že τ(l) > l. Pak čas potřebný pro jeden cyklus je O(τ(l)). LOOPS má geometrické rozdělení s parametrem p = π(m) m 1, resp. s parametrem p = π(2l ) π(2 l 1 ) pro l bitové prvočíslo. 2 l 1 Díky větám Čebyševově a Bertrandově máme v obou případech odhad p > c l pro vhodnou konstantu c =. 1 3. Očekávaný čas je E(TIME) O(lτ(l)). Výstup je rovnoměrně rozdělen na množině všech prvočísel. Alena Gollová 23/31

Analýza algoritmu RP pro pravděpodobnostní IsPrime(n) Nechť algoritmus IsPrime(n) je pravděpodobnostní algoritmus, který je zatížen jednostrannou chybou: pro n prvočíslo je odpověď true jistá, pro n složené číslo je odpověď true také možná a to s pravděpodobností nejvýše ɛ. Budeme předpokládat, že algoritmus IsPrime(n) pracuje pro všechna n m v očekávaném čase O( τ(l)), kde l = len(m), a že τ(l) > l. Pak očekávaný čas pro jeden cyklus je O( τ(l)). LOOPS má geometrické rozdělení s parametrem p > π(m) m 1, neboť i pro složené n může algoritmus skončit. Díky Čebyševově větě dostáváme p > c l pro vhodné c. = 1 3. Očekávaný čas je E(TIME) = E(LOOPTIME)E(LOOPS) O(l τ(l)). Alena Gollová 24/31

Analýza algoritmu RP pro pravděpodobnostní IsPrime(n) P[OUTPUT = n] = β < 1 n m. π(m) P[OUTPUT = n] > 0 i pro n složené číslo. je stejná pro každé prvočíslo Odhadneme celkovou pravděpodobnost jevu, že výstup je složené číslo. P[IsPrime(n) n složené] P[n složené] P[n složené IsPrime(n)] = P[IsPrime(n)] < < ɛ π(m) m < ɛl c Pravděpodobnost, že výstup je složené číslo je tedy O(ɛl). (Odhad je velmi hruhý, ale postačující pro odpověď na otázku, jak malé máme volit ɛ.) Alena Gollová 25/31

Algoritmus RS (=Random Sequence) Vstup: přirozené číslo m 2 Výstup: nerostoucí posloupnost čísel mezi 1 a m n 0 m, k 0 repeat k k + 1 c {1,..., n k 1 } n k until n k = 1 output (n 1,..., n k ) (totéž číslo může být vybráno znova) Očekávaný čas je O(l 2 ), kde l = len(m) (intervaly se budou zhruba půlit, očekáváme log 2 (m) náhodných výběrů). Alena Gollová 26/31

Algoritmus RFN (=Random Factored Number) Vstup: přirozené číslo m 2, (resp. počet bitů l) Výstup: náhodné faktorizované číslo n m, (resp. l bitové n) repeat vygeneruj nerostoucí posloupnost čísel do m pomocí algoritmu RS, získáme (n 1,..., n k ), v níž se mohou čísla opakovat vyber z ní podposloupnost všech prvočísel pomocí IsPrime(n i ), získáme (p 1,..., p s ), přitom zachováme všechny duplicity n s i=1 p i (jakmile násobení překročí m, nebudeme dále násobit) x c {1,..., m} (aby n bylo náhodně dostatečně velké) until x n m (resp. 2 l n < 2 l+1 ) output n, (p 1,..., p s ) Alena Gollová 27/31

Analýza algoritmu RFN Pro deterministický IsPrime(n) pracující v čase O(τ(l)): Očekávaný čas je E(TIME) O(l 2 τ(l)). Výstup je rovnoměrně rozdělen na množině {1,..., m}. Pro pravděpodobnostní IsPrime(n) pracující v očekávaném čase O( τ(l)), který může vrátit true pro složené číslo s pravděpodobností nejvýše ɛ: Očekávaný čas je E(TIME) O(l 2 τ(l)). Všechny správně faktorizované výstupy jsou stejně pravděpodobné. Pravděpodobnost, že výstup je špatně faktorizovaný je O(ɛl 2 ) pro dostatečně malé ɛ, zhruba ɛl 1 2. Alena Gollová 28/31

Generování náhodného prvočísla p s faktorizací p 1 Algoritmus RPF Vstup: přirozené číslo m 2, (resp. počet bitů l) Výstup: náhodné prvočíslo p m + 1 (resp. l bitové p), spolu s faktorizací pro p 1 repeat vygeneruj náhodné faktorizované číslo do m (resp. l bitové) pomocí algoritmu RFN; získáme n, (p 1,..., p s ) until IsPrime(n + 1) p n + 1 output p, (p 1,..., p s ) faktorizace pro p 1 Alena Gollová 29/31

Generování náhodného prvočísla p s faktorizací p 1 Analýza algoritmu RPF Pro pravděpodobnostní IsPrime(n) pracující v očekávaném čase O( τ(l)), který může vrátit true pro složené číslo s pravděpodobností nejvýše ɛ: Očekávaný čas je O(l 3 τ(l)). Každé prvočíslo p se správně faktorizovaným p 1 je vybráno se stejnou pravděpodobností. Pravděpodobnost, že výstup p není prvočíslo nebo p 1 není správně faktorizováno je O(ɛl 2 ) pro dostatečně malé ɛ, zhruba ɛl 1 2. Alena Gollová 30/31

Literatura Shoup: A Computational Introduction to Number Theory and Algebra. Kapitola 9. Základy teorie pravděpodobnosti najdete tamtéž v kapitole 8, odstavce 1-4 a 10. Věty o prvočíslech najdete tamtéž v kapitole 5. http://shoup.net/ntb/ Alena Gollová 31/31