大数据技术和人类探索复杂性的努力有密切关系。20世纪70年代,新三论(耗散结构论、协同论、突变论)的兴起对几百年来贯穿科学技术研究的还原论发起了挑战。1984年盖尔曼等3位诺贝尔奖得主成立以研究复杂性为主的圣菲研究所,提出超越还原论的口号,在科技界掀起了一场复杂性科学运动。虽然雷声很大,但30年来并未取得预期的效果,其原因之一可能是当时还没有出现解决复杂性的技术。
集成电路、计算机与通信技术的发展大大增强了人类研究和处理复杂问题的能力。大数据技术将复杂性科学的新思想发扬光大,可能使复杂性科学得以落地。复杂性科学是大数据技术的科学基础,大数据方法可以看作复杂性科学的技术实现。大数据方法为还原论与整体论的辩证统一提供了技术实现途径。大数据研究要从复杂性研究中吸取营养,从事数据科学研究的学者不但要了解20世纪的“新三论”,可能还要学习与超循环、混沌、分形和元胞自动机等理论有关的知识,扩大自己的视野,加深对大数据机理的理解。
大数据技术还不成熟,面对海量、异构、动态变化的数据,传统的数据处理和分析技术难以应对,现有的数据处理系统实现大数据应用的效率较低,成本和能耗较大,而且难以扩展。这些挑战大多来自数据本身的复杂性、计算的复杂性和信息系统的复杂性。
4.1 数据复杂性引起的挑战
图文检索、主题发现、语义分析、情感分析等数据分析工作十分困难,其原因是大数据涉及复杂的类型、复杂的结构和复杂的模式,数据本身具有很高的复杂性。目前,人们对大数据背后的物理意义缺乏理解,对数据之间的关联规律认识不足,对大数据的复杂性和计算复杂性的内在联系也缺乏深刻理解,领域知识的缺乏制约了人们对大数据模型的发现和高效计算方法的设计。形式化或定量化地描述大数据复杂性的本质特征及度量指标,需要深入研究数据复杂性的内在机理。人脑的复杂性主要体现在千万亿级的树突和轴突的链接,大数据的复杂性主要也体现在数据之间的相互关联。理解数据之间关联的奥秘可能是揭示微观到宏观“涌现”规律的突破口。大数据复杂性规律的研究有助于理解大数据复杂模式的本质特征和生成机理,从而简化大数据的表征,获取更好的知识抽象。为此,需要建立多模态关联关系下的数据分布理论和模型,理清数据复杂度和计算复杂度之间的内在联系,奠定大数据计算的理论基础。
4.2 计算复杂性引起的挑战
大数据计算不能像处理小样本数据集那样做全局数据的统计分析和迭代计算,在分析大数据时,需要重新审视和研究它的可计算性、计算复杂性和求解算法。大数据样本量巨大,内在关联密切而复杂,价值密度分布极不均衡,这些特征对建立大数据计算范式提出了挑战。对于PB级的数据,即使只有线性复杂性的计算也难以实现,而且,由于数据分布的稀疏性,可能做了许多无效计算。
传统的计算复杂度是指某个问题求解时需要的时间空间与问题规模的函数关系,所谓具有多项式复杂性的算法是指当问题的规模增大时,计算时间和空间的增长速度在可容忍的范围内。传统科学计算关注的重点是,针对给定规模的问题,如何“算得快”。而在大数据应用中,尤其是流式计算中,往往对数据处理和分析的时间、空间有明确限制,比如网络服务如果回应时间超过几秒甚至几毫秒,就会丢失许多用户。大数据应用本质上是在给定的时间、空间限制下,如何“算得多”。从“算得快”到“算得多”,考虑计算复杂性的思维逻辑有很大的转变。所谓“算得多”并不是计算的数据量越大越好,需要探索从足够多的数据,到刚刚好的数据,再到有价值的数据的按需约简方法。
基于大数据求解困难问题的一条思路是放弃通用解,针对特殊的限制条件求具体问题的解。人类的认知问题一般都是NP难问题,但只要数据充分多,在限制条件下可以找到十分满意的解,近几年自动驾驶汽车取得重大进展就是很好的案例。为了降低计算量,需要研究基于自举和采样的局部计算和近似方法,提出不依赖于全量数据的新型算法理论,研究适应大数据的非确定性算法等理论。
4.3 系统复杂性引起的挑战
大数据对计算机系统的运行效率和能耗提出了苛刻要求,大数据处理系统的效能评价与优化问题具有挑战性,不但要求理清大数据的计算复杂性与系统效率、能耗间的关系,还要综合度量系统的吞吐率、并行处理能力、作业计算精度、作业单位能耗等多种效能因素。针对大数据的价值稀疏性和访问弱局部性的特点,需要研究大数据的分布式存储和处理架构。