Huis Persoonlijke financiën Algoritmes voor streaming en bloeifilters - dummies

Algoritmes voor streaming en bloeifilters - dummies

Video: De Voorspelbare Mens 3: Mijn baas is een algoritme 2024

Video: De Voorspelbare Mens 3: Mijn baas is een algoritme 2024
Anonim

In het hart van veel streaming-algoritmen bevinden zich Bloom-filters. Gecreëerd bijna 50 jaar geleden door Burton H. Bloom, in een tijd dat computerwetenschap nog vrij jong was, was de oorspronkelijke bedoeling van de maker van dit algoritme om ruimte (geheugen) en / of tijd (complexiteit) in te ruilen tegen wat hij noemde toegestane fouten. Zijn originele paper is getiteld Space / Time Trade-offs in Hash-codering met toegestane fouten.

Je kunt je afvragen wat de ruimte en tijd is dat Bloom als motivatie beschouwt voor zijn algoritme. Stel je voor dat je moet bepalen of een element al in een stream is verschenen met behulp van een eerder besproken datastructuur. Het vinden van iets in een stream betekent dat opnemen en zoeken snel gaat, dus een hash-tabel lijkt een ideale keuze. hashtabellen vereisen eenvoudigweg het toevoegen van de elementen die u wilt opnemen en opslaan. Het herstellen van een element uit een hash-tabel is snel omdat de hash-tabel gemakkelijk te manipuleren waarden gebruikt om het element weer te geven, in plaats van het element zelf (wat behoorlijk complex zou kunnen zijn). Toch heeft het opslaan van beide elementen en een index voor die elementen beperkingen. Als een hash-tabel meer elementen bevat dan hij aankan, zoals de elementen in een continue en potentieel oneindige stroom, zult u op een gegeven moment geheugenproblemen oplopen.

Een essentiële overweging voor Bloom-filters is dat valse positieven kunnen voorkomen, maar fout-negatieven kunnen dat niet. Een gegevensstroom kan bijvoorbeeld realtime bewakingsgegevens voor een energiecentrale bevatten. Wanneer een Bloom-filter wordt gebruikt, zou de analyse van de gegevensstroom aantonen dat verwachte metingen waarschijnlijk deel uitmaken van de reeks toegestane waarden, met enkele fouten toegestaan. Wanneer er echter een fout optreedt in het systeem, laat dezelfde analyse zien dat de metingen geen deel uitmaken van de reeks toegestane waarden. Het is onwaarschijnlijk dat de valse positieven problemen veroorzaken, maar de afwezigheid van valse negatieven betekent dat iedereen veilig blijft. Vanwege het potentieel voor valse positieven zijn filters zoals het Bloom-filter probabilistische datastructuren - ze bieden geen bepaald antwoord, maar een waarschijnlijk antwoord.

Hashes, de afzonderlijke items in een hashtabel, zijn snel omdat ze fungeren als de index van een boek. Je gebruikt een hash-functie om de hash te produceren; de invoer is een element dat complexe gegevens bevat en de uitvoer is een eenvoudig getal dat als een index voor dat element fungeert. Een hash-functie is deterministisch omdat het elke keer dat u het een specifieke gegevensinvoer levert hetzelfde aantal produceert.U gebruikt de hash om de complexe informatie te vinden die u nodig hebt. Bloom-filters zijn handig omdat ze een zuinige manier zijn om sporen van veel elementen vast te leggen zonder ze weg te hoeven bewaren zoals een hash-tabel doet. Ze werken op een eenvoudige manier en gebruiken de volgende ingrediënten:

  • Een bitvector: Een lijst met bitelementen, waarbij elke bit in het element een waarde van 0 of 1 kan hebben. De lijst is lang aantal bits genaamd m. Hoe groter m is, hoe beter, hoewel er manieren zijn om de omvang ervan optimaal te definiëren.
  • Een reeks hash-functies: Elke hashfunctie vertegenwoordigt een andere waarde. Met de hash-functies kunnen snel gegevens worden gecrawld en uniform gedistribueerde resultaten worden geproduceerd, wat resulteert in resultaten die variëren van de minimale tot de maximale uitvoerwaarden van de hash.
Algoritmes voor streaming en bloeifilters - dummies

Bewerkers keuze

