• Aucun résultat trouvé

Corrigé Remplissage

N/A
N/A
Protected

Academic year: 2022

Partager "Corrigé Remplissage"

Copied!
24
0
0

Texte intégral

(1)

Le problème du "Coupon collector"

Rappels de probabilité

Remplissage d’une table de hachage

Jean-Marc.Vincent@imag.fr

Université Grenoble-Alpes

Grenoble 11 février 2018

(2)

L E PROBLÈME DU "C OUPON C OLLECTOR "

Soit une table de hachage de tailleM(hachage ouvert) etnobjets à hacher dans la table.

Le problème desPanini

Votre petit cousin collectionne les vignettes autocollantes des footballeurs célèbres. Il achète les vignettes à l’unité à 0.10 euros dans des pochettes opaques et cherche à compléter son album en collectionnant lesM=300 vignettes distinctes de son album.

On suppose que l’éditeur des vignettes est honnête et qu’il imprime les vignettes dans les mêmes proportions (il n’y a pas de vignettes plus rares que d’autres et chaque pochette achetée contient une des 300 vignettes au hasard).

Notations

I U1,U2,U3,· · ·,Un,· · ·la séquence modélisant la suite des objets à insérer dans la table, Uk∈ {1,· · ·,M},Uksera l’adresse où sera haché l’objetk.

U1,U2,U3,· · ·,Un,· · ·, sont des variables aléatoires, c’est à dire qu’elles prendront des valeurs lors de l’exécution

(3)

T ABLE DE HACHAGE : QUESTIONS

Point de vue utilisateur

I Coût de la recherche d’un objet (fructueuse ou infructueuse)

I Coût d’une insertion/suppression

Point de vue système

I Taux de remplissage de la tableα=Mn

I Taux de cases vides

(4)

H YPOTHÈSES STATISTIQUES

Uniformité

On suppose que la fonction de hachage est parfaite, c’est à dire que le calcul de la case d’insertion d’un objet est modélisé par un tirage aléatoire de loiuniformeparmi toutes les valeurs possibles, ici dans{1,· · ·,M}.

Pour toutk∈ {1,· · ·,M}on aP(Ui=k) = 1 M.

Indépendance

On suppose que la fonction de hachage "mélange" bien les objets, c’est à dire que les tirages modélisant les choix de cases pour les objets sontindépendants. Dans ce cas, la probabilité de collision entre 2 objets seraP(Ui=Uj) =M1.

La suite{Un}n∈

Nest donc une suite de variables aléatoires indépendantes de même loi uniforme sur{1,· · ·,M}

(5)

L OI DE B ERNOULLI

Considérons un jet de pièce de monnaie dont on observe le résultat "pile ou face". La pièce est dite biaisée si la proportion d’observation de pile sur un grand nombre de lancers n’est pas12. On modélise ce jet de pièce par une variable aléatoireXpar convention "pile" est représenté par 1 et "face" par 0.

X=

