数字限制了数字计算机建模混乱的精确程度
今天发表在《高级理论与仿真》上的这项研究表明,数字计算机不能可靠地再现普遍存在的“混沌系统”的行为。此基本限制可能会对高性能计算(HPC)和将机器学习应用于HPC产生影响。
UCL计算科学中心主任,研究合著者Peter Coveney教授说:“我们的工作表明,混沌动力学系统的行为比任何数字计算机都可以捕获的丰富。混沌比许多人可能意识到的更为普遍。即使对于非常简单的混沌系统,数字计算机使用的数字也会导致不明显的错误,但会产生很大的影响。最终,计算机无法模拟所有内容。”
该团队研究了使用浮点算术(IEEE标准化的一种方法)的影响,该方法自1950年代以来一直用于在数字计算机上近似实数。
数字计算机仅使用有理数,可以将其表示为分数。此外,这些分数的分母必须为2的幂,例如2、4、8、16等。存在无限多的实数,无法以这种方式表示。
在当前的工作中,科学家使用了这些四十亿个单精度浮点数,其范围从正无穷到负无穷。数字不均匀分布的事实也可能导致某些误差。
第一作者布鲁斯·波高斯安教授(塔夫茨大学(Tufts University))说:“数字计算机使用的40亿个单精度浮点数分布不均,因此,此类数字介于0.125和0.25之间,而数量介于0.25和0.25之间。 0.5,介于0.5和1.0之间,它们能够模拟现实世界中的混沌事件以及它们的模拟,真是令人惊讶,但即使如此,我们现在也意识到这种简化并不能准确地代表混沌动力学的复杂性系统,这对于在当前和将来的所有数字计算机上进行这样的仿真都是一个问题。”
这项研究基于麻省理工学院的爱德华·洛伦兹(Edward Lorenz)的工作,他在1960年代使用简单的计算机模型对天气进行了模拟,结果表明,送入他的计算机的数字很小的舍入误差会导致完全不同的预测,这就是现在所说的“蝴蝶效应”。 。
该团队将称为“广义伯努利图”的简单单参数混沌系统的已知数学现实与数字计算机将预测是否使用了每个可用的单精度浮点数进行了比较。
他们发现,对于某些参数值,计算机的预测是完全错误的,而对于其他选择,计算可能看起来是正确的,但偏差最多为15%。
这组作者说,即使使用了双精度浮点数,这些病理结果也将持续存在,其中还有很多可以借鉴的浮点数。
Coveney教授解释说:“我们使用广义的伯努利图作为许多其他随时间而混乱变化的系统的数学表示,例如跨越物理,生物学和化学领域看到的那些。” “例如,这些被用于预测气候变化,化学反应和核反应堆中的重要情况,因此现在必须仔细检查基于计算机的模拟。”
该团队说,他们的发现对人工智能领域具有重要意义,将机器学习应用于从混沌动力学系统的计算机仿真中得出的数据时,以及试图对各种自然过程进行建模的人中,都可以发现这些发现。
需要更多的研究来检查使用浮点算术在日常计算科学和建模中引起问题的程度,如果发现错误,如何纠正它们。
Bruce Boghosian教授和Wanghongyan博士在美国马萨诸塞州梅德福的塔夫茨大学就读(Wang博士现在在西雅图的Facebook工作)。UCL的Peter Coveney教授明天将在科学馆举行的有关量子计算未来的活动中发言。