亚线性算法例析

  • 3.1 数据流中频繁元素(空间亚线性)
    • Misra Gries(MG)算法
  • 3.2 最小生成树

3.1 数据流中频繁元素(空间亚线性)

大数据的数据流模型

  • 数据只能顺序扫描1次或几次
  • 能够使用的内存是有限的
  • 希望通过维护一个内存结果(数据概要)来给出相关性质的一个有效估计
    维护中间结果
  • 数据流模型适用于大数据
    顺序扫描数据仅一次(时间保障)
    内存亚线性(空间保障)
  • 来自某个域中的元素序列
    <x1, x2, x3, x4, … >
  • 有限的内存:
    内存<< 数据的规模
    通常 O(logkn) 或 O(nα) for α<1
  • 快速处理每个元素

从数据流中计算什么?

  • 容易计算的函数: min, max, sum, …
    使用单个寄存器 s, 直接更新
  • 频繁元素:元素出现多次,希望找到出现最频繁的元素

Zipf原则: 典型的频率分布是高度偏斜的,只有少数频繁元素.
最多10%的元素占元素总个数的 90%.

Misra Gries(MG)算法

处理元素x
If 已经为x分配计数器,增加之
Else If 没有相应计数器,但计数器个数少于k,为x分配计数器,并设为1.
Else, 所有计数器减1.删除值为0的计数器.

一个计数器x 减少了几次?
⟺ 我们有几个减少计数器的步骤?
 整个结构的权重(计数器的和)记作m′
 整个数据流的权重(全部元素的数量)是m
 每一个计数器降低的步骤减少k个计数,但是并未计入输入元素的此次出现,即k+1 次未计入的元素出现.
⇒ 最多有m−m′k+1\frac{m−m^′}{k+1}k+1m−m′​ 个减少步骤
⇒ 估计值和真实值相差最多 m−m′k+1\frac{m−m^′}{k+1}k+1m−m′​

错误的界限和k成反比
利用概要计算错误的界限:记录m,计算m’和 k.
该算法有效的原因:“Zipf原则”

3.2 最小生成树

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

精确解:
贪心法(Prime算法,Kruskal算法)
时间复杂性:O(mlogn)超过线性

亚线性算法的假设
图组织成邻接表的形式(可以直接访问每个结点的邻居)
可以随机均匀地选择结点

时间亚线性算法的思想
利用特定子图联通分量的数量估计最小生成树的权重
假设所有边的权重都是1或者2,最小生成树的权重
=#N1+#N2 (#Ni: 最小生成树中权重至少为i的边的数量)
=n-1+#N2 (最小生成树有n-1条边)
=n-1+权重为1边构成的导出子图的联通分量数-1

视频讲义
(我实在是学不清楚了TAT)

大数据算法 chap-3 亚线性算法例析相关推荐

  1. 大数据算法(课后答案总汇)

    第一讲 大数据算法概述 大数据算法概述 第一讲作业 第二讲 亚线性算法 亚线性算法概述 亚线性算法概述单元测验 第三讲 亚线性算法例析 亚线性算法例析 第三讲作业 第四讲 外存算法概述 外存算法概述 ...

  2. 大数据算法 chap-2 亚线性算法

    亚线性算法 2.1 亚线性算法的定义 2.2 水库抽样-空间亚线性算法 2.3 平面图直径-时间亚线性计算算法 2.4 全0数组判定-时间亚线性判定算法 2.1 亚线性算法的定义 亚线性:比线性消耗更 ...

  3. 大数据算法概述及算法分解之亚线性算法

    一.大数据算法的难度 1.访问全部数据时间过长 --读取部分数据---------------时间亚线性算法 2.数据难于放入内存计算 --将数据存储在磁盘上--------外存算法 --仅基于少量数 ...

  4. 《大数据算法》一1.2 大数据算法

    本节书摘来华章计算机<大数据算法>一书中的第1章 ,第1.2节,王宏志 编著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.2 大数据算法 这一节我们概 ...

  5. 大数据算法—大数据算法概述

    大数据--当下人人津津乐道的话题.然而对于大数据的公认定义以及完美体系还没有完全诞生,但大街小巷已遍布云计算.大数据,这些领域的经典案例更是层出不穷.由于认知的有限,就不继续发表拙见了.只是因为很喜欢 ...

  6. 大数据算法 chap-1 概述

    概述 1.1 大数据的定义与特点 1.2 大数据算法 1.3 大数据算法设计与分析 1.1 大数据的定义与特点 大数据的应用 预测,推荐,商业情报分析,科学研究 1.2 大数据算法 问题是否是计算机可 ...

  7. 漫画趣解大数据算法建模:买瓜

    大数据开发如何转型算法? 算法建模主要做什么?调参为什么玄学? 如何通俗理解算法建模过程.. 夕阳下的村东头,有一人来买瓜. 1 引子(买瓜) 忙碌的一天刚刚结束,村里的小张就匆匆的骑上车,准备买个西 ...

  8. java代码验证大数据算法在竞猜足球预测分析中准确率

    最近闲来无事,出于对足球的热爱,又痴迷于大数据技术,用java建了百来种算法模型,写了一个小软件,用来分析预测竞猜足球的胜平负.或许很多朋友都有疑问,竞猜足球到底怎么分析才能预测准确?竞猜足球盘口有什 ...

  9. 菜鸟裹裹之大数据算法颠覆快递不是梦

    文章讲的是菜鸟裹裹之大数据算法颠覆快递不是梦,快递小哥月收入能否过万在坊间屡屡引发热议,而据北京交通大学发布的报告显示,绝大部分快递员月薪仅在2000-4000元之间,超过6000元就属高收入. 如今 ...

最新文章

  1. bzoj - 2038: [2009国家集训队]小Z的袜子(hose)
  2. 动态参数与global和nonlocal
  3. mysql workbench中文设置_使用Workbench完成流体压力渗透分析
  4. Android无线调试——抛开USB数据线
  5. 免费SSL申请:(各大服务商资源综合)- 免费获取
  6. c语言用户自己建立数据类型,C语言程序设计学习笔记--用户建立数据类型
  7. 华为云UGO正式公测:4大核心优势破解异构数据库迁移难题
  8. css的white-space属性导致了空格问题——查看十六进制发现2020变成了c2a0
  9. centos7安装lnmp
  10. 数学建模【开会总结】
  11. Origin拟合Gompertz模型描述产甲烷过程
  12. FlinkSql系列5之 Regular Join
  13. 关闭Windows系统的应用程序或窗口的快捷键有哪些?
  14. Antv X6 画布平移
  15. 服务端发现2t3ik.p进程占CPU过高。2t3ik ddgs.3011
  16. 欧盟 GDPR 通用数据保护条例正式生效后,各行业影响分析
  17. 爬虫实战——爬取杭电就业信息网招聘信息
  18. 朗强:画面分割器投影拼接设备与原理
  19. 对称加密之流密码RC4
  20. MATLAB轨迹规划 发给ROS中机器人实现仿真运动

热门文章

  1. 启用Kerberos后,Windows上浏览器访问CDH页面的那些事
  2. ICANN正式批准成人内容专用域名.xxx
  3. Android使用Palette提取主色调
  4. 给当代大学毕业生的十条建议
  5. mysql知识系列: Your password does not satisfy the current policy requirements
  6. mysql查询多个平均值_MySQL查询连续计算平均值?
  7. 苏宁易购正在快速回归稳健发展轨道
  8. 【Docker】docker容器内获取宿主机的信息和执行宿主机的脚本
  9. ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based pro
  10. Docker基本命令使用——(1)