数字限制了数字计算机建模的精确程度!那该怎么办呢?

在发表在《Advanced Theory and Simulations》上的研究表明,数字计算机不能可靠地再现广泛存在的“混沌系统”行为。这一基本限制可能会对高性能计算(HPC)和机器学习在高性能计算中的应用产生影响。UCL计算科学中心主任Peter Coveney教授和研究合著者说:我们的研究表明,混沌动系统的行为比任何数字计算机能捕捉到的更丰富。混沌比许多人可能意识到的更为常见,即使对于非常简单的混沌系统,数字计算机使用的数字也可能导致不明显但有很大影响的错误。

归根结底,计算机不能模拟一切。该小组研究了使用浮点算术的影响:一种由IEEE标准化的方法,自20世纪50年代以来一直用于在数字计算机上近似实数。数字计算机只使用有理数,即可以表示为分数的有理数。此外,这些分数的分母必须是2的幂,如2,4,8,16等,有无限多的实数不能用这种方式表达。在目前的研究中,科学家们使用了所有40亿个单精度浮点数,范围从正无穷大到负无穷大,数字分布不均匀的事实也可能导致一些不准确。

第一作者Bruce Boghosian教授(塔夫茨大学)说:数字计算机使用的40亿个单精度浮点数分布不均,因此0.125到0.25之间的数字和0.25和0.5之间的数字一样多,也就是0.5和1.0之间的数字一样多。令人惊讶的是,能够像他们一样模拟现实世界的混乱事件。但即便如此,研究人员现在也意识到,这种简化并不能准确地代表混沌动力系统的复杂性,这是在当前和未来所有数字计算机上进行此类模拟的一个问题。这项研究基于麻省理工学院的爱德华·洛伦茨(Edward Lorenz)的工作,他在20世纪60年代使用一个简单计算机模型进行天气模拟。

结果显示,输入他计算机数字中的微小舍入误差导致了截然不同的预测,这就是现在被称为“蝴蝶效应”的预测。研究小组比较了一个简单单参数混沌系统的已知数学现实,称为“广义伯努利映射”,与数字计算机在使用每个可用单精度浮点数情况下所预测的结果进行了比较。发现,对于某些参数值,计算机的预测是完全错误的,而对于其他选择,计算可能看起来是正确的,但偏差高达15%。即使使用双精度浮点数,这些病态结果也会持续存在,因为可以利用的浮点数要多得多。

研究使用广义的伯努利地图作为许多其他系统的数学表示,这些系统随着时间的推移而混乱地变化,例如那些在物理、生物和化学中看到的系统。例如,这些技术正被用于预测气候变化、化学反应和核反应堆中的重要情景,因此,现在必须仔细审查基于计算机的模拟。该团队表示,其发现对人工智能领域有影响:当机器学习被应用于从混沌动力系统的计算机模拟中获得数据时,以及对那些试图对各种自然过程进行建模的人来说。需要进行更多的研究,以检查浮点运算的使用在日常计算科学和建模中造成问题的程度,以及如果发现错误,如何纠正它们。


博科园|研究/来自:伦敦大学学院

参考期刊《Advanced Theory and Simulations》

DOI: 10.1002/adts.201900125

博科园|科学、科技、科研、科普

关注【博科园】看更多大美宇宙科学哦