当你走进数学王国,那种逻辑美、对称美及和谐美真的是美不胜收!
趣谈97个数学知识、36个趣味游戏、11个著名猜想和50个生活中的数学问题
趣谈13种数学算法:博弈、TSP、数据匹配检索、自动分词、优路径、层次分析法、图像融合、拟合回归、线性规划、最短路、最小树、人工神经网络和鱼群算法
趣谈10个数学分支:数学认识、数学逻辑、数字之美、数学猜想、几何图形、生活数学、数字数学、数学捷径、数学程序和数学智能
趣谈14个数学难点:幻方、分形维数、螺旋线、8皇后问题、TSP问题、音乐数学、Google检索、中文分词、七桥问题、盲人下山、优灾情巡视路线、图形融合、相交体重心和生物智能算法
以趣味知识为背景,用生动活泼的语言展示了生活、工作和学习中的各种趣味问题
教会读者用逻辑思维和定量化思维分析问题,并借助于计算机解决问题,从而增强职场竞争力
通过大量的实际案例引导读者学习数学模型应用及算法求解思路,从而提高数学思维能力和智慧
引导读者更轻松地学习如何用数学定义各种实际问题,从而给出对问题的合理解答
内容丰富、有趣,讲解通俗易懂,读者只需要具备基本的数学基础便可顺利阅读
海报:
《我和数学有约:趣味数学及算法解析》以数学趣味知识为背景,介绍了与生活、工作、学习等紧密结合的各种数学问题,并且辅以MATLAB程序验证,让问题的求解更加充实和直观。本书内容丰富、有趣,讲解通俗易懂,读者只需要具备基本的数学基础便可顺利阅读。通过阅读本书,一方面能够感受到数学知识的趣味横生,另一方面还能通过实际案例学习数学模型应用及算法求解思路等,从而提高自己的数学思维能力。
《我和数学有约:趣味数学及算法解析》共10章,包括数学万花筒、数学逻辑之美、数字之美、著名猜想家、几何图形之美、思考的乐趣、天才的数学游戏、最优路径抉择、程序之美、精妙的人工智能。本书基本涵盖了常见的数学趣味知识及机理分析、博弈分析、分形维数、斐波那契数列、层次分析法、公平分配、旅行商问题、最短路径、最小树模型、信息检索、图像融合、回归分析、线性规划、神经网络、鱼群算法等算法解析。
《我和数学有约:趣味数学及算法解析》几乎适合所有想提高数学思维和智慧的读者作为兴趣读物。对于各个阶段学习和研究数学的师生,本书更是一本不可或缺的参考书。另外,本书还可以作为广大MATLAB爱好者学习编程和算法的参考书。
第1章 数学万花筒
数学是人类科技文明进步的阶梯。数学贯穿于我们的生活,生活离不开数学,就像鱼离不开水一样,生活在数学家的眼里,但是数学家游躺在生活的怀抱里。数学比较难,以至于让很多人讨厌学习它,然而当你走进数学的殿堂,你会发现,数学有着一种和谐美、对称美,更是有着对完美的塑造。本章将带你步入数学万花筒中,初步感知数学 之美。
1.1 理性数学与感性认识
数学是理性的,得到的数据从来不骗人。数学来源于生活,它对生活的方方面面都有着一种美的塑造。我们感性认识数学就是数字的排列组合,使得呈现出不同的图案,让人们都接受它,然后去学习它,为我们的生活所用,然而有些数学模型很炫,和自然存在的万物相融合,显得那么唯美,例如女性的乳房。
我们对女性乳房有一定的认识,女性乳房是由一个复杂而又非常完美的3D曲面构成,具体的感性认识模型如图1-1所示。
图1-1 感性认识
对如图1-1所示的女性人体模型,单独定位乳房结构,从感性认识到理性分析,具体如图1-2所示。
图1-2 女性乳房模型
对于如图1-2所示,女性乳房是中心对称的3D曲面,这点也符合人体实际特征。
数学是极具魅力的,它几乎能模拟万物特征。对于如图1-2所示的物理模型,采用2D剖分线形式显示女性乳房截面,MATLAB编程如下:
clc,clear,close all %清屏和清除变量
warning off %消除警告
x=0:0.01:1;
y=3.*x. *log10(x)-(1/30). *exp(- ( (30. *x-30./exp(1)).^4)); %函数
plot(y,x) %画图
grid on %网格
axis equal %坐标轴设置长度相同
运行程序输出结果如图1-3所示。
图1-3 乳房2D视图
同样,采用三维曲面进行显示,MATLAB程序如下:
clc,clear,close all %清屏和清除变量
warning off %消除警告
[X, Y] = meshgrid(0.01:0.01:1, 0.01:0.01:1); %网格点化
Z = 11*X. *log10(X). *Y. * (Y-1)+exp(-((25 ...
*X - 25/exp(1)).^2+(25*Y-25/2).^2).^3)./25;
surfl(X, Y, Z); %3D曲面绘制
shading flat %平面着色
colormap(pink) %粉色
view([20 30]) %视图
%colormap(jet)
shading interp %平面插值
set (gcf, 'color', 'w') %设置背景颜色
运行程序输出结果如图1-4所示。
图1-4 乳房3D视图
数学曲面人体乳房是不是极其逼真地再现了女性乳房。在我们的日常生活中,数学无处不在。数学体现出的那种抽象美、协调美与精确美是人们无法想象的,大胆构想,生活中的数学应用无处不在。
1.2 倒推转化巧拿硬币
听说过拿硬币的游戏吗?如果没听过,让我们先来熟悉一下拿硬币游戏的规则吧!
【问题】什么是拿硬币游戏呢?
【分析】
拿硬币游戏是两个人玩的游戏,要求每个参加者轮流拿走若干硬币,谁拿到最后一枚硬币谁就算赢。我们来实际进行一次拿硬币的游戏。
游戏1:桌上放着15枚硬币,两个游戏者A和B轮流取走若干枚。规则是每人每次至少取1枚,至多取5枚,谁拿到最后一枚谁就赢得全部15枚硬币。
【问题】对于拿硬币游戏,有没有能保证你赢的办法呢?若有,这办法又是什么呢?
【分析】
现在,假定你就是A同学,你把自己想象在处于即将赢的状态,该你取硬币了,而且桌面上硬币恰好不超过5枚,这时,你可以一次拿走桌上的所有硬币,成为赢者。现在,你能不能从这样的终点状态往前推,找出一个状态,使得只要你的对手处在这一状态,那么无论他拿走几枚硬币,你都会处于理想的获胜状态?不难发现,如果你的对手处于桌面有6枚硬币的状态,那么无论他拿走几枚(从1枚到5枚)硬币,桌上都会剩下至少1枚至多5枚硬币,这样胜利一定属于你。也就是说,谁拿走第9枚硬币,谁将获胜。
于是,A同学在游戏1里获胜,即拿走第9枚硬币。游戏1等效于下面的游戏2。
游戏2:桌上放着9枚硬币,两个游戏者A和B轮流取走若干个。规则是每人每次至少取1枚,至多取5枚,谁拿到最后1枚谁就赢得游戏1中的15枚硬币。
继续对游戏2的倒推分析,我们不难知道,A同学在游戏2的获胜情况与下面游戏3等效。
游戏3:桌上放着3枚硬币,两个游戏者A和B轮流取走若干个。规则是每人每次至少取1枚,至多取5枚,谁拿到最后1枚谁就赢得游戏1中的15枚硬币。
在游戏3中,你只要第一个从桌上拿走3枚硬币便可赢得游戏1中的15枚硬币。
相信你,准赢。
用数学指导生活,用数学思维武装自己的头脑,生活处处是惊喜。
1.3 点子的排列方向
正常的骰子,相对两面的点子数目之和总是7。你发现了吗?
如图1-5所示,这三只骰子是正常的。但是,从点子的排列方向来看,其中有一只与其他两只不同。
图1-5 骰子上点子的排列方向
【问题】在A、B和C这三只骰子中,哪一只与其他两只不同?
【分析】
无论骰子怎样摆,一点、四点和五点的排列方向总是不变的。但是,两点、三点和六点却可以有如图1-6所示的不同排列方向。
图1-6 两点、三点和六点不同的排列方向
在A、B和C这三只骰子中,哪一只与其他两只不同?具体如以下的推理。
(1)如果骰子B和骰子A相同,则骰子B上两点的排列方向必定与图1-5中骰子A上三点的排列方向对称相反,所以骰子A和骰子B不是相同的。
(2)如果骰子C和骰子A相同,则骰子C上三点的排列方向必定与图1-5中骰子A上三点的排列方向对称相反,所以骰子A和骰子C是不相同的。
(3)如果骰子C和骰子B相同,则骰子C上的六点应该和图1-5中骰子B上两点的排列方向相同。
因此相同的必定是骰子B和骰子C。与它们不同的便是骰子A了。
点子的排列方向问题,是不是很简单,懂了吗?留心生活,观察细微的东西,会有不一样的体会。
1.4 错 位 问 题
数学题并不是枯燥无味的,有很多和我们的生活相关的趣味数学题。例如这个错位数学问题。
【问题】什么是错位问题?
【分析】
我们在计算两个数字相减时,经常会遇到必须向前一位数借1的情况。其实并不是非借位不可。可以采用我们的补数加法运算,就是每个数字都用9来减,因此不会涉及借位的问题,这就是我们所谈及的错位问题。
例如,我们想计算 ,借助错位运算方法,可以不用借位,计算过程更 轻松。
先用999减去489得510,再将510加上573得1083,忽略千位数1,而在个位数加1,就可以得到最后的答案84。
最后, 。
【问题】为什么补数加法运算方法可行?
【分析】
补数加法运算方法可行的原因,可由下面的式子清楚地证明:
这个方法与电脑做减法运算的方式很类似,只是电脑是以二进位数字储存各运算值,因此电脑不是用一连串的“9”减去某数,而是用一连串的“1”。
采用计算机做这样的运算非常简单,因为运算的结果就是把原来的“1”变成“0”,“0”变成“1”,例如1111-1011=0100。
错位原理是不是可以降低你采用减法出错的几率,大胆的想象,总结属于自己的巧解方法。
1.5 双胞胎的秘密
谈及双胞胎,大家可能眼前一亮,都知道双胞胎肯定是形似、神似的两个人,几乎接近于同一个人。然而我们这里的双胞胎也有一番味道,数字双胞胎兄弟,通过数数相乘,一对一对的双胞胎兄弟就并排显示在我们的眼前。
请看下面双胞胎数是如何产生的。
【问题】
(1)49要乘上多少才能得到4949?
(2)38要乘上多少才能得到383838?
(3)请找出4个质数,它们与一个二位数 相乘所得的乘积为 。
(4)一个二位数 与73×101×137的乘积会是多少?
【分析】
49×101=4949
38×10101=383838
10101=3×7×13×37
因此任何二位数 乘以3,再乘以7,再乘以13,再乘以37,都会得到 。
73×101×137=1010101
因此 乘上这些数字之后,会得到 。
编写MATLAB程序如下:
clc,clear,close all %清屏和清除工作区变量值
warning off %清除警告
x1 = 49*101 %乘法运算
x2 = 38*10101
x3 = 10101 - 3*7*13*37
x4 = 73*101*137-1010101
x51 = 43* 3*7*13*37 %验证1
x52 = 12* 3*7*13*37 %验证2
x53 = 56* 3*7*13*37 %验证3
x54 = 29* 3*7*13*37 %验证4
运行程序输出结果如下:
x1 =
4949
x2 =
383838
x3 =
0
x4 =
0
x51 =
434343
x52 =
121212
x53 =
565656
x54 =
292929
数字很奇妙,发觉其中的乐趣,回味无穷。
1.6 只许称一次
一袋一袋的洗衣粉堆成十堆,九堆洗衣粉是合格产品,每袋1斤,唯独有一堆份量不足,每袋只有9两。从外形上看,看不出哪一堆是9两的。如果使用台称一堆一堆去称,则称的次数比较多,比较耗时耗力。有人找到一个办法,只称了一次,就找到了9两的那一堆。他是如何做到的呢?
【问题】如何做,才能只称一次就确定那9两一堆的洗衣粉呢?
【分析】
你注意过乘法口诀的特点吗?一个数乘9,乘积中的个位数,没有相同的数:0×9=0,1×9=9,2×9=18,3×9=27,4×9=36,5×9=45,6×9=54,7×9=63,8×9=72,9×9=81。称洗衣粉就要用到这个特点,判别洗衣粉的步骤如下。
(1)将十堆洗衣粉编上号码:1、2、3、4、5、6、7、8、9、10。
(2)从第1堆取一袋洗衣粉,从第2堆取两袋,从第3堆取三袋,……,从第9堆取九袋,第10堆不取。
(3)把取出来的洗衣粉用秤称一下,注意总重量为几斤几两,如果尾数为3两,则我们能够判别第7堆是九两一袋,因为7×9=63。如果是0两,那就是第10堆。
至此,相信大家都明白了。
【问题】如果有四十堆洗衣粉,其中有一堆是9两一袋的,那么要称几次才能找出这一堆?
【分析】
如果有四十堆,就要称三次,分三步如下。
第一次先从二十堆中每堆中取出一袋一起称。如果重量是20斤,说明九两的那堆在剩下的二十堆中。不然,就在这二十堆中。
第二次再从包含九两一堆的二十堆中选取十堆,每堆取一袋在台称上称。判别总重量是否10斤,就可以确定九两一堆的在哪十堆中。
第三次,将包括九两一堆的十堆按照前面的办法称一次,就确定了哪一堆是九两的。
上述解法启发我们注意9的倍数的个位数字的规律,但是这种方法只适用于堆数不超过10的情况。如果堆数在10以上,用此办法就不能行了。比如,2×9=18,12×9=108,18与108的个位数字都是8,如果称出的总重量的尾数(两)是8两,就判断不出是第2堆还是第12堆是九两一袋的。
比如一共有四十堆,给它们分别编上号码1,2,3,4,…,37,38,39,40。然后,每堆的编号是几,就从其中拿出几袋洗衣粉,放在台秤上称总重量。
台秤上一共有多少袋洗衣粉呢?
台秤上一共有820袋洗衣粉。
如果四十堆洗衣粉都是合格品,也就是说每一堆中的每一袋都恰好是一斤,那么台秤上的洗衣粉的总重量应该是820斤。但是现在已知“唯独有一堆”分量不足,每袋只有九两,因而台秤上的820袋洗衣粉的总重量必定不够820斤。
我们注意台秤上洗衣粉的总重量,不仅要注意零头是几两,而且要准确地注意是多少斤多少两,再算一下这个总重量比820斤一共少几两。少几两就说明台秤上有几袋是九两一袋的,于是我们就能知道哪一堆是九两一袋的。
为了减少麻烦,最后一堆一袋都不取,只从前面三十九堆中取,第几堆就取几袋,然后一起放到台秤上称,这样,台称上总共就有780袋洗衣粉。如果称得的总重量恰好是780斤,就说明最后一堆是九两一袋的。如果总重量不够780斤,那么,比780斤少几两,第几堆就是九两一袋的。
如果一共不是有四十堆洗衣粉,而是一共有十堆、二十堆,或者三十堆、五十堆,只要每一堆洗衣粉都有足够多袋,而且台秤足够大、足够准,都可以用这样的方法称一次就把那堆九两一袋的找出来。
通过这个称量方法判别缺斤少两,有益于指导实际应用,读者可以好好享受此次 盛宴。
1.7 俄罗斯乘法原理
据说从前俄罗斯的农民使用过这样一种乘法,只需要用到2的乘除表,即可实现数与数的乘法运算。
【问题】俄罗斯乘法是什么?
【分析】
例如,要求39和79的乘积。
由39和79两数开始,左列的数字是把39除以2,不计余数,得出的数字再除以2,直到商数是1为止。右列的数字则是把79乘以2,得出乘积再乘以2,直到所对应的左列数字是1为止。
最后,由右列数字中挑出所对应的左列数字为奇数者,再把这些数字加起来。这个和就是所要的答案,具体如下列表达式:
39×79=79+158+316+2528=3081
用其他的数字试试这个方法,再用计算器核对答案是否正确。
【问题】你能解释这个方法的原理吗?
……
第1章 数学万花筒
1.1 理性数学与感性认识
1.2 倒推转化巧拿硬币
1.3 点子的排列方向
1.4 错位问题
1.5 双胞胎的秘密
1.6 只许称一次
1.7 俄罗斯乘法原理
1.8 韩信点兵
第2章 数学逻辑之美
2.1 还有1元钱去哪了
2.2 五猴分桃
2.3 斯隆先生的四片果林
2.4 牛顿问题
2.5 为什么赌博中庄家稳赚不赔
2.6 生活中的博弈
2.6.1 囚徒困境博弈
2.6.2 海盗分赃博弈
2.6.3 智猪博弈
2.6.4 股市博弈
2.6.5 淘宝商城博弈
第3章 数字之美
3.1 0.1?0.3+0.2等于0吗
3.2 数字黑洞
3.3 3x+1问题
3.4 两位数的速乘
3.5 三阶幻方
3.6 天然幻方
3.7 回文数
3.8 数在变,数字不变
3.9 埃及金字塔内的142857
第4章 著名猜想家
4.1 西塔潘猜想破解了吗
4.2 四色定理
4.3 黎曼猜想
4.4 霍奇猜想
4.5 庞加莱猜想
4.6 杨-米尔斯存在性和质量缺口
4.7 纳维叶-斯托克斯方程的存在性与光滑性
4.8 贝赫和斯维讷通-戴尔猜想
4.9 哥德巴赫猜想
4.10 几何尺规作图问题
4.11 P/NP问题
第5章 几何图形之美
5.1 分形维数
5.1.1 分形树
5.1.2 素描树
5.1.3 Koch(科赫)曲线
5.2 神奇的魔幻图形
5.3 完美的螺旋线
5.4 神奇的斐波那契数列
5.5 令人叹为观止的视觉图像
5.6 几何图形的线性变换
5.7 世界杯足球触手可及
5.8 五星红旗随风飘
5.9 一颗红心永流传
第6章 思考的乐趣
6.1 八皇后问题
6.2 利润如何分配
6.3 给你心仪的女生打分
6.4 如何渡河时间最短
6.5 如何渡河位移最小
6.6 如何渡河使得船舶向下漂移的距离最短
6.7 如何投掷铅球投的最远
6.8 看背包客如何玩遍湖北省
6.9 运动员如何以最优速度赛跑
6.10 椅子能在不平的地面放平吗
6.11 拱形圆顶与椭圆顶哪个更划算
6.12 双层玻璃的功效
6.13 易拉罐形状和尺寸的最优设计
6.14 人在走路时,步长多大最省力
6.15 生日雷同
6.16 足球门的危险区域
第7章 天才的数学游戏
7.1 QQ找茬
7.2 声音回放
7.3 音乐盛宴
7.4 玩转Google地球
7.5 Google是如何快速实现信息检索的
7.6 信息检索
7.6.1 简单的匹配搜索
7.6.2 相对频率搜索
7.6.3 潜语义索引搜索
7.7 中文自动分词方法
7.7.1 基于词典的机械匹配的分词方法
7.7.2 正向减字最大匹配法
7.7.3 逆向减字最大匹配法
7.7.4 基于统计的分词方法
7.7.5 基于人工智能的分词方法
7.7.6 神经网络分词算法
7.7.7 专家系统分词算法
第8章 最优路径的选择
8.1 最佳灾情巡视路线
8.2 盲人下山
8.3 Galton钉板实验
8.4 七桥问题
8.4.1 有向图与无向图
8.4.2 路和回路
8.4.3 连通图
8.4.4 无向图邻接矩阵
8.4.5 有向图邻接矩阵
8.4.6 有向图弧长邻接矩阵
8.5 最小树问题
8.6 最短路问题
第9章 程序之美
9.1 百花齐放之程序之美
9.2 100内取10个正数,和等于100
9.3 还原真实场景
9.4 左眼到右眼的距离究竟多远
9.5 马航MH370飞行3D模拟
9.6 三角形的重心
9.7 相交体的重心在哪
9.8 桌球运动之美
第10章 精妙的人工智能
10.1 巧用回归方程
10.2 线性规划之N元方程求解
10.3 图像究竟是怎么表征的
10.4 人工神经网络PK人脑
10.5 不可思议的生物智能应用
参考文献