12枚或者13枚鸡蛋,有一个坏的,用…

本文转自: http://www.cnblogs.com/emituofo/archive/2012/07/09/2582208.html

有十二枚鸡蛋,其中一枚坏掉了(重量与其余不同),现要求用天平称三次称出哪个鸡蛋是坏的。

 

解:

首先对于本题,有两点知识:

知识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 次



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值