← 学习库 Discrete Mathematics (Levin) · 中英对照 目录

1.4 Combinatorial Proofs 组合证明

本页译自 LibreTexts · Discrete Mathematics (Levin) 第 1.4 章。公式经 MathJax 渲染,自定义宏已注入。

Investigate! 探究!

  1. The Stanley Cup is decided in a best of 7 tournament between two teams. In how many ways can your team win? Let's answer this question two ways:
    1. How many of the 7 games does your team need to win? How many ways can this happen?
    2. What if the tournament goes all 7 games? So you win the last game. How many ways can the first 6 games go down?
    3. What if the tournament goes just 6 games? How many ways can this happen? What about 5 games? 4 games?
    4. What are the two different ways to compute the number of ways your team can win? Write down an equation involving binomial coefficients (that is, ${n \choose k}$'s). What pattern in Pascal's triangle is this an example of?
  2. Generalize. What if the rules changed and you played a best of 9 tournament (5 wins required)? What if you played an n game tournament with k wins required to be named champion?
  1. 斯坦利杯由两个队伍在七局四胜的系列赛(best of 7)中决出。你的队伍有多少种方式能赢下系列赛?我们用两种思路来回答这个问题:
    1. 你的队伍需要赢下 7 局中的几局?这有多少种情形?
    2. 如果系列赛打满 7 局会怎样?那么你会赢下最后一局。前 6 局可以有多少种走法?
    3. 如果系列赛只打 6 局呢?这有多少种情形?那 5 局呢?4 局呢?
    4. 计算你的队伍能赢下系列赛的方式数,有哪两种不同的思路?写出一个含有二项式系数的等式(即 ${n \choose k}$ 这样的式子)。这是帕斯卡三角形中的哪种规律?
  2. 推广。如果规则改变,改成九局五胜(需赢 5 局)的系列赛会怎样?如果进行 n 局、需赢 k 局才能夺冠的系列赛呢?

Patterns in Pascal's Triangle 帕斯卡三角形中的规律

Have a look again at Pascal's triangle. Forget for a moment where it comes from. Just look at it as a mathematical object. What do you notice?

再来看一看帕斯卡三角形。暂且忘掉它是怎么来的,只把它当作一个数学对象来观察。你注意到了什么?

There are lots of patterns hidden away in the triangle, enough to fill a reasonably sized book. Here are just a few of the most obvious ones:

三角形里藏着许多规律,足以写满一本篇幅不小的书。这里只列出其中几个最明显的:
  1. The entries on the border of the triangle are all 1.
  2. Any entry not on the border is the sum of the two entries above it.
  3. The triangle is symmetric. In any row, entries on the left side are mirrored on the right side.
  4. The sum of all entries on a given row is a power of 2. (You should check this!)
  1. 三角形边界上的数全都是 1。
  2. 任何不在边界上的数,都等于它上方两个数之和。
  3. 三角形是对称的。在任意一行中,左侧的数会在右侧镜像出现。
  4. 某一给定行上所有数之和等于 2 的幂。(你可以验证一下!)

We would like to state these observations in a more precise way, and then prove that they are correct. Now each entry in Pascal's triangle is in fact a binomial coefficient. The 1 on the very top of the triangle is ${0 \choose 0}$. The next row (which we will call row 1, even though it is not the top-most row) consists of ${1 \choose 0}$ and ${1 \choose 1}$. Row 4 (the row 1, 4, 6, 4, 1) consists of the binomial coefficients

我们希望更精确地表述这些观察,进而证明它们是正确的。实际上,帕斯卡三角形中的每个数都是一个二项式系数。三角形最顶端的 1 是 ${0 \choose 0}$。下一行(我们称之为第 1 行,尽管它并非最顶端的行)由 ${1 \choose 0}$ 与 ${1 \choose 1}$ 组成。第 4 行(即 1, 4, 6, 4, 1 这一行)由如下二项式系数组成

$\begin{equation*} {4 \choose 0} \sim {4 \choose 1} \sim {4 \choose 2} \sim {4 \choose 3} \sim {4 \choose 4}. \end{equation*}$

Given this description of the elements in Pascal's triangle, we can rewrite the above observations as follows:

有了对帕斯卡三角形元素的这种描述,我们就可以把上述观察改写如下:
  1. ${n \choose 0} = 1$ and ${n \choose n} = 1$.
  2. ${n \choose k} = {n-1 \choose k-1} + {n-1 \choose k}$.
  3. ${n \choose k} = {n \choose n-k}$.
  4. ${n\choose 0} + {n \choose 1} + {n \choose 2} + \cdots + {n \choose n} = 2^n$.
  1. ${n \choose 0} = 1$,且 ${n \choose n} = 1$。
  2. ${n \choose k} = {n-1 \choose k-1} + {n-1 \choose k}$。
  3. ${n \choose k} = {n \choose n-k}$。
  4. ${n\choose 0} + {n \choose 1} + {n \choose 2} + \cdots + {n \choose n} = 2^n$。

Each of these is an example of a binomial identity: an identity (i.e., equation) involving binomial coefficients.

上述每一条都是二项式恒等式(binomial identity)的例子:所谓恒等式,是指含有二项式系数的等式(equation)。

Our goal is to establish these identities. We wish to prove that they hold for all values of n and k. These proofs can be done in many ways. One option would be to give algebraic proofs, using the formula for ${n \choose k}$:

我们的目标是确立这些恒等式,也就是要证明它们对所有 n 与 k 的取值都成立。这些证明可以有许多做法。一种选择是给出代数证明,利用 ${n \choose k}$ 的公式:

$\begin{equation*} {n \choose k} = \frac{n!}{(n-k)!k!}. \end{equation*}$

Here's how you might do that for the second identity above.

对于上面的第二个恒等式,你可以这样来证明。

Example 1

示例 1

Give an algebraic proof for the binomial identity

对下面的二项式恒等式给出代数证明

$\begin{equation*} {n \choose k} = {n-1\choose k-1} + {n-1 \choose k}. \end{equation*}$

Solution

解答

Proof

证明

By the definition of ${n \choose k}$, we have

根据 ${n \choose k}$ 的定义,我们有

$\begin{equation*} {n-1 \choose k-1} = \frac{(n-1)!}{(n-1-(k-1))!(k-1)!} = \frac{(n-1)!}{(n-k)!(k-1)!} \end{equation*}$

and

以及

$\begin{equation*} {n-1 \choose k} = \frac{(n-1)!}{(n-1-k)!k!}. \end{equation*}$

Thus, starting with the right-hand side of the equation:

于是,从等式右端出发:

$\begin{align*} {n-1 \choose k-1} + {n-1 \choose k} & = \frac{(n-1)!}{(n-k)!(k-1)!}+ \frac{(n-1)!}{(n-1-k)!k!} \\ & = \frac{(n-1)!k}{(n-k)!k!} + \frac{(n-1)!(n-k)}{(n-k)!k!} \\ & = \frac{(n-1)!(k+n-k)}{(n-k)!k!} \\ & = \frac{n!}{(n-k)! k!} \\ & = {n \choose k}. \end{align*}$

The second line (where the common denominator is found) works because $k(k-1)! = k!$ and $(n-k)(n-k-1)! = (n-k)!$.

第二行(即通分那一步)成立,是因为 $k(k-1)! = k!$ 且 $(n-k)(n-k-1)! = (n-k)!$。

This is certainly a valid proof, but also is entirely useless. Even if you understand the proof perfectly, it does not tell you why the identity is true. A better approach would be to explain what ${n \choose k}$ means and then say why that is also what ${n-1 \choose k-1} + {n-1 \choose k}$ means. Let's see how this works for the four identities we observed above.

这当然是一个有效的证明,但也完全无助于理解。即使你完全看懂了这个证明,它也没有告诉你该恒等式为什么成立。更好的做法是:先解释 ${n \choose k}$ 的含义,再说明 ${n-1 \choose k-1} + {n-1 \choose k}$ 为什么表达同样的含义。我们来看看,对上面观察到的四个恒等式,这种做法是如何进行的。

Example 2

示例 2

Explain why ${n \choose 0} = 1$ and ${n \choose n} = 1$.

解释为什么 ${n \choose 0} = 1$ 且 ${n \choose n} = 1$。

Solution

解答

What do these binomial coefficients tell us? Well, ${n \choose 0}$ gives the number of ways to select 0 objects from a collection of n objects. There is only one way to do this, namely to not select any of the objects. Thus ${n \choose 0} = 1$. Similarly, ${n \choose n}$ gives the number of ways to select n objects from a collection of n objects. There is only one way to do this: select all n objects. Thus ${n \choose n} = 1$.

这些二项式系数告诉我们什么?${n \choose 0}$ 表示从 n 个对象中选出 0 个对象的方式数。这只有一种方式,即一个对象都不选。因此 ${n \choose 0} = 1$。类似地,${n \choose n}$ 表示从 n 个对象中选出 n 个对象的方式数。这也只有一种方式:把全部 n 个对象都选上。因此 ${n \choose n} = 1$。

Alternatively, we know that ${n \choose 0}$ is the number of n-bit strings with weight 0. There is only one such string, the string of all 0's. So ${n \choose 0} = 1$. Similarly ${n \choose n}$ is the number of n-bit strings with weight n. There is only one string with this property, the string of all 1's.

换个角度,我们知道 ${n \choose 0}$ 是权值为 0 的 n 位串的个数。这样的串只有一个,即全为 0 的串。所以 ${n \choose 0} = 1$。类似地,${n \choose n}$ 是权值为 n 的 n 位串的个数。具有这种性质的串也只有一个,即全为 1 的串。

Another way: ${n \choose 0}$ gives the number of subsets of a set of size n containing 0 elements. There is only one such subset, the empty set. ${n \choose n}$ gives the number of subsets containing n elements. The only such subset is the original set (of all elements).

还可以这样看:${n \choose 0}$ 是大小为 n 的集合中元素个数为 0 的子集的个数。这样的子集只有一个,即空集。${n \choose n}$ 是元素个数为 n 的子集的个数。这样的子集也只有一个,即原来的那个集合(包含所有元素)。

Example 3

示例 3

Explain why ${n \choose k} = {n-1 \choose k-1} + {n-1 \choose k}$.

解释为什么 ${n \choose k} = {n-1 \choose k-1} + {n-1 \choose k}$。

Solution

解答

The easiest way to see this is to consider bit strings. ${n \choose k}$ is the number of bit strings of length n containing k 1's. Of all of these strings, some start with a 1 and the rest start with a 0. First consider all the bit strings which start with a 1. After the 1, there must be n-1 more bits (to get the total length up to n) and exactly k-1 of them must be 1's (as we already have one, and we need k total). How many strings are there like that? There are exactly ${n-1 \choose k-1}$ such bit strings, so of all the length n bit strings containing k 1's, ${n-1 \choose k-1}$ of them start with a 1. Similarly, there are ${n-1\choose k}$ which start with a 0 (we still need n-1 bits and now k of them must be 1's). Since there are ${n-1 \choose k}$ bit strings containing n-1 bits with k 1's, that is the number of length n bit strings with k 1's which start with a 0. Therefore ${n \choose k} = {n-1\choose k-1} + {n-1 \choose k}$.

