Zuhause Persönliche Finanzen Streaming-Algorithmen und Bloom-Filter - Dummies

Streaming-Algorithmen und Bloom-Filter - Dummies

Video: L25 0 Bit Vector + Bloom Filter I Dictionary building 2024

Video: L25 0 Bit Vector + Bloom Filter I Dictionary building 2024
Anonim

Das Herzstück vieler Streaming-Algorithmen sind Bloom-Filter. Vor fast 50 Jahren von Burton H. Bloom, zu einer Zeit als die Informatik noch recht jung war, war die ursprüngliche Absicht des Schöpfers dieses Algorithmus, Raum (Speicher) und / oder Zeit (Komplexität) gegen das zu handeln, was er nannte. zulässige Fehler. Seine Originalarbeit trägt den Titel Raum / Zeit-Abstriche bei der Hashcodierung mit zulässigen Fehlern.

Sie wundern sich vielleicht über den Raum und die Zeit, die Bloom für seinen Algorithmus als Motivatoren betrachtet. Stellen Sie sich vor, Sie müssen feststellen, ob ein Element bereits in einem Stream unter Verwendung einer zuvor erörterten Datenstruktur aufgetreten ist. Etwas in einem Stream zu finden bedeutet, dass das Aufnehmen und Suchen schnell ist, daher scheint ein Hash-Tabelle eine ideale Wahl zu sein. Hash-Tabellen erfordern lediglich das Hinzufügen der Elemente, die Sie aufzeichnen und speichern möchten. Das Wiederherstellen eines Elements aus einer Hash-Tabelle ist schnell, weil die Hash-Tabelle leicht manipulierte Werte verwendet, um das Element darzustellen, und nicht das Element selbst (das sehr komplex sein kann). Die Speicherung beider Elemente und eines Index für diese Elemente hat jedoch Grenzen. Wenn eine Hashtabelle mehr Elementen gegenübersteht, als sie verarbeiten kann, z. B. die Elemente in einem kontinuierlichen und potentiell unendlichen Stream, werden Sie irgendwann Speicherprobleme bekommen.

Eine wichtige Überlegung für Bloom-Filter ist, dass falsche Positive auftreten können, falsche Negative jedoch nicht. Zum Beispiel könnte ein Datenstrom Echtzeitüberwachungsdaten für ein Kraftwerk enthalten. Bei Verwendung eines Bloom-Filters würde die Analyse des Datenstroms zeigen, dass die erwarteten Messwerte wahrscheinlich Teil der zulässigen Messwerte sind, wobei einige Fehler zulässig sind. Wenn jedoch ein Fehler im System auftritt, zeigt die gleiche Analyse, dass die Messwerte nicht Teil der zulässigen Messwerte sind. Es ist unwahrscheinlich, dass die falschen Positiven Probleme verursachen, aber das Fehlen falscher Negative bedeutet, dass jeder sicher bleibt. Filter wie der Bloom-Filter sind probabilistische Datenstrukturen - sie liefern keine bestimmte, sondern eine wahrscheinliche Antwort.

Hashes, die einzelnen Einträge in einer Hashtabelle, sind schnell, weil sie sich wie der Index eines Buches verhalten. Sie verwenden eine Hash-Funktion, um den Hash zu erzeugen. Die Eingabe ist ein Element, das komplexe Daten enthält, und die Ausgabe ist eine einfache Zahl, die als Index für dieses Element fungiert. Eine Hash-Funktion ist deterministisch, da sie jedes Mal, wenn Sie sie mit einer bestimmten Dateneingabe speisen, dieselbe Nummer erzeugt.Sie verwenden den Hash, um die komplexen Informationen zu finden, die Sie benötigen. Bloom-Filter sind hilfreich, weil sie eine sparsame Möglichkeit darstellen, Spuren vieler Elemente aufzuzeichnen, ohne sie wie eine Hash-Tabelle speichern zu müssen. Sie arbeiten auf einfache Weise und verwenden folgende Hauptbestandteile:

  • Ein Bitvektor: Eine Liste von Bitelementen, wobei jedes Bit im Element einen Wert von 0 oder 1 haben kann. Die Liste ist lang. Anzahl von Bits, die m genannt werden. Je größer m ist, desto besser, obwohl es Möglichkeiten gibt, seine Größe optimal zu bestimmen.
  • Eine Reihe von Hash-Funktionen: Jede Hash-Funktion repräsentiert einen anderen Wert. Die Hash-Funktionen können Daten schnell zerreißen und gleichmäßig verteilte Ergebnisse erzeugen, die Ergebnisse sind, die sich gleichermaßen von den minimalen bis zu den maximalen Ausgabewerten des Hashs erstrecken.
