Streaming Algorithmen Dynamische Zuordnung von Objekten mit größter Häufigkeit

Größe: px
Ab Seite anzeigen:

Download "Streaming Algorithmen Dynamische Zuordnung von Objekten mit größter Häufigkeit"

Transkript

1 Streaming Algorithmen Streaming Algorithmen Dynamische Zuordnung von Objekten mit größter Häufigkeit Seminar über Algorithmen, SS 2012 Simon Tippenhauer Freitag, 06. Juni

2 Gliederung Gliederung 1. Motivation 2. Data Streams und Data Stream Algorithm 3. Formalisierung der Aufgabe: Dynamische Zuordnung von Objekten mit größter Häufigkeit. 4. Der Algorithmus (i) Methoden und Idee (ii) Bestimmung der absoluten Mehrheit (iii) Bestimmung von k Hot Items 5. Evaluation 2

3 1. Motivation 1. Motivation Internet Service Provider (ISP) führt Statistik über den Datenverkehr. Welche Netzwerkadressen verursachen den meisten Datenverkehr oder unterliegen den häufigsten Anfragen? Der ISP kann daraufhin den Datenfluss steuern und einer Überlastung der Server entgegenwirken. Anhand der Statistik können auch Anomalien festgestellt werden. 3

4 2. Data Streams und Data Stream Algorithms 2. Data Streams und Data Stream Algorithms Ein einführendes Beispiel: Finde die fehlende Zahl! Sei π eine Permutation der Zahlen 1, 2,..., n und π -1 die selbe Permutation mit einer fehlenden Zahl (n ist dabei sehr groß!). Nun werden die Zahlen von π -1 nacheinander gezeigt und mit O(log n) Speicherplatz, soll die fehlende Zahl bestimmt werden. Die fehlende Zahl ist dann: Beispiel: n = 8, π -1 = 4,2,7,6,1,5,8 s = 8(8 +1) s = n(n +1) π 1 [i] = = 3 i=1 2 n 1 i=1 π 1 [i] 4

5 2. Data Streams und Data Stream Algorithms Data Streams Definition 1: Ein Data Stream stellt Eingabedaten a i dar, die in einer sehr hohen Rate eintreffen. Eine hohe Rate liegt vor, wenn die Kommunikations- und Berechnungsinfrastruktur stark beansprucht werden. Es ist also schwierig die gesamte Eingabe dem Programm zu übermitteln - transmit (T) anspruchsvolle Funktionen zu berechnen - compute (C) die Eingabe temporär oder auf Dauer zu speichern - space (S) Die Aufgabe ist es ständige Updates zu bearbeiten und zeitnahe Statistiken zu liefern. 5

6 2. Data Streams und Data Stream Algorithms Data Stream Models Eine Eingabefolge a 1, a2,... beschreibt ein zugrunde liegendes Signal A. Das Signal A ist eine Funktion A:[1...N] R. Die Modelle unterscheiden sich dadurch, wie die a i s das Signal A beschreiben. Time Series Model Turnstile Model Cash Register Model 6

7 2. Data Streams und Data Stream Algorithms Time Series Model Jedes a i entspricht A[i] und sie treten in aufsteigender Reihenfolge auf. 100 Time Series Model Signal A 7

8 2. Data Streams und Data Stream Algorithms Cash Register Model Jedes a i = (j, Ii) entspricht einer Erhöhung von A[j] um den Wert Ii > 0. Also, Ai = Ai-1[j] + Ii A i ist der Zustand des Signals A, nachdem die i-te Eingabe erfolgt ist. Mehrere a i s können ein gegebenes A[j] mit der Zeit erhöhen. Dies ist das wohl am häufigsten auftretende Model. 8

9 2. Data Streams und Data Stream Algorithms Turnstile Model Jedes a i = (j, Ui) entspricht einer Erhöhung von A[j] um den Wert Ui. Also, Ai = Ai-1[j] + Ui A i ist der Zustand des Signals A, nachdem die i-te Eingabe erfolgt ist. Die Werte U i können positiv oder negativ sein. Dies ist das wohl allgemeinste Model. Das Turnstile Model ist strikt, wenn immer alle A[j] s 0 sind. 9

