打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
魔术里的集合、映射和关系(八)——硬核之作《双人扑克感应》中的数学

在前面的作品中,我们聊完基本的数学知识以后,已经用4篇的篇幅讲了两个用集合语言来描述的性质所构造的魔术了,从结构上看他们几乎是等同的,而在艺术表现形式上,又各有美感。相关内容欢迎回顾:

魔术里的集合、映射和关系(七)——情怀之作《连环预言》的魔术魅力

魔术里的集合、映射和关系(六)——情怀之作《连环预言》的数学模型

魔术里的集合、映射和关系(五)——优雅之作《4 Kings 折纸》的集合描述

魔术里的集合、映射和关系(四)——优雅之作《4 Kings 折纸》魔术赏析

魔术里的集合、映射和关系(三)——关系和映射的关系

魔术里的集合、映射和关系(二)——集合怎么用?

魔术里的集合、映射和关系(一)——集合是个啥?

今天要分享的魔术,我们从集合转到函数,用到的是映射关系中极为特殊的一种关系——一一映射

先看表演

视频1 双人扑克感应

(这位观众一人分饰两角了,最后20s声音有点问题,内容是魔术师说出了所有牌的点数和花色!)


数学解析

本系列第3篇文章中也已经提到,在众多关系中,有最特殊的一种是一一映射,因为其不仅是映射,而且还“既单且满”,这样其不仅是个可以从原象空间找到在象空间的唯一元素的映射,而且倒过来也成立。而一般的函数关系中,是函数往往是显然的。比如我知道我在在自动售货机上扔一个硬币,按特定的按钮,就会出来特定的饮料,一般不会出来别的,因为这是个函数,是天然的单向映射。又比如,两个整数相加,一定只有一种结果,加法是个二元函数关系。

但是,他们是否是一一映射呢,换句话说,是否可逆呢?

如果一个售货机购买每个商品有多种方式,比如点列表中的图案,搜索商品名字,价格筛选等等都可以购买同一个商品的话,那这从商品到操作路径的关系显然就不在是映射了,故不可逆;

同理,对于一个加法运算的结果而言,有多重拆分的方式,就像把一大筐枣子分成两筐的分法那么多种。

到这里,这个可逆性看样子是无法直接存在了,但是还是很诱人,你想,我要是能够仅凭一个和的结果就能推断出两个加数的值,这么神奇的事情还怕设计不成魔术么?

所以数学人抓紧啊,魔术师等着用呢!要怎样的限定,才能使得一个加法运算居然是可逆的?

估计你做梦也想不到,竟然是斐波那契数列的项做加数的时候吧!


斐波那契数列

又叫兔子数列,其通项公式为:

an = a(n – 1) + a(n – 2)

对它相信大家已经比较熟悉了,我讲几个重要的知识点:

  1. 其来源可看作模拟的是每个月都会生出兔子且1个月才能成熟的理想兔子窝里的兔子数量变化的规律,是个漂亮的递推关系式;

  2. 在程序求解中,可以直接用循环结构求得,如果用递归,最好先化归为(a(n+1),an)的求解问题再求解,不然会有几乎一倍的重复压栈出栈操作,也会花费一倍的重复计算算力,化归以后则是一个标准的线性递归了,如果编译器有优化,效率可接近甚至等于循环了;

  3. 可以根据特征根法求解器通项公式,求出来竟然会带出来奇怪的根号,没错,就是这样,但是在计算机里表达不了无理数,就存在先小数近似再恢复成整数的过程,中间可能因为计算精度的问题产生误差,故这并不是一个计算机求解方案的上策。

一般首两项可以取任意值,按照兔子生兔子的说法,根据开始兔子是否是刚出生的还是成熟兔子,可以有1,1和1,2两种1起始状态。比如:

1,1,2,3,5,8,13,21,34……

于是问题就变为,如果加数限定在有序地从斐波那契数列上取二个,那么加法运算是不是可逆的,也就是,能否给定和,返回唯一的两个加数组合,或者返回不存在?

