对称与魔术初步(二)——经典魔术《命中注定的缘分》

2022-03-17 14:52:58 浏览数 (1)

在上篇文章中,我们对对称性的概念作了一个全方位的解释,其在表面美丽背后的数学核心是对象在某操作下某性质的不变性。回顾内容请戳:

对称与魔术初步(一)——美丽的对称

今天要介绍的这个魔术,严格来讲并没有直接用到对称的原理,但是其呈现上确是以对称的形式来给人以美感的,而且里面使用的数学和魔术方法也十分的巧妙,今天就把这个经典作品和大家分享一番。

命中注定的缘分

先看视频。

视频1 命中注定的缘分

//v.qq.com/txp/iframe/player.html?

这个魔术常用来被我说明在魔术呈现层面的对称性,因为表面上看,最后的结局就是两人的结果一模一样,就像镜子里外一样。这不禁让我想起了Kiko的镜面自动化流程,直接以镜面对称为寓意来做巧合,作为本质是值相等的魔术效果,也是很美。不过这里再从数学角度提一下,这里的对称有两层意思,第一个是镜片反射成像或被同等看待的合理操作是一个对反函数操作有着对称不变性的操作,或者称这是一个对称关系(函数);即,这个操作前后所得的集合整体便因此具有了再经此变换的不变性。而后者,才是真正的由这个函数作用生成对象集组成的新的图案的对称性描述。而对折重合只是这个轴对称满足的C2群内元素的性质罢了,只是巧的是,这个性质刚好等价于对称函数这个对象对交换前后项这个操作是个不动点的说法,一个着眼于对象,一个着眼于变换函数。

当然了,从严格的图案层面上看,这两列巧合的结果也并非完全对称,只是其抽象值序列完全相等。就像把倒序改正序,互补改相等的两条配对的碱基单链一样,或者直接就是一对同源染色体一样,是对称的。不过这种对称好歹肉眼可见,没有DNA那么抽象,看得见,摸得着。

那从原理上有什么说的呢?

数学原理

第一个原理便是信息论方面的,论述过程中也涉及到一些基础的排列组合和对称的知识,即如何读取一张有5个选项的牌的信息。这个信息值log5 bit。我们需要把这log5 bit的信息,用最小的代价记在可以看到的牌背,被认为没有信息的地方。这并不是什么难事,因为bicycle和tallyho这中扑克牌眼花缭乱的牌背,有太多可以通过涂黑等的方式来做这个记号而丝毫不被察觉了。而虽然每个地方的涂与不涂只有1bit信息,但是你要知道,多涂几个虽然bit是线性增长的,可能编码的信息量(等价平均可能数)是指数增长的,就像声音的分贝单位一样,多一分贝都吓死人。

但是有个地方需要注意,扑克牌是有C2对称性的,比如你并分不清右上角和左下角两个点哪个是哪个,如果不曾确定其摆放方式的话,这两个点仅有3种涂法,01和10的涂法对应同一个图案集,不可分辨(化学里的说法就是属于群变换的同一轨道)。因此,这里关于到底涂哪些点,多少点,一共能编码多少信息,还没有那么显然。

我们注意到,Bicycle(Tallyho也有)扑克牌上四角有四个中心原点,可以做上涂黑与不涂黑的标记,他们高度对称,也很隐蔽,现在我们试着求一下仅涂黑与否时,可做标记的种数。

扑克牌在长方形,不可翻转下是R2或D1群。给4个点从左上角开始顺时针编号0:3,故已知其摆放方向的涂抹情况集合为S = B ^ 4,|S| = 16。

令S1 = {s in S | s[0:2] = s[2:4]},表示第一行为第2行图案的旋转条件下的所有图案数;S2 = C(S1, S),为其余补集图案。则|S1| = 2 ^ 2 = 4, |S2| = 2 ^ 4 - |S1| = A(2 ^ 2, 2) = 12。

由于扑克牌所属对称群描述的对称性,我们无法知道你看到的样子是群内哪一个元素描述状态下的样子,故看到的仅能判断是否在一个B ^ 4子集中,该集合由一个元素和群内全体操作构造而成,成为新的描述可判断状态的集合。

S1中的元素旋转不变,故都是单元素成子集,保持C1群,共4个单元素子集;

