称球问题

[节选][url]http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/[/url]
1,问题:
12个小球,其中有一个是坏球。有一架天平。需要你用最少的称次数来确定哪个小球是坏的并且它到底是轻还是重。

2,分析:
(1)坏球可能是12个球中的任意一个,这就是12种可能性;而其中每种可能性下坏球可能轻也可能重。于是“坏球是哪个球,是轻是重”这个问题的答案就有12×2=24种可能性。
(2)现在我们用天平来称球,就等同于对这24种可能性发问,由于天平的输出结果有三种“平衡、左倾、右倾”,这就相当于我们的问题有三个答案,即可以将所有的可能性切成三份。
[b]注:天平的输出有三种结果,相当于一次又log3的信息量。[/b]
(3)我们应当尽量让这三个分支概率均等,即平均切分所有的可能性为三等份。如此一来的话一次称量就可以将答案的可能性缩减为原来的1/3,三次就能缩减为1/27。而总共才有24种可能性,所以理论上是完全可以3次称出来的。
3,举例:
为了更清楚的看待这个问题,我们不妨假设有6个球,来考虑一下3、3称和2、2称的区别:
(1)在未称之前,一共有12种可能性:1轻、1重、2轻、2重、…、6轻、6重。现在将1、2、3号放在左边,4、5、6放在右边3、3称了之后,不失一般性假设天平左倾,那么小球的可能性就变成了原来的一半(6种):1重、2重、3重、4轻、5轻、6轻。即这种称法能排除一半可能性。
(2)现在再来看2、2称法,即1、2放左边,3、4放右边,剩下的5、6不称,放一边。
[b]下面是问题的本质[/b]
假设结果是天平平衡,那么可能性剩下——4种:5重、5轻、6 重、6轻。
假设天平左倾,可能性也剩下4种:1重、2重、3轻、4轻。(5和6肯定被排除了)
右倾和左倾的情况类似。
总之,这种称法,不管天平结果如何,情况都被我们缩小到了原来的三分之一!
[b]我们充分利用了“天平的结果状态可能有三种”这个条件来三等分所有可能性,而不是二等分。 [/b]

4,问题的解决方案:
MacKay在他的书《Information Theory: Inference and Learning Algorithms》里面4.1节专门讲了这个称球问题,还画了一张不错的图
[img]http://dl.iteye.com/upload/attachment/368962/92984715-15fc-37c4-a1c9-3a17cae64f12.jpg[/img]
注:图中“1+”是指“1号小球为重”这一可能性。一开始一共有24种可能性。4、4称了之后不管哪种情况(分支),剩下来的可能性总是4种。这是一个完美的三分。然后对每个分支构造第二次称法,这里你只要稍加演算就可以发现,分支1上的第二次称法,即“1、2、6对3、4、5”这种称法,天平输出三种结果的可能性是均等的(严格来说是几乎均等)。这就是为什么这个称法能够在最坏的情况下也能表现最好的原因,没有哪个分支是它的弱点,它必然能将情况缩小到原来的1/3。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值