最容易看出这一点的方法是考虑位串。${n \choose k}$ 是长度为 n、含有 k 个 1 的位串的个数。在所有这些串中,有些以 1 开头,其余以 0 开头。先考虑所有以 1 开头的位串。在开头的 1 之后,还必须有 n-1 位(才能使总长度达到 n),而且其中恰好要有 k-1 个 1(因为我们已经有了一个 1,总共需要 k 个)。这样的串有多少个?恰好有 ${n-1 \choose k-1}$ 个。所以在所有长度为 n、含 k 个 1 的位串中,有 ${n-1 \choose k-1}$ 个是以 1 开头的。类似地,以 0 开头的有 ${n-1\choose k}$ 个(仍然需要 n-1 位,且其中要有 k 个 1)。既然含 n-1 位、含 k 个 1 的位串有 ${n-1 \choose k}$ 个,那么长度为 n、含 k 个 1 且以 0 开头的位串也就是这么多。因此 ${n \choose k} = {n-1\choose k-1} + {n-1 \choose k}$。

Another way: consider the question, how many ways can you select k pizza toppings from a menu containing n choices? One way to do this is just ${n \choose k}$. Another way to answer the same question is to first decide whether or not you want anchovies. If you do want anchovies, you still need to pick k-1 toppings, now from just n-1 choices. That can be done in ${n-1 \choose k-1}$ ways. If you do not want anchovies, then you still need to select k toppings from n-1 choices (the anchovies are out). You can do that in ${n-1 \choose k}$ ways. Since the choices with anchovies are disjoint from the choices without anchovies, the total choices are ${n-1 \choose k-1}+{n-1 \choose k}$. But wait. We answered the same question in two different ways, so the two answers must be the same. Thus ${n \choose k} = {n-1\choose k-1} + {n-1 \choose k}$.

