计数近似中的相变:保守更新的Count - Min Sketch分析
1. 引言
Count - Min sketch是一种基于哈希的数据结构,用于近似表示动态变化的计数器关联数组。它将一组键映射到计数器数组,支持对键的计数查询。在数据流场景中,计数器会随着键的出现动态更新。
相关的数据结构还包括Spectral Bloom过滤器和Counting Bloom过滤器。Count - Min sketch要求哈希函数的值域不相交,而Spectral Bloom过滤器的哈希函数映射到同一个数组。本文主要讨论Spectral Bloom过滤器版本,但使用更常见的Count - Min sketch术语。
当更新值为负时,Count - Min sketch需满足严格的非负计数器条件(严格旋转门模型)。而在正更新的情况下,可采用保守更新策略,该策略能减少查询误差。正更新在实际应用中很常见,如网络流量监测和生物信息学中的序列计数。
虽然保守更新的误差小于普通Count - Min,但精确界定误差是一个挑战。普通Count - Min能以高概率保证加法误差被界定,但在实际应用中,由于输入流长度可能很大,该界的实用性有限。因此,分析保守更新策略相对于原始Count - Min sketch的改进具有重要的实际意义。
2. Count - Min与保守更新
- Count - Min工作原理 :Count - Min sketch是一个大小为n的计数器数组A,初始值为0,同时有k个哈希函数h1, …, hk将键映射到[1..n]。处理键p时,每个计数器A[hi(p)](1 ≤ i ≤
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