10 2. Data Streams und Data Stream Algorithms Data Stream Algorithms Auf dem Signal A sollen unterschiedliche Funktionen berechnet werden. Die Performance hängt von drei wesentlichen Messverfahren ab: 1. Verarbeitungszeit pro Eingabe ai. (Proc. Time) 2. Speicherbedarf der Datenstruktur für A zum Zeitpunkt t. (Storage) 3. Laufzeit zur Berechnung von Funktionen auf A. (Compute Time) Daraus ergeben sich folgende Anforderung an die Algorithmen: Zu jedem Zeitpunkt t soll Proc. Time, Storage und Compute Time gleichzeitig o(n, t) sein, vorzugsweise polylog(n, t). Dabei entspricht N die Größe der Domäne. Abgeschwächt kann Compute Time auch nicht sublinear sein. 10

11 3. Formalisierung der Aufgabe Gliederung 1. Motivation 2. Data Streams und Data Stream Algorithm 3. Formalisierung der Aufgabe: Dynamische Zuordnung von Objekten mit größter Häufigkeit. 4. Der Algorithmus (i) Methoden und Idee (ii) Bestimmung der absoluten Mehrheit (iii) Bestimmung von k Hot Items 5. Evaluation 11

12 3. Formalisierung der Aufgabe 3. Formalisierung der Aufgabe: Dynamische Zuordnung von Objekten mit größter Häufigkeit Datenbanksystem mit Lösch- und Einfügeoperationen. Aufgabe: Bestimmung der k häufigsten Objekte. I. Folge von Transaktionen auf Objekten, II. o.b.d.a. sind die Objekte mit Zahlen von 1 bin m identifizierbar. III.Das Nettovorkommen von Objekt i zum Zeitpunkt t wird bezeichnet mit: IV. Aktuelle relative Häufigkeit von Objekt i: f i (t) = n i (t) / V. Die k häufigsten Objekte haben die k größten f i (t). m j=1 n j (t) n i (t) VI. Es liegt ein strict Turnstile Model vor. 12

13 3. Formalisierung der Aufgabe Anforderungen an den Algorithmus I. Berechnung der k häufigsten Objekte zu jedem Zeitpunkt. II. Sublinear zu jedem Zeitpunkt t bezüglich (i) der Verarbeitungszeit pro Transaktion ai, (ii) dem Speicherbedarf der Datenstruktur und (iii) der Laufzeit für die Berechnung der k häufigsten Objekte. Die Anforderungen für Streaming Algorithmen können für I. nicht eingehalten werden. Daher werden statt der k häufigsten Objekt, die Hot Items gefordert. 13

14 3. Formalisierung der Aufgabe Hot Item Definition: Ein Objekt i ist ein Hot Item zum Zeitpunkt t, wenn gilt: f i (t) > 1 k +1 Es kann maximal k Hot Items geben, aber auch weniger oder keins. Beispiel: k = 3, m = 4 m c = n j (t) = 20 j=1 1 k +1 = 1 4 = 5 20 f 1 (t) = 2 20 f 2 (t) = 7 20 f 3 (t) = 5 20 f 4 (t) = 6 20 f 2 (t) > 1 k +1 f 4 (t) > 1 k +1 Somit sind die Hot Items 2 und 4. 14

15 3. Formalisierung der Aufgabe Lemma 1: Jeder Algorithmus, der garantiert alle und nur Objekte zu finden, die eine größeren Häufigkeit als 1/(k + 1) haben, benötigt Ω(m) viele Bits. Mit o(m) Speicherplatz folgt, dass 1. nicht alle Hot Items bestimmt werden können oder 2. Objekte mit niedrigerer relativen Häufigkeit als Hot Item klassifiziert werden. Wenn die Small Tail Eigenschaft vorausgesetzt wird, gilt das Lemma 1 nicht! Definition: Sei F eine Menge von relativen Häufigkeiten ƒi mit ƒ1 ƒ2... fk fk+1... ƒm. Dann hat F einen Small Tail, wenn gilt: m f i 1 i>k k +1 15

16 3. Formalisierung der Aufgabe Gliederung 1. Motivation 2. Data Streams und Data Stream Algorithm 3. Formalisierung der Aufgabe: Dynamische Zuordnung von Objekten mit größter Häufigkeit. 4. Der Algorithmus (i) Methoden und Idee (ii) Bestimmung der absoluten Mehrheit (iii) Bestimmung von k Hot Items 5. Evaluation 16

17 4. Der Algorithmus Methoden Summary Datenstruktur mittels Random Sampling Summary Datenstruktur repräsentiert die zugrundeliegende Relation mit deutlich weniger Speicherplatzbedarf und bietet ausreichend viele Informationen, um Anfragen zufriedenstellend zu beantworten. Random Sampling beschreibt ein Auswahlverfahren für Stichproben, indem die Stichproben zufällig ausgewählt werden. Benötigt viele Samples und Resampling ist von Zeit zu Zeit notwendig. 17