Streaming-Algorithmen und Bloom-Filter - Dummies

Die Wahl des Herausgebers

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Eine der besten Möglichkeiten, um Zusätzliche Meilenzahl von Ihren Sozialmedieninhalt ist, sie umzupacken und sie auf verschiedenen Kanälen freizugeben. Wenn Sie einen Blogbeitrag haben und den Beitrag direkt über Social Sharing bewerben, können Sie diesen Blogpost in eine herunterladbare PDF-Datei umwandeln. Wenn die ...

Social-Media-Optimierung: SMART Marketing - Dummies

Social-Media-Optimierung: SMART Marketing - Dummies

Wenn Sie Ihre Social Media-Ziele definiert haben, haben Sie Ihr Ziel identifiziert Zielgruppe und fand heraus, wo sie auf Social-Media-Kanälen zu finden sind, nutzte die Daten aus Analyse-Programmen, um die optimale Zeit zu bestimmen, um in sozialen Medien aktiv zu sein, und eine umfassende Social-Media-Verhaltenspolitik setzen Sie sind bereit, zu bewegen ...

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Wenn Sie möchten Um mit Ihrer Social-Media-Optimierungsstrategie wirklich erfolgreich zu sein, müssen Sie etwas über semantisches Markup wissen. Einfach gesagt ist semantisches Markup ein standardisierter Weg, um Code zu schreiben, der eine Webseite für dumme Maschinen wie Suchmaschinen leicht verständlich macht. Es ist eine Möglichkeit, den Inhalt einer Webseite mit Anmerkungen zu versehen ...

Die Wahl des Herausgebers

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Haben Sie keine Angst, etwas Neues zu lernen. Dies kann bedeuten, dass Sie Artikel über Ihre Branche, die Marke und das Online-Community-Management lesen. Dies kann bedeuten, dass Sie nach Bildung suchen, die es Ihnen ermöglicht, Ihre Community besser zu betreiben. Es schadet nie, grundlegendes Web- oder Blog-Design zu kennen und auf dem neuesten Stand der Technik zu bleiben. Außerdem ...

Online-Community-Manager sollten mit Beispiel führen - Dummies

Online-Community-Manager sollten mit Beispiel führen - Dummies

Ihre Community orientiert sich an Ihnen. Wenn du schwörst und nistest, werden die Mitglieder wissen, dass dieses Verhalten in Ordnung ist. Wenn Sie aber jeden Morgen fröhlich grüßen, folgen sie Ihrem Beispiel. Sogar Leute, die von Drama und Negativität angezogen werden, werden sich entweder an der guten Miene beteiligen, oder sie werden so müde ...

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Ob es sich um Ihre Online-Community handelt oder nicht müssen Sie sich der Marktentwicklung bewusst sein. Was kaufen Leute? Wie kommunizieren sie online? Geben sie mehr oder weniger Geld aus? Welche Lebensmittel, Gadgets oder Moden sind rein oder raus? Um auf dem neuesten Stand der Trends zu bleiben, sollten Sie wissen, was und was so ist.

Die Wahl des Herausgebers

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Ausblick 2007 eine neue Funktion namens To-Do-Leiste, die alle Dinge, die Sie tun müssen, zusammenfasst und sie in einem Bereich auf der rechten Seite des Outlook-Bildschirms anzeigt. Das Ziel der To-Do-Leiste ist es, Ihnen mitzuteilen, was Sie auf einen Blick tun müssen, anstatt ...

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

In Outlook 2013 befolgen alle Regeln dass andere Windows-Boxen folgen, also wenn Sie ein alter Hase beim Verschieben und Ändern der Größe von Boxen in Windows sind, werden Sie in Ordnung sein. Wenn Sie mit Windows und Dialogfeldern noch nicht vertraut sind, machen Sie sich keine Sorgen - Notizen lassen sich genauso einfach in der Größe ändern wie zum Schreiben und Lesen. Ändern ...

Kennenlernen von Ansichten in Outlook 2007 - Dummys

Kennenlernen von Ansichten in Outlook 2007 - Dummys

In Outlook 2007 verfügt jedes Outlook-Modul über eine eigene Auswahl von Ansichten. Jede Art von Ansicht ist so organisiert, dass ein bestimmtes Merkmal Ihrer Informationen auf den ersten Blick sichtbar wird. Sie können die Art ändern, wie Sie eine Ansicht anzeigen, indem Sie sie sortieren, filtern oder gruppieren. Sie können mit Ansichten nicht falsch gehen, weil Sie ...