趣题:选出最多的大小为奇数的子集,使得两两的交集大小都是偶数

    在集合 {1, 2, …, n} 中选出尽可能多的子集,使得每个子集所含的元素个数都是奇数,但是任意两个子集的交集都含有偶数个元素。那么,我们最多能够选出多少个这样的子集来?

    容易看出,我们至少可以选出 n 个子集。例如,当 n = 4 时, {1} 、 {2} 、 {3} 、 {4} 就满足要求。我们还能选出更多的子集来吗?简单地尝试后,你会觉得似乎不行。不过,这却并不是显然的,因为存在一些不那么平凡的方案,也能让子集的数量达到 n ,例如 {1, 2, 3} 、 {1, 2, 4} 、 {1, 3, 4} 、 {2, 3, 4} 这 4 个子集也是满足要求的。看来,证明最多只能选出 n 个子集,好像并不那么容易。

Read more…

趣题:旋转桌子避免灯泡全亮

    网友 @ipondering 分享了一个非常精彩的数学趣题集,里面有很多我之前从没见过的趣题,其中有些问题的题目和解答都相当漂亮。近段时间里,我打算从中选一些最精彩的题目来讲讲。今天的题目是该趣题集中的第二题,原题背景涉及到 King Arthur 和 Merlin 的故事,我就舍去简化了。

    某个国王手下有 n 个大臣。国王定期主持国家会议,届时 n 个大臣将会间隔均匀地坐在圆桌上。每个座位前都有一盏照明灯,只有所有的灯都亮了,会议才能开始进行。如果有些灯没亮,国王会下达指令,让指定位置上的大臣按下座位前的灯的开关,把没亮的灯都打开。例如,当 n = 100 时,圆桌上会坐着 100 个大臣。不妨将座位从 1 到 n 顺序编号,假设其中编号为 3 、 28 、 97 的座位前没有亮灯。于是,国王下令这三个位置上的大臣按下各自面前的开关,把这三盏灯打开,这样才能开始会议议程。

    在这 n 个大臣中,有一个奸臣。这次会议的议题恰好就是商讨对这个奸臣的惩治办法。奸臣知道自己难逃一劫,但他希望能够无限制地拖延会议。他可以在所有大臣就座前精心设置各个照明灯的初始状态,并在国王每次下达指令之后(但在大臣执行命令之前)把圆桌旋转到一个合适的位置,让大臣们按下错误的开关。

    对于哪些 n ,奸臣可以始终保证灯不会全亮,从而无限制地拖延会议?对于哪些 n ,国王可以根据局势巧妙地构造指令,使得有限轮指令之后所有灯必然全亮?

    在会议结束前,奸臣仍然是 n 个大臣中的一员。国王每次只能下达形如“座位编号为 a1, a2, a3, … 的大臣改变各自面前的灯的状态”的指令。奸臣可以任意旋转圆桌,改变灯与大臣的对应关系。当然,他也可以选择不旋转圆桌。即使桌子被旋转过,所有大臣也必须严格遵守国王的指令。

Read more…

千万别学数学:最折磨人的数学未解之谜(二)

    数学之美不但体现在漂亮的结论和精妙的证明上,那些尚未解决的数学问题也有让人神魂颠倒的魅力。和 Goldbach 猜想、 Riemann 假设不同,有些悬而未解的问题趣味性很强,“数学性”非常弱,乍看上去并没有触及深刻的数学理论,似乎是一道可以被瞬间秒杀的数学趣题,让数学爱好者们“不找到一个巧解就不爽”;但令人称奇的是,它们的困难程度却不亚于那些著名的数学猜想,这或许比各个领域中艰深的数学难题更折磨人吧。

    今年年初时,我曾经写过一篇名为 千万别学数学:最折磨人的数学未解之谜 的文章,选取并翻译了 Mathematical Puzzles 一书中提到的未解数学谜题。不过,毕竟 Mathematical Puzzles 一书容量有限,没法把所有折磨人的数学猜想都收录进来。后来,我慢慢收集了更多漂亮的数学猜想,今天又见到 MathOverflow 的这个问题,足以凑成一篇新的文章了。于是写下来,和大家一同分享。

Read more…

趣题:2n位平衡01串平均有多少个平衡前缀?

    这次的趣题来源于 UyHiP 今年八月份的谜题:概率均等地随机选取一个恰好含有 n 个 0 和 n 个 1 的 2n 位 01 串,这个 01 串平均会有多少个 0 和 1 个数相等的前缀(包括空串和整个串本身)?

    为了叙述简便起见,下面我们把所含 0 和 1 个数恰好相等的 01 串叫做平衡的 01 串。例如, 010010110011 就是一个平衡 01 串,它有四个平衡前缀,空串、 01 、01001011 以及整个 01 串本身。我们需要求出的就是,任取一个长为 2n 的平衡 01 串,平衡前缀的个数的期望值是多少。

Read more…

生成函数的妙用:平均抛掷多少次硬币才会出现连续两个正面?

    在一篇老日志中,我提到了一个经典的概率问题:平均需要抛掷多少次硬币,才会首次出现连续两个正面?它的答案是 6 次。它的计算方法大致如下。

    首先,让我们来考虑这样一个问题: k 枚硬币摆成一排,其中每一枚硬币都可正可反;如果里面没有相邻的正面,则一共有多少种可能的情况?这可以用递推的思想来解决。不妨用 f(k) 来表示摆放 k 枚硬币的方案数。我们可以把这些方案分成两类:最后一枚硬币是反面,或者最后一枚硬币是正面。如果是前一种情形,则我们只需要看前 k – 1 枚硬币有多少摆法就可以了;如果是后一种情形,那么倒数第二枚硬币必须是反面,因而这种情形下的方案数就取决于前 k – 2 枚硬币的摆放方案数。因此我们得到, f(k) = f(k – 1) + f(k – 2) 。由于摆放一枚硬币有两种方案,摆放两枚硬币有三种方案,因而事实上 f(k) 就等于 Fk+2 ,其中 Fi 表示 Fibonacci 数列 1, 1, 2, 3, 5, 8, …的第 i 项。

    而“抛掷第 k 次才出现连续两个正面”的意思就是,最后三枚硬币是反、正、正,并且前面 k – 3 枚硬币中正面都不相邻。因此,在所有 2k 种可能的硬币正反序列中,只有 Fk-1 个是满足要求的。也就是说,我们有 F1 / 4 的概率在第二次抛币就得到了连续两个正面,有 F2 / 8 的概率在第三次得到连续两个正面,有 F3 / 16 的概率在第四次得到连续两个正面⋯⋯因此,我们要求的期望值就等于:

     

Read more…