(1 si la pièce tombe sur "pile"

0 sinon, c’est à dire la pièce tombe sup "face"

On note

p=P(X=1) =1−P(X=0).

La loi deXest appeléeloi de Bernoulli de paramètrepet est notéeB(p).

(6)

L OI DE B ERNOULLI (2)

I Laloid’une variable aléatoireXde loi de BernoulliB(p)est

P(X=a) =pa(1−p)1−a poura=0 oua=1

I Samoyenne EX=p.

Ce qui s’interprète en terme de fréquence : dans une suite de lancers de la pièce la fréquence d’apparition de "pile" estp.

I Lavarianced’une variable aléatoire de loi de Bernoulli est Var X=E(X−EX)2=p(1−p).

Refaire le calcul à partir de la loi. On observe que pourp=0 oup=1 la pièce tombe toujours sur le même coté et la variance est nulle. La variance est maximale pourp=12, lorsque la pièce n’est pas biaisée.

(7)

S CHÉMA DE B ERNOULLI

Considérons un jeu de "pile/face" biaisé modélisé par une suite de variables aléatoires X1,· · ·,Xn,· · ·à valeur dans{0,1}, indépendantes de même loi de BernoulliB(p) avec 06p61, c’est à dire

P(Xi=1) =p, P(Xi=0) =1−p Un tel modèle s’appelleschéma de Bernoulli.

Pour unndonné, calculons la probabilité d’observer un vecteur[a1,· · ·,an]avec ai∈ {0,1}

P([X1,X2,· · ·,Xn] = [a1,· · ·,an])

= P(X1=a1,X2=a2,· · ·,Xn=an)

= P(X1=a1)P(X2=a2)· · ·P(Xn=an) car les variablesXisont indépendantes,

= pa1(1−p)1−a1×pa2(1−p)1−a2× · · · ×pan(1−p)1−an car lesXiont la même loiB(p)

= pPiai(1−p)n−Piai

(8)

L A LOI B INOMIALE (1)

Considérons un jeu den"pile/face" biaisé modélisé par une suite denvariables aléatoiresX1,· · ·,Xnà valeur dans{0,1}, indépendantes de même loi de Bernoulli B(p)avec 06p61.

On s’intéresse à la variableSnqui compte le nombre de "pile", c’est à dire Sn=X1+X2+· · ·+Xn.

On en déduit que

P(Sn=k) =n k

|{z}

(a)

pk(1−p)n−k

| {z }

(b)

.

(a) nombre de vecteurs denbits ayant exactementkbits à 1 (b) probabilité d’observer un vecteur donné denbits ayantkbits à 1 La loi deSnest appeléeloi binomialeet notéeBin(n,p)

(9)

L A LOI B INOMIALE (2)

I Laloid’une variable aléatoireSnde loi binomiale est

P(Sn=k) =n k

pk(1−p)n−k pourk=0,1,2,3,· · ·,n

I Samoyenne ESn=np.

I Savariance

Var Sn=E(Sn−ESn)2=np(1−p)

(10)

L A LOI B INOMIALE (3)

Densité discrète

0.00 0.05 0.10 0.15

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 x

Probabilité

Loi binomiale de paramètre (20,0.3)

Fonction de répartition

0.00 0.25 0.50 0.75 1.00

0123456789 10 11 12 13 14 15 16 17 18 19 20 x

Probabilité cummulée

Loi binomiale de paramètre (20,0.3)

ES20=20×0.3=6

Var S20=20×0.3×(1−0.3) =4.2

(11)

A PPLICATION AUX TABLES DE HACHAGE

SoitXk le nombre de clés hachées sur la casej. Prenons comme variable auxiliaire Xi,kla variable booléenne indiquant si la cléia été hachée vers la casek.

Xj=

n

X

i=1

Xi,j.

Or

P(Xi,j=1) =P(Ui=k) = 1 M,

et pourjfixé lesXi,jsont indépendantes (car concernent des clés différentes) de même loiB(M1).

DoncXjsuit une loiBin(n,M1).

P(Xj=k) =n k

1 M

k

(1− 1 M)n−k

(12)

A PPLICATION AUX TABLES DE HACHAGE (2)

On noteα=Mn le taux de remplissage de la table.

Recherche infructueuse

Pour rechercher un élémentxqui n’est pas dans la table, on calcule son hash et on teste s’il appartient à l’ensemble des éléments hachés sur cette case.

Donc le nombre de tests correspond àXjsih(x) =j Donc en moyenneEXj=Mn =α=O(α)

Recherche d’un élément de la table

On va tester les éléments hachés sur la même casej=h(x), on s’arrête lorsque l’on a trouvéx.

On regarde donc un ensemble d’éléments qui sont associés àjdonc en moyenne on a

E(Xj|Xj>1) =

n M

P(Xj>1)= n M

1 1−(1− 1

M)M 'α 1

1−e−1 'α1.6=O(α) éléments hachés dans la même casej, donc la complexité d’une recherche fructueuse sera de l’ordre deα.a

a. en faisant un développement limité on montre facilement que

(13)

A PPLICATION AUX TABLES DE HACHAGE (3)

Calculons le nombre moyen de cases vides.

Pour cela associons à chaque casejune variableZjindiquant si elle est vide ou non

Zj= (

1 si la casejest vide ;

0 sinon, c’est à dire qu’au moins un élément à été haché surJ.

Zjest une variable aléatoire de loi de BernoulliB((1−M1)n), c’est-à-dire

P(Zj =1) = (1− 1 M)n

Le nombre total de cases vides estZ=Z1+Z2+· · ·+ZM, d’où

EZ=E(Z1+Z2+· · ·+ZM) =EZ1+EZ2+· · ·+EZM=M(1− 1 M)n. Si on supposengrand et un taux de remplissageα

EZ=M(1−α

n)n'Me−α.

Donc en moyenne laproportion de cases libres est environEMZ 'e−α.

(14)

A PPLICATION AUX TABLES DE HACHAGE (4)

Variabilité du nombre de cases vides.

Il faut calculerVar Z=Var(Z1+Z2+· · ·+ZM), or les variablesZine sont pas indépendantes, doncVar Z 6=MVar Z1=Me−α.

Var Z = EZ2−(EZ)2=EZ2−M2e−2α

= E(Z1+Z2+· · ·+ZM)2−M2e−2α

=

M

X

i=1

Zi2+2

M

X

i<j

EZi.Zj−M2e−2α

= Me−α+2M(M−1)

2 EZ1.Z2−M2e−2α orEZ1.Z2=P(Z1Z2=1) =

M−2 M

n

'e−2α

= Me−α+M(M−1)e−2α−M2e−2α

= Me−α(1−e−α)

(15)

C ONVERGENCE

Théorème de convergence vers une loi de Poisson

SoitS1,S2,· · ·,Sn,· · · une suite de variables aléatoires de loiBin(n,αn), alors

n→∞lim P(Sn=k) =e−ααk k!

on dit que la suiteSnconverge en loi vers une loi de Poisson de paramètreαet on note Bin(n,α

n)−→L P(α).

Preuve

P(Sn=k) = n k

(α n)k(1−α

n)n−k

= n(n−1)· · ·(n−k+1) k!

αk nk(1−α

n)n(n−α n )−k

= n(n−1)· · ·(n−k+1) (n−α)k

| {z }

−→1

αk k! (1−α

n)n

| {z }

−→e−α

=e−ααk k!

(16)

L A LOI DE P OISSON

Densité discrèteP(8)

0.00 0.25 0.50 0.75 1.00

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 x

Probabilité cummulée

Loi de poisson de paramètre (8)

Fonction de répartition

0.00 0.25 0.50 0.75 1.00

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 x

Probabilité cummulée

Loi de poisson de paramètre (8)

PourX∼P(α)

EX=αetVar X=α

(17)

G RANDES VALEURS

PourX∼P(α)

P(X>k) =

X

i=k

e−ααi

i! =e−ααk

X

j=0

αj (j+k)!

or(k+j)!>k!j!d’où

P(X>k)6αk k!

La décroissance de la probabilité d’excéderkdécroit extrêmement rapidement,

(18)

L OI GÉOMÉTRIQUE

Considérons un schéma de Bernoulli, suite infinie de variables aléatoires

X1,· · ·,Xn,· · ·à valeur dans{0,1}, indépendantes de même loi de BernoulliB(p) avec 06p61, c’est à dire que pour toutnet pour tout vecteur[a1,· · ·,an]avec ai∈ {0,1}on a

P([X1,X2,· · ·,Xn] = [a1,· · ·,an]) =pPiai(1−p)n−Piai.

SoitYla variable aléatoire modélisant la première apparition de "pile", la loi deYse calcule comme suit :

P(Y=k) = P(X1=0,X2=0,· · ·,Xk−1=0,Xk =1)

l’événement correspond àk−1 tirages successifs de "face"

suivi d’un "pile"

= P(X1=0)P(X2=0)· · ·P(Xk−1=0)P(Xk =1) car les variablesXisont indépendantes,

= (1−p)×(1−p)× · · · ×(1−p)×p car lesXiont la même loiB(p),

= (1−p)k−1p

(19)

L OI GÉOMÉTRIQUE (2)

I Laloid’une variable aléatoireYde loi géométrique est

P(Y=k) = (1−p)k−1p pourk=1,2,3,· · ·

I Samoyenne

EY=1 p.

Ce qui s’interprète en terme de fréquence : dans une suite de lancers de la pièce la fréquence d’apparition de "pile" estp, donc en moyenne entre 2 "pile" on fait1ptirages.

I Lavarianced’une variable aléatoire de loi géométrique est

Var Y=E(Y−EY)2=1−p p2 Refaire le calcul à partir de la loi.

(20)

L A LOI GÉOMÉTRIQUE (3)

Densité discrète

0.00 0.05 0.10 0.15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 x

Probabilité

Loi géométrique de paramètre (1/6)

Fonction de répartition

0.00 0.25 0.50 0.75 1.00

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 x

Probabilité cummulée

Loi géométrique de paramètre (1/6)

EY=1 p =6

Var Y=1−p p2 =30

(21)

T EMPS DE REMPLISSAGE

I On noteTMle nombre d’insertions à réaliser pour que la table soit "remplie", c’est à dire que toutes les cases soient occupées.

I Lorsque la table contient déjàjcases occupées, on noteYjle nombre d’objets à insérer jusqu’à ce qu’une nouvelle case soit occupée.

Lorsquejest le nombre de cases occupées. Donc on retrouve un schéma de Bernoulli, suite de tirages jusqu’à trouver une case vide. DoncYjsuit une loi géométrique. Le paramètre de cette loi est la probabilité de tomber sur une case vide, c’est à direM−jM . On en déduit que pour 06j6M

P(Yj=k) =

1−M−j M

k−1

M−j

M =

j M

k−1 1− j

M

D’où la valeur moyenne

EYj= M M−j, et la variance

Var Yj=1−M−jM M−j

M

2 = M2

(M−j)2− M M−j.

(22)

E SPÉRANCE DE T

M

TMest le nombre d’insertions pour remplir toutes les cases de la table. Donc

TM =Y0+Y1+· · ·YM−1=

M−1

X

j=0

Yj.

On en déduit

ETM = E

M−1

X

j=0

Yj

=

M−1

X

j=0

EYj,

carEest un opérateurlinéaire(E(A+B) =EA+EB) puis en remplaçantEYjpar sa valeur, et

en faisant le changement de variablek=M−j

=

M−1

X

j=0

M M−j =M

M−1

X

j=0

1 M−j =M

M

X

k=1

1 k =M

1+1

2+1

3+· · ·+ 1 M

.

(23)

E T

M

: INTERPRÉTATION

LorsqueMest grandPM k=1

1

k est de l’ordre de grandeur de logM, (voir la formule d’Euler-Mascheroni),1.

ETM 'MlogM

Il faudra donc en moyenneMlogMobjets pour que chaque case de la table soit touchée, et dans ce cas le nombre moyen d’objets hachés dans une case sera de l’ordre deO(logM).

Dans le problème des "Panini" on calcule le nombre moyen de vignettes achetées pour constituer une collection 300 log 300'1700, à 0.10 euros la vignette, la collection coûtera en moyenne 170 euros ! ! !

1. on peut comprendre cet équivalent en remarquant que la somme des 1 est proche de la surface sous la

(24)

V ar T

M

On calcule de la même manière la variance deTM

Var TM = Var

M−1

X

j=0

Yj

=

M−1

X

j=0

Var Yj,

attention : car les variables sont indépendantes puis en remplaçantVar Yjpar sa valeur, et

en faisant le changement de variablek=M−j

=

M−1

X

j=0

M2

(M−j)2 − M M−j

!

=M2

M

X

k=1

1 k2 −M

M

X

k=1

1 k Le premier terme est de l’ordre deM2(on rappelle quePM

k=1 1 k2 6P

k=1 1

k2 =π62) et le deuxième enMlogMest négligeable devantM2.

Donc la variance croit enM2et l’écart-typep

Var TMenO(M), la loi deTMest donc

"proche" de sa valeur moyenne.

Pour aller plus loin, on peut utiliser l’inégalité de Bienaymé-Tchebychev qui lie l’écart à la moyenne à la variance

Var TM

Références

Documents relatifs

suppression avec adressage ouvert : tr`es difficile utiliser lazy deletion : marquer la case «supprim´ee».. ⇒ facteur de remplissage inclut les

En PostgreSQL, on peut choisir le type d’index utilisé dans un CREATE INDEX avec USING method entre le nom de la table et la liste des colonnes, method pouvant être btree (arbre B,

On veut qu’une fonction de hachage donne une ”empreinte” (un haché) de notre donnée initiale, mais on ne veut pas qu’à partir d’une empreinte, on puisse fabriquer un message

Toute recherche de données est basée sur la même fonction dont le nombre d'adresses possibles est constant. Toute collision conduit à la création d'un débordement 

Cette clé primaire préliminaire est générée à partir des données échangées depuis le début du hanshake, chiffrée avec la clé publique du serveur (trouvée dans son

– Cette clé primaire préliminaire est générée à partir des données échangées depuis le début du hanshake, chiffrée avec la clé publique du serveur (trouvée dans

Théorème : Si les éléments de table [1 … n] et x sont choisis uniformément dans un intervalle [a,b], le temps moyen.. d’exécution de la recherche par interpolation est O (log

Le hachage à la sortie du silo de deux ensilages à brins longs a aussi permis une augmen- tation des quantités ingérées, quoique dans une proportion plus faible ;