Bitget App
Trade smarter
Acheter des cryptosMarchésTradingFuturesEarnWeb3CommunautéPlus
Trading
Spot
Achat et vente de cryptos
Marge
Amplifiez et maximisez l'efficacité de vos fonds
Onchain
Going Onchain, without going Onchain!
Convert
Aucun frais de transaction ni slippage
Explorer
Launchhub
Prenez l'avantage dès le début et commencez à gagner
Copy
Copiez des traders experts en un clic
Bots
Bots de trading IA simples, rapides et fiables
Trading
Futures USDT-M
Futures réglés en USDT
Futures USDC-M
Futures réglés en USDC
Futures Coin-M
Futures réglés en cryptomonnaies
Explorer
Guide des Futures
Le parcours de trading de Futures, du débutant à l'expert
Événements Futures
Profitez de généreuses récompenses
Bitget Earn
Une variété de produits pour faire fructifier vos actifs
Simple Earn
Déposez et retirez à tout moment, rendements flexibles sans risque
On-chain Earn
Réalisez des profits quotidiens sans risquer votre capital
Structured Earn
Une innovation financière solide pour gérer les fluctuations du marché
VIP et Gestion de patrimoine
Des services premium pour une gestion de patrimoine intelligente
Prêt Crypto
Emprunts flexibles avec un haut niveau de sécurité des fonds

Filtre de Bloom

Avancé
share

Un filtre de Bloom est une structure de données probabiliste conçue pour tester efficacement si un élément fait partie d'un ensemble. Inventé par Burton Howard Bloom en 1970, il est devenu un outil fondamental en informatique en raison de sa capacité à gérer de grands ensembles de données avec une consommation minimale de mémoire. Contrairement aux structures de données traditionnelles telles que les tables de hachage ou les arbres binaires de recherche, un filtre de Bloom peut fournir une réponse définitive lorsqu'un élément n'est pas dans l'ensemble, mais seulement une réponse probabiliste lorsqu'un élément l'est. Cela signifie que si les faux positifs sont possibles, les faux négatifs ne le sont pas.

Le concept de base d'un filtre de Bloom s'articule autour d'un tableau de bits, tous réglés initialement sur 0, et d'une série de fonctions de hachage. Lorsqu'un élément est ajouté au filtre de Bloom, il passe par chacune des fonctions de hachage pour générer plusieurs positions dans le tableau de bits. Les bits à ces positions sont alors mis à 1. Pour vérifier si un élément fait partie de l'ensemble, il est à nouveau haché à l'aide des mêmes fonctions et les bits correspondants sont vérifiés. Si tous les bits à ces positions sont à 1, l'élément est considéré comme pouvant faire partie de l'ensemble ; si l'un des bits est à 0, l'élément ne fait absolument pas partie de l'ensemble.

L'un des principaux avantages des filtres de Bloom est leur efficacité en termes d'espace. Ils nécessitent beaucoup moins de mémoire que d'autres structures de données pour la même tâche, en particulier lorsque le nombre d'éléments augmente. Par exemple, moins de 10 bits par élément sont nécessaires pour obtenir une probabilité de faux positif de 1%, quel que soit le nombre d'éléments de l'ensemble. Les filtres de Bloom sont donc particulièrement utiles dans les applications où l'utilisation de la mémoire est une préoccupation essentielle, comme les routeurs de réseau, les systèmes de base de données et les systèmes distribués.

Cependant, les filtres de Bloom sont assortis de certaines limitations. L'impossibilité de supprimer des éléments de l'ensemble est un inconvénient majeur, car l'effacement des bits qui ont été définis par plusieurs éléments introduirait des faux négatifs. Des variantes telles que les filtres de Bloom de comptage ("counting bloom filters" en anglais) ont été développées pour résoudre ce problème, ce qui permet d'éliminer des éléments en maintenant un compte du nombre de fois où chaque bit a été activé. En outre, le taux de faux positifs augmente avec le nombre d'éléments ajoutés, ce qui signifie que la taille du tableau de bits et le nombre de fonctions de hachage doivent être soigneusement choisis en fonction du nombre d'éléments attendus et du taux de faux positifs acceptable.

Dans les applications pratiques, les filtres de Bloom sont largement utilisés dans divers domaines. Par exemple, sur le réseau Bitcoin, ils sont utilisés pour améliorer la confidentialité des clients lors de la vérification simplifiée des paiements (SPV) en permettant aux utilisateurs d'interroger les transactions sans révéler leur adresse. Les réseaux de diffusion de contenu tels qu'Akamai utilisent des filtres de Bloom pour gérer efficacement le stockage en mémoire cache, réduisant ainsi la charge de travail des serveurs en évitant les extractions de données inutiles. Malgré leur nature probabiliste et leurs limites, les filtres de Bloom restent un outil précieux pour la conception de systèmes efficaces et évolutifs.

Télécharger l'application
Télécharger l'application