上一篇文章,我们开启了序列周期性这一话题里的数学部分的分析:
传送门:
其中,我们谈到一叠扑克牌在位置平移操作下的数学结构是最基础的群——循环群(Cyclic Group),记作Cn,n即为我们的周期:
Cn = <x | x ^ n = e>
其对应的元素集合为:
Sn = {x ^ i | i in 0:(n - 1)}
扑克牌叠的位置索引,在位置的平移操作下,构成一个C54群。
那这里的所谓位置平移,到底是平常我们玩扑克牌里的哪种操作呢?
二切牌与牌叠周期性
没错,就是二切牌!
英文叫:Cut and complete the cut.
切牌带来的操作,是使得下面一叠每一张牌的索引都- D1 mod n,上面一叠每张都+ D2 mod n,D1是切第一叠牌的厚度,D2是第二叠,有D1 + D2 = n = 54,故有:
(x - D1) mod n = (x + D2) mod n
这里用的不是固定索引下牌值的变化,而是成了固定点数的牌实体在切牌作用下所到达的索引的变化,满足和位置索引平移同样的规律,是一个C54群。群内的每一个元素都可以用一个特定的牌叠来代表,或者直接用某张特定牌的索引值来代表,比如第一张,他们都代表的是整个扑克牌叠形态作为群内集合元素的表达。就像一个54边形每条边的颜色都不一样的54种摆放方式,或者一天有54小时的时针的整点位置状态一样,他们背后的数学结构是同构的。
所以,扑克牌叠在二切操作下是一个C54群,有着以54张的切牌为周期的牌叠不变性(索引到扑克牌值的一一映射,这是群内元素的性质)。注意,仅有这个操作是有对称性的,然后这个操作如果不分解那就相当于什么也不做,但是分成两部分作一个triple cut则看起来就真实很多,而这也是常见的选牌置顶的方法。
而其对称不变性的原因则是群内性质x ^ n = e所构造出来的恒等式:对任意y,有y + x ^ n = y + e = y,以及任意张数切牌,作为整体牌叠的群的封闭性,不会脱离这个范围。
注意了,上一篇讲的周期性是单张牌的向特定方向移动次数到牌叠上的值的函数,这一篇其实是整个牌叠序列在某个初始条件下切牌任意张数的张数到整个牌叠状态的函数,就像每条边都涂了不同颜色的一个正n边形一样,从某条边开始转动角度到边的映射和转动角度到整个n边形状态的函数,都是周期函数,而背后,是同一个循环群的数学结构,却是两个不同的性质,前者是C ^ n = e的元素性质,后者是群在其内操作下其整个集合的不变性。如果你认这个不变性,那就相当于认,扑克牌叠怎么二切都是同一叠牌,不识别其头尾,或者,如下扑克牌环,无论怎么观察,没有起点和终点:
上述就是任意扑克牌叠的周期性所在了,本质上是切牌到固定张数操作的不变性,这一Cn群内元素的运算性质。看起来,切一下牌和转一下时钟,n边形,或者做个模加法,是一样的操作。
说到这里,可能有同学对这里的描述和脑海里关于扑克周期性的印象起了冲突了。因为这样的描述只是让我们明白切牌操作的封闭范围,但就不变性的操作来讲,这切54张不就没切么,这种对称性有什么用?比如,有没有周期更短的周期性呢?那些按照1234512345点数顺序排列的牌的性质又应该怎么使用和怎么描述呢?
牌叠上的子周期性
上述通用周期性,如果是最小周期的话,其实是假定,对于考察的性质,在C54的周期内,没有更小的子周期了。扑克牌叠每张都不一样,自然那没有,但是如果考察其花色或者数字这样的又重复的扑克牌值属性,那么,子周期又是存在的。比如,考察去掉大小王的52张都按照Ace到King排列的牌叠:
Heart: Ace~King, Club: Ace~King, Diamond: Ace~King, Spade: Ace~King
这个更厉害了,直观看去,仅需要T= 13的周期就能够完成一次点数的不变性了。看起来,这恰好是一个C13群,即只要切牌到13和它的倍数就能保持牌叠看起来不变,就像一个52边形用13种颜色循环地给边找色,只需要转动13次就能够与原来完全重合。
故此序列在点数性质下的对称性可以描述为一个以切13张牌为操作的C4群,即此群内所有元素点数都相同,互相对称。而扑克牌叠也仅有13个状态而已,任何一个位置,移动13下,会得到相同的点数,关于这件事,群论中间早就有相关的描述:
C52 / (13C52) = C13
C52 = C13 * C4
第一个式子是从商群角度得到这个C13群。第二个是直积的角度,此式成立的条件是两个因子要互质,而这里隐藏的C4群实际上可以理解为对于移动13张这个操作来说,移动不改变其状态,但4次才真正移动到原位置,4也是真实物理周期数,移动完了整个牌叠。
换个角度看,也可以是一个周期为13的序列,复制了4次,构建了一个C52群,C13还在,但是复合了一个移动13为单位的C4群,我们用群的直积来描述了这种现象。
和前面一样,这样拥有子周期序列的序列不怕二切牌,前提是必须是完整周期。不完全的周期,比如周期并不能被序列长度整除,那这样的周期性是局部的,整体并不存在,仍然仅有正叠牌对应的那个周期性而已。
如何利用周期性变魔术?
在魔术上,从任意起点取一个子周期那么长张牌,一定能遍历一个周期,就像沿着C13的圆周,无论起点在哪里都能顺序得到一个完整的圆周,而且再从这点开始,又能得到一个顺序完全一样的圆周点序列。即:
if f(x) = f(x mod T), then
f(x) = f((x - p) mod T + p)
这里,p即为取值起点,物理里称为相位,即取的周期函数的周期起点位置,决定了整个周期内的函数值。
这恰巧是由这个子周期缩短了全周期造就的性质,无论从哪里开始取值,一定是个周期全集,他们和原始周期都只差一个的距离,而取的全集却是相等的。而这些取到的周期内集合,都可以作为魔术的素材来使用,比如Gilbreath原理很多时候就间接利用了这一点。当然,如果扑克牌叠没有更小的周期性,那就是整叠牌二切任意次整个集合是相等的,这就有点没有实际意义了。
另外,而如关键牌法不怕切牌的原因便是,两个索引之间的关系x1 + d == x2(mod n),在切牌对应的模加法函数上由函数的映射性质,必然保持不变。关于关键牌法的魔术性质,我们后面专门找机会展开讲。
数学上的周期性和如何对此在扑克牌上建模已经分析完了,下面我们来看看几个魔术对这一原理的具体应用。
视频1 五张牌的猜想
这个魔术在《奇偶性与魔术(三)——魔术的艺术魅力》,《关于洗牌的研究(五)——从数学到魔术之印度洗牌》相关作品中已经说过多次,这里不详细分析魔术过程了,只用来说明关键牌法为什么可以在执行二切操作仍然有效的。
关键牌法目标是通过其他已知牌来确定目标牌的索引(也许有直接确定牌值的,比较罕见),进而确定其牌的值。那么其关键就有两点:
1. 关键牌位置的获取
2. 关键牌和目标牌的位置关系
关键牌位置的获取可以通过物理感知和视觉两种方法,比如crimp,bridge,长短等等手上能摸得出来的手段(Robert Giobbi在control专辑中专门讲过这些内容),视觉的则直接去辨认牌正面去看是不是之前记忆的那一张而已。而位置关系一般是索引的模加法,+1是最常见的,当然也可以为了某些更迷惑性的目的取得更长。一起写成公式就是:
V = v(i(V’) + d)
V是目标牌的值,v是对索引的求值函数,i是对值的求索引函数,d是关键牌和目标牌之间的距离。
在真的表演过程中,i函数的具体求值往往可以省略,因为我们可以直接通过数数得到+d的结果真实物理位置,进而看到牌的值;而v函数也可以省略,是因为我们只需要知道牌是哪一张就可以了,至于是几,不重要。把关于索引的部分抠出来就是:
i’ = i + d
这中间往往会增加给观众或自己的二切牌手法,来表示把牌洗乱。
前面说了,扑克牌叠对于二切操作是一个C54群,二切操作是一个对每张牌的索引都+mod D的一个操作,由函数映射的唯一性:
i’ + D = i + d + D显然成立。
所以,注意了,关键牌在二切以后,加法的索引关系就变成模加法了,但是不影响对牌的索引定位。只是注意,我们对牌的认识,在二切操作下,看成是一个C54群上的操作,首牌仅仅是状态的代表元素而已,不同的切牌结果也都逃不出这个群内元素的范围(全集是S54群,C54群实在太小了)。
关于扑克序列的索引映射,我们已经有其他系列介绍,这里暂不赘述。
下面这个表演是接下来要讲的魔术,先睹为快,下期我们再讲解:
本文分享自 MatheMagician 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!