细侃那些悬而未决的数学趣味谜题

十个悬而未决的数学趣味谜题

译者:July 二零一一年二月二十六日
参考文献:Mathematical Puzzles,by Peter Winkler。
此书豆瓣读书地址:http://book.douban.com/subject/2483910/
----------------------------------------

我之前曾在我的博客里阐述过,世界七大数学难题与Hilbert的23个问题,不少读者反映强烈,一方面纠结于此些问题解决或证明的难度之大,同时,又不得不叹服,数学之美与其无穷魅力。

和Goldbach 猜想、Riemann假设等经典数学难题不同,有些悬而未解的数学问题也很难解决,但同时,却趣味性很强。

这些问题,“数学性”比较弱,乍看上去并没有触及深刻的数学理论,似乎是一道可以被瞬间秒杀的数学趣题,让数学爱好者们“不找到一个巧解就不爽”;但令人称奇的是,它们的困难程度却不亚于那些著名的数学猜想,这或许比各个领域中艰深的数学难题更折磨人。

本文,从Mathematical Puzzles,一书中,节选了10个悬而未决的数学趣味谜题,以飨读者。同时,本文也参考了网友Matrix67的博客:http://www.matrix67.com/blog/。在此表示感谢。同时,本人暂时无法了解到这些问题的解决或证明情况的最新进展,所以,有不正之处,还望各位读者批评指正。谢谢。

ok,闲不多说,咱们开始,一有空,就多多思考下吧。
一、3x + 1问题
问题描述:从任意一个正整数开始,重复对其进行下面的操作:
如果这个数是偶数,把它除以 2 ;如果这个数是奇数,则把它扩大到原来的 3 倍后再加1 。
问:序列是否最终总会变成 4, 2, 1, 4, 2, 1, … 的循环?

乍看之下,问题非常简单,突破口很多,于是数学家们纷纷往里面跳;殊不知进去容易出去难,不少数学家到死都没把这个问题搞出来。已经中招的数学家不计其数。
3x + 1 问题又叫 Collatz 猜想、 Syracuse 问题、 Kakutani 问题、 Hasse 算法、 Ulam 问题等等。后来,由于命名争议太大,直接叫做 3x + 1 问题算了。

举一个例子,来说明数列收敛有多么没规律。如从 26 开始算起,10 步就掉入了“421 陷
阱”:
26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1, …

怎么样,明白了此问题了吧,ok,再举一个例子,从27开始算起:此时,数字会一路飙升到几千多,你很可能会一度认为它脱离了“421 陷阱”;但是,经过上百步运算后,它还是跌了回来:
27, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121,
364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263,
790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251, 754, 377, 1132,
566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619,
4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616,
2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92,
46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1, …

July附注:这样,我想你已经完全明白了此问题的描述,怎么样,有什么想法,或意见,留言告诉我吧。期待你的贡献。:D。


二、随机01串的最长公共子序列
问题描述:如果从数字序列 A 中删除一些数字就能得到数字序列 B ,我们就说 B 是 A 的子序列。例如, 110 是 010010 的子序列,但不是 001011 的子序列。两个序列的“公共子序列”有很多,其中最长的那个就叫做“最长公共子序列”。

随机产生两个长度为 n 的 01 序列,其中数字 1 出现的概率是 p ,数字 0 出现的概率是 1 - p 。用 Cp(n) 来表示它们的最长公共子序列的长度,用 Cp 来表示 Cp(n) / n 的极限值。

关于 Cp 的存在性,有一个非常巧妙的证明;然而,这个证明仅仅说明了 Cp 的存在性,它完全没有给计算 Cp 带来任何有用的提示。

即使是 C1/2 的值,也没人能成功算出来。 Michael Steele 猜想 C1/2 = 2/(1 + √2) ≈ 0.828427 。后来, V. Chvátal 和 D. sankoff 证明了 0.773911 < C1/2 < 0.837623 ,看上去 Michael Steele 的猜想似乎很可能是对的。 2003 年, George Lueker 证明了 0.7880 < C1/2 < 0.8263 ,推翻了 Michael Steele 的猜想。
更糟的是,“当 p 为 1/2 时 Cp 达到最小”似乎是一件很靠谱的事,但这个结论也无人能证明。

