Aperçu partiel du texte
Télécharge Exercices sur l'algorithmique probabiliste et plus Exercices au format PDF de Algorithmique et programmation des applications sur Docsity uniquement!
Année 2011-2012 1ère session NZ ALGORITHMIQUE PROBABILISTE ss 1F226 MS RESPONSABLE: PHILIPPE DUCHON l B ENSEIRB Filière : Informatique Année : 2 Semestre : 7 MATMECA , nr . : : BORDEAUX Date de l'examen : 13 janvier 2012 Durée de l'examen : 2h Documents autorisés À sans document [ Calculatrice autorisée M non autorisée [ Autre : notes de cours manusrites autorisées, calculatrices autorisées mais a priori inutiles. n Généralités sur les tables de hachage On s'intéresse dans cette partie à des tables de hachage “classiques”, avec chaînage externe en cas de collisions (chaque cellule de la table contient une liste chaînée des clefs hachées dans cette cellule). On rappelle le modèle: 2 e L'ensemble X des clefs possibles est l’ensemble des mots binaires de longueur k fixée, ou, de manière équivalente, l’ensemble des entiers de 0 à 2* — 1; le paramètre k est supposé assez grand, par exemple 64. La table de hachage est un tableau de taille N, indexé de 0 à N —1 Une famille # de fonctions de K vers [[0, N — 1}] est fixée; à la création d’une table, une fonction h € H est choisie aléatoirement (de manière uniforme), et la description de cette fonction est annexée à la table. C’est cette fonction À qui est utilisée, pendant toute la durée de vie de la table, pour hacher toute clef à insérer ou rechercher. Si une table contient les clefs d’un ensemble S C K, de taille s, le taux de remplissage de la table est par définition à = s/N. Une collision dans 5 pour la fonction h, est un couple (x, y) de clefs distinctes (avec x < y si x et y sont vues comme des entiers, par exemple) de S telles que l’on ait A(x) = h(y). Le nombre de collisions dans S pour h sera noté Coll(S, À). 1. Rappeler la définition d’une famille 2-universelle de fonctions de hachage. 2. On suppose dans cette première partie que la famille # est une famille 2-universelle. Montrer que, pour tout ensemble S de clefs, correspondant à un taux de remplissage à, l'espérance du nombre de collisions Coll(S, h) (l'espérance porte sur le choix aléatoire de la fonction k € H) est majorée par a?N/2. 3. Soit x un élément de 5, et soit Coll(S, h,x) le nombre de collisions dans S pour À qui font intervenir x, c’est-à-dire le nombre d’autres clefs y € S telles que (x,y) ou (y,x) soit une collision. Par quoi peut-on majorer l’espérance de Coll(sS, k, x)? Une famille simple de fonctions de hachage On considère dans cette partie des mots de longueur k sur l’alphabet binaire {0,1}. On note respectivement @ et @ les opérations de OU exclusif et de ET logique, et on les étend aux mots: pour deux tels mots u et v, on note u @ v le mot “OU exclusif” de u et v: (u ® v); = 1 si et seulement si u; wi. On définit également u @v comme le ET des deux mots: (u@w); = 1 si et seulement si u; = v; = 1. (La notation correspond aux opérations vues sur le corps Z2 à 2 éléments: le OU exclusif est l’addition, le ET est la multiplication booléenne) On définit enfin, pour deux mots binaires u = uu2...ux et u = v...vx de {0,1}", k flu,v) = (Eux) mod 2; 11