另一种思路:考虑这个问题——从一份有 n 种可选配料的菜单里,选出 k 种披萨配料,有多少种方式?其中一种方式就是直接算 ${n \choose k}$。回答同一个问题的另一种方式是:先决定要不要加鳀鱼。如果要加鳀鱼,则还需从剩下的 n-1 种里选 k-1 种,这有 ${n-1 \choose k-1}$ 种方式。如果不要鳀鱼,则仍需从 n-1 种里选 k 种(鳀鱼被排除了),这有 ${n-1 \choose k}$ 种方式。由于「加鳀鱼」的选择与「不加鳀鱼」的选择互不相交,总的选择数就是 ${n-1 \choose k-1}+{n-1 \choose k}$。可是等等——我们是用两种不同的方式回答了同一个问题,所以这两个答案必然相同。因此 ${n \choose k} = {n-1\choose k-1} + {n-1 \choose k}$。

You can also explain (prove) this identity by counting subsets, or even lattice paths.

你也可以通过计数子集,甚至用格点路径,来解释(证明)这个恒等式。

Example 4

示例 4

Prove the binomial identity ${n \choose k} = {n \choose n-k}$.

证明二项式恒等式 ${n \choose k} = {n \choose n-k}$。

Solution

解答

Why is this true? ${n \choose k}$ counts the number of ways to select k things from n choices. On the other hand, ${n \choose n-k}$ counts the number of ways to select n-k things from n choices. Are these really the same? Well, what if instead of selecting the n-k things you choose to exclude them. How many ways are there to choose n-k things to exclude from n choices. Clearly this is ${n \choose n-k}$ as well (it doesn't matter whether you include or exclude the things once you have chosen them). And if you exclude n-k things, then you are including the other k things. So the set of outcomes should be the same.

它为什么成立?${n \choose k}$ 计数的是从 n 个选项中选出 k 个东西的方式数。另一方面,${n \choose n-k}$ 计数的是从 n 个选项中选出 n-k 个东西的方式数。这两者真的相同吗?不妨换个角度:与其「选出」那 n-k 个东西,不如考虑「排除」它们。从 n 个选项中挑出 n-k 个来排除,有多少种方式?显然这也是 ${n \choose n-k}$(一旦你选定了,具体是包含还是排除这些选项,并不影响结果)。而如果你排除了 n-k 个东西,那么你就相当于把其余的 k 个东西包含进来了。所以结果的集合应当相同。

Let's try the pizza counting example like we did above. How many ways are there to pick k toppings from a list of n choices? On the one hand, the answer is simply ${n \choose k}$. Alternatively, you could make a list of all the toppings you don't want. To end up with a pizza containing exactly k toppings, you need to pick n-k toppings to not put on the pizza. You have ${n \choose n-k}$ choices for the toppings you don't want. Both of these ways give you a pizza with k toppings, in fact all the ways to get a pizza with k toppings. Thus these two answers must be the same: ${n \choose k} = {n \choose n-k}$.

我们再用上面那种披萨计数的例子试一次。从 n 种配料里选出 k 种,有多少种方式?一方面,答案就是 ${n \choose k}$。换个方式,你也可以列出所有你不想要的配料。要得到一份恰好有 k 种配料的披萨,你需要挑出 n-k 种配料不放上去。你不想要的配料有 ${n \choose n-k}$ 种选法。这两种方式给出的都是加了 k 种配料的披萨,而且穷尽了所有能得到 k 种配料披萨的方式。因此这两个答案必然相同:${n \choose k} = {n \choose n-k}$。

You can also prove (explain) this identity using bit strings, subsets, or lattice paths. The bit string argument is nice: ${n \choose k}$ counts the number of bit strings of length n with k 1's. This is also the number of bit string of length n with k 0's (just replace each 1 with a 0 and each 0 with a 1). But if a string of length n has k 0's, it must have n-k 1's. And there are exactly ${n\choose n-k}$ strings of length n with n-k 1's.

你也可以用位串、子集或格点路径来证明(解释)这个恒等式。位串的论证很巧妙:${n \choose k}$ 计数的是长度为 n、含 k 个 1 的位串的个数。这也等于长度为 n、含 k 个 0 的位串的个数(只需把每个 1 换成 0、每个 0 换成 1 即可)。但是,如果一个长度为 n 的串含有 k 个 0,那么它必然含有 n-k 个 1。而长度为 n、含 n-k 个 1 的串恰好有 ${n\choose n-k}$ 个。

Example 5

示例 5

Prove the binomial identity ${n\choose 0} + {n \choose 1} + {n\choose 2} + \cdots + {n \choose n} = 2^n$.

证明二项式恒等式 ${n\choose 0} + {n \choose 1} + {n\choose 2} + \cdots + {n \choose n} = 2^n$。

Solution

解答

Proof

证明

Let's do a "pizza proof" again. We need to find a question about pizza toppings which has $2^n$ as the answer. How about this: If a pizza joint offers n toppings, how many pizzas can you build using any number of toppings from no toppings to all toppings, using each topping at most once?

我们再来一次「披萨证明」。我们需要找一个关于披萨配料的问题,使它的答案是 $2^n$。比如这样:如果一家披萨店提供 n 种配料,那么你可以做出多少种披萨——从不加任何配料到加全部配料,每种配料最多用一次?

On one hand, the answer is $2^n$. For each topping you can say "yes" or "no," so you have two choices for each topping.

一方面,答案是 $2^n$。对每一种配料,你都可以说「要」或「不要」,所以每种配料都有两种选择。

On the other hand, divide the possible pizzas into disjoint groups: the pizzas with no toppings, the pizzas with one topping, the pizzas with two toppings, etc. If we want no toppings, there is only one pizza like that (the empty pizza, if you will) but it would be better to think of that number as ${n \choose 0}$ since we choose 0 of the n toppings. How many pizzas have 1 topping? We need to choose 1 of the n toppings, so ${n \choose 1}$. We have:

另一方面,把所有可能的披萨分成互不相交的组:不加配料的披萨、加一种配料的披萨、加两种配料的披萨,依此类推。如果不加任何配料,这样的披萨只有一个(你可以把它想成「空披萨」),但更恰当的是把这个数看作 ${n \choose 0}$,因为我们是从 n 种配料中选了 0 种。加一种配料的披萨有多少个?我们需要从 n 种配料中选 1 种,所以是 ${n \choose 1}$。于是有:

Pizzas with 0 toppings: ${n \choose 0}$ Pizzas with 1 topping: ${n \choose 1}$ Pizzas with 2 toppings: ${n \choose 2}$

不加配料的披萨:${n \choose 0}$;加一种配料的披萨:${n \choose 1}$;加两种配料的披萨:${n \choose 2}$。

The total number of possible pizzas will be the sum of these, which is exactly the left-hand side of the identity we are trying to prove.

可能的披萨总数就是这些数的和,而这恰恰等于我们要证明的恒等式的左端。

Again, we could have proved the identity using subsets, bit strings, or lattice paths (although the lattice path argument is a little tricky).

同样地,我们也可以用子集、位串或格点路径来证明这个恒等式(不过格点路径的论证稍微有些巧妙)。

Hopefully this gives some idea of how explanatory proofs of binomial identities can go. It is worth pointing out that more traditional proofs can also be beautiful. Most every binomial identity can be proved using mathematical induction, using the recursive definition for ${n \choose k}$. We will discuss induction in Section 2.5. For example, consider the following rather slick proof of the last identity.

希望这能让你对二项式恒等式的解释性证明大概是怎么回事有所体会。值得指出的是,更传统的证明同样可以很优美。几乎每一个二项式恒等式都可以用第二数学归纳法(mathematical induction)证明,只需利用 ${n \choose k}$ 的递归定义。我们将在第 2.5 节讨论归纳法。例如,考虑下面这个相当巧妙的、对最后一个恒等式的证明。

Expand the binomial $(x+y)^n$:

把二项式 $(x+y)^n$ 展开:

$\begin{equation*} (x + y)^n = {n \choose 0}x^n + {n \choose 1}x^{n-1}y + {n \choose 2}x^{n-2}y^2 + \cdots + {n \choose n-1}x\cdot y^n + {n \choose n}y^n. \end{equation*}$

Let $x = 1$ and $y = 1$. We get:

令 $x = 1$,$y = 1$,得到:

$\begin{equation*} (1 + 1)^n = {n \choose 0}1^n + {n \choose 1}1^{n-1}1 + {n \choose 2}1^{n-2}1^2 + \cdots + {n \choose n-1}1\cdot 1^n + {n \choose n}1^n. \end{equation*}$

Of course this simplifies to:

这当然可以化简为:

$\begin{equation*} (2)^n = {n \choose 0} + {n \choose 1} + {n \choose 2} + \cdots + {n \choose n-1} + {n \choose n}. \end{equation*}$

Something fun to try: Let $x = 1$ and $y = 2$. Neat huh?

有个好玩的可以试试:令 $x = 1$,$y = 2$。很巧妙吧?

More Proofs 更多的证明

The explanatory proofs given in the above examples are typically called combinatorial proofs. In general, to give a combinatorial proof for a binomial identity, say $A = B$ you do the following:

上面这些例子中的解释性证明,通常被称为组合证明(combinatorial proof)。一般而言,要为一条二项式恒等式(记作 $A = B$)给出组合证明,你要做以下几步:
  1. Find a counting problem you will be able to answer in two ways.
  2. Explain why one answer to the counting problem is $A$.
  3. Explain why the other answer to the counting problem is $B$.
  1. 找一个能用两种方式回答的计数问题。
  2. 说明该计数问题的一个答案是 $A$。
  3. 说明该计数问题的另一个答案是 $B$。

Since both $A$ and $B$ are the answers to the same question, we must have $A = B$.

既然 $A$ 与 $B$ 都是同一个问题的答案,我们就必然有 $A = B$。

The tricky thing is coming up with the question. This is not always obvious, but it gets easier the more counting problems you solve. You will start to recognize types of answers as the answers to types of questions. More often what will happen is you will be solving a counting problem and happen to think up two different ways of finding the answer. Now you have a binomial identity and the proof is right there. The proof is the problem you just solved together with your two solutions.

困难的地方在于想出那个问题。这并不总是显而易见,但解的计数问题越多,就会越容易。你会开始把某些类型的答案认作是某些类型问题的答案。更常见的情况是:你正在解一个计数问题,碰巧想到了两种不同的求法。这时你就得到了一条二项式恒等式,而证明就在眼前。所谓证明,就是你刚解完的那个问题,连同你的两种解法。

For example, consider this counting question:

例如,考虑下面这个计数问题:

"How many 10-letter words use exactly four A's, three B's, two C's and one D?"

「有多少个 10 个字母的单词,恰好含有四个 A、三个 B、两个 C 和一个 D?」

Let's try to solve this problem. We have 10 spots for letters to go. Four of those need to be A's. We can pick the four A-spots in ${10 \choose 4}$ ways. Now where can we put the B's? Well there are only 6 spots left, we need to pick 3 of them. This can be done in ${6 \choose 3}$ ways. The two C's need to go in two of the 3 remaining spots, so we have ${3 \choose 2}$ ways of doing that. That leaves just one spot of the D, but we could write that 1 choice as ${1 \choose 1}$. Thus the answer is:

我们来试着解一下。共有 10 个位置用来放字母。其中 4 个必须是 A。选这 4 个 A 的位置有 ${10 \choose 4}$ 种方式。那么 B 该放哪儿呢?只剩 6 个位置了,我们要从中选 3 个,这有 ${6 \choose 3}$ 种方式。两个 C 要放进剩下 3 个位置中的 2 个,所以有 ${3 \choose 2}$ 种方式。最后只剩 D 的一个位置,不过我们可以把那 1 种选择写成 ${1 \choose 1}$。于是答案是:

$\begin{equation*} {10 \choose 4}{6 \choose 3}{3 \choose 2}{1 \choose 1}. \end{equation*}$

But why stop there? We can find the answer another way too. First let's decide where to put the one D: we have 10 spots, we need to choose 1 of them, so this can be done in ${10 \choose 1}$ ways. Next, choose one of the ${9 \choose 2}$ ways to place the two C's. We now have 7 spots left, and three of them need to be filled with B's. There are ${7 \choose 3}$ ways to do this. Finally the A's can be placed in ${4 \choose 4}$ (that is, only one) ways. So another answer to the question is

但为什么要就此打住呢?我们还能用另一种方式求答案。先决定那个唯一的 D 放哪儿:共 10 个位置,要选 1 个,这有 ${10 \choose 1}$ 种方式。接着,用 ${9 \choose 2}$ 种方式之一来放两个 C。现在还剩 7 个位置,其中 3 个要填 B。这有 ${7 \choose 3}$ 种方式。最后,A 可以放在 ${4 \choose 4}$(即只有一种)个位置里。所以这个问题的另一个答案是

$\begin{equation*} {10 \choose 1}{9 \choose 2}{7 \choose 3}{4 \choose 4}. \end{equation*}$

Interesting. This gives us the binomial identity:

有意思。这就给了我们一条二项式恒等式:

$\begin{equation*} {10 \choose 4}{6 \choose 3}{3 \choose 2}{1 \choose 1} = {10 \choose 1}{9 \choose 2}{7 \choose 3}{4 \choose 4}. \end{equation*}$

Here are a couple of other binomial identities with combinatorial proofs.

下面再给出另外几条带有组合证明的二项式恒等式。

Example 6

示例 6

Prove the identity

证明恒等式

$\begin{equation*} 1 n + 2(n-1) + 3 (n-2) + \cdots + (n-1) 2 + n 1 = {n+2 \choose 3}. \end{equation*}$

Solution

解答

To give a combinatorial proof we need to think up a question we can answer in two ways: one way needs to give the left-hand-side of the identity, the other way needs to be the right-hand-side of the identity. Our clue to what question to ask comes from the right-hand side: ${n+2 \choose 3}$ counts the number of ways to select 3 things from a group of n+2 things. Let's name those things 1, 2, 3, …, n+2. In other words, we want to find 3-element subsets of those numbers (since order should not matter, subsets are exactly the right thing to think about). We will have to be a bit clever to explain why the left-hand-side also gives the number of these subsets. Here's the proof.

要给出组合证明,我们需要想出一个能用两种方式回答的问题:一种方式要给出恒等式的左端,另一种方式要给出恒等式的右端。该问什么问题,线索来自右端:${n+2 \choose 3}$ 计数的是从 n+2 个东西中选出 3 个的方式数。我们把这些东西编号为 1, 2, 3, …, n+2。换句话说,我们要找的是这些数组成的 3 元子集(因为顺序无关紧要,所以子集正是该考虑的对象)。要说明左端也给出这些子集的个数,需要一点巧思。证明如下。

Proof

证明

Consider the question "How many 3-element subsets are there of the set {1,2,3,…,n+2}?" We answer this in two ways:

考虑问题「集合 {1,2,3,…,n+2} 有多少个 3 元子集?」我们用两种方式回答:

Answer 1: We must select 3 elements from the collection of n+2 elements. This can be done in ${n+2 \choose 3}$ ways.

答案 1:我们必须从 n+2 个元素中选出 3 个。这有 ${n+2 \choose 3}$ 种方式。

Answer 2: Break this problem up into cases by what the middle number in the subset is. Say each subset is {a,b,c} written in increasing order. We count the number of subsets for each distinct value of b. The smallest possible value of b is 2, and the largest is n+1.

答案 2:按照子集里居中的那个数进行分类来拆解问题。设每个子集写成递增顺序的 {a,b,c}。我们对 b 的每一个不同取值,计数相应的子集个数。b 最小可能取 2,最大可取 n+1。

Therefore the total number of subsets is

因此,子集的总数为

$\begin{equation*} 1 n + 2 (n-1) + 3 (n-2) + \cdots + (n-1)2 + n 1. \end{equation*}$

Since Answer 1 and Answer 2 are answers to the same question, they must be equal. Therefore

既然答案 1 与答案 2 是同一问题的答案,它们必然相等。因此

$\begin{equation*} 1 n + 2 (n-1) + 3 (n-2) + \cdots + (n-1) 2 + n 1 = {n+2 \choose 3}. \end{equation*}$

Example 7

示例 7

Prove the binomial identity

证明二项式恒等式

$\begin{equation*} {n \choose 0}^2 + {n \choose 1}^2 + {n \choose 2}^2 + \cdots + {n \choose n}^2 = {2n \choose n}. \end{equation*}$

Solution 1

解答 1

We will give two different proofs of this fact. The first will be very similar to the previous example (counting subsets). The second proof is a little slicker, using lattice paths.

我们对这个结论给出两种不同的证明。第一种与上一个例子(计数子集)非常相似。第二种证明稍微巧妙一些,用到格点路径。

Proof

证明

Consider the question: "How many pizzas can you make using n toppings when there are 2n toppings to choose from?"

考虑问题:「当有 2n 种配料可供选择时,用其中 n 种配料,你能做出多少种披萨?」

Answer 1: There are 2n toppings, from which you must choose n. This can be done in ${2n \choose n}$ ways.

答案 1:共有 2n 种配料,你必须从中选出 n 种。这有 ${2n \choose n}$ 种方式。

Answer 2: Divide the toppings into two groups of n toppings (perhaps n meats and n veggies). Any choice of n toppings must include some number from the first group and some number from the second group. Consider each possible number of meat toppings separately:

答案 2:把配料分成两组,每组 n 种(比如 n 种肉类、n 种蔬菜)。任何 n 种配料的选择,必然包含来自第一组的一些、以及来自第二组的一些。我们分别考虑肉类配料可能取的每一种数量:

Thus the total number of pizzas possible is

因此,可能的披萨总数为

$\begin{equation*} {n \choose 0}{n \choose n} + {n \choose 1}{n \choose n-1} + {n \choose 2}{n \choose n-2} + \cdots + {n \choose n}{n \choose 0}. \end{equation*}$

This is not quite the left-hand side … yet. Notice that ${n \choose n} = {n \choose 0}$ and ${n \choose n-1} = {n \choose 1}$ and so on, by the identity in Example 1.4.4. Thus we do indeed get

这离左端……还差一点。不过注意到,根据示例 1.4.4 中的恒等式,有 ${n \choose n} = {n \choose 0}$、${n \choose n-1} = {n \choose 1}$,依此类推。所以我们确实得到

$\begin{equation*} {n \choose 0}^2 + {n \choose 1}^2 + {n \choose 2}^2 + \cdots + {n \choose n}^2. \end{equation*}$

Since these two answers are answers to the same question, they must be equal, and thus

既然这两个答案是同一问题的答案,它们必然相等,于是

$\begin{equation*} {n \choose 0}^2 + {n \choose 1}^2 + {n \choose 2}^2 + \cdots + {n \choose n}^2 = {2n \choose n}. \end{equation*}$

For an alternative proof, we use lattice paths. This is reasonable to consider because the right-hand side of the identity reminds us of the number of paths from (0,0) to (n,n).

我们再用另一种证明,使用格点路径。这是合理的,因为恒等式的右端让人联想到从 (0,0) 到 (n,n) 的路径数。

Proof

证明

Consider the question: How many lattice paths are there from (0,0) to (n,n)?

考虑问题:从 (0,0) 到 (n,n) 有多少条格点路径?

Answer 1: We must travel 2n steps, and n of them must be in the up direction. Thus there are ${2n \choose n}$ paths.

答案 1:我们必须走 2n 步,其中 n 步必须是向上的。所以共有 ${2n \choose n}$ 条路径。

Answer 2: Note that any path from (0,0) to (n,n) must cross the line x + y = n. That is, any path must pass through exactly one of the points: (0,n), (1,n-1), (2,n-2), …, (n, 0). For example, this is what happens in the case n = 4:

答案 2:注意,任何从 (0,0) 到 (n,n) 的路径都必然穿过直线 x + y = n。也就是说,任何路径都恰好经过以下点之一:(0,n), (1,n-1), (2,n-2), …, (n, 0)。例如,当 n = 4 时情形如下:

How many paths pass through (0,n)? To get to that point, you must travel n units, and 0 of them are to the right, so there are ${n \choose 0}$ ways to get to (0,n). From (0,n) to (n,n) takes n steps, and 0 of them are up. So there are ${n \choose 0}$ ways to get from (0,n) to (n,n). Therefore there are ${n \choose 0}{n \choose 0}$ paths from (0,0) to (n,n) through the point (0,n).

有多少条路径经过 (0,n)?要到达那个点,你必须走 n 个单位长度,其中向右的有 0 个,所以到达 (0,n) 有 ${n \choose 0}$ 种方式。从 (0,n) 到 (n,n) 要走 n 步,其中向上的有 0 步。所以从 (0,n) 到 (n,n) 有 ${n \choose 0}$ 种方式。因此,从 (0,0) 经过 (0,n) 到 (n,n) 的路径共有 ${n \choose 0}{n \choose 0}$ 条。

What about through (1,n-1). There are ${n \choose 1}$ paths to get there (n steps, 1 to the right) and ${n \choose 1}$ paths to complete the journey to (n,n) (n steps, 1 up). So there are ${n \choose 1}{n \choose 1}$ paths from (0,0) to (n,n) through (1,n-1).

那经过 (1,n-1) 呢?到达那里有 ${n \choose 1}$ 条路径(n 步,向右 1 步),而走完余下的路到达 (n,n) 有 ${n \choose 1}$ 条路径(n 步,向上 1 步)。所以从 (0,0) 经过 (1,n-1) 到 (n,n) 的路径共有 ${n \choose 1}{n \choose 1}$ 条。

In general, to get to (n,n) through the point (k,n-k) we have ${n \choose k}$ paths to the midpoint and then ${n \choose k}$ paths from the midpoint to (n,n). So there are ${n \choose k}{n \choose k}$ paths from (0,0) to (n,n) through (k, n-k).

一般地,要经点 (k,n-k) 到达 (n,n),到达中点有 ${n \choose k}$ 条路径,从中点到 (n,n) 又有 ${n \choose k}$ 条路径。所以从 (0,0) 经过 (k, n-k) 到 (n,n) 的路径共有 ${n \choose k}{n \choose k}$ 条。

All together then the total paths from (0,0) to (n,n) passing through exactly one of these midpoints is

合起来,从 (0,0) 到 (n,n)、且恰好经过这些中点之一的路径总数为

$\begin{equation*} {n \choose 0}^2 + {n \choose 1}^2 + {n \choose 2}^2 + \cdots + {n \choose n}^2. \end{equation*}$

> >

$\begin{equation*} {n \choose 0}^2 + {n \choose 1}^2 + {n \choose 2}^2 + \cdots + {n \choose n}^2 = {2n \choose n}. \end{equation*}$