Streaming Data: Das Modell

Größe: px
Ab Seite anzeigen:

Download "Streaming Data: Das Modell"

Transkript

1 Streaming Data: Das Modell Berechnungen, bei fortlaufend einströmenden Daten (x t t 0), sind in Echtzeit zu erbringen. Beispiele sind: - Verkehrsmessungen im Internet, - Datenanalyse in der Abwehr einer Denial-of-Service Attacke, - Verarbeitung von durch Satelliten erfassten Daten, oder - fortlaufende Protokollierung von Telefonverbindungen durch weltweit agierende Telefonunternehmen und die damit verbundenen Reaktionen auf überlastete Leitungen. Das Modell 1 / 74

2 Algorithmische Fragestellungen (1/2) Erstellung von Stichproben: Stichproben reduzieren die Größe der Datenmenge und sind deshalb ein wichtiges Hilfsmittel für viele einfache Probleme. Beachte, dass sich Stichproben dynamisch mit dem Datenstrom ändern müssen. Häufigkeitsanalyse für Datenströme: Wenn au = {i x i = u} die Häufigkeit des Schlüssels u ist, dann berechne das k te Häufigkeitsmoment H k = u U a k u. H0 ist die Anzahl verschiedener Schlüssel, H 1 die Anzahl der bisher gesehenen Schlüssel. H2 misst wie gleichmäßig n Daten (auf m verschiedene Schlüssel) verteilt sind: Es ist m ( ) n 2 = n2 H m m 2 n 2. Kleine Werte von H 2 implizieren eine gleichmäßige Verteilung. Das Modell 2 / 74

3 Algorithmische Fragestellungen (2/2) Zeitfenster: Um das Verhalten eines Datenstroms in der jüngsten Vergangenheit bestimmen zu können, wertet man Datenströme in Zeitfenstern aus. Entwickle Methoden, um die quantitative Analyse nach dem Verschwinden veralteter und dem Erscheinen junger Schlüssel zu aktualisieren. Das Modell 3 / 74

4 Reservoir Sampling: Stichproben für Datenströme Stichproben Reservoir Sampling 4 / 74

5 Reservoir Sampling Berechne eine ohne Ersetzung gleichverteilt gezogenen Stichprobe S { (i, x i ) 1 i n } des Datenstroms (x i i). (1) T sei eine obere Schranke für die Größe der Stichprobe. Der Parameter t zählt die bisher gesehenen Schlüssel. Setze t = 0 und STICHPROBE=. (2) Durchlaufe die Schlüssel nacheinander: (2a) Setze t = t + 1. (2b) t T : Füge den Schlüssel in STICHPROBE ein. (2c) t > T : Werfe eine Münze mit Erfolgswahrscheinlichkeit T t. Bei einem Erfolg entferne einen zufällig aus STICHPROBE gewählten Schlüssel; der aktuelle Schlüssel wird eingefügt. Bei einem Misserfolg wird nichts unternommen. Kommentar: Die Stichprobengröße T bleibt unverändert. Stichproben Reservoir Sampling 5 / 74

