这个世界有没有看起来是确定的事情?

可能没有,

不确定才是这个世界最值得探索的奥秘。

但如果非要让一件事情变得更接近确定,那么有没有一套经得住考验的方法论呢?

这还真有,

科学家在探索自然的过程中总结了以下的方法:

  • 仔细观察真实世界,并得到精确的测量数据;
  • 根据观察结果提出假设模型;
  • 根据模型预测未来的事件;
  • 继续观察并核实预测的准确性;
  • 如此反复直到确认预测和观察一致;

不要小看这个方法体系,常人要把每一步都做好是非常难的。

观察真实世界

真实世界不会说谎,但也不会主动告诉你真相,有时候你看到的世界并不是真实的,我们大部分时候只是活在一个自我假设的世界里。

科普图书《时间的形状》中讲了一个高速列车杀人事件的故事,来让大家理解时间和惯性系的问题,就是非常典型的例子。

我在生活中也遇到过类似需要理解时间的例子,如何设计一个促销系统,当系统A中的促销生效时通知B系统。当和产品经理讨论这个问题时,我无奈地告诉他,这是一个哲学问题。因为这里的时间是一个事件的结果,不能产生行为。正如《Time, Clocks and the Ordering of Events in a Distributed System》论文描述的那样,时间在不同空间中是隔离的,所以要在分布式系统中传递事件,同时还要保证事件的因果关系,这就是一个难点。

如果观察不具备完整性,也很难说明观察结果是准确的,比如在没有把天下所有的乌鸦都看一遍,你无法得出结论:天下的乌鸦都是黑的。

提出假设模型

有了观察数据,我们往往能从数据中找到一些规律,然后利用数学知识来定义,为什么是数学呢?因为数学具备推理和逻辑性。

例如:a大于b,同时b大于c,那么a一定大于c。

我们无法推翻这种原子级的认知逻辑,所以这种工具可以不用上面提到的方法来验证其正确性。

就像计算机系统优化一样,你不能直觉上提升某个或者几个组件的性能,从而得出整体性能提升的结论。至少要有类似Amdahl’s law(阿姆达尔定律)这样的模型作为指导。

预测未来

为了验证模型的正确性,所以利用模型预测未来事件就是符合逻辑的做法。因为非预测事件一旦发生就证伪了模型。就像上面说的,只要有一天出现了一只白色的乌鸦,那么天下乌鸦都是黑的结论立刻被推翻。

科学的不确定性

你会发现上面提到的科学方法,更多地是收集数据来证明预测的准确性。由于世界有太多未知,所以就像物理学家理查德·费曼说的那样:科学的不确定性源于我们对世界的无知。