排列组合是数学中的核心内容,广泛应用于概率论、统计学、计算机科学等领域。本文将从基本概念出发,系统介绍排列组合的核心定理、符号体系及推导过程,为针对机器学习等算法原理理解打下数据基础。
一、基本概念与符号体系
加法原理与乘法原理
加法原理:若完成事件 AAA 有 mmm 种方法,完成事件 BBB 有 nnn 种方法,且 AAA 与 BBB 互斥,则完成 AAA 或 BBB 共有 m+nm + nm+n 种方法。乘法原理:若完成事件 AAA 有 mmm 种方法,完成事件 BBB 有 nnn 种方法,则依次完成 AAA 和 BBB 共有 m×nm \times nm×n 种方法。
阶乘(Factorial)
定义 n!=n×(n−1)×⋯×1n! = n \times (n-1) \times \cdots \times 1n!=n×(n−1)×⋯×1,并规定 0!=10! = 10!=1。阶乘是排列组合的基础。
二、排列(Permutation)
定义:从 nnn 个不同元素中取出 mmm 个(m≤nm \leq nm≤n),按特定顺序排列的方式数称为排列数,记作 AnmA_n^mAnm 或 P(n,m)P(n, m)P(n,m)。
公式推导:
第一个位置有 nnn 种选择,第二个位置剩下 n−1n-1n−1 种,依此类推,第 mmm 个位置有 n−m+1n - m + 1n−m+1 种选择。根据乘法原理:
Anm=n×(n−1)×⋯×(n−m+1)=n!(n−m)!
A_n^m = n \times (n-1) \times \cdots \times (n - m + 1) = \frac{n!}{(n - m)!}
Anm=n×(n−1)×⋯×(n−m+1)=(n−m)!n!
特殊情形:
全排列:当 m=nm = nm=n 时,Ann=n!A_n^n = n!Ann=n!。重复排列:允许元素重复时,排列数为 nmn^mnm。圆排列:将 nnn 个元素排成环形,因旋转对称性,排列数为 n!n=(n−1)!\frac{n!}{n} = (n-1)!nn!=(n−1)!。
三、组合(Combination)
定义:从 nnn 个不同元素中取出 mmm 个(m≤nm \leq nm≤n)不考虑顺序的方式数,记作 CnmC_n^mCnm 或 (nm)\dbinom{n}{m}(mn)。
公式推导:
组合数与排列数的关系为:
Cnm=Anmm!=n!m!(n−m)!
C_n^m = \frac{A_n^m}{m!} = \frac{n!}{m!(n - m)!}
Cnm=m!Anm=m!(n−m)!n!
推导逻辑:每个组合对应 m!m!m! 种排列(因排列考虑顺序),故需将排列数除以 m!m!m!。
核心性质:
对称性:Cnm=Cnn−mC_n^m = C_n^{n - m}Cnm=Cnn−m。递推公式:Cnm=Cn−1m−1+Cn−1mC_n^m = C_{n-1}^{m-1} + C_{n-1}^mCnm=Cn−1m−1+Cn−1m(帕斯卡定理)。
证明:考虑是否包含某一特定元素:
包含该元素:需从剩余 n−1n-1n−1 个中选 m−1m-1m−1 个,即 Cn−1m−1C_{n-1}^{m-1}Cn−1m−1。不包含该元素:需从剩余 n−1n-1n−1 个中选 mmm 个,即 Cn−1mC_{n-1}^mCn−1m。
由加法原理得证。
四、二项式定理
定理内容:对任意正整数 nnn,有
(a+b)n=∑k=0n(nk)an−kbk
(a + b)^n = \sum_{k=0}^n \dbinom{n}{k} a^{n-k} b^k
(a+b)n=k=0∑n(kn)an−kbk
证明(组合推导):
展开 (a+b)n(a + b)^n(a+b)n 时,项 an−kbka^{n-k}b^kan−kbk 的系数等于从 nnn 个括号中选择 kkk 个取 bbb、其余取 aaa 的方式数,即 (nk)\dbinom{n}{k}(kn)。
五、扩展内容:重复元素的排列
若 nnn 个元素中有重复,各类别分别有 n1,n2,…,nkn_1, n_2, \dots, n_kn1,n2,…,nk 个相同元素(n1+n2+⋯+nk=nn_1 + n_2 + \cdots + n_k = nn1+n2+⋯+nk=n),则全排列数为:
n!n1! n2! ⋯ nk!
\frac{n!}{n_1! \, n_2! \, \cdots \, n_k!}
n1!n2!⋯nk!n!
推导:先视为全排列 n!n!n!,再对每类重复元素除以 ni!n_i!ni! 以消除顺序影响。
六、总结
排列组合的核心在于对“有序”与“无序”的区分:
排列强调顺序,公式为 n!(n−m)!\dfrac{n!}{(n - m)!}(n−m)!n!。组合忽略顺序,公式为 n!m!(n−m)!\dfrac{n!}{m!(n - m)!}m!(n−m)!n!。
其性质与定理(如二项式定理)在概率计算、多项式展开等领域具有重要应用。