有十二枚鸡蛋,其中一枚坏掉了(重量与其余不同),现要求用天平称三次称出哪个鸡蛋是坏的。
解:
首先对于本题,有两点知识:
知识1:在知道轻重的情况下,一次称量可以在3个蛋中,确定哪个是坏的。
知识2:在不知道轻重的情况下,一次称量也可以在2个蛋中,确定哪个是坏的。
对于知识1,随便拿两个蛋进行称量,如果平衡,则第三个蛋是坏的。如果不平衡,那么根据坏蛋的轻重,也可以判断这两个蛋中哪个是坏的。
对于知识2,从已确定是好的蛋中取一个,和2个待选坏蛋中一个,进行称量,如果平衡,那么这个蛋是好的,另一个蛋是坏的。如果不平衡,那么这个蛋是坏的。
(1) 将12个鸡蛋编号,然后平均分成三组,记为A,B,C。
A组 | ①②③④ |
B组 | ⑤⑥⑦⑧ |
C组 | ⑨⑩⑪⑫ |
第一次称量:
将A组在左,B组在右进行称量。可能出现3种情况:
平衡 | 左倾 | 右倾 |
平衡说明,坏蛋在C组。
左倾或右倾说明,坏蛋在A组或B组。
我先讨论平衡的情况,左倾或右倾的情况留在后面讨论。
(2)那么如果第一次称量平衡的话,进行第二次称量:
A组的①②③在左,C组的⑨⑩⑪在右,进行称量。也可能出现3种情况:
平衡 | 左倾 | 右倾 |
如果平衡,那么可以直接确定,⑫是坏蛋。
如果左倾,那么可以确定坏蛋是轻的,而且坏蛋就在⑨⑩⑪之中。那么由知识1可知,再经过一次称量,就可以确定⑨⑩⑪之中的坏蛋。
如果右倾,参考左倾的情况可知,再经过一次称量,也可以确定⑨⑩⑪之中的坏蛋。
(3)如果第一次称量左倾的话,将A组的④和B组的⑧交换,并且将B组的⑤⑥⑦换成⑨⑩⑪。这样A组就变成了①②③⑧,B组就变成了④⑨⑩⑪。然后进行第二次称量:
A组在左,B组在右,进行称量。也可能出现3种情况:
平衡 | 左倾 | 右倾 |
如果平衡,可以确定坏蛋不再在①②③④⑧中,否则这次称量不能平衡。那么坏蛋只能在B组中被换掉的⑤⑥⑦中。再根据第一次称量左倾,可以确定坏蛋是轻的。那么由知识1可知,再经过一次称量,就可以确定⑤⑥⑦之中的坏蛋。
如果左倾,首先,坏蛋不能在⑤⑥⑦之中,否则这次称量就平衡了。再来,坏蛋不能在④⑧之中,否则这次称量就应当和第一次称量的倾向相反。所以可以确定坏蛋在①②③之中,而且坏蛋是重的。那么由知识1可知,再经过一次称量,就可以确定①②③之中的坏蛋。
如果右倾,由以上的分析,坏蛋只能在④⑧之中,但不知道坏蛋的轻重。没关系,由知识2,再经过一次称量,也可以判断④⑧之中的坏蛋。
(4)如果第一次称量右倾的话,实际上是和左倾是一组对称情况,类比上面左倾的方法,也可以由3次称量确定①②③④⑤⑥⑦⑧中坏蛋。
经过以上4个步骤,即可以用天平称三次称出哪个鸡蛋是坏的。
下面利用熵来讨论一下为什么至少需要3次才能称出12或者13个球。
假设一共有12个球,那么此时有24种可能性,我们把球从1编号到12,那么这24种可能性为:1号球轻,1号球重,2号球轻,2号球重……以此类推,并且这24种可能性是相互排斥的,就是说只能有一种成立,别的不成立。假设不用天平称,那么我们随便选一个正确的概率为1/24。我们需要做得,就是使用天平把最后的那种可能性确定下来,就是出现一种百分之百成立的结果,把不可能的结果排除。
于是,为什么要加上最后要知道轻重,就是因为希望到最后只剩下一种可能性,即某个球是轻的,要么是重的。如果仅仅只是找出与众不同的球,那么可能出现你可以找出那个球,但是不知道它的轻重,这样出现还剩2种可能性就结束的情况。如果加上必须判断轻重,那么无论如何我们都要让最后只剩下一种可能性。
其次。天平是一个模型,他有三种状态,左边高,右边高,平衡——这对应了一种作用,就是能把可能性筛选,也就是说,当称了一次时,会出现3种状态,而每种状态对应几种可能性,也就是把24种可能性分开了,这样每称一次,分一次,到最后,只要保证每条分支都能到达1,也就是只剩下一种可能性。于是,这可以看成木桶效应,就是找出分支最长的一条,那么这条分支所使用天平的次数就是最少需要的。
每次使用天平 可能出现等概率(1/3)的三种状态 平 左偏 右偏
根据公式 信息量I=-log(pi) 其中pi为此事件出现的概率。
所以每次使用天平可以提供-log(1/3) = log3的信息量。
而找到与众不同的那个球
同样根据I=-log(pi)
需要-log(1/2n)= log2n的信息量
所以至少需要 log(2n)/log3 次