然而只要点到这里了,证明却是异常简单的,数学之美,美在昙花一现的灵感。

这里其实只要证明,对于任意的{i, j}索引集,取得的(ai + aj)的值都是唯一而互不相等的,即:

an是斐波那契数列,对任意i1, i2, i3, i4的索引,ai1 <= ai2, ai3 <= ai4,(i1, i2) != (i3,i4)都有:

ai1 + ai2 != ai3 + ai4

证明:

用反证法,假设ai1 + ai2 = ai3 + ai4

即ai1 – ai3 = ai4 - ai2

不妨设ai1 <= ai3, 那么ai2 >= ai4

以上不妨设内容都不失一般性,综合后可得:

ai1 <= ai3 <= ai4 <= ai2

由斐波那契数列的单调性,得:

i1 <= i3 <= i4 <= i2

1. 如果i4 = i2,ai4 = ai2,则ai1 = ai3,由斐波那契数列本身的可逆性,那么i1 = i3,与(i1, i2) != (i3, i4)的条件矛盾,反证法得证;

2. 若i4 < i2, 

    2.1. 如果i3 = i4,

        2.1.1. 如果i3 = i4 = i2 – 1,那么i1 = i2 – 3时原假设成立;

        2.1.2. 如果i3 = i4 <= i2 – 2,那么ai2 + ai1 > ai2 = a(i2 – 1) + a(i2 - 2) > ai3 + ai4,原假设不成立,反正法得证;

    2.2. 如果i3 < i4,那么ai2+ ai1 > ai2 = a(i2 – 1) + a(i2 - 2) >= ai3 + ai4,原假设不成立,反证法得证。

估计大家也看到了,这里在分类讨论到2.1.1的时候出现了正例,无法完成证明。其实啊,是我写命题的时候一开始放得太宽了,真正成立的命题应该是:

an是斐波那契数列,对任意i1, i2, i3, i4的索引,ai1 < ai2, ai3 < ai4,(i1, i2) != (i3,i4)都有:

ai1 + ai2 != ai3 + ai4

本质是说明索引集不同(由集合的性质),按理来说是应该把上面的内容删掉重新用简明的方法来证明的,也就只有1和2.2两种情况了,其他的讨论也都不再存在了。

但是我没删,一方面不舍得,另一方面,这正体现了对一个数学问题分析的过程。数学定理,结论的得来,从来都不是一蹴而就就能够得到最终结论以及完成证明的,你在教科书上看到的优雅的结论和证明,在成文之前不知道经过了多少次来回的修改和打磨,才成了那个样子的经典。

然而出版的时候,以逻辑体系为名,其实怕你偷学他的思路,都给删掉了,部分线索还只能去习题里找找,尽量还原。

经典虽好,可是学习者更宝贵的材料和体验是那个打磨思考的过程的参考。所以这里我正好把它留下来,分享一下一个结论真正得到的过程,也算是知其然而知其所以然了。

还有一个原因,这里所涉及到的分类讨论思想真的感觉非常漂亮,当一个问题不好下手的时候就按照一定角度分类进行。这个思想在高中数学里就被反复提到(一共四个:分类讨论,化归,函数方程,数形结合,有机会我们进一步讨论),这样处理,虽然问题数量变多了,工作量看似增加了,但是每一个小问题都变得简单而可以解决了,这种代价是值得也是必须的。

是数学的智慧,数学的胜利,也是人类思维的精华之一。

而计算机中的条件控制,分治,递归,化归等等,都有分类讨论思想的影子,只不过是用代码的形式作了另一种呈现。

数学部分到此结束,下一讲我们进入魔术分析,同学们也可以先想一想,在这个流程里,斐波那契这个求和可逆的性质是怎样用在这个魔术里,又不着痕迹的呢?

尽请期待!

我们是谁:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
神奇的斐波那契数列
三年级:美妙数学之“杨辉三角”(0406三)
隐藏在普通除法里的斐波那契数列
视频 | 神奇的斐波那契数列
斐波那契数列优质教育课件PPT
斐波那切数列
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服