科学依赖于计算机建模 - 所以当它出错时会发生什么?

从青霉素的发现到相对论和量子力学的理论转变,甚至在计算机出现之前,科学的发展速度令人难以置信。 其中大部分是科学方法的稳健性:科学结果通过被其他科学家复制和扩展来验证。

但是我们做科学的方式正在发生变化 - 我们现在越来越依赖复杂的计算机模型来理解自然。 事实证明,这些模型几乎不可能重现,这意味着科学的一个重要试金石正在受到挑战。 那么这个变化的真实影响是什么,我们可以做些什么呢?

前现代科学 - 被称为“自然哲学” - 是经验主义的。 经验科学使用过去的观察来预测未来,然后可以进行测试。 第谷·布拉赫,一个16th世纪的丹麦天文学家,设法用这种方法对天堂进行精确和全面的观测。

然而,现代科学是理论性的。 理论科学也做出预测,但它是从数学模型而不是从以前的观察中推导出来的。 想想艾萨克牛顿的运动定律,比如 引力的平方反比定律.

例如,有一个方程描述太阳周围的地球轨道。 这个公式可以用来建立一个计算机模型,你可以在其中插入某些变量,看看解决方案是如何改变的。 你可以插入一个未来的日期,并在当天读出地球的位置。 您也可以使用相同的程序来模拟其他行星系统 - 它们都基于相同的数学。 所有你需要做的就是插入不同的群众和涉及到的各种其他属性。


内在自我订阅图形


这样的数学公式在可用的时候是很好的 - 但是通常它们不是。 例如,我们知道没有简单的方程来解决所谓的“三体问题“它描述了三个绕着轨道运行并通过引力相互影响的物体,如月球,地球和太阳。

目前很多科学涉及更复杂的系统,同样缺乏确切的解决方案。 这些模型必须是“计算的” - 描述一个系统如何从一个瞬间变化到下一个。 但是,除了通过这种方式来“模拟”它的演变以外,没有办法在将来某个时候确定确切的状态。 天气预报是一个熟悉的例子; 直到1950s中出现电脑,不可能比实际发生的事情更快地预测未来的天气。

当前的科学通常包括设计描述复杂系统的数学模型,然后将其转化为计算模拟,并运行模拟以进行预测以验证模型。

建模失败时

建模用于各个科学领域 - 从天体物理学到物理学 气候预测 生物信息学和经济学。 但是还有 增加辩论 关于这种科学很难通过复制验证的事实。

事实证明,仅仅用文字描述实验方法是不够的。 这部分是因为像英语这样的自然语言对于精确地描述计算而言太简单了。 毕竟,程序员使用编程语言是有原因的。 软件开发中最大的挑战之一是将模糊的需求转化为精确的行为规范。

人类 - 甚至是科学家 - 毕竟都是可能的。 将任何信息转换为程序几乎总是会引入一些错误。 例如,许多科学家依赖于电子表格等数据探索工具,这些工具的设计是为了方便使用而不是为了提高鲁棒性。 简单地总结电子表格中单元格的错误范围,而不会收到任何警告。 这是其中之一 方法上的缺陷 在美国共和党曾经把它的紧缩政策的基础上。

同样的一个 最近的一项研究 在对美国公司进行调查期间公开的15,770电子表格中,安然公司显示,至少包含一个公式的电子表格的24%存在明显的错误,例如添加空白单元格。

在自然科学中, 火星气候观测,一个在1998上发射的用于研究火星上的气候的太空探测器,一年之后失去了,因为控制软件的一部分错误地使用了英制而不是公制单位。 另一项研究 在同一地球科学实验中使用相同的数据集,算法和编程语言的9个独立实施方案在所得结果中几乎没有一致性。

更重要的是,即使研究论文的读者能够成功地解释作者的精确含义,然后完美地将其翻译成程序,但在执行过程中仍然存在陷阱。一类特别棘手的问题源于计算机如何处理数字:尽管它们可以以完美的精度处理诸如 42 和 -17 之类的整数,但处理诸如 3.14 和 2?1.414 等实数的标准技术仅允许近似精度。这些近似意味着计算相同值的明显等效方法可以 产生不同的结果.

那么,可以做些什么呢? 如果即使是专业的软件开发人员也无法可靠地生成正确的软件,那么像科学家这样的业余程序员有什么希望?

工作的一个方面就是生成用于设计“领域特定”编程语言的工具,每种编程语言都针对特定类别的问题,例如经济市场中的代理行为或者跨越单元的药物扩散。 这些目的是使专家直接用熟悉的术语来描述计算变得容易,而不是直接用通用编程语言编码。

第二种方法试图为程序设计更具表现力但仍然用户友好的“类型系统”。 这样可以更容易地捕捉“傻”的错误,例如电子表格中的空白单元格,或以不同单位混合值。 它不能排除所有的逻辑错误。 第三行是开发可用的精确算术代码库,避免近似的问题。

这些方法都有可能帮助解决未来的问题,或者至少消除一些风险。 毕竟,世界需要科学,科学家需要电脑 - 这种情况不可能很快改变。

关于作者

Jeremy Gibbons,牛津大学计算学教授。 编程语言研究主题负责人。

这篇文章最初出现在谈话

相关图书:

at InnerSelf 市场和亚马逊