Académique Documents
Professionnel Documents
Culture Documents
Dorel Lucanu
1 Faculty of Computer Science Alexandru Ioan Cuza University, Iai, Romania s dlucanu@info.uaic.ro
2012
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
1 / 49
Outline
Introducere Fundamente Algorimi Las Vegas Algorimi Monte Carlo MAX-SAT Hashing
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
2 / 49
Introducere
Plan
Introducere Fundamente Algorimi Las Vegas Algorimi Monte Carlo MAX-SAT Hashing
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
3 / 49
Introducere
Introducere
pot mai ecienti i mai simpli dect cei dterminiti care rezolv s a s a aceeai problem s a rmne totui de rspuns la a a s a ntrebarea: sunt utili practic? n a din pcate cazul tipic este acela care nu se tie unde este util a n s de exemplu nu se tie dac un algoritm probabilist cu timp de s a executie polinomial pentru o problem NP-dicil a a pe de alt parte sunt cteva probleme importante, cum ar testarea a a primalitii, pentru care at
exist algoritmi probabiliti polinomiali ecienti a s nu exist algoritm determinist polinomial a nu se tie dac problema este P sau nu (nici dac este NP-complet s a n a a sau nu)
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
5 / 49
Introducere
algoritmii probabiliti sunt utili pentru a rezolva ecient acele s probleme pentru care nu se cunosc metode care s le fac tractabile a a din punct de vedere practic chiar dac sunt putine astfel de cazuri, ele sunt foarte des alnite a nt n viata de zi cu zi (de ex. testul de primalitate) . . . de aceea este important s studiem algoritmii probabiliti a s
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
6 / 49
Fundamente
Plan
Introducere Fundamente Algorimi Las Vegas Algorimi Monte Carlo MAX-SAT Hashing
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
7 / 49
Fundamente
Fundamente
scopul acestor cursuri nu este de a prezenta denitia complet formal a a algorimilor probabiliti s este sucient s vedem algoritmii probabiliti ca ind algoritmi care a s din cnd cnd a n a ntreab de biti aleatorii i si continu activitatea a s a n functie de valoarea acestora punctul de vedere al teoriei probabilitilor este acela c un algoritm at a probabilist A pentru o intrare x determin un experiment probabilistic a un experiment este descris de spatiul probabilistic (SA,x , P), unde SA,x = {C | C este un calcul aleatoriu a lui A pentru intrarea x} i P s este distributia de probabilitate
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
8 / 49
Fundamente
Fundamente
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
10 / 49
Fundamente
timpul mediu de executie nu este totdeauna uor de calculat s . . . de aceea uneori se prefer timpul de executie cazul cel mai a n nefavorabil TimeA (x) = maxC Time(C ) TimeA (n) = max{TimeA (x) | g (x) = n}
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
11 / 49
Fundamente
Executii innite
calculele innite sunt acceptate deoarece nu ntotdeauna nseamn o bucl a a innit a astfel de situatii o decizie nou aleatorie poate duce la calcul ce se n a termin cu succes i d rezultatul dorit a s a o posibilitate de a stopa un calcul ce poate potential innit este de a calcula TimeA din exterior i s oprim executia algoritmului cnd aceasta s a a depete acest timp i furnizarea ca ieire a valorii ? as s s s daca TimeA (n) este rezonabil de mare, atunci ? nu este aa de ru s a deoarece singura lui semnicatie este cea de a restarta algoritmul pentru intrarea x din conguratia initial a
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
12 / 49
Plan
Introducere Fundamente Algorimi Las Vegas Algorimi Monte Carlo MAX-SAT Hashing
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
13 / 49
dau exact totdeauna rezultatul exact i singura variatie de la o executie la s alta pentru aceeai intrare este dat de timpul de executie s a presupune ca A calculeaza F Prob(A(x) = F (x)) = 1 timpul mediu este cel care intereseaza 1 exist i o varant care Prob(A(x) = F (x)) i as a n s 2 1 1 Prob(A(x) = ?) = 1 Prob(A(x) = F (x)) 2 2
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
14 / 49
Randomized Quicksort
exemplul canonic pentru algoritmii Las Vegas se consider o multime peste care este denit o relatie de ordine liniar a a a Algoritmul RQS Intrare: a0 , . . . , an1 Ieire: elementele ai ordine cresctoare s n a
1 2
dac n = 1 a ntoarce a0 , altfel alege aleatoriu k {0, . . . , n 1} calculeaz a S< = {ai | ai < ak } S= = {ai | ai = ak } S> = {ai | ai > ak } sorteaz recursiv S< i S> a s ntoarce secventa S< , S= , S>
3 4
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
15 / 49
we assume that arank(0) . . . arank(n1) Xij = 1 arank(i) i arank(j) sunt comparate s 0 altfel Xij numr comparatiile dintre arank(i) i arank(j) aa s
Xij ] =
n1 i=0
j>i
M[Xij ]
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
16 / 49
pij =
i=0 j>i i=0 j>i
2 j i +1 2 k 1 k
2012 17 / 49
n1 ni+1
2
i=0 k=1
D. Lucanu (UAIC)
Algoritmi probabiliti s
Theorem Numrul mediu de comparatii a ntr-o executie al algoritmului RQS este cel mult 2nHn = O(n log n).
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
18 / 49
Plan
Introducere Fundamente Algorimi Las Vegas Algorimi Monte Carlo MAX-SAT Hashing
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
19 / 49
produce numai uneori solutia corect a pentru probleme de decizii se cunosc dou variante: a cu eroare pe singura parte (one-sided-error) 1 Prob(A(x) = 1) 2 Prob(A(x) = 0) = 1 cu eroare pe ambele prti (two-sided-error) a 1 1 Prob(A(x) = F (x)) + , 0 < 2 2
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
20 / 49
Intermezzo de probabiliti at
E1 , E2 sunt independente dac Prob[E1 E2 ] = Prob[E1 ] Prob[E2 ] a general avem n Prob[E1 E2 ] = Prob[E1 | E2 ] Prob[E2 ] = Prob[E2 | E1 ] Prob[E1 ] formula de mai sus se generalizeaz la un numr oarecare de evenimente a a [linearitatea mediei] M[ i Xi ] = i M[Xi ] [exemplul cu vaporul i marinarii] s
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
21 / 49
Tietur minim a a a
Un multigraf este un graf cu proprietatea c a ntre dou vrfuri pot exista a a mai multe muchii. O tietur multigraful G este o multime de muchii a a n care prin eliminare mparte G dou sau mai multe componente. O n a tietur minim este o tietur de cardinal minim. Vom studia un algoritm a a a a a Monte Carlo care calculeaz o tietur minim a a a a ntr-un multigraf dat. contractie = combinarea a dou vrfuri care sunt extremele unei muchii a a ntr-unul singur; muchiile dintre cele dou vrfuri contractate sunt a a eliminate pas curent: alege aleatoriu uniform o muchie i contract extremitile s a at muchiei alese algoritmul MINCUT repet pasul curent pn cnd rmn dou vrfuri a a a a a a a a ieirea va dat de multimea de muchii ce unesc cele dou vrfuri rmase s a a a a la nal
D. Lucanu (UAIC) Algoritmi probabiliti s 2012 22 / 49
e C tietur minim de cardinal k a a a n G are cel putin k muchii (de ce?) 2 Ei = evenimentul ce const a nu lua o muchie din C la pasul i a (1 i n 2) probabilitatea ca prima muchie aleas s e C este cel mult a a n 2 n k 2 = k n n 2
rezult Prob(E1 ) 1 a
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
23 / 49
2 n1
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
24 / 49
rezult c probabilitatea de a gsi un min-cut este mai mare dect a a a a n2 ori facnd alegeri independente a 2
repetm algoritmul de a
rezult c probabilitatea ca algoritmul s nu gseasc o tietur minim a a a a a a a a n n2 ncercri este cel mult a 2 2 1 2 n
n2 /2
<
1 e
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
25 / 49
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
26 / 49
Algoritmul RandAuto
notatie: (s) = dreapta suport a segementului s RandAuto: 1. alege aleatoriu uniform o permutare a multimii {1, . . . , n} 2. att timp ct o regiune include mai mult dect un segment, a a a mparte regiunea cu (si ), unde si este primul ordinea dat de care traverseaz n a a acea regiune. Theorem Mrimea medie a autopartitiei produse de RandAuto este O(n log n). a
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
27 / 49
index(u, v ) = i dac (u)intersecteaz alte i 1 segmente a a nainte de a atinge v dac (u) nu alnete v a nt s u v = evenimentul ca (u) s taie v a
e index(u, v ) = i i u1 , . . . , ui1 segmentele pe care (u) le interesecteaz s a nainte de a atinge v u v apare numai dac u se a a a naintea oricrui element din a {u1 , . . . , ui1 , v } n probabiltatea ca aceasta s se ample este a nt 1 i +1
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
28 / 49
mrimea partitiei P este n + numrul de intersectii datorit tierilor a a a a astfel media sa este n + M[ n+
u v =u u v
Prob[u
v] n +
u v =u n1 i=1 n1
avem
v =u
1 index(u, v ) + 1 n+2
u
superioar a 1 n + 2nHn i +1
i=1
MAX-SAT
Plan
Introducere Fundamente Algorimi Las Vegas Algorimi Monte Carlo MAX-SAT Hashing
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
30 / 49
MAX-SAT
Probllema MAX-SAT
Intrare: F = F1 . . . Fm o formul propozitional form normal conjuctiv cu a a n a a a variabile X = {x1 , . . . , xn } n Ieire: s Numrul maxim de clauze ce pot satisfcute de o atribuire a a : X {0, 1}
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
31 / 49
MAX-SAT
Algoritmul RSMS
Algoritmul RSMS: 1. se alege aleatoriu uniform = {1 , . . . , n }, i {0, 1} 2. evalueaz ecare clauz Fj i calculeaz Z := numrul de clauze a a s a a satisfcute a 3. ntoarce Z i xi = i , i = 1, . . . , n. s
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
32 / 49
MAX-SAT
m j=1
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
33 / 49
MAX-SAT
Lit(Fj ) = multimea literalilor care apar Fj n Lit + (Fj ) = multimea variabilelor care apar necomplementate Fj n Lit (Fj ) = multimea variabilelor care apar ncomplementate Fj n Lit(Fj ) = Lit + (Fj ) Lit (Fj ) In+ (Fj ) = multimea indicilor din Lit + (Fj ) In (Fj ) = multimea indicilor din Lit (Fj )
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
34 / 49
MAX-SAT
Problema LP(F)
functia obiectiv :
m
max
j=1
zj
constrngeri : a yj +
iIn+ (Fj ) iIn (Fj )
(1 yj ) zj j {1, . . . , m}
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
35 / 49
MAX-SAT
Algoritmul RRRMS
relaxm LP(F): a yi , zj [0, 1] i {1, . . . , n}, zj {1, . . . , m} LP(F) poate rezolvat timp polinomial a n Algoritmul RRRMS: 1. rezolv LP(F) relaxat; e (z1 ), . . . , (zm ), (y1 ), . . . , (yn ) solutia a a optim calculat de algoritm a a 2. alege aleatoriu uniform 1 , . . . , n din [0, 1] 3. pentru i = 1, . . . , n, dac i [0, (yi )] atunci xi = 1, altfel xi = 0; a 4. evalueaz ecare clauz Fj i calculeaz Z := numrul de clauze a a s a a satisfcute a 5. ntoarce Z i xi , i = 1, . . . , n. s Theorem RRRMS este un algoritm de aproximare cu ratia medie mrginit de a a
D. Lucanu (UAIC) Algoritmi probabiliti s 2012
e . e 1
36 / 49
MAX-SAT
Algoritmul combinat
Algoritmul RSMS este bun cand clauzele sunt lungi Algoritmul RRRMS este bun cand clauzele sunt scurte De ce nu am combina cei doi algoritmi? Apelm independent (eventual paralel) cei doi algoritmi i alegem cea a n s mai bun solutie a algoritmul obtinut este un algoritm cu ratia medie mrginit de a a 4 3
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
37 / 49
Hashing
Plan
Introducere Fundamente Algorimi Las Vegas Algorimi Monte Carlo MAX-SAT Hashing
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
38 / 49
Hashing
Tabele hash
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
39 / 49
Hashing
Hashing
Notatii
1 0
hH
y Y
(X , Y , h) =
xX
(x, Y , h) (x, y , H)
y Y
(x, Y , H) = (X , Y , H) =
hH
D. Lucanu (UAIC)
(X , Y , h)
Algoritmi probabiliti s
2012
41 / 49
Hashing
|H| |H| . n m
1 m)
1 1 = |H|( ) n m
2012 42 / 49
D. Lucanu (UAIC)
Hashing
M[(x, S, h)] =
hH
(x, y , H)
y S
1 |H|
y S
|H| |S| = n n
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
43 / 49
Hashing
Theorem Presupunem c solutia pentru coliziuni este cea prin liste antuite. a nl Atunci pentru orice secvent de operatii R de lungime r cu s inserri i h a a s ales aleatoriu uniform dintr-o familie 2-universal H, a M[(h, R)] r 1 + s n
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
44 / 49
Hashing
Hashing
O functie hash h : M N este perfect pentru S M dac nu cauzeaz a a a coliziuni pentru cheile din S.
Familia de functii H = {h : M N} se numete perfect dac pentru s a a orice multime S M de mrime s < n exist o functie h H care este a a perfect pentru S. a
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
46 / 49
Hashing
Schema denit anterior are timpul mediu mrginit dar timpul de cutare a a a cazul cel mai nefavorabil este nemrgnit. n a Putem deni scheme cu timpul de cutare O(1) cazul cel mai a n nefavorabil? Theorem Pentru orice S M cu |S| = s i m s, exist o reprezentare de tabel s a a hash a lui S care necesit spatiul O(s) i permite procesarea operatiei de a s cutare timpul O(1). a n
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
47 / 49
Hashing
Considerm V M cu |V | = v , R = {0, 1, . . . , r 1}, r V a Pentru 1 k p 1 denim hk (x) = (kx mod p) mod r Pentru i R denim coul (bin) care include elementele mapate de hk s i: n Bi (k, r , V ) = {x V | hk (x) = i} i mrimea lor prin s a bi (k, r , V ) = |B( k, r , V )|
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
48 / 49
Hashing
Ideea de demonstratie: Se consider o schem cu dou functii hash: cheia primara este hk i a a a a s mapeaz o multime S M tabela T de mrime n = s. a n a Cheile din Bi (k, r , V ) (elementele din S mapate T [i]) sunt apoi mapate n 2 utiliznd o functie hash secundar ntr-o tabel de dimensiune bi (k, r , V ) a a a hki , care este garanta a perfect. a a De notat c schema considerat este una static. a a a
D. Lucanu (UAIC)
Algoritmi probabiliti s
2012
49 / 49