S2中的元素成对对称地构成2元素集,恰好各自成对地匹配到一起形成一个对称新集合,这样的集合共C(2 ^ 2, 2) = 6种结果。为什么是这么来的呢?先考虑前两个元素,共有2 ^ 2 = 4种选择,后两个元素不能相等,故取剩下3种,总的排列是A(4, 2) = 12种,又因为每个集合两两配对,恰好是组合数的含义,故最后共C(2 ^ 2, 2) = 6种(当然,用补集思想也可以得到计算上的验证,或者直接枚举,用排列组合公式写稍微有点勉强),即共形成6个互不相交的C2群。

故这样对称性的牌背上的4个二进制编码点,共能编码log(4 6) = log 10 bit的信息,因为C2对称性,减少了C(4, 2)个可能性,恰是因为这个C2群代表的两个状态无法分辨导致的可编码数量的减少。

不过,这个魔术本身的编码并没有那么复杂了,因为4个点编码5个值,只需要根据点的黑点数量为0:4共5个结果就能判断了(若无对称性,则直接以全0加上one-hot编码也就足够了)。比如1~5点数就恰好代表点前面黑点的数量,想象是一个5棵树的圈,那第五个点实际上就是第0个点,恰好没有黑点。之所以这么做是因为本身log 10 > log 5 存在冗余,我们可以仅用一些浅层特征就能编码出来要的信息,不必那么讲究和节约。同时,这个通信过程需要人去操作和理解,因此,更好地是还必须适合人脑来记忆编码,上面这种物理模型就恰好是人脑擅长的,对机器倒是没什么帮助。

当然了,如果你一直注意让对方洗牌不要洗乱朝向的话,可以编码更多信息,不过魔术表现上好像没什么必要了。所以能够不管朝向地随便洗,这里是数学帮了你的忙了。

另外顺便提一下如何用牌背编码整副牌信息,其实也就log54,不到6个bit,其中花色2bit刚刚好,点数4bit绰绰有余。其实就拿其中一角上的8个花瓣,bicycle和tallyho通用,4个one hot编码表示花色,另外4个二进制整数编码表示点数,即可完成。你发现没有,当信息资源充足的时候,还考虑啥对称性啊,我只不对称地用了一个花瓣!

好了,可以通过背面来知道观众放了什么,这个魔术按道理就可以一直跟着观众后面一个个选一个个放了,然而,这样显然容易顺藤摸瓜被观众找出奥秘来,哪怕他没发现到底怎么做的记号,但是看你可疑的眼神和表演的过程逻辑,已经推理出一二了。

数学遇到麻烦了,魔术是时候得做点什么,让这件事更富有浪漫感。

魔术原理

这个原理叫前移原理,也叫one step ahead。这里使用的关键点有两个,一个是多个效果最后统一展示,通过一些方式是的看起来像前面都成功了,这个和经典魔术《三叠感应》是一样的;另一个是,其中每次表演也确实为下一次做了铺垫,即one step ahead,但是铺垫的仅仅是表演效果,实际效果要到最后才能揭晓。其中第一点不是必要性质,只是有些结构只能如此罢了,这也是和《三次预言》魔术结构上的不同,这里是假装有效果实际是个错位的效果,而最后才能重新调整揭晓,而后者是真的one step ahead地在铺垫真实效果。

而在这里还有一点不一样,其还利用了一个小小的数学事实,也是数学和直觉的一个差距对魔术效果的放大。5张牌的排列的匹配,其实远没有5 ^ 5这么多个可能性,仅有5! = 120而已。如果从排列角度,就是每选一张就少了一个可能性,即,当观众拿出第4张的时候,它的排列所有的信息已经结束了!从信息上讲,我们确实并不需要最后一张牌的值,所以这种观众所不能察觉到的错位的跟随从理论上是可以还原回整个序列,信息不缺失的!

而从实际操作上看,第一张是放的多余牌,先放的第5张其实是根据第4张来的一个double,把4对应的值放底,剩下那张放顶即可。这样看来这个魔术师放的序列里1:5恰好跟随了0:4,完全相等,而其5和观众的4,在排列选定元素时候已经只剩下一个的时候,自然会相等,这时候,只需要用魔术手法把真的底牌移走,便完成了这个惊世骇俗的匹配和对称结局!魔术在最关键的时候,又一次完成了从数学原理到艺术殿堂的飞跃一步!

下一篇,我们继续来看一个堪称奇迹的对称结构的作品,视频先附上,敬请期待!

0 人点赞