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? 2024

Video: ¿La ISS es un FRAUDE de la NASA para ocultar la TIERRA PLANA? 2024
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

Jewish Funeral Traditions - dummies

Jewish Funeral Traditions - dummies

Judiska begravningar sker vanligen i en synagoge, begravningshem eller på en kyrkogård. Med tradition är judiska begravningar enkla (symboliserar tron ​​att människor är alla lika i döden), men de varierar mycket och har ingen uppsättning liturgi. Att skicka blommor till ett begravnings- eller sorgshem är starkt avskräckt i judendomen. Inte bara kommer ...

Identifiera komplicerade grävande dummies

Identifiera komplicerade grävande dummies

Komplicerat roende är det tekniska namnet som sorgproffs ger till en sorgprocess som sitter fast vid något tillfälle , vilket gör det omöjligt för de förlorade att framgångsrikt starta eller avsluta sorgprocessen. Komplicerat sorg är ofta ett tecken på olösta problem i förhållandet mellan de förlorade och den avlidne som gör det ...

Redaktörens val

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

När du har en anpassad vy för MapController i din iOS-app, måste du berätta för iPad-storyboardet att du laddar in din anpassade vy i stället för en UIViewController. Följ dessa steg: Välj Projekt navigator genom att välja Main_iPad. storyboard och välj sedan View Controller i View Controller - Map Scene i dokumentutskriften. ...

Hur man roterar objekt i din iOS-app - dummies

Hur man roterar objekt i din iOS-app - dummies

Här hittar du hur man rotera en vy (i så fall vrid bilen runt) i din iOS-app. För att göra det uppdaterar du den roterande kodstuben du startade med och ersätter den med den fetstilta koden. - (void) rotera {CGAffineTransform transform = CGAffineTransformMakeRotation (M_PI); void (^ animation) () = ^ () {self. bil. transformera = transformera; ...

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Bör du lägga till en ny anpassad vykontroll till din iOS-app innan du fortsätter till dessa steg. Du behöver fortfarande berätta för storyboardet att du vill att den ska ladda den nya anpassade vykontrollen istället för en UIViewController. Följ dessa steg:

Redaktörens val

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Adobe Creative Suite 5 (Adobe CS5) Illustrator tillåter Du sparar en grafisk stil. En grafisk stil är en kombination av alla inställningar du väljer för ett visst filter eller en effekt i Utseendepanelen. Genom att spara informationen i en grafisk stil lagras du dessa attribut så att du snabbt och enkelt kan tillämpa ...

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

I Adobe Creative Suite 5 (Adobe CS5 ) Illustratör du kan använda markeringsverktyget för att skala och rotera ett valt objekt. Dra begränsningsboxens handtag för att ändra storlek på objektet, eller flytta dig utanför ett handtag och sedan, när markören ändras till en flippig pil (en böjd pil med pilhuvud i båda ändarna), dra till ...

Objekttransformation i Adobe CS5 Illustrator - dummies

Objekttransformation i Adobe CS5 Illustrator - dummies

Verktygen Rotate, Reflect, Scale och Shear i Adobe Creative Suite 5 (Adobe CS5) Illustrator använder alla samma grundläggande steg för att utföra transformationer. Här är fem sätt att transformera ett objekt: en för en godtycklig omvandling och fyra andra för exakta omvandlingar baserat på en numerisk mängd som du anger. Vilkårlig omvandlingsmetod Eftersom detta ...