July附注:关于最长公共子序列问题,本博客,有所初步阐述。但鉴于那篇文章,阐述的
不是特别理想、透彻,这里,就不贴出来献丑了。


三、排序问题加强版
问题描述:
有n个盒子,从左至右依次编号为 1, 2, …, n 。第 1 个盒子里放两个编号为 n 的小球,第 2 个盒子里放两个编号为 n - 1的小球,以此类推,第 n 个盒子里放两个编号为 1 的小球。
每一次,你可以在相邻两个盒子中各取一个小球,交换它们的位置。为了把所有小球放进正确的盒子里,最少需要几次交换?

为了说明这个问题背后的陷阱,我们不妨先拿n=5 的情况做个例子:
首先,如果每个盒子里只有一个球,问题就变成了经典的排序问题了:只能交换相邻元素,如何最快地把 5, 4, 3, 2, 1 变成 1, 2, 3, 4, 5 ?如果一个数列中前面的某个数反而比后面的某个数大,我们就说这两个数是一个“逆序对”。显然,初始情况下所有数对都是逆序对,n = 5 时逆序对共有 10 个。我们的目的就是要把这个数目减少到 0 。而交换两个相邻的数只能消除一个逆序对,因此 10 次交换是必需的。

不过,题目里面每个盒子里有两个球,那么是不是必须要交换 20 次才行呢?错!下面这种做法可以奇迹版地在 15 步之内完成排序:
55, 44, 33, 22, 11
54, 54, 33, 22, 11
54, 43, 53, 22, 11
54, 43, 32, 52, 11
54, 43, 32, 21, 51
54, 43, 21, 32, 51
54, 31, 42, 32, 51
41, 53, 42, 32, 51
41, 32, 54, 32, 51
41, 32, 42, 53, 51
41, 32, 42, 31, 55
41, 32, 21, 43, 55
41, 21, 32, 43, 55
11, 42, 32, 43, 55
11, 22, 43, 43, 55
11, 22, 33, 44, 55

第一次看上去似乎很不可思议,但细想一下还是能想明白的:
同一个盒子里能够放两个数,确实多了很多新的可能。如果左边盒子里的某个数比右边某个盒子里的数大,我们就说这两个数构成一个逆序对;但如果两个不同的数在同一个盒子里,我们就把它们视作半个逆序对。

现在让我们来看看,一次交换最多能消除多少个逆序对。假设某一步交换把 ab, cd 变成了 ac, bd ,最好的情况就是 bc 这个逆序对彻底消除了,同时 ac 、 bd 两个逆序对消除了一半, ab 、 cd 两个(已经消除了一半的)逆序对也消除了一半,因此一次交换最多可以消除 3 个逆序对。由于一开始每个盒子里的两个相同的数都会在中间的某个时刻分开来,最后又会合并在一起,因此我们可以把初始时两个相同的数也当作一个逆序对。

这样的话,初始时每两个数都是逆序对, n 个盒子里将产生 C(2n, 2)个逆序对。自然,我们至少需要 C(2n, 2) / 3 步才能完成排序。当 n = 5 时, C(2n, 2) / 3 = 15 ,这就说明了上面给出的 n = 5 的排序方案是最优的。

这个分析太巧妙了,实在是让人拍案叫绝。就只可惜,这个下界并不是总能达到的。当 n = 6 时,上述分析得出的下界是 22 步,但计算机穷举发现没有 23 步交换是不行的。于是,这个问题又变成了一个诱人的坑,至今仍未被填上。

July附注:排序问题,历来是这个世界上应用最广泛同时也是比较难的一类问题。目前,
本Blog内正在一步一步阐述基本的八大排序算法,欢迎阅读。

