INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...
INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...
INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2.3. Monitore 43Theorem 2.36 Es seien ε>0 und k = ⌈ 1 ε⌉. Der Algorithmus BasicCounting gibt zujedem Zeitpunkt ab N für einen Bitstream eine bis auf den Faktor 1 ± ε genaue Schätzungder Anzahl der Einsen unter den N zuletzt gesehenen Bitstream-Elementen an und kannmit1. höchstens (k +1)· (log ( Nk +1) +1 ) Histogrammklassen,2. höchstens log N +loglogN Bits pro Histogrammklasse und3. O(1) amortisierter Verarbeitungszeit pro Bitstream-Elementimplementiert werden. Damit ergibt sich ein Speicherplatzbedarf von( ) 1Oε · log2 N .Beweis: Die Korrektheit des Algorithmus folgt aus Proposition 2.35(4) und 2.35(5). DieAnzahl der Histogrammklassen ergibt sich aus Proposition 2.35(2) und 2.35(3). Pro Histogrammklassewerden log N Bits für die Zeitmarke sowie log log N Bits für die unterschiedlichenGrößen (beachte: Größen sind immer Zweierpotenzen) benötigt. Die amortisierteZeitkomplexität überträgt sich von der amortisierten Analyse beim Binärzähler.Wir betrachten nun folgendes Summenproblem: Für einen R-Stream s (d.h. ein Worts ∈{0, 1,...,R} ∞ ) gebe zu jedem Zeitpunkt i ≥ N eine (1 ± ε)-Schätzung für die Summeder letzten N Elemente an (d.h. für ∑ ij=i+1−N s i). Für R = 1 entspricht dies gerade demelementaren Zählproblem.Als Idee für die Behandlung dieses Problemes bietet sich folgende Reduzierung an: Ersetzeein Element s i ∈{1,...,R} durch s i Einsen und wende BasicCounting auf den resultierendenBitstream an.Korollar 2.37 Es sei ε>0. Weiterhin seien R ≥ 1 und N ≥ 1 gegeben mit R = O(2 N ).Dann gibt es einen Algorithmus, der das Summenproblem für R-Streams mit( )1Oε · (log εN +logR) · log NSpeicherplatz löst.Beweis: Ein Fenster der Größe N für R-Streams entspricht einem Fenster der GrößeR·N für die Repräsentierung von s durch einen Bitstream s ′ . Nach Theorem 2.36 benötigtBasicCounting dafür (mit k = ⌈ 1 ε ⌉)• (k +1)· (log ( R·Nk+1 ) +1 ) Histogrammklassen und• log N +loglogR · N Bits pro Klasse.Version 0.6 Fassung vom 16. Februar 2007