专栏名称: 好玩的数学
好玩的数学以数学学习为主题,以传播数学文化为己任,以激发学习者学习数学的兴趣为目标,分享有用的数学知识、有趣的数学故事、传奇的数学人物等,为你展现一个有趣、好玩、丰富多彩的数学世界。
目录
相关文章推荐
河北青年报  ·  100+脑洞大开的问题,带你走进神奇的数学世界 ·  11 小时前  
河北青年报  ·  100+脑洞大开的问题,带你走进神奇的数学世界 ·  11 小时前  
超级数学建模  ·  限时领 | 迪士尼神奇英语 ... ·  昨天  
超级数学建模  ·  这本书拿起来,就放不下! ·  2 天前  
超级数学建模  ·  限时领丨这10部顶级数学纪录片,从另一个角度 ... ·  2 天前  
老顾谈几何  ·  关于中国申办 ICM 2030 的倡议 ·  3 天前  
51好读  ›  专栏  ›  好玩的数学

Reverse原理背后的数学和魔幻艺术

好玩的数学  · 公众号  · 数学  · 2018-12-17 21:08

正文

第一次变用这个原理的魔术已经有十几年了,看起来就是拿起一叠牌发来发去,最后总能发出一些规律来,比如每一叠顶部都是Ace,在说上一些应景的话语,形成一个寓意美好的ending。Reverse这个名字是我自己取的,取自python中的list翻转函数(当然不同语言中都有类似的操作啦),这可以看作是一个纯self-working的魔术原理了,联想了一些大师作品和自己的创作,发现这个品类实乃奇妙的数学和美丽的魔术结合的又一瑰宝。


数学原理


这再简单不过了,我们知道如果 ,或者 ,即一个函数存在反函数且和原函数相等时,那么在坐标轴上看起来应该是沿着y=x方向对称的,函数的方程表达式上看则应该是x,y在表达式上的地位应该相当,比如xy= 1的反比例函数和 x²+y²=1的圆。(所谓相当就是互相替换以后式子含义等价,这个等价一般来源于乘法、加法的交换律哦~再想想,乘法和加法的交换律、分配律的原理又是什么?


图1 反函数等于原函数的例子:反比例函数和1/4圆


这些是初中数学的知识点了,我们再抽象一点,把 f 看作是对象(不一定是数)上的一个操作( operation ),这个操作同样有定义域和值域,以及对应关系,这个对应( x, y )的全体构成的集合也就定义了这个操作了。那么同实数上的函数,这个操作的性质则为:该操作和反操作的效果完全相同,或者,两个同样的操作以后会恢复原状!注意哦,这是可以早就两种完全不同魔术效果的原理哦,一个是“相同”,构造 coincidence ,还有一个是,还原(哈哈,这里不是撕牌还原的 restoration 啦,不要想偏了)!


巧了,上面描述的这个事情在数学上早就有名字了,他们统一叫做对称关系,即对任意关系集 A ,若 (a, b) 属于 A (b, a) 也属于 A ,按理说这种元素倒转后形成的新元组所在集合可以是 A ,当且仅当 A = A (这种样子的表达式是不是经常见到,那个矩阵的逆和自身相等则为单位阵的结论是不是长的差不多?)时候,这个关系称之为对称关系。当然对称关系只是等价关系的条件之一,后面有机会再分析其他两个(传递性,自反性)。当关系满足一一对应的时候我们称之为函数关系,这里即对称函数,在不同领域有不同名字,比如实数上的函数叫沿 y = x 对称,空间上我们称之为镜像关系( mirror ),而在扑克牌这里,我取名 reverse 操作,它是对称关系在序列空间上的具体形式,与镜像这些概念构成 counterpart 关系,当然, counterpart 关系也是对称关系了。


于是,扑克牌手法中的普通的一张一张发牌( dealing ),恰好等价于对扑克牌顶部的一部分牌执行 reverse 操作,嗯嗯,在程序员看来就是这样的:


#! /usr/bin/env python

# -*- coding:utf8 -*-

import numpy as np

import random

poker_list = range(54)

np.random.shuffle(poker_list)# shuffle the deck

n = random.randint(1, 54)# choose a position randomly

result_list = poker_list[:n]# get the pack from the top

result_list.reverse()# reverse it

我们可以看到,无论n为多少(这个选择其实很有限哦,信息量仅为54种可能而已,看起来自由其实束缚很大,一个隐形的限制就是,是从头开始的n张,前面若干张总是在你选择范围内。),其原来的顶牌在经过了两次reverse以后,依然会恢复到顶牌位置,而对于观众来说,如果表演得当,这些牌已经经过了充分的混乱和随机了,任何效果看起来都是那么不可思议!而做到这些效果,只需要想方设法,让这一操作的执行过程变得合理而有趣,这些就是魔术设计的艺术啦。


说了这么多,最后总结一下:扑克牌上的dealing手法等价于选序列头部进行reverse 操作,reverse是一个对称变换,反操作效果等价于原操作,操作两次可恢复原自变量值,而魔术效果也产生于这一性质。


嗯嗯,严谨的数学终于讲完了,下面是美妙的魔幻艺术。


不说废话,上表演!

魔术部分

第一个流程我印象很深刻,源于傅琰东老师在走进科学的一次访谈,嗯嗯,那时候我应该还是个10岁左右的翩翩少年。


视频1. 4Ace聚首


原理讲解: Reverse 部分的变种之一,即,在执行时候发成二叠甚至更多,这样在每一叠顶部的牌恰为原来顶部若干张,注意哦,由于张数不一样,那些牌的排列是起点可能不相同的循环队列哦,队列长度是牌叠数量 m ,起始位置取决与发出张数 n m 的值。当然这些都不重要啦,最后的效果是 4 张一样的 Ace 的组合,组合!谁会在这美妙的时刻去考虑他们的排列?(排列和组合是两种魔术效果,往往后者已经足够惊艳,而忘却了其实他们已经排列得很混乱了,以后的文章中还会有一系列效果用到了这个现象。)


表演关键:两个关键点,注意台词“一半多一点”让你有理由去放回 2 张,但是后面的表演已经要让这个不得不做的 dirty work 被让观众看起来更重要的流程盖掉乃至遗忘;另外,第一次发牌让观众停的时候,一定要发出去两张以后再说(当然如果只发了一张,那么发出的一叠和剩余顶牌就是 Ace ,那可能也是一个好结局吧)。

第二个流程也是来自我很小时候在一本厚厚的用照片拼成的魔术书上的,该书 来自于张德金先生的《图说魔术入门》。


图2 张德金先生的《图说魔术入门》封面


这本书至今应该还收藏在我老家爸妈的床底下,应该早就布满了灰尘吧。里面东西也没太大难度和深度,但至今我都视为至宝之一(嘿嘿,还有好几个宝贝呢 ~ ),因为她曾经是我童年的希望。


视频 2. 表里如一( 4Ace 聚首 2


原理讲解:经过后来的学习才领悟到,这里用到了 Dai Vernon The trick that cannot be explained 里面的一个经典思想,因为没有人知道我要做什么,所以只要看起来也还合理,还不太可能发生,甚至寓意还挺美好,那就是好魔术。像 magician s choice 和一些心灵类魔术也都由此原理而来。因此,一开始桌上 5 张牌,如果选了前 4 Ace 中的一个,没问题,如果选了最后一个,嗯嗯,会让他一直选到只剩下一张为止。现在桌上是 Ace 顶部 3 Ace ,一切就绪,执行 reverse 操作就可以了(第二次发成 3 叠)。







请到「今天看啥」查看全文