目录



前言

霍金先生的伟大,我无法想象,它的技术成就,我亦不配评论。但霍金先生对抗病魔的精神,就值得我由衷敬佩。尽自己的能力写好该系列,以此缅怀霍金先生。

排列数公式推导证明

定义​:从 n 个不同元素的集合中,任意取出 m(m<=n) 个元素排成一列(有先后顺序)称为一个排列;此种排列的总数即为排列数,即叫做从 n 个不同元素中取出 m 和元素的排列数。

公式​:

组合与排列_全排列

(当 n=m 时,分母为 0! = 1,即为全排列)

推导​:在具有 n 个数的集合中,顺序取出 m 个数,成为一个排列。

  • 取出第 1 个数,有 n 种选法
  • 取出第 2 个数,有 n-1 种选法
  • 取出第 m 个数,有 n-m+1 种选法
  • 最后一个数,只有 1 中选法

上述过程符合「分步乘法计数」场景,应用分步乘法计数公式:组合与排列_全排列_02

得到 n(n-1)(n-2)…(n-m+1),即 A(n, m) = n! / (n-m)! 。

组合数公式推导证明

定义​:从 n 个不同元素的集合中,任意取出 m(m<=n) 个元素并成一组(无先后顺序),叫做从 n 个不同元素中取出 m 个元素的一个组合;从 n 个不同元素的集合中取出 m(m<=n) 个元素的所有组合的个数,叫做从 n 个不同元素中取出 m 个元素的组合数。

公式​:

组合与排列_公式推导_03

推导​:在具有 n 个数的集合中,获取 m 个数组成一组。

首先依旧可以得到排列数 A(n, m),但又因为组合数是无序的,而排列数是有序的,所以需要在 A(n, m) 的基础上去除掉元素组合一致的排列。即 C(n, m) = A(n, m) / m! 。这里的理解需要转一下弯,所以我们通过下述证明来辅助理解这条公式。

证明​:A(n, m) = C(n, m) * A(m, m)

第一步,从 n 个球中取出 m 个来,先不排序,所以为组合数问题,得到 C(n, m)。

第二步,将第一步取出的球全部排列,A(m, m) = m!,即求组合的全排列。

第三步,应用分步乘法计数原理,得到 A(n, m) = C(n, m) * A(m, m),即 A(n, m) = C(n, m) * m! 得证。

所以从 n 中取出 m 的排列数,实际为从 n 中取出 m 的组合数与每一个组合自身所拥有的全排列数的乘积。

重复组合数公式推导证明

定义​:重复组合是一种特殊的组合,从 n 个不同元素的集合中允许重复地取出 m 个元素(任意取出一个元素,然后再将其放回到集合中)形成一个组合,叫做从 n 个元素中取出 m 个元素的重复组合。

公式​:

组合与排列_公式推导_04

分析(放球模型)​:将重复组合的概念转换为放球模型来进行分析,将 n 个不同的元素当作 n 个不同的格子,既有 n-1 块相同的隔板。同时用 m 个相同的小球,当作取出 m 个元素。现在问将 m 个相同的小球放到 n 个格子里,有多少种方法?

相当于:

  • 先求 m 个小球和 n-1 块隔板所组成的集合 (m+n-1) 的全排列。
  • 又因为 m 个小球是相同的,n-1 块隔板亦是相同的,所以需要除以重复的情况 C(m, m) * C(n-1, n-1) = m! * (n-1)! 。
  • 所以最终使用全排列数除以重复的次数,得到重复组合数 (m+n-1)! / m! * (n-1)!,即 C(m+n-1, m) 。

组合数恒等公式

组合与排列_公式推导_05

最后再给出组合数恒等公式,大家不妨自己推导一下吧。