排列组合这事儿,听着比登天还难,实际上说白了就是帮你在乱里找章法,要么两个人(两辆脚踏车)如何步行才能不撞车。咱们不翻那些厚书,也不搞那些“起初、其次、最终”的假大空,就图个手感,图个实用。 先说那一款最经典的:$C_n^m$,就是“从 $n$ 个里挑 $m$ 个”。
这玩意儿有个绝活,叫公式。拿个 $C_n^m$ 的笔头,左边拿 $n$,右边拿 $m$,中间换个等号,底下划条横线。念起来就是 $n$ 选 $m$ 等于 $n$ 除以 $m$ 的阶乘,再除以 $n$ 的阶乘。读多了就顺口了,但这公式背后藏着个逻辑:你得先把 $n$ 个东西排成一长串,然后从中间切下来 $m$ 段。切的时候,$n$ 个东西的绝对顺序不能乱,但最终切下来的那 $m$ 个,你随意给个编号 1 到 $m$,这样从 $2$ 到 $m$ 里选一个位置,实际上就对应着上一行最终 $n-m$ 个里选一个位置。就如此一换,$n$ 的阶乘和 $m$ 的阶乘就消掉了一半,剩下的就是 $n-m$ 的阶乘除以 $n$ 的阶乘。搞明白了这个操作,你就懂了这个公式如何来的。 举个栗子。假设你有 $n=5$ 个不同的球要放进 $m=2$ 个不同的盒子里。你随意画张图,比如 $1,2,3,4,5$,然后切一刀。
要是盒子 A 里有 $1,2,3$,盒子 B 里有 $4,5$,这就是一种放法。
要是你换个切法,让盒子 A 是 $1,2,4$,盒子 B 是 $3,5$,这又是另一种放法。
如何算出来的结局跟实际数出来的不一样?这时候你得换个思路,别盯着盒子,盯着数字的排列。$n=5$ 个全排列有 $120$ 种,每把 $5$ 个球分给 $2$ 个盒子,两种盒子的分配方式是对称的,故此除以 $2$ 就行了。$120 / 2 = 60$。
好家伙,这 $60$ 种分法,是不是跟刚刚那 $C_5^2$ 算出来的结局一模一样?对,$C_5^2$ 直接算出来就是 $10 times 9 / 2 = 45$?
什么的,不对,这里逻辑得捋顺点。
实际上 $C_5^2$ 才是从 $5$ 个里选 $2$ 个去做排列,$5 times 4 / 2 = 10$,再乘以 $2$ 个盒子的全排列,$10 times 2 = 20$?不对,还是得回到基础。$C_5^2$ 就是 $10$ 种选法。每种选法有 $2! = 2$ 种放法。$10 times 2 = 20$。
哎,刚刚那个 $60$ 如何算出来的?哦,刚刚那个例子是把 $5$ 个球全排列再切分,逻辑有点绕。还是直接说结论吧:从 $5$ 个里选 $2$ 个,哪怕你选出了 $1,2$,你还能把它们放到盒 A 和盒 B 里任两人位置,这就多了个 $2$ 倍。
故此 $C_5^2 times 2! = 10 times 2 = 20$。
这个逻辑链条要是断了一环,整个推导就碎了。 再说说那一款:$A_n^m$,就是“从 $n$ 个里选 $m$ 个去做排列”。
这个和刚刚那个有点像,但区别在于不许打乱顺序。拿 $n=3$ 个不同的数字 $1,2,3$ 做排列,你有 $3! = 6$ 种排法:$123, 132, 213, 231, 312, 321$。目前让你从这 $3$ 个数字里挑出 $2$ 个数字,然后重新排个序。你能够挑出 $1,2$,排成 $12$ 或 $21$;你能够挑出 $1,3$,排成 $13$ 或 $31$;你能够挑出 $2,3$,排成 $23$ 或 $32$。每挑一组,就有 $2$ 种排法。总共就是 $3$ 组 $times 2$ 种排法 = $6$。用公式算,$A_3^2 = 3 times 2 = 6$。结局一样,但看过程就知道,$A_n^m$ 实际上就是先选顺序,再切分后面剩下的。 还有一个概念叫 $P_n^m$,是 $n$ 个里取 $m$ 个做 $m$ 阶排列。
这个和 $A_n^m$ 是同一个意思,只是数学符号上多写了一行 $m!$ 在分母上。$A_n^m = frac{n!}{(n-m)!}$。
这是如何来的?我想想,$A_n^m$ 就是 $n times (n-1) times dots times (n-m+1)$,也就是从 $n$ 启动往下数,一直数到 $n-m+1$。而 $n!$ 是从 $1$ 数到 $n$。
要是我们用 $n!$ 除以 $(n-m)!$,实际上就是把前面那些 $1$ 到 $n-m$ 的项给消掉了,剩下的就是最终那些项了。
这叫约分,数学界叫“消项原理”,有点意思,就是利用前面的冗余信息来删减后面的无效信息。 还有一点,$C_n^m$ 和 $C_m^n$ 是一样的,$A_n^m$ 和 $A_m^n$ 也是一样的。
这是出于组合里不分先后,换顺序不影响结局的性质。
比如从 $5$ 个人里选 $2$ 个人,要么选 $1$ 和 $2$,要么选 $2$ 和 $1$,但在排列里不能混,故此在组合里算出来结局是一样的。 再来看看实际应用。
比如你去旅游,买 $n$ 张票,要选 $m$ 个人坐飞机。
这就用 $C_n^m$。你手里有 $10$ 张票,要选 $2$ 个人坐。$C_{10}^2 = 45$ 种组合。但飞机上座位是有区别的,比如前头等舱和商务舱不一样,这就得用 $A_n^m$。
要么你只是要选 $2$ 个人,不管坐哪,那就 $C_n^m$。 还有那个生日悖论。一年 $365$ 天,$n=365$。
要是要 $m=23$ 个人生日相同。$C_{365}^{23}$ 这个数字多大?后面跟个 $0$ 就是 $9$ 个,再跟个 $0$ 就是 $8$ 个,这是一个大数了。而 $A_{365}^{23}$ 呢?这更夸张,涉及到庞大的数字范围。当 $n$ 挺大,$m$ 也挺大时,这两个数的大小差距就是一个概率的难题。
要是你 $m=23$,只要生日和 $23$ 中有 $1$ 个匹配,概率就超过了 $50%$。
这是出于 $A_n^m$ 包含了所有可能的排列,而 $C_n^m$ 只包含了挑选的组合。当 $m$ 接近 $n$ 时,$C_n^m$ 和 $A_n^m$ 的比值就会变得庞大,出于排列方式多了忒多。
这就是为啥生日悖论如此神。 实际上排列组合的核心就藏在“有序”和“无序”这两个字眼里。无序就是 $C_n^m$,只关心集合;有序就是 $A_n^m$,关心哪位在前哪位在后。一旦你加了顺序,数据的维度就爆了。 最终,咱们得记住,数学不是死记硬背。当你看到这堆公式时,问问自己:这玩意儿能帮我解决啥难题?要是答案是“帮我分东西”,那 $C_n^m$ 就负责选对象,$A_n^m$ 就负责摆位置。
要是答案是“帮我玩策略”,那 $A_n^m$ 就负责到底,$C_n^m$ 就负责底牌。别被那些符号吓到,它们只是记录人类大脑处理海量可能性的工具。理解了它们如何出来的,你就懂了它们能带你走多远。