关于常识和逻辑之间的纠结
文章来源: 越吃越蒙山人2018-11-06 12:46:26

 

 

半个多世纪前,图灵在设想计算机的发展前景时,认为它应该被允许以自我的方式去思考。于是,为了判断机器是否能“思考”,图灵提出了一个检测方案,叫做“模拟游戏”。这就是所谓的图灵测试。

 

图灵的意思是,让你想象坐在计算机前与两个游戏参与者对话,我们把他们叫做伙伴A和伙伴B。这A和B其中之一是计算机,但你看不到他们,也不知道哪个是真人哪个是机器。你能和他们交流沟通的唯一途径就是键盘和屏幕。如果你对A提到一个问题,只是A回答。同样你对B提一个问题,只有B来回答。然后,你的任务就是通过对话,判断谁是机器谁是人。如果到了最后,你实在是分不清楚这A和B之间的分别,图灵说,这就有理由说明那部计算机是智能的了。图灵曾经在一篇题为“计算的机理和智能”的文章里写到,给计算机编程,使它能下棋以及明白人类的语言,这是两个最为明显的挑战。说过这些话后不久,在咬了一口手中的苹果之后,图灵倒身死去。

 

图灵所构想的这两个挑战,对计算机来说,下棋相对来说是容易一点的事情。那不过是要计算机了解一套规则以及基于规则之上的择优算法,而这些基本都是逻辑能够搞定的事情。上世纪九十年代,IBM开发的深蓝,就已经让国际象棋大师无法招架了。又过了十几二十年,谷歌的阿尔法狗又毫无悬念地把世界顶级围棋大师挑于马下。一开始时,这事还是让我吃惊不小。这是因为围棋博弈的背后,牵扯到更多的非精准非定量的模糊概念,这就要求计算机不但要有一门心思算到底的硬分析能力,还要有对权重对走势对取舍这样的对策技巧有定性判断的软分析能力。这点做好了,让人觉得就是智能的显现了。当然,阿尔法狗的那样让人惊诧的神通背后,所依仗的应该还是数学,也就是说,归根到底还是在依赖人类现有的逻辑。

 

不久前,我看到网上有消息说,现在人工智能已经开始写小说了。当时我就觉得头皮一紧,连忙点进去要看个仔细。我还以为图灵构想的第二个挑战又已变为现实了呢。还好,这消息可能是闲来没事的人想要抓一下大众的眼球,除了标题,那消息并没有真的带来一部构思奇特的文学作品。无论如何,这就让人松了一口气。什么时候,计算机要是真的能写小说了,那基本就是一个乾坤转换的时代来临了。因为,对于计算机来说,要想通晓人类的语言,仅仅是逻辑能力强就是不够的了。尽管人类语言结构的组成实际是和逻辑有着不可分割的关系,但是语言意义的表达和接受,对话语境的建立和融通则是其他一些主观客观因素交织发力的结果,这其中包括像认知常识感觉情绪这样不能进行推理的文化基准构件。而目前,依据现有的人类思维逻辑,现有的数学推导理论,还不能设计出一种算法让计算机能够理解人类变化无端的语境空间。

 

以人类逻辑的概念去教会计算机弄明白一句话的表面意思并不是一个困难的事情。但是,把前后几句话都连接起来,即便说聪明的计算机都听懂了这些语句的表面意思,但结合到现实生活中的特殊情景,要让电脑总能通过简单的对话做出正确的应对举动,基本上还是可望不可及的事情。我们可以想象一下这样的情节:比如小芳和小明是大学里的一对恋人,在上晚自习时,埋头看书的小芳抬头问身旁的小明,你冷吗?小明没有说话,起身走到窗前,伸手把窗户关上了。小明如果是机器人,他能听懂小芳话里的真实含义吗?

 

