字词模式
句模式
段模式
系统设置
更多按钮
网址切换
保存状态
用户反馈
页面收藏
-AA+
扑克牌魔术里的数学

你有没有看过这样一个扑克牌魔术:魔术师在五六个人好奇的注视下,拿来一叠扑克牌,说:“首先大家检查一下这叠牌是不是不同的花色和点数。”然后对一位观众说:“您可以从这叠牌的上方拿任意数量的牌放到这叠牌的下方(专业一点可以称作切一下牌)。

第一位观众照做之后,把这叠牌递给旁边的人,旁边人同样切一下牌之后,再递给下一个人,轮到最后一个人切完牌的时候,这副牌的顺序已经被完全打乱了。

接下来魔术师会让最后一个人拿走此时这叠牌最上面的一张,再把这叠牌给旁边的人,同样拿走最上面的一张,最后每个人手中都有一张牌。

然后魔术师会说:“我看不到你们任何一个人的牌,但现在用意念已经知道你们每个人手中的牌是什么了。”很多人心里一定会想:这也太神奇了吧?

魔术师又说:“首先请手中是黑色牌的童鞋站起来。”紧接着他就开始一一说出每个人手中的牌是什么:“你的是黑桃 5,你的是梅花 8……对于剩下手中是红色牌的童鞋,你的是红桃 3,你的是方片……”

最后把每个人的牌翻开一看,全部命中,无一错误。

魔术揭秘

这是一个很经典的魔术,不仅可以骗过醉醺醺的酒鬼,就连魔术师俱乐部里的专业魔术师、美国数学学会晚宴上的数学家们都对这个魔术毫无思绪,猜不出其中的原理。

表演的关键点在魔术师号称他已经知道每个人手中的牌是什么的时候。其实他对每个人手中的牌一无所知,在“首先请手中是黑色牌的童鞋站起来”之后他才知道了所有人手中的牌,他利用各位观众手中红牌、黑牌的排列顺序作为线索,推断出大家手中是什么牌。

具体来说,表演这个魔术需要两件道具:一是事先按顺序排列好的一叠牌,可以从一副扑克牌中取出数字 1832张,然后把它们按照下面的顺序排列(背面向上由上到下):

梅花 8、梅花 A、梅花 2、梅花 4、黑桃 A、方片 2、梅花 5、黑桃 3、方片 6、黑桃 4、红桃 A、方片 3、梅花 7、黑桃 ANOAHDIGITAL 10、红桃 ANOAHDIGITAL 11、红桃 ANOAHDIGITAL 12、红桃 ANOAHDIGITAL 13、红桃 ANOAHDIGITAL 14、方片 A、梅花 ANOAHDIGITAL 15、梅花 ANOAHDIGITAL 16、黑桃 ANOAHDIGITAL 17、红桃 ANOAHDIGITAL 18、方片 ANOAHDIGITAL 19、黑桃 ANOAHDIGITAL 20、红桃 ANOAHDIGITAL 21、红桃 ANOAHDIGITAL 22、方片 ANOAHDIGITAL 23、黑桃 ANOAHDIGITAL 24、方片 ANOAHDIGITAL 25、黑桃 ANOAHDIGITAL 26、方片 ANOAHDIGITAL 27

这样排列的巧妙之处在于:即使被切过牌,也可以保证任意抽出五张连续的牌,其中黑色和红色的排列顺序一定是唯一的。如果黑色牌是 0,红色牌是 1,这些长度为 5的二进制序列一定是互不相同的。

另外一件道具是一张表格,可以把它藏在手心里,也可以把它藏在一本书里,当然还可以把它死记硬背下来。对于以上的扑克牌排列顺序,对应的表格是这样的:

假如在魔术中,你发现按照拿牌的先后顺序,第二位和第四位观众站起来了,则说明各观众手中的牌分别是红黑红黑红,二进制形式就是 10101,按照表格一查,立刻就可以“感知到”这五个人手中的牌分别是方片 5、黑桃 2、方片 4、黑桃 8、方片 8

这一神奇魔术背后的数学原理是二进制的 DeBruijn序列。从这样的序列中任意取出相邻 n个数(在我们的魔术中 n= 5),它们的二进制排列一定不相同。下面我们把最开始的那叠牌写成二进制形式(黑色 0,红色 1),大家可以验证一下是否如此:

0000010010ANOAHDIGITAL 10ANOAHDIGITAL 11ANOAHDIGITAL 12ANOAHDIGITAL 13ANOAHDIGITAL 14ANOAHDIGITAL 15ANOAHDIGITAL 16ANOAHDIGITAL 17ANOAHDIGITAL 18ANOAHDIGITAL 19ANOAHDIGITAL 20ANOAHDIGITAL 21ANOAHDIGITAL 22ANOAHDIGITAL 23ANOAHDIGITAL 24ANOAHDIGITAL 25ANOAHDIGITAL 26ANOAHDIGITAL 27ANOAHDIGITAL 28ANOAHDIGITAL 29ANOAHDIGITAL 30ANOAHDIGITAL 31

对于同样的 32张牌, DeBruijn序列自然不是唯一的,可以有很多种排列方法,不同的排列方法也对应着不同的“解密表格”。 DeBruijn序列长度也可以更长,随之变大的是每次需要取出相邻牌的个数 (n)

对于不同数量的观众,我们需要准备不同数量的牌。 5个观众比较适中,而如果给一个班级所有人一起表演,尽管效果无比震撼,但是扑克牌估计要用麻袋来装了。

不只是魔术

DeBruijn序列的奇妙不仅体现在魔术上。我们还可以使用它为机器人做路标定位:将两种不同颜色的小方块排成一条长线摆在机器人行进的路上,机器人只要识别出自己前后的几个方块是什么颜色,既不需要 GPS,也不需要高精度探测仪,就可以知道自己走了多少米。