大数据算法学习笔记(2):大数据算法

大数据上问题求解问题的过程:

1、可计算否?(图灵机模型)

2、能行可计算否?(利用现有的资源在时间约束内完成)

3、算法设计与分析

4、用计算机语言实现算法。

5、构建一个面向大数据的软件系统


大数据算法:

定义:在给定的资源约束下,以大数据为输入,在给定时间约束内可以生成满足给定约束结果的算法。

与传统算法区别:可以不是精确算法、内存算法、串行算法、仅在电子计算机上运行(有人参与)

不仅是云计算、MapReduce、大数据分析与挖掘的算法。


大数据的特点与大数据算法:

数据量大:缩减数据量、设计合理的存储结构;速度:降低时间复杂度。

难度:
1、访问全部数据时间过长:读取部分数据  (时间亚线性算法)
2、数据难于放入内存计算:将数据存储到磁盘上、仅基于少量数据进行计算。(外存算法、空间亚线性算法)
3、单个计算机难以保存全部数据,但是计算需要整体数据:并行处理(并行算法)
4、计算机计算能力不足或知识不足:人来帮忙(众包算法)



大数据的算法设计技术:


1、精确算法设计方法:DP、贪心……
2、并行算法
3、近似算法
4、随机算法
5、在线算法/数据流算法
6、外存算法
7、面向新型体系结构的算法
8、现代优化算法:模拟退火、蚁群、遗传等


大数据的算法分析

1、时间空间复杂度
2、I/O复杂度
3、结果质量(近似比、competitive ratio)
4、通讯复杂性

你可能感兴趣的:(大数据算法学习笔记(2):大数据算法)