Lar Finanças Pessoais Algoritmos de transmissão e Filtros de Bloom - dummies

Algoritmos de transmissão e Filtros de Bloom - dummies

Vídeo: Medo que paralisa - Racionalismo Cristão, uma filosofia para o nosso tempo 2024

Vídeo: Medo que paralisa - Racionalismo Cristão, uma filosofia para o nosso tempo 2024
Anonim

No coração de muitos algoritmos de transmissão estão os filtros Bloom. Criada há quase 50 anos por Burton H. Bloom, na época em que a ciência da computação ainda era bastante jovem, a intenção original do criador desse algoritmo era trocar espaço (memória) e / ou tempo (complexidade) contra o que ele chamava erros permitidos. Seu artigo original é intitulado Space / Time Trade-offs em Hash Codificação com Erros Permitidos.

Você pode se perguntar sobre o espaço e o tempo que a Bloom considera motivadores para seu algoritmo. Imagine que você precisa determinar se um elemento já apareceu em um fluxo usando alguma estrutura de dados anteriormente discutida. Encontrar algo em um fluxo implica que a gravação e a busca são rápidas, portanto, uma tabela de hash parece ser uma escolha ideal. Tabelas Hash simplesmente exigem a adição de elementos que você deseja gravar e armazená-los. Recuperar um elemento de uma tabela hash é rápido porque a tabela hash usa valores facilmente manipulados para representar o elemento, em vez do próprio elemento (o que pode ser bastante complexo). No entanto, armazenar os dois elementos e um índice desses elementos tem limitações. Se uma tabela de hash tiver mais elementos do que pode manipular, como os elementos em um fluxo contínuo e potencialmente infinito, você acabará por sofrer problemas de memória em algum momento.

Uma consideração essencial para os filtros Bloom é que os falsos positivos podem ocorrer, mas falsos negativos não podem. Por exemplo, um fluxo de dados pode conter dados de monitoramento em tempo real para uma usina de energia. Ao usar um filtro Bloom, a análise do fluxo de dados mostraria que as leituras esperadas são provavelmente parte do conjunto de leituras permitidas, com alguns erros permitidos. No entanto, quando ocorre um erro no sistema, a mesma análise mostra que as leituras não fazem parte do conjunto de leituras permitidas. Os falsos positivos não são susceptíveis de causar problemas, mas a ausência de falsos negativos significa que todos permanecem seguros. Devido ao potencial de falsos positivos, filtros como o filtro Bloom são estruturas de dados probabilísticas - eles não fornecem uma certa resposta, mas uma provável.

Hashes, as entradas individuais em uma tabela de hash, são rápidas porque atuam como o índice de um livro. Você usa uma função hash para produzir o hash; a entrada é um elemento contendo dados complexos, e a saída é um número simples que atua como um índice desse elemento. Uma função hash é determinista porque produz o mesmo número toda vez que você alimenta uma entrada de dados específica.Você usa o hash para localizar as informações complexas que você precisa. Os filtros Bloom são úteis porque são uma maneira frugal de gravar vestígios de muitos elementos sem ter que armazená-los como faz uma tabela de hash. Eles funcionam de forma simples e usam o seguinte como ingredientes principais:

  • Um vetor de bits: Uma lista de elementos de bits, em que cada bit no elemento pode ter um valor de 0 ou 1. A lista é longa número de bits chamado m. O maior m é, melhor, embora existam maneiras de definir de forma otimizada seu tamanho.
  • Uma série de funções hash: Cada função hash representa um valor diferente. As funções de hash podem rapidamente colidir dados e produzir resultados uniformemente distribuídos, que são resultados igualmente variando do mínimo ao máximo de valores de saída do hash.
Algoritmos de transmissão e Filtros de Bloom - dummies

Escolha dos editores

Origem e Design de Hadoop - dummies

Origem e Design de Hadoop - dummies

Então, o que é exatamente isso com o nome engraçado - Hadoop? No seu núcleo, o Hadoop é uma estrutura para armazenar dados em grandes clusters de hardware de commodities - hardware de computador todos os dias acessível e facilmente disponível - e executando aplicativos contra esses dados. Um cluster é um grupo de computadores interligados (conhecido como ...

A arquitetura do porco em Hadoop - dummies

A arquitetura do porco em Hadoop - dummies

"Simples" geralmente significa "elegante" quando se trata de desenhos arquitetônicos para Essa nova mansão do Vale do Silício que você planejou quando o dinheiro começa a rolar depois de implementar o Hadoop. O mesmo princípio se aplica à arquitetura de software. O porco é composto por dois componentes (count 'em, two): O próprio idioma: como prova de que os programadores ...

MapReduce Application Flow em Hadoop - dummies

MapReduce Application Flow em Hadoop - dummies

No seu núcleo, MapReduce é um modelo de programação para o processamento de conjuntos de dados que são armazenados de forma distribuída nos nós de escravo de um cluster Hadoop. O conceito-chave aqui é dividir e conquistar. Especificamente, você deseja quebrar um grande conjunto de dados em muitas peças menores e processá-las em paralelo com o mesmo algoritmo. ...

Escolha dos editores

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

A base de todo o trabalho do mecanismo de pesquisa é uma análise de palavras-chave. Fazer uma análise de palavras-chave realmente não é tão complicado e pode significar a diferença entre sucesso e falha em sua campanha PPC. Comece digitando as palavras-chave óbvias em um editor de texto ou processador de texto - aqueles que você já pensou ou, se você ...

Envie seu site para Yahoo! Search Directory - dummies

Envie seu site para Yahoo! Search Directory - dummies

Envios para o Yahoo! O diretório costumava ser muito difícil. Pesquisas mostraram que as pessoas que conseguiram obter seus sites listados no diretório tiveram que tentar várias vezes em questão de meses. Era grátis, mas era um aborrecimento. A boa notícia: você pode obter seu site listado em Yahoo! Diretório ...

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Em A superfície, a criação de conteúdo não soa tão difícil até você se sentar e tentar escrever. Sua estratégia de SEO depende desse conteúdo. É ainda pior se você estiver escrevendo conteúdo para o que muitas pessoas podem considerar uma indústria chata. A boa notícia é que é possível transformar indivíduos potencialmente chatos em bons ...

Escolha dos editores

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Um transistor dentro de um O circuito eletrônico funciona como uma combinação de um diodo e um resistor variável, também chamado de potenciômetro ou pote. Mas isso não é apenas um pote comum; é um pote mágico cujo botão é misteriosamente conectado ao diodo por raios invisíveis, tipo desse tipo: quando a tensão direta é aplicada em ...

Componentes eletrônicos: Resistores - manequins

Componentes eletrônicos: Resistores - manequins

Um resistor é um pequeno componente projetado para fornecer um específico quantidade de resistência em um circuito eletrônico. Como a resistência é um elemento essencial de quase todos os circuitos eletrônicos, você usará resistores em quase todos os circuitos que você constrói. Embora os resistores venham em uma variedade de tamanhos e formas, o tipo mais comum ...