6 Analyse Für alle t T : Jede T -elementige Teilmenge X {(i, x i ) 1 i t} tritt mit Wahrscheinlichkeit 1/ ( t T) als Stichprobe auf. Beweis durch Induktion nach t: Die Aussage ist für t = T richtig. Wir nehmen an, dass die Aussage für t 1 richtig ist. (t, xt ) wird mit Wahrscheinlichkeit p = T t aufgenommen. p ist die Wahrscheinlichkeit, dass (t, xt ) in einer zufälligen T -elementigen Teilmenge X {(i, x i 1 i t} enthalten ist, denn ( ) ( ) t 1 t / = T T 1 T t. Wir erhalten eine T -elementige Stichprobe, wenn wir - mit Erfolgswahrscheinlichkeit T t entscheiden, ob (t, x t) gewählt wird. - Wenn (t, x t) nicht gewählt wird, dann wähle eine zufällige, T -elementige Stichprobe aus der Menge {(i, x i ) 1 i t 1}: Wende die Induktionshypothese an. Und wenn (t, x t ) gewählt wird? Stichproben Reservoir Sampling 6 / 74

7 Wenn (t, x t ) gewählt wird: Dann ist eine zufällige Stichprobe mit T 1 Elementen aus der Menge {(i, x i ) 1 i t 1} zu wählen. Was macht Reservoir Sampling? Die alte Stichprobe X ist eine zufällige T -elementige Teilmenge von {(i, x i ) 1 i t 1}. Reservoir Sampling entfernt ein zufälliges Element aus X und erhält damit eine zufällige Stichprobe aus {(i, x i ) 1 i t 1} mit T 1 Elementen. Diese modifizierte Stichprobe wird um (t, x t ) vergrößert und wir erhalten eine zufällige T -elementige Stichprobe X. Reservoir Sampling funktioniert. Stichproben Reservoir Sampling 7 / 74

8 Approximative Berechnung des Medians Stichproben Median Berechnung 8 / 74

9 Berechnung des approximativen Medians 1 Benutze Reservoir Sampling, um eine Stichprobe S der Größe s zu ziehen. 2 Bestimme den Median M von S und gib M als Approximation des tatsächlichen Medians aus. - δ, ε [0, 1] seien vorgegeben. - Arbeite mit einer Stichprobe der Größe s = c 1 ε 2 ln 1 δ für ein hinreichend großes c. Dann liegt der Rang des ausgegebenen Schlüssels mit Wahrscheinlichkeit 1 δ in dem Intervall [ n 2 ε n, n 2 + ε n]. Stichproben Median Berechnung 9 / 74

10 Analyse x unten (bzw. x oben ) sei der Schlüssel vom Rang ( 1 2 ε) n (bzw. Rang ( ε) n). Wir haben nur Pech, wenn 50% aller Schlüssel der Stichprobe unterhalb von x unten (bzw. oberhalb von x oben ) liegen. Ein Schlüssel kleiner als xunten wird mit Wahrscheinlichkeit ( 1 2 ε) gezogen. Die erwartete Anzahl dieser kleinen Schlüssel ist deshalb höchstens ( 1 2 ε) s. Wir haben also nur Pech, wenn sogar 1 2 s = ( 1 ε 2 ε) s (1 + 1/2 ε ) kleine Schlüssel gezogen werden. Mit der Chernoff-Schranke passiert dies mit Wahrscheinlichkeit höchstens e Ω(ε2 s). e Ω(ε2 s) δ gilt, falls ε 2 s = Ω(ln 1 δ ). Die Behauptung folgt, da die Anzahl der großen Schlüssel ein analoges Verhalten zeigt. Stichproben Median Berechnung 10 / 74

11 Clustering Stichproben Clustering 11 / 74

12 Clustering: Das k-zentren Problem - Ein vollständiger ungerichteter Graph G = (V, E) und eine Metrik d : V 2 R 0 ist gegeben. - Für ein fixiertes k bestimme eine Menge Z V von k Knoten, so dass der maximale Abstand zu einem Zentrum, also kleinstmöglich ist. max min v V w Z d(v, w), Minimiere den Radius, also den größten Abstand eines Punktes vom nächstliegenden Cluster-Zentrum. Die Sprachenversion des k-zentren Problems ist NP-vollständig. Bestimme eine approximative Lösung! Stichproben Clustering 12 / 74

13 Clustering für Datenströme 1 Die Zahl k der erlaubten Cluster-Zentren ist gegeben ebenso wie die Metrik d. Die Folge (x j j) bezeichne den Datenstrom. 2 Benutze Reservoir Sampling, um eine Stichprobe S der Größe s zu ziehen. 3 Setze Z = {x j } für einen beliebigen Schlüssel x j S. Wiederhole k 1 mal: Bestimme einen Schlüssel xi S, dessen minimaler Abstand zu einem Schlüssel in Z größtmöglich ist. Füge x i in die Menge Z ein. 4 Z wird als Menge der Cluster-Zentren ausgegeben. Stichproben Clustering 13 / 74

14 Analyse Das Clustering ist 2-approximativ auf der Stichprobe. Der optimale Radius sei opt. Angenommen, es gibt einen Punkt p S mit einem Abstand von größer als 2 opt zu allen Punkten in Z. Nach Konstruktion von Z haben je zwei Punkte in Z {p} einen Abstand von größer als 2 opt. Die Punkte aus Z {p} gehören zu verschiedenen Clustern der optimalen Lösung: Wenn ein Clusterpunkt y der optimalen Lösung nächstliegender Punkt für zwei Elemente u, v Z {p} ist, dann ist d(u, v) d(u, y) + d(y, v) 2 opt. Die optimale Lösung hat nur k Clusterpunkte: Widerspruch. Stichproben Clustering 14 / 74

15 Der Algorithmus funktioniert für die Stichprobe, aber wie gut ist die Stichprobe? Stichproben Clustering 15 / 74

16 Das Resultat Ein Datenstrom der Länge n sei gegeben. - Wähle eine Stichprobe der Größe s = k ln n+ln( 1 δ ) ε. - Dann ist unser Clustering mit Wahrscheinlichkeit mindestens 1 δ auf einer Teilmenge der Größe (1 ε) n 2-approximativ. Warum müssen wir eine kleine Menge von Punkten ausschließen? Einige wenige Ausreißer gehören hochwahrscheinlich nicht zur Stichprobe. Stichproben Clustering 16 / 74

17 Die Wahrscheinlichkeit schlechter Zentren - Sei opt der optimale Radius. - Sei Z eine schlechte Zentrenmenge: Die Menge Weitweg(Z ) = {x i d(x i, Z ) > 2 opt}, also die Menge aller Punkte mit einem Abstand von mehr als 2 opt von ihrem nächstliegenden Zentrum in Z, habe mehr als ε n Elemente. Mit welcher Wahrscheinlichkeit verfehlt die Stichprobe S die Menge Weitweg(Z )? (1 ε)n prob[ S Weitweg(Z ) = ] ( ) s = (1 ε) s n e ε s = e (k ln n+ln( 1 δ )) = δ n ( ) k n δ/. k Und wenn Weitweg(Z ) getroffen wird? Stichproben Clustering 17 / 74

18 Wenn die Stichprobe S die Menge Weitweg(Z ) trifft: - Dann gibt es s S mit d(s, z) > 2opt für alle z Z. - Aber wir berechnen ein Clustering, das auf Stichprobe S 2-approximativ oder besser ist: Widerspruch zur Definition von opt. Die Wahrscheinlichkeit irgendeine schlechte Zentrenmenge zu wählen, ist somit höchstens ( ) ( ) n n δ/ = δ. k k Unser Clustering wird mit Wahrscheinlichkeit mindestens 1 δ eine Zentrenmenge Z mit Weitweg(Z ) ε n bestimmen und das war zu zeigen. Stichproben Clustering 18 / 74

19 Was können Stichproben nicht? Stichproben Die Grenzen 19 / 74

20 Die Grenzen der Stichproben-Methode Bestimme die Anzahl verschiedener Schlüssel approximativ. Betrachte alle (deterministischen oder probabilistischen) Algorithmen zur Stichproben-Erstellung, die nur r << n Schlüssel inspizieren. Reservoir Sampling wird erfasst. Können diese Algorithmen die beiden folgenden Szenarien voneinander unterscheiden? Szenario 1 besteht aus der nur mit Einsen besetzten Folge. Szenario 2 besteht aus allen Folgen, für die jedes i {2,..., k} genau einmal auftritt. Alle restlichen Folgenelemente haben den Wert 1. Für eine approximative Bestimmung der Anzahl verschiedener Schlüssel muss ein Algorithmus beide Szenarien voneinander unterscheiden. Stichproben Die Grenzen 20 / 74

21 Unterscheidung der beiden Szenarien Sei A ein Algorithmus und sei X i die Zufallsvariable, die den iten von A ausgewählten Schlüssel als Wert besitzt. Dann gilt prob[ X i = 1 X 1 = X 2 = = X i 1 = 1 ] = n i k + 1 n i + 1, wenn nur Eingaben des Szenarios 2 auftreten. Wir betrachten Szenario 2. Angenommen, die ersten i 1 inspizierten Schlüssel besitzen sämtlich den Wert 1: Von den n k Schlüsseln mit Wert 1 verbleiben somit n k (i 1) noch nicht inspizierte Schlüssel mit Wert 1. Aber insgesamt n (i 1) Schlüssel wurden noch nicht inspiziert und die Behauptung folgt. Stichproben Die Grenzen 21 / 74

22 Wie wahrscheinlich sind Stichproben nur mit Einsen? Sei I das Ereignis, dass alle r inspizierten Schlüssel den Wert 1 besitzen. prob[ I ] = Π r i=1 prob[ X i = 1 X 1 = X 2 = = X i 1 = 1 ] = Π r n i k + 1 i=1 n i + 1 ( ) n r k + 1 r ( ) n r k r n r + 1 n r ( = 1 k ) r e 2 k r n r, falls k n r n r 1 2, denn 1 z e 2 z für 0 z 1 2. Stichproben Die Grenzen 22 / 74

23 Wie wahrscheinlich sind Stichproben nur aus Einsen? Es ist prob[ I ] e 2 k r n r, falls k n r 1 2. Wir setzen k = n r 2 r ln(2) und prob[ I ] 1 2 folgt. Es ist für r 2. k n r Es gelte k = n r 2 r ln(2) sowie r 2. - Wenn Algorithmus A nur r Schlüssel inspiziert, dann bestimmt A mit Wahrscheinlichkeit 1/2 eine Stichprobe nur aus Einsen, obwohl der Datenstrom k verschiedene Schlüssel besitzt. Stichproben Die Grenzen 23 / 74

24 Kommunikation Das 2-Parteien Kommunikationsmodell: - Zwei Parteien, Alice und Bob, besitzen Eingaben x bzw. y, wobei weder Alice noch Bob die Eingabe des Partners kennt. - Alice schickt eine Nachricht message(x) an Bob. Bob muss das Ergebnis nur in Abhängigkeit von seiner Eingabe y und der von Alice geschickten Nachricht berechnen. - Alice und Bob besitzen, im Rahmen der ihnen zur Verfügung stehenden Informationen, eine unbeschränkte Rechenkraft. Deterministische oder probabilistische Protokolle bestimmen die Nachricht von Alice und die von Bob berechnete Antwort. Das Ziel: Berechne einen Funktionswert f(x, y) zumindest approximativ. Minimiere die Länge der längsten von Alice geschickten Nachricht. Häufigkeitsmomente Kommunikation 24 / 74

25 Kommunikation: Ein Beispiel - Alice erhält x {0, 1} n, Bob erhält y {0, 1} n. - Entscheide, ob x = y gilt. Deterministische Kommunikation: Angenommen, Alice schickt für die beiden Zeichenketten x 1, x 2 {0, 1} n dieselbe Nachricht m. Bob weiss nicht, ob Alice die Eingabe x1 oder x 2 besitzt und kann nicht fehlerfrei arbeiten. Alice wird Nachrichten mit mindestens n Bits verschicken müssen. Probabilistische Kommunikation: Alice und Bob interpretieren ihre Eingaben als Zahlen 0 x, y 2 n 1. Alice würfelt eine Primzahl p n 2 aus und verschickt das Paar (x mod p, p) mit O(log 2 n) Bits. Bob entscheidet auf x y, wenn x mod p y mod p: Kein Fehler. Bob entscheidet auf x = y, wenn x mod p = y mod p: Kleiner Fehler. Häufigkeitsmomente Kommunikation 25 / 74

26 Kommunikation und Streaming Data Warum interessiert uns das Kommunikationsmodell? Sei A ein Streaming Data Algorithmus, der auf Eingaben x 1 x 2 mit x 1, x 2 {0, 1} n/2 höchstens Speicherplatz s(n) benutzt. Simuliere die Berechnung von A durch ein Kommunikationsprotokoll: Alice erhält x 1, Bob erhält x 2. Wenn A die Eingabe x1 abgearbeitet hat, sei w {0, 1} s(n) der Inhalt des Speichers. Alice kennt w, verschickt w und den gegenwärtigen Zustand an Bob. Bob kann die Berechnung von A erfolgreich zu Ende führen. Nachrichten mit s(n) + O(1) Bits reichen aus. Häufigkeitsmomente Kommunikation 26 / 74

27 Kommunikation: Ein erstes Fazit Die Funktion f n : {0, 1} n X sei zu berechnen. - Jeder Algorithmus, der f deterministisch oder probabilistisch mit Speichergröße s(n) berechnet, kann durch ein deterministisches oder probabilistisches Kommunikationsprotokoll simuliert werden, das Nachrichten mit höchstens s(n) + O(1) Bits verschickt. - Wenn Kommunikationsprotokolle mindestens ω(s) Bits benötigen, dann kann es keine Streaming Data Algorithmen mit Speichergröße O(s) geben! Probabilistische Kommunikation kann sehr viel effizienter als deterministische Kommunikation sein. Häufigkeitsmomente Kommunikation 27 / 74

28 ε-approximative Berechnungen Für Mengen A und B ist f : A B R zu berechnen. (a) Ein deterministisches Protokoll heißt genau dann ε-approximativ, wenn Bob für jedes Eingabepaar (x, y) ein Ergebnis a(x, y) mit (1 ε) f (x, y) a(x, y) (1 + ε) f (x, y) berechnet. (b) C ε (f ) ist die Länge der längsten Nachricht eines besten ε-approximativen deterministischen Protokolls für f. (c) Ein probabilistisches Protokoll ist ε-approximativ mit Fehler δ, wenn Bob für alle Eingaben (x, y) mit Wahrscheinlichkeit mindestens 1 δ ein Ergebnis a(x, y) mit (1 ε) f (x, y) a(x, y) (1 + ε) f (x, y) berechnet. (d) Cδ ε (f ) ist die Länge der längsten Nachricht eines besten ε-approximativen probabilistischen Protokolls, das f mit Fehler δ berechnet. Häufigkeitsmomente Kommunikation 28 / 74

29 Das Disjunktheitsproblem - Im Disjunktheitsproblem der Größe n erhalten Alice und Bob Inzidenzvektoren der Teilmengen x, y {1,..., n}. - Es ist zu entscheiden, ob x y gilt. Definiere die Funktion D n durch { 1 x y = D n (x, y) = 0 sonst. Man kann zeigen: C ε δ (D n) = Ω(n) für alle ε, δ < 1 2 : Eine randomisierte Lösung des Disjunktheitsproblems ist selbst dann schwierig, wenn die Fehlerwahrscheinlichkeit δ eine beliebige Konstante kleiner als 1 2 ist. Hat diese negative Aussage zum Beispiel Konsequenzen für die Berechnung der größten Häufigkeit? Häufigkeitsmomente Kommunikation 29 / 74

30 Bestimmung der größten Häufigkeit - ε, δ < 1 2 seinen beliebig. A sei ein probabilistischer Algorithmus, der die größte Häufigkeit ε-approximativ mit Fehlerwahrscheinlichkeit höchstens δ im Streaming-Data Modell berechnet. - Dann benötigt A die Speichergröße Ω(m), wenn m die Anzahl verschiedener Schlüssel ist. Der probabilistische Algorithmus A berechne die Häufigkeit des häufigsten Schlüssels approximativ. Wir lösen das Disjunkheitsproblem mit Hilfe von A: Alice und Bob erhalten die Teilmengen x, y {1,..., m}. Für die Funktion D m des Disjunkheitsproblems gilt: { 1 1 = größte Häufigkeit für (x, y), D m (x, y) = 0 2 größte Häufigkeit für (x, y) Aber es ist C ε δ (D m ) = Ω(m) und die Behauptung folgt. Häufigkeitsmomente Kommunikation 30 / 74

31 Häufigkeitsmomente - Sei δ < 1 2 beliebig und sei A ein probabilistischer Algorithmus, der H k (für k 1) exakt mit Fehlerwahrscheinlichkeit höchstens δ im Streaming-Data Modell berechnet. - Dann benötigt A Speicherkomplexität mindestens Ω(m), wenn m die Anzahl verschiedener Schlüssel ist. Wir lösen das Disjunktionsproblem mit Hilfe von A. Setze m = x + y und beachte für k = 0 { 1 H0 = m D m (x, y) = 0 H 0 < m, beziehungsweise für k > 1 { 1 Hk = m D m (x, y) = 0 H k > m. Häufigkeitsmomente Kommunikation 31 / 74

32 Das zweite Häufigkeitsmoment H 2 = u U a 2 u Häufigkeitsmomente H 2 32 / 74

33 Berechnung von H 2 Das Ziel: Bestimme H 2 = u U a 2 u, wobei a u = {i x i = u} die Häufigkeit des Schlüssels u ist. Warum ist die Bestimmung des zweiten Häufigkeitsmoments H 2 interessant? Je größer H 2, umso unregelmäßiger sind die Schlüssel verteilt. H2 misst die Regelmäßigkeit der Schlüsselverteilung. Eine exakte Berechnung von H 2 gelingt nur, wenn die Menge aller ankommenden Schlüssel klein ist: Vermerke die individuellen Häufigkeiten in einer Hashtabelle. Was tun, wenn zu viele Schlüssel im Spiel sind? Häufigkeitsmomente H 2 33 / 74

34 Sketching H 2 1 Bestimme eine zufällige Hashfunktion und setze SUMME = 0. h : U { 1, 1} 2 Wiederhole für alle Daten x i Setze SUMME = SUMME +h(x i ). SUMME 2 ist eine Approximation von H 2. Warum? Häufigkeitsmomente H 2 34 / 74

35 Der Erwartungswert von SUMME 2 E[ SUMME 2 ] = H 2. m E[ SUMME 2 ] = E[ ( a u h(u)) 2 ] u=1 m = E[ au 2 h(u) 2 ] + E[ a u a v h(u) h(v) ] u=1 u v m m = E[ au 2 ] = au 2 = H 2, u=1 u=1 denn h(u) 2 = 1 für jedes u und E[ h(u) h(v) ] = 0 für u v. Häufigkeitsmomente H 2 35 / 74

36 Wie genau ist die Schätzung? - Die Ungleichung von Tschebyscheff: Große Abweichungen vom Erwartungswert sind unwahrscheinlich, wenn die Varianz klein ist. - Wir müssen die Varianz von SUMME 2 bestimmen! V [ SUMME 2 ] = E[ SUMME 4 ] E[ SUMME 2 ] 2. Es ist E[ SUMME 4 ] = E[ ( m u=1 a u h(u)) 4 ]: Beim Ausmultiplizieren treten Terme der Form E[ h(u 1 ) h(u 2 ) h(u 3 ) h(u 4 ) ] auf. Wir nehmen vierfache Unabhängigkeit an! E[ SUMME 4 ] = E[ = m au 4 h(u) 4 ] + u=1 m au au 2 av 2 u=1 u v ( ) 4 E[ a 2 ua 2 v 2 h(u) 2 h(v) 2 ] u v Häufigkeitsmomente H 2 36 / 74

37 Wie genau ist die Schätzung? E[SUMME 4 ] = m u=1 a4 u + 6 u v a2 u a 2 v. und wir erhalten die Varianz m V [ SUMME 2 ] = au ( m au 2 av 2 u=1 u v = 4 au 2 av 2 2 H2 2. u v Als Konsequenz der Tschebyscheff Ungleichung folgt prob[ SUMME 2 H 2 > λ H 2 ] 2 H2 2 λ 2 H 2 2 u=1 a 2 u = 2 λ 2. Große Abweichungen haben eine zu hohe Wahrscheinlichkeit! ) 2 Häufigkeitsmomente H 2 37 / 74

38 Boosting Wähle k Hashfunktionen h 1,..., h k. Gib SCHÄTZUNG k = k i=1 SUMME 2 i aus. k Der Erwartungswert bleibt stabil, aber die Varianz fällt um Faktor k. Es ist deshalb prob[ SCHÄTZUNGk H 2 > λ H 2 ] 2. k λ 2 Für k = 8 ist die Fehlerwahrscheinlichkeit höchstens 1 λ 2 4. Wiederhole den Sketching Algorithmus k = k s mal. Teile die Summenergebnisse in s Klassen von je k Wiederholungen auf und berechne das Mittel für jede Klasse. Bestimme den Median M der s Schätzungen. Es ist M H 2 > λ H 2 mit Wahrscheinlichkeit höchstens 2 Ω(s). - Wenn M H 2 > λ H 2, dann liegt mindestens die Hälfte aller Einzelschätzungen außerhalb. - Mindestens doppelt so viele Einzelschätzungen wie erwartet liegen außerhalb: Wende die Chernoff-Schranke an. Häufigkeitsmomente H 2 38 / 74

39 Das Ergebnis - Eine bis auf den Faktor 1 + λ exakte Schätzung von H 2 wird mit Wahrscheinlichkeit mindestens 1 δ erreicht. - Die Speicherplatzkomplexität und die Laufzeit pro Schlüssel ist durch O( 1 log λ 2 2 ( 1 δ )) beschränkt. Es ist M H 2 > λ H 2 mit Wahrscheinlichkeit höchstens 2 Ω(s). Setze s = log 2 ( 1 δ ) und die Fehlerwahrscheinlichkeit ist durch O(δ) beschränkt. Es ist k = 8 : Pro Schlüssel müssen O( log 2 ( 1 λ 2 δ ) ) Hashfunktionen λ 2 ausgewertet werden. H 2 lässt sich schnell und speichereffizient approximieren, solange keine zu scharfe Approximation verlangt wird. Häufigkeitsmomente H 2 39 / 74

40 Das nullte Häufigkeitsmoment { u U a u 1 } Häufigkeitsmomente H 0 40 / 74

41 Die Bestimmung von H 0 Wenn die Hauptspeichergröße mindestens Ω(n) beträgt: Benutze Hashing. Wenn die Daten in den Sekundärspeicher passen: Lege die Daten im Sekundärspeicher ab und sortiere zum Beispiel mit Mergesort. Wenn selbst der Sekundärspeicher überfordert ist: Wir müssen eine approximative Berechnung von H 0 erlauben und benutzen randomisierte Algorithmen. Häufigkeitsmomente H 0 41 / 74

42 Hashing für die Berechnung von H 0 1 Die Vorbereitungsphase: Wähle eine natürliche Zahl T > 1 und eine zufällige Hashfunktion h : U {1,..., T }. Setze die boolesche Variable GROSS auf falsch. 2 Durchlaufe die Eingabe (x 1,..., x n ): Wenn h(x i ) = T für ein i, dann setze GROSS auf wahr. 3 Gib die Antwort GROSS aus. Häufigkeitsmomente H 0 42 / 74

43 Eine Diskussion Die Intuition: Die Wahrscheinlichkeit, dass h(x) = T gilt, ist 1 T. Wenn der Hashwert T in t Versuchen nicht erreicht wird, dann geschieht dies mit Wahrscheinlichkeit ( T 1 T )t = (1 1 T )t exp t/t, vorausgesetzt, alle t Zahlen sind paarweise verschieden. Für t T verschiedene Schlüssel wird die Wahrscheinlichkeit eines Treffers beobachtbar kleiner als für t (1 + ε) T Schlüssel sein. Schätzungen mit Hilfe dieses Verfahrens sind ungenau und besitzen substantielle Fehlerwahrscheinlichkeiten. Arbeite mit mehreren, unabhängig von einander ausgewürfelten Hashfunktionen und variiere den Schwellenwert T in Potenzen von 1 + ε. Häufigkeitsmomente H 0 43 / 74

44 Stichproben verschiedener Schlüssel Häufigkeitsmomente H 0 44 / 74

45 H 0 und Stichproben Eine Stichprobe gleichverteilt gezogener Schlüssel ist ungeeignet. Berechne stattdessen eine Stichprobe verschiedener Schlüssel. Und wenn die Stichprobe überläuft? Weise jedem Schlüssel eine Priorität zu. Wenn die Stichprobe S alle Schlüssel der Mindestpriorität P enthält und wenn S überläuft, dann setze die Mindestpriorität auf P + 1: Entferne alle Schlüssel der Priorität P aus der Stichprobe. - Wie sollten wir Prioritäten berechnen? - Von der Anzahl verschiedener Schlüssel der Priorität mindestens P müssen wir auf die Anzahl der verschiedenen Schlüssel rückschließen können. Prioritäten müssen randomisiert berechnet werden. Häufigkeitsmomente H 0 45 / 74

46 Berechnung der Prioritäten Die Zweierpotenz m sei mindestens so groß wie die Anzahl aller möglichen verschiedenen Schlüssel. - Wähle Parameter A {1,..., m 1} und B {0,..., m 1} zufällig. - Arbeite mit der Hashfunktion h A,B (u) = (A u + B) mod m. - Die Prioritätszuweisung: p(u) = die Anzahl der führenden Nullen in der Binärdarstellung von h A,B (u). Die Binärdarstellung von h A,B (u) werde durch führende Nullen auf die exakte Länge log 2 m aufgefüllt. Der relative Anteil der Schlüssel u mit p(u) k beträgt 2 k. Häufigkeitsmomente H 0 46 / 74

47 Der Algorithmus 1 Würfle eine Hashfunktion h A,B aus. 2 Setze PRIORITÄT= 0 und STICHPROBE=. S sei die Maximalgröße einer Stichprobe. 3 Wiederhole für i = 1,...,: Füge xi zur Menge STICHPROBE hinzu, falls p(x i ) PRIORITÄT. Solange STICHPROBE mehr als S Schlüssel besitzt, entferne alle Schlüssel x mit p(x) = PRIORITÄT und erhöhe PRIORITÄT um 1. 4 Setze p = PRIORITÄT und gib die Schätzung 2 p STICHPROBE aus. Häufigkeitsmomente H 0 47 / 74

48 Analyse Es ist prob[ p(x) p ] = 2 p. Wenn p die Priorität am Ende der Berechnung ist, gilt E[ STICHPROBE ] = E[ {x p(x) p, es gibt i mit x = x i } ] = prob[ p(x) p ] x ein Schluessel = 2 p Anzahl verschiedener Schlüssel. Also folgt E[ 2 p STICHPROBE ] = Anzahl verschiedener Schlüssel. Die Schätzung ist gut, wenn große Abweichungen vom Erwartungswert E[ STICHPROBE ] unwahrscheinlich sind. Häufigkeitsmomente H 0 48 / 74

49 Die Tschebyscheff Ungleichung V sei die Varianz der Zufallsvariablen X. Dann gilt prob[ X E[X] > t ] V t 2. Übungsaufgabe: var STICHPROBE E[ STICHPROBE ]. Für E = E[ STICHPROBE ] ist E prob[ E STICHPROBE > ε E ] = O( ε 2 E 2 ) = O( 1 ε 2 E ). A = 2 p E gilt für die Anzahl A verschiedener Schlüssel: prob[ A 2 p STICHPROBE > ε A ] = prob[ 2 p E STICHPROBE > ε 2 p E ] 1 = prob[ E STICHPROBE > ε E ] = O( ε 2 E ). Häufigkeitsmomente H 0 49 / 74

50 Zusammenfassung Mit Wahrscheinlichkeit höchstens O( 1 ) weicht die Schätzung um ε2 E mehr als ε A von der Anzahl A verschiedener Schlüssel ab. Wie lässt sich die Schätzung verbessern? Arbeite mit mehreren, unabhängig voneinander ausgewürfelten Hashfunktionen. Gib den Median der Schätzungen als endgültige Schätzung aus. Warum den Median? Der Einfluss von Ausreissern auf den Median ist nur schwach. Wir benutzen dasselbe Verfahren wie für die Bestimmung von H 2. Häufigkeitsmomente H 0 50 / 74

51 Heavy Hitter Heavy Hitter: Schlüssel mit großer Häufigkeit 51 / 74

52 Heavy Hitter: Was geht und was nicht? - Wir wissen: Die Bestimmung eines Schlüssels mit großer Häufigkeit verlangt einen zu großen Speicher. - Übungsaufgabe: Deterministische Algorithmen benötigen Speichergröße Ω(m) bei m verschiedenen Schlüsseln, wenn der Schlüssel mit Häufigkeit größer als 50% zu bestimmen ist. Verlange nur, dass eine Menge K von höchstens 1 p Schlüsseln berechnet wird, unter denen sich alle Schlüssel mit Häufigkeit größer als p% befinden. Wie bestimmt man einen Schlüssel mit Häufigkeit > 50%? Entferne Paare verschiedener Schlüssel. Der Mehrheitschlüssel verliert nie seine Mehrheitseigenschaft und wird bis zuletzt überleben. Heavy Hitter: Schlüssel mit großer Häufigkeit Zähleralgorithmus 52 / 74

53 Der Zähleralgorithmus 1 Der Datenstrom bestehe aus dem Vektor x = (x 1, x 2,..., x n ) mit x i {1,..., m}. 2 Die Menge K ist anfänglich leer und das Array Zähler ist auf Null initialisiert. 3 For i = 1 to n do (a) Wenn x i K, dann erhöhe den Zähler von x i um Eins. (b) Wenn x i K, dann füge x i zu K hinzu und setze den Zähler von x i auf Eins. Wenn K jetzt mehr als 1 Elemente besitzt, dann erniedrige alle p Zähler um Eins und entferne alle Schlüssel mit Zählerstand Null. Übungsaufgabe: Alle Schlüssel mit Häufigkeit größer als p% liegen in K. Der Algorithmus rechnet in Linearzeit und die Menge K besteht aus höchstens 1/p Schlüsseln. Heavy Hitter: Schlüssel mit großer Häufigkeit Zähleralgorithmus 53 / 74

54 Eine verallgemeinerte Häufigkeitsanfrage - Der Datenstrom habe die Form ((x i, c i ) i) mit c i 0. - H(x) = x k =x c k ist die verallgemeinerte Häufigkeit von x. Wir erhalten die konventionelle Häufigkeit für c i = 1. - Wir möchten H(x) mit einer Ungenauigkeit von höchstens ε und einer Wahrscheinlichkeit von mindestens 1 δ berechnen. Wir arbeiten mit k = ln( 1 δ ) Hashfunktionen h 1,..., h k : U {1,..., w} für w = e ε Zellen. Wir verwenden zählende Bloom-Filter, die den einzelnen Hashfunktionen disjunkte Teilarrays Z 1,..., Z k des Arrays Z = (Z 1,..., Z k ) zuweisen. Jedes Z i besteht aus w Zellen. Heavy Hitter: Schlüssel mit großer Häufigkeit Bloom Filter Sketches 54 / 74

55 Der Bloom Filter Sketch 1 Die Arrays Z 1,..., Z k sind alle zu Null initialisiert. 2 Wiederhole: Wenn das Paar (x i, c i ) empfangen wird, dann setze für jedes j k Z j [h j (x i )] = Z j [h j (x i )] + c i. 3 Eine verallgemeinerte Häufigkeitsfrage für Schlüssel x wird mit H (x) = min 1 j k Z j [h j (x)] beantwortet. Heavy Hitter: Schlüssel mit großer Häufigkeit Bloom Filter Sketches 55 / 74

56 Analyse (1/3) - Es ist stets H(x) Z j [h j (x)] und H(x) H (x) folgt. - Mit welcher Wahrscheinlichkeit wird H (x) zu groß? Definiere die Zufallsvariable K x = y U mit x y und h j (x)=h j (y) H(y). Es ist prob[ H (x) > H(x) + ε y U H(y) ] j = prob[ j k : Z j [h j (x)] > H(x) + ε H(y) ] = prob[ j k : H(x) + K x j = prob[ j k : K x j = (prob[ K x j y U > H(x) + ε H(y) ] > ε H(y) ] y U > ε H(y) ]) k. y U y U Heavy Hitter: Schlüssel mit großer Häufigkeit Bloom Filter Sketches 56 / 74

57 Analyse (2/3) prob[ H (x) > H(x) + ε y U H(y) ] = (prob[ K x j > ε y U H(y) ])k. Wie groß kann K x j werden? Die Null-Eins Zufallsvariable K x j (y) nehme genau dann den Wert Eins an, wenn h j (x) = h j (y). Es ist E[K x j (y)] 1/w für x y. Wir schätzen den Erwartungswert von K x j ab: E[ K x j ] = E[ y U: x y,h j (x)=h j (y) y U mit x y H(y) w H(y) ] = y U mit x y ε e H(y), denn w = e ε. y U H(y) E[ K x j (y) ] Heavy Hitter: Schlüssel mit großer Häufigkeit Bloom Filter Sketches 57 / 74

58 Analyse (3/3) Wende die Markoff-Ungleichung pr[ X a ] E[ X ]/a an: prob[ H (x) > H(x) + ε H(y) ] = (prob[ K x j y U > ε H(y) ]) k y U ( ε e H(y) / ε H(y)) k = e k δ. y U y U Für k = ln( 1 δ ) und w = e ε gilt H(x) H (x) H(x) + ε H(y) mit Wahrscheinlichkeit mindestens 1 δ. y U Heavy Hitter: Schlüssel mit großer Häufigkeit Bloom Filter Sketches 58 / 74

59 Heavy Hitter: Zusammenfassung Der Zähleralgorithmus: Alle Schlüssel mit Häufigkeit größer als p% werden bestimmt; allerdings werden noch weitere, höchstens aber 1 p Schlüssel ausgegeben. Der Algorithmus rechnet in Linearzeit. Der Bloom Filter Sketch: Für k = ln( 1 δ ) und w = e ε gilt H (x) H(x) + ε H(y) mit Wahrscheinlichkeit mindestens 1 δ. Höchstens O( 1 ε ln( 1 δ )) Zellen werden benutzt und die Laufzeit pro Anfrage ist höchstens O(ln( 1 δ )). y U In Anwendungen muss ε SEHR klein gewählt werden! Heavy Hitter: Schlüssel mit großer Häufigkeit Bloom Filter Sketches 59 / 74

60 Häufigkeitseigenschaften Eigenschaften 60 / 74

61 Eigenschaften von Häufigkeiten - Wir interpretieren Teilmengen E n {1,..., n} als Eigenschaften von Häufigkeiten: Schlüssel x hat Eigenschaft E n, falls die Häufigkeit von x unter den ersten n Schlüsseln in E n liegt. Beispiel: E n = {1,..., K } formalisiert die Eigenschaft höchstens K -mal aufzutreten. - E n = {x j j n und x j hat Eigenschaft E n } ist die Menge der Schlüssel mit Eigenschaft E n. Wenn V n die Menge der verschiedenen Schlüssel (unter den ersten n) ist, dann ist p[e n ] = E n V n die Wahrscheinlichkeit von E n. Wie scharf kann p[e n ] approximiert werden? Eigenschaften 61 / 74

62 Der Jaccard Koeffizient Wir erinnern an den Jaccard Koeffizienten J(A, B) = A B A B. Es ist min π (A) = min π (B) mit Wahrscheinlichkeit J(A, B), wobei min(x) = min{π(x) x X}. π Es ist J(E n, V n ) = E n Vn E n V n = E n V n = p[e n ]. Als Konsequenz: prob[min(e π n) = min(v n )] = p[e n ]. π Eigenschaften 62 / 74

63 Berechnung von p[e n ] 1 Wähle zufällig k Permutationen π 1,..., π k. Setze min j (0) = sowie Zähler j = 0 für alle j k. 2 Wenn x i+1 zu verarbeiten ist, dann wiederhole für jedes j k (a) Berechne π j (x i+1 ). (b) Wenn π j (x i+1 ) < min j (i), dann setze min j (i + 1) = π j (x i+1 ) und Zähler j = 1. /* Der Schlüssel x i+1 tritt zum ersten Mal auf und sein Zähler wird deshalb auf Eins gesetzt. */ (c) Wenn π j (x i+1 ) = min j (i), dann setze Zähler j = Z-ahler j + 1. /* Ein weiteres Vorkommen des minimalen Schlüssels x i+1 für π j : Sein Zähler wird inkrementiert. */ 3 k sei die Anzahl der Schlüssel min j (n) mit Eigenschaft E n : Gib k /k als Schätzung für p[e n ] aus. Eigenschaften 63 / 74

64 Analyse (1/2) Definiere die Zufallsvariablen { 1 minj (n) E X j = n, 0 sonst. E[ k j=1 X j] = k j=1 E[X j] = k p[e n ]. X 1,..., X k sind unabhängig: Die Chernoff-Schranke liefert prob[ k X j k p[e n ] ε k p[e n ] ] 2 e k p[en] ε2 /3. j=1 Also folgt prob[ k /k p[e n ] ε p[e n ] ] = prob[ k k p[e n ] ε k p[e n ] ] 2 e k p[en] ε2 /3. Eigenschaften 64 / 74

65 Analyse (2/2) prob[ k /k p[e n ] ε p[e n ] ] 2 e k p[en] ε2 /3. Für eine ε-approximation mit Fehlerwahrscheinlichkeit höchstens δ fordere 2 e k p[en] ε2 /3 δ. Äquivalent dazu k p[e n ] ε 2 /3 ln( δ 2 ), bzw. k 3 ε 2 p[e n] ln( 2 δ ). 1 - Für k = O( ε 2 p[e ln( 1 n] δ )) erreichen wir eine (1 + ε)-approximation von p[e n ] mit Wahrscheinlichkeit mindestens 1 δ. - Die Laufzeit pro Schlüssel ist durch O(k) und die Speicherplatzkomplexität durch O(k log 2 n) beschränkt. Eigenschaften 65 / 74

66 Wahrscheinlichkeit von Eigenschaften - Wir erreichen eine (1 + ε)-approximation von p[e n ] mit Wahrscheinlichkeit mindestens 1 δ für k = O( 1 ε 2 p[e n] ln( 1 δ )). - Die Laufzeit pro Schlüssel ist durch O(k) und die Speicherplatzkomplexität durch O(k log 2 n) beschränkt. + Eine gute Approximation gelingt mit Min-Hashing relativ schnell und mit kleinem Speicher. - Allerdings darf die Eigenschaft nicht zu unwahrscheinlich sein: Die Laufzeit und die Speichergröße wächst mit 1 p[e n]. - Ein weiterer Wermutstropfen: Wir können nicht alle Schlüssel mit Eigenschaft E n liefern, sondern nur eine kleine Auswahl. Eigenschaften 66 / 74

67 Zeitfenster Zeitfenster 67 / 74

68 Zeitfenster Die Fenstergröße N sei gegeben. - Wir betrachten einen Datenstrom und möchten die Anzahl auffälliger Daten in einem Zeitfenster der Länge N zählen. - Wir modellieren dieses Problem als das Zählen der Einsen unter den letzten N Bits in einem Datenstrom von Nullen und Einsen. - Jeder deterministische Algorithmus, der die Anzahl der Einsen im Zeitfenster der Größe N mit relativem Fehler ε bestimmt, benötigt mindestens Speicherplatz Ω( 1 ε log2 2 εn). - Wir zeigen, dass Speicherplatz O( 1 ε log2 2 N) ausreicht. Zeitfenster 68 / 74

69 Die Datenstruktur der Körbe Wir arbeiten mit Körben K 1,... K m. Der Korb K i speichert die Anzahl der Einsen in einem sich dynamisch ändernden Zeitintervall Z i. Die Zeitintervalle Z 1,..., Z m bilden eine disjunkte Zerlegung eines {1,..., N} umfassenden Zeitraums. Die Zeitintervalle sind zeitlich geordnet Z 1 < < Z m, wobei Z 1 den gegenwärtigen Zeitpunkt und Zm den letzten interessanten Zeitpunkt N der Vergangenheit enthält. Korb K i speichert den Zeitstempel des Korb, nämlich das Alter der jüngsten erfassten Eins im Zeitintervall Z i und und die Korbgröße Gi, also die Anzahl der Einsen im Zeitintervall Z i. Die Korbgrößen G i sind stets Zweierpotenzen und die Körbe K 1..., K m besitzen aufsteigende Korbgrößen. Zeitfenster 69 / 74

70 Zeitstempel Der Zeitstempel verrät, ob ein Korb noch aktuell ist: Wenn der Zeitstempel des letzten Korbs größer als N ist, dann kann der Korb entleert und wiederverwandt werden. Für alle Körbe kennen wir die exakte Anzahl der Einsen ihres Zeitintervalls, nicht aber das Ende des Zeitintervalls. Wenn der letzte Korb K m noch aktuell ist, dann folgt nur m 1 m 1 G i + 1 Exakt G i + G m. i=1 Wir geben die Schätzung m 1 i=1 G i + Gm 2 ab. Um den relativen Fehler durch 2ε zu beschränken, genügt die Forderung i=1 G m /2 m 1 i=1 G i ε, bzw. stärker (G m 1)/2 m 1 i=1 G i + 1 ε. Zeitfenster 70 / 74

71 Die Größe des letzten Korbs (1) Die Forderung (Gm 1)/2 m 1 ε soll stets erfüllt sein! i=1 G i +1 (2) Fordere für k = 1 ε : Wenn 2h die Korbgröße des letzten Korbs K m ist, dann gibt es zu jedem h < h mindestens k 2 und höchstens k Körbe der Größe 2h. (1) folgt aus (2): Wenn Korb K m die Korbgröße 2 r besitzt, dann gibt es mindestens k 2 Körbe der Größen 1, 2, 4,..., 2r 1. Also gilt m 1 i=1 G i + 1 k r 1 2 i=0 2 i = k 2 (2r 1) 1 ε Gm 1. 2 Zeitfenster 71 / 74

72 Der Algorithmus 1 Zwei Variablen TOTAL und LETZTER speichern die Gesamtgröße aller Körbe, bzw. den Index des letzten Korbs. 2 Wenn der letzte Korb nicht aktuell ist, dann entferne ihn und aktualisiere TOTAL und LETZTER. 3 Wenn das neue Bit eine Null ist, dann wird es ignoriert. Sonst: erzeuge einen neuen Korb mit Korbgröße 1, halte den Zeitpunkt fest und erhöhe TOTAL um eins. 4 Gibt es jetzt k Körbe der Korbgröße 1, dann vereinige die beiden ältesten Körbe zu einem Korb der Größe 2 und bestimme den Zeitstempel des neuen Korbs. Nach Verschmelzung gibt es möglicherweise zu viele Körbe der Größe 2. Also setze die Überprüfung für Korbgröße 2 fort... und aktualisiere gegebenenfalls die Variable LETZTER. Zeitfenster 72 / 74

73 Ein Beispiel Es sei k = 2. Die Korbgrößen seien (1, 1, 2, 4, 4, 8, 8, 16, 32). Wenn eine neue Eins eintrifft, dann fasse Körbe zusammen, um (1, 2, 2, 4, 4, 8, 8, 16, 32) zu erhalten. Nach zwei weiteren Einsen und der entsprechenden Korbzusammenfassung ergibt sich dann der Vektor (1, 2, 4, 8, 16, 16, 32). Jedes neue Bit verursacht im worst-case O(log 2 N) Operationen, während die durchschnittliche Laufzeit sogar nur konstant ist. Zeitfenster 73 / 74

74 Das Ergebnis - Für jedes N wird die Anzahl der Einsen unter den letzten N Bits mit relativem Fehler höchstens 2ε bestimmt. - Die worst-case Laufzeit pro Bit ist O(log 2 N) und die amortisierte Laufzeit ist konstant. - Die Speicherplatzkomplexität ist durch O( 1 ε log2 2 N) beschränkt. Die Speichergröße: Es gibt bis zu O(k log 2 N) Körbe mit k = 1 ε. Jeder Korb speichert sein Alter mit bis zu O(log 2 N) Bits. Zeitfenster 74 / 74

Streaming Data: Das Modell

Streaming Data: Das Modell Streaming Data: Das Modell Berechnungen, bei fortlaufend einströmenden Daten (x t t 0), sind in Echtzeit zu erbringen. Beispiele sind: - Verkehrsmessungen im Internet, - Datenanalyse in der Abwehr einer

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln. 4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst

Mehr

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode

Mehr

Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n)

Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) ( ( ) n 3 T + T m ) 4 n n 3 c + m 4 n c + n n + C m + cn; dies gilt, falls m 2 n m C m + n 2 (bis auf, ) c m + 3

Mehr

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =. 2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n

Mehr

Übungsklausur Algorithmen I

Übungsklausur Algorithmen I Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) Nennen Sie zwei Konzepte, die Algorithm Engineering im Gegensatz zu theoretischer

Mehr

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an. 2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert

Mehr

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen

Mehr

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden.

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Bemerkung: Die Wahl von a und b hängt wesentlich von der Anwendung

Mehr

Deterministische Kommunikation. Deterministische Kommunikation 1 / 32

Deterministische Kommunikation. Deterministische Kommunikation 1 / 32 Deterministische Kommunikation Deterministische Kommunikation 1 / 32 Das Kommunikationsproblem Alice und Bob möchten die Funktion f : X Y Z durch den Austausch binärer Nachrichten mit minimaler Gesamtlänge

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am..03 Randomisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 2 Effizienz

Mehr

Wichtige Definitionen und Aussagen

Wichtige Definitionen und Aussagen Wichtige Definitionen und Aussagen Zufallsexperiment, Ergebnis, Ereignis: Unter einem Zufallsexperiment verstehen wir einen Vorgang, dessen Ausgänge sich nicht vorhersagen lassen Die möglichen Ausgänge

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group https://moves.rwth-aachen.de/teaching/ss-18/dsal/ 2 Effizienz

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt

Mehr

Approximationsalgorithmen. 19. Dezember / 28

Approximationsalgorithmen. 19. Dezember / 28 Approximationsalgorithmen 19. Dezember 2017 1 / 28 Optimierungsprobleme Das Ziel: Bearbeite schwierige Optimierungsprobleme der Form opt y f (x, y) so dass L(x, y). Die Zielfunktion f (x, y) ist zu minimieren

Mehr

SCHNITTERHALTUNG (SPEKTRALE APPROXIMATION)

SCHNITTERHALTUNG (SPEKTRALE APPROXIMATION) Vorlesung 12 AUSDÜNNUNG VON GRAPHEN SCHNITTERHALTUNG (SPEKTRALE APPROXIMATION) 387 Wiederholung: Approximative Schnitterhaltung Ziel: Approximationsalgorithmus: A(S(G)) Ziele bei Eingabe eines dichten

Mehr

Wahrscheinlichkeitstheorie und Statistik

Wahrscheinlichkeitstheorie und Statistik Wahrscheinlichkeitstheorie und Statistik Definitionen und Sätze Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2018 2.5.2018 Diskrete Wahrscheinlichkeitsräume Diskreter

Mehr

Die Probabilistische Methode

Die Probabilistische Methode Die Probabilistische Methode Wladimir Fridman 233827 Hauptseminar im Sommersemester 2004 Extremal Combinatorics Zusammenfassung Die Probabilistische Methode ist ein mächtiges Werkzeug zum Führen von Existenzbeweisen.

Mehr

Satz 61 (Chebyshev-Ungleichung)

Satz 61 (Chebyshev-Ungleichung) Die folgende Abschätzung ist nach Pavnuty Lvovich Chebyshev (1821 1894) benannt, der ebenfalls an der Staatl. Universität in St. Petersburg wirkte. Satz 61 (Chebyshev-Ungleichung) Sei X eine Zufallsvariable,

Mehr

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Kapitel 2. Weitere Beispiele Effizienter Algorithmen Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte

Mehr

13 Mehrdimensionale Zufallsvariablen Zufallsvektoren

13 Mehrdimensionale Zufallsvariablen Zufallsvektoren 3 Mehrdimensionale Zufallsvariablen Zufallsvektoren Bisher haben wir uns ausschließlich mit Zufallsexperimenten beschäftigt, bei denen die Beobachtung eines einzigen Merkmals im Vordergrund stand. In diesem

Mehr

Hypothesenbewertungen: Übersicht

Hypothesenbewertungen: Übersicht Hypothesenbewertungen: Übersicht Wie kann man Fehler einer Hypothese abschätzen? Wie kann man einschätzen, ob ein Algorithmus besser ist als ein anderer? Trainingsfehler, wirklicher Fehler Kreuzvalidierung

Mehr

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Definition Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Seminar über Algorithmen WS 2005/2006 Vorgetragen von Oliver Rieger und Patrick-Thomas Chmielewski basierend auf der Arbeit

Mehr

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 3. Januar 008 1 / 45 / 45 Gliederung man könnte vermuten, dass ein Graph mit großer chromatischer Zahl einen dichten Teilgraphen enthalten

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

Satz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit

Satz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit Satz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit 1 e m(m 1) 2n 1 e m2 2n mindestens eine Kollision auf, wenn für jeden Schlüssel jede Hashposition gleich wahrscheinlich

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

Mehr

Hashing für Webanwendungen

Hashing für Webanwendungen Hashing für Webanwendungen - Konsistentes Hashing. CHORD: Ein Peer-to-Peer System für das File Sharing. 1 / 40 Hashing für Webanwendungen - Konsistentes Hashing. CHORD: Ein Peer-to-Peer System für das

Mehr

68 Abschätzungen für Abweichungen vom Erwartungswert

68 Abschätzungen für Abweichungen vom Erwartungswert 68 Abschätzungen für Abweichungen vom Erwartungswert 68.1 Motivation Mit der Varianz bzw. Standardabweichungen kennen wir bereits ein Maß für die Fluktuation einer Zufallsvariablen um ihren Erwartungswert.

Mehr

13 Grenzwertsätze Das Gesetz der großen Zahlen

13 Grenzwertsätze Das Gesetz der großen Zahlen 13 Grenzwertsätze 13.1 Das Gesetz der großen Zahlen Der Erwartungswert einer zufälligen Variablen X ist in der Praxis meist nicht bekannt. Um ihn zu bestimmen, sammelt man Beobachtungen X 1,X 2,...,X n

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

4 Probabilistische Analyse und randomisierte Algorithmen

4 Probabilistische Analyse und randomisierte Algorithmen Algorithmen und Datenstrukturen 96 4 Probabilistische Analyse und randomisierte Algorithmen Bei der Algorithmenanalyse ist es sehr hilfreich, Aspekte berücksichtigen zu können, die vom Zufall abhängen.

Mehr

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort. Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe 1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen

Mehr

Von schwachen zu starken Lernern

Von schwachen zu starken Lernern Von schwachen zu starken Lernern Wir nehmen an, dass ein schwacher Lernalgorithmus L mit vielen Beispielen, aber großem Fehler ε = 1 2 θ gegeben ist. - Wie lässt sich der Verallgemeinerungsfehler ε von

Mehr

Theorie Parameterschätzung Ausblick. Schätzung. Raimar Sandner. Studentenseminar "Statistische Methoden in der Physik"

Theorie Parameterschätzung Ausblick. Schätzung. Raimar Sandner. Studentenseminar Statistische Methoden in der Physik Studentenseminar "Statistische Methoden in der Physik" Gliederung 1 2 3 Worum geht es hier? Gliederung 1 2 3 Stichproben Gegeben eine Beobachtungsreihe x = (x 1, x 2,..., x n ): Realisierung der n-dimensionalen

Mehr

Übungsklausur Algorithmen I

Übungsklausur Algorithmen I Name: Vorname: Matrikelnr.: Tutorium: Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) [2 Punkte] Nennen Sie zwei Konzepte,

Mehr

3. Übung Algorithmen I

3. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:

Mehr

Quantenalgorithmus für die Faktorisierung ganzer Zahlen

Quantenalgorithmus für die Faktorisierung ganzer Zahlen Quantenalgorithmus für die Faktorisierung ganzer Zahlen Ausgehend von dem allgemeinen Algorithmus für das Hidden Subgroup Problem behandlen wir in diesem Abschnitt den Quantenalgorithmus für die Faktorisierung

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und

Mehr

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Universität Duisburg-Essen Essen, den 12.02.2010 Fakultät für Mathematik Prof. Dr. M. Winkler C. Stinner Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Lösung Die Klausur gilt als bestanden,

Mehr

EADS 3.3 Gewichtsbalancierte Bäume 95/598 ľernst W. Mayr

EADS 3.3 Gewichtsbalancierte Bäume 95/598 ľernst W. Mayr 3.3 Gewichtsbalancierte Bäume Siehe zu diesem Thema Seite 189ff in Kurt Mehlhorn: Data structures and algorithms 1: Sorting and searching, EATCS Monographs on Theoretical Computer Science, Springer Verlag:

Mehr

Randomisierte Datenstrukturen

Randomisierte Datenstrukturen Seminar über Algorithmen DozentInnen: Helmut Alt, Claudia Klost Randomisierte Datenstrukturen Ralph Schäfermeier 13. 2. 2007 Das Verwalten von Mengen, so dass ein schneller Zugriff auf deren Elemente gewährleistet

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr

Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung)

Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung) Goethe-Universität Frankfurt am Main 27. Juli 2012 Institut für Informatik Theorie komplexer Systeme Dr. Mariano Zelke Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung) Name: Vorname: Studiengang:

