Accueil Finances personnelles Comment trouver le nombre d'éléments dans un flux de données - mannequins

Comment trouver le nombre d'éléments dans un flux de données - mannequins

Vidéo: Comment avoir la Nocturno sur Fortnite Sauver Le Monde 2025

Vidéo: Comment avoir la Nocturno sur Fortnite Sauver Le Monde 2025
Anonim

Même si un filtre Bloom peut suivre les objets arrivant d'un flux, il ne peut pas dire combien il y a d'objets. Un vecteur bit rempli par un peut (en fonction du nombre de hashs et de la probabilité de collision) cacher le vrai nombre d'objets hachés à la même adresse.

La connaissance du nombre d'objets est utile dans diverses situations, par exemple lorsque vous souhaitez connaître le nombre d'utilisateurs distincts ayant consulté une page de site Web ou le nombre de requêtes de moteur de recherche distinctes. Stocker tous les éléments et trouver les doublons parmi eux ne peut pas fonctionner avec des millions d'éléments, en particulier venant d'un flux. Lorsque vous voulez connaître le nombre d'objets distincts dans un flux, vous devez toujours utiliser une fonction de hachage, mais l'approche consiste à prendre une esquisse numérique.

Esquisse signifie prendre une approximation, c'est une valeur inexacte mais pas complètement fausse comme réponse. L'approximation est acceptable car la valeur réelle n'est pas trop éloignée. Dans cet algorithme intelligent, HyperLogLog, basé sur la probabilité et l'approximation, vous observez les caractéristiques des nombres générés à partir du flux. HyperLogLog est issu des études des informaticiens Nigel Martin et Philippe Flajolet. Flajolet a amélioré son algorithme initial, Flajolet-Martin (ou l'algorithme LogLog), dans la version plus robuste de HyperLogLog, qui fonctionne comme ceci:

  1. Un hachage convertit chaque élément reçu du flux en un nombre.
  2. L'algorithme convertit le nombre en binaire, la norme numérique de base 2 que les ordinateurs utilisent.
  3. L'algorithme compte le nombre de zéros initiaux dans le nombre binaire et les traces du nombre maximum qu'il voit, qui est n.
  4. L'algorithme estime le nombre d'éléments distincts passés dans le flux en utilisant n. Le nombre d'éléments distincts est 2 ^ n.

Par exemple, le premier élément de la chaîne est le mot chien. L'algorithme le transforme en entier et le convertit en binaire, avec un résultat de 01101010. Seul un zéro apparaît au début du nombre, l'algorithme l'enregistre comme le nombre maximal de zéros finaux vus. L'algorithme voit alors les mots perroquet et loup, dont les équivalents binaires sont 11101011 et 01101110, laissant n inchangé. Cependant, lorsque le mot cat passe, la sortie est 00101110, donc n devient 2. Pour estimer le nombre d'éléments distincts, l'algorithme calcule 2 ^ n, c'est-à-dire 2 ^ 2 = 4. La figure montre ce processus.

Compter uniquement les zéros en tête.

L'astuce de l'algorithme est que si votre hash produit des résultats aléatoires, équitablement répartis (comme dans un filtre Bloom), en regardant la représentation binaire, vous pouvez calculer la probabilité qu'une séquence de zéros apparaisse. Parce que la probabilité qu'un nombre binaire unique soit 0 est une sur deux, pour calculer la probabilité de séquences de zéros, il suffit de multiplier cette probabilité 1/2 autant de fois que la longueur de la séquence de zéros:

  • 50% (1/2) probabilité pour les nombres commençant à 0
  • 25% (1/2 * 1/2) probabilité pour les nombres commençant par 00
  • 12. 5% (1/2 * 1/2 * 1/2) probabilité pour les nombres commençant à 000
  • (1/2) ^ k probabilité pour les nombres commençant par k zéros (vous utilisez les puissances pour les calculs plus rapides de nombreuses multiplications de la même nombre)

Moins il y a de chiffres visibles par HyperLogLog, plus grande est l'imprécision. La précision augmente lorsque vous utilisez le calcul HyperLogLog plusieurs fois en utilisant différentes fonctions de hachage et que vous calculez la moyenne des réponses de chaque calcul, mais le hachage de nombreuses fois prend du temps et les flux sont rapides. Vous pouvez également utiliser le même hachage, mais diviser le flux en groupes (par exemple, en séparant les éléments en groupes à leur arrivée en fonction de leur ordre d'arrivée) et, pour chaque groupe, suivre le nombre maximal de zéros de fin. En fin de compte, vous calculez l'estimation de l'élément distinct pour chaque groupe et calculez la moyenne arithmétique de toutes les estimations. Cette approche est un moyennage stochastique et fournit des estimations plus précises que l'application de l'algorithme à l'ensemble du flux.

