Hjem Personlig finansiering Streaming algoritmer og blomfiltre - dummier

Streaming algoritmer og blomfiltre - dummier

Video: NRK P3 om musikk og streaming 2025

Video: NRK P3 om musikk og streaming 2025
Anonim

I hjertet af mange streaming algoritmer er Bloom-filtre. Den tid, da computervidenskaben stadig var ret ung, blev skabt for næsten 50 år siden af ​​Burton H. Bloom, var den oprindelige hensigt med denne algoritmens skaber at handle om rum (hukommelse) og / eller tid (kompleksitet) mod det, han kaldte tilladelige fejl. Hans originale papir er titlen Rum / Time Trade-offs i Hash-kodning med tilladelige fejl.

Du kan tænke dig at have plads og tid, som Bloom anser motiverende for hans algoritme. Forestil dig at du skal bestemme, om et element allerede er optrådt i en stream ved hjælp af en tidligere diskuteret datastruktur. At finde noget i en strøm indebærer optagelse og søgning er hurtig, hvilket betyder, at et hashbord er et ideelt valg. Hash tabeller kræver blot at tilføje de elementer, du vil optage og gemme dem. Gendannelse af et element fra et hashbord er hurtigt, fordi hashbordet bruger let manipulerede værdier til at repræsentere elementet, snarere end selve elementet (som kunne være ret komplekst). Men lagring af begge elementer og et indeks til disse elementer har begrænsninger. Hvis et hashbord står over for flere elementer, end det kan klare, såsom elementerne i en kontinuerlig og potentielt uendelig strøm, vil du ende med at påtage sig hukommelsesproblemer på et eller andet tidspunkt.

En væsentlig overvejelse for Bloom-filtre er, at falske positiver kan forekomme, men falske negativer kan ikke. For eksempel kan en datastrøm indeholde realtidsovervågningsdata for et kraftværk. Ved brug af et Bloom-filter viser analysen af ​​datastrømmen, at forventede målinger sandsynligvis er en del af sæt tilladte aflæsninger, med nogle fejl tilladt. Men når en fejl opstår i systemet, viser den samme analyse, at aflæsningerne ikke er en del af sæt af tilladte aflæsninger. De falske positive er usandsynligt at skabe problemer, men fraværet af falske negativer betyder, at alle forbliver sikre. På grund af muligheden for falske positiver er filtre som Bloom-filteret probabilistiske datastrukturer - de giver ikke et bestemt svar, men en sandsynlig.

Hashes, de enkelte poster i et hashbord, er hurtige, fordi de fungerer som indekset for en bog. Du bruger en hash funktion til at producere hash; indgangen er et element, der indeholder komplekse data, og output er et simpelt tal, der fungerer som et indeks til det element. En hash-funktion er deterministisk, fordi den producerer det samme nummer hver gang du føder det en bestemt dataindgang.Du bruger hasen til at finde de komplekse oplysninger, du har brug for. Blomfiltre er nyttige, fordi de er en sparsommelig måde at registrere spor af mange elementer uden at skulle gemme dem væk som et hashbord gør. De arbejder på en enkel måde og bruger følgende som hovedingredienser:

  • En smule vektor: En liste over bitelementer, hvor hver bit i elementet kan have en værdi på 0 eller 1. Listen er lang antal bits kaldet m. Jo større m er, jo bedre, selvom der er måder at optimere størrelsen på.
  • En række hashfunktioner: Hver hash-funktion repræsenterer en anden værdi. Hash-funktionerne kan hurtigt knuse data og producere ensartede distribuerede resultater, som resultaterne ligeledes spænder fra minimum til maksimale outputværdier for hasen.
Streaming algoritmer og blomfiltre - dummier

Valg af editor

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 maksimerer effektiviteten, når du administrerer projekter - men også genvejstaster i Project 2010 din tid på tastaturet: Her er nogle genvejstaster, du vil bruge hele tiden, når du bygger og arbejder med en projektplan. Indtastning af tastetryk Indsæt Indsætter ny opgave Ctrl + K Indsætter hyperlink F7 Starter stavekontrol Alt + F10 Tildeler ressourcer ...

Hvordan man ændrer gridlines i Project 2016 - dummies

Hvordan man ændrer gridlines i Project 2016 - dummies

Flere visninger i Project 2016 inkluderer gridlines for at angive visse elementer, f.eks. en pause mellem uger eller status dato (det vil sige den dato, hvor der er sporet fremskridt på et projekt). Disse linjer hjælper en person med at læse planen for at skelne mellem tidsintervaller eller brud på information; For eksempel kan netlinjer være ...

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktionen er som standard tændt for alle nye tidsplanfiler. Pile vises i kolonneoverskrifterne i det viste ark. Når du klikker på pilen i kolonnen Ressourcenavne, er navnet på hver ressource, der er tildelt opgaver i projektet, angivet i alfabetisk rækkefølge sammen med ...

Valg af editor

Netværksadministration: Windows Command Omdirigering og piping - dummies

Netværksadministration: Windows Command Omdirigering og piping - dummies

Omdirigering og piping af Windows-kommandoer er relaterede teknikker. Omdirigering giver dig mulighed for at angive en alternativ destination for output, der vil blive vist med en kommando eller en alternativ kilde til input, der skal indtastes i en kommando. Du kan f.eks. Gemme resultaterne af en kommando ipconfig / all til en fil ved navn myconfig. txt ...

Netværksadministration: VPN Security - dummies

Netværksadministration: VPN Security - dummies

Udtrykket tunnel er nogle gange brugt til at beskrive en VPN, fordi VPN'en skaber en sikker tunnel mellem to steder, som kun kan indtastes fra begge ender. De data, der bevæger sig gennem tunnelen fra den ene ende til den anden, er sikre, så længe det er inden for tunnelen - det vil sige inden for ...

Netværksadministration: Windows Miljøvariabler - dummies

Netværksadministration: Windows Miljøvariabler - dummies

Windows-kommandoskallen giver flere miljøvariabler til kommandoer. Miljøvariabler begynder og slutter med procent tegn. Du kan bruge en miljøvariabel overalt i en kommando. For eksempel viser C:> echo% OS%, der kører på% PROCESSOR_IDENTIFIER% en linje som denne: Windows_NT kører på en x86 Familie 15 Model 2 Stepping 8, ...

Valg af editor

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Objektorienteret programmering i PHP har en anden funktion, der gør det meget nyttigt til store projekter. Mange objekter er relateret til hinanden, og du kan bruge et familietræforhold til at forenkle din programmering. Hvordan man bygger en critter baseret på en anden critter Der er en ny critter i byen. Denne har den samme grundlæggende ...

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Du kører ofte over en situation i HTML5 og CSS3 programmering, hvor du har et udtryk, der kan have mange mulige værdier. Du kan altid bruge strukturen til at klare denne situation, men PHP leverer en anden interessant mulighed. Koden til dette program anvender omskifterstrukturen. Tag et kig på, hvordan det er gjort: