分类:
2008-10-15 16:42:08
近期发生在Kansas和Pennsylvania的对以教授智能设计取代达尔文的自然选择理论(或者不十分准确地说,进化理论)的反对正在不断升温,但是却没有带来多少启发。这场辩论——如果我们可以这样称呼——似乎已经蜕化为双方各自为其理念布道。本文的目的不是陷入泥潭重新探讨这场争论,而是,我对这次混乱的一些相当令人尴尬的副产品有所感触。
我清楚地感到在很多人头脑里,“科学理论”与“科学定律”的区别是混乱的,他们感到疑惑:“科学理论需要什么才能被认为是真实正确的?”
我将尝试解释为什么这是一个错误的问题,因为我们永远无法用实验来“证明”一个理论。我将通过深度探讨科学证明的本质进行解释。然后我将说明这些原则可以怎样以一些有趣而出乎意料的方式应用到软件开发中。
背景
当你寻找解释某事的理论时,最好的情况是你找到了一个非常通用的理论。也就是,你的理论在任何时候,任何情况下,无一例外地都是适用的。如果你找到了这样一个理论,你可以这样开始描述它:“以下的结论是永远真实的。。。”
实际上,尽管科学研究已经持续了几千年,我们只有非常少的这种永远真实理论。几乎所有理论有其“应用范围”。例如,今天我们知道牛顿于十七世纪建立的经典力学理论在我们达到原子级时就不再适用了。在原子级上,经典理论不再作出精确的预测,我们需要另一种理论,量子力学,来解释发生的现象。类似地,在速度与光速相比非常低的时候,经典理论可以很好工作;当达到或接近光速时,我们需要爱因斯坦的狭义相对论进行预测。因此,需要注意理论只在特定领域里是“正确”或“非常接近正确”的。在这一领域外我们就需要其它理论,而该理论的适用范围可能包含也可能不包含原理论的适用范围。因此有时我们有一些“更通用”的理论,其他的理论只在某些限制条件下是正确的。
当然,如果你有一个你相信是“通用”的理论——也就是,它适用于所有情况——你必须对它进行。科学在本质上是一种实验过程,而一个通用理论包括逐渐扩大边界,持续消除限制条件,以证明理论确实对所有情况都是适用的。
实验结果
一个科学实验定义了它所进行的适用范围。被限制在适用范围中的实验得到符合或是不符合理论的结果。这些情况被总结在一个2x2的矩阵中,如图1所示。
图1:理论和实验
当然,在实际世界中,我们无法知道我们在矩阵的左边还是右边——我们不知道理论是否正确。我们通过做实验能知道的所有事情是,实验结果符合或是不符合提出的理论;也就是说,我们可以“看到”图表的上半部或是下半部。让我们分析这四种可能结果。
[1]