四、环形跑道难题
问题描述:
有一个环形跑道,总长为 1 个单位。n 个人从跑道上的同一位置出发,沿着跑道顺时针一直跑下去。每个人的速度都是固定的,但不同人的速度不同。证明或推翻,对于每一个人,总会有一个时刻,他与其他所有人的距离都大于 1/n 。

乍看上去,这个问题无异于其它各种非常巧妙的初等组合数学问题,但不可思议的是,这个问题竟然直到现在仍没解决。目前最好的结果是,当 n ≤ 6 时,结论是成立的。直觉上,对于更大的 n ,结论也应该成立,不过尚未有人证明。


五、天使和恶魔
问题描述:
天使和恶魔在一个无限大的棋盘上玩游戏。每一次,恶魔可以挖掉棋盘上的任意一个格子,天使则可以在棋盘上飞行 1000 步之后落地;如果天使落在了一个被挖掉的格子上,天使就输了。
问:恶魔能否困住天使(在天使周围挖一圈厚度 1000 的坑)?

这是John Conway的一个经典谜题。作为一个很“正常”的组合游戏,天使与恶魔的问题竟然一直没能得到解决。目前已经有的结论是,如果天使每次只能移动一步,恶魔一定能获胜。不过,天使只要能每次飞两步,似乎就已经很无敌了。当然,魔鬼的优势也不小——它不用担心自己“走错”,每多挖一个坑对于它来说都是有利的。

话说回来,Conway本人似乎仍然相信天使能赢——他悬赏了 1000 美元征求恶魔必胜的证明,但只悬赏了 100 美元征求天使必胜的证明。

July附注: 听说这个问题,已经解决了。解决情况是:n ≥ 2 时天使贏。 详情参见这里:http://home.broadpark.no/~oddvark/angel/


六、Thrackle 猜想

问题描述:
如上图中,每条边都与其它所有边相交恰好一次(顶点处相接也算相交),这个图就叫做一个 thrackle 。问,是否存在边数大于顶点数的 thrackle 图?

这个猜想还是John Conway提出来的。这明显又是一个坑,看到这个问题谁都想试试,然后就纷纷崩溃掉。 Conway 悬赏 1000 美元征解,可见这个问题有多么不容易。目前已知的最好的结果是,一个 thrackle 的边数不会超过顶点数的两倍减3 。


七、遍历所有的“中间子集”
问题描述:
证明或推翻,你可以通过每次添加或者删除一个元素,遍历集合 {1, 2, …, 2n + 1} 的所有大小为 n 或 n + 1 的子集。

看完上面的这一行字,我可以想象你已经有一种克制不住的冲动,拿起铅笔、草稿纸和电脑,开始寻找 n 不大时的规律。这可以说是本文的所有问题中最大的一个坑了——这个问题极具诱惑性,每个人第一次看到这个问题时都会认为存在一种对所有 n 都适用的构造解,于是众人一个接一个地往坑里跳,拦都拦不住。

没有人认为这个猜想是错误的,简单的计算机枚举显示,随着 n 的增加,遍历这些子集的方案数不但也随之增加,而且增长得非常之快。到了某个 n ,方案数突然跌到了 0 ,这明显是一件极不可能发生的事。但是,几十年过去了,却没有人能够证明它!


八、出现次数超过一半的元素
问题描述:
令 U 是一个有限集,S1 , S2 , … , Sn 都是 U 的非空子集,它们满足任意多个集合的并集仍然在这些集合里。证明,一定能找到某个元素,它出现在了至少一半的集合里。

不可思议,即使是最基本最离散的数学研究对象——有限集——里面,也有让人崩溃的未解问题。
1999 年, Piotr Wojcik 用一种非常巧妙的方法证明了,存在一个元素出现在了至少 n/log2n 的集合里。不过,这离目标还有很大一段距离。


九、曲线的内接正方形
问题描述:
证明或推翻,在平面中的任意一条简单封闭曲线上,总能找到四个点,它们恰能组成一个
正方形。

