西西河

主题:【原创】知识的历程——人类是怎么有所发现的?(1) -- 看树的老鼠

共:💬5 🌺4 新:
全看树展主题 · 分页
家园 【原创】知识的历程——人类是怎么有所发现的?(1)

人类是怎么发现知识的?本文试图严格遵从逻辑,一步一步解析出人类获得真理的过程。

我们从一个极简单的例子开始。这个例子是:“我们到底是怎么发现药物可以治疗心脏病的呢?”这个例子看起来如此普通,以至于我们不会意识到在发现它的过程中,人类经历了多少次逻辑上的跳跃。

可是,人类知识的全部历程,用这个例子就足以说清楚了。

从观察到真理的飞跃——归纳法的伟大

首先,我们可以给一群心脏病人吃药,然后看到心脏病痊愈了。但是这可以帮助我们得出前述的结论吗?让我们一步一步看。

1. 我们刚才做的实验,其实是在某个环境下按照特定的实验设置,得出一次A真B真的实验结果。我们只是得到了一个观察。

2. 如果N次实验结果都是A真B真时。我们当然可以继续说我们得到的只是N次观察。

3. 但是我们可以猜测,在这个环境和这个实验设置下,A真,则B永远为真。

4. 然后呢,根据真值表,我们知道A真则B永远为真时,A->B为真。

看起来,我们好像得到了一个了不起的结论。因为A->B看起来像一个原理,我总觉得原理无比伟大,观察则显得如此平凡。我们是怎么从平凡的观察过渡到伟大的原理呢?

仔细想想,A->B这原理对我们有什么用?它在以后推理中,对我们的帮助就是,当A为真的时候,我们就能自信的说B为真。这恰恰就是步骤3所说的内容。

所以,有限次观察固然是平凡的,但无穷的观察能力是伟大的。从平凡到伟大的飞跃发生在第2步到第3步之间,而这不是第3步到第4步。

第2步到第3步,是伟大的归纳法。但这并非是人类的伟大,而是上帝的伟大。爱因斯坦曾经说过:“这个世界最让人难以理解的是,它竟然是可以理解的”。上帝本可以让人类看到的一切观察都不可重复,可是上帝让某些观察可重复。上帝本可以让任何在N次试验中可重复的现象,在N+1次实验中立刻失败。可是上帝没有这么做。

但是,进一步来说,也许在某些宇宙中,归纳法不存在,那样,也不会有智慧生命的存在了,因为一切智慧,都建立在对未曾发生的事情的预测能力上。

但是,谁说宇宙必须能够预测,宇宙必须有规律?因此,智慧仍然是一个奇迹。

现在,我们能够得到的结论是:在实验环境中,(吃药)->(心脏病痊愈)。

家园 知识的历程——人类是怎么有所发现的?(3)

用理性保护归纳法

科学家们并不会盲目的使用归纳法。他们总是根据他们对于问题的理解,寻找实验环境中潜藏的假设。如果实验环境中有一个通常来说并不成立的假设,那么他们就会挑战现有的实验数据,不相信结论的可推广性。

比如说,我们可以对实验环境下,吃药导致心脏病痊愈的机理给出一个逻辑论证。然后呢,看看这个机理是否依赖于实验环境的特殊性。

假设我们的论证是:这种药和某种食物中某种特殊的元素结合,产生新的化合物,这种化合物可以增加心脏供血。

然后我们发现,实验对象都是亚洲人,而只有亚洲人的食物中包含这种特殊元素,我们就非常清楚的知道,这个实验没法推广到其他大洲。

这就是为什么,在写论文的时候,科学家们除了给出实验数据外,还给出论证,说明白为什么结论成立。

可是,在我们新的逻辑论证中,往往又用到了别的原理,这些原理又是哪里来的呢?这些原理往往也有实验证据和逻辑论证。如此一致上溯,知道某些原理,我们或者承认它是公理,或者承认我们无法解释它,但是世界就是这么告诉我们的。前者如几何公理,后者如“作用力和反作用力大小一致”。

这就是人类的知识大厦。

大家看到了吗?为了证明吃药能够治疗心脏病,我们走了多么远的路?而从这条路的开端走到尽头,我们看到人类从蒙昧时代走来,这所有成就,也不过一个问题而已。

家园 知识的历程——人类是怎么有所发现的?(4)

外篇——逻辑与统计是朴素归纳法的超级推广

人类总是试图在无规律中发现规律。人类发现的最早的规律都是一些经验。比如一个在地面滚动的球总是会停下来。

这种朴素的归纳,是人类与生俱来的。人类也会做一些最基本的推理。

真正属于人类的发明,是人类把这种能力推到极致。首先,这表现在人类开始关注那些高精度(100%正确)的规律,我们管这些规律叫做公理或是定理。有了这么高精度的规律,无穷长度的逻辑推理就成了自然而然的步骤。

然后呢,另一个伟大的发明是统计。对于没有高精度规律的领域,人学会了用概率来量化精度。

不过,统计时代的很多知识让人担心。特别是复杂的机器学习模型让人担心。因为我们无法用逻辑解释复杂的机器学习在做什么。正如<用理性保护归纳法>一文中所说的,人类的现有知识体系,数据只是巨石,而逻辑才是金字塔的粘合剂。

家园 (2)呢?我理解大脑本身的逻辑就是个归纳法的
家园 知识的历程——人类是怎么有所发现的?(2)

从逻辑真理到日常语言

在<归纳法的伟大>一文中,不知道大家有没有觉得奇怪?

我们只是做实验,看看当A为真时,B是不是为真,然后我们就说A->B。这就好比说普通感冒7-14天就会自愈。但是一个医生找了一堆人来吃药,发现7-14天后大家都好了。医生就说 (吃药)->(7-14天感冒痊愈)。是不是很奇怪?

这种违和感来源于:我们看到 (吃药) -> (7-14天感冒痊愈) 时,总是忍不住想要解释成,因为吃了药,所以感冒痊愈了。“因为”这两个字的含义可是太丰富了,我们不能乱说。我们再一次强调,A->B只是表明无穷的观察。这个医生的结论一点都没错,当我们给病人吃药时,100%的情况(除非病人非常非常特殊),7-14天病人就会痊愈啊。

而我们的“因为”,在这个例子中,表达的含义是:如果没有吃药,7-14病人就不会痊愈。也就是说NOT(吃药) -> NOT(7-14天痊愈)。

为了证明这一点,医生们就要找另外一堆感冒的人,不让他们吃药,如果7-14天没有痊愈。归纳就可以得出 NOT(吃药) -> NOT(7-14天痊愈)。

但是我们来看,医生可不可以只做后一组实验呢?

看看另外一个例子。NOT(吃药) -> NOT(心脏病好)。这个逻辑一般成立。问题是医生知道这个逻辑有什么用?医生还是希望证明自己的药有用啦。

所以,医生还是要做A真,B也真的实验。

到这一步,我们明白为什么科学家做实验的时候都要做两组了,一组控制组,一组对照组。控制组的结果告诉我们B不是天然为真的,对照组告诉我们A真能让B变得真。

现在,我们能够得到的结论是:在实验环境中,(吃药) <-> (心脏病痊愈)。

最后一步,我们怎么把“在实验环境中”这个小前提给去掉呢?

(实验环境 and 吃药)<-> (心脏病痊愈)

首先,我们没有100%可靠的方法去除这个前提。因为再一次,我们没有无穷的观察能力。

我们再一次运用归纳法,我们只能假装我们有信心,可以直接去除这个小前提。但是,我们必须保持谦虚,一旦未来发现一个反例,我们就得老老实实的承认自己错了。

现在,我们能够得到的结论是:(吃药) <-> (心脏病痊愈)。

这个逻辑结论还是太抽象了。用生活一点的话说呢,叫做吃药是心脏病痊愈的充分必要条件。

再生活一点呢,叫做吃药是心脏病痊愈的原因。

再生活一点呢,叫做吃药能够治疗心脏病。

全看树展主题 · 分页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河