18 Methoden (non-adaptive) Group Testing Group Testing dient zur effektiven Bestimmung von ausgezeichneten Elementen einer Menge. non-adaptive bedeutet, dass alle Test unabhängig von den Ergebnissen, der anderen Test durchgeführt werden. 18

19 Idee zum Algorithmus Es werden Gruppen für eine Teilmenge von Objekten gebildet. Die Zähler bilden die Summary Datenstruktur. Aus den Ergebnissen lassen sich die Hot Items ermitteln. Jede Gruppe hat einen Zähler für das Nettovorkommen innerhalb dieser. Zusätzlich wird ein Zähler für das gesamte Nettovorkommen geführt. Der Gruppentest informiert über die Beinhaltung eines Hot Items in der Gruppe. 19

20 Herausforderungen für diesen Ansatz 1. Begrenzung der Anzahl notwendiger Teilmengen (Gruppen). 2. Geeignete (platzsparende) Repräsentation der Teilmengen. 3. Effiziente Bestimmung der Hot Items anhand von Gruppentests. Starten wir mit dem einfachen Fall! 20

21 k = 1 Deterministische Bestimmung der absoluten Mehrheit Gegeben ein Stream a 1,..., at zum Zeitpunkt t mit ai {1,..., m}. Objekt i ist ein Hot Item, wenn gilt: Auswahl der Teilmengen (Gruppen) G j ist die Teilmenge von Objekten, dessen j-te Ziffer in Binärdarstellung eine 1 ist. Die zugehörigen Zähler werden mit c 0,..., clog m bezeichnet. Die Datenstruktur umfasst die Zähler c 0,..., clog m der Gruppen und f i > 1 1+ k > 1 2 einen Zähler c für das Nettovorkommen aller Objekt. 21

22 Verarbeitung des Streams und Bestimmung des Hot Items Einfügen von Objekt i: Inkrementiere den Zähler c. Erhöhe jeden Zähler c j um 1, wenn das j-te Bit von i gesetzt ist. Löschen von Objekt i: Dekrementiere den Zähler c. Verringere jeden Zähler c j um 1, wenn das j-te Bit von i gesetzt ist. Bestimmung des Hot Items: Wenn es existiert, so ist hot = log m 2 j greater(c j, c 2 ) j=0 22

23 Beispiel (nur Inserts): k = 1, m = 8, t = 17, Signal A = 3,1,2,3,8,5,3,3,8,7,7,7,3,3,3,3,3 15 Nettovorkommen Signal Hot Item Bit 0 Bit 1 Bit 2 Bit 3 23

24 Satz 1: Wenn ein Objekt mit der absoluten Mehrheit vorhanden ist, so findet der Algorithmus dieses in O(log m) Zeit pro Operation. 1. Der Zustand der Datenstruktur ist der selbe nach k Inserts und l Deletes, wie wenn nur n = k - l Inserts vorliegen. 2. Der Algorithmus arbeitet nur mit Inserts korrekt. Beweis zu 2.: Sei i das Hot Item mit relativer Häufigkeit ƒi > 0.5 zum Zeitpunkt t. ni(t) > 0.5 c Für die Zähler von i gilt: cj > 0.5 c n j i f j = 1 f i < 0.5 Für die anderen Zähler gilt: cj < 0.5 Die Ziffern der Binärdarstellung kann somit abgelesen werden. Laufzeit abhängig von der Anzahl der Zähler, d.h. O(log m) 24

25 Erfüllte Herausforderungen Begrenzung der Anzahl notwendiger Teilmengen (Gruppen). Geeignete (platzsparende) Repräsentation der Teilmengen. Effiziente Bestimmung der Hot Items anhand von Gruppentests. Weiter geht es mit dem allgemeinen Fall! 25

26 k > 1 Randomisierte Bestimmung der Hot Items Idee für k = 1 kann mit folgenden Beobachtungen verwendet werden. In einer Teilmenge mit nur einem Hot Item, besitzt dieses die Mehrheit. Mit der Small Tail Eigenschaft sogar die absolute Mehrheit. Durch geschickte Wahl der Teilmengen kann sichergestellt werden, dass jedes Hot Item in solch einer Gruppe vorkommt. Für jede Teilmenge werden O(log m) Zähler geführt. Definition: Sei F {1,..., m} die Menge der Hot Items mit F k. Dann ist S {1,..., m} eine gute Teilmenge, wenn S F = 1 ist. 26

27 Wiederholung: Herausforderungen für diesen Ansatz mit k > 1 Begrenzung der Anzahl notwendiger Teilmengen (Gruppen). Geeignete (platzsparende) Repräsentation der Teilmengen. Effiziente Bestimmung der Hot Items anhand von Gruppentests. Starten mit den Begrenzung der notwendigen Teilmengen. 27

28 Satz 2: Durch wählen von O(k ln k) Teilmengen, indem zufällig (m/k) Objekte von 1 bis m gleichverteilt gewählt werden, sind mit konstanter Wahrscheinlichkeit k Teilmengen S1,..., Sk enthalten, sodass gilt: Pr[i ist ein Hot Item] = m k k i (F S i ) = F m k Pr[Ein Hot Item bei Objekten] = p = m (1 k m m ) k 1 m Für Relevante Fälle mit 1 k gilt: 0 p Aus dem Coupon Collector Problem folgt die Wahl von O(k ln k) Teilmengen 28

29 Herausforderungen für diesen Ansatz mit k > 1 Begrenzung der Anzahl notwendiger Teilmengen (Gruppen). Geeignete (platzsparende) Repräsentation der Teilmengen. Effiziente Bestimmung der Hot Items anhand von Gruppentests. Weiter mit der geeigneten Repräsentation der Teilmengen. 29

30 Primzahl P 2k, a und b gleichverteilte Zufallszahlen aus {0, 1,..., P-1} Definieren Universelles Hashing zur Repräsentation von Teilmengen h a,b(x) = ((ax + b mod P) mod 2k) und S a,b,i = {x ha,b(x) = i} zugehörige Teilmenge. 1 Mit Wahrscheinlichkeit sind zwei Objekte in der selben Teilmenge. 2k 30

31 Brauchen O(k ln k) Teilmengen, damit jedes Hot Item in einer guten Teilmenge ist. Dazu werden T = O(log k Paare von (a,b) gewählt. δ ) Teilmengen. 2Tk = 2k log k δ Jedes Objekt gehört T Teilmengen an. Universelles Hashing Genaue Anzahl der Teilmengen Anhand der Bitrepräsentation des Objekts werden die entsprechende Zähler der Teilmengen erhöht bzw. verringert. Lemma 2 (ohne Beweis): Für jedes Hot Item ist die Wahrscheinlichkeit in mindestens einer guten Menge zu sein mindestens 1 - δ. 31

32 Die Teilmengen im Bild S a1,b 1,0 S a1,b 1,1 S a1,b 1,2k 1 S a2,b 2,2k S at,b T,2Tk Gruppenzähler c c 0 c 00 c 01 c 0 log m c 1 c 10 c 11 c 1log m c 2k 1 c 2k 10 c 2k 11 c 2k 1log m c 2k c 2k 0 c 2k1 c 2k log m c 2Tk 1 c 2Tk 10 c 2Tk 11 c 2Tk 1log m 0-te Bit 1-te Bit (log m)-te Bit 32

33 Herausforderungen für diesen Ansatz mit k > 1 Begrenzung der Anzahl notwendiger Teilmengen (Gruppen). Geeignete (platzsparende) Repräsentation der Teilmengen. Effiziente Bestimmung der Hot Items anhand von Gruppentests. Es müssen nur noch die Hot Items bestimmt werden. 33

34 Effiziente Bestimmung der Hot Items 1. Für jede Teilmenge Sa,b,i teste, 1.1. ob der zugehörige Gruppenzähler und 1.2. es eine gute Teilmenge ist. 2. Wenn ja, 2.1. Nutze den Algorithmus von k = 1 und bestimme das Hot Item der Gruppe. 3. Wenn nein, 3.1. Teste die nächste Teilmenge. 4. Gebe alle Hot Items aus. c i > c k +1 34

35 Lemma 3: Sei Sa,b,i eine Teilmenge mit den assoziierten Zählern ca,b,i, c0, c1,..., clog m. Mit der Small Tail Eigenschaft vorausgesetzt, lässt sich deterministisch bestimmen, ob Sa,b,i eine gute Teilmenge ist. 1. Fall: Kein Hot Item in der Menge, dann gilt: c a,b,i < c k Fall: Zwei oder mehr Hot Items in der Menge, dann ex. ein j, sodass gilt: c a,b,i c j > c k +1 35

36 Satz 3a: Mit einer Wahrscheinlichkeit von mindestens 1 - δ können alle Hot Items mit O(k(log k + log 1/δ)) Speicherplatz zu jedem Zeitpunkt t bestimmt werden. Speicherplatz für die Hashfunktionen Primzahl P in Abhängigkeit von m, also O(log m), sowie O(log k δ ) Werte von Paaren (a,b) für alle Teilmengen. Also O(log m) + O(log k δ ). Speicherplatz für die Zähler Für jede Gruppe Zähler. Bei Teilmenge also O(log m k log k. δ ) 2Tk = 2k log k δ O(log m) O(log m k log k δ ) Speicherplatz für die Datenstruktur. 36