Tien Helpbronnen voor Junos OS - dummies

Tien Helpbronnen voor Junos OS - dummies

Dit is een top-tien lijst met bronnen die u moet zoeken meer informatie over softwarebewerkingen, training en ondersteuning voor Junos - alle extra details die u mogelijk nodig heeft om Junos OS te kunnen configureren en bedienen in uw eigen netwerkimplementaties. CLI Help-commando's Bent u op zoek naar meer achtergrondinformatie over hoe een bepaalde functie ...

De functie van de drie vlakken van Junos netwerk OS - dummies

De functie van de drie vlakken van Junos netwerk OS - dummies

De architectuur van de Junos opererende systeem verdeelt de functies van besturing, services en doorsturen op verschillende niveaus. Elk van de vlakken van Junos OS biedt een kritieke set van functionaliteit in de werking van het netwerk. Besturingsvlak van het Junos-netwerkbesturingssysteem (NOS) Alle functies van het besturingsvlak lopen op ...

De basisprincipes van BGP-routebealing - dummy's

De basisprincipes van BGP-routebealing - dummy's

Het configureren van Border Gateway Protocol (BGP) kan nogal lastig zijn, vooral met grote aantallen peersessies die handmatig moeten worden geconfigureerd. In feite kan in een groot netwerk de full-mesh-vereiste voor IBGP een provisioning-nachtmerrie zijn. BGP's antwoord op de IBGP-paring-configuratie-nachtmerrie die het volledige maaswerk is, wordt routeberefening genoemd. Route ...

Bewerkers keuze

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Als de allerbeste locatie op het web staat op de pagina een van de zoekmachines, je moet de SEO-elementen kennen die je daar kunnen brengen. Een goede plek om te beginnen is met zoekwoorden. Zoekmachines gebruiken geavanceerde processen om zoekwoordgebruik en andere factoren te categoriseren en analyseren om erachter te komen ...

Persberichten als bron van SEO-inhoud - dummies

Persberichten als bron van SEO-inhoud - dummies

Het leuke aan persberichten is dat u ze zonder toestemming op uw website kunt gebruiken, en sommige zullen al voor de zoekmachine zijn geoptimaliseerd. Het doel van een persbericht is om het uit te sturen en te zien wie het ophaalt. U hoeft geen contact op te nemen met de eigenaar van het persbericht, omdat ...

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Zelfs de domeinnaam van uw site moet geoptimaliseerd voor zoekmachines. Zoekmachines lezen uniforme resource locators (URL's), op zoek naar sleutelwoorden erin. Bijvoorbeeld als u een website heeft met de domeinnaam knaagdierracen. com en iemand zoekt Google op knaagdierenraces, Google ziet rodent-racing als een wedstrijd; omdat er een streepje verschijnt tussen de twee ...

Bewerkers keuze

Praxis Elementair onderwijs Examen-Economie - dummies

Praxis Elementair onderwijs Examen-Economie - dummies

U zult enkele basisconcepten van de economie voor de Praxis moeten kennen Elementair onderwijs examen. Elementaire economie onderzoekt de wens voor, de productie van en de verkoop en het gebruik van geld, zowel lokaal als wereldwijd. Het onderwijzen van economie omvat concepten zoals behoeften versus behoeften, kosten en meer tot nadenken stemmende onderwerpen, zoals de volgende: ...

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Het Praxis basisonderwijs: Curriculum, instructie en beoordeling examen (5017) bestrijkt een breed scala van wat u moet weten over basisonderwijs. Als u het Praxis Elementary Education: Content Knowledge-examen (5018) neemt, moet u zich ervan bewust zijn dat het de dekking beperkt tot de inhoud van de vier hoofdonderwerpen die een elementaire leraar is ...

Praxis Core For Dummies Cheat Sheet - dummies

Praxis Core For Dummies Cheat Sheet - dummies

Voordat je te opgewonden raakt, begrijp dat de informatie die volgt niet klopt eigenlijk niet over het bedriegen van de Praxis. Het gaat echt meer om de meest efficiënte manieren om je voor te bereiden op het examen. Maar "voorbereidingsblad" heeft niet helemaal dezelfde reden. Trouwens, vals spelen is niet nodig als je weet wat je aan het doen bent, en ...