自然数集合划分的有趣性质

题目

还是来自于前几日闲来无事上网冲浪看到的有趣的题:

I_n = \left \{ 0, 1 ,2 ,... ,2^{n+1}-1 \right \},对任意的自然数n,是否存在一个I_n的2-划分A_nB_n使得以下性质成立:

\sum_{x\in A_n} x^t=\sum_{y\in B_n} y^t,\ \ t=0,\ 1,\ 2,\ \ldots,n

其实原题或许有些微不严谨,因为0的零次幂严格来说是没有定义的,但是在此处它想表述的意思大概就是,两个集合A_nB_n的数的个数是相等的。

用简单的话来说,就是要把从0到2^{n+1}-1的自然数划分成两块儿,保证两块的数的个数相等、直接加和相等、平方和相等、立方和相等……直到n次方的和,都是相等的。这无疑是一个非常有意思的性质,也很难让人相信能始终找到一个划分使得它是成立的。

那就来试试吧!

朴素尝试——试探敌情

首先n=0,那么I_0=\left\{0,\ 1\right\},只需要满足A_0B_0的元素个数相等。只有一个划分满足要求,也就是显然的:

A_0=\left\{0\right\},\ \ B_0=\left\{1\right\}

当然反过来也是没问题的,但这种情况从划分来看没有什么讨论价值,之后也不做讨论。

n=1时,I_1=\left\{0,\ 1,\ 2,\ 3\right\},需要满足A_1B_1的元素个数相等,且加和相等,做熟了小学题的人也都能写出来:

A_1=\left\{0,\ 3\right\},\ \ B_1=\left\{1,\ 2\right\}

 n=2时,I_2=\left\{0,\ 1,\ 2,\ 3,\ 4,\ 5,\ 6,\ 7\right\},情况稍微复杂一点了,我们需要满足A_2B_2的元素个数相等,且加和相等、平方和相等。平方和相等可不好办!除了暴力拆解,我们也可以列个方程试试。首先每边一定是四个元素,所以可以设置四个未知数,加和相等、平方和相等,所以两边的和都是总和的一半,总的加和是28,平方和是140,所以有:

x_1+x_2+x_3+x_4=14

x_1^2+x_2^2+x_3^2+x_4^2=70

如果这个划分是存在的,那么0肯定在某一边,我们就考虑那一边,假设x_4=0,于是方程进一步简化。

x_1+x_2+x_3=14

x_1^2+x_2^2+x_3^2=70

接下来这个方程的解法,就随心所欲了,反正解一定得是整数,可以巧凑可以硬凑,例如说从剩下的7个数中随机选个数代入x_1(这就意味着这个数和0在一个集合里,随机选中的概率还是有接近一半的),然后方程立即可解,只要满足要求就可以。例如说选x_1=1,那由加和的限制就有x_2=6,x_3=7,但它的平方和不满足第二个方程;选x_1=2,由加和的限制就有x_2=5,x_3=7,还是不满足。选x_1=3,有两种可能,我们发现x_2=5,x_3=6恰好能成,因此

A_2=\left\{0,\ 3,\ 5,\ 6\right\},\ \ B_2=\left\{1,\ 2,\ 4,\ 7\right\}

至少是个可行的解。至于x_1=4,可以试试,然后就会发现不满足条件。

还要继续尝试吗?太可怕了吧!n=3,接下来我们要面对的就是立方和,同时数也会变成0~15。其实对于每一个n,我们都有n-1个方程(t=0的情况不算),但却有2^n个未知数,就算除去一个0,也还有2^n-1个,随着n的增大,后面未知数和方程的数量关系会越来越悬殊,根本没办法试凑了。所以,我们只好看向手里已有的东西,试图在里面找找规律了。最理想的当然是把这个划分直接写出来,然而很多时候这种题目既然只让你证明“存在性”,那就难得会让你有能力求出,或者求出来的解有特别多。

寻找规律——分析情报

我们来找规律吧:

A_0=\left\{0\right\},\ \ B_0=\left\{1\right\}

A_1=\left\{0,\ 3\right\},\ \ B_1=\left\{1,\ 2\right\}

A_2=\left\{0,\ 3,\ 5,\ 6\right\},\ \ B_2=\left\{1,\ 2,\ 4,\ 7\right\}

……

发现了什么?至少在我们尝试的范围内,好像每一个A_nB_n都是在上一个A_{n-1}B_{n-1}的基础上再加入几个数产生的!单凭这一点就很有启发性了,至少我们得沿着这一条路试试。于是我们再一次看向原本遥不可及的n=3,从n=3继续寻找思路。

我们假设A_3B_3都是在A_{2}B_{2}的基础上,加入几个数产生的。那么首先I_3比起I_2,增加的数是:\left \{8,9,10,11,12,13,14,15 \right \},我们要分配到A_3B_3中去,首先要满足,个数要相等,都分配4个;然后要满足加和相等,这个也不难,因为增加的数可以写成: 

\left\{0+2^3,\ 1+2^3,\ 2+2^3,\ 3+2^3,\ 4+2^3,\ 5+2^3,\ 6+2^3,\ 7+2^3\right\}

就加和这一点来看,我们仿照n=2时的分法,至少是绝对可行的:

\left\{0+2^3,\ 3+2^3,\ 5+2^3,\ 6+2^3\right\},\ \ \left\{1+2^3,\ 2+2^3,\ 4+2^3,\ 7+2^3\right\}

这两个集合的加和一定是相等的,因为那些增加的“+2^3”完全互相抵消了,除此之外还有很多种分法,其实无异于求I_2=\left\{0,\ 1,\ 2,\ 3,\ 4,\ 5,\ 6,\ 7\right\}分成两个加和相等的集合的分法罢了。

接下来我们进行第二轮筛选:还要满足平方和相等。

这时候我们还不确定满足加和相等的分法中,哪种能继续“挺下去”,所以还是把分法写成这样子吧:

\left\{x_1+2^3,\ x_2+2^3,\ x_3+2^3,\ x_4+2^3\right\},\ \ \left\{y_1+2^3,\ y_2+2^3,\ y_3+2^3,\ y_4+2^3\right\}

我们要满足的加和相等条件是:

x_1+x_2+x_3+x_4=y_1+y_2+y_3+y_4

然后我们再来考虑平方和相等。因为A_3B_3都是在A_{2}B_{2}的基础扩张产生的,所以A_3B_3中原本属于A_{2}B_{2}的元素一定满足平方和相等,因此我们只要考虑新加元素的平方和相等就行了。我们尝试计算平方和: 

\sum_{i=1}^{4}\left(x_i+2^3\right)^2=\sum_{i=1}^{4}x_i^2+2\times2^3\times\sum_{i=1}^{4}x_i+\left(2^3\right)^2\times\sum_{i=1}^{4}1

 \sum_{i=1}^{4}\left(y_i+2^3\right)^2=\sum_{i=1}^{4}y_i^2+2\times2^3\times\sum_{i=1}^{4}y_i+\left(2^3\right)^2\times\sum_{i=1}^{4}1

希望这样一个横排的式子不会看得眼花缭乱,但我们必然可以敏锐察觉一些东西:要让它们相等,似乎没那么难!前面已经有

\sum_{i=1}^{4}x_i=x_1+x_2+x_3+x_4=y_1+y_2+y_3+y_4=\sum_{i=1}^{4}y_i

那么上面两个平方和式子一对比,就发现似乎只需要

\sum_{i=1}^{4}x_i^2=\sum_{i=1}^{4}y_i^2

就够了!

再想想,我们之前选择I_2=\left\{0,\ 1,\ 2,\ 3,\ 4,\ 5,\ 6,\ 7\right\}的时候,貌似也完全是这样的要求!我们求出了唯一的解:A_2=\left\{0,\ 3,\ 5,\ 6\right\},\ \ B_2=\left\{1,\ 2,\ 4,\ 7\right\},那么这里的分法瞬间也可以确定唯一,正是:

\left\{0+2^3,\ 3+2^3,\ 5+2^3,\ 6+2^3\right\},\ \ \left\{1+2^3,\ 2+2^3,\ 4+2^3,\ 7+2^3\right\}

于是之前所忧虑的一切关于分法太多的问题化为乌有,现在唯一的不确定性就是:上面两个集合具体怎么分配到A_nB_n中去?还有一个问题,这在筛选中幸存下来的分法能满足立方和相等吗?别忘了我们终究还要解决t=3的问题!而t=3我们之前都没有讨论过,A_{2}B_{2}也不满足t=3时的立方和相等。

暂且再把它蒙上一层面纱,我们来算算立方和。我们把A_{n-1}B_{n-1}中原有的元素记作a_ib_i,那么立方和分别是

\sum_{i=1}^{4}a_i^3+\sum_{i=1}^{4}\left(x_i+2^3\right)^3=\sum_{i=1}^{4}a_i^3+\sum_{i=1}^{4}x_i^3+3\times2^3\times\sum_{i=1}^{4}x_i^2+3\times\left(2^3\right)^2\times\sum_{i=1}^{4}x_i+\left(2^3\right)^3\times\sum_{i=1}^{4}1

\sum_{i=1}^{4}b_i^3+\sum_{i=1}^{4}\left(y_i+2^3\right)^3=\sum_{i=1}^{4}b_i^3+\sum_{i=1}^{4}y_i^3+3\times2^3\times\sum_{i=1}^{4}y_i^2+3\times\left(2^3\right)^2\times\sum_{i=1}^{4}y_i+\left(2^3\right)^3\times\sum_{i=1}^{4}1

分法已经满足\sum_{i=1}^{4}x_i=\sum_{i=1}^{4}y_i\sum_{i=1}^{4}x_i^2=\sum_{i=1}^{4}y_i^2,于是上面两个立方和要相等,只需要:

\sum_{i=1}^{4}a_i^3+\sum_{i=1}^{4}x_i^3=\sum_{i=1}^{4}b_i^3+\sum_{i=1}^{4}y_i^3

怎么样?回头看看我们已经确定的两种分法,我们发现\left \{ x_i \right \}\left \{ y_i \right \},其实形式上已经确定必然与\left \{ a_i \right \}\left \{ b_i \right \}相同,那只需要把两者对换一下,让\left \{ y_i \right \}\left \{ a_i \right \}相同,\left \{ x_i \right \}\left \{ b_i \right \}相同,那上面的立方和瞬间就解决了!也就是让

A_3=A_2\cup\left \{y_i \right \}=\left\{0,\ 3,\ 5,\ 6,\ 1+2^3,\ 2+2^3,\ 4+2^3,\ 7+2^3\right\}

B_3=B_2\cup\left \{x_i \right \}=\left\{1,\ 2,\ 4,\ 7,\ 0+2^3,\ 3+2^3,\ 5+2^3,\ 6+2^3\right\}

那么问题就解决了,n=3完美结束!

还要讨论n=4吗?不需要了,经过上面的历程,我们已经找到了分配的规律,当然这个规律在n=2到n=3的跨越过程中可行,在更高阶次是否可行呢?数学直觉应当能够判断,是可行的!我们只需要证明一下。

严谨证明——正面出击

再回顾一下,我们的分法是,A_nB_n都是在上一个A_{n-1}B_{n-1}的基础上扩张,而这个扩张的集合X_{n-1}Y_{n-1}满足,X_{n-1}就是把B_{n-1}的元素都加上2^nY_{n-1}就是把A_{n-1}的元素都加上2^n

用二进制表示,假设0表示一个元素归属于A_n,1表示归属于B_n,那么I_n各个元素的归属分别是这样:

n=0: 0, 1

n=1: 0, 1, 1, 0

n=2: 0, 1, 1, 0, 1, 0, 0, 1

