用排列组合来编码通信(六)——魔术《5张牌的预言》的魔术拓展之《My Fitch Four Glory》...

news2025/2/28 0:04:58

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

在上一篇中,我们介绍了《5张牌的预言》这个魔术的一个精彩的扩展表演《Eigen's Value》,把这个魔术和数学性质的结合做到了极致,相关内容请戳:

用排列组合来编码通信(五)——魔术《5张牌的预言》的魔术拓展之《Eigen's Value》

用排列组合来编码通信(四)——魔术《5张牌的预言》的数学拓展

用排列组合来编码通信(三)——魔术《5张牌的预言》

用排列组合来编码通信(二)——魔术《Max Maven五重心灵感应》赏析等

用排列组合来编码通信(一)——魔术《年龄透视卡》等

今天我们继续介绍一个相关作品,同时用到上一期提到的正反属性和排列,看它是如何进一步利用扑克牌的编码特性去完成秘密通信的吧!

Fitch Four Glory

数学魔术师们对魔术效果和数学性质的追求是没有止境的。比如,他们又在想,能否仅选4张牌,然后去编码其中给定1个?仅给3张牌作为提示?要知道,如果仅仅是排列,那只有3! = 6种选择,太不够用了,一定要用上正反,甚至把他们组合起来使用。另外,《5张牌的预言》原版(Fitch Chensy’s Five-Card Twist)里托对于选牌本身的控制,也可以很好地降低真实的熵,也需要应用,只不过,鸽笼原理要还能够使用的话,4张牌只能有3种花色了。我们不可以限定观众只能选到3种花色内,但花色的本质无非就是一个类别属性而已,我们需要对扑克牌重新编码才行。

有了以上的分析以及目标,我们开始执行,如果真的分3类,那对于51张牌来说,每组17张,4张中选出那张有2个同类型的就能够满足了,这张牌编码log3 bit信息,同时提供模加法的起点,使得后面需要编码的数字仅有[17 / 2] = 8。而8恰好是3张牌通过正反来编码一个3位二进制数所能编码的选项种数!(这个原理取名Extended Poles Apart Principle)

但问题来了,那张显示3类类型的牌可以设定为放在所有正面向上牌的第一张,但是,架不住全部都是背面时候,这个信息就会被抹去,因此实际可用的仅有7种选择,就差一种了!

这时候,别忘了,我们还没有结合序列性质呢!这差的一种,完全可以在三张全正面的时候,取最后两张的排列来确定!把这个111对应的第7种选择强行扩充到第8种!

这是多么强的求生欲!还剩最后一点,即扑克牌是54张啊,怎么的去掉大小王也有52张啊,这51怎么实现呢?

我想这时候数学家们就别较真了,扔掉一个黑桃A/K之类的,在成为一个魔术上,几乎不会有任何影响。因为数学魔术的设计是完美的和精确的,但观众对它的欣赏使整体效果,这种看不见的细节,根本无伤大雅。

这便是经典作品《Fitch Four Glory》。

My Fitch Four Glory

看了书上的解法,我又有了新的想法。其实54 = 18 * 3,无非就是要用3张编码18会比较困难一点,而18不是奇数,在表盘上不如17还可以往下减一位。即需要编码9个数,原方案外还有第9种,对应的是C18的表盘被两个距离相等的数给平分了!那这种极端特殊又美好的情况,难道还难得住魔术师吗?我的方案是,直接把所有牌合成一叠,仅露出唯一一张正面向上的牌,指示3类类型和起点,就知道这里差9,需要找那个对称的点即为结果了!这让我想起了恒成立魔术里李咏很早在春晚中用到的那个环上的恒等式的技巧了。看起来,这样反而会更加无敌,你都没有看到完整的3张牌,就读出来,这就更加不可思议了!

这也是为什么,变魔术不能变两次,变之前也不能交代你要做什么,因为多次会提供样本找到其中的规律。而不交代做什么,那就只需要,做到一个观众关心同时在他们的感觉中信息量大的事情就可以了,而不是一个规定特定的事情。这样,一切都会变得方便和可以操作,也可以理解成是对称性,效果上,本身也会有更多的惊喜。

于是,我把这些改进添加了以后,最后形成了这个作品,请欣赏。

视频2 Ups and downs to My Fitch four glory

My Fitch Four Glory拓展思考

实话说,我对Fitch four glory中去破坏掉原本4个类型的花色而强行改成3个类型的设定是没有那么满意的。因为这无端增加了魔术师很多的工作,效果不过是感受不强地少拿了一张牌而已。但经过了以上几个变体的变化我发现,无非就是要通过对从若干张牌中选出一个两张的组合,他们之间的距离可以在一定范围内,以方便用剩下的牌张的正反或者排列能编码得出来。最开始的《Fitch Cheney’s Five-Card Twist》可以看作同一个花色内有6以内的环距离,而Eigen's value则是抛弃了这个相对距离描述,转而把所有的资源都用在了扩大排列数以扩大信息量,最后靠着极致的信息应用和加上的1bit信息来完成,Fitch for glory则是前者的强行改版。