Mehr

4. Übung zu Algorithmen I 17. Mai 2017

4. Übung zu Algorithmen I 17. Mai 2017 4. Übung zu Algorithmen I 17. Mai 2017 Björn Kaidel bjoern.kaidel@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Lisa Kohl, Christian Schulz, Sebastian Schlag und Christoph Striecks) Organisatorisches

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 6. August 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

Wie groß ist die Wahrscheinlichkeit Pr[X > y + x X > x]? Da bei den ersten x Versuchen kein Erfolg eintrat, stellen wir uns vor, dass das

Wie groß ist die Wahrscheinlichkeit Pr[X > y + x X > x]? Da bei den ersten x Versuchen kein Erfolg eintrat, stellen wir uns vor, dass das Sei X geometrisch verteilt mit Erfolgswahrscheinlichkeit p. Dann ist Pr[X = k] die Wahrscheinlichkeit, dass wir bei einem binären Experiment mit Erfolgswahrscheinlichkeit p genau in der k-ten unabhängigen

Mehr

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2)

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2) 1 Hashing Einleitung Eine sehr naive Herangehensweise zur Implementierung eines Wörterbuchs ist die Benutzung eines hinreichend grossen unsortierten Arrays, in dem jeweils an eine freie Position eingefügt

Mehr

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Universität Duisburg-Essen Essen, den 15.0.009 Fachbereich Mathematik Prof. Dr. M. Winkler C. Stinner Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Lösung Die Klausur gilt als bestanden,

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen

Mehr

Effiziente Algorithmen. Sommersemester Welcome, Herzlich willkommen!

Effiziente Algorithmen. Sommersemester Welcome, Herzlich willkommen! Effiziente Algorithmen Sommersemester 2012 Welcome, Herzlich willkommen! 1 / 38 Worum gehts? Der Entwurf und die Analyse randomisierter Algorithmen: Was können würfelnde Algorithmen? Der Entwurf und die

Mehr

Aufgaben. d) Seien X und Y Poissonverteilt mit Parameter µ, X, Y P(µ). 2. Dann ist die Summe auch Poissonverteilt mit (X + Y ) P(2µ).

Aufgaben. d) Seien X und Y Poissonverteilt mit Parameter µ, X, Y P(µ). 2. Dann ist die Summe auch Poissonverteilt mit (X + Y ) P(2µ). Aufgaben 1. Bei den folgenden 10 Fragen ist jeweils genau eine Antwort richtig. Es gibt pro richtig beantwortete Frage 1 Punkt und pro falsche Antwort 1/2 Punkt Abzug. Minimal erhält man für die gesamte

Mehr

DWT 6.1 Die Ungleichungen von Markov und Chebyshev 157/467 Ernst W. Mayr

DWT 6.1 Die Ungleichungen von Markov und Chebyshev 157/467 Ernst W. Mayr Die Markov-Ungleichung ist nach Andrey Andreyevich Markov (1856 1922) benannt, der an der Universität von St. Petersburg bei Chebyshev studierte und später dort arbeitete. Neben seiner mathematischen Tätigkeit

