双射法

来自testwiki
跳转到导航 跳转到搜索

双射法组合数学中的一种重要的证明方法,用来证明两个有限集合AB的元素数目相等。证明的思路是构造一个双射映射f : AB,于是根据双射的性质,AB的元素数目就是相等的。这个证明是构造法证明的一种。由于双射法是给出具体的映射构造,而不是分别点算两个集合,所以不需要知道两个集合的元素个数。这种证明可以用于难以直接对两个集合或其中一个集合进行计数的情况。此外,双射法也可以用来计算一个集合(难以直接计算时),方法是将它映射到一个可以拆分或比较容易计算的集合。而作为构造性证明,双射法用到的f也许可以用来更深刻地分析集合本身的性质。

例子

证明二项式系数的对称性质

二次项系数具有一定的对称性:

(nk)=(nnk).

证明:这个等式可以视为两个集合的元素个数。考虑以下n个元素的集合:S={a1,a2,,an},那么以下两个集合:

A={CS,|C|=k},B={CS,|C|=nk}

集合A的元素个数是(nk),集合B的元素个数是(nnk). 现在构造一个从集合A到集合B的映射:

f:ABCCSc

A中的每个元素C(包含集合S中的k个元素),映射f把C映射到它在S中的补集(有S中的nk个元素),因此在集合B中。可以验证,这个映射是双射。所以集合A的元素个数等于B的元素个数。也就是说

(nk)=(nnk).

证明两种分解方法数相等

对一个大于2的自然数n,首先考虑将它写成若干个1和2的和,和项顺序不同认为是不同的写法,所有的方法数记作an,例如当n=4的时候,所有的写法是:

4=1+1+1+1=1+1+2=1+2+1=2+1+1=2+2.

所以a4=5. 再考虑将它写成若干个大于等于2的自然数的和,和项顺序不同认为是不同的写法,所有的方法数记作bn。则有an=bn+2. 这个性质也可以用双射法证明:

证明:考虑集合

An={(x1,x2,,xm),m1,1jm,xj{1,2},x1+x2++xm=n}
Bn+2={(y1,y2,,yk),k1,1jk,yj2,y1+y2++yk=n+2}.

对集合An中的一个元素(x1,x2,,xm),假设其中有至少一个数为2,令xi1=xi2,=xik=2(其中的下标1i1<i2<<ikm),其余的等于1。如果ik<m,那么下面设k+1个数:

y1=x1++xi1,y2=xi1+1++xi2,yk=xik1+1++xik,yk+1=xik+1++xm+2.

如果ik=myk+1=2。如果 x1=x2==xm=1,那么设y1=n+2

那么由于各个y元素的和必然是n+2,所以将(x1,x2,,xm)映射到 (y1,y2,,yk+1)的映射f是一个从AnBn+2的映射。从构造方式可以看出,f是一个单射。

对于Bn+2中每一个元素(y1,y2,,yk),将其中的每一个yj换成yj2个1和一个2,然后删去最后一个2,就得到An中的一个元素,所以f也是一个满射。

也就是说,f是一个双射。这就证明了 an=bn+2.

參見

参考