那这里完成距离限制的方法,除了用鸽笼原理保证的同类型两张,有没有别的策略呢?其实在《5张牌的语言》中,我们在编码同花色距离的时候,已经用到了环上两点距离最小值不会超过环长一半的性质。这里还有个扩展,那就是n个点的最小距离,其距离maxmin值也是环长的[l / n],l为环长。由此我们可以在选了n张牌后的选牌阶段,就找出最短的,使得编码范围一定在1~[l / n]内而相对可被编码。

比如仍然取n = 4,那显然这里能够找到两张的排列,其逆时针距离是在1~13之间的(甚至可以包括大小王,除非是4个王!)。那么我们花1张的代价来展示起点,剩下还有2张牌,需要编码这个13个选项的信息就够了。而按照《Fitch Four Glory》的思路,通过正反加排列的补丁,编码1~8是绰绰有余的。而那里因为应用了鸽笼原理带来的减半效应,只需要6(5张牌的预言)或者8(Fitch Four Glory)就够了,这里13还是吃了亏。这里我们用回《Eigen's value》的思路,用上左右手作为第一个bit,那就有2 ^ 4 = 16个选择,完全覆盖13了。要注意,因为不能全盖上导致看不到,所以编码1~13中的0000码点和1000码点是用不了的,我们用0001~0111的7个值编码1~7,用1001~1110的值编码8~13,仅仅丢弃了1111这一个废弃码点备用。故在推导解码公式的时候,左手时候,加的也是7,而不是8了,导致在码值超过1000时,编码的数值要比二进制对应值小1。别觉得有什么奇怪,在编码上,这都是常规操作罢了。

这个想法表演起来没什么区别,就不放表演视频了。

在《编码通信与魔术初步(一)——通信浅谈》系列里,我曾经提到过,其实编码和通信是可以无处不在的,俗称传暗号,比如赌博中的作弊行为等。而在魔术里,自然也可以大大拓展想象去找到各种可以传递暗号的方式。以上这些通过扑克牌放置的静态排列,牌背牌面状态,以及左右手的选择都是例子,那在这个框架下还有没有更密集的信号可以传递出来,达成更高效神奇的表演呢?

我们下期揭晓,先看视频!

视频3 我的5张预言

视频4 我的4张预言

81650bd001799773ccebaa38719492e9.gif

我们是谁:

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

9fc4be67f725a8f1547dcf7868fe0202.gif

2b48504a3739b625d9bc3c07606d8823.png

ed0992d8933eb6989752a74f7e51747a.jpeg

扫描二维码

关注更多精彩

用排列组合来编码通信(五)——魔术《5张牌的预言》的魔术拓展之《Eigen's Value》

好魔术背后的秘密

对称思维的妙用之从解题到本质(六)——网红鸭子半圆概率问题的多种解法

文字对称中的数学与魔术(八)——魔术《抓牌奇迹》与系列总结

魔术缘何而给你惊喜?

2f55d3052e68f12974b2e875d87c14c4.gif

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/520399.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二十二章 Unity 光照贴图

光照贴图过程将预先计算场景中静态物体表面的亮度,并将结果存储在称为“光照贴图”的纹理中供以后使用。光照贴图可以包含直接光照和间接光照,以及阴影效果。但是,烘焙到光照贴图中的数据无法在运行时更改,这就是为什么移动静态物…

Angular开发之——Angular介绍(01)

