N 个乒乓球中有一个和其他的质量不同,用天平最少几次一定能称出来?

注:原题描述中n为999 很有趣的一道题?!知友们,问的是“最少”啊!
关注者
1,343
被浏览
329,736
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

楼上给的具体实现方法基本已经很清楚了。

这里从信息量角度解释一下原因以及称量次数的一般计算方法。

为什么999个球是7次?12个球是3次?为什么6个球还是3次???

每一次称量,带来的结果有3种,左边重,右边重,一样重,给我们带来的信息量是log_{2}3 大约是1.58 bit 的样子。

999个球有一个球重量不一样,那么总共可能有 999*2 种结果(1号球轻,1号球重,2号球轻,2号球重......999号球轻,999号球重)。判断出结果需要的信息量是log_{2}1998 大约是10.96 bit。

所以需要的次数就是10.96/1.58 大约是6.94,向上取整需要7次。

12个球需要的次数就是log_{2}24/log_{2}3 大约是2.89,向上取整为3次。

6个球还是3次,为毛?因为log_{2}12/log_{2}3 大约是2.26,所以取整了还是3次。

这个东西除了估算需要的次数有什么用呢?答案是没有什么用,而且有时候可能还会因为一些问题引起误差。

比如说按这种方法计算的次数,4个球两次就能称出来。先试着想一下,你会发现想破脑袋也想不出来。

怎么称呢?1.33个球放左边,1.33个放右边,剩下1.33个不称。

1.33个球要怎么放在天平上???这怎么玩儿?

所以4个球称两次称出来,这是没有可操作性的。

“哥只告诉你们这种方法一定存在,你们慢慢去找,找得到是哥的水平高,找不到是你们太蠢。”

——克劳德·艾尔伍德·香农

开始成为坚定的信息论黑香农黑了吧?所以说没有学过信息论的人和学过信息论的人怎么可能在一起?



————————————————这里是2012年3月18日的分割线

首先说一下什么叫香农定理是存在性定理,就是香农定理会指出最理想化的编码算法能达到的位数底线,就是这样的理想算法理论上存在,但是这种理想的算法不一定能在现实中被发现或实现。

我写这个答案的初衷是单纯从信息论的角度上来看待一下这个问题,换句话就是给出可能的理想情况编码位数下限,而前面

@陳浩

的答案则是一种现成的算法。

这个算法美不美?很美,三进制的思路可能是借鉴前人的,但是利用正向序列映射,通过天平的结果记录直观得出哪个球轻了还是重了,非常巧妙。

(P.S.可以去看下那个给1000只老鼠喝毒药的问题,就是这个映射的二进制版本,因为天平有三种情况,“左偏”“右偏”“平”,老鼠只有“死”“活”)

这可能是人类可以找出的最完美的算法了,但是这是理想的算法吗?不是。

为什么?理想情况下的三次称量结果带来的信息量是log_{2}27 ,而这里呢?log_{2}24

因为三次称量“全是大于”,“全是小于”,“全是等于”的情况在这种算法里是不可能出现的。

这就是不完美的地方,单从天平而言,这三种情况本来可以带给我们信息量,但是由于算法设计不可能出现,就降低了天平能传达的信息量。

一句题外话,这也就是为什么12个球3次的情况在这里显得这么完美。因为12个球的每个可能有轻重,这个信息量是多少?log_{2}24 !刚好是这种算法称三次的理想情况。

讨论一下完美的情况有什么要求。

信源熵是log_{2}2N 应该没疑问了,N代表球数。

次数 m=log_{2}2N /log_{2}3 的条件是,每次称量的信息量都为log_{2}3,也就是每次称量的结果都要是独立且出现概率均为1/3。

这也就是为什么4个球两次不能出轻重,具体计算难度不高篇幅太大打公式太麻烦,但是是无法在每次称量中得到log_{2}3 的信息量。

怎么样才能做到每次称量得到log_{2}3 ?整数个的球是没办法做到的。

但是如果你允许我放0.5个球,或者0.33个球在天平上呢?

每个球切两半,4个记为AA BB CC DD。

先称AB CC,

AB=CC,必为D异常,随便拿个ABC跟D称一下好了。

AB<CC,D一定正常,A或B轻,或C重,称AA BD: AA<BD A-

AA=BD C+

AA>BD B-

AB>CC, D一定正常,A或B重,或C轻,称AA BD:AA<BD B+

AA=BD C-

AA>BD A+

这里其实已经有偷换概念在里面了,这个问题的信息量计算起来麻烦一些(粗看了下结果好像没错,不过要是错了就掉大了!!!)但是我想体现的是,这种看起来很完美的算法,也是受到了整数的局限。

最后是吐槽部分:你们都以为我是信息论吹么?我是信息论黑啊!问题可以讨论不出来立场必须摆正啊!

这也就是说的信息论各大定理的存在性,完美的算法不一定等于理想的情况,理想的情况不一定取得到,就是这样。至于怎么搞完美算法?别找我,我只负责算理想情况。

所以说信息论有啥用呢?过去听过一个笑话,养鸡场的鸡蛋老是被压碎,找了一群物理学家研究,他们得出了一个完美的解决方案,但是只对真空中的球形鸡蛋有效。

以上。