先看视频。 视频3 penehole's principle magic more艾数,这是多少魔术欣赏者入门成为魔术爱好者学的第一个扑克手法呀!这几乎是所有packet counting trick的最基本的操作!不过,如果只是一个艾数,可能并不能完全勾起我对他的兴趣,打开wiki,看到他的生平写到:Alex Elmsley (2 March 1929 – 8 January 2006) was a Scottish magician and computer programmer.没错,Elmsley不仅仅是一个魔术师,也是一个程序员!!!或者应该反过来说,他是一个程序员,还是一个魔术师!我以前一直以为,像我这种带着纯理科思维来探索和研究魔术的人纯属异类,当世少有,古也难寻。于是也让我一直害怕,我是不是进入了人类知识的盲区,在探索一个像火星文一样可能一辈子都要坐冷板凳的领域。直到我发现了一个词,和两个人:一个词:MatheMagician:A mathemagician is a mathematician who is also a magician.两个人:Perci Diaconis,一个喜爱赌博和扑克魔术的斯坦福统计教授;Alex Elmsley:原来扑克魔术中这么重要的基础创作,竟然来自于程序员之手!这个词让我仿佛找到了自己的使命,这些人仿佛像灯塔一样,指引着我前行。当随着学习研究的深入,又了解到了更多地这个领域的大师们,还有速算大师Arthur T. Benjamin,著作等身的Karl Fulves,趣味数学家Martin Gardner,以及他们的好朋友,同样传奇的Ronald Graham和Colm Mulcahy等等。而且我发现,他们竟然集中喷井似的爆发于20世纪,这不得不一定程度上归功于那个世纪的两次工业革命。而我们正处在朝气蓬勃的21世纪的信息时代,有什么理由不继续把这些艺术发扬光大呢?好在我在当代又认识了吴如皓,庄维栋这样的数学魔术师,还有无数数学和魔术上的前辈,指引着我前行。这时我才发现,我并不孤单,而且,我终于在而立之年以前,找到了愿意毕生从事的事业。回到魔术,这个名叫penehole's principle的原理出自almsley的毕生心血The Collected works of Alex Almsley,这部作品里有非常多无论数学还是魔术角度都十分优雅的作品。而我们今天介绍的penehole's principle则刚刚好完美地体现了完美洗牌第一定理的使用,而在魔术上我们也给与了一定的包装与优化,把一个location的平淡效果,变成了一个巧合效果的魔术。
数学原理
设整叠牌的张数为2N,索引从0开始,整个魔术的核心操作的数学推导如下,其关心的核心属性,自然是所选牌张的位置值的变化过程(记得很久以前研究《多重巧合》等魔术的数学原理描述时,用到了整个牌叠全貌的描述,虽然可行但极其繁琐,现在看来,无非就是没有抓住和魔术有关的核心特征罢了):1. 观众选牌以后,控制在位置N - 1处;2. 切走超过一半的扑克牌,剩余的为牌叠张数为A,切出的牌叠张数为2N - A,N > A >= 2;3. 此时对切出牌叠进行底部为参考起点的out faro shuffle,显然选牌从底部数的索引为(2N - A) - (N - 1) - 1 = N - A <= (2N - A - 2) / 2 < (2N - A) / 2;所以选牌一定位于底部开始索引的out faro shuffle的顶叠,其洗牌后得到的位置为:(N - A) << 1 = 2(N - A)那么从顶部索引的位置为:2N - A - 2(N - A) - 1 = A - 1因此,剩余牌A张牌最后一张的索引A - 1,刚好和此选牌的索引相同;4. 两叠牌一起发完,发到剩余牌叠最后一张的时候,选牌出现。 当然,以上是严谨的数学推导,那数学直觉在哪里呢?其实也很好理解,在底下拿走大约一半以内的扑克牌的时候,原来out faro的两个牌叠需要做相应的变化,那就是匀下去大约一半的牌需要加在底叠上,使得两叠牌张数最多差1,即落下去2张,需要在选牌上补1张。经过faro以后再次位置翻倍,自然就和发出去的张数又相同了。而且可以看出,仅仅和头部选牌上的张数和切走的张数对应有关系。所以这个角度上,理解成顶部的奇数张in faro或偶数out faro更好理解。 另外还有一个理解角度是,选牌包括自己和以上的牌和以下的牌各半,拿走的一多半牌是上面这半加上一小部分,于是选牌以下部分的out faro shuffle,刚好能取走其上和加的这一小部分相同张数的牌在选牌下方,而选牌和往上的牌,自然就和剩余切出去的小半叠张数相同了! 这些描述虽然看起来表述繁琐了,但这更表达了过程的机理。你看,这就是数学直觉的作用,它帮助我们在机理上理解一个事情为什么是对的,虽然不是严格的证明,但是那种有点不严谨但是几乎正确的经验是我们人类站在逻辑之上掌控它的重要特点,能迅速通过估算高效探寻方向。有了这个基础,我们再去计算如果是1张怎么办,奇数张会怎么样等等,那就都在一个有目标的框架内,而不是一个真的只是执行逻辑的机器了。而且,如果能明白这一点,会发现其实那个以底为开始索引的out faro shuffle,只需要在底部到选牌处是严丝合缝的就够了,后面错了都没啥关系,甚至连张数不对齐都没事,只要凑够选牌下面那些张即可,也就是比切剩下的牌距离一半的牌不少就行。即,和剩下的牌拼起来够一半就行,意味着这叠牌只要超过切出牌的一半但又不超过一半就行,可以让观众切!(唯一差别是顶部的Ace要留出来另外用,而超过一半时都不用担心了,如果第一次切的剩余很少就一定要超过,否则一半左右就足够了)!这就是理解的模型不一样导致理解深度的区别,进而对灵活应用创新的影响,神奇吧!这一点是视频拍了很久以后才发现的,直接让这个作品的精确性难度以及观众自由度上都有了很大进步!这样看起来,faro shuffle在这里面,起到的作用似乎只是精准快速数出两叠张数相等的牌而已,完全没有严格交错的精确性了,似乎是个大材小用了。不过换言之,除了faro shuffle,你又怎么能够当面做一个快速又合理的操作做到这个等量替换的牌张数呢? 这个魔术还有一个镜像版本,即把牌放置在N处,也就是倒数N - 1处,剩余所有操作也都按照从另一侧作为参考索引进行,切超过一半则等价于留不足一半,底部参考的faro shuffle则变为顶部的faro shuffle,最后的数牌,也得是从底部进行。但是,无论是哪个版本,看起来都只是在执行计算机程序一般无聊,要成为一个拿得出手的魔术,我们还得从魔术上下功夫。