Hem Personliga finanser Strömmande algoritmer och blomfilters - dummies

Strömmande algoritmer och blomfilters - dummies

Video: ¿La ISS es un FRAUDE de la NASA para ocultar la TIERRA PLANA? 2025

Video: ¿La ISS es un FRAUDE de la NASA para ocultar la TIERRA PLANA? 2025
Anonim

I hjärtat av många strömmande algoritmer är Bloom-filter. Skapat för nästan 50 år sedan av Burton H. Bloom, i en tid då datavetenskapen fortfarande var ganska ung, var den ursprungliga avsikten för denna algoritms skapare att handla rymd (minne) och / eller tid (komplexitet) mot vad han kallade tillåtna fel. Hans ursprungliga papper heter Utrymme / tidshantering i Hash-kodning med tillåtna fel.

Du kanske undrar om det utrymme och den tid som Bloom anser motivatorer för hans algoritm. Föreställ dig att du måste bestämma om ett element redan har dykt upp i en ström med hjälp av en tidigare diskuterad datastruktur. Att hitta något i en ström innebär att inspelning och sökning är snabba. Därför verkar ett hashbord ett idealiskt val. Hash tabeller behöver helt enkelt lägga till de element som du vill spela in och lagra dem. Att återställa ett element från ett hashbord är snabbt eftersom hash-tabellen använder lätt manipulerade värden för att representera elementet, snarare än själva elementet (vilket kan vara ganska komplext). Ändå har lagring av båda elementen och ett index till dessa element begränsningar. Om ett hashbord står inför fler element än vad den kan hantera, till exempel elementen i en kontinuerlig och potentiellt oändlig ström, kommer du att sluta med minneproblem vid något tillfälle.

Ett viktigt övervägande för Bloom-filter är att falska positiva kan uppstå, men falska negativ kan inte. Till exempel kan en dataström innehålla realtidsövervakningsdata för en kraftverk. Vid användning av ett Bloom-filter skulle analysen av dataströmmen visa att förväntade mätningar sannolikt är en del av uppsättningen tillåtna värden, med vissa fel tillåtna. När ett fel inträffar i systemet visar emellertid samma analys att avläsningarna inte ingår i uppsättningen tillåtna värden. De falska positiva är osannolikt att orsaka problem, men frånvaron av falska negativ innebär att alla är säkra. På grund av potentialen för falska positiva egenskaper är filter som Bloom-filteret probabilistiska datastrukturer - de ger inte ett visst svar men en sannolik.

Hashes, de enskilda posterna i ett hashbord, är snabba eftersom de fungerar som index för en bok. Du använder en hashfunktion för att producera hasen; Inmatningen är ett element som innehåller komplex data, och utmatningen är ett enkelt tal som fungerar som ett index för det elementet. En hashfunktion är deterministisk eftersom den producerar samma nummer varje gång du matar in en specifik dataingång.Du använder hasen för att hitta den komplexa informationen du behöver. Blomfiltrar är användbara eftersom de är ett sparsamt sätt att spela in spår av många element utan att behöva lagra dem bort som ett hashbord gör. De fungerar på ett enkelt sätt och använder följande som huvudingredienser:

  • En liten vektor: En lista med bitelement, där varje bit i elementet kan ha ett värde på 0 eller 1. Listan är en lång Antal bitar som heter m. Ju större m är, desto bättre, men det finns sätt att optimalt definiera sin storlek.
  • En serie hashfunktioner: Varje hash-funktion representerar ett annat värde. Hashfunktionerna kan snabbt knäcka data och producera jämnt fördelade resultat, vilket är lika med från minsta till maximala utgångsvärden för hasen.
Strömmande algoritmer och blomfilters - dummies

Redaktörens val

Vad är en Java-karta? - dummies

Vad är en Java-karta? - dummies

Arrays och specialiserade listor gör det möjligt att utföra en fantastisk uppsättning uppgifter med Java. Det finns dock situationer där en Java-applikation behöver något som är mer relaterat till en databas, utan att egentligen ha allt databasbagage (som att behöva köpa en separat applikation). Till exempel kanske du vill kunna ...

Några få saker om Java Math - dummies

Några få saker om Java Math - dummies

Tro det eller inte, datorer - även de mest kraftfulla - Ha vissa begränsningar när det gäller att utföra matematiska beräkningar. Dessa begränsningar är vanligtvis obetydliga, men ibland slår de sig och biter på dig. Här är de saker du behöver se upp för när du gör matte i Java. Helhetsflöde Det grundläggande problemet ...

Vad är recursion i Java Programmering? - dummies

Vad är recursion i Java Programmering? - dummies

Rekursion är en grundläggande programmeringsteknik som du kan använda i Java, där en metod kallar sig för att lösa ett problem. En metod som använder denna teknik är rekursiv. Många programmeringsproblem kan lösas endast genom rekursion, och vissa problem som kan lösas med andra tekniker löses bättre genom rekursion. En av ...

Redaktörens val

4 Måste-inkludera i din blogg sidobardesign - dummies

4 Måste-inkludera i din blogg sidobardesign - dummies

Din bloggens sidofält är viktig fastighet som bör innehålla de element du vill ha mest. När du utformar din blogg sidofält kan du dra från en nästan oändlig lista över sidospårelement. Genom att välja noggrant vad som ska inkluderas (och vad som inte ska inkluderas) kan du ställa in din blogg från andra.

5 Användbara Wordpress Plugins - dummies

5 Användbara Wordpress Plugins - dummies

Om du bloggar på en självhävd plattform med WordPress-programvara, är det dags att anpassa din blogg med plug-ins - programvara som kan "anslutas" till din befintliga WordPress bloggprogramvara. Plug-ins gör det möjligt för dig att göra allt från funktionsbildspel i dina blogginlägg för att ansluta sociala medier till din webbplats. Här är fem användbara ...

7 Sätt att erövra Writer's Block som en Blogger - dummies

7 Sätt att erövra Writer's Block som en Blogger - dummies

Varje bloggare möter författarens block i ett tid eller annan. Om du är den typ av bloggare som sköter innehåll varje dag, kan författarens block vara stäverande. Kan du inte ta en paus för att få ditt skrivande mojo tillbaka? Prova en (eller flera) av dessa sju sätt att slå författarens block för att få dig tillbaka ...

Redaktörens val

10 Stora elektronikkomponentkällor - dummies

10 Stora elektronikkomponentkällor - dummies

Letar du efter några bra källor till dina elektroniska delar? Denna lista ger dig några fleråriga favoriter, både inom och utanför Nordamerika. Denna lista är inte uttömmande. Du hittar bokstavligen tusentals specialutbud för ny och begagnad elektronik. Plus, Amazon och eBay ger virtuella marknadsplatser för alla sorters säljare - ...

Elektronik Basics: Resistance - dummies

Elektronik Basics: Resistance - dummies

I elektronikvärlden är motståndet inte meningslöst. Faktum är att motstånd kan vara mycket användbart. Utan motstånd skulle elektronik inte vara möjligt. Elektronik handlar om att manipulera strömmen av ström, och ett av de mest grundläggande sätten att manipulera strömmen är att minska det genom resistans. Utan motstånd strömmar strömmen oreglerad och där ...

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

För att berätta för BASIC Stamp vad du vill göra i ditt digitala elektronikprojekt måste du programmera det. BASIC Stamp Windows Editor är den programvara som du använder på din dator för att skapa program som kan laddas ner till en BASIC Stamp-mikrokontroller. Denna programvara är tillgänglig gratis från Parallax webbplats. ...