Casa Finanza personale Streaming Algorithms e Bloom Filters - dummies

Streaming Algorithms e Bloom Filters - dummies

Video: Bloom Filters 2025

Video: Bloom Filters 2025
Anonim

Il cuore di molti algoritmi di streaming sono i filtri Bloom. Creato quasi 50 anni fa da Burton H. Bloom, in un periodo in cui l'informatica era ancora piuttosto giovane, l'intento originale del creatore di questo algoritmo era di scambiare spazio (memoria) e / o tempo (complessità) con quello che chiamava errori consentiti. Il suo documento originale è intitolato Complessioni spazio / tempo nella codifica hash con errori consentiti.

Potresti chiederti dello spazio e del tempo che Bloom considera motivatori per il suo algoritmo. Immagina di dover determinare se un elemento è già apparso in uno stream utilizzando una struttura di dati precedentemente discussa. Trovare qualcosa in un flusso implica che la registrazione e la ricerca siano veloci, quindi una tabella hash sembra una scelta ideale. Le tabelle hash richiedono semplicemente di aggiungere gli elementi che si desidera registrare e archiviarli. Recuperare un elemento da una tabella hash è veloce perché la tabella hash utilizza i valori facilmente manipolati per rappresentare l'elemento, piuttosto che l'elemento stesso (che potrebbe essere piuttosto complesso). Tuttavia, la memorizzazione di entrambi gli elementi e un indice di tali elementi presenta limitazioni. Se una tabella hash ha più elementi di quanti ne possa gestire, come gli elementi in un flusso continuo e potenzialmente infinito, a un certo punto finirai per incorrere in problemi di memoria.

Una considerazione essenziale per i filtri Bloom è che possono verificarsi falsi positivi, ma i falsi negativi non possono. Ad esempio, un flusso di dati potrebbe contenere dati di monitoraggio in tempo reale per una centrale elettrica. Quando si utilizza un filtro Bloom, l'analisi del flusso di dati mostrerebbe che le letture previste sono probabilmente parte dell'insieme di letture consentite, con alcuni errori consentiti. Tuttavia, quando si verifica un errore nel sistema, la stessa analisi mostra che le letture non fanno parte dell'insieme delle letture consentite. È improbabile che i falsi positivi causino problemi, ma l'assenza di falsi negativi significa che tutti restano al sicuro. A causa del potenziale di falsi positivi, i filtri come il filtro Bloom sono strutture dati probabilistiche, che non forniscono una risposta certa ma probabile.

Gli hash, le singole voci in una tabella hash, sono veloci perché si comportano come l'indice di un libro. Si utilizza una funzione di hash per produrre l'hash; l'input è un elemento contenente dati complessi e l'output è un numero semplice che funge da indice per quell'elemento. Una funzione di hash è deterministica perché produce lo stesso numero ogni volta che lo si alimenta con uno specifico input di dati.Usi l'hash per localizzare le complesse informazioni di cui hai bisogno. I filtri Bloom sono utili perché sono un modo parsimonioso per registrare tracce di molti elementi senza doverli archiviare come fa una tabella hash. Funzionano in modo semplice e usano i seguenti ingredienti principali:

  • Un vettore di bit: Un elenco di elementi di bit, in cui ogni bit nell'elemento può avere un valore di 0 o 1. L'elenco è lungo numero di bit chiamati m. La m maggiore è, meglio è, anche se ci sono modi per definire in modo ottimale le sue dimensioni.
  • Una serie di funzioni hash: Ogni funzione di hash rappresenta un valore diverso. Le funzioni di hash possono scricchiare rapidamente i dati e produrre risultati uniformemente distribuiti, che sono risultati che vanno ugualmente dal minimo al massimo dei valori di uscita dell'hash.
Streaming Algorithms e Bloom Filters - dummies

Scelta dell'editore

Come leggere dal file in PHP per la programmazione HTML5 e CSS3 - manichini

Come leggere dal file in PHP per la programmazione HTML5 e CSS3 - manichini

Se puoi scrivere dati in un file in PHP, sarebbe logico che tu possa leggere da quel file anche per la programmazione HTML5 e CSS3. Il readContact. programma php recupera i dati salvati nel programma precedente e li visualizza sullo schermo. Non è difficile scrivere un programma per leggere ...

Come usare una classe PHP in uno script - dummy

Come usare una classe PHP in uno script - dummy

Il codice classe PHP deve essere inserito lo script che usa la classe. Più comunemente, la classe viene archiviata in un file di inclusione separato ed è inclusa in qualsiasi script che utilizza la classe. Per usare un oggetto, devi prima creare l'oggetto dalla classe. Quindi quell'oggetto può eseguire qualsiasi metodo che ...

Scelta dell'editore

Come usare lo strumento Timbro clone di Photoshop - manichini

Come usare lo strumento Timbro clone di Photoshop - manichini

Puoi usare lo strumento Timbro clone in Photoshop per rimuovere gli angoli e altri difetti copiando una porzione dei pixel circostanti, che dovrebbero avere un colore e una consistenza simili, sopra la parte malata dell'immagine. Per utilizzare lo strumento Timbro clone, attenersi alla seguente procedura: Selezionare lo strumento Timbro clone dallo strumento ...

Come disinstallare e reinstallare Photoshop Lightroom - dummies

Come disinstallare e reinstallare Photoshop Lightroom - dummies

Se si nota un problema con Lightroom la prima volta che si avvia esso, qualcosa potrebbe essere andato storto durante il processo di installazione. Disinstallare e quindi reinstallare potrebbe essere tutto ciò che è necessario per correggere il problema. Il processo è diverso per ogni sistema operativo, quindi ecco i passaggi separati per ciascuno. Su Windows: Chiudi tutto ...

Fotografia For Dummies Cheat Sheet - dummies

Fotografia For Dummies Cheat Sheet - dummies

La fotografia è un hobby divertente e gratificante che può renderti molto popolare tra la gente nelle tue foto - o molto impopolare. Per ottenere il massimo da una fotocamera "inquadra e scatta", digitale o meno, la prima abilità da padroneggiare è bloccare l'attenzione. Puoi perfezionare le tue abilità fotografiche in modo che le tue foto siano ...

Scelta dell'editore

Agire per aumentare le emozioni edificanti - manichini

Agire per aumentare le emozioni edificanti - manichini

Al fine di elevare le tue emozioni, il primo passo è diventare consapevoli di quale emozioni che hai Diventa consapevole di ciò che ti innesca: cosa ti mette in agitazione e ti fa arrabbiare e ciò che ti rende molto eccitato. Un trigger sta guardando alcuni programmi televisivi e consente alle emozioni di questi programmi di permeare ...

Come le aziende ti convincono ad acquistare i loro prodotti - manichini

Come le aziende ti convincono ad acquistare i loro prodotti - manichini

Quasi tutti i media commerciali destinati alle donne ottengono la loro pubblicità entrate dalle industrie del cibo, della bellezza, della dieta e della moda. Solo l'industria della dieta stessa è un'impresa commerciale da 33 miliardi di dollari l'anno. E, naturalmente, queste industrie hanno bisogno di clienti in modo continuativo per continuare a avere successo. È nel loro interesse per ...

Come si forma l'immagine del corpo nella tua gioventù - dummies

Come si forma l'immagine del corpo nella tua gioventù - dummies

In generale, ciò che hai vissuto con la tua famiglia quando stavano crescendo ha avuto un effetto diretto sui pensieri e le sensazioni che hai avuto sul tuo corpo. Ripensa ai tuoi anni più giovani. Quanto attentamente le seguenti affermazioni descrivono la tua famiglia? Nessuno ha esercitato. L'auto è stata utilizzata anche per viaggi brevi. Cibo pesante e da ingrasso ...