早点关注我,精彩不错过!
数学魔术是孩子最好的逻辑思维启蒙导师,MatheMagcian数学魔术课程火热报名中!
欢迎点击《数学魔术师种子班(初高中)报名通知!》、《数学魔术师种子班(小学)报名通知!》、《数学魔术师种子班个性化课报名通知》并咨询微信1035312177(备注:数学魔术课程咨询)报名!
名额有限,先到先得!
上一篇我们介绍了鸽尾洗牌引理、第一定理和若干关于循环子序列的思考最终定义,详情请戳:
今天我们接着循环子序列,来看鸽尾洗牌第二定理。
鸽尾洗牌第二定理
如果我们以首尾相接的循环序列的结构来看待扑克牌,就像一串珍珠手环一样,每一个都编上号,那显然原始排列的所有有序相邻的元素之mod差都为1,其和刚好就是牌张数。如果换作一个洗乱的排列,相邻元素的平均值差得有半个牌叠,仍然去寻找这些元素所在位置之mod差的算术和,那将是一个巨大的数,但一定是牌张数n的倍数。这一点无论用mod四则运算的法则来推导,还是直观结构上看,这个过程遍历的一定是原循环序列的整数完整圈,都是显然的。
那鸽尾洗牌的秘密就藏在这个遍历次数n上了。因为沿着循环子序列在原序列上游走遍历过程所经过的每个元素的次数和遍历起点无关(加法结合律),所以我们可以假定从原顶牌开始,也即顶叠的第一张。因为牌叠被分成2叠,因此显然,顶叠从顶牌到底牌的原循环序列上的子串,在还算正常的一次鸽尾洗牌中,就已经快遍历完一圈,但一定不足一圈了。快一圈是因为顶叠的顶牌和底牌基本也接近整叠牌的顶底位置,差一点点而已;一定不足一圈是因为顶叠的从顶到底牌,无论如何其算术数值位置大小都一定是递增的,因此其mod差和算术差相等,累积的结果就是序列上的位置差,是一定小于牌张数的(顶底张就是洗完的顶底张时取最大,差为n - 1)。
这一点其实第一定理就已经说明了。接着再往下一张就会过渡到底叠的第一张,接着又是一圈不足n的mod差求和,最后从底叠底牌回到顶叠顶牌。然而这一切还有个前提,就是不能发生鸽尾洗牌引理中那m - 1个重合了只算作一种结果的保持原排列的情况,也不能是顶底叠刚好倒转的相当于切牌的另外m - 1,一共m种情况。其他的情况下,一定可以保证在顶叠底牌到底叠的底牌过程中,一定会有且仅有穿过顶叠顶牌一次,因此最终遍历鸽尾洗牌的原循环序列牌张一圈的实际遍历牌张次数为2。于是我们有如下定理。
鸽尾洗牌第二定理:原循环序列为0:(n - 1)的牌叠进行鸽尾洗牌,只要不发生等效于切牌或不动的n种排列结果,其余结果排列上原有序相邻的循环序列元素在新排列上的位置mod差的算术和为2n,即新牌叠为原循环序列牌叠的2阶全集循环子序列。用符号语言表达为:
一叠n张的扑克牌D,D.S = 0:(n - 1),进行鸽尾洗牌:
D2 = RiffleShuffle(D),若D2 not in {Cut(D, m) | m in 0:(n - 1)}
sum({(m mod+ 1).c.j mod_n- m.c.j | m in 0:(n - 1)}) = 2n
容易证明的一个推论是,如果洗k次的话最多为2 ^ k阶全集循环子序列,越到后面缩水越多。因为每新洗一次都可以看作是其中的各条原子序列在分别洗牌。而越洗到后面,链条相比真实的一半牌叠越短,就越有可能发生无效洗牌导致没能跨越起点来一次有效的扩阶。
原相邻牌张的遍历过程本就是一个很有意思的性质。直接观察原始序列形成的下一张关系的实际元素值距离分布,是不是接近均匀分布了,探究这个分布和均匀分布的距离,不就直接可以衡量洗乱程度了嘛!你看,随意一想,又多了一条判断鸽尾洗牌到底几次才洗乱的特殊性质统计量,可谓是对这个颇有难度的研究祛魅了。不过本系列不打算对这个概率分布再作深究了,之前的系列聊过了,而且它和需要定量的魔术效果关系不大,还是范围要紧。
说到这里,其实那n种特例可以在鸽尾洗牌的定义中干脆直接剔除不算,那就不用考虑特例了。不过无非是规定方法不同罢了,描述的逻辑是一样的。而在实际洗牌中,只要n不是3以内,我们可以约摸假定那n种情况是不会达到的。
(ps:在本文上传的当下,我在一个凌晨3点的夜空下,灵光浸润下发明了一个纯用鸽尾洗牌第二定理的demo魔术,效果很是满意,原来当时没发明出来只是感觉没到而已!不过本系列先不放视频了,后续我会发的,敬请期待!)
鸽尾洗牌定律
接下来还有一条鸽尾洗牌的规律,是为了后面几个魔术量身定做的一个统计规律的粗略范围描述,为后续证明方便而用。并的没有特别再深入到很深的概率分布的推导中去,暂时就应用而言没必要,提前公理化截断,好抓重点。
鸽尾洗牌定律:牌叠中两张牌的原最小绝对距离为d,则新距离为[max(2d - 5, d), 2d + 5],d <= (n - 6) / 2, n >= max(8, 2d + 6)
其中最后一个n的式子表明n至少为8,否则d都取不到最小值1。实际是因为上限超出了(n - 1)的最长范围了,是无效的。
直观上看,这意味着一叠54张牌的牌叠,首尾距离为24的连续25张牌都能形成不互相跨越的子序列。这看起来有点理想了,比如随便两叠分得不均匀一点的25和29就是极限了,到24和30就有几乎一半可能24的那一叠加上它的下一张形不成子序列了,更何况其他跨叠的不均匀导致的意外分布状况。不过暂时还是接受这个和实际不符的瑕疵,算作一个理想化的概率模型范围的猜想先在数学世界里用着。
这里实际的感觉是,随着距离d的增大,其期望大致为2d的前提下,方差应该是逐步增大再减小。增大就和两个正态分布的数的和,其均值和方差要累加一个逻辑;而减小是因为,洗牌的时候有人为的均衡控制,是随着洗牌的深入,逐渐调整收敛到最后的切出半叠的距离达到接近2倍水平的。
这里最小绝对距离取循环序列上的两个有向环上距离的最小值,显然它是不超过n / 2的。而根据鸽尾洗牌第二定理,原循环距离为d的牌张,其平均期望新循环距离为2d,当然前提是2d也不能超过n,以及鸽尾洗牌本洗得足够均匀(即切分对称加上洗牌均匀,使得顶底叠内的前后段位置相邻牌张的距离变化期望相等,和跨叠的两个距离也相等)。而方差多大则取决于洗牌的水平了(极限情况就是完美洗牌,没有随机性),就分布而言可以是一个很深的数学议题。但因为在数学魔术里根本没法假定观众洗牌的水平,因此即使研究好了,也难以做到很有把握地满足条件的应用。事实上大多数人只是知道鸽尾洗牌怎么操作而已,均匀性是一塌糊涂的。所以这里我们只规定一个距离这个期望的上限,以及应用的的最小牌张数。以此作为一个对洗牌结果性质的粗略的经验性的定律,好在后续推导其他魔术效果结论时作为公理使用。
好了,鸽尾洗牌的数学原理部分就先说到这里,接下来,我们看这些定理定律在魔术中的应用,敬请期待!
精彩抢先看!!!
视频1 两叠互相巴格拉斯
视频2 MAT4叠洗牌
视频3 3叠洗牌找牌

我们是谁:
MatheMagician,中文“数学魔术师”,原指用数学设计魔术的魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。文章内容涵盖互联网,计算机,统计,算法,NLP等前沿的数学及应用领域;也包括魔术思想,流程鉴赏等魔术内容;以及结合二者的数学魔术分享,还有一些思辨性的谈天说地的随笔。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!



扫描二维码
关注更多精彩
明明有bug的扑克魔术怎么还能骗到人?(五) ——大效果前,小瑕疵后
2024阿里巴巴全球数学竞赛决赛中的深度学习背景题解析(二)——应用与计算数学部分第6题
完美洗牌的秘密(二十一)——milk shuffle的应用三(天天四条龙等)

点击阅读原文,往期精彩不错过!
1492

被折叠的 条评论
为什么被折叠?



