Casa Finanza personale Streaming Algorithms e Bloom Filters - dummies

Streaming Algorithms e Bloom Filters - dummies

Video: Bloom Filters 2024

Video: Bloom Filters 2024
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

Sintassi JavaScript selezionata - dummies

Sintassi JavaScript selezionata - dummies

JavaScript è un linguaggio importante per la programmazione, lo sviluppo di giochi e le applicazioni desktop. Di seguito sono riportati gli elementi di sintassi JavaScript più comunemente utilizzati, inclusi i comandi per manipolare le variabili, controllare il flusso del programma e gestire le funzioni. Avviso funzione Descrizione ("messaggio"); Crea una finestra di dialogo a comparsa contenente un messaggio. var myVar = 0; Crea una variabile con un valore iniziale dato. Type is ...

I nuovi CSS3 Border Techniques - dummies

I nuovi CSS3 Border Techniques - dummies

Hanno fatto parte del CSS fin dall'inizio, ma i CSS3 aggiungono nuove opzioni davvero entusiasmanti. I browser moderni ora supportano i bordi creati da un'immagine così come gli angoli arrotondati e le ombre dei riquadri. Queste tecniche promettono di aggiungere nuove straordinarie funzionalità ai tuoi progetti. Confini dell'immagine CSS3 consente di utilizzare un'immagine ...

Scelta dell'editore

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Il componente aggiuntivo Analisi dati (noto nelle precedenti versioni di Excel come Analysis ToolPak o ATP) ti aiuta a fare analisi statistiche di ogni genere - e la previsione delle vendite è sicuramente una sorta di analisi statistica. Un componente aggiuntivo contiene codice Visual Basic: un programma, spesso scritto in una versione di BASIC, che Excel può eseguire. È ...

Utilizzando riferimenti di celle esterne in Excel - dummies

Utilizzando riferimenti di celle esterne in Excel - dummies

Potresti scoprire di avere dati in una cartella di lavoro di Excel che desideri fare riferimento in una formula all'interno di un'altra cartella di lavoro. In tale situazione, è possibile creare un collegamento tra le cartelle di lavoro utilizzando un riferimento di cella esterna. Un riferimento di cella esterna non è altro che un riferimento di cella che risiede in un esterno ...

Utilizzando Excel per calcolare una media basata su criteri - dummy

Utilizzando Excel per calcolare una media basata su criteri - dummy

È Possibile utilizzare Excel per calcolare una media . Immaginalo: devi calcolare una media da un elenco di numeri, usando solo i numeri nell'elenco che corrispondono a una condizione. In altre parole, calcola la media utilizzando i numeri se corrispondono a un determinato criterio. Excel è pieno di sorprese e, per questo trucco, tu ...

Scelta dell'editore

Come utilizzare le funzioni per trovare valori in Excel - dummies

Come utilizzare le funzioni per trovare valori in Excel - dummies

Excel fornisce funzioni per trovare il più grande o i valori più piccoli in un set di dati Excel. Queste funzioni includono MAX, MAXA, MIN, MINA, LARGE e SMALL. MAX: valore massimo La funzione MAX trova il valore più grande nei dati. La funzione ignora le celle vuote e le celle contenenti testo o valori logici come TRUE e FALSE ...

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

A volte potresti volere o dover creare un Excel cartella di lavoro in modo automatico. Ad esempio, potrebbe essere necessario copiare i dati da una tabella e incollarli in una cartella di lavoro appena creata. La seguente macro copia un intervallo di celle dal foglio attivo e incolla i dati in una nuova cartella di lavoro. In che modo ...

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

A volte quando si fa l'analisi what-if in Excel 2016 , hai in mente un risultato particolare, ad esempio un importo di vendita o una percentuale di crescita target. Quando è necessario eseguire questo tipo di analisi, si utilizza la funzione Goal Seek di Excel per trovare i valori di input necessari per raggiungere l'obiettivo desiderato. Per utilizzare la ricerca obiettivo ...