和人的思维程式一样,我们可以教会计算机使用古典逻辑中的三段论来进行推理论证。计算机会很可靠,它不会犯程式上的错误,但它会在前提设立时犯常识的错误。比如,我事先给了计算机这样两个前提:1. 这世界上没有有角的动物是独角兽;2. 按字面定义,所有的独角兽都是有角的动物。接下来,如果我们要计算机据此作出进一步的分析的话,很可能它就会告诉我们这样一个奇怪的推论: 有些有角的动物不是有角的动物。这个谬误是怎么产生的呢?以纯逻辑的概念,这两个给定的前提都是逻辑正确的,计算机的逻辑推理也没有毛病。但是,对于理念清晰的人来说,根据这样的前提,我们不会得出一个自相矛盾的推论,因为我们知道常识。常识告诉我们,独角兽只是一个传说,他所处的动物集与第一个前提里面所说的动物集,其实不是一回事。

 

 

让我们看看下面这段话的推理过程。

 

1. 马科斯是一个人。

2. 马科斯是庞贝人。

3. 马科斯生于公元前40年。

4. 所有的人都是会死的。

5. 所有的庞贝人死于公元79年的维苏威斯火山爆发。

6. 现在是2018年。

 

接下来的问题是,马科斯现在还活着吗?对于脑力正常的人来说,这是一个对二三年级小学生出的智力测验题。但对于计算机来说,它会觉得这个题目出得很蹊跷,这是因为在它的论证前提知识库里,还缺少能够确保结论正确的常识。按照现在的纯逻辑理论,我们可以把上述已知事实片段写成一个准确的代数等式,然后编程让计算机通过自己懂得的语言,明白等式的意思。按照常规推理,计算机能够知道在公元79年的时候,马科斯肯定已经死掉了;但是计算机不知道死掉的人不能复活,它没有这个常识,所以它无法确定在2018年马科斯的生死状态。要想在这点上让计算机和人类认知保持同步,我们必须告诉它,对于任何一个死人X,如果X在年代d死了,并且t是d以后的年份,则X在年代t也是死的。

 

所以没有常识,只是靠逻辑公式严谨计算能力超强,电脑还是不具备和人类无障碍沟通的能力。怎么解决这个问题呢?三十年前,有个英国的人工智能先行者考虑了好久这个问题,后来他发表了一个叫做“幼稚物理宣言”的东西,就是想把人类知道的日常基础知识,都总结出来,告诉计算机。比如,水不能往上流,容器下面有洞水就会流光,喝开水能烫死人,秋天树叶会落等等。可是后来研究者们意识到,这么做还是不行。先不说,我们是不是有可能把所有的常识都能一样不漏地搜集出来,全都告诉计算机。主要这里存在的问题是像我们中国人常说的,只是治了标没有治到本。用数学的语言来说就是,知其所以然并不是通过知其然的集合所能达到的。

 

我们在日常生活中所使用的常识,很多是来自习惯和经验有些甚至是来自生物本能。这就超出逻辑的范畴了,是起自亚里士多德直到笛卡尔的经典数学思维所不能推导的了。而那些出自经验和本能的常识,最早的时候很可能是人类的先祖们在生与死的瞬间做出的选择。活下来的,遗传下来的就是当时选择正确的了。后代依据这样继承下来的正确常识,对周围的事物进行判断,应该来讲也算是一种理性思维。当然,你可以说,在生死存亡的刹那间所做的正确选择和过后的理性继承肯定也是符合一种逻辑,但那种逻辑和我们所说的数学规律显然并不是一回事。

 

 

上世纪七十年代的时候,有个加拿大人叫Monty Hall。 他跑到美国发展,主持了一档流行电视节目,叫做《一言为定》(let’s make a deal). 在镜头前,Monty 让你注意面对的三个门,你被告知这三个门后中的一个的柜子里有一万美金, 这在当时算是一笔相当不错的财富了。而另两个门后只是放有一些微不足道的东西,比如说一根香蕉之类的。游戏开始时,你可以选中一个门,如果选择正确的话,那门后边的钱就归你所有了。与此同时,你也知道,台上主持节目的Monty是能看到这三个门后面的真实情况的。

 

