Implementace Bloom filtrů

Abstract

This bachelor thesis presents a theoretical analysis and practical implementation of probabilistic data structures, focusing specifically on Bloom filters and their variants. The first part of the thesis is dedicated to the theoretical background, historical context and mathematical derivation of the false positive results probability. Attention is also given to the optimization of memory requirements for the bit array and modern variants, such as Counting and Scalable Bloom filters. The practical part focuses on the software design and implementation of these structures in C# as a distributable library (NuGet package), optimized for thread-safe environment. The resulting implementation is subjected to extensive testing and performance benchmarking. The experiments evaluate the time complexity, actual memory efficiency and real-world error rates in comparison with theoretical mathematical models. Thus, the thesis provides a comprehensive theoretical and practical overview of Bloom filter usage.

Description

Delayed publication

Available after

Subject(s)

Bloom filter, probabilistic data structure, hash function, software implementation, performance testing, benchmarking, NuGet package, false positives rate

Citation