本文主要是介绍魔术《4 Kings 折纸》的三重境界(二)——集合语言和数理逻辑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
早点关注我,精彩不错过!
上回我们回顾了《4 Kings 折纸》这个魔术的内容和用小学的奇偶性原理解析了操作的过程,详情请戳:
魔术《4 Kings 折纸》的三重境界(一)——奇偶性原理
今天我们进入后第二境界,一探究竟。
先把魔术视频放这里。
视频1 4 Kings 折纸
魔术背景补充
在《魔术里的集合、映射和关系(五)——优雅之作《4 Kings 折纸》的集合描述》中,我们曾介绍过这个魔术的出处。我自己脑子里是怎么撞击出来的已不可追溯,但可查的一个来源是罗宾老师的那本《扑克牌魔术》里一个叫《神奇的毯子》的作品。后来又经过我的台词和流程的打磨形成了这个作品。
另外,这个原理在魔术上有个名字,叫作mat principle。这个魔术的存在则是浑然天成的,因为原理只不过给出了一系列合理的折叠操作,而它们恰巧在给定起点终点和起点正反状态时,有最终相同的终点正反状态罢了。
在学会这个原理后,我仔细联想过,怎么才能想到King这个图案的,有没有通用方法。而真的要做到恰好是4张一样的Kings或者Aces,甚至更多张其他的占卜图案朝向一面的话,其起始图案要满足这样的特性:以所有奇偶数位置的牌正反也相反的矩阵排列开始,改变成需要的图案。要求改变的张数恰好是4才可以,因为只有这4张是真的需要改变;否则,要么有更多要改的,要么不够改的。我试过了A~9的图案,甚至J也要改5张,没有一个达到了浑然天成的效果;如果是三角形等背景图案倒是有办法,因为它可以给更多张,不过整体都没有K来得那么巧妙。
当然如果放开一个限制,即并不是每个位置都需要有牌,可以合理地把要改的部分去掉不改就好了,只要满足对称性和美感需求,那就可以从目标出发,去改掉目标线上的错误后,再去填充部分即可了。比如A就可以做到了,原本要改8张,限定在A的范围内恰好就4张了。不过分布有点对称,还是容易引起怀疑。当然因为我们没有对叠内位置建模,所以可以选多张再重叠,应该也能解决一部分问题,但都不如Kings这个原版来得给力了。
马丁加德纳老师对这个原理也有过阐述,叫作Paradox Paper。也有人把它直接和扑克牌强选原理结合以后做成的折纸道具来卖,是挺好的创意。因为拿扑克牌叠去折叠,怎么着还是模拟出来的,但是真的去折纸,不管是作预言还是巧合效果,都是更加贴合自然操作和能抹去数学痕迹的,殊不知这背后的逻辑早就被数学家们一网打尽了。有兴趣可以看以下的介绍:
https://www.angelfire.com/super/magicrobin/paradox.htm
而在这些表述中,最常用的解释方法,既不是上一篇简单过头但是繁琐的奇偶性原理,也不是下一境界要讲的抽象得过分的群论,而是恰到好处的基于集合论的数理逻辑。接下来,我们在《魔术里的集合、映射和关系(五)——优雅之作《4 Kings 折纸》的集合描述》的基础上,回顾并更深入地讲透这个不分。
集合语言和数理逻辑
此乃第二境界:衣带渐宽终不悔,为伊消得人憔悴——中学水平:集合语言和数理逻辑。
我有长达10来年的时间,对这个魔术的理解水平一直停留在第一层境界。不是没想过,而是确实觉得比较交单明了,真的值得那么深究?不过,期间几次思考,还是觉得过这样的解释方式似乎缺了点什么,比如这个思路虽然是化归,但为啥这么麻烦?有没有更高档的数学工具能够更简单地描述清楚?
直到我在组织MatheMagician上《魔术里的集合、映射和关系(五)——优雅之作《4 Kings 折纸》的集合描述》这个系列,需要用数学语言严谨地描述一番地时候才发现,原来用上集合地数学工具,加上一点数理逻辑语言,这层性质就会非常清楚。
我把公式列在这里,详情可以参考我之前的介绍文章:
K = {(i, j, c) | i, j in N, 0 <= i, j <= 3, c in {f, b}, (i + j) % 2 = 0 xor (c = f)}
我当时借着这篇文章讲到了集合语言,以及其中很重要的一个数理逻辑运算xor以及其性质,并总结为,翻转这一操作下,其xor性质具有不变性,还附带聊了聊xor本身的一些性质,如对称性等等。
这个说法看起来是比较清楚了,它比较完美地把我们的物理操作映射到了一个特定地数理逻辑运算中,并且用集合语言描述了出来。我一度以为,这个说法应该是这个魔术数学原理地最终解了。并且在多次公开分享中,我也是以这个解法作为蓝本来说的。
在今日我深入学习了真正的数理逻辑以后,发现这个概念其实还可以更精细。即数理逻辑是一套命题演算系统,一般包括命题符号A,算子符号omiga,转换规则Z和起始点I(也就是公理)。而一般比较著名和公认的数理逻辑命题演算系统有命题逻辑和谓词逻辑,这是0和1阶逻辑,几乎作为一切数学的基础,往上还有高阶逻辑等。而我们这里用到的,其实就是以自然数系统为基础的逻辑系统,建立在0和1阶逻辑基础上的ZFC集合论上,才有了以上这些逻辑算子和对应的集合表达。
所以啊,每个概念都是有出处和明确含义的,透彻理解的唯一方法就是把自己扔进去感受,随时害怕忘记,把自己的大脑作为要学习内容融为一体的载体,方能体会读书那又痛苦又快乐的享受。
可是接下来的发现告诉我,你只有足够地熟悉,熟练,肯重复,你猜有机会创新和创造。
我一度以为xor这以运算地存在,天衣无缝地适配到了我们的场景,已经是幸运中的幸运了。但是你要知道,每个数学概念地由来,只要肯思考,背后一定还有更加深刻的本质。这一本质,是我在雅礼中学给孩子们分享这个魔术,去想讲清楚,为啥要引入xor这个运算时候想到的。
别着急,下期就告诉你这个惊天大秘密。
我们是谁:
MatheMagician,中文“数学魔术师”,原指用数学设计魔术的魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。文章内容涵盖互联网,计算机,统计,算法,NLP等前沿的数学及应用领域;也包括魔术思想,流程鉴赏等魔术内容;以及结合二者的数学魔术分享,还有一些思辨性的谈天说地的随笔。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!
扫描二维码
关注更多精彩
魔术《4 Kings 折纸》的三重境界(一)——奇偶性原理
视错觉与魔术(二)——橡皮筋的奇迹
你真的懂分数吗?(五)——概率与期望
De Bruijin序列与魔术(四)——De Bruijin序列的拓展结果
这到底是怎么想到的!!!
点击阅读原文,往期精彩不错过!
这篇关于魔术《4 Kings 折纸》的三重境界(二)——集合语言和数理逻辑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!