Lar Finanças Pessoais Como encontrar o número de elementos em um fluxo de dados - manequins

Como encontrar o número de elementos em um fluxo de dados - manequins

Vídeo: EXCEL 2016 - Localizando um nome dentro de células e consolidando dados 2024

Vídeo: EXCEL 2016 - Localizando um nome dentro de células e consolidando dados 2024
Anonim

Mesmo que um filtro Bloom possa rastrear objetos que chegam de um fluxo, ele não pode dizer quantos objetos existem. Um pequeno vetor preenchido por um pode (dependendo do número de hashes e da probabilidade de colisão) ocultar o número real de objetos que estão sendo escondeu no mesmo endereço.

Conhecer o número distinto de objetos é útil em várias situações, como quando você quer saber quantos usuários distintos viram uma determinada página do site ou o número de consultas distintas do mecanismo de pesquisa. Armazenar todos os elementos e encontrar as duplicatas entre eles não pode funcionar com milhões de elementos, especialmente provenientes de um fluxo. Quando você quer saber o número de objetos distintos em um fluxo, você ainda precisa confiar em uma função de hash, mas a abordagem envolve a tomada de um esboço numérico.

Esboçar significa tomar uma aproximação, que é um valor inexato, porém não completamente errado, como uma resposta. A aproximação é aceitável porque o valor real não está muito longe disso. Neste algoritmo inteligente, HyperLogLog, que é baseado na probabilidade e na aproximação, você observa as características dos números gerados a partir do fluxo. O HyperLogLog deriva dos estudos de cientistas informáticos Nigel Martin e Philippe Flajolet. A Flajolet melhorou seu algoritmo inicial, Flajolet-Martin (ou o algoritmo LogLog), na versão HyperLogLog mais robusta, que funciona assim:

  1. Um hash converte cada elemento recebido do fluxo em um número.
  2. O algoritmo converte o número em binário, o padrão numérico da base 2 que os computadores usam.
  3. O algoritmo conta o número de zeros iniciais no número binário e as faixas do número máximo que vê, que é n.
  4. O algoritmo estima o número de elementos distintos passados ​​no fluxo usando n. O número de elementos distintos é 2 ^ n.

Por exemplo, o primeiro elemento na string é a palavra cão. O algoritmo o corta em um valor inteiro e converte-o em binário, com o resultado de 01101010. Somente um zero aparece no início do número, então o algoritmo o registra como o número máximo de zeros à esquerda vistos. O algoritmo então vê as palavras papagaio e lobo, cujos equivalentes binários são 11101011 e 01101110, deixando n inalterados. No entanto, quando a palavra cat passa, a saída é 00101110, então n se torna 2. Para estimar o número de elementos distintos, o algoritmo calcula 2 ^ n, ou seja, 2 ^ 2 = 4. A figura mostra esse processo.

Contando apenas os zeros à esquerda.

O truque do algoritmo é que, se o seu hash estiver produzindo resultados aleatórios, distribuídos igualmente (como em um filtro Bloom), ao analisar a representação binária, você pode calcular a probabilidade de aparecer uma seqüência de zeros. Como a probabilidade de um único número binário ser 0 é uma em duas, para calcular a probabilidade de seqüências de zeros, basta multiplicar essa 1/2 probabilidade quantas vezes o comprimento da seqüência de zeros:

  • 50 por cento (1/2) de probabilidade para números que começam com 0
  • 25 por cento (1/2 * 1/2) de probabilidade para números que começam com 00
  • 12. Probabilidade de 5 por cento (1/2 * 1/2 * 1/2) para números que começam com 000
  • (1/2) ^ k probabilidade para números que começam com k zeros (você usa poderes para cálculos mais rápidos de muitas multiplicações do mesmo número)

Quanto menor os números que o HyperLogLog vê, maior a imprecisão. A precisão aumenta quando você usa o cálculo HyperLogLog muitas vezes usando diferentes funções de hash e, em média, juntas as respostas de cada cálculo, mas hashing muitas vezes leva tempo, e os fluxos são rápidos. Como alternativa, você pode usar o mesmo hash, mas dividir o fluxo em grupos (por exemplo, separando os elementos em grupos à medida que eles chegam com base no seu pedido de chegada) e para cada grupo, você acompanha o número máximo de zeros à direita. No final, você calcula a estimativa do elemento distinto para cada grupo e calcula a média aritmética de todas as estimativas. Esta abordagem é a média estocástica e fornece estimativas mais precisas do que aplicar o algoritmo ao fluxo inteiro.

