天平称球问题(三)

再说一下我自己的方法。

 

1234  vs  5678

1259  vs  34AB

379A  vs  146C

 

这样称量过后,无论哪个球是好事坏,都会有唯一的称量结果。例如,假设9是坏重球,那么称量结果就是平衡、左重、左重,坏球改成任何其他球,都不会出现这个称量结果。那么,上面这个是怎么推导出来的呢?

 

注意到,如果一个球不参加称量,那么是无法知道轻重的,所以想确切找出哪个球是坏球并知道轻重,每个球都要至少称量一次。

 

假设我们称量顺序与每次称量的球都是固定好的(就是没有逻辑剪枝),那么假如一个球是坏球,它偏轻和偏重,会形成“对称”的结果。例如假设上面的三次称量中1号球是坏重球,那么称量结果就是(左重,左重,右重),如果1号是坏轻球,那么称量结果就是(右重,右重,左重)。

 

所以我们先将3次称量所可能形成的结果排列出来,并将“对称”结果拼成一对,赋给某一号球。另外还有一个约束条件,就是出现的总球数必然是偶数,因为每次称量的球数都是偶数。

 

为简便起见:z左重、p平衡、y右重,当称量平衡时,说明这个球没有参加这次称量。

 

球编号

球轻或重,天平的对称结果

球出现次数

 

zzz  or  yyy

3(没用到)

1

zzy  or  yyz

3

2

zzp  or  yyp

2

3

zyz  or  yzy

3

4

zyy  or  yzz

3

5

zyp  or  yzp

2

6

zpz  or  ypy

2

7

zpy  or  ypz

2

8

zpp  or  ypp

1

9

pzz  or  pyy

2

A

pzy  or  pyz

2

B

pzp  or  pyp

1

C

ppz  or  ppy

1

 

ppp

对称状态也是ppp,球没有出现,所以这个时候

无法判断球的轻重,这个状态无用。

 

 

上表就是一个例子,其中ppp需要舍弃,因为它表示球根本没参加称量,也就无法知道球的轻重。另外球出现次数的总和是24,是一个偶数。

 

每个球往天平上放的时候,会发现并不是随便摆放就行的。可能会因为摆放不好造成天平两端不均。这里就需要仔细讨论一下。因为我们已经知道,天平称量n次共有3^n种结果,而可以分辨f(n) = (3^n- 3) / 2个球,每个球我们要赋予它2个“对称”结果,那么刨除全部平衡的那个结果(例如上表的ppp),还需要刨除一对。

 

刨除哪对呢?我们发现,如果一个球对应的结果确定了,那么无论选择“对称”哪一种,某一次称量(例如第一次)这个球出现的次数都不变。例如,1号球对应了(zzy or yyz),那么第一次称量,无论将1号球放在左边或者右边,第一次称量都包含1号球。

 

所以除去ppp那个状态,对剩下的统计第一次称量,出现多少个球;第二次称量出现多少个球;第三次……会发现每次称量都是9个球,那么为了每次称量都是偶数,必须剔除一行不包含p的结果(球出现次数为3的行),例如剔除(zzy or  yyz),将1号球对应的结果改为(zzz or  yyy)也能推导出一个放法:

 

1456  vs 2378

13AB  vs 2459

167C  vs 349A

 

 

对于更多球的情况也类似,都要剔除某一个球出现次数等于n的行。

 

这个方法有个缺陷,就是计算量很大,将3^n的排列列出来,在n很大时是一个指数级的数。另外排布的时候需要注意,天平两端的球的个数都是( 3^(n-1) - 1 ) / 2 个。但这也算是一种研究,因为它能更清楚地看到天平称量n次的信息容量,以及这些信息都去了哪里。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值