Sunteți pe pagina 1din 13

Curs 1

Introducere ı̂n teoria probabilităţilor

1.1 Motivaţia studiului teoriei probabilităţilor


ı̂n Computer Science

În ştiinţa şi ingineria calculatoarelor se ı̂ntâlnesc adesea fenomene, evenimente, a căror
producere este incertă. De exemplu:
• timpul de execuţie a unui program;
• cererea de memorie pentru o aplicaţie;
• lungimea cozii pachetelor ı̂ntr-un buffer al unui router internet sau mai general ı̂ntr-
un sistem client–server;
• durata de viaţă a componentelor electronice;
• erorile ı̂ntr-un modul de program;
• expunerea la virusuri.
Incertudinea se manifestă şi ı̂n economie:
• valoarea acţiunilor la SIF Banat–Crişana;
• numărul locurilor de muncă;
• preţul petrolului;
• raportul RON/Euro;
sau ı̂n mediul ı̂nconjurător:
• temperatura azi după masă;
• nivelul poluării Bucureştiului;
• producerea cutremurelor ı̂n zona Vrancea;
Există incertitudine şi la facultate:
• problemele ce se vor da la examen;
• notele la examen;
• timpul de studiu afectat unei discipline;
În fiecare zi ne confruntăm cu incertitudini, facem numeroase supoziţii, prognoze,
calculăm riscuri, rezultate ale unor ”jocuri”, etc. Traversăm o stradă printr-un loc unde
nu există semafor, atunci când considerăm că probabil nici o maşină, ce se vede la o
oarecare distanţă, nu va ajunge la locul pe unde traversăm ı̂n timpul traversării (sperăm
să avem această şansă). Nu luăm dimineaţa umbrela pentru că este improbabil să plouă
ı̂n ziua ı̂n curs. Plecăm la o anumită oră dimineaţa la serviciu, deoarece intervalul de
timp până la ora ı̂nceperii programului este probabil suficient ca să ajungem la timp.

1
2 c E. Petrişor, 2008
Cursul 1, Probabilităţi şi Statistică ı̂n CS °

Toate aceste decizii le luăm atribuind o probabilitate relativă tuturor rezultatelor posi-
bile, chiar dacă acest lucru ı̂l facem ı̂n mod inconştient sau intuitiv.
Deciziile ı̂n afaceri se iau, la fel, ı̂n condiţii de incertitudine. Un brocker decide să
vândă anumite acţiuni pentru că, conform unui model financiar, este probabil ca preţul
lor să scadă. Estimarea greşită a şanselor şi deci luarea deciziilor greşite poate conduce
la inconveniente minore, dar şi la ”dezastre”. De aceea ı̂n ı̂n ştiinţă, inginerie şi afaceri
incertitudinea se măsoară folosind rezultate de teoria probabilităţilor.
Teoria probabilităţilor este un domeniu vast al matematicii. Noi studiem bazele teo-
retice necesare pentru abordarea unor probleme din CS:
• analiza algoritmilor;
• structuri de date probabiliste: skip list, stochastic networks;
• inteligenţă artificială;
• reţele de calculatoare: analiza comportamentului protocoalelor, algoritmilor de rutare
şi a congestiei ı̂n reţele;
• information retrival;
• algoritmi distribuiţi.
Teoria probabilităţilor stă la baza metodelor de studiu a performanţelor sistemelor de
calcul şi a sistemelor software, punând la dispoziţie fundamentul teoretic pentru simularea
proceselor din astfel de sisteme.
Cursul de teoria probabilitaţilor cu aplicaţii ı̂n CS are ca scop dezvoltarea bazelor teo-
retice, care să permită apoi construirea şi analiza unor modele probabiliste frecvent uti-
lizate ı̂n ingineria şi ştiinţa calculatoarelor, precum şi fundamentarea algorimilor de gener-
are de numere aleatoare, de simulare a sistemelor ce includ componente aleatore: simularea
cozilor, a serviciului CPU, a navigării aleatoare ı̂n WWW (algorimul PageRank-Google)
etc. Bazele teoretice sunt prezentate la curs, dezvoltarea abilităţii de modelare proba-
bilistă şi analiza modelului, se realizează la seminar şi prin exersare individuală (teme),
iar ı̂nsuşirea tehnicilor de simulare se realizează prin conceperea ı̂n echipă (6 studenţi) a
codului C ce implementează algoritmi de simulare, la proiect.

1.2 Introducere euristicǎ in teoria probabilitǎţilor