n=3: 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0

……

也就是说,新加入的元素就是原来元素全部取反。似乎非常对称,具有某种对称性呢。但是我们就单纯把我们的任务讨论完吧。

用严谨的数学语言来表达,我们的取法是:

A_0=\left\{0\right\},\ \ B_0=\left\{1\right\}

A_{n+1}=A_n\cup\left\{y+2^n\middle| y\in B_n\right\}

B_{n+1}=B_n\cup\left\{x+2^n\middle| x\in A_n\right\}

容易证明这样的集合必然满足I_n=A_n\cup B_n, \ A_n\cap B_n=\varnothing,是I_n的2-划分。

用数学归纳法来证明我们方法的可行性,对于n=0A_0=\left\{0\right\},\ \ B_0=\left\{1\right\},对于n=1也是满足条件(事实上n=0,1,2,3我们都证明了)。

假设对于n=kA_kB_k是满足要求的,那么对于n=k+1A_{k+1}B_{k+1}的元素个数容易说明是相等的,而对于任意1\leqslant t\leqslant k+1,有:

\begin{aligned} \sum_{x\in A_{k+1}} x^{t}&=\sum_{x\in A_k} x^{t}+\sum_{y\in B_k}\left(y+2^k\right)^{t}\\ &=\sum_{x\in A_k} x^{t}+\sum_{y\in B_k}\left(y^{t}+ty^{t-1}2^k+\ldots+1\times2^{kt}\right)\\ &=\sum_{x\in A_k} x^{t}+\sum_{y\in B_k} y^{t}+t2^k\sum_{y\in B_k} y^{t-1}+\ldots+2^{kt}\sum_{y\in B_k} 1\\ &=\sum_{x\in A_k} x^{t}+\sum_{y\in B_k} y^{t}+t2^k\sum_{x\in A_k} x^{t-1}+\ldots+2^{kt}\sum_{x\in A_k} 1\\ &=\sum_{y\in B_k} y^{t}+\sum_{x\in A_k}\left(x+2^k\right)^{t}=\sum_{y\in B_{k+1}} y^{t} \end{aligned}

其中第三行到第四行,正是运用了结论对于n=k假设(t=0表示元素个数相等):

\sum_{x\in A_k} x^t=\sum_{y\in B_k} y^t,\ \ t=0,\ 1,\ 2,\ \ldots,k

而我们由此证明了:

\sum_{x\in A_{k+1}} x^t=\sum_{y\in B_{k+1}} y^t,\ \ t=0,\ 1,\ 2,\ \ldots,k+1

因而结论对于n=k+1也是成立的,由数学归纳法可以导出,结论对于任意自然数n都成立,也就是说我们的取法是可以满足条件的,始终存在I_n的2-划分A_nB_n使得上述性质成立。

结语

再回过头看,似乎这一次的证明也一样,非常简单,显然,早知道不需要之前的啰嗦了,直接列个式子,五行的计算就解决了嘛!或许吧,有些天才的灵光一闪,对普通人永远遥不可及,而这样的证明甚至算不上所谓灵光。但是,还是一样的观点,对于想要一步步寻宝的人来说以及对于想要分享的人来说,这或许都是非常美妙的体验,那么就值得一写,值得一叙。当然,笔者相信还是有人因为对题意难以理解,而遵照同样的思路最终解答出来的。笔者的思路就是这样,如果能产生共鸣,那实在是一件幸事。

最后一点小尾声:这样的划分,唯一吗?从我们对n=0,n=1,n=2的尝试看来,似乎是唯一的,而n=3在应用我们的小猜想后,也是只有唯一的划分。如果我们要求A_nB_n都是在上一个A_{n-1}B_{n-1}的基础上扩张,那么从证明来看它确实是唯一的划分,但如果不要求呢?那么多的未知数以及那么少的约束方程,真的唯一吗?笔者不知道,没有尝试证明。或许,只要再翻过一座小山,就能看见大海吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值