Comment trouver le nombre d'éléments dans un flux de données - mannequins

Le choix des éditeurs

Comment créer et éditer des tableaux dans AutoCAD 2014 - mannequins

Comment créer et éditer des tableaux dans AutoCAD 2014 - mannequins

AutoCAD 2014 vous fournit avec bonheur la TABLE commande pour vos besoins de table. Après avoir créé un style de tableau approprié, l'ajout d'une table à un dessin est facile, avec la commande TABLE. Voici comment: Définir un courant de couche approprié. En supposant que vous laissez la couleur, le type de ligne et le poids de ligne définis sur ByLayer, le calque courant est ...

Comment créer et restaurer une vue nommée dans AutoCAD 2014 - les nuls

Comment créer et restaurer une vue nommée dans AutoCAD 2014 - les nuls

Si vous avez plusieurs fois Pour effectuer un zoom et effectuer un panoramique sur la même zone dans AutoCAD 2014, vous pouvez rapidement voir ce que vous voulez en utilisant une vue nommée. Après avoir nommé et enregistré une vue d'une zone particulière d'un dessin, vous pouvez revenir rapidement à cette zone en restaurant la vue. Vous utilisez ...

Comment créer un nouveau dessin à partir d'un dessin de modèle dans AutoCAD 2014 - les nuls

Comment créer un nouveau dessin à partir d'un dessin de modèle dans AutoCAD 2014 - les nuls

Lorsque vous démarrez dans l'espace de travail Drafting & Annotation ou dans l'ancien espace de travail AutoCAD Classic, AutoCAD 2014 crée un nouveau dessin vide configuré pour le dessin 2D. Selon l'endroit où vous vivez (votre pays, pas votre adresse postale!) Et le système de mesure dominant utilisé, AutoCAD basera ce nouveau dessin sur l'un des ...

Le choix des éditeurs

Automatiser les contrôles de sécurité du courrier électronique pour empêcher les piratages par courrier électronique - dummies

Automatiser les contrôles de sécurité du courrier électronique pour empêcher les piratages par courrier électronique - dummies

Le courrier électronique est un point d'entrée commun pour les attaques de piratage sur tous les types de systèmes - Windows, Linux, Unix - vous l'appelez. Vous pouvez implémenter les contre-mesures suivantes en tant que couche de sécurité supplémentaire pour vos systèmes de messagerie: Tarpitting: Tarpitting détecte les messages entrants destinés à des utilisateurs inconnus. Si votre serveur de messagerie prend en charge le tarpitting, il peut ...

ÉValue les vulnérabilités avec Hacks éthiques - mannequins

ÉValue les vulnérabilités avec Hacks éthiques - mannequins

Si vous trouvez des failles de sécurité potentielles, la prochaine étape consiste à confirmer vulnérabilités dans votre système ou votre réseau. Avant de tester, effectuez une recherche manuelle. Vous pouvez rechercher des babillards hackers, des sites Web et des bases de données de vulnérabilités, telles que: Common Vulnerabilities and Exposures Base de données de vulnérabilités US-CERT NIST National Vulnerability Database Ces sites répertorient les ...

Authentification des utilisateurs VPN Enterprise Mobile - Mannequins

Authentification des utilisateurs VPN Enterprise Mobile - Mannequins

Avant d'autoriser l'accès au réseau d'entreprise à partir de n'importe quel appareil mobile , vous devez d'abord identifier l'utilisateur. Un type de validation d'identité d'utilisateur est l'authentification. L'authentification de l'utilisateur est la validation qu'un utilisateur est vraiment ce qu'elle dit être. En d'autres termes, l'authentification de l'utilisateur prouve que la personne qui tente de se connecter à ...

Le choix des éditeurs

Pourquoi Word Knowledge est important pour ASVAB - mannequins

Pourquoi Word Knowledge est important pour ASVAB - mannequins

Mot La connaissance ne fait pas partie de l'ASVAB juste parce que l'armée aime utiliser de grands mots. C'est inclus parce que les mots représentent des idées, et plus vous comprenez de mots, plus vous pouvez comprendre d'idées (et mieux vous pouvez communiquer avec les autres). Un vocabulaire décent est essentiel dans l'armée si vous voulez ...

Comprendre le Big Four sur l'ASVAB: vos scores AFQT - les nuls

Comprendre le Big Four sur l'ASVAB: vos scores AFQT - les nuls

L'ASVAB pas de score global. Quand vous entendez quelqu'un dire: «J'ai un 80 sur mon ASVAB», cette personne parle du score du test de qualification des forces armées (AFQT), pas un score global ASVAB. Le score AFQT détermine si vous pouvez même vous enrôler dans l'armée, et seulement quatre des sous-tests ...