Datele cu care operează teoria probabilităţilor şi statistica sunt obţinute fie prin observaţii
asupra evenimentelor necontrolabile din natură, societate, fie ca rezultat al unui experi-
ment controlat, ı̂ntr-un laborator sau experiment pe calculator. Pentru a avea o termi-
nologie unică, definim un experiment ca fiind procesul prin care efectuăm o observaţie sau
o măsurătoare.
Experimentele care pot avea rezultate diferite ı̂n funcţie de o serie de cir-
cumstanţe şi rezultatele nu pot fi cunoscute ı̂naintea realizării experimentului
se numesc experimente aleatoare.

Exemple de experimente aleatoare:


• Înregistrarea numărului de cereri de acces la un server WEB, ı̂ntr-un interval de
timp (0, t] (experimentul constă ı̂n observarea fluxului sosirii cererilor de acces);
1.3. Spaţiu discret de probabilitate 3

• observarea numărului de comparaţii ı̂ntr-un algoritm de sortare;


• observarea timpului ı̂n care CPU răspunde la o comandă de la un terminal interactiv;
• observarea timpului de viaţă (de bună funcţionare până la prima cădere) a unei
componente electronice;

Definiţia 1.2.1 Rezultatul atomic (nedecompozabil) al unui experiment aleator se numeşte


realizare. Colecţia tuturor realizărilor acoperă orice posibilitate (adică este exhaustivă) şi
nici o realizare nu se suprapune peste o alta (realizările sunt mutual exclusive).
O colecţie de realizări se numeşte eveniment, iar mulţimea tuturor realizărilor –
evenimentul sigur sau spaţiul observabilelor.

Numele de eveniment sigur este folosit doar ı̂n limba română. În limba engleză colecţia
tuturor realizărilor posibile se numeşte sample space.
• Evenimentul sigur se produce cu certitudine la fiecare efectuare a experimentului.
• Evenimentul care nu se produce, ori de câte ori repetăm experimentul ı̂n condiţii
identice, se numeşte eveniment imposibil.
Evenimentul sigur se notează Ω, evenimentul imposibil cu ∅, iar evenimentele partic-
ulare ce sunt părţi ale evenimentului sigur se notează cu A, B, C, . . ..
Experimentul clasic, ce ilustrează aceste noţiuni, este aruncarea zarului. Realizările
posibile ale experimentului sunt apariţia feţei cu numărul 1, 2, 3, 4, 5, 6. Evenimentele de
apariţie a feţei cu numărul k, k = 1, 6, se numesc evenimente elementare. Evenimentul
de apariţie a unei feţe cu număr par este reprezentat simbolic de mulţimea A = {2, 4, 6},
ı̂n timp ce evenimentul apariţiei unei feţe cu numărul mai mare sau egal ca 3 este B =
{3, 4, 5, 6}.

