序列周期性与魔术(三)——经典应用与改良

2020-06-10 16:08:24 浏览数 (1)

在前面的文章中,我们从数学里的周期性入手,分析了序列周期性在对称群下的本质,以及如何把这一基本性质应用到魔术中的例子。

传送门:

序列周期性与魔术(二)——扑克牌叠里的周期性

序列周期性与魔术(一)——数学里的函数周期性

今天,我们来看一个经典流程,在我目力所及的范围内,是这一原理最佳的应用典范。

同花顺or金刚

先看表演。

视频1 同花顺or金刚

https://v.qq.com/x/page/v3055gqw92y.html

这个魔术我参考了很久以前刘谦在《魔星高照》的名人变魔术中的表演,但主要还是借鉴Woody Arogan的流程。它的原理真的很棒,让我一度以为是不是有专门的数学智囊团帮他去设计这些流程了。但是他在原教学里那个表演实在太不像一个魔术了,经过一些思考,遂改成上面的样子。

魔术方面,也就是基本的包装,因为这里可以执行的操作和有自由度的部分都比较固定,所以放大这个自由的部分给观众的感觉就成了最主要的设计目标。而流程目的则是为了最后能够发到目标的5张牌同花大顺,我们一边分析流程一边跟踪这个目标,就一目了然了:

0. Setting好的牌是4Aces,4Kings,2Queens,和一套Jack大的同花顺;

1. 洗牌时候用任何方法控制同花顺那5张是自己洗就好了,剩下的尽量分得不均匀,这样万一被看见也没关系;

(在完成表演以后,发现这个步骤其实可以改良成先分成10张和5张给两个观众洗(5张是同花顺那一叠),收回5张的,然后要10张那位观众分一半左右给刚才拿5张的同学继续洗,这样不仅两人结果随机,也都比较大,而且全程观众洗,更有说服力,唯一一个注意点是要用比如拿到桌下去洗等方法防止偷看到同花顺。)

2. 3叠牌按照任意顺序合起来,这样同花顺的5张牌所属的索引集合为:

SFk = {i | i / 5 = k}

k取自0:2,是牌叠的索引,其最大值是周期数决定的,但是这里的k具体值是未知的,后面也还会变,所以这个变量到后面再想办法去除。

3. 把牌发成5叠,需要想一个比较好的理由,比如发错了,或者直接就说洗牌好了,这时候又可以随便顺序合起来。

发成5叠恰好把整除为同一个值的集合的牌发到所有5叠中,而且,其位置恰好就是k值,再加上一个因为发牌而导致的reverse运算。当然我们本不关心k的值,这里也无所谓其具体在每一叠的第几张,只知道是同一索引就可以。

这时候任何顺序合起来,那所有同一个位置的牌在新的牌叠中又会变成同余位置的存在:

SFl = {i | i % 3 = l}, l = 2 - k

这个余数l仍然取0:2,是多少我们也不关心,虽然我们知道l和k的和恰好为叠数减一的2。只要同花顺的牌在同余定义的集合中,这就是我们需要的周期性质,这些位置具有公有属性:都是同一花色。

4. 现在,观众可以二切牌若干次。如果把是否属于同花顺还是其他两个集合的牌看作考察的性质,那么目前的牌叠状态是一个以切牌移动为操作的C3群。其中3是最小子周期的大小,整个牌叠一共有5个子周期,所以也是个以切3张的倍数能够不改变牌叠状态的对称群,C5。前面说明过,切牌操作仅带来群内状态的变化,具有封闭性,故可以放心切,还可以辅助一些假洗。

5. 还允许观众把牌发成2叠,再用任意顺序叠在一起。令人惊讶的是,发成2叠居然不改变前面第3步留下的性质,同花顺的牌集仍然享有同余位置!

6. 最后发牌成3叠,相当于把同余位置的牌又放到了同一叠中,其顺序则早已在洗牌中弄乱了。但是不怕啊,同花顺是个组合,不是个排列!所以通过按撇获取具体叠,把唯一不确定的前面的k,l值确定下来,或者通过聪明的选牌方式得到,就完成全部的魔术效果了!

用到扑克牌的子周期性下可以有二切不变性的地方是步骤4,而3达成了4的条件。

注意总结这里的几个基本操作所对应的数学模型描述的过程,以掌握其本质规律:

0. 切牌,其操作结果状态变化在Cn群内(n为牌叠张数),如果序列内有更小周期m,那么结果在Cm中;

1. 发牌成n叠,每叠获取的是同余位置的牌,余数为牌叠索引,从1开始,最后一叠是整除叠,故第i张牌叠索引公式为:

D = (i - 1) % n 1

从每张牌看,其牌叠数余数决定牌叠,位置决定于整除张数以及对应牌叠的总张数,相当于发完以后进行了一次reverse,那么第i张在D叠内的索引为:

m = (N - D) / n 1 1 - ((i - D) / n 1) = (N - D) / n 1 - (i - D) / n

D是牌叠编号,n叠牌,N是总牌叠张数,i是位置索引,都是从1开始数,第一个 1是对多发一张的调整,第二个是索引计算的 1,第三个是reverse之前的索引计算的 1,最后计算得到的是发完以后的位置索引。

以上是任意N张牌发成n叠以后,原第i张的叠数D以及在叠中的位置索引m的公式,当然因为我们这里有n | N,因为这个整除性,规律会更明显。

2. 把n叠张数相同的牌合起来,使得每叠牌同一位置的牌成了周期性存在于合起来的牌叠里,这一步天衣无缝地接着前面本来处在整除位置的牌发成的每叠内索引一致的位置,即:

SFk = {i | i / 5 = k}

SFl = {i | i % 3 = l}, l = 2 - k

3. 综上,原本一个周期内的N张牌处在同整除A位置,A | N,发成A叠以后得到同位置,任何顺序合拢以后得到同余A位置,这些牌若是同一个集合或者其他的相同性质(同点数,同花等等,注意这个和一个周期内元素组成周期的基本元素集是两个概念,前者仅仅是表达共同属性集合大小为周期个数n,也即子周期的个数,后者才是真的周期集,大小为周期大小m。)都可以看作子周期的对应元素,此时执行二切操作序列在C(N / A)中变化。也可以把这A叠牌看作A个具有某共同属性的整体,根据集合的无序性,本就可以随意打乱。最后,再执行发N / A叠操作,再随意合起来,相当于给定周期内的任意排列,又恢复了原来同整除的性质。除了牌叠内变化,组合不变!

这样看起来,整个魔术底层的操作逻辑就一目了然了,甚至可以总结成整除位置发牌叠变周期性加二切不变性最后再发牌回到整除位置的流程。是一套经典的变化中有不变的精确又经典的数学流程。

然而,这个作品最精彩的,却是5这个步骤,我绞尽脑汁花了很长时间,也没想明白到底怎样的扑克牌周期长度,周期数,能够允许这样的任意叠的发牌和收回,而不影响周期性的结果。

直到最近绞尽脑汁,查阅了一些资料,才慢慢证明完毕,我们下期会分享给大家。

老规矩,放一个后面将分享的视频。

视频2 不可能的匹配

https://v.qq.com/x/page/k0820a118y2.html

0 人点赞