1.1.3 程序员小王的日记

小王是一名程序员,我们来看看他某一天的日记。

早上醒来,我睁开眼睛,看了一眼窗外,天还挺黑的,觉得还早,然后决定再睡一会儿。

出门之前,我看到天空灰蒙蒙的,觉得今天可能会下雨,路上可能会堵车,我决定坐地铁而不是公交车去单位。出了地铁站,果然下雨了,而且马路上车行驶得非常缓慢,我庆幸做了正确的决定。

刚到单位,领导一个电话打过来,他语气严厉地说:“小王,你来我办公室一趟。”我的心一下子揪起来,想起来昨天下班前刚交给领导一版代码,“坏了,是不是昨天我交的程序有问题?”我于是临时把昨天的程序扫了一遍,然后想了几个解决方法。见到领导之后,果然是昨天的程序出了问题,还好我刚才做了点准备,应付了过去。

上午的时候,我开始写一个模块。程序很快就写完了,也能运行,但是最后的结果有问题,我开始调bug。“咦,为什么这段循环很快就退出了呢?是不是我的循环变量设置有问题?”果真如此!我很快解决了问题,程序运行正常了。

中午的时候,我去找同事小李一起吃饭,小李平常都和我一起吃午饭,但是今天他闷闷不乐地说:“我还有事儿,就不和你一起去了。”我想,他大概遇到什么烦心事儿了。我想起来小李前段时间经常提起他女朋友的事儿,于是问他:“咋了?是不是又和你女朋友吵架了?”小李说:“唉,是啊,她老嫌我加班,要和我分手。”我安慰了他几句之后,他心情好了很多,又和我一起吃午饭了。

下午下班,准备和女朋友一起去看电影。电影院正在上映两部片子,一部是好莱坞动作大片,另外一部是最新的国产喜剧片。因为国产喜剧片里有我很喜欢的一个明星,我想应该很好看,于是和她商量看这部片子。她同意了。

进电影院之前,我看见她在门口卖小食的地方停了一下,我一下子就明白了,二话没说,直接去买了她过去经常买的大桶爆米花,她很开心。电影也果真如我预料那样好看,我们非常高兴。

看到了吗,在上面这段描述中,小王做了多少次信息推断呢?答案是7次:

(1)起床时通过“窗外天空颜色”,推断“当前的时间”。

(2)出门前通过“天气情况”,推断“是否会下雨”,以及“路上是否会堵车”。

(3)上班时通过“领导的语气”,并且结合“昨天的情况”,推断“领导找自己的原因”。

(4)上午,通过“程序的输出结果”,推断“出现bug的原因”。

(5)中午,通过“小李的表情”和“前段时间的交谈”,推断“他不开心的原因”。

(6)看电影前,通过“电影介绍”,推断“电影是否好看”。

(7)入场前,通过观察“女朋友的动作、表情”以及“她日常的喜好”,推断“她心里在想什么”。

这个故事里的小王是个信息推断的高手,他所有的推断都对了,因此过了愉快的一天。可是我们设想一下,如果一个人对上面的事情都推断错了,那么这一天他过得一定不怎么顺利。