Mehr

Datenströme. Prof. Dr. Nicole Schweikardt. Arbeitsgruppe Logik in der Informatik Humboldt-Universität zu Berlin

Datenströme. Prof. Dr. Nicole Schweikardt. Arbeitsgruppe Logik in der Informatik Humboldt-Universität zu Berlin Datenströme Prof. Dr. Nicole Schweikardt Arbeitsgruppe Logik in der Informatik Humboldt-Universität zu Berlin Vorlesung Big Data Analytics in Theorie und Praxis Datenströme Situation: riesige Mengen von

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

12 Ungleichungen. Wir beginnen mit einer einfachen Ungleichung über die Varianz. Satz 35 Es sei X eine zufällige Variable.

12 Ungleichungen. Wir beginnen mit einer einfachen Ungleichung über die Varianz. Satz 35 Es sei X eine zufällige Variable. 12 Ungleichungen Wir beginnen mit einer einfachen Ungleichung über die Varianz. Satz 35 Es sei X eine zufällige Variable. Dann gilt: min c R E(X c)2 = Var X. Beweis: Für alle reellen Zahlen c R gilt: E(X

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Christian Scheideler + Helmut Seidl SS 2009 06.05.09 Kapitel 4 1 Wörterbuch-Datenstruktur S: Menge von Elementen Jedes Element e identifiziert über

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

Algorithmische Techniken für Geometrische Probleme

Algorithmische Techniken für Geometrische Probleme Algorithmische Techniken für Geometrische Probleme Berthold Vöcking 14. Juni 2007 Inhaltsverzeichnis 1 Die Sweepline-Technik 2 1.1 Schnitte orthogonaler Liniensegmente............... 2 1.2 Schnitte beliebiger

Mehr

Seminar über Algorithmen Übersicht über streaming (Datenstrom-)Algorithmen

Seminar über Algorithmen Übersicht über streaming (Datenstrom-)Algorithmen Seminar über Algorithmen Übersicht über streaming (Datenstrom-)Algorithmen von Roman Guilbourd Inhalt Was sind Datenströme Eigenschaften der Datenstromalgorithmen Anwendungen Einführungsbeispiel Mathematische

Mehr

Stochastik (BSc D-MAVT / BSc D-MATH / BSc D-MATL)

Stochastik (BSc D-MAVT / BSc D-MATH / BSc D-MATL) Prof. Dr. P. Embrechts ETH Zürich Sommer 204 Stochastik (BSc D-MAVT / BSc D-MATH / BSc D-MATL) Schreiben Sie für Aufgabe 2-4 stets alle Zwischenschritte und -rechnungen sowie Begründungen auf. Vereinfachen

Mehr

Copyright, Page 1 of 7 Heapsort

Copyright, Page 1 of 7 Heapsort www.mathematik-netz.de Copyright, Page 1 of 7 Heapsort Alle grundlegenden, allgemeinen Sortierverfahren benötigen O(n 2 ) Zeit für das Sortieren von n Schlüsseln. Die kritischen Operationen, d.h. die Auswahl

Mehr

Zufall oder Absicht?

Zufall oder Absicht? Zufall oder Absicht? Randomisierung und Derandomisierung Prof. Markus Bläser Universität des Saarlandes 4. Januar 2010 1 / 21 Zufall oder Absicht? 1 Randomisierte Algorithmen 2 Polynom-Identitätstests

Mehr

3. Kombinatorik und Wahrscheinlichkeit

3. Kombinatorik und Wahrscheinlichkeit 3. Kombinatorik und Wahrscheinlichkeit Es geht hier um die Bestimmung der Kardinalität endlicher Mengen. Erinnerung: Seien A, B, A 1,..., A n endliche Mengen. Dann gilt A = B ϕ: A B bijektiv Summenregel:

Mehr

9.2 Die Klassen QP und BQP

9.2 Die Klassen QP und BQP Definition (r-universell): sei R eine Menge von reversieblen booleschen Funktionen, die auf einer konstanten Anzahl von Bits operieren. R heißt r-universell, falls jede reversible Funktion als Verknüpfung

Mehr

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-4. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-09 Überblick 1 Verkettete Listen 2 Unbeschränkte Felder 3 Amortisierte Laufzeitanalyse

Mehr

Kapitel III Selektieren und Sortieren

Kapitel III Selektieren und Sortieren Kapitel III Selektieren und Sortieren 1. Einleitung Gegeben: Menge S von n Elementen aus einem total geordneten Universum U, i N, 1 i n. Gesucht: i-kleinstes Element in S. Die Fälle i = 1 bzw. i = n entsprechen

Mehr

Grundbegriffe der Wahrscheinlichkeitsrechnung

Grundbegriffe der Wahrscheinlichkeitsrechnung Algorithmen und Datenstrukturen 349 A Grundbegriffe der Wahrscheinlichkeitsrechnung Für Entwurf und Analyse randomisierter Algorithmen sind Hilfsmittel aus der Wahrscheinlichkeitsrechnung erforderlich.

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Finanzmathematische Modelle und Simulation

Finanzmathematische Modelle und Simulation Finanzmathematische Modelle und Simulation WS 9/1 Rebecca Henkelmann In meiner Ausarbeitung Grundbegriffe der Stochastik I, geht es darum die folgenden Begriffe für die nächsten Kapitel einzuführen. Auf

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 4 (30.4.2018) Sortieren IV Algorithmen und Komplexität Analyse Merge Sort Laufzeit T(n) setzt sich zusammen aus: Divide und Merge: O n

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Weitere Grundlagen Maike Buchin 20.4.2017 Wiederholung wir interessieren uns für effizienten Algorithmen und Datenstrukturen Laufzeiten messen wir asymptotisch in der Oh-Notation

Mehr

Hashing. Überblick Aufgabe Realisierung

Hashing. Überblick Aufgabe Realisierung Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles 2/33 Überblick Aufgabe Realisierung Aufgabe Dynamische Verwaltung

Mehr

Lösungen ausgewählter Übungsaufgaben zum Buch. Elementare Stochastik (Springer Spektrum, 2012) Teil 3: Aufgaben zu den Kapiteln 5 und 6

Lösungen ausgewählter Übungsaufgaben zum Buch. Elementare Stochastik (Springer Spektrum, 2012) Teil 3: Aufgaben zu den Kapiteln 5 und 6 1 Lösungen ausgewählter Übungsaufgaben zum Buch Elementare Stochastik (Springer Spektrum, 2012) Teil 3: Aufgaben zu den Kapiteln 5 und 6 Aufgaben zu Kapitel 5 Zu Abschnitt 5.1 Ü5.1.1 Finden Sie eine maximum-likelihood-schätzung

Mehr

4.2 Moment und Varianz

4.2 Moment und Varianz 4.2 Moment und Varianz Def. 2.10 Es sei X eine zufällige Variable. Falls der Erwartungswert E( X p ) existiert, heißt der Erwartungswert EX p p tes Moment der zufälligen Variablen X. Es gilt dann: EX p

Mehr

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall: Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge

Mehr

Beispiel 6 (Einige Aufgaben zur Gleichverteilung)

Beispiel 6 (Einige Aufgaben zur Gleichverteilung) Beispiel 6 (Einige Aufgaben zur Gleichverteilung) Aufgabe (Anwendung der Chebyshev-Ungleichung) Sei X eine Zufallsvariable mit E(X) = µ und var(x) = σ a) Schätzen Sie die Wahrscheinlichkeit dafür, daß