任意凸多边形上总存在四个可以构成正方形的点;对证明方法进行改进,可以把结论扩展到凹多边形上。目前,对于充分光滑的曲线,似乎已经有了肯定的结论;但对于任意曲线来说,这仍然是一个悬而未解的问题。平面上的曲线无奇不有,说不准我们真能精心构造出一种不满足要求的怪异曲线。


十、俩个有趣的几何问题:
1、关于 Venn 图


问题描述:
如上图所示,画惯了三个集合的 Venn图,很多人都会认为,四个圈画成一朵花一样的形状就是四个集合的 Venn 图了。其实这是不对的——四个圆只能产生 14 个区域,而四个集合将会交出 16 种情况。如果把四个圆圈像中间那幅图一样排列,就少了两个区域:只属于左下角的圆和右上角的圆的区域,以及只属于左上角的圆和右下角的圆的区域。

那么,是不是四个集合的 Venn 图就没法画了呢?也不是。如果你不是一个完美主义者,你可以像右图那样,把三个集合的 Venn 图扩展到四个集合;虽然看上去非常不美观,但是站在拓扑的角度看上去,只要逻辑上正确无误,谁管它画得圆不圆呢。

大家会自然而然地想到一个问题:右边这个图是否还能继续扩展成五个集合的 Venn 图呢?更一般的,是否随便什么样的 n 个集合的 Venn 图都可以扩展到 n + 1 个集合呢?
令人难以置信的是,这个问题竟然还没被解决。事实上,对满足各种条件的 Venn 图的研究是一个经久不衰的话题,与 Venn 图相关的猜想绝不止这一个。

2、用平面镜拼成的多边形
问题描述:
证明或推翻,对于任意一个内壁全是镜面的多边形,总能在里面找到一个点,使得位于这个点的光源可以照亮整个多边形内部。

这是一个非常有创意的问题,只可惜问题最早的出处已经不得而之了。问题有趣就有趣在,“多边形”这个条件是必需的:如果允许有曲线的话,我们就能构造出一个由镜面构成的平面图形(见下图左),里面的每个点都不能照亮整个图形。

对于多边形的情况, 1995 年 Tokarsky 给出了一个 26 边形房间(上图右),把光源放在其中一个点上,它将无法照到另一个点(假设顶点处不反射光线)。因此,问题就只剩下一个了:有没有什么多边形,任意位置的光源都无法照亮整个图形(十个悬而未决的数学趣味谜题完)。
------------------------------------------------------------------

最后再分享一道简单的,但同样有趣的几何证明题
如下图,作出任意三角形 ABC 的内切圆 ⊙I ,它与 AC 相切于点 N 。过 N 作 AC 的垂线,与 ⊙I 的另一个交点记作 M (因此 MN 就是这个圆的一条直径)。连接并延长 BM ,与 AC 交于点 L 。求证: CN=AL 。

下面这个证明方法很妙:过 M 点作 ⊙I 的切线,与 AB 、 BC 分别交于点 E 、 F 。因此, EF 与 AC 平行。以 B 点为中心,把 △BEF 放大到 △BAC ,则 M 点就会和 L 点重合,而 ⊙I (作为 △BEF 的旁切圆)则会变成 △BAC 的旁切圆 ⊙I' 。

下面我们要用到与切线长相关的两个定理:
(1) 两圆的两条外公切线等长
(2) 圆外一点到圆的两条切线等长
由 (1) 可知 XY = ZW ,即 AX + AY = CZ + CW 。由 (2) 可知 AX 、 AY 、 CZ 、 CW 分别等于 AN 、 AL 、 CN 、 CL 。于是有 AN + AL = CN + CL 。等式两边都减去 NL 一段,有 2 * AL = 2 * CN ,结论就证到了。
ok,怎么样,有趣吧?欢迎,提供意见。本文完。

版权所有,侵权必究。若有需要,转载,请注明出处。谢谢。

你可能感兴趣的:(游戏,算法,中间件,Blog,读书)