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

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

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

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

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

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

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

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,各种花色这种独立性质,真的除了记忆的牌没有记住任何一张的话,那还真的就实现了奇迹。

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

fd88d035103f6d26978b2f20bb63c521.gif

我们是谁:

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

5535665e98c9147362ba513d67d98c57.gif

653f510c3c2ae9baf820ad1af72486f5.png

22953658681ef545e18d96c4a7044b86.jpeg

扫描二维码

关注更多精彩

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

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

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

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

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

fd6f32d114fdbad9fc1ff490adf3b716.gif

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值