Mehr

TU DORTMUND Sommersemester 2018

TU DORTMUND Sommersemester 2018 Fakultät Statistik. April 08 Blatt Aufgabe.: Wir betrachten das Zufallsexperiment gleichzeitiges Werfen zweier nicht unterscheidbarer Würfel. Sei A das Ereignis, dass die Augensumme beider Würfel ungerade

Mehr

Numerische Methoden und Algorithmen in der Physik

Numerische Methoden und Algorithmen in der Physik Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 08.01.2009 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 32 Einführung Wahrscheinlichkeit Verteilungen

Mehr

Wahrscheinlichkeit und Statistik BSc D-INFK

Wahrscheinlichkeit und Statistik BSc D-INFK Prof. Dr. M. Schweizer ETH Zürich Winter 2010/2011 Wahrscheinlichkeit und Statistik BSc D-INFK Name: Vorname: Stud. Nr.: Das Folgende bitte nicht ausfüllen! Aufg. Summe Kontr. Pkte.-Max. 1 10 2 10 3 15

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren Dank an: Beate Bollig, TU Dortmund! 1/42 Hashing Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles Hashing 2/42

Mehr

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund

Mehr

Klausur Algorithmen und Datenstrukturen II

Klausur Algorithmen und Datenstrukturen II Technische Universität Braunschweig Sommersemester 2017 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Arne Schmidt Klausur Algorithmen und Datenstrukturen

