Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Chap. 4 Recherche en Table
STATISTIQUE INFERENTIELLE L ’ESTIMATION
Fonctions & procédures
Test statistique : principe
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
1 UMLV 1. Introduction 2. Hachage ouvert 3. Hachage fermé 4. Implémentation des fonctions Méthodes de hachage.
Nombre de sujets nécessaires en recherche clinique
Autour d’une expérience aléatoire simple:
Les tests d’hypothèses
Estimation de la survie comparaison des courbes de survie FRT C3.
Tutoriel pour l’utilisation de
L’OUTIL STATISTIQUE.
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
2.5 Champ électrique produit par une distribution continue de charges.
Par Clément en vacances sur la Côte d’Azur Le 17 décembre 2011
Récursivité.
La Cannibalisation Ce module aborde les concepts de cannibalisation et la redéfinition équitable des parts de Marché. Auteur : Paul Farris Traduction.
1.2 COMPOSANTES DES VECTEURS
Gestion de Fichiers GF-15: Addressage Disperse (Hashcoding) (Base sur le Chapitre 11 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
Le Combat entre l’Homme et la Machine
Problème Autre formulation :
Tableaux de distributions
Tableaux de distributions
Gestion de Fichiers Arbres B.
Sections sélectionnées du Chapitre 11
3.6 Les équations de la cinématique à accélération constante MRUA
Les Pourcentages.
1.3 COORDONNÉES DES POINTS
Systèmes d’équations du premier degré à deux variables
Test bilan de calcul mental N°1 :
Les fichiers indexés (Les B-arbres)
Algorithme de Bellman-Ford
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-10541
11/10/07 MATHÉMATIQUES FINANCIÈRES I Douzième cours.
MATHÉMATIQUES FINANCIÈRES I
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Gestion de Fichiers Hachage Extensible.
1 Evaluation des Operations Relationnelles : Algorithmes Additionnels Chapitre 14, ,
Gestion de Fichiers Hachage.
Corrélation Principe fondamental d’une analyse de corrélation
Dépannage du 20 février Intra H04 no 4 On définit la distribution de probabilité d'une variable aléatoire X comme suit : a)Déterminer la valeur.
Dépannage du 12 mars 2007.
Les réseaux.
Gestion de Fichiers GF-5: Storage Secondaire: Bandes Magnetiques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
Introduction à l’algèbre
Inéquations du premier degré à une inconnue
04/10/07 MATHÉMATIQUES FINANCIÈRES I Dixième cours.
MATHÉMATIQUES FINANCIÈRES I
ACT Cours 18 MATHÉMATIQUES FINANCIÈRES I Dix-huitième cours.
08/11/07 MATHÉMATIQUES FINANCIÈRES I Vingtième cours.
MATHÉMATIQUES FINANCIÈRES I
IFT Structures de données Abder Alikacem Département dinformatique et de génie logiciel.
2.2 PRODUIT SCALAIRE ET CALCUL D’ANGLES
Programmation linéaire en nombres entiers : les méthodes de troncature
Plan cours La notion de pointeur et d’adresse mémoire.
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Mise en forme en Mathématiques
MATHÉMATIQUES FINANCIÈRES I
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Gestion de Fichiers Hachage (suite et fin). 2 Plan du cours d’aujourd’hui Utilisation des “buckets” Effacements dans des fichiers hachés Autres méthodes.
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
MATHÉMATIQUES FINANCIÈRES I
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
Transcription de la présentation:

Gestion de Fichiers Hachage (suite)

2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant lespace mémoire Résolution des collisions par débordement progressif (progressive overflow)

3 Prédiction de la distribution des enregistrements Pour rappel, il y a 3 sortes de distributions possibles dadresses: uniforme, rien que des synonymes ainsi que au hasard. Avec une distribution au hasard, on peut utiliser des outils mathématiques pour estimer le comportement de la fonction de hachage. Assumons 1 enreg. par adresse. Soit N = nombre dadresses disponibles; r = nombre denregistrements à stocker; p(x) = probabilité pour quune adresse donnée ait un nombre x denreg.s Pour N et r suffisament large: p(x) ~ (r/N) x e –(r/N) /x!

4 Prédiction de la distribution des enregistrements (suite) Exemples: pour N = 1000 et r = 1000 nous avons: p(0) ~ 1 0 e –1 /0! = p(1) ~ 1 1 e –1 /1! = p(2) ~ 1 2 e –1 /2! = p(3) ~ 1 3 e –1 /3! = etc. En général, sil y a N adresses, le nombre escompté dadresses avec x enregistrements est Np(x) En fait, p(x) nous donne la proportion dadresses pouvant servir de domicile à x enregistrements logiques.

5 Prédiction de la distribution des enregistrements (suite) Exemples: pour N = 1000 et r = 1000 nous avons: # escompté dadresses avec 0 enreg.s ~ 1000*0.368 # escompté dadresses avec 1 enreg.s ~ 1000*0.368 # escompté dadresses avec 2 enreg.s ~ 1000*0.184 # escompté dadresses avec 3 enreg.s ~ 1000*0.061 etc. Pour N = et r = (fichier plein): r/N = 1 et # escompté dadresses avec 1 enreg.s ~ 3679 # escompté dadresses avec 2 enreg.s ~ 1839 # escompté dadresses avec 3 enreg.s ~ 613

6 Prédiction de la distribution des enregistrements (suite) Pour N = et r = (fichier plein): r/N = 1 et # escompté dadresses avec 1 enreg.s ~ 3679 pas de synonymes # escompté dadresses avec 2 enreg.s ~ 1839 il y aura débordement de 1 * 1839 enreg.s # escompté dadresses avec 3 enreg.s ~ 613 il y aura débordement de 2 * 613 enregs. En général: # escompté dadresses avec x enreg.s ~ N * 1 x e –1 /x! il y aura débordement de (x-1) * (N * 1 x e –1 /x!) enregs.

7 Prédiction de la distribution des enregistrements (suite) Nous venons de voir que, pour des valeurs donnés de N et r, le # escompté dadresses avec x enreg.s ~ N * 1 x e –1 /x! et ce # engendre un débordement denreg.s de lordre de (x-1) * (N * 1 x e –1 /x!) Ces débordements constituent un grave problème dont il faut soccuper. Solutions possibles: -- développer une bonne fonction de hachage (déjà vu) -- réduire le # de débordements -- développer une méthode de traitement des débordements

8 Augmentation despace mémoire Une réduction de collisions peut être atteinte en utilisant de la mémoire additionelle. La question à poser est la suivante: Quel montant de mémoire additionnelle doit on utiliser pour obtenir un taux de réduction de collision donnée? Definition: la densite denregistrement (Packing Density -- PD) correspond à la proportion du # denreg.s à sauvegarder (r) par rapport au # despaces disponibles (N); i.e. cest le rapport r/N. La densité d'enregistrement nous donne une mesure du montant despace de fichier vraiment utilisé.

9 Augmentation despace mémoire (suite) La distribution Poisson nous permet de prédire le nombre de collisions qui peuvent se produire étant donne une certaine densité denregistrement. Supposez que r = 500 et N = 1000 PD = 50%. On peut ainsi répondre aux questions suivantes: 1. Combien dadresses nont aucun enregistrement qui y soient affecté? N * p(0) = 1000 * = Combien dadresses nont quun enregistrement qui y soit affecté (pas de synonymes)? N * p(1) = 1000 * = 303

10 Augmentation despace mémoire (suite) 3. Combien dadresses ont deux ou plusieurs synonymes? N * (p(2) + p(3) + p(4) + …) = N * (1 – (p(0) + p(1)) = 1000 * 0.09 = En supposant quun seul enregistrement peut être affecté à chaque adresse, à combien denregistrements debordants peut-on sattendre? # enreg.s débordants attendus = # enreg.s - # attendu denreg.s nondébordants = r – (N * p(1) + N * p(2) + N * p(3) + …) = r – N * (1 – p(0)) (Raison: somme des probabilité = 1) = r – N + N * p(0) = N * p(0) + [- - (r-N)] = N * p(0) – (N-r) = # dadresses sans enreg.s + # enreg.s du hachage parfait ~ 107

11 Augmentation despace mémoire (suite) 4. En supposant quun seul enregistrement peut être affecté à chaque adresse, à combien denregistrements debordants peut-on sattendre? – 2ème formule (du livre) Utiliser la formule en bas du transparent 6: 1 * N * p(2) + 2 * N * p(3) + 3 * N * p(4) + …. = N * [p(2) + 2 * p(3) + 3 * p(4) + …] Dans notre exemple avec PD = 50% nous avons ~107

12 Augmentation despace mémoire (suite) 5. Quel est le pourcentage attendu denregistrements débordant? [N * p(0) – (N-r)]/r = 1 – 1/PD * (1 – p(0)) Dans notre exemple, cest 107/500 = = 21.4% Note importante: ce pourcentage ne dépend que de PD et non des valeurs individuelles de N et r. Bien plus, la fonction p() ne dépend elle aussi que de PD. Ainsi donc, la conclusion majeure ici est que si PD=50%, le hachage donnera toujours un taux de 21.4% denreg.s débordants.

13 Augmentation despace mémoire (suite) Etant donné PD, nous pouvons donc calculer ce pourcentage et lafficher sur un tableau: Densité denregistrement Débordement 10% 4.8% 20% 9.4% 40% 17.6% 60% 24.8% 80% 31.2% 100% 36.8%

14 Résolution de collision par débordement progressif Quelque soit la perfection dune fonction de hachage, des enregistrements peuvent toujours entrer en collision. Certains manqueront donc de la place à leur adresse. Une approche simple est la suivante pour résoudre ce cas est le débordement progressif. Pour inserer une clé k: - Aller à ladresse domiciliaire h(k) - Si h(k) est libre, inserer k à cet endroit - Sinon, chercher la première adresse disponible qui suit h(k) et y placer k. Si on atteint la fin de lespace adresse avant de trouver une adresse disponible alors, on retourne au début de cet espace adresse et on y continue la recherche.

15 Résolution de collision par débordement progressif (suite) Pour chercher une clé k: - Aller à ladresse domiciliaire h(k) - Si k sy trouve, arrêter la recherche - Sinon, chercher les adresses occupées suivant h(k) jusquà ce quon trouve k. Si lon atteint soit une adresse inoccupée ou ladresse domiciliaire h(k) à nouveau, alors k ne se trouve pas dans le fichier dindexes. Dans ce dernier cas, on dira que la recherche retourné à son point de départ. Avantage: simplicité dusage Désavantage: formation de regroupements denreg.s

16 Longueur dun recherche dans lutilisation du débordement progressif Le débordement progressif cause des recherches additionelles et, donc, des seeks additionnels. Sil y a beaucoup de collisions, alors beaucoup denregistrements seront loin de leur adresse domiciliaire. La longueur de recherche correspond au nombre daccès requis pour récuperer un enregistrement de la mémoire secondaire. La longueur moyenne est le montant de temps moyen auquel on peut sattendre pour récuperer un enregistrement du disque. longueur de recherche moyenne = (longueur de recherche totale)/(# total denreg.s) Voir Figure 11.6 dans le livre pour un exemple.