37 Satz 3a: Mit einer Wahrscheinlichkeit von mindestens 1 - δ können alle Hot Items mit O(k(log k + log 1/δ)) Speicherplatz zu jedem Zeitpunkt t bestimmt werden. Lemma 2 Wahrscheinlichkeit 1 - δ ist jedes Hot Item in einer guten Menge. Lemma 3 und Satz 1 Kann deterministische bestimmt werden, ob ein Hot Item in der Teilmenge ist. Wenn ein Hot Item vorhanden ist, so kann es bestimmt werden. 37

38 Satz 3b: Dabei wird O(log k/δ log m) Zeit für eine Aktualisierung und O(k log k/δ log m) Zeit für die Auflistung aller Hot Items benötigt. Bei einer Aktualisierung werden T = O(log k δ ) jeweils Hashfunktionen in berechnet und Zähler verändert. Zeit pro Aktualisierung. Für die Auflistung der Hot Items gilt: Hot Item kann in einer Gruppe in dies für Gruppen. O(log m) O(log k log m) δ O(k log k δ ) O(k log k log m) δ O(log m) Zeit für alle Hot Items. Zeit bestimmt werden und 38

39 Herausforderungen für diesen Ansatz mit k > 1 Begrenzung der Anzahl notwendiger Teilmengen (Gruppen). Geeignete (platzsparende) Repräsentation der Teilmengen. Effiziente Bestimmung der Hot Items anhand von Gruppentests. Fertig! 39

40 5. Evaluation Gliederung 1. Motivation 2. Data Streams und Data Stream Algorithm 3. Formalisierung der Aufgabe: Dynamische Zuordnung von Objekten mit größter Häufigkeit. 4. Der Algorithmus (i) Methoden und Idee (ii) Bestimmung der absoluten Mehrheit (iii) Bestimmung von k Hot Items 5. Evaluation 40

41 5. Evaluation Vergleich mit vorherigen Ansätzen Recall on Synthetic Data Precision on Synthetic Data Recall Zipf parameter Group Testing Lossy Counting Frequent Precision Zipf parameter Group Testing Lossy Counting Frequent recall = truepositive truepositive + falsenegative precision = truepositive truepositive + falsepositive 41

42 5. Evaluation Vergleich mit vorherigen Ansätzen Recall on Real Data Precision on Precision Real Data on Real Data Recall Precision Precision Number of Transactions / 10^6 Number of Transactions Number of / 10^6 Transactions / 10^6 Group Testing Lossy Counting Frequent Group Testing Group Lossy Testing Counting Lossy Frequent Counting Frequent recall = truepositive Figure 6: Performance results on real data truepositive + falsenegative very poor: for every hot item that is reported, around n infrequent items are also included in the output, and we nnot distinguish between these two types. There is a price to pay for the extra power of the Group esting algorithm: it takes longer to process each item under not. ur implementation, and requires more memory. However, ese memory requirements are all very small compared to precision = truepositive truepositive + falsepositive recall of the Frequent algorithm looks reasonably good especially as time progresses, but its precision, which begins poorly, appears to degrade further. One possible explanation is that the algorithm is collecting all items which are are ever hot, and outputting these whether they are hot or Certainly, it outputs between two to three times as many items as are currently hot, meaning that its output 42

43 Literatur Literatur S. Muthukrishnan. Data Streams: Algorithms and Applications. Foundations and Trends in Theoretical Computer Science. Volume 1, Issue 2, G. Cormode and S. Muthukrishnan. What s Hot and What s Not: Tracking most frequent items dynamically. ACM PODS, Vielen Dank für eure Aufmerksamkeit! 43

Approximate Frequency Counts over Data Streams

Approximate Frequency Counts over Data Streams Approximate Frequency Counts over Data Streams Gurmeet Singh Manku Rajeev Motwani Näherungsweise Häufigkeitszählung in Datenströmen Seminarvortrag von Marco Möller 1 Wofür ist das gut? Was sind die Top

Mehr

Moment: Maintaining Closed Frequent Itemsets over a Stream Sliding Window

Moment: Maintaining Closed Frequent Itemsets over a Stream Sliding Window Institut für Informatik Moment: Maintaining Closed Frequent Itemsets over a Stream Sliding Window Yun Chi, Haixun Wang, Philip S. Yu, Richard R. Muntz Hauptseminar Data Science - SS 2016 Team D: Julian

