你认为,是否有可能把全体正整数染成红蓝二色,使得不存在无穷等差数列,数列中的所有数都是一种颜色?如果你认为存在这样的染色方案,请给出一个构造方法;如果你认为不存在,证明之。在看下面的答案之前,不妨先仔细思考一下。
事实上,满足题意的染色方案是存在的,构造方法非常简单,非常直接,非常暴力。显然,无穷等差数列只有可数个,不妨把它们分别叫做A_1, A_2, A_3, …。现在,如果我们能够构造两个数列r_1, r_2, r_3, …和b_1, b_2, b_3…,使得对于每一个i,r_i和b_i都在数列A_i中,并且r数列中的每个数都和b数列中的所有数都不相同。这样,把r数列中的所有数染成红色,把b数列中的所有数染成蓝色(其它未出现的数随意染色),就能保证每个无穷等差数列都包含了至少两种颜色。
而这样的r数列和b数列显然存在,因为每一次选择新的r_i和b_i时,无穷数列A_i中都只有有限个数不能选,因此r_i和b_i永远都有选的。
Update: 地基层网友给出了一个更巧妙、更简单的构造方法:对全体正整数倍长间隔染色,即把1染成红色,2和3染成蓝色,4到7染成红色,8到15染成蓝色……。显然,当染色区间的长度大于公差时,等差数列最终都将一截一截地落在不同的染色区间中。
大家可能还记得,这个Blog之前还讲了一个关于稠密点集构造的问题。那篇日志中提到,在平面中存在一个处处稠密的点集,在每个平行于坐标轴的直线上最多只存在一点。该点集的构造方法非常直接,与上面介绍的问题如出一辙。两个例子对照着看看,一种数学思想逐渐开始成形。
昨天看到一个很好的数学网站Tricki,它是一个正在开发中的、介绍各种数学思维方法的、类似Wiki的系统。我随便点开一篇文章,立即被震撼到了。这些文章的质量相当高,多个经典例子的对照把内在的数学思想赤裸裸地展示出来。在所谓的“just-do-it proofs”里,我们还看到了一个更绝的例子,它把这种暴力构造法发展到了一个相当牛B的境界。题目很简单:每个竖直或水平的直线上最多只有一点的稠密点集也不再牛B了,现在你能构造出一个平面上处处稠密的,并且任意三点不共线的点集吗?
要想再次套用上述暴力构造法,困难就在于,此时我们讨论的东西不是可数的,我们需要把它们“离散化”。我们需要回到一些根本性的问题上。究竟什么是稠密性?我们说,平面上一个点集是稠密的,如果对于平面上任意一点p和任意小的正实数ε,总能在点集中找到一点q使得p和q的距离小于ε,那么我们就是该点集在平面上稠密。为了实现离散化,我们需要尽可能用有理数来代替实数。受此启发,我们想到用1/n来代替ε,同时由于有理点(两个坐标均为有理数的点)在平面上已经是处处稠密的了,我们可以只考虑所有的有理数点。下面以每一个有理点为圆心的、分别以1, 1/2, 1/3, …为半径作圆,这就在平面上形成了无穷多个圆盘。由于可数个可数集仍然可数,因此圆盘的数目是可数的,我们可以把圆盘编号为D_1, D_2, D_3, …。只需要保证每个圆盘中都有至少一个点,我们就能保证该点集在平面上处处稠密了。下面,我们在D_1中选择一点p_1,在D_2中选择一点p_2,在D_3中选择与p_1, p_2不共线的一点p_3,在D_4中选择位于前三个点的两两连线之外的一点p_4……注意到有限条直线永远不能覆盖住一个圆盘上的所有点,因此每一次在圆盘中选点时,我们总有点可以选。因此这个过程显然能无限进行下去,最终得到的点集即满足我们的要求。