大数据算法-第三讲-亚线性算法例析.pptx

大数据算法-第三讲-亚线性算法例析.pptx

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

大数据算法

第三讲亚线性算法例析

哈尔滨工业大学

王宏志

wangzh@hit.edu.cn

哈霸演工素大学海量数据计算研究中心

MassiveDataComputingLab@HIT

本讲内容

3.1数据流中频繁元素

3.2最小生成树

3.3序列有序的判定

■数据只能顺序扫描1次或几次

■能够使用的内存是有限的

·希望通过维护一个内存结果(

概要)来给出相关性质的一个有效估计

■数据流模型适用于大数据

■顺序扫描数据仅一次·内存亚线性

大数据的数据流模型

数据流模型

■来自某个域中的元素序列

x₁,x₂,x₃,X4,……

■有限的内存:

内存数据的规模

通常0(log^n)或0(n“)forα1

■快速处理每个元素

从数据流中计算什么?

32,112,14,9,37,83,115,2,

容易计算的函数:min,max,sum,…

使用单个寄存器s,直接更新:

·max:初始化s-0

对于元素x,s←max{s,x}

·sum:初始化s-0

对于元素x,s←s+x

“概要”是单个值

是可合并的

频繁元素

32,12,14,32,7,12,32,7,6,12,4,

■元素出现多次,希望找到出现最频繁的元素

■n:不同元素的数量

■m:数据流中元素个数

Zipf原则:典型的频率分布是高度偏斜的

频繁元素.

最多10%的元素占元素总个数的90%.

我们发现出现次数最多的元素R?

,只有少数

应用:

■网络:找到“elephantflow”

■搜索:找到频繁查询

频繁元素

32,12,14,32,7,12,32,7,6,

12,4,

频繁元素:精确解

32,12,14,32,7,12,32,7,6,12,4,

精确解:

■对每一个单独元素设置一个计数器

■当处理一个元素时,增加相应计数器

321214764

问题:需要维护n个计数器

但只能有kn个计数器

频繁元素计算算法

MisraGries(MG)算法

32,12,14,32,7,12,32,7,6,12,4,

处理元素x

■If已经为x分配计数器,增加之

■ElseIf没有相应计数器,但计数器个数少于k,为x分配计数器,并设为1.

■Else,所有计数器减1.删除值为0的计数器.

n=6

k=3

m=11

入以

14

X

g

12

32

2

频繁元素算法

32,12,14,32,7,12,32,7,6,12,4,

处理元素x

■If已经为x分配计数器,增加之

■ElseIf没有相应计数器,但计数器个数少于k,为x分配计数器,并设为1.

■Else,所有计数器减1.删除值为0的计数器.

x出现几次?

■If我们有一个x的计数器,返回其值

■Else,返回0.

该估计显然过低

如何精确估计?

分析

一个计数器x减少了几次?

⇔我们有几个减少计数器的步骤?

■整个结构的权重(计数器的和)记作m

■整个数据流的权重(全部元素的数量)是m

■每一个计数器降低的步骤减少k个计数,但是并未计入输入元素的此次出现,即k+1次未计入的元素出现.

→最多个减少步骤

→估计值和真实值相差最多

■错误的界限和k成反比

■利用概要计算错误的界限:记录m,计算m和

k.

■该算法有效的原因:“Zipf原则”

分析

估计值与真实值相差最多

→当数据流中元素的总数:

估计

,得到x的一个好的

本讲内容

3.1数据流中频繁元素

3.2最小生成树

3.3序列有序的判定

问题的定义

·输入:无向有权联通图G=(V,E),其顶点的度最大为D,边上的权来自整数集合{1,…,W}

·输出:图G的最小生成树的权重

5

精确解

·贪心法

-Prime算法

-Kruskal算法

·时间复杂性:O(mlogn)

·超过线性

亚线性算法的假设

·图组织成邻接表的形式

一可以直接访问每个结点的邻居

·可以随机均匀地选择结点

时间亚线性算法的思想

·利用特定子图联通分量的数量估计最小生成树的权重

·假设所有边的权重都是1或者2,最小生成

树的权重

=#N₁+#N₂(#N;最小生成树中权重至少为i的边的

数量)

=n-1+#N₂(最小生成树有n-1条边)

=n-1+权重为1边构成的导出子图的联通分量数-1

最小生成树和连通分量的关系

·一般的情况

-G:G中包含所有权重小于i的边的子图

-C:G;中的连通分量数

-最小生

您可能关注的文档

文档评论(0)

人生风雪客 + 关注
实名认证
内容提供者

如果有遇到文件不清或断篇的或者需要转换文件格式的情况请联系我,会在第一时间帮你完成完整的文档。文档如有侵权,请及时告知,本人将尽快予以删除,谢谢啦。

1亿VIP精品文档

相关文档