在你做完初次选择之后,Monty会走过来把剩下的两个门中的一个打开,让你看到打开的门后有一只香蕉。然后,他会问你,愿不愿意改变你最初的选择。 也就是说换成另外一个没被打开的门。但是,为此交换,你得付出,你必须花十块美金去得到这次改变主意的机会。当然,这次交换如果最终是选择错误,那十块钱就白花了。要不要抓住最后的机会改变初始的选择呢?这就是对直觉和理性的考验了。在此情况下,很多直觉感很强的人的决定就是不换了,因为他们觉得概率不变。但实际上,这既是一个心理的问题,也是一个逻辑的问题,或者说也是一个数学的问题。

 

一开始的选择是随机的,即选到钱的概率是三分之一。但当Monty把剩下的两个门中的一个给打开时,情况发生了变化。大家都看到了,被打开的门后面没有钱,是一根香蕉。这就告诉我们,钱要么是在你原来选中的那个门后面,要么是在Monty留下没打开的那个门后面,二者居其一。面对运气,你还是要启用智商做出选择。那么,这剩下的两个门的后面有钱的概率各是多少呢?好像常识告诉我们,剩下的两个门,后面有钱的可能性没变,还和一开始的时候一样,各有三分之一。或者根据现在的情况变化,精简一下,两边各有一半的可能性。

 

但是,如果我们静下心来仔细思考一下,就会发现这时的情况和一开始的不同之处。最开始你第一次选择的时候,是一种机会均等的随机抽选。你拿到了一个有三分之一机会的门,剩下来两个门占有其余的三分之二机会。要注意,随后,Monty并不是随机打开了剩下的两个门中的一个。他一定会是有选择性地打开了没有机会的一个门。按照这样的非常规思维,从逻辑的角度,剩下的两个门就不是同样的有钱可能性了。Monty 没打开的那个门,其实是独占了开始时候的三分之二可能性。在这样的情形下,理智的做法是,抓住最后的机会,把原来的选择放弃,去改换更高机会概率的那个门,只有这样你得奖的机会才能翻倍。

 

不过,不顾常识去追求隐匿数学的严谨,有时候也会让人感觉是很偏执的一件事情,到头来也不好说能带来好处还是霉头。我说过我这人以前爱去赌场撞运气。在那里,我最喜欢玩的是俄罗斯轮盘赌,因为我有自信,我知道我能很快地算出来各种颜色奇偶数行或列的组合机会和出现概率。一般来说,如果遵循我事先设定的原则,多数情形下我都会是以小有斩获收场的。只有一次我输得比较离谱,事后也一直没闹明白,那到底算是逻辑击败了常识,还是常识反抗了逻辑。

 

了解轮盘赌运作的人都知道,小球跳出来的数字基本上是以红黑各稍稍小于一半的可能性来出现的。如果从你入场下注的时间点开始算,下一个数字出现是红的可能性基本上是1/2,下两次都出现是红的可能性是1/4,下三次都是红的可能性差不多是1/8。 我那次是看到有了五次连续的红数字以后,开始押黑的数字。这时候按概率思考,连续出现6次同样颜色的可能性小于1.56%。但那次我运气不好,第六次轮盘上小球还是跳到了红色的格子里。我加倍押翻黑,结果事与愿违,结果第七次还是红。我再加倍押反转变黑,轮盘数字连续第八次还是红。就这样轮盘数字一直连续了十二次红,把我指数级别加码的赌注全都吞了进去。

 

其实这件事背后的道理也不复杂,从你开始关注或下注的那一点开始,从数学的角度看,未来连续十二次出现同一颜色的数字可能性是小于0.024%。但是从常识上来讲,每一次重新下注,重新抛球,得到红色数字的可能性却都是将近1/2。在这样的时候,你到底是应该跟着感觉走,还是跟着理智走呢?到了第十三次抛球的时候,我把所有的筹码全都押在了黑色数据上,等到轮盘停下来之后,那个白色的小球跳到了双零的那个绿色格子中去了。

(本来还有一节是有关用贝叶斯概率预测事件可能性的,但时机正值美国中期选举,城里太多能人在显神通,我就不掺合了,反正是用数学还是用感觉都有各自的道理)。