Mehr

Algorithmen für schwierige Probleme

Algorithmen für schwierige Probleme Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 24. November 2011 Farbkodierung Beispiel Longest Path Longest Path gegeben: G = (V, E) und k N. Frage: Gibt es einen einfachen Pfad

Mehr

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 13, 25.11.08 Friedhelm Meyer auf der Heide 1 Organisatorisches Die letzte Vorlesung über Grundlegende

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

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

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

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

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

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

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

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

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

Randomisierte Algorithmen und probabilistische Analyse

Randomisierte Algorithmen und probabilistische Analyse Randomisierte Algorithmen und probabilistische Analyse S.Seidl, M.Nening, T.Niederleuthner S.Seidl, M.Nening, T.Niederleuthner 1 / 29 Inhalt 1 Randomisierte Algorithmen 2 Probabilistische Analyse S.Seidl,

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

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

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

Wahrscheinlichkeitsrechnung und Statistik

Wahrscheinlichkeitsrechnung und Statistik Babeş-Bolyai Universität Fakultät für Mathematik und Informatik Oktober 2018 Im Alltag... Laut den meteorologischen Vorhersagen wird es morgen regnen. Ob ich riskiere und die Wette verlieren werde? Ich

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

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008 Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und

Mehr

Pseudo-Zufallsgeneratoren basierend auf dem DLP

Pseudo-Zufallsgeneratoren basierend auf dem DLP Seminar Codes und Kryptografie SS 2004 Struktur des Vortrags Struktur des Vortrags Ziel Motivation 1 Einleitung Ziel Motivation 2 Grundlegende Definitionen Zufallsgeneratoren 3 Generator Sicherheit 4 Generator

Mehr

PRIMES is in P. Ein Vortrag von Holger Szillat.

PRIMES is in P. Ein Vortrag von Holger Szillat. PRIMES is in P Ein Vortrag von Holger Szillat szillat@informatik.uni-tuebingen.de Übersicht Geschichte Notationen und Definitionen Der Agrawal-Kayal-Saxena-Algorithmus Korrektheit und Aufwand Fazit Geschichte

Mehr

Algorithmen und Datenstrukturen (Informatik II) SS Klausur

Algorithmen und Datenstrukturen (Informatik II) SS Klausur Lehrstuhl für Algorith. und Datenstrukturen Prof. Dr. Hannah Bast Axel Lehmann Algorithmen und Datenstrukturen (Informatik II) SS 2013 http://ad-wiki.informatik.uni-freiburg.de/teaching Klausur Mittwoch

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

Informatik II: Algorithmen und Datenstrukturen SS 2015

Informatik II: Algorithmen und Datenstrukturen SS 2015 Informatik II: Algorithmen und Datenstrukturen SS 2015 Vorlesung 8b, Mittwoch, 17. Juni 2015 (Balancierte Suchbäume) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik

Mehr

Abschnitt 7: Komplexität von imperativen Programmen

Abschnitt 7: Komplexität von imperativen Programmen Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen

Mehr

Algorithmentheorie Randomisierung

Algorithmentheorie Randomisierung Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 Offenes Hashing) Prof. Dr. Susanne Albers Hashing: Allgemeiner Rahmen Schlüsselmenge S Universum U aller möglichen Schlüssel Hashfunktion h 0,,m-1

Mehr

Splay-Bäume. Joseph Schröer. Seminar über Algorithmen SoSe 2011, Prof. Dr. Helmut Alt

Splay-Bäume. Joseph Schröer. Seminar über Algorithmen SoSe 2011, Prof. Dr. Helmut Alt Splay-Bäume Joseph Schröer Seminar über Algorithmen SoSe 2011 Prof. Dr. Helmut Alt Einordnung Splay-Baum (engl. Splay Tree) Selbstanpassender binärer Suchbaum Engl. (to) splay spreizen wegstrecken weiten

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V11, 16.1.2012 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

Formaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` '

Formaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' Sortieren & Co 164 165 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' 166 Anwendungsbeispiele Allgemein: Vorverarbeitung

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

Lineare Kongruenzgeneratoren und Quicksort

Lineare Kongruenzgeneratoren und Quicksort Seminar Perlen der theoretischen Informatik Dozenten: Prof. Johannes Köbler und Olaf Beyersdorff Lineare Kongruenzgeneratoren und Quicksort Ausarbeitung zum Vortrag Mia Viktoria Meyer 12. November 2002

Mehr

Paralleler Cuckoo-Filter. Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21.

Paralleler Cuckoo-Filter. Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21. Paralleler Cuckoo-Filter Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21. November 2017 1 Paralleler Cuckoo-Filter Cuckoo-Hashtabelle Serieller Cuckoo-Filter

Mehr

Algorithmen & Datenstrukturen Midterm Test 2

Algorithmen & Datenstrukturen Midterm Test 2 Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

Mehr

Minimalpolynome und Implikanten

Minimalpolynome und Implikanten Kapitel 3 Minimalpolynome und Implikanten Wir haben bisher gezeigt, daß jede Boolesche Funktion durch einfache Grundfunktionen dargestellt werden kann. Dabei können jedoch sehr lange Ausdrücke enstehen,

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 18. März

Mehr

Ferien-Übungsblatt 8 Lösungsvorschläge

Ferien-Übungsblatt 8 Lösungsvorschläge Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Ferien-Übungsblatt 8 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Probabilistische Komplexitätsklassen [vgl.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

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

Hybride Verschlüsselungsverfahren

Hybride Verschlüsselungsverfahren Hybride Verschlüsselungsverfahren Ziel: Flexibilität von asym. Verfahren und Effizienz von sym. Verfahren. Szenario: Sei Π = (Gen, Enc, Dec) ein PK-Verschlüsselungsverfahren und Π = (Gen, Enc, Dec ) ein

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

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

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

Theoretische Informatik. Berechenbarkeit

Theoretische Informatik. Berechenbarkeit Theoretische Informatik Berechenbarkeit 1 Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was

Mehr

Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element

Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element Problemstellung Banale smethode : das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit

Mehr

Algorithmentheorie Randomisierung. Robert Elsässer

Algorithmentheorie Randomisierung. Robert Elsässer Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

Definition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:

Definition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen: HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter

Mehr

Exponentiation: das Problem

Exponentiation: das Problem Problemstellung Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:

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

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

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Fehlerarten. Validation. Wintersemester 2012/13. Dr. Tobias Lasser

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Fehlerarten. Validation. Wintersemester 2012/13. Dr. Tobias Lasser Programm heute Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 01/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 1 Einführung Mathematische Grundlagen

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmische Geometrie: Schnittpunkte von Strecken Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010, 3.11.2009 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben

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

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Data Mining auf Datenströmen Andreas M. Weiner

Data Mining auf Datenströmen Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Integriertes Seminar Datenbanken und Informationssysteme Sommersemester 2005 Thema: Data Streams Andreas

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

Definition der Kolmogorov-Komplexität I

Definition der Kolmogorov-Komplexität I Definition der Kolmogorov-Komplexität I Definition: Die Komplexität K A (x) eines Wortes x V + bezüglich des Algorithmus A ist die Länge der kürzesten Eingabe p {0, 1} + mit A(p) = x, d.h. in formalisierter

Mehr

Kapitel 3: Sortierverfahren Gliederung

Kapitel 3: Sortierverfahren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 15 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 16 Untere Schranken für das Vergleichsbasierte Sortieren TU

Mehr

2.1. Konvexe Hülle in 2D

2.1. Konvexe Hülle in 2D Wir wollen die konvexe Hülle einer Menge von Punkten P = {p 1,..., p n } in der Ebene R 2 bestimmen. y y x x Def. 21: Eine Teilmenge S der Ebene ist konvex gdw für jedes Paar das Liniensegment pq in S

Mehr

Algorithmen und Datenstrukturen 1 Kapitel 5

Algorithmen und Datenstrukturen 1 Kapitel 5 Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht

Mehr

Ressourcenmanagement in Netzwerken SS06 Vorl. 12,

Ressourcenmanagement in Netzwerken SS06 Vorl. 12, Ressourcenmanagement in Netzwerken SS06 Vorl. 12, 30.6.06 Friedhelm Meyer auf der Heide Name hinzufügen 1 Prüfungstermine Dienstag, 18.7. Montag, 21. 8. und Freitag, 22.9. Bitte melden sie sich bis zum

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 11 (1.6.2016) Binäre Suchbäume III Algorithmen und Komplexität Tiefe eines binären Suchbaums Worst-Case Laufzeit der Operationen in binären

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V10, 9.1.2012 1 Organisation Prüfungen: mündlich, 20min 1. Periode: 13.-14.2. 2012 2. Periode: 26.-27.3. 2012 2 Themen

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

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem Seminar Codes und Kryptographie WS 2003 Ein RSA verwandtes, randomisiertes Public Key Kryptosystem Kai Gehrs Übersicht 1. Motivation 2. Das Public Key Kryptosystem 2.1 p-sylow Untergruppen und eine spezielle

Mehr

Digitale Signaturen. Einführung und das Schnorr Signatur Schema. 1 Digitale Signaturen Einführung & das Schnorr Signatur Schema.

Digitale Signaturen. Einführung und das Schnorr Signatur Schema. 1 Digitale Signaturen Einführung & das Schnorr Signatur Schema. Digitale Signaturen Einführung und das Schnorr Signatur Schema 1 Übersicht 1. Prinzip der digitalen Signatur 2. Grundlagen Hash Funktionen Diskreter Logarithmus 3. ElGamal Signatur Schema 4. Schnorr Signatur

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 10.5.17 Sascha Witt sascha.witt@kit.edu (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Listen Skip List Hotlist Amortisierte

Mehr

Probabilistische Pfadsuche

Probabilistische Pfadsuche Probabilistische Pfadsuche Frage: Existiert ein Pfad in G von s nach t? Deterministisch mit Breitensuche lösbar in Zeit O( V + E ). Erfordert allerdings auch Speicher Ω( V ). Algorithmus PATH EINGABE:

Mehr

Eine universelle Klasse von Hash-Funktionen

Eine universelle Klasse von Hash-Funktionen Eine universelle Klasse von Hash-Funktionen Annahmen: U = p, mit Primzahl p und U = {0,, p-1} Seien a {1,, p-1} und b {0,, p-1} Definiere wie folgt Satz: Die Menge ist eine universelle Klasse von Hash-Funktionen..

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

Kap. 3: Sortieren (3)

Kap. 3: Sortieren (3) Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort

Mehr

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

Mehr

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994). Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

Mehr

Blockchain. Eine Einführung in Funktionsweise und Nutzen

Blockchain. Eine Einführung in Funktionsweise und Nutzen Blockchain Eine Einführung in Funktionsweise und Nutzen Martin Kreidenweis, TNG Technology Consulting 2018-07-06 Tag der Informatiklehrerinnen und -lehrer Was ist Bitcoin? Was ist Bitcoin Abstract. A

Mehr

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n) RSA Parameter { öffentlich: N = pq mit p, q prim und e Z RSA Parameter φ(n) geheim: d Z φ(n) mit ed = 1 mod φ(n). Satz RSA Parameter Generierung RSA-Parameter (N, e, d) können in Zeit O(log 4 N) generiert

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

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 19 (27.6.2018) Dynamische Programmierung III Algorithmen und Komplexität Dynamische Programmierung DP Rekursion + Memoization Memoize:

Mehr

Seminar Kolmogorovkomplexität. Universität Potsdam Wintersemester 2009/10

Seminar Kolmogorovkomplexität. Universität Potsdam Wintersemester 2009/10 Universität Potsdam Wintersemester 2009/10 Kolmogorovkomplexität Kolmogorovkomplexität (auch Algorithmische Komplexität ) ist der zentrale Begriff der Algorithmischen Informationstheorie (AIT). Kombiniert

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

On the List Update Problem

On the List Update Problem DISS. ETH No. 14529, 2002 On the List Update Problem A dissertation submitted to the Swiss Federal Institute of Technology, ETH Zürich for the degree of Doctor of Technical Sciences presented by Christoph

Mehr

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt?

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt? Informatik I 14.02.2014 28. Ausblick Informatik I 28. Ausblick Bernhard Nebel Albert-Ludwigs-Universität Freiburg 28.1 28.2 28.3 Was geht nicht? 14.02.2014 Bernhard Nebel (Universität Freiburg) Informatik

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Effiziente Algorithmen (SS2015)

Effiziente Algorithmen (SS2015) Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik 2.06.205 07:59 5 Inhaltsverzeichnis < > Walter Unger 5.7.205 :3 SS205 Z Inhalt I Set Cover Einleitung Approximation

Mehr

Stichpunktezettel fürs Tutorium

Stichpunktezettel fürs Tutorium Stichpunktezettel fürs Tutorium Moritz und Dorian 18. November 2009 1 Chomskys Erstschlag 1.1 Reguläre Sprachen und Grammatiken Aufgabe 1. Wie sieht die Sprache zu den folgenden Grammatiken aus? 1. G =

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

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

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv

Mehr

Stichpunktezettel fürs Tutorium

Stichpunktezettel fürs Tutorium Stichpunktezettel fürs Tutorium Moritz und Dorian 11. November 009 1 Kleiner Fermat Behauptung. Seien a, b N relativ prim und b eine Primzahl. Dann ist a b 1 = 1. Beweis. Wir definieren die Funktion f

Mehr