正文
具体来说,表演这个魔术需要两件道具:一是事先按顺序排列好的一叠牌,可以从一副扑克牌中取出数字1到8共32张,然后把它们按照下面的顺序排列(背面向上,由上到下)
梅花8,梅花A,梅花2,梅花4,黑桃A,方片2,梅花5,黑桃3,方片6,黑桃4,红桃A,方片3,梅花7,黑桃7,红桃7,红桃6,红桃4,红桃8,方片A,梅花3,梅花6,黑桃5,红桃3,方片7,黑桃6,红桃5,红桃2,方片5,黑桃2,方片4,黑桃8,方片8
这样排列的巧妙之处在于:
即使被切过牌,也
可以保证任意抽出五张连续的牌,其中黑色和红色的排列顺序一定是唯一的(如果黑色牌是0,红色牌是1,这些长度为5的二进制序列一定是互不相同的)。
另外一件道具是一张表格,可以把它藏在手心里,也可以把它藏在一本书里,当然还可以把它死记硬背下来。对于以上的扑克牌排列顺序,对应的表格是这样的:
假如在魔术中,你发现按照拿牌的先后顺序,第二位和第四位观众站起来了,则说明各观众手中的牌分别是红黑红黑红,二进制形式就是10101,按照表格一查,立刻就可以“感知到”这五个人手中的牌分别是方片5、黑桃2、方片4、黑桃8、方片8。
这一神奇魔术背后的数学原理是二进制的De Bruijn 序列,从这样的序列中任意取出相邻n个数(在我们的魔术中n=5),它们的二进制排列一定不相同。下面我们把最开始的那叠牌写成二进制形式(黑色0,红色1),
大家可以验证一下是否如此。
0,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1
对于同样的32张牌,De Bruijn 序列自然不是唯一的,可以有很多种排列方法,不同的排列方法也对应着不同的“解密表格”。De Bruijn 序列长度也可以更长,随之变大的是每次需要取出相邻牌的个数(n)。对于不同数量的观众,我们需要准备不同数量的牌。5个观众比较适中,如果给一个班级所有人一起表演,尽管效果无比震撼,但是扑克牌估计要用麻袋来装了。