Como encontrar o número de elementos em um fluxo de dados - manequins

Escolha dos editores

ASVAB Paragraph Comprehension Practice - dummies

ASVAB Paragraph Comprehension Practice - dummies

Um dos subtestes que você verá no ASVAB é o teste de compreensão de parágrafos. Esta parte do ASVAB está voltada para ver se você entende o que você lê. Exemplo de perguntas Parágrafo Tempo de compreensão: 13 minutos para 15 perguntas Instruções: A compreensão de parágrafo é o quarto subtesto no ASVAB. As perguntas são projetadas para ...

ASVAB Preparação: Números positivos e negativos - manequins

ASVAB Preparação: Números positivos e negativos - manequins

Certifique-se de que esteja familiarizado com o trabalho positivo e negativo números para o ASVAB. Os números podem ser positivos ou negativos. Um número positivo é qualquer número maior que zero. Então, 4; 3. 2; 793; 3/4; 1/2; e 430, 932, 843, 784 são todos números positivos. Números inferiores a zero são números negativos. Cada número positivo tem um negativo ...

ASVAB Dicas de compreensão de leitura - manequins

ASVAB Dicas de compreensão de leitura - manequins

As abordagens de compreensão de parágrafo no ASVAB geralmente são bastante curtas. Essas dicas podem ajudá-lo a compreender melhor as passagens de leitura ASVAB e as perguntas que as seguem: Compreenda o que a questão quer de você. Solicita o ponto principal, informações específicas ou uma conclusão baseada na informação apresentada? Releia o parágrafo ...

Escolha dos editores

A diferença entre análises analógicas e digitais - manequins

A diferença entre análises analógicas e digitais - manequins

Toda a eletrônica pode ser dividida em duas grandes categorias: analógico e digital. Um dos exemplos mais comuns da diferença entre dispositivos analógicos e digitais é um relógio. No relógio analógico, o tempo é representado por mãos que giram ao redor de um disco e apontam para uma localização no mostrador que representa ...

O papel dos átomos na eletrônica - dummies

O papel dos átomos na eletrônica - dummies

Os átomos são os blocos de construção básicos de tudo no universo, seja natural ou manmade. Eles são tão pequenos que você encontraria milhões deles em uma única partícula de poeira. A corrente elétrica, às vezes conhecida como eletricidade, é o movimento na mesma direção de partículas microscópicamente pequenas e eletricamente carregadas, chamadas elétrons. Cada átomo contém o ...

Roles de prótons e elétrons - dummies

Roles de prótons e elétrons - dummies

É Uma propriedade de certas partículas, como elétrons, prótons , e quarks (sim, quarks) que descreve como eles interagem uns com os outros. Existem dois tipos diferentes de carga elétrica, um pouco arbitrariamente chamada positiva e negativa (bem como as quatro direções cardinais são chamadas norte, sul, leste e oeste). Em geral, partículas que carregam ...

Escolha dos editores

Acesso 2007 All-In-One For Dummies Cheat Sheet - dummies

Acesso 2007 All-In-One For Dummies Cheat Sheet - dummies

Trabalhando no Access 2007 é mais fácil uma vez que você entenda executar a janela do Access 2007 e usar ferramentas para ajudar a gerenciar seus dados e responder suas perguntas.

Arrumando suas mensagens com o Lotus Notes 6 - manequins

Arrumando suas mensagens com o Lotus Notes 6 - manequins

Antes de enviar uma mensagem de e-mail no Lotus Notes 6, você pode definir Opções de entrega, Opções de segurança e Selos de humor. Use essas dicas de notas para informar o destinatário sobre o quão quente é sua mensagem ou qual é o seu humor; ou solicitar confirmação de entrega, definir o tempo de entrega e muito mais. Depois de terminar de compor o corpo ...

10 Ofícios de teclado do Office 2016 - dummies

10 Ofícios de teclado do Office 2016 - dummies

Um tema comum do Office 2016 é que todos os programas se parecem e funcionam. Depois de aprender a usar o Word, você achará que não é muito mais difícil aprender o Excel ou o PowerPoint porque as guias do Ribbon funcionam de maneiras semelhantes. Ainda melhor, os mesmos comandos de teclas funcionam de forma semelhante em todos os programas do Office 2016. Por ...