Mehr

Satz 16 (Multiplikationssatz)

Satz 16 (Multiplikationssatz) Häufig verwendet man die Definition der bedingten Wahrscheinlichkeit in der Form Damit: Pr[A B] = Pr[B A] Pr[A] = Pr[A B] Pr[B]. (1) Satz 16 (Multiplikationssatz) Seien die Ereignisse A 1,..., A n gegeben.

Mehr

Beispiel 37. Wir werfen eine Münze so lange, bis zum ersten Mal

Beispiel 37. Wir werfen eine Münze so lange, bis zum ersten Mal Beispiel 37 Wir werfen eine Münze so lange, bis zum ersten Mal Kopf erscheint. Dies geschehe in jedem Wurf unabhängig mit Wahrscheinlichkeit p. Wir definieren dazu die Zufallsvariable X := Anzahl der Würfe.

Mehr

Dieses Quiz soll Ihnen helfen, Kapitel besser zu verstehen.

Dieses Quiz soll Ihnen helfen, Kapitel besser zu verstehen. Dieses Quiz soll Ihnen helfen, Kapitel 2.5-2. besser zu verstehen. Frage Wir betrachten ein Würfelspiel. Man wirft einen fairen, sechsseitigen Würfel. Wenn eine oder eine 2 oben liegt, muss man 2 SFr zahlen.

Mehr

2 Zufallsvariable und Verteilungsfunktionen

2 Zufallsvariable und Verteilungsfunktionen 8 2 Zufallsvariable und Verteilungsfunktionen Häufig ist es so, dass den Ausgängen eines Zufallexperiments, d.h. den Elementen der Ereignisalgebra, eine Zahl zugeordnet wird. Das wollen wir etwas mathematischer

Mehr

21. Dynamic Programming III

21. Dynamic Programming III Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr