Réalisations

  • POO
    • Études - Lowatem
    • Études - Graphes
    • Études - 6 qui prend
    • Études - Bloom filter
    • Perso. - ODailyQuests
  • Web
    • Études - Novas
    • Études - Streaming
  • Système
    • Études - Convert. PDF
    • Études - Machine virt.

Bloom Filter


Objectif

L'objectif de ce projet était d'implémenter un filtre de Bloom et de tester ses performances sur trois structures de données: les tableaux, les listes et les listes chaînées.

Le projet devait être réalisé en Java. J'ai choisi d'utiliser Maven, pour simplifier le portage d'un IDE à un autre. Mis à part JUnit pour les tests unitaires, aucune dépendance ne fut nécessaire.

L'idée de ce projet était donc de créer de A à Z un filtre de Bloom: il faut gérer l'initialisation, l'insertion et la recherche, sur chaque type de structure. Puis, il fallait calculer et comparer les temps d'exécution de la recherche pour chacune des structures de données, en fixant un nombre d'éléments et en faisant varier la taille de notre filtre pour voir dans quelle mesure celle-ci influe sur les résultats.

Enfin, il fallait analyser le taux d'erreur, en faisant varier le nombre de fonctions de hashage (k), le nombre d'éléments (n) et la taille du filtre (m).

Le code source et le rapport sont disponibles ici.


Images




Télécharger le RETEX