Download presentation
Presentation is loading. Please wait.
Published byTierra Roff Modified over 10 years ago
1
Ariel Rosenfeld 1
2
2 1 0 1 1 1 0 1 0 0 1 1 Network Traffic Engineering. Call Record Analysis. Sensor Data Analysis. Medical, Financial Monitoring. Etc, etc, etc.
3
3 ….1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1… Time Increases Current Time Window Size = N
4
Count the number of ones in N size window. Exact Solution: Θ(N) memory. Approximate Solution: ? ◦ Good approx with o(N) memory? 4
5
Exponential Histogram (EH): ◦ 1 + ε approximation. (k = 1/ε) ◦ Space: O(1/ε(log 2 N)) bits. ◦ Time: O(log N) worst case, O(1) amortized. 5
6
6
7
7 Bucket sizes = 4,2,2,2,1.Bucket sizes = 4,4,2,1.Bucket sizes = 4,2,2,1,1,1.Bucket sizes = 4,2,2,1,1.Bucket sizes = 4,2,2,1. ….1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 1… k/2 = 1. Element arrived this step. Future
8
Error in last (leftmost) bucket. Bucket Sizes (left to right): C m,C m-1, …,C 2,C 1 Absolute Error <= C m /2. Answer >= C m-1 +…+C 2 +C 1 +1. Error <= C m /2(C m-1 +…+C 2 +C 1 +1). Maintain: C m /2(C m-1 +…+C 2 +C 1 +1) <= 1/k. 8
9
Every Bucket will become last bucket in future. New elements may be all zeros. Bucket Sizes (left to right): C m,C m-1, …,C 2,C 1 For every bucket i, ◦ C i /2(C i-1 +…+C 2 +C 1 +1) <= 1/k. 9
10
Maintain C i /2(C i-1 +…+C 2 +C 1 +1) <= 1/k. Exponentially increasing bucket sizes from right to left. At least k/2 buckets (at most k/2 +1)of each size(1,2,4,8,…,2 i,...). 10
11
Error Guarantee: ◦ Error <= C m /2(C m-1 +…+C 2 +C 1 ) <= 1/k. Number of buckets: O(k log N). Buckets require O(log N) bits. Total memory: O(k log 2 N) bits. 11
12
If exact size of bucket is not “a must”. Number of buckets: O(k log N). Buckets require O(loglog N) bits. Total memory: O(k logN loglogN) bits. 12
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.