În orice experiment aleator, unui eveniment A ı̂i corespunde evenimentul contrar sau
opus notat {Ω A ({ notează complementara mulţimii A faţa de Ω). Pentru simplitate vom
nota evenimentul opus lui A, prin A. Producerea evenimentului A ı̂nseamnă nerealizarea
evenimentului contrar şi reciproc ({Ω ({Ω (A)) = A). Evenimentul sigur şi evenimentul
imposibil sunt contrare unul altuia: {Ω ∅ = Ω.
Probabilitatea unui eveniment A este un număr notat P (A) ∈ [0, 1], ce reprezintă
şansa pe care o are evenimentul de a se produce.
În concluzie noţiunile primare ı̂n teoria probabilităţilor sunt cele de eveniment ı̂ntr-un
experiment aleator şi de probabilitate a evenimentului.

1.3 Spaţiu discret de probabilitate


În prima parte a cursului considerăm experimente aleatoare ı̂n care numărul realizărilor
este finit sau infinit numărabil, adică mulţimea realizărilor este ı̂n corespondenţa bijectivă
cu mulţimea numerelor naturale.
O bijecţie f : N → Ω, f (n) = ωn , indexează elementele lui Ω, adică:

Ω = {ω1 , ω2 , . . . , ωn , . . .}
4 c E. Petrişor, 2008
Cursul 1, Probabilităţi şi Statistică ı̂n CS °

Notăm cu P(Ω) mulţimea părţilor lui Ω, adică mulţimea tuturor submulţimilor sale.
Dacă mulţimea Ω are n elemente, atunci P(Ω) are 2n elemente.
Dacă mulţimea Ω este numărabilă, atunci mulţimea părţilor sale P(Ω) este
infinită dar ne-numărabilă.
Având precizat evenimentul sigur asociat unui experiment aleator, sarcina cea mai
dificilă este să atribuim o probabilitate de producere fiecărui eveniment posibil ı̂n acel
experiment.
Avem două cazuri ı̂n care probabilitatea unui eveniment se atribuie relativ simplu şi
intuitiv:
a) Mulţimea observabilelor este finită şi toate realizările experimentului sunt egal
probabile (adică nu există motiv ca o realizare să se producă mai frecvent ca alta). În
acest caz se defineşte probabilitatea unui eveniment A:

|A|
P (A) =
|Ω|

ca raportul dintre numărul cazurilor favorabile şi numărul cazurilor posibile. Numărul
cazurilor favorabile este numărul realizărilor a căror colecţie constituie evenimentul A,
a cărui probabilitate o calculăm. De exemplu ı̂n aruncarea zarului (presupus ca un cub
3 1
”perfect”) probabilitatea de apariţie a unei feţe cu număr par este = . 6 este numărul
6 2
cazurilor posibile, iar 3 numărul cazurilor favorabile.
Ori de câte ori ı̂ntr-un enunţ sau problemă se afirmă că se alege, se se-
lectează la ı̂ntâmplare o variantă din n, se presupune (prin convenţie) că cele
n variante sunt echiprobabile, adică au aceeaşi probabilitate.
Exemplul 1. Să se calculeze probabilitatea ca alegând la ı̂ntâmplare un număr de patru
cifre ı̂n baza 10 acesta să fie un număr valid şi ı̂n baza 8.

Rezolvare: Mulţimea tuturor posibilităţilor (evenimentul sigur al experimentului) este


mulţimea numerelor de forma:

Ω = {x = (c3 c2 c1 c0 )10 | ci ∈ {0, 1, 2, 3, . . . , 9}, c3 6= 0}

adică mulţimea tuturor 4–listelor de elemente din {0, 1, 2, 3, . . . , 9}, minus mulţimea 4–
listelor ce ı̂ncep cu 0, care este ı̂n corespondenţa bijectivă cu mulţimea 3–listelor de ele-
mente din {0, 1, 2, 3, . . . , 9}. Evenimentul de interes (mulţimea cazurilor favorabile) este

E = {(o3 o2 o1 o0 )8 | oi ∈ {0, 1, 2, 3, 4, 5, 6, 7}, o3 6= 0}

Cardinalul lui Ω este 104 − 103 , iar al lui E este 84 − 83 . Deci probabilitatea lui E este:
µ ¶3
|E| 84 − 83 4 7
P (E) = = 4 3
=
|Ω| 10 − 10 5 9
1.3. Spaţiu discret de probabilitate 5

În majoritatea experimentelor realizările nu sunt egal probabile.


b) În cazul ı̂n care un experiment aleator are un număr finit de realizări ce nu sunt
egal probabile, nu există o modalitate teoretică care să permită calculul probabilităţii cu
acurateţe absolută. În inginerie, de obicei, se analizează datele existente din repetarea
experimentului de n ori, ı̂n aceleaşi condiţii, şi apoi se aproximează probabilitatea unui
eveniment ca raportul dintre numărul cazurilor k, 0 ≤ k ≤ n, ı̂n care evenimentul de
k
interes s-a produs şi numărul experimentelor, P (A) ≈ . Această aproximare se bazează
n
pe ipoteza că probabilitatea exactă a evenimentului de interes este

k(n)
p = lim ,
n→∞ n

numită limita frecvenţelor experimentale de producere a evenimentului.


Exemplul 2. Probabilitatea ca un anumit tip de ventilator de calculator să asigure
o temperatură ı̂ntre n◦ şi m◦ cel puţin trei luni, ştiind că din cele 120 de ventilatoare
achiziţionate anul trecut 35 nu au avut o fiabilitate de 3 luni este:
numărul ventilatoarelor fiabile
P =
numărul total
= 85/120 ≈ 0.7 (1.1)

În CS se simulează (imită) un fenomen aleator printr-un algoritm ce poate genera


toate evenimentele tipice pentru acel fenomen. Dacă algoritmul generează n evenimente
(interpretate ca rezultatul repetării experimentului aleator de n ori) şi numără câte din cele
n sunt de interes pentru problema ı̂n studiu (de exemplu, k(n) ≤ n), atunci probabilitatea
k(n)
de producere a evenimentului de interes este aproximată de p ≈ . Evident că rulând
n
din nou programul de simulare pentru un n mai mare, numărul k(n) va fi diferit de rularea
precedentă, dar admiţând că probabilitatea exactă este

k(n)
p = lim ,
n→∞ n

k(n)
atunci cu cât n este mai mare cu atât aproximează mai bine probabilitatea exactă,
n
p.
De exemplu dacă avem un algoritm ce generează biţi aleatori (deci simulează două
evenimente posibile: bitul 0 si bitul 1), atunci generând n = 1000 de biţi şi numărând
câţi biţi 1 a generat (de exemplu k(1000) = 335), se estimează probabiliatea de a genera
bitul 1 prin 335/1000 ≈ 1/3.
Chiar dacă atribuirea probabilităţii se face ı̂n mod intuitiv sau bazat pe experienţă
sau experimentare, ea trebuie să respecte nişte axiome care fundamentează ştiinţific
predicţiile. În teoria probabilităţilor familia tuturor evenimentelor asociate unui ex-
periment aleator este reprezentată de o familie K de părţi ale evenimentului sigur Ω,
6 c E. Petrişor, 2008
Cursul 1, Probabilităţi şi Statistică ı̂n CS °

K ⊆ P(Ω). Familia K nu se alege ı̂n mod arbitrar, ci ı̂n aşa fel ı̂ncât să verifice următoarele
condiţii:
1. Ω ∈ K;
2. A ∈ K ⇒ {Ω A ∈ K
3. A, B ∈ K ⇒ A∪B ∈ K; (Reuniunea a două evenimente A şi B este evenimentul
care se produce dacă cel puţin unul dintre cele două se produce.
O astfel de familie o numim ı̂n continuare, familie admisibilă de evenimente.)

Propoziţia 1.3.1 Dacă K este o familie admisibilă de evenimente, atunci:


a) A, B ∈ K ⇒ A∩B ∈ K; (Intersecţia a două evenimente A şi B este evenimentul
care se produce dacă ambele se produc. )
b) A, B ∈ K ⇒ A \ B ∈ K.

Demonstraţie: a) Din definiţia familiei admisibile de evenimente avem că A, B ∈ K ⇒


{Ω A, {Ω B ∈ K şi deci şi {Ω A ∪ {Ω B ∈ K. Complementul acestui eveniment este {Ω ({Ω A ∪
{Ω B) = A ∩ B ∈ K.
b) Fie A, B ∈ K. A \ B = {ω ∈ A şi ω 6∈ B} = A ∩ {Ω B ∈ K.

Evident că Ai ∈ K, i = 1, n, implică ∪ni=1 Ai ∈ K şi ∩ni=1 Ai ∈ K.


Două evenimente A, B cu proprietatea că producerea lor simultană este imposibilă,
A ∩ B = ∅, se numesc evenimente incompatibile sau mutual exclusive (se exclud unul
pe altul). De exemplu, la aruncarea unei monede evenimentul A: ”apariţia capului” şi
evenimentul B: ”apariţia stemei”, sunt mutual exclusive.
Două evenimente A,B cu proprietatea că A∩B 6= ∅ se numesc evenimente compatibile,
adică există cel puţin o realizare a experimentului ce favorizează producerea ambelor
evenimente.

Definiţia 1.3.1 Fie K o familie admisibilă de evenimente asociate mulţimii Ω. O pro-


babilitate pe K este o funcţie P : K → [0, 1] ce verifică condiţiile:
1) P (Ω) = 1.
2) Dacă A, B ∈ K sunt două evenimente mutual exclusive, adică A ∩ B = ∅, atunci
P (A ∪ B) = P (A) + P (B).

Tripletul (Ω, K, P ) se numeşte spaţiu de probabilitate.


Proprietăţi: a) Dacă A ∈ K atunci probabilitatea evenimentului opus lui A este
P ({Ω A) = 1 − P (A). În particular probabilitatea evenimentului imposibil este 0: P (∅) =
0.
b) Dacă A, B ∈ K şi A ∩ B 6= ∅, atunci P (A ∪ B) = P (A) + P (B) − P (A ∩ B).
c) Dacă A, B ∈ K şi A ⊆ B, atunci P (A) ≤ P (B).
1.3. Spaţiu discret de probabilitate 7

Demonstraţie: a) Deoarece Ω = A ∪ {Ω A şi evenimentele A, {Ω A sunt mutual exclusive,


rezultă că 1 = P (A) + P ({Ω A), adică P ({Ω A) = 1 − P (A). ∅ = {Ω Ω şi deci P (∅) =
1 − P (Ω) = 1 − 1 = 0.
b) Fie A, B ∈ K. A ∪ B=A ∪ (B \ A). Cum A şi B \ A sunt mutual exclusive avem:

P (A ∪ B) = P (A) + P (B \ A) (1.2)
Pe de altă parte B = (A ∩ B) ∪ (B \ A) şi cum aceasta este o reuniune de evenimente
disjuncte (mutual exclusive) rezultă că:

P (B) = P (A ∩ B) + P (B \ A) (1.3)
Scăzând relaţia (1.3) din (1.2) obţinem:

P (A ∪ B) − P (B) = P (A) − P (A ∩ B), (1.4)


adică P (A ∪ B) = P (A) + P (B) − P (A ∩ B).
c) Deoarece A ⊆ B, avem că B = A ∪ (B \ A). Astfel P (B) = P (A) + P (B \ A). Cum
P (B \ A) ≥ 0, rezultă că P (B) ≥ P (A).
Din proprietatea b) rezultă că P (A ∪ B) ≤ P (A) + P (B). Această inegalitate se
numeşte inegalitatea lui Boole.

Propoziţia 1.3.2 a) DacăPevenimentele A1 , A2 , . . . , An sunt mutual exclusive două câte


două, atunci P (∪ni=1 Ai ) = ni=1 P (Ai );
b) Pentru n evenimente arbitrare A1 , A2 , . . . , An probabilitatea reuniunii lor este:
Pn P
P (∪ni=1 Ai ) = i=1 P (Ai ) − 1≤i1 <i2 ≤n P (Ai1 ∩ Ai2 )+

P
1≤i1 <i2 <i3 ≤n P (Ai1 ∩ Ai2 ∩ Ai3 ) + · · ·
P (1.5)
k+1
(−1) 1≤i1 <i2 <···<ik ≤n P (Ai1 ∩ Ai2 ∩ · · · ∩ Aik ) + · · · +

(−1)n+1 P (A1 ∩ A2 ∩ · · · ∩ An )

În cazul particular n = 3 egalitatea b) din propoziţia de mai sus este:

P (A1 ∪ A2 ∪ A3 ) = P (A1 ) + P (A2 ) + P (A3 )


− P (A1 ∩ A2 ) − P (A1 ∩ A3 ) − P (A2 ∩ A3 ) (1.6)
+ P (A1 ∩ A2 ∩ A3 )

Exemplul 3. În criptografie (ştiinţa criptării (codificării) informaţiei pentru a fi transmisă


ı̂n siguranţă către un destinatar) se lucrează cu spaţiul de probabilitate (Ω, P(Ω), P ), unde
Ω este mulţimea finită a stringurilor de n biţi

{(s1 s2 . . . sn ) | si ∈ {0, 1}},


8 c E. Petrişor, 2008
Cursul 1, Probabilităţi şi Statistică ı̂n CS °

identificată cu mulţimea aplicaţiilor s : {1, 2, . . . , n} → {0, 1}, adică

notaţie
Ω = {0, 1}{1,2,...,n} = {0, 1}n ,

Cardinalul mulţimii este |Ω| = 2n . Un element al lui {0, 1}n se numeşte mesaj şi se notează
cu m. O probabilitate pe {0, 1}n este definită de o funcţie pozitivă p : {0, 1}n → R+ , ce
asociază fiecărui mesaj un număr din intervalul [0, 1] şi
X
p(m) = 1
m∈{0,1}n

Probabilitatea ca un mesaj să fie generat, selectat, decriptat (depinde de context) se


defineşte atunci prin P ({m}) = p(m).
1 1
Cea mai simplă probabilitate este definită de funcţia p(m) = = n , adică fiecare
|Ω| 2
mesaj de n biţi are aceeaşi probabilitate de a fi generat, selectat sau decriptat (mesajele
sunt echiprobabile). De obicei ı̂n criptografie se folosesc probabilităţi P 0 ce sunt ²–
apropiate de această probabilitate uniformă. Mai precis, distanţa dintre două probabilităţi
P , P 0 definite de funcţiile p, respectiv p0 , se defineşte prin:
1 X
dist(P, P 0 ) = |p(m) − p0 (m)|
2
m∈{0,1}n

Prezentăm ı̂n continuare o problemă celebră ı̂n teoria probabilităţilor, numită problema
zilei de naştere, care a constituit punctul de plecare pentru dezvoltarea unor metode de
analiză a algoritmilor, precum şi ı̂n criptografie
Exemplul 4. (Problema zilei de naştere) n persoane participă la un reuniune. Care este
probabilitatea ca cel puţin două dintre ele să aibă aceeaşi zi de naştere, ı̂n ani diferiţi sau
nu?
Presupunem că anul are 365 de zile (ignorăm anii bisecţi). Notăm cu A mulţimea
participanţilor la reuniune, A = {1, 2, . . . , n} şi cu B = {1, 2, 3, . . . , 365} mulţimea co-
durilor pentru zilele anului.
• Mulţimea Ω a tuturor posibilităţilor pentru zilele de naştere ale celor n persoane
coincide cu mulţimea n–listelor cu elemente din B sau echivalent cu mulţimea aplicaţiilor
de la A la B, adică Ω = B A . De exemplu, dacă n = 15 o lista posibilă de zile de naştere
este:
(32, 24, 125, 51, 73, 84, 279, 330, 23, 127, 71, 95, 199, 211, 5),
unde 32 inseamna 1 februarie, 24 este 24 ianuarie, 125 calculati voi, etc.
Cardinalul lui Ω este |Ω| = 365n .
• Lucrăm ı̂n ipoteza că zilele de naştere sunt aleator (la ı̂ntâmplare) distribuite ı̂n cele
365 zile şi n–listele de zile de naştere sunt echiprobabile.
1.3. Spaţiu discret de probabilitate 9

• Fie En evenimentul ”cel puţin două persoane din cele n ce participă la reuniune au
aceeaşi zi de naştere”. Probabilitea acestui eveniment este P (En ) = |En |/|Ω|. Este mai
simplu ı̂nsă să calculăm probabilitatea complementarei lui En .
• Complementul {Ω En este evenimentul ca printre cele n persoane să nu existe două
cu aceeaşi zi de naştere, adică:

{Ω En = {f ∈ B A | f este injecţie}

este mulţimea aplicaţiilor injective de la A la B (o injecţie asociază la oricare două per-


soane diferite, zile de naştere diferite). Astfel:

numărul injecţiilor de la A la B An 365(365 − 1) · · · (365 − n + 1)


P ({Ω En ) = = 365n =
numărul aplicaţiilor de la A la B 365 365n
µ ¶µ ¶ µ ¶
365 365 − 1 365 − (n − 1) 1 2 n−1
= ··· = 1− 1− ··· 1 −
365 365 365 365 365 365

Qn−1 k
= k=1 (1 − )
365
Deci,

n−1
k

P (En ) = 1 − P ({Ω En ) = 1 − 1−
k=1
365

Pentru a extrage informaţie din această formulă de calcul procedăm astfel: pentru
n = 2, 3, 4, . . . 100, calculăm probabilitatea pn = P (En ), adică probabilitatea ca ı̂ntr-un
grup de n persoane să fie cel puţin două cu aceeaşi zi de naştere. Într-un sistem de axe
ortogonale vizualizăm punctele de coordonate (n, pn ). Fig.1.1 ilustrează aceste puncte.
Pentru a vă convinge că aceasta este ”distribuţia” probabilităţilor rezolvaţi:

Problemă a) Scrieţi codul C pentru afişarea probabilităţilor pn pentru n = 2, . . . 60.


Sugerez o funcţie recursivă pentru calculul probabilităţii P ({En ).
Afişaţi rezultatele ı̂n forma tabelară:

n pn

b) Aflaţi câte persoane trebuie să participe la reuniune pentru a avea o probabilitate mai
mare de 1/2 pentru ca cel puţin doi participanţi să aibă aceeaşi zi de naştere.
c) Câte persoane trebuie să participe pentru ca probabilitatea aceluiaşi eveniment să
crească la 0.8.
Atât din figură cât şi din tabelul ce va rezulta, se constată că probabilitatea de a găsi
ı̂ntr-un grup de 23 de persoane cel puţin două cu aceeaşi zi de naştere este mai mare decât
1/2: p23 = 0.507297.
10 c E. Petrişor, 2008
Cursul 1, Probabilităţi şi Statistică ı̂n CS °

0.8
pn

0.6

0.4

0.2

0
0 10 20 30 40 50 60 70
n

Fig.1.1: Probabilităţile pn , n = 12, . . . , 75.

Acest rezultat este contrar intuiţiei umane. Pare nefiresc ca ı̂ntr-un grup de doar 23
persoane să existe cel puţin două cu aceeaşi zi de naştere, cu o probabilitate mai mare de
1/2. De aceea, acest fenomen este cunoscut ı̂n CS ca the birthday paradox.
Generalizare. Problema probabilităţii coincidenţei zilei de naştere apare ı̂ntr-o formă
generalizată ı̂n criptografie şi analiza algoritmilor. Şi anume: avem n obiecte numero-
tate 1, 2, . . . , n şi N containere (recipienţi), N ≥ n. Pe rând obiectele sunt atribuite
la ı̂ntâmplare containerelor (sunt aruncate la ı̂ntâmplare ı̂n containere). La ı̂ntâmplare
ı̂nseamnă că fiecare obiect poate ateriza ı̂n oricare container cu aceeaşi probabilitate. Dacă
ı̂ntr-un container au căzut cel puţin două obiecte spunem că s-a produs o coliziune. Prob-
abilitatea să se producă cel puţin o coliziune după aruncarea celor n obiecte ı̂n cele N
containere se calculează similar cu probabilitatea să participe la reuniune cel puţin două
persoane cu aceeaşi zi de naştere. În cazul coliziunii 365 se ı̂nlocuieşte cu N . Astfel avem:

Propoziţia 1.3.3 Pentru N ≥ n ≥ 2 probabilitatea a cel puţin unei coliziuni C(N, n)


este
n−1
Y k
P (C(N, n)) = 1 − (1 − )
k=1
N
şi
P (C(N, n)) ≥ 1 − e−n(n−1)/2N

Demonstraţie: OPŢIONAL
Probabilitatea de nu se produce nici o coliziune după aruncarea celor n obiecte ı̂n N
containere este:
1.3. Spaţiu discret de probabilitate 11


n−1
k

1 − P (C(N, n)) = 1−
k=1
N

Folosind inegalitatea 1 − x ≤ e−x , valabilă pentru orice x ∈ [0, 1], avem că:

µ ¶ Yµ
n−1 ¶ n−1
Y
k −k/N k 1 2 n−1
1− ≤e şi 1− ≤ e−k/N = e− N − N −···− N = e−n(n−1)/2N
N k=1
N k=1

Deci probabilitatea producerii a cel puţin unei coliziuni este cel puţin 1 − e−n(n−1)/2N ,
adică:
2 /2N
P (C(N, n)) ≥ 1 − e−n(n−1)/2N ≥ 1 − e−(n−1)
2 /2N
Notând această probabilitate cu P (n) din P (n) ≥ 1 − e−(n−1) obţinem prin inversare
r
1
n(P ) ≤ 1 + 2N ln (1.7)
1−P

adică numărul de obiecte ce trebuie aruncate


q ı̂n N containere pentru a obţine o coliziune
1
cu probabilitatea P este cel mult 1 + 2N ln 1−P .

Să ilustrăm ce informaţie obţinem din această dependenţă a numărului n de probabilitatea


P , relativ la şansa pe care o are un adversar să decripteze o semnătură digitală.
Atacul birthday asupra unei funcţii hash
Un exemplu simplu de funcţie hash este semnătura digitală. Pentru autentificarea
expeditorului unui mesaj sau document, de către destinatar, se adaugă mesajului
un bloc de date ce constituie aşa numita semnătură digitală a expeditorului. Ea se
constituie asociind unui string s de lungime variabilă ≤ L (ce conţine informaţii
despre expeditor), un string de lungime fixă, de n biţi, ca rezultat al criptării
stringului s. Funcţia h ce asociază unui string de lungime variabilă, stringul de
lungime fixă, n, este o funcţie h : {0, 1}≤L → {0, 1}n şi se numeşte funcţie hash.
O funcţie hash se construieşte astfel ı̂ncât să poată fi rapid evaluată. De obicei h
este compusa mai multor operaţii modulo p, pe biţi, aplicate stringului argument
s şi unei chei k. Funcţia hash se alege astfel ı̂ncât dacă un adversar interceptează
semnătura digitală, adică o valoare hash v ∈ {0, 1}n , să fie teoretic nefezabilă,
ı̂ntr-un timp limitat, determinarea unui string s cu proprietatea că h(s) = v,
chiar dacă adversarul dispune de o putere mare de calcul.
Paradoxul zilei de naştere a sugerat şi necesitatea asigurării unei alte proprietăţi
de securitate a funcţiei hash, numită rezistenţa la coliziune. Şi anume, ı̂ntr-un
atac, numit birthday attack, adversarul ı̂ncearcă să găsească două stringuri s, s0 ce
au aceeaşi valoare hash: h(s) = h(s0 ).
12 c E. Petrişor, 2008
Cursul 1, Probabilităţi şi Statistică ı̂n CS °
Să analizăm ı̂n cazul functiei cu valori hash pe 64 de biţi, câte stringuri trebuie
să genereze adversarul, la ı̂ntâmplare, pentru a obţine cu probabilitate mai mare
de 1/2, cel puţin o coliziune, adică două stringuri s, s0 ce au aceeaşi valoare hash.
Cu alte cuvinte evaluăm n(1/2) din relaţia (1.7) ı̂n cazul N = 264 , unde N este
numărul valorilor hash posibile pentru funcţia h:
s
1
n(1/2) ≤ 1 + 265 ln ≈ 1 + 5.056937540686587e + 009
1 − 1/2

Dacă programul adversarului generează ı̂ntr-o secundă un milion de stringuri şi


valorile lor hash, atunci pentru a evalua 5.056937540686587e + 009 (neglijăm 1)
valori hash are nevoie de

5.056937540686588e + 003secunde ≈ 84 minute = 1 oră şi 24 minute

În concluzie pentru a preveni succesul unui atac birthday, se construiesc funcţii
hash cu valori exprimate printr-un număr mare de biţi. De exemplu algoritmul
SHA1 folosit pentru semnături digitale generează valori hash ı̂n {0, 1}160 .
Există situaţii când evenimentul sigur (colecţia tuturor realizărilor unei experiment)
este o mulţime infinită. În acest caz şi familia evenimentelor poate fi infinită şi deci
familia admisibilă de evenimente este neadecvat, deoarece definiţia sa nu include referiri
la reuniunea unei familii arbitrare (nu neapărat finită) de evenimente. În acest caz se
defineşte familia boreliană de evenimente:

Definiţia 1.3.2 Fie mulţimea Ω 6= ∅. Se numeşte familie boreliană de evenimente o


familie de părţi K ale lui Ω ce verifică condiţiile:
1. Ω ∈ K;
2. A ∈ K ⇒ {Ω A ∈ K
3. Oricare ar fi şirul (An )n∈N de submulţimi din K ⇒ ∪∞
n=1 An ∈ K.

Definiţia 1.3.3 O probabilitate pe o familie boreliană de evenimente, K, este o funcţie


P : K → [0, 1] cu proprietăţile:
1) P (Ω) = 1.
2) pentru orice şir (An )n∈N din K, cu An ∩ Am = ∅, ∀n 6= m avem:

[ ∞
X
P( An ) = P (An ). (1.8)
n=1 n=1

Tripletul (Ω, K, P ), unde K este o familie boreliană de evenimente şi P o probabilitate pe


acesta se numeşte spaţiu sau câmp de probabilitate.

Dăm fără demonstraţie


P∞ câteva proprietăţi utile ale probabilităţii:
1) P (∪∞ A
n=1 n ) ≤ n=1 P (An ), pentru orice şir (An ), An ∈ K.
2) dacă (An ) este un şir crescător de evenimente, adică An ⊂ An+1 , ∀ n ∈ N, atunci
P (∪∞
n=1 An ) = limn→∞ P (An );
1.3. Spaţiu discret de probabilitate 13

3) dacă (An ) este un şir descrescător de evenimente, An ⊃ An+1 , ∀ n ∈ N, atunci


∩∞ ∞
n=1 An ∈ K şi P (∩n=1 An ) = limn→∞ P (An ) (proprietatea de continuitate a probabilităţii);
Exemplul cel mai simplu de familie admisibilă (borelian) de evenimente este acela ı̂n
care Ω este mulţime finită (infinit numărabilă) şi K = P(Ω) coincide cu mulţimea părţilor
lui Ω. În cele ce urmează o mulţime numărabilă este una finită sau ı̂n corespondenţa
bijectivă cu N.
Observaţia 1.3.1 Dacă Ω este o mulţime numărabilă şi p : Ω → R este o funcţie cu
valori pozitive astfel ı̂ncât seria următoare să fie convergentă şi să aibă suma 1:
X
p(ω) = 1, (1.9)
ω∈Ω

atunci funcţia P : P(Ω) → [0, 1] definită prin


X
P (A) = p(ω) (1.10)
ω∈A

este o funcţie de probabilitate pe K = P(Ω) şi deci (Ω, P(Ω), P ) este un spaţiu de probabil-
itate. Reciproc, orice probabilitate definită pe P(Ω) este de acest tip, cu p(ω) = P ({ω}).
În cazul ı̂n care Ω este infinit numărabilă, elementele unei submulţimi A ⊂ Ω se
pot numerota, adică există o aplicaţie bijectivăPn 7→ an de la N la A. Probabilitatea
evenimentului A, P (A), este atunci suma seriei ∞ n=0 p(an ) şi nu depinde decât de A nu
şi de numerotarea particulară a elementelor sale.
Exemplul 5. Fie P o probabilitate pe (N∗ , P(N∗ )), definită de funcţia p : N∗ → R prin
p(k) = 2−k Interpretând {n} ca evenimentul ca un algoritm să genereze numărul n să se
calculeze probabilitatea de a genera un număr n > 3; un număr multiplu de 3; un număr
al cărui rest prin ı̂mpărţirea la 4 este 3.
P
Funcţia p defineşte o probabilitate pe (N∗ , P(NP∗
)) dacă seria ∞n=1 p(n) este convergentă
∞ n
şi are suma 1. Şirul sumelor parţiale ale seriei n=1 1/2 este:
1 1 1 1 1 − ( 12 )m
sm = + 2 + ··· m = şi lim sm = 1
2 2 2 2 1 − 12 m→∞

Deci funcţia p defineşte o probabilitate pe (N∗ , P(N∗ )) prin:


1
P ({n}) = p(n) =
2n
Fie E1 = {n ∈ N∗ | n > 3}. Probabilitatea acestui eveniment este:
X X 1 1 1 1
P (E1 ) = p(n) = n
= lim + + · · · =
2 m→∞ 24 2 5 2m
n∈E 1 n>3

1 1 1 1 1 − ( 21 )m−4+1 1
lim 4 (1 + + · · · + m−4 ) = lim 4 1 = 3
m→∞ 2 2 2 m→∞ 2 1− 2 2
Temă: Calculaţi probabilităţile celorlate două evenimente precizate ı̂n enunţ.

S-ar putea să vă placă și