早点关注我,精彩不错过!
完美洗牌的秘密(六)——完美洗牌定理的应用(penehole's principle magic more等)
接下来这几篇文章,我们进入反完美洗牌部分。
指引巴格拉斯效果和数学原理
视频1 指引巴格拉斯效果
这个魔术来自马丁加德纳的全书,也是一个数学味很浓的魔术,因为中间还是涉及到了大量的重复化循环的操作,需要用魔术的方法予以包装才行。接下来,我们就分别看看其中的数学和魔术秘密是什么吧!
本质上,我们对一叠16张的牌进行了4次anti-faro shuffle,当然你如果熟悉完美洗牌第二定理,可以很敏感地发现,如果都是out anti-faro shuffle,那么4就是这16张牌排列在这个操作下的阶,也就是4次以后会恢复原状。
但这里要完成的实际操作和标准的多次faro还是有些区别,我们需要使得选牌最终落在一个指定的位置,操作上则是每次选择哪种anti-faro的类型,取决于指引牌所在的牌叠,也就是其位置的奇偶性。如果在偶数位置,那就是out,如果是奇数位置,那就是in(注意这里的索引都是从0开始的),总之要把指引牌放置到顶叠位置中去。
那这样的一组奇怪的操作,分别对索引牌和选牌的位置有什么影响呢?
虽然前面没有人给我们直接总结,但是有了前面介绍的完美洗牌定理作为基础,应该很容易可以展开推导。
我们首先看看原来位置为PA0的指引牌,是怎么到顶部的。
其实直观上看起来非常明显,因为每次无论其处在奇偶位置的哪一种,都会使得其放置在顶叠,因此其位置索引必然减小,而且就是约摸一半。如果在偶数位置(0索引,位置就是前面的张数),那它前面所有的牌每两张都会只剩下一张,因此刚好一半;如果是奇数位置,除了大部分两张一组的牌只剩下一张以外,还会剩余一张也被移走,因此要减一再减半。
其实很简单啦,还记得完美洗牌第一定理里,对于in faro的索引变化不也是在out faro左移一位的基础上再加1吗?那其逆过程不就得是减一再右移一位嘛!而当其处在奇数位置的时候,刚好对应的就是in faro shuffle的逆运算in anti-faro shuffle,偶数则简单很多,就是out。
不过这里有一个神奇的点,对于奇数减1再右移一位,不就相当于把个位的1变成0再右移吗?而反正都要右移导致个位消失了,还减个啥呢?因此,严格来说,我们不能说左移和右移是互为逆运算的,因为左移的值域是偶数,而右移的定义域可不止偶数,只能是左移和右移时末位为0时候的局部互为逆运算而已。
好了,写成式子就是:
PA1 = PA0 >> 1
而PA0作为一个最高4位的二进制数,进行4次右移以后,自然变成了0,也就是首位了。
那这个过程中,是怎么影响原来占据0位置的选牌的位置的呢?
它的位置移动规律,其实和所有的任意位置的牌经过一次anti-faro shuffle的规律一样,要先考虑是不是被放置在了顶叠来考虑要不要加牌叠张数一半的索引,再进行相应的右移位操作。而正常的指定in还是out的anti faro shuffle,偶数位置的out和奇数位置的in是不需要加的,剩余情况都因为该位置被放置在了底叠而要加。这就和正向的faro shuffle考虑这张牌是否在底半叠是一样的,只是这里底半叠或顶半叠的性质变成了奇偶性,变换方式和in out密切相关。
不过在这个魔术里,要不要加半叠8张到索引上,就完全取决于PA0的奇偶性,如果是偶数,这时候PA0和初始PB0 = 0处在同样的奇偶性位置,则不加,反之奇数则加。设PA0 = A1A2A3A4,合起来写就是:
PB1 = PB0 >> 1 + 2 ^ 3 * (PA0 % 2) = A4 000 = 0 or 8
于是这看起来就像是把0000这个4位二进制数进行了一次右移,并且在首位补了1或者0,此值取决于PA1的个位。
看起来现在还是有点奇怪,最后PB4不得变成PA0么,这里首位成了人家的个位,看起来还有点差距啊!
不过还真没什么差距,不信你可以回想一下我们在《洗牌巴格拉斯效果》中是怎么移动到指定位置的,移位操作的属性和一般的加减乘除还真不一样,在所谓错误位置上的位只要有相同子串,是可以高效移过去的哟!
你看,下一次,因为无论移入了0还是8,PB1都会保持其偶数性质,因此接着仍然会保持着接下来继续右移的规律,补入的数值就是接着PA1的个位,也就是PA0个第二位,即:
PB2 = PB1 >> 1 + 2 ^ 3 * (PA1 % 2) = A3A4 00
接着,
PB3 = PB2 >> 1 + 2 ^ 3 * (PA2 % 2) = A2A3A4 0
PB4 = PB1 >> 1 + 2 ^ 3 * (PA3 % 2) = A1A2A3A4 = PA0
所以你应该惊人地发现了,最终PB4,也就是选牌的位置,真的就会完美地落在最开始标记牌的位置上,分毫不差!
这是怎样完美的数学魔术奇迹!
最后说明一下,之所以可以像逐次移位一样,把指引牌的各个二进制位移入选牌,关键的一点在于扑克牌的张数得是2的次幂,否则移入的就是一个不足的张数导致错误。看似天衣无缝的呈现背后,处处是机关和暗门啊!
另外,你可以想想,如果不是首位的PB0,其最终位置会有什么区别?答案是PA0的每一位和PB0的对应位置取xor的结果,即相同为0,不同为1。因为PB0都是0,因此刚好xor结果就是PA0本身。这个更深刻的规律我们在后面的魔术中将会看到。
魔术原理
由于数学部分的原理实在太硬核了,所以这本身就是作为一个教学性质的数学魔术来出现的,离真正的魔术表演还有不小的差距。那我们为它变成一个可行的魔术表演,我又做了哪些改进呢?
1. 原版魔术在马丁加德纳的书中用到的是32张牌,需要洗5次,这看起来实在是有些繁琐,哪怕编个故事都显得长了。于是我试验了8张和16张的版本,8张是快,但是位置数量也太少了。而16张刚好折中了二者的矛盾,张数足够多,次数也可控,因此成为了我们的最终版本呈现;
2. anti faro shuffle其实看起来是个又难又比较奇怪的操作,比较好的接近等效的操作是依次发牌,但是如果要保证其中没有复合一个reverse操作,就必须得边发边翻转,这样有可能提前漏出选牌,甚至被清晰地观察到其位置变化的过程。因此,只能采用最原始的方式去执行这个操作,给出合理的意向,来说明其意义。不过这里我们采用背面向上发牌同时进行reverse的方式,使得整个牌叠正反更加混乱的方法来依次发牌。还算合理的同时,掩盖秘密,也达成数学操作目标。甚至都可以直接快速算出其二进制结果,来得到该如何直接发牌再整叠翻转行动的指南,最开始都不需要其正面向上!
3. 原版魔术里几乎只描述了这个现象,完全没有提应该怎么表演。于是我把它设计成了一个用指引牌来找到选牌位置的魔术,第一个效果是一个赌徒效果,把指引牌控制到顶端,最后出现一个意外,选牌跑到了指引牌的地方,达到意外惊喜的效果。
以上就是《指引巴格拉斯》这个魔术的全部内容,希望大家喜欢!
下期精彩抢先看!
视频2 (反完美洗牌)感应奇迹
扫描二维码
关注更多精彩