An Improved Data Stream Summary: The Count-Min Sketch and its Applications阅读笔记

: 在本文中, 我将暂时将sketch翻译成为梗概

我们首先定义两个参数\varepsilon\delta, 则梗概的准确性保证可定义为, 我们向这个梗概发起一个查询, 查询结果小于因子\varepsilon的概率大于\delta.

Frequency Moment: F_k(t) = \sum(a_i(t))^k

数据流型(stream)的定义如下: 假设有一个向量\mathbf{a}(t)=[a_1(t), a_2(t), \cdots, a_n(t)], 且\mathbf{a}(0) = \mathbf{0}=[0, 0, \cdots, 0], 当一个更新项(i_t, c_t)于时间t到达的时候, 则有:

a_{i_t}(t) = a_{i_t}(t - 1) + c_t

a_{i'}(t) = a_{i' - 1}(t - 1), \text{if}~i' \neq i

如果c_t是必须为正, 则该数据流是现金注册型 (cash register case); 否则, 如果c_t可以为负值, 则该数据流为栅门型 (turnstile case). 在栅门型中, 如果a_i的值可以为负, 则我们将它称为一般栅门型 (general case), 如果应用层保证a_i的值不可为负, 则我们将它称为非负栅门型 (non-negative case). 数据流型的定义又可以表述为, 我们可能有无数个更新项(i_t, c_t), 但是i_t的值只能为1, 2, \cdots, n. 所以, 这些更新项可以归类为n组. 我们令a_i = \sum_{i_t = i} c_t, 即a_i是所有对应于i的更新项中c_t的和.

 

基于向量\mathbf{a}\mathbf{b}, 可以有以下三种类型的查询:

- 点查询 (point query) \mathcal{Q}(i): 返回a_i的值

- 范围查询(range query) \mathcal{Q}(l, r): 返回\sum_{i=l}^r a_i

- 内积查询(inner product query) \mathcal{Q}(\mathbf{a}, \mathbf{b}): 返回\sum_{i=1}^n a_i\cdot b_i

我们定义||\mathbf{a}||_p如下:

||\mathbf{a}||_p = (\sum_{i = 1}^n|a_i(t)|^p)^{1/p}. 特别地,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值