排列组合公式推导
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1公吨=1t=1000kg
密度单位g/cm3
Proe密度单位公吨/mm3
1公吨/mm3=1000kg/(cm3×10-3)=109g/cm3
1g/cm3=10-9公吨/mm3
排列和组合基本公式的推导,定义
在本节中,笔者将介绍「排列」(Permutation)和「组合」(Combination)的基本概念和两个基本公式。请注意「点算组合学」中的很多概念都可以从不同角度解释为日常生活中的不同事例,因此笔者亦会引导读者从不同角度理解「排列」和「组合」的意义。
先从「排列」开始。「排列」的最直观意义,就是给定n个「可区别」(Distinguishable,亦作「相异」)的物件,现把这n个物件的全部或部分排次序,「排列」问题就是求不同排列方式的总数。为了区别这些物件,我们可不妨给每个物件一个编号:1、2 ... n,因此「排列」问题实际等同於求把数字1、2 ... n的全部或部分排次序的方式总数。「排列」问题可分为「全排列」和「部分排列」两种,当我们把给定的n个数字1 、2 ... n全部排次序,求有多少种排法时,就是「全排列」问题。我们可以把排序过程分解为n 个程序:第一个程序决定排於第一位的数字,第二个程序决定排於第二位的数字...第n个程序决定排於第n位的数字。在进行第一个程序时,有n个数字可供选择,因此有n种选法。在进行第二个程序时,由於在前一程序已选定了一个数字,现在可供选择的数字只剩下n-1个,因此有n-1种选法。在进行第三个程序时,由於在前一程序已选定了一个数字,现在可供选择的数字只剩下
n-2个,因此有n-2种选法。如是者直至第n个程序,这时可供选择的数字只剩下1个,因此只有1种选择。由於以上各程序是「各自独立」的,我们可以运用「乘法原理」求得答案为n×(n-1)×(n-2)×...2×1。在数学上把上式简记为n!,读作「n阶乘」(n-factorial)。
例题1:把1至3这3个数字进行「全排列」,共有多少种排法?试列出所有排法。
答1:共有3! = 3 × 2 × 1 = 6种排法,这6种排法为1-2-3;1-3-2;2-1-3;2-3-1;3-1-2;3-2-1。
当然,给定n个数字,我们不一定非要把全部n个数字排序不可,我们也可只抽取部分数字(例如r个,r < n)来排序,并求有多少种排法,这样的问题就是「部分排列」问题。我们可以把「部分排列」问题理解成抽东西的问题。设在某袋中有n个球,每个球都标了编号1、2 ... n。现从袋中抽r个球出来(抽出来之后不得再放回袋中),并把球上的数字按被抽出来的顺序记下,这r个数字的序列实际便等同於一个排序。「部分排列」问题的解答跟「全排列」问题非常相似,只不过现在我们是把排序过程分解为r个而非n个步骤。进行第一
个程序时,有n个数字可供选择,因此有n种选法。在进行第二个程序时,由於在前一程序已选定了一个数字,现在可供选择的数字只剩下n-1个,因此有n-1种选法。在进行第三个程序时,由於在前一程序已选定了一个数字,现在可供选择的数字只剩下n-2个,因此有n-2种选法。如是者直至第r个程序,这时可供选择的数字只剩下n-r+1个,因此只有n-r+1种选择。最后,运用「乘法原理」求得答案为n×(n-1)×(n-2)×...(n-r+1)。
我们可以把上式改写为更简的形式n! / (n-r)!,为甚麼可以这样改写?这要用到n!的定义和乘法的结合律。举一个简单的例子,由於
5! = 5 × 4 × 3 × 2 × 1 = 5 ×(4 × 3 × 2 ×1) = 5 ×4!。同样由於
5 × 4 × 3 × 2 × 1 = 5 × 4 ×(3 × 2 ×1),我们又可得5! = 5 × 4 ×3!。抽象地看,我们可以把n!改写为
n×(n-1)!,也可以改写为n×(n-1)×(n-2)!照此类推,我们可以把n!改写为
n×(n-1)×(n-2)×...(n-r+1)×(n-r)!。由此得
n! / (n-r)! = n ×(n-1)×(n-2)×...(n-r+1)。在「点算组合学」上,一般把上述「部分排列」的解记为P(n, r)。至此我们求得「排列」问题的一条基本公式:
P(n, r) = n!/(n-r)!
例题2:从1至4这4个数字中抽2个出来排序,共有多少种排法?试列出所有排法。
答2:共有
P(4, 2) = 4! / 2! = (4 × 3 ×2!) / 2! = 4 × 3 = 12种排法。这12种排法是1-2;1-3;1-4;2-1;2-3;2-4;3-1;3-2;3-4;4-1;4-2;4-3。
请注意只要我们定义0! = 1 (注1),那麼上述公式便也适用於「全排列」的情况。「全排列」其实就是r = n的情况,因此如果把r = n代入以上公式,便得P(n, n) = n!/(n-n)! = n! / 0! = n! / 1 = n!,
正与前面讨论的结果吻合。
接下来笔者介绍「组合」问题。设在某袋中有n个球,每个球都标了编号1、
2 ... n。现从袋中抽r个球出来(抽出来之后不得再放回袋中),并把球上的数字记下,但无须理会球被抽出的先后次序。由此可见,「组合」问题与「排列」问题的主要区别是,前者只关心被抽出来的包含哪些数字,而不管这些数字的顺序;而后者则既关心被抽出来的包含哪些数字,也关心这些数字的顺序。
惟请注意,「排列」和「组合」虽然是两种很不相同的问题,但两者却并非绝然对立,而是有著非常密切的联系。日常生活中很多点算问题往往同时包含著「排列」和「组合」的因素,如能了解其中奥妙,很多点算问题便容易解决。事实上,我们正可利用「排列」和「组合」的这种微妙关系找出「组合」问题的公式。
我们把从n 个球中抽r个出来的组合数记为C(n, r)。以下我们利用「排列」和「组合」之间的关系以及「排列」的公式来推导出C(n, r)的公式。
前面提过,「部分排列」问题可以理解成从n个标了编号的球中抽r个出来,并把球上的数字按被抽出来的顺序记下。其实我们可以把上述过程分解为两个程序,第一个程序就是从n个球中抽r个出来,先不理会它们被抽出来的顺序,此即前面所定义的「组合」问题。第二个程序则是把这r个被抽出来的球全部排次序,并求有多少种排法,此即前面介绍过的「全排列」问题。换句话说,我们可以把「部分排列」问题分解为一个「组合」问题和一个「全排列」问题(由此可见「排列」和「组合」并非绝然对立)。由於上述两个程序是「各自独立」的,根据「乘法原理」,「部分排列」问题的解应等於「组合」问题的解乘以「全排列」问题的解,即P(n, r) = C(n, r) ×r!,由此得
C(n, r) = P(n, r) / r!。代入前面P(n, r)的公式,应得
C(n, r) = n!/((n-r)!×r!)
正如前面的「排列」公式适用於「全排列」的情况,上述「组合」公式也适用於「全组合」的情况,即求C(n, n)的问题。根据上述公式,
C(n, n) = n!/((n-n)! ×r!) = n! / (0! ×r!) = 1。这一结果是完全合理的,因为从n个球中抽取所有n个出来,当然只有1种方法。
例题3:从1至4这4个数字中抽2个出来(不考虑次序),共有多少种组合?试列出所有组合。
答3:共有
C(4, 2) = 4! / (2! ×2!) = (4 × 3 ×2!) / (2! ×
2!) = (4 ×3) / 2 = 6种组合。这6种组合是1,2;1,3;1,4;2,3;2,4;3,4。请注意如果我们把上述6种组合的每一种排序,由於每一组合均包含两个数字,所以每一组合各有两种排序方式(例如从1,2可得到1-2和2-1
两种排序方式),这样从4个数字中抽2个出来排序的排法便有
6 × 2 = 12种,这正与例题2的解答完全一致。
请注意在上述C(n, r)的公式中,如果我们把r换成n-r,我们将得到
C(n,n-r) = n!/(n!×(n-r)!)
其结果与C(n, r)相同,由此我们得到C(n, r) = C(n, n-r)。这一点是容易理解的,可以用一个简单的例子来说明个中原理。假设我们要求从5个人(假设为A、B、C、D、E)中选出4个人的组合数,此即C(5, 4)。这个问题其实可以从另一个角度去理解。由於只要我们知道哪一个是「落选者」,便自然知道哪些人是「入选者」,因此从5个人中选出4个人(入选者)的组合数其实就等同於从5个人中选出1个人(落选者)的组合数,
即C(5, 4) = C(5, 5-4) = C(5, 1) = 5。把上述结果推广到一般情况,便得到上述的等式。