用排列组合来编码通信(七)——《我的5/4张牌的预言》

news2024/11/16 11:55:34

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

从《5张牌的预言》开始,前面介绍了3个拓展思路,分别从引入额外信息解放选牌(Eigen's value),引入正反信息来编码(ups and downs),继续深挖编码量来降低牌张数(Fitch For Glory)。再加上原版的Fitch Chensy’s Five-Card Twist(5张牌的预言),构成了一个非常完备的编码思考系列。相关内容请戳:

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

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

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

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

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

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

但是这还远远不足,我们尝试从魔术的需求,通信原理的角度,看看能否再进一步改善其效果。

上一篇也提到了,我们可以从通信的方式入手,进一步提高通信密度,使得效果更加神奇。就这个魔术场景出发,我发现拿牌和放牌的顺序本身也是一种可以动态通信的内容,而且不容易被察觉,于是我围绕这个思路进行了一番改进。

而这些改进是在没有看书里除了原版以外的后面这些玩法时候就提出来的。当看到书本里也有和我类似的想法方向和方案结果时,我又一次体会到了自己所想和书中人一样的那种,读书和思考,最幸福的时刻。

我的5张牌的预言

先看视频吧。

视频1 我的5张牌的预言

改进的目的其实在于加强效果,否则只是数学,并不是数学魔术。我倒是一开始没想过仅用4张牌,然后3张牌来编码。一个是太难,另外,对魔术的效果感觉,其实区别并不大。而想的第一个点和书里一样,能不能随便选一张也能编码,以及能否不用展示牌面呢?于是我想,最后的牌面结果是个静态的结果,其实哪怕编码精良,也是很容易让人怀疑的。但是如果是动态的过程,一方面证据在一瞬间就被毁灭,最终的结果看起来完全没有什么证据,那岂不是更好。所以,关于用4张牌的编码,完全可以根据每次放置的位置来进行,也是一个4! = 24的全排列,有24种选择,扩充一倍加1bit就用左右手来衡量即可。注意这里用不了左右顺序了,因为顺序要用来编码信息了。这样还差4张到52张,因为现在的印象是一张牌还没看过呢,所以现在再把牌拿起来看去仅仅排除4张牌,有点前功尽弃,得不偿失了。所以,直接扔掉4张,比如所有的k,仅从1~12中选一个,如果右手,就从7开始,左手就是1,这样3! = 6种选择就够编码点数了,再加上第一张放置位置代表的花色,所有问题就通了。这就是抓大放小的魔术思维,一切以表演效果为目标,数学,在数学魔术里,是为它服务的。

我的4张牌的预言

后来一想,既然放置顺序可以编码,那为什么拿的顺序不行呢?拿牌,哪怕不知道点数,也有4! = 24种选择啊,那加起来可就24 ^ 2 = 576种了,这干什么不行啊!不过,其实我们要不了那么多,多出来的在魔术里也没必要要,就像魔术不是杂技,得把最好最多的功夫全部展现给观众看,而魔术,只需要适合表演的那一个,那一点,就够了。这里,原来的24,再给4倍选项就足够超过52了,因此,我们暗暗记住拿牌的第一张的位置来编码花色,剩下有24张牌来编码仅有13种选择的点数,莫不是有些奢侈了,因此大小王编码进去,也绰绰有余。

而当观众选牌固定放置以后,仍然有3! ^ 2 = 81种,足够来编码,这样也更自然,那这样有没有方法做到呢?

当然有。

于是就有了下面的作品。

视频2 我的4张牌的预言

这里,观众选牌后,然后托再看到以后,通过牌的拿取和摆放的3张牌来编码这张牌:点数由3进制编码,第3位由右手拿表示0,左手表示1,第2位是手上的牌从左到右表示0~2,第1位是放置位置的0~2位(可编码范围是0~122,实际需要1~111);花色由剩下的拿取和放置位置编码的2为二进制表示,方块梅花红心黑桃分别对应00,01,10,11,高位时拿去位置,低位时放置位置,都从左往右数。

当然,也要考虑魔术本身的表演难度。比如如果用全了4张去编码,那去记忆两个排列,而且都是在转瞬即逝,同时接受信号的情况下有点难,所以,拿牌排列仅用第一张,放牌排列用所有,这样使得本来是两个高度并行的信息流也完美地错开了,使得表演很是容易。

其实想到这里,我觉得都可以用这种暗号来做类似的巴格拉斯效果了,没必要两个人一起选这些牌,又选一张来猜这些情节,所有暗号秘密进行,大家不妨也可以从这个角度去进一步思考。

好了,基于排列组合的编码通信魔术到这里就全部结束了,关于排列组合的其他数学魔术内容(排列组合系列魔术,魔术手法的排列分析和自动化魔术的排列分析等),以及编码通信其他相关主题(Deburijin序列等),我们会在后面的系列中继续推出,敬请期待!

5f16713f7899cfe92fe3a7299bcb52a9.gif

我们是谁:

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

98ec6a9f520bd9848ba82b05561adc6a.gif

e3c50839ec05ea2f739e2cedcc41f17e.png

099ed6dabf5f9cdb1062637e05b6c501.jpeg

扫描二维码

关注更多精彩

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

好魔术背后的秘密

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

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

魔术缘何而给你惊喜?

3d0256b22ae0877c3c4cc15d6003b953.gif

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

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

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

相关文章

从零开始学架构——可扩展架构模式

可扩展架构模式的基本思想和模式 软件系统与硬件和建筑系统最大的差异在于软件是可扩展的,一个硬件生产出来后就不会再进行改变、一个建筑完工后也不会再改变其整体结构 例如,一颗 CPU 生产出来后装到一台 PC 机上,不会再返回工厂进行加工以…

从零玩转前后端加解密之SM2-sm2

title: 从零玩转前后端加解密之SM2 date: 2022-08-21 19:42:00.907 updated: 2023-03-30 13:28:48.866 url: https://www.yby6.com/archives/sm2 categories: - 加密算法 - 从零玩转系列 tags: - 加密算法 - sm2 前言 SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥…

工业互联网UWB定位系统源码,支持自定义开发

工厂人员定位系统,采用UWB定位技术,通过在厂区内部署一定数量的定位基站,以及为人员、车辆、物资佩戴标签卡的形式,实时获取人员精确位置,精度高达10cm。 文末获取联系 工厂人员定位系统可实现物资/车辆实时定位&#…

不同厂家对讲机耳塞耳挂/领夹型988对讲机如何写频改频点/频率能互相通信

988型号都是很多厂家代工出来的,代工出来默认的频点都不一样,有可能买回来的2个不同厂家生产的对讲机,这样它们要能通讯,必须要同频点才能互通,它一般出厂设定16个频道,长按+和-键来切换频道。 需要用到typeC 的写频线,其实是用CH430芯片的usb写频线,可以找厂家要写频线…

编程语言中,循环变量通常都用 i?你知道为什么吗?

01 前天,我在朋友圈发了一个问题: 为什么编程中,循环变量通常都是用 i ? 没想到,回复的人这么多!要连翻好几页。 这个问题,有 2/3 的人回答正确,有少部分人知道,但是不太确定。 习惯…

Hadoop基础学习---2、Hadoop概述

1、Hadoop概述 1.1 Hadoop是什么? 1、Hadoop是一个又Apache基金会所开发的分布式系统基础架构。 2、主要解决海量数据的存储和海量数据的分析计算。 3、广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。 1.2 Hadoop 优势(4高…

六级备考28天|CET-6|翻译井冈山|2021年12月|8:20~9:40+ ~10:17

目录 四级翻译5篇必练真题 六级翻译5篇必练真题 井冈山 四级翻译5篇必练真题 ①2023年3月一卷①自驾游 ②2022年 12月一卷③立秋 ③2022年6月一卷①拔苗助长 ④2021年 12月一卷②大运河 ⑤2021年6月一卷③普洱茶 六级翻译5篇必练真题 ①2023年3月一卷②郑和下西洋 ②2022年…

微服务多模块:Springboot+Security+Redis+Gateway+OpenFeign+Nacos+JWT (附源码)仅需一招,520彻底拿捏你

可能有些人会觉得这篇似曾相识,没错,这篇是由原文章进行二次开发的。 前阵子有些事情,但最近看到评论区说原文章最后实现的是单模块的验证,由于过去太久也懒得验证,所以重新写了一个完整的可以跑得动的一个。 OK&#…

nvidia-smi 失效解决

服务器重启后,跑模型发现: RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_locationtorch.device(cpu) to ma…

Linux常用命令——hping3命令

在线Linux命令查询工具 hping3 测试网络及主机的安全 补充说明 hping是用于生成和解析TCPIP协议数据包的开源工具。创作者是Salvatore Sanfilippo。目前最新版是hping3,支持使用tcl脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具。hping优…

【开源项目】Nepxion Aquarius实现分布式锁、缓存、ID生成、限速的源码解读

项目地址 项目地址 https://toscode.gitee.com/nepxion/Aquarius 项目介绍 Nepxion Aquarius是一款基于Redis Zookeeper的分布式应用组件集合,包含分布式锁,缓存,ID生成器,限速限流器。它采用Nepxion Matrix AOP框架进行切面架构…

天工开物 #6 Git 分支管理与版本发布

Git 版本管理系统由 Linux 的作者 Linus Torvalds 于 2005 年创造,至今不到二十年。 起初,Git 用于 Linux Kernel 的协同开发,用于替代不再提供免费许可的 BitKeeper 软件。随后,这一提供轻量级分支的分布式版本管理系统得到了开源…

产品经理被气的脸都绿了!

见字如面,我是军哥! 本来今天不想发文了,想躺平一下,毕竟今天周五了嘛。 可是今天早上一位买了我《技术人核心能力》的程序员学员发来私信,说他给产品经理上了一课,声称产品经理当时脸都绿了,并…

浅浅的理解MVI

MVI 的概念 官网解释: https://developer.android.google.cn/topic/architecture?hlzh-cn MVI在架构分层上和MVP没有本质区别,但区别主要体现在架构风格和编程思想上。 MVI 是 Model-View-Intent 的缩写,它也是一种响应式 流式处理思想的…

【Linux高级 I/O(2)】如何使用阻塞 I/O 与非阻塞 I/O?——select()函数

上次我们虽然使用非阻塞式 I/O 解决了阻塞式 I/O 情况下并发读取文件所出现的问题,但依然不够完美,使得程序的 CPU 占用率特别高。解决这个问题,就要用到本文将要介绍的 I/O 多路复用方法。 何为 I/O 多路复用 I/O 多路复用(IO m…

数据结构-时间复杂度和空间复杂度

时间复杂度和空间复杂度 算法效率时间复杂度空间复杂度表示方法(大O的线性表示)举例说明时间复杂度举例说明空间复杂度举例说明冒泡排序的时间和空间复杂度递归情况下的时间和空间复杂度两个例子 算法效率 算法(Algorithn)是指用来…

Spring MVC的核心类和注解

DispatcherServlet DispatcherServlet作用 DispatcherServlet是Spring MVC的核心类,也是Spring MVC的流程控制中心,也称为Spring MVC的前端控制器,它可以拦截客户端的请求。拦截客户端请求之后,DispatcherServlet会根据具体规则…

chatgpt赋能Python-python3接口自动化

Python3接口自动化:提升测试效率的利器 Python是一种高级编程语言,广泛应用于Web开发、数据科学、机器学习等领域。近年来,Python在接口自动化测试领域也变得越来越受欢迎。 Python的易读性、可扩展性以及模块化的特性,使得它成为…

Elasticsearch环境搭建(Windows)

一、介绍 布式、RESTful 风格的搜索和分析。 Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管…

手撕code(1)—— 排序算法

文章目录 前言1 冒泡排序2 选择排序3 插入排序4 快速排序5 归并排序6 堆排序7 希尔排序 前言 算法动画 时间复杂度分析 从小到大排序 1 冒泡排序 被动的将最大值送到最右边 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2、对每一对相邻元素作同…