Probabilité discrète METHODE STATISTIQUES POUR L’INFORMATIQUE CHAPITRE 1 LICENCE INFORMATIQUE – UNIVERSITE BORDEAUX 1 – SEMESTRE 5 – ANNEE SCOLAIRE 2004/2005 1 GENERALITES Exemple : on lance deux dés. = DxD = { 1,1 ; 1,2 ; … ; 6,6 } = 36 éléments Lorsque la distribution est uniforme, on a : Tous les éléments de sont de même probabilité 1/36 ; Tous les éléments de D sont de même probabilité 1/6. 1.1 DEFINITION : ESPACE DE PROBABLITE DISCRET Un espace de probabilité discret est un couple (, Pr), où est un ensemble non vide, au plus dénombrable, et Pr une application de dans [0,1] telle que wPr(w)=1 (somme des probabilités des éléments de = 1). : espace des évènements élémentaires A : évènement Pr : une loi (ou distribution) de probabilité sur On prolonge Pr sur P() par : Pr(A)=wAPr(w), A , Pr(A) : probabilité de A. 1.1.1 Propositions Pr()=0 Pr(/A)=1 – Pr(A) Pr(UiI Ai) = iI Pr(Ai) pour toute famille au plus dénombrable Ai, i I d’éléments de P() deux à deux disjoints. 1.1.2 Exemple On peut adopter l’hypothèse non uniforme en posant : Pr2(1)=Pr2(6)=1/4 Pr2(2)=Pr2(3)= Pr2(4)= Pr2(5)=1/8 Sur =DxD, on peut définir la distribution produite : Pr22(dd’)=Pr2(d)Pr2(d’). On a alors par exemple Pr22(6,3)=1/4*1/8=1/32. On démontrera facilement que Pr22 est bien une distribution de probabilité sur . A titre d’exemple, on peut définir l’évènement double par : A={1,1 ; 2,2 ; … ; 6,6}. On a vu que Pr(A)=wAPr(w), donc : Dans le cas d’une distribution uniforme, cette probabilité vaut : 1/36+1/36+1/36+1/36+1/36+1/36=1/6 Pour Pr22, elle vaut : (1/4*1/4)+(1/8*1/8)+1/64+1/64+1/64+1/16=3/16. 1.2 DEFINITION : VARIABLE ALEATOIRE Soit (, Pr) un espace de probabilité discret et soit ’ un ensemble non vide au plus dénombrable. Une variable aléatoire (v.a) X à valeurs dans ’ est une application de dans ’. Nous prenons souvent pour ’ un sous ensemble de N ou R. On pourra munir ’ d’une loi de probabilité PrX en posant w’ ’ : PrX(w’) = Pr(X1 ({w’})). 1.2.1 Propositions PrX est une loi de probabilité sur ’ w’’PrX(w’)=1. Nous avons de plus, pour tout A’ ’ : PrX(A’) = Pr(X-1(A’)). Remarque : lorsqu’il n’y aura pas de confusion, PrX sera désigné par Pr. 1 1.2.2 Exemple Soit S(w) la variable aléatoire qui est la somme des points de deux dés. Par exemple S(3,6)=3+6=9. Le tableau ci-dessous caractérise la loi de probabilité pour la variable aléatoire S par rapport à chacune des distributions (uniforme et biaisée) : S 2 3 4 5 6 7 8 9 10 11 12 Pr11(S=s) 1/36 2/36 3/36 4/36 5/36 6/36 5/36 4/36 3/36 2/36 1/36 Pr22(S=s) 4/64 4/64 5/64 6/64 7/64 12/64 7/64 6/64 5/64 4/64 4/64 2 ESPERANCE MATHEMATIQUE ET VARIANCE 2.1 ESPERANCE 2.1.1 Définition : espérance Une variable aléatoire admet un certain nombre de valeurs typiques. Nous considérons dans la suite les v.a à valeurs dans R. En arithmétique usuelle, la valeur moyenne de n nombre est définie comme leur somme divisée par n. En calcul de probabilité, l’espérance d’une variable aléatoire est définie comme la somme des valeurs prises pondérées par les probabilités respectives c'est-à-dire EX=xX() x.Pr(X=x) lorsque cette somme converge absolument. (X() est l’ensemble des valeurs prises par la variable aléatoire X) Sinon, on dit que X n’admet pas d’espérance. 2.1.2 Exemple Revenons au cas de la v.a S désignant la somme de deux dés et calculons son espérance pour chacune des distributions Pr11 et Pr22 : E11S=2*1/36+3*2/36+ … = 7 E22S=2*4/64+3*4/64+ … = 7 Etant donné que l’espérance de la valeur aléatoire X désignant le point obtenu par un seul dé vaut : E1X=1/6(1+2+…+6)=3.5 (pour un dé uniforme) E2X=1/4*(1+6)+1/8*(2+3+4+5)=3.5 (pour un dé pipé) On peut se demander s’il y a un lien entre l’espérance d’une somme de valeur aléatoire et la somme des espérance. 2.1.3 Linéarité de l’espérance Soient X1 et X2 deux v.a définies sur le même espace de probabilité discret (, Pr) et admettant toutes deux une espérance E. Soit R alors : E(X1) = .E(X1) E(X1+X2)=E(X1)+E(X2) Que peut-on dire sur l’espérance d’un produit de valeur aléatoire? 2 2.2 DISTRIBUTION CONJOINTE 2.2.1 Définition On peut considérer plusieurs v.a sur le même espace probabilisé discret (). Soient les v.a X et Y définies sur (, Pr). La loi (ou distribution conjointe) est la donnée de : PrXY=(X=x, Y=y)=Pr({w/X(w)=x, Y(w)=y}) x,y. X et Y sont dites indépendantes, si x, y on a PrXY(W=x,Y=y)=PrX(x).PrY(y). Si X et Y sont deux valeurs indépendantes admettant une espérance, alors la valeur aléatoire produite XY admet un espérance et E(XY)=E(X).E(Y). 2.2.2 Exemple Soient X et Y les points obtenus en lançant deux dés (nous considérons le cas des dés uniformes et celui des dés pipés). Les deux v.a son indépendantes (par définition de Pr 11 et Pr22). Soient S=X+Y et P=XY. Nous avons : ES=7/2+7/2=7 EP=7/2*7/2=49/4 Mais S et P ne sont pas indépendantes. Nous avons toutefois E(S+P)=E S+EP=7+49/4. Un calcul des probabilités de valeurs SP permet d’obtenir ESP=637/6 dans le as des dés uniformes et 112 pour les dés pipés. Ce qui est différent dans les deux cas de ES.EP=7*49/4=343/4. 2.3 VARIANCE 2.3.1 Définition Un paramètre important qui vient tout de suite après l’espérance est la Variance. Elle mesure la dispertion d’une valeur aléatoire. Si X est une v.a définie sur (, Pr), sa variance est définie par VX=E((X-EX)²) lorsuqe celle-ci existe. Nous avons VX=E(X²) – E(X²). Si X et Y sont 2 v.a indépendantes admettant chacune une variance, alors la v.a de X+Y admet une variance qui est la somme des deux variances. 2.3.2 Exemple La probabilité d’un gain égal à 100 millions € pour un billet de loterie est de 1/100. Nous disposons de deux choix pour acheter les billets : soit 2 billets distincts, soit 2 billets quelconques. Les espérances dans les deux alternatives sont égales et valent chacune 2 millions €. Comparons les en fonction de leur variance : Dans la première alternative, on peut gagner 0 ou 100 millions avec les probabilités respectives 0.98 et 0.02. Dans la deuxième on peut gagner 0, 100, 200 millions € avec les probabilités respectives 0.9801, 0.0198, et 0.0001 On calcule les variances : Pour la première alternative on obtient donc la variance (en 10 12€) : 0.98(0-2)²+0.02(100-2)²=196. Et pour la deuxième : 0.9801(0-2)²+0.0198(100-2)²+0.0001(200-2)²=198 On en déduit que la seconde alternative est légèrement plus risquée que la première. 2.3.3 Exemple avec les dés Nous avons vu que pour un dé uniforme : EX=1/6(1+2+3+4+5+6)=3.5. Donc VX= 1/6(1-3.5)² + 1/6(2-3.5)² + 1/6(3-3.5)² + 1/6(4-3.5)² + 1/6(5-3.5)² + 1/6(6-3.5)²=2.2 3 2.3.4 Ecart type La racine carrée de la variance est appelée écart type et est notée par : X=(VX) 3 FONCTIONS GENERATRICES 3.1 DEFINITION Lorsque les V.a prennent des valeurs dans N, l’utilisation des fonctions génératrices pour les suites des probabilités et les techniques associées deviennent les outils favoris dans l’étude des distributions discrète. La fonction génératrice d’une v.a X à valeurs dans N est définie par : GX(z) = k0 Pr(X=k).zk Cette série entière en z contient toutes les informations sur la v.a. X. Elle est par ailleurs l’espérance de z X, puisque : GX(z) = w Pr(w).zX(w). 3.1.1 Exemple Soit A={a, b, c, d} un alphabet de quatre lettres. Appelons L l’ensemble des mots L={a, b, c}*d. Supposons maintenant qu’on tire successivement une lettre dans A avec la même probabilité ¼, jusqu’à ce qu’on obtienne la lettre d. L’ensemble des mots qui peuvent être obtenus par ces tirages est le même langage L introduit précédemment. On peut munir =L d’une distribution de probabilité en associant à chaque mots L la probabilité de son tirage. Par exemple Pr(ababad)=1/4*1/4*1/4*1/4*1/4*1/4=1/4 6. 3 k 1 Soit X la v.a associant à chaque mot de L sa longueur. Il est facile de voir que Pr( X k ) k . 4 3k 1 k z .z k 4 3z k 1 4 La fonction génératrice de X est donc G X ( z) 3.2 PROPRIETES ELEMENTAIRES Dans la suite nous retirons X de GX(z) lorsqu’il n’y a pas de danger de confusion. On peut retenir deux propriétés élémentaires : G(1)=1. On peut obtenir l’espérance et la variance d’une variable aléatoire à partir de sa fonction génératrice par : o EX=G’(1) . o VX=G’’(1)+G’(1) – [G’(1)]² . 3.2.1 Exemple Reprenons le cas du langage L précédent, muni de la distribution qui associe à tout mot de longueur k une probabilité égale à 1/4k. On peut alors calculer G’(1)=4 et G’’(1)=24. On a donc l’espérance EX=4 et la variance VX = 24 + 4 – 4² = 12. 3.3 UNE AUTRE PROPRIETE IMPORTANTE Une autre propriété caractéristique des fonctions génératrices est la suivante qui est très utile en calcul des probabilités, lorsqu’on a affaire à la somme des valeurs aléatoires. Soient X et Y deux v.a indépendantes. La fonction génératrice de la v.a X+Y est le produit des fonctions génératrices de X et de Y : GX+Y(z)=GX(z). GY(z). 4 3.3.1 Exemple On continue le tirage de lettres dans l’alphabet {a, b, c, d} et l’on s’arrête cette fois après la seconde occurrence de la lettre d. Le langage des mots qui peuvent être tirés est donc le suivant : L2={a, b, c}*d{a, b, c}*d. Nous avons L2=LL et tout mot w dans L2 est la concaténation d’un mot u L et d’un mot v L. Ces deux derniers mots sont tirés indépendamment chacun dans L. Par ailleurs, on a |w|=|u|+|v|, où X=|u| et Y=|v| sont deux v.a indépendantes. En vertu de la proposition précédente, la longueur S=X+Y du mot tiré dans L2 admet la fonction génératrice suivante : 2 z2 z GS ( z ) G X ( z ).GY ( z ) (4 3z ) 2 4 3z On peut obtenir l’espérance et la variance de S en dérivant GS(z), mais la méthode la plus simple consiste à faire la somme des espérances et la somme des variances : ES=4+4=8 VS=12+12=24 4 QUELQUES DISTRIBUTIONS DISCRETES 4.1 LOI DE BERNOUILLI 4.1.1 Enoncé La v.a prend deux valeurs : 1 avec la probabilité p ou 0 avec la probabilité q. On suppose que p, q [0, 1] et p+q=1. Nous avons : EX=p VX=pq X=sqrt(pq) 4.1.2 Utilisation Cette loi intervient souvent de façon implicite lorsqu’on veut traiter une probabilité comme une espérance. En effet c’est la loi de v.a qui est la fonction indicatrice d’un évènement A de probabilité p : Pr(A) = E1A. 4.2 LOI BINOMIALE On effectue n épreuves identiques et indépendantes. La probabilité de succès dans chacune étant égale à p et celle d’échec q=1-p. Posons X = (le nombre total de succès obtenus dans les épreuves). X est une v.a qui peut n k nk prendre la valeur k dans l’intervalle [0, n] avec la probabilité : p k Pr( X k ) p q . k n k k (Rappel C n n! ) k!(n k )! On dit alors que X suit une loi binomiale de paramètres n et p. Il est clair qu’on peut considérer la v.a binomiale X comme la somme de n v.a de Bernouilli identiques et indépendantes de même paramètre p. Nous avons donc EX = np, VX = npq, X = sqrt(npq). 5 4.3 LOI GEOMETRIQUE Soit p>0 la probabilité de succès dans une épreuve. Posons q=1-p. Nous répétons la même épreuve indépendamment jusqu’à l’obtention d’un premier succès. Soit X la v.a désignant le nombre d’épreuves effectués. C’est une v.a qui peut prendre la valeur k N* avec la probabilité p k Pr( X k ) q k 1 pk . On dit alors que X suit une loi géométrique de paramètre p. On calcule son espérance et sa variance soit par une méthode directe, soit en dérivant sa fonction géométrique : EX=G’(z)=1/p VX=G’’(z)=q/p² 4.4 LOI POISSON Cette distribution intervient dans l’étude du nombre d’évènements intervenant dans un intervalle de temps (files d’attente). Elle propose aussi des modèles statistiques pour des évènements dits « rares » lorsqu’un grand nombre de cas a été étudié. La variable aléatoire X suit une loi de Poisson de paramètre , si X peut prendre la valeur k N avec la probabilité : p k Pr( X k ) k k! e L’espérance et la variance d’une distribution de Poisson se calculent aisément et on a : EX = VX = 4.4.1 Propriété 1 La somme de deux v.a de Poisson indépendantes de paramètres et µ est une variable de Poisson de paramètre +µ. 4.4.2 Propriété 2 On peut faire l’approximation de la loi binomiale par la loi de Poisson : Soit X une v.a binomiale de paramètres, pn, n. On suppose n.p = > 0. Alors Pr( X n k ) k k! e . K=[0,1,…n]. 5 INDEPENDANCE 5.1 DEFINITIONS Deux évènements A et B sont dit indépendants si Pr( A B) Pr( A). Pr( B) Une famille Ai, i 1…n d’évènements est dite indépendante dans son ensemble si pour tout sous ensemble J {1,…,n} on a Pr( Ai ) Pr( Ai ) iJ iJ Remarque : Pour démontrer l’indépendance d’une famille Ai, i 1,…,n, il ne suffit pas de prouver que les Ai sont 2-à-2 indépendants, comme le montre l’exemple suivant. 5.2 EXEMPLE Soit = {1, 2, 3, 4, 5, 6, 7, 8} l’espace associé au tirage d’un dé à 8 faces avec la probabilité uniforme 1/8. Soient : A1={1, 2, 3, 4} A2={1, 2, 5, 6} 6 A3={3, 4, 5, 6} On a : Pr( A1 A2 ) Pr(1,2) 1 Pr( A1 ). Pr( A2 ) 4 1 Pr( A1 A3 ) Pr(3,4) Pr( A1 ). Pr( A3 ) 4 1 Pr( A2 A3 ) Pr(5,6) Pr( A2 ). Pr( A3 ) 4 Or : Pr( A1 A2 A3 ) Pr( ) 0 Pr( A1 ). Pr( A2 ). Pr( A3 ) 1 8 6 PROBABILITÉ CONDITIONNELLE Il arrive que la donnée d’un évènement modifie la probabilité initialement affectée à un autre. La notion de probabilité conditionnelle est introduite afin de formaliser le concept de la probabilité de l’occurrence d’un évènement B sachant qu’un autre A s’est produit. 6.1 DEFINITION Soit (, Pr) un espace de probabilité discret et soit A un évènement de probabilité non nulle. On définit par (P()), l’application Pr(./A) à valeurs dans [0, 1] par : Pr( B / A) Pr( A B) , B P() . Pr( A) On appelle Pr(B/A) probabilité (conditionnelle) de B sachant A. 6.1.1 Propositions Le couple (, Pr(./A)) est un espace de probabilité discret. Pr(/A)=Pr(A)/Pr(A)=1. Soit A1,…,An, un partition de . Si chacun de ces ensembles est de probabilité non nulle, alors : n Pr( B) Pr( Ai ). Pr( B / Ai ), B P() . i 1 6.1.2 Exemple On lance deux dés uniformes. Quelle est la probabilité d’avoir obtenu un double sachant que la somme des points vaut 8 ? Quelle est la probabilité d’avoir obtenu un double sachant que la somme des points vaut au moins 10 ? Dans la première question A={(2,6),(3,5),(4,4),(5,3),(6,2)} et B={(1,1),(2,2),(3,3),(4,4),(5,5),(6,6)} donc Pr(B/A=8)=(1/36)/(5/36)=1/5. Dans la seconde A={(4,6),(5,5),(6,4),(5,6),(6,5),(6,6)} donc Pr(B/A)=(2/36)/(6/36)=1/3. 6.2 PROBABILITE DES CAUSES Soit l’évènement B causé par l’un des évènements A1, A2, …, An, tous de probabilité non nulle. On connaît les probabilités Pr(Ai) de ces derniers évènements et aussi les probabilités conditionnelles Pr(B/Ai). Comment trouver les probabilités des causes sachant que B s’est produit, i.e. les probabilités Pr(A i/B) ? 7 6.2.1 Théorème (Formule de Bayes) Soit A1, A2, … An une partition de telle que Pr(Ai) 0, i = 1…n. Soit B un évènement de probabilité non nulle. Nous avons Pr( Ai / B) Pr( Ai ) Pr( B / Ai ) n Pr( A ) Pr( B / A ) i 1 En particulier, Pr( A / B) pour deux i évènements , i 1,2,..., n i A et B de probabilité non nulle, nous avons : Pr( A) Pr( B / A) et on appelle : Pr( B) Pr(A) : probabilité a priori de A, Pr(A/B) : probabilité a posteriori de A. 6.2.2 Exemple Dans un jeu télévisé, un candidat doit choisir une question de repêchage en tirant au hasard parmi 3 papiers. Il y a: Une question facile avec 3 chances sur 4 de donner la réponse correcte Une question moyenne avec 2 chances sur 5 de donner la réponse correcte Une question difficile avec 1 chance sur 5 de donner la réponse correcte. Sachant que le candidat a donné la réponse correcte, quelle est la probabilité pour qu’il s’agisse de la question facile ? Solution : Désignons par F, M, D les évènements tirage de la question facile, de la question moyenne et de la question difficile (respectivement). Soit, par ailleurs, l’évènement « réponse correcte » noté par C. D’après la formule de Bayes, nous avons : 1 3 . Pr( F ) Pr(C / F ) 5 3 4 Pr( F / C ) Pr(C / F ) Pr( F ) Pr(C / M ) Pr( M ) Pr(C / D) Pr( D) 1 3 1 2 1 1 9 . . . 3 4 3 5 3 5 7 LOI CONJOINTE Dans la suite nous considérons un couple de v.a, mais l’étude s’étend à un nombre quelconque de variables aléatoires. 7.1 DEFINITIONS Soient X et Y deux v.a réelles sur le même espace . Le couple (X, Y) peut être considéré comme un vecteur aléatoire sur . Sa loi est appelée loi conjointe de (X, Y). La connaissance de cette dernière permet de retrouver la loi de X et celle de Y individuellement. En effet, pour tout ensemble A X() et tout ensemble B Y() : Pr1(X A) = Pr(X A, Y R) et Pr2(Y A) = Pr (X R, Y B). X et Y sont dites indépendantes si, pour tout ensemble A X() et tout ensemble B Y() : Pr( X A, Y B) Pr1 ( X A). Pr2 (Y B) . Les distributions Pr1 et Pr2 sont appelées lois marginales du vecteur (X, Y). Dans la suite, nous supprimons les indices de Pr lorsqu’il n’y a pas le danger de confusion. La connaissance des lois marginales ne permet pas de reconstruire la loi conjointe. 8 7.2 EXEMPLE On lance une pièce authentique une première fois. Pour le deuxième lancé, on considère deux possibilités : On reprend la pièce et on la repose sur la même face (A) On la relance indépendamment du premier lancé (B) Les lois conjointes sont données par : (A) : Pr({F,F})=Pr({P,P})=1/2 et Pr({F,P})=Pr({P,F})=0 (B) : Pr({F,F})=Pr({F,P})=Pr({(P,F})=Pr({P,P})=1/4 Il s’agit donc de deux lois distinctes. Les lois marginales dans les deux cas sont données par Pr({F})=Pr({P})=1/2. Pour deux lois conjointes distinctes, on a les mêmes lois marginales. 8 ESPERANCE CONDITIONNELLE Soit X une v.a et soit A un évènement de probabilité non nulle. L’espérance de X sachant A est définie par : E ( X / A) E Pr(./ A) X , c'est-à-dire : E ( X / A) 1 X ( ) Pr(w ) . Pr( A) A Exemple : Quelle est l’espérance d’un dé uniforme sachant que le nombre sorti est inférieur ou égal à 3 ? Solution : Soit X la v.a associée au lancé du dé. L’évènement A associé à la condition est l’ensemble {1, 2, 3}. La probabilité de la condition A est ½. L’espérance conditionnelle recherchée vaut : E ( X / A) 1 1 2 3 ( )2 1/ 2 6 6 6 9 LOI DES GRANDS NOMBRES Il arrive souvent que l’on répète un grand nombre fois une épreuve de façon indépendante. Soit A un évènement qui peut se réaliser avec une probabilité p. Que peut-on dire du lien entre la fréquence observée de A et sa probabilité p ? Il arrive que p soit inconnue ; peut-on en faire une approximation fondée sur la fréquence de A ? Avant de répondre à ces questions, considérons le cas d’une v.a. Sa variance étant introduite pour mesurer sa dispersion autour de l’espérance. Peut-on, en termes de ce paramètre, confirmer avec une confiance relativement grande, que l’écart entre l’espérance et la valeur prise par la v.a ne sera pas trop grand ? 9.1 PROPOSITION (INEGALITE DE BIENAYME-TCHEBYCHEV) Soit X une variable aléatoire d’espérance µ et de variance V Alors, pour tout e>0 Pr( X e) V . e2 9.1.1 Exemple Soit Xn une v.a binomiale de paramètres p=1/10 et n N. Peut-on confirmer que, pour n=100, l’écart entre X n/n et son espérance 1/10 ne dépasse pas 0.1 avec une probabilité supérieure à 0.9 ? Pour quelles valeurs de n peut-on confirmer qu’avec une probabilité 0.99, cet écart ne dépasse pas 0.5 ? 9 9.1.2 Solution La variance de Xn/n pour n=100 vaut npq*1/n²=9/10000. D’après l’inégalité de Bienaymé-Tchebychev, nous avons : Pr( X 100 1 9 0.1) *100 0.09 0.1 . La réponse est donc positive. 100 10 10000 Pour le deuxième cas, nous avons : Pr( Xn 1 9 1 1 . D’où, pour que la probabilité 0.05) * * n 10 100 n 0.05² recherchée soit au moins égale à 0.99, il suffit de n soit assez grand pour qu’on ait 9/100 * 1/n * 1/0.0025, c'està-dire n 3600. 9.2 THEOREME (LOI FAIBLE DES GRANDS NOMBRES) Soit X une variable aléatoire admettant l’espérance µ et la variance V et soit X 1, X2, …, Xn une suite de variable aléatoires indépendantes chacune suivant la même loi que X. Désignons par S n la valeur moyenne de la suite : Sn 1 n Xn . n i 1 Alors Sn converge en probabilité vers son espérance µ , c'est-à-dire pour tout e>0 on a lim Pr( S n µ e) 0 . n 9.2.1 Exemple On lance une paire de dés authentiques n fois et l’on calcule la moyenne arithmétique des produits des deux points. Nous avons vu que l’espérance du produit vaut 49/4. Puisque cette v.a. admet une variance, la loi des grands nombres permet de confirmer que la moyenne des produits converge en probabilité vers 49/4. 9.3 UNE APPLICATION : PROBLEME DE HACHAGE Une technique populaire utilisée en informatique pour l’organisation de données est celle de hachage. On voudrait gérer un ensemble d’enregistrements, chacun ayant une clé. L’accès à un enregistrement se fait via sa clé. A titre d’exemple, on peut considérer les enregistrements contenant les informations sur les étudiants d’une promotion. On peut munir cet ensemble de données de clés d’accès qui seront les noms des étudiants. La méthode de hachage place un enregistrement en fonction de sa clé, la transformant directement en une adresse dans une zone de mémoire contiguë. L’ensemble de ces méthodes permet les opérations de recherche, d’adjonction et de suppression. Dans la suite, nous proposons le modèle simple suivant. On se donne un tableau de hachage à m places. Nous avons un univers U des clés. U étant de taille très grande, nous ne pouvons pas affecter à tous ses éléments une place attitrée dans le tableau de hachage. On utilise alors une fonction de hachage h, qui associe à chaque clé un entier dans [1, m] : h : U [1, m]. Le choix de h est fondamental : il faut appliquer U de manière aussi uniforme que possible sur [1, m]. Cela revient à dire que, dans le cas idéal, on doit avoir : x U et i [1, m], Pr(h(x)=i)=1/m. On dit alors que h est uniforme. Il est aussi souhaitable que le calcul de h soit rapide. Nous disons qu’il y a collision entre deux clés distinctes x U et y U sur la case v si h(x)=h(y)=e. Etant donné un ensemble E de n clés distinctes, la probabilité pour qu’il n’y ait pas de collisions entre ses éléments vaut P 1 .m(m 1)...( m n 1) . Cette probabilité est petite lorsque m n’est pas très grand par mn rapport à n, comme le montre le calcul suivant. 10 9.3.1 Paradoxe d’anniversaire 9.3.1.1 Enoncé En supposant que l’année comporte 365 jours et que la probabilité d’avoir son anniversaire est la même pour tous les jours de l’année, calculer la probabilité pour que, dans une classe de n étudiants, les anniversaires soient tous différents. Calculer numériquement cette probabilité pour une classe de 23 étudiants. 9.3.1.2 Solution Portant la valeur m=365, dans l’équation de P, on a : P 1 .365.364.363...(365 n 1) . On voit que 365 n pour un nombre d’étudiant n 23, ce qui est relativement petit par rapport à 365, la probabilité d’anniversaire différents tombe au dessous de 0.5. On peut donc raisonnablement s’attendre à des collisions, même lorsque la taille de la table est relativement élevée par rapport au nombre d’éléments qui sont a y placer. Un traitement de collisions s’impose alors. Soit v un indice quelconque fixé dans l’intervalle réel [1, m]. Supposons que n clés soient présentes dans le tableau. La valeur =n/m est appelée taux de remplissage du tableau. Soit X m,n la v.a désignant le nombre de clés x telles que h(x)=v. Si m, n, alors Xm,n tend vers une v.a de Poisson de paramètre , c'est-à-dire Pr( X m,n k ) e . pour tout k N. k k! , En particulier, la probabilité pour que la case v soit vide vaut e -. Considérons maintenant la méthode de chaînage séparé dans la résolution des collisions. On fait une liste chaînée des clés en collision sur la même case dans leur ordre d’arrivée. Faisons une analyse de la complexité moyenne, en termes de nombre de comparaisons, pour la recherche d’une clé x dans un tableau de hachage de taux de remplissage x=n/m. On peut alors considérer deux cas distincts : La clé x ne figure pas de la tableau (recherche négative) ; le nombre de comparaisons nécessaire pour conclure qu’elle n’y est pas est la longueur de la liste chaînée dans la case h(x). La clé x figure dans le tableau (recherche positive) : on pourra la trouver peut être avant de parcourir toute la liste chaînée. Nous sommes donc ramenés à faire une analyse différente pour chacun des cas : la complexité moyenne d’une recherche négative et celle d’une recherche positive. 9.3.2 Complexité moyenne d’une recherche négative Reprenons les données précédentes pour un tableau de hachage. Soit Li la v.a désignant la longueur de la liste située dans la ième case du tableau. Supposons qu’on cherche une clé x qui n’existe pas dans le tableau. D’après l’hypothèse d’uniformité h(x) peut prendre une valeur i [1, m ] avec la même probabilité 1/m. Puisque pour arriver à la conclusion que x n’est pas dans le tableau il faut effectuer L i comparaisons (ou i=h(x)), l’espérance du nombre de comparaisons vaut : Comp Re chNeg ( m, n) 1 m E ( Li ) . Par ailleurs, ces m i 1 dernières espérances valent chacune =n/m. En effet, chacune des n clés du tableau contribue une augmentation égale à 1/m à l’espérance de Li. Nous avons donc : Comp Re chNeg (m, n) 1 n .m. . m m 9.3.3 Complexité moyenne d’une recherche positive Supposons qu’on cherche une clé x qui figure dans le tableau de hachage. Nous retenons l’hypothèse d’uniformité qu’elle peut être égale à une des n clés existant dans le tableau avec la même probabilité 1/n. Soient x1, …, xn les clés du tableau dans leur ordre d’insertion. On voit facilement que si x=x1, le nombre de comparaisons pour la trouver est 1 et, de façon générale, si x=xi, le nombre de comparaisons vaut au nombre de comparaisons effectuées lors de l’insertion de la clé xi plus 1. Ce dernier nombre en moyenne n’est que le nombre moyen de comparaisons dans une recherche négative dans le tableau lorsqu’il na que i-1 clés. 11 Nous avons donc : Comp Re chPos(m, n) 1 n 1 n(n 1) 1 [Comp Re chNeg (m, i ) 1] 1. n i 0 2nm 2 2m Ce qui vaut asymptotiquement /2. ces calculs de complexité moyenne mettent en évidence l’efficacité des techniques de chaînage dans le traitement de collisions, en confirmant que dans les 2 cas, le nombre moyen de comparaisons pour chercher une clé est proche d’une constante et non pas proportionnel au nombre d’éléments du tableau. 12