前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >纠错码与魔术(四)——汉明纠错码魔术进阶

纠错码与魔术(四)——汉明纠错码魔术进阶

作者头像
magic2728
发布2023-01-30 16:06:36
5260
发布2023-01-30 16:06:36
举报
文章被收录于专栏:MatheMagicianMatheMagician

早点关注我,精彩不错过!

在上一篇中,我们介绍了两个汉明纠错码思想构造的魔术,哪两个都是最基本的应用,相关内容请戳:

纠错码与魔术(三)——汉明纠错码魔术初步

纠错码与魔术(二)——魔术《矩阵感应》等

纠错码与魔术(一)——纠错码与汉明码简介

而今天是本系列最后一篇,仍然是汉明编码的魔术,但是其使用的巧妙程度和层级要更深,魔术效果也更好。

Multiple personality

视频1 Multiple Persenality

上面魔术的改进,主要在表现上能够让托的操作更加不着痕迹。但是在一张本来有log54 bit信息的扑克牌上,仅仅用红黑这1bit的信息,显然浪费了牌面的很多信息。造成的后果就是,对于待感应的变化,必须用红黑才能透露出来,未免透露了太多的信息和极其不自然。所以上面的魔术,也建议改成用其放置状态——正反来表演,或许翻转一下,比红黑换一下,看起来要自然和正常很多。那如果我们用扑克牌编码了更多的信息,同时进行了校验,能不能够使得这种替换更加随意,甚至就是看起来完全换了另一张呢?

当然可以!比如我们可以分别用每张牌的颜色,是否偶数以及是否小于8这三个性质来为一张牌输出3bit信息,这样5张牌按照(a, b, a, b, a + b)排列以后,就会隐藏着3条编码线。注意这3bit信息对应的各自变量之间两两独立,没有任何干扰,互信息为0。这时把扑克牌按照对应不同编码的集合,同集合的牌相邻放置,按照3进制值大小排列,就可以通过最后一个区间内的强选,和前面两个的跟选,让托来完成这个操作。不过这需要非常熟练的计算和记忆里,去得到a + b的三个结果并找到对应位置。比如,如果把前两个选择控制在000~011,那最后一个选择一定在后半区能够找到(注意这里我改成了进位加法,不影响校验成立),强选这个范围就好了。

最后我们可换牌的空间也非常大,再次强选即可完成。不过,这里有高达大约7/8的概率能够改变,所以直接随意换,如果没有发现,那就再换一次,圆场一下就好了。

从这个魔术中,我又体会到,可以用来编码的信号真的无处不在,只看你如何挖掘和利用了,这里直接把牌点像切西瓜一样分成了8段来编码。要知道,这里用的颜色,大小,奇偶都是在表面就存在的性质,这里也不需要隐蔽。而像一些集合区分类的魔术,就需要隐蔽性,比如质数,点数图案带尖尖,或者是一个特殊的如Si Stebbins序列的前一半的元素,甚至是你手机号的前面7个不同的数位!要知道,编码可比解码容易多了,前者已知函数去计算,后者是要通过不完全的现象反推,而鬼知道你用的什么思路!

A Small Ternary Linear Code

视频2 A Small Ternary Linear Code

这还还没有完,除了二进制,三进制添加了一个状态,也是为数不多有着优良性质的一种编码方式了,数学魔术师同样地也没有放过。红黑用过了,那就再加个背面,看不见的红黑变成第三个状态好了,此时(a, b, a + b, a - b)这四个三进制位就能够完成基本的校验了,其中后两位理解为校验位,加减法都是模3的。

比较好玩的是,如果你把a, b写成后两个变量的表达式的话,就是(c + d) / 2和(c - d) / 2,这恰好是最初阶的小波分析对变量信息拆解的方式,没想到这里给用到魔术里来了。

解码方式我想很容易推出来了,不过注意的是可以改变内容上需要斟酌,结论是:所有的牌都可以翻面,这代表{1}和{-1}之间的对称变换,而正面的牌可以换颜色,也十分合理,因为背面看不见,理应不该能换,换了也不知道是谁。这里是{0}和{- 1, 1}之间的对称变换。你会发现,这两组对称变换恰好是{- 1, 1}和其他元素或内部元素构成关系的两种情况,也即囊括了所有A(3, 2)共6种变换,而且相互对立,可以判断得出来到底是发生的哪类操作。这个设计是很巧妙的,不然,要么漏掉浪费了一些变换,比如只能翻转,要么,搞不清到底是哪种行为,比如允许换正面的牌成背面的,就会与直接把它翻过来这两个行为区分不开,也就是这个动作在扑克牌上的编码不是一个可逆函数,无法解码。而校验位虽然不能直接解码,可是能帮助我们去校验是否正确以及找到错误。

数学魔术里每一个动作,都是数学和魔术智慧的结晶。

这个系列写到最后,突然想起了那个用deck switch方法做到拿走观众从5张牌中选的牌,最终达成对选牌感应的方法,感觉魔术实现的方法有时候看起来就是这么流氓。不过原理上看,引导很重要,如果观众真的印象里只有花牌,jqk,各种花色这种独立性质,真的除了记忆的牌没有记住任何一张的话,那还真的就实现了奇迹。

好了,这就是这个小而美的《纠错码与魔术》系列的四篇文章,在通信编码系列里,还有更多系列等着和大家见面,下个系列见!

我们是谁:

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

扫描二维码

关注更多精彩

纠错码与魔术(三)——汉明纠错码魔术初步

破解魔术的秘密(四)——前移原理介绍和案例分享

你真的分得清“前后左右”和“东西南北”吗?(四)——无处不在的相对方位

编码通信与魔术初步(七)——二进制编码经典魔术《街头猜数字》

知道魔术的秘密很了不起吗?

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MatheMagician 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档