把12个球编成1,2......12号,则可设计下面的称法:
左盘 *** 右盘
第一次 1,5,6,12 *** 2,3,7,11
第二次 2,4,6,10 *** 1,3,8,12
第三次 3,4,5,11 *** 1,2,9,10
每次都可能有平、左重、右重三种结果,搭配起来共有27种结果,但平、平、平的结果不会出现,因为总有一个球是不相等的。同样左、左、左,右、右、右的结果也不回出现,因为根据设计的称法,没有一个球是三次都在左边或右边的。剩下的24种结果就可以判断出哪种情况是哪一个球了。例如:如果结果是平、平、左或是平、平、右,就可判断出是9号球,因为第一次与第二次都没有9号球,唯独第三次有9号球,而第一次与第二次都是平的,只有第三次是失衡的,说明9号球的重量与其它的球不同。据此原理可判断出其它的各种情况分别是哪个球。有12个球,而坏球又可能比好球轻也可能比好球重,所以总共有12x2=24种可能,24可能结果如下
表:
可 能 - 结 果 可 能 - 结 果
------------ ------------
1号球,且重 -左、右、右 1号球,且轻 -右、左、左
2号球,且重 -右、左、右 2号球,且轻 -左、右、左
3号球,且重 -右、右、左 3号球,且轻 -左、左、右
4号球,且重 -平、左、左 4号球,且轻 -平、右、右
5号球,且重 -左、平、左 5号球,且轻 -右、平、右
6号球,且重 -左、左、平 6号球,且轻 -右、右、平
7号球,且重 -右、平、平 7号球,且轻 -左、平、平
8号球,且重 -平、右、平 8号球,且轻 -平、左、平
9号球,且重 -平、平、右 9号球,且轻 -平、平、左
10号球,且重-平、左、右 10号球,且轻-平、右、左
11号球,且重-右、平、左 11号球,且轻-左、右、平
12号球,且重-左、右、平 12号球,且轻-左、右、平
上面的24种结果里面没有一个重复的,也可以把上面的结果反过来当成可能,也可唯一的推出哪个球为坏球,证明此方法可行。
矩阵算法,可以简单地用计算机数组实现!!!
12个球称3次找坏球的完美解答
古老的智力题详述:
有12个球特征相同,其中只有一个重量异常,要求用一部没有砝码的天平称三次,将那个重量异常的球找出来。
网上的最多的方法是逻辑法,还有少数画成图的所谓策略树和基于此的程序算法.这道题有13种不同的答案.这里我提出一种新的完全的数学解法:
一·首先提出称量的数学模型:
把一次称量看成一个一次代数式,同样问题就可以描述成简单的矩阵方程求解问题.怎么把一次称量表示成一个代数式呢?
1),简化描述小球的重量(状态)----正常球重量设为0,设异常球比正常球重为1或轻为-1,异常球未知轻重时用x代表(只取1或-1).用列向量j表示所有球的重量状态.
2),简化描述称量的左右(放法)-----把某号球放左边设为1,右边设为-1,不放上去设为0.用行向量i表示某次称量所有球的左右状态.
3),描述称量结果:
由1),2)已经可以确定一个称量式
∑各球的重量*放法=天平称量结果.--------(1)式
如果我们用向量j,i分别表示球的重量状态和球的左右放法情况(j为行向量,i为列向量),对于(1)式,可以改写为
j*i=a(常数a为单次称量结果) -------------(2)式
例如有1-6号共6个小球,其中4号为较重球,拿3号5号放左边,1号4号放右边进行称量,式子为:
(-1)*0+0*0+1*0+(-1)*1+1*0+0*0=-1,
从-1的意义可以知道它表示结果的左边较轻;
同样可以得到0表示平衡,1表示左边较重.
4),方程用来描述称量过程,还需附加一个重要的条件:代表放左边的1和右边的-1个数相等,也就是
∑各球的放法=0-------------------------(3)式
这样就解决了称量的数学表达问题.
对于12个小球的3次称量,分别用12维行向量j1,j2,j3表示,由j1j2j3便构成了3×12的称量矩阵J;对于某一可能情况i,对应的3次称量结果组成的3维列向量b,得
J*i=b
二·称球问题的数学建模
问题的等价:
设J为3×12的矩阵,满足每行各项之和为0。i为12维列向量,i的某一项为1或-1,其他项都是0,即i是12×24的分块矩阵M=(E,-E)的任一列。而3×27的矩阵C为由27个互不相同的3维列向量构成,它的元素只能是1,0,-1.
由问题的意义可知b=J*i必定是C的某一列向量。而对于任意的i,有由J*i=b确定的b互不相同.
即
J*M=J*(E,-E)=(B,-B)=X -----(设X为3×24的矩阵)
因为X为24列共12对互偶的列向量,而C为27列,可知从C除去的3列为(0,0,0)和1对任意的互偶的列向量,这里取除(1,1,1)和(-1,-1,-1).
由上式得J*E=B推出J=B,X=(J,-J)。因此把从27个3维列向量中去除(0,0,0),(1,1,1),(-1,-1,-1)然后分为互偶的两组(对应取反)
[ 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1];
[ 0, 1, 1, 1, 0, 0, 0, 1, 1,-1,-1,-1];
[ 1, 0, 1,-1, 0, 1,-1, 0,-1, 0, 1,-1].
[ 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1];
[ 0,-1,-1,-1, 0, 0, 0,-1,-1, 1, 1, 1];
[-1, 0,-1, 1, 0,-1, 1, 0, 1, 0,-1, 1].
现在通过上下对调2列令各行的各项和为0!!即可得到J.我的方法是从右到左间隔着进行上下对调,然后再把2排和3排进行上下对调,刚好所有行的和为0。得
称量矩阵J=
[0, 0, 0, 0, 1,-1, 1,-1, 1,-1, 1,-1];
[0, 1,-1,-1, 0, 0, 0,-1, 1, 1,-1, 1];
[1, 0,-1, 1, 0,-1,-1, 0,-1, 0, 1, 1].
相应三次称量两边的放法:
左边5,7,9,11 :右边6,8,10,12;
左边2,9,10,12:右边3,4,8,11;
左边1,4,11,12:右边3,6,7,9 。
*********** ********** ************ **********
1号球,且重 -平、平、左 1号球,且轻 -平、平、右
2号球,且重 -平、左、平 2号球,且轻 -平、右、平
3号球,且重 -平、右、右 3号球,且轻 -平、左、左
4号球,且重 -平、右、左 4号球,且轻 -平、左、右
5号球,且重 -左、平、平 5号球,且轻 -右、平、平
6号球,且重 -右、平、右 6号球,且轻 -左、平、左
7号球,且重 -左、平、右 7号球,且轻 -右、平、左
8号球,且重 -右、右、平 8号球,且轻 -左、左、平
9号球,且重 -左、左、右 9号球,且轻 -右、右、左
10号球,且重-右、左、平 10号球,且轻-左、右、平
11号球,且重-左、右、左 11号球,且轻-右、左、平
12号球,且重-右、左、左 12号球,且轻-左、右、右
三·问题延伸
1,13个球称3次的问题:
从上面的解答中被除去的3个向量为(0,0,0)(1,1,1)(-1,-1,-1).而要能判断第13个球,必须加入1对对偶向量,如果加入的是(1,1,1)(-1,-1,-1),则
[ 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,1];
[ 0, 1, 1, 1, 0, 0, 0, 1, 1,-1,-1,-1,1];
[ 1, 0, 1,-1, 0, 1,-1, 0,-1, 0, 1,-1,1].
[ 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1];
[ 0,-1,-1,-1, 0, 0, 0,-1,-1, 1, 1, 1,-1];
[-1, 0,-1, 1, 0,-1, 1, 0, 1, 0,-1, 1,-1].
第一行的非0个数为奇数,不论怎么调也无法使行和为0。故加入的行只能为自对偶列向量(0,0,0),结果是异球可判断是否是第13球时却无法检查轻重。也可见,13球称3次的问题和12球称3次的问题只是稍有不同,就如12个球问题把球分3组4个称,而13个球问题把球分4组(4,4,4,1),第13个球单独1组。
2,(3^N-3)/2个球称N次找出异球且确定轻重的通解:
第一步,先给出3个球称2次的一个称量矩阵J2
[ 0, 1,-1];
[-1, 0, 1].
第二步,设Kn=(3^N-3)/2个球称N次的称量矩阵为N行×Kn列的矩阵Jn,把(3^N/3-3)/2个球称N-1次的称量矩阵J
第三步之1,在N-1行的矩阵J上面添加1行各项为0,成新的矩阵J'.
第三步之2,在N-1行的矩阵J上面,添加行向量t=(1,1,...,1,-1,-1,...,-1),成新的矩阵J".t的维(长)和J的列数一致,t的前面各项都是1,后面各项都是-1;t的长为偶数时,1个数和-1个数相等;t的长为奇数时,1个数比-1个数少1个;
第三步之3,在N-1行的矩阵-J上面,添加行向量t=(1,1,...,1,-1,-1,...,-1),成新的矩阵J"'.
第四步,当J的列数即t的长为奇数时,用分块矩阵表示矩阵Jn=(J',J",J"',Xn,Yn,Zn);当J的列数即t的长为偶数时,用分块矩阵表示矩阵Jn=(J',J",J"',Xn,-Yn,Zn);
此法可以速求出一个J3为
[ 0, 0, 0, 1,-1,-1, 1,-1,-1, 0, 1, 1];
[ 0, 1,-1, 0, 1,-1, 0,-1, 1, 1, 0,-1];
[-1, 0, 1, -1, 0, 1, 1, 0,-1, 1, 0,-1].
同样可以继续代入求出J4,J5的称量矩阵。
3,2类主要的推广:
第1类,有(3^n-3)/2个球,其中有一个异球,用天平称n次,找出该球并确定是较轻还是较重。
第2类, 有n个球,其中混入了m个另一种规格的球,但是不知道异球比标球重还是轻,称k次把他们分开并确定轻重? 显然,上面的推广将球分为了两种,再推广为将球分为n种时求称法。
对于第一类推广,上面已经给出了梯推的通解式。而对于第二类推广,仅对于m=2时的几个简单情况有了初步的了解,如5个球称3次找出2个相同的异球,9个球称4次找出2个相同的异球,已经获得了推理逻辑方法上的解决,但是在矩阵方法上仍未理出头绪,16个球称5次找出2个相同的异球问题上普通的逻辑方法变得非常烦琐以至未知是否有解,希望有高手能继续用矩阵方法找出答案,最好能获得m=2时的递推式。
上面的通解法得到的J4=
[ 0,0, 0, 0, 0, 0,0, 0, 0,0,0, 0, 1,1, 1, 1, 1, 1,-1,-1,-1,-1,-1,-1,1, 1, 1, 1, 1, 1,-1,-1,-1,-1,-1,-1,0,-1, 1];
[ 0,0, 0, 1,-1,-1,1,-1,-1,0,1, 1, 0,0, 0, 1,-1,-1, 1,-1,-1, 0, 1, 1,0, 0, 0,-1, 1, 1,-1, 1, 1, 0,-1,-1,1, 0,-1];
[ 0,1,-1, 0, 1,-1,0,-1, 1,1,0,-1, 0,1,-1, 0, 1,-1, 0,-1, 1, 1, 0,-1,0,-1, 1, 0,-1, 1, 0, 1,-1,-1, 0, 1,1, 0,-1];
[-1,0, 1,-1, 0, 1,1, 0,-1,1,0,-1,-1,0, 1,-1, 0, 1, 1, 0,-1, 1, 0,-1,1, 0,-1, 1, 0,-1,-1, 0, 1,-1, 0, 1,1, 0,-1].
把12个球分别编上号,并随意分成3组。不失一般性,分别为:
(1、2、3、4)..①;(5、6、7、8)..②;(9、10、11、12)..③.
第一称:把①与②组放在天平两端称。结果有两种情况:一种是平;另一种是不平,不妨假设组①重于组②。
先来看平的情况。则1-8号球全部正常。次品必在组③,即在9-12号球中。
在9-12号球中任选3个,不妨选(9、10、11)...④,存下12号球:在正常球1-8号球中也任选3个,不妨选(1、2、3)...⑤。
对④与⑤进行第二次称。结果有三:④=⑤;④>⑤;④<⑤。
如果④=⑤时,次品是12号球。第三次用12号球与任意一个正常球称,则可立马将12号次品球是偏重、还是偏轻正确判断出来 。
如果④>⑤时,则次品球必在组④的3个球内,且重于正常球。这时,在9-11号3个球中任选两个(不妨设是9与10号球),再放到天平上称第三次。这时有三种情况:9=10;9>10;9<10。
当9=10时,次品必是11号球,它比正常球要重;当9>10时,则偏重的9号球是次品;当9<10时,偏重的10号球是次品。
同理可证④<⑤时的情况。
对于另一种不平的情况改次再证明。 继续证明.
当不平时有两种情况,即组①>组②;组①<组②。
现在来讨论当组①>组②的情况。即(1、2、3、4)重于(5、6、7、8)。
将组①与组②中的球进行调整,并重新编组:组①中留下3号球,拿出4号球,并把1、2球改放到组②中去,并添入正常球一个,不妨设为9号球;组②中留下7号球,拿出6、8号球,并把5号球改放到组①中去,编成新组:(5、3、9)…③;(1、2、7)…④。
现在进行第二称,即把组③和组④放在天平上称。结果有三:
③=④;③>④;③<④。
当③=④时。则次品球必在拿出去的几个球内,即在4、6、8号3个球内,且知4号球至少重于6号、8号球中的一个。这时用6号球与8号球进行第三次称,结果是6号=8号;6号>8号;6号<8号。当6号=8号时,则4号球是次品球,且它比正常球要重;当6号>8号时,则次品是8号球,它比正常球要轻;当6号<8号时,则次品是6号球,它比正常球要轻。
当③>④时。说明:变动后的组仍保持着原有组的重轻本质,这是由组内保持不变的球造成的,则次品球必在3号与7号球之间,且知道3号球一定重于7号球。这时进行第三次称:从3、7号球中任选一与正常球称,不妨选3号球与正常球9号称。结果有:3号=9号;3号>9号;3号<9号。当3号=9号时,则次品是7号球,它比正常球要轻;当3号>9号时,则次品是3号球,它比正常球要重;当3号<9号时,又由3号>7号,则3号与7号均是次品,这不可能,因为与条件中规定的次品只有一个矛盾。
当③<④时。这是由交换了组别的球造成的,因此,次品球必在1、2、与5号之间,且5号球至少轻于1、2号球中的一个。这时用1、2号球进行第三次称,。结果有:1号=2号;1号>2号;1号<2号。当1号=2号时,次品是5号它比正常球要轻;当1号>2号时,这时次品是1号,它比正常球要重;当1号<2号时,又5号也小于2号,则次品是2号,它比正常球要重。
同理可证:组①<组②。
……