病狗问题

题记:

     最近对一些推理问题很感兴趣,起初主要是源于学习Mackay“信息论、推理与学习算法”的时候,感觉到数据挖掘和推理分析是本学科的一个核心的方法论。后来感觉到,对于我在信息时代的生存和发展也是很重要的。对于信息时代,所谓的“信息不对称”已经渐渐由获取渠道的不对称(也就是说有的人能得到信息而有的人不能)演变成对信息的挖掘的不对称。在网络高度发达的今天,获取信息已经不再困难。而对于同样的信息,你怎样从中挖掘出比别人更多的东东出来,才是决定你能否打赢这场仗的关键因素。

    所以我决定,训练一下自己。每周做两个推理题,从中学一学最核心的方法论。

NO.1  病狗问题

问题重述:

     住宅区内有100户人家,每户人家养一条狗,每天傍晚大家都在同一个地方遛狗。已知这些狗中有一部分病狗,由于某种原因,狗的主人无法判断自己的狗是否是病狗,却能够分辨其他的狗是否有病,现在,上级传来通知,要求住户处决这些病狗,并且不允许指认他人的狗是病狗(就是只能判断自己的),过了7天之后,所有的病狗都被处决了,问,一共有几只病狗?为什么? 

问题分析:

    对这个问题,首先要明确一个先验知识,那就是:肯定有病狗,至少有一只。

    那么,先考虑一个trivial的情形,那就是只有一只病狗的情况。在这种情况下,病狗的主人看不到病狗,而其他人都看到一条病狗。因为至少有一条病狗,于是病狗的主人便可以确定自己的狗是病狗,处决了他的狗。

    那么当有X条病狗的情况怎么样呢?

【第一天】

1.0  至少有一条病狗(先验知识);

1.1  如果有人没有看到病狗,那么他将在第一天开枪;

1.2  如果第一天结束仍没有人开枪,说明所有人都看到了病狗;

1.3  有病狗的人看到的病狗比有好狗的人少一条,所有人都看到了病狗,说明至少有两条病狗。

【第二天】

2.0 至少有两条病狗(上一天结论);

2.1 如果有人只看到一条病狗,那么他将在这一天开枪;

2.2 如果这一天结束仍没有人开枪,说明所有人都看到了两条以上的病狗;

2.3 有病狗的人看到的病狗比有好狗的人少一条,所有人都看到了两条以上的病狗,说明至少有三条病狗。

……

【第X天】

X.0 至少有X条病狗(上一天结论);

X.1 如果有人只看到X-1条病狗,那么他将在这一天开枪;

X.2 如果这一天结束仍没有人开枪,说明所有人都看到了X条以上的病狗;

X.3 有病狗的人看到的病狗比有好狗的人少一条,所有人都看到了X条以上的病狗,说明至少有X+1条病狗。

……

 由以上推理我们可以得出一个结论:如果有X条病狗则他们的主人会在第X天同时将它们处决。至此,我们可以得出,题中的小区共有7条病狗。

 上题作为一道智力推理题,本身就说明它所需要的推理能力至少不是每个人都具有的。因此,本题的成功解决是建立在“小区中所有人都具备完全理性”的假设条件上的,这训练了我们的理性推理的能力,并应该继续训练成为生活在信息时代生存的法宝。但是,并不是每个人都具有这种完全推理能力,这时候,我们该怎么办呢?

 我们来看下面一个解决方案,每个人都这样想: 

1、无论我的狗是病狗还是好狗,总之好狗的主人看到的病狗多一条。所有的狗主人,要么看到真正病狗的条数,要么看到的病狗比真实的条数少一条,就这两类。

2、只要有一种方法,能让看到病狗少的人先动手,就能杀死所有的病狗。

3、如果我们看到了X只病狗,就在第X天动手;这样看到病狗少的人就会提前一天轮到。

4、只要大家都这样做,就一定不会出错。

解释清楚这样一种制度安排,显然比普及上述的推理方式要容易。我们只需要有一个“聪明人”想到一个正确的方法,所有的人都服从他的安排。把这种安排变成一种制度,即使不能通过语言交流,我们也可以通过其他方式(比如说时间)来传递信息。

由此我们可以看出,制度安排为传递知识提供了机会。一种好的制度安排,比每个人都聪明绝顶可能更为重要。我们只需要一个具有创造力的“领军人物”和一个好的制度安排,同样可以做成由一群聪明绝顶的人能干成的事。而且,我们的可操作性更高。

忽然想起这个问题与前几天一直在沉迷的帽子问题,那个需要用hamming码来解决的问题,其实也可以通过这种制度安排来解决。不过,hamming码的解决方案索性完全依赖于制度安排,而不借助任何的外物,别有一番趣味。

好了,下次谈!!!

原文地址:https://www.cnblogs.com/Matrix_Yao/p/4793826.html