一 概述 Angular是什么AngularJS和Angular关系Angular特性Angular的发展历史Angular学习建议 二 Angular是什么 Angular(读音[ˈŋɡjələr])是一套用于构建用户界面的javaScript框架。由Google开发和维护,主要被用来开发单页面应用程序类似于Vue.js(MVVM数据驱动…

视觉检测技术在图书生产缺陷控制中的应用

在过去我们一直向大家展示的是视觉检测应用在重工业制造之上,让很多人误以为这种新兴的检测技术更加倾向于重工业,或者说因为成本因素,这项技术对目前的轻工业来说更加的不友好,其实并不是这样的。 轻工业我们之所以很少的提机器…

docker入门和docker应用场景,镜像制作,服务编排,docker私服

一、简介 docker解决了什么问题docker和虚拟机的区别在CentOS7里安装docker 1. docker简介 我们写的代码会接触到好几个环境:开发环境、测试环境以及生产环境等等。多种环境去部署同一份代码,由于环境原因往往会出现软件跨环境迁移的问题(也就…

黏包和半包

黏包和半包 黏包: Slf4j public class HelloWorldServer {public static void main(String[] args) {NioEventLoopGroup boss new NioEventLoopGroup();NioEventLoopGroup worker new NioEventLoopGroup();try {ServerBootstrap serverBootstrap new ServerBoo…

open3d教程(二):可视化三维模型,并转换成点云(Python版本)

1、三维模型获取 可以自己用建模软件建立一个模型从free3d免费下载 2、关键函数 open3d.visualization.draw_geometries 参数: geometry_list(List[open3d.geometry.Geometry]):要可视化的几何体列表.window_name(str, optional, defaultOpen3D)&…

Linux环境下编程遇到“fatal error:stdio.h:没有那个文件或目录”错误解决办法

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下linux环境下如何解决一个常见的问题,也就是“fatal error:stdio.h:没有那个文件或目录”错误。 不少初学者在linux环境下用gcc编译C语言时,经常会遇到这个问题。 比如当…

工具推荐二

(点击上方公众号,可快速关注) GUI框架 我是个后端程序员,使用GUI框架的机会很少,主要用来编写个人或工作中的一些小工具上,经验有限,仅供参考。 Tk框架这个框架tcl语言自带,在python…

海报图片生成服务在狐友的落地实践

本文字数:22817字 预计阅读时间:58分钟 项目背景 狐友作为搜狐的一款社交产品,在流量传播上有着旺盛的需求点。而在流量传播所需的众多载体之中,海报图片以其简单的分享形式、可定制的视觉体验、自带二维码识别导流等特点&#xf…

入门与 Follow GPT 的路径分析:LLM 道阻且长,行则将至

动手点关注 干货不迷路 本文只用于技术交流,仅代表作者个人观点。 作为 CEO,Sam 将 OpenAI 的内部氛围组织的很好,有位 OpenAI 的前员工告诉拾象团队,当 2018 年 GPT-2 的论文被驳回时,Sam 在团队周会上将拒信的内容朗…

ONES X 高测股份|用数字化,重构新材料企业的研发管理体系

近日,ONES 签约高硬材料切割的领军企业——高测股份,助力高测股份建立有效、规范的研发测试管理体系,实现项目管理、测试管理、知识库管理、工时管理、组织效能管理等端到端的研发管理,提升测试效率和产品交付质量,并进…

用Python+OpenCV+Yolov5+PyTorch开发的车牌识别软件(包含训练数据)

目录 演示视频 软件使用说明 软件设计思路 演示视频 这是一个可以实时识别车牌的软件,支持图片和视频识别,以下是软件的演示视频。 车牌识别软件 点击查看代码购买地址 软件使用说明 1. 下载源码后,首先安装依赖库。项目所用到的依赖库已…

bash shell 基础命令

章节目录: 一、浏览文件系统1.1 Linux 文件系统1.2 遍历目录 二、列出文件和目录三、处理文件3.1 创建文件3.2 复制文件3.3 命令行补全3.4 链接文件3.5 文件重命名3.6 删除文件 四、管理目录4.1 创建目录4.2 删除目录 五、查看文件内容5.1 查看文件类型5.2 查看整个…

【Linux】Linux编辑神器vim的使用

目录 一、Vim的基本概念 二、Vim的基本操作 1、进入vim 2、正常模式切换至插入模式 3、插入模式切换至正常模式 4、正常模式切换至底行模式 5、退出Vim编辑器 三、Vim正常模式命令集 1、移动光标 2、删除文字 3、复制 4、替换 5、撤销 四、Vim底行模式命令集 1、列出行号 2、光…

【Linux】进程信号捕捉

前言 在【Linux】进程信号及信号产生中,我们提到,进程接收到信号,并不是立刻处理,而是在合适的时候才执行相应的动作,那合适的时候是什么时候呢,进程捕捉信号的过程究竟是怎么样的呢?本篇博客就…

Python入门(七)if语句(二)

if语句(二) 1.if语句1.1 简单的if语句1.2 if-else语句1.3 if-elif-else结构1.4 使用多个elif代码块1.5 使用多个elif代码块 2.使用if语句处理列表2.1 检查特殊元素2.2 确定列表不是空的2.3 使用多个列表 作者:xiou 1.if语句 前面我们理解了…

React Native技术探究:开发高质量的跨平台移动应用的秘诀

作为一个跨平台移动应用开发框架,React Native在开发过程中能够有效提高开发效率、降低开发成本、缩短上线时间,因此备受开发者的欢迎。然而,如何使用React Native开发出高质量的跨平台移动应用呢?本文将探究这个问题,…

(一)PUN 2基本介绍

一、开始 (一)基本简介 1.简介 Photon Unity Networking (PUN) 是一个用于多人游戏的 Unity 包。灵活的配对让您的玩家进入可以通过网络同步对象的房间。 RPC、自定义属性或“低级别”光子事件只是其中的一些功能。快速且(可选)可靠的通信是通过专用的…

选卡攻略!一分钟教你选择一款好的流量卡!

很多流量卡看似便宜,但用起来套路不少,所以,挑选一款流量卡并不是只看资费,而且要了解它的各个方面,比如:优惠期、合约期等等,今面,小编就带大家一块了解如何选择一款好的流量卡。 …

默认的HuggingFace模型

介绍 在本文中,我将探讨表征学习中常见的一种做法——使用预训练神经网络的冻结状态作为学习特征提取器。 具体而言,我感兴趣的是研究使用这些提取的神经网络特征训练的简单模型的性能与使用迁移学习初始化的微调神经网络的性能的比较。预期受众主要是数…