排列、组合与概率
老样子,先给一个情境:马赛是一项体育赛事,也是一个赌博机会。你可以对比赛结果下注,如果能押中每场比赛的前三名,大把钞票就到手了。
假设今天是开幕赛,马匹都是新马,前期没有统计过它们的实力,因此每一匹马得胜概率相同,这里可以归结为简单概率问题。第一场比赛是三马赛,赌本是500美元,赔率为7:1,如果猜中了,可以获得3500美元。
问:假设每一匹马都跑完比赛,比赛结果有几种可能?能押中的概率?该赌局的期望收益?
答:设3匹马分别为马1、马2和马3,那么结果可以为:123、132、213、231、312、321。一共6种。押中正确结果的概率为1/6。概率分布为:
X | -500 | 3500 |
---|---|---|
P(X=x) | 0.833 | 0.167 |
E(X) = -500*0.833+3500*.167=168
每比一局这样的比赛,我们可以期望收入168美元。
虽然说期望是168美元,不过看着1/6的概率,只是一局的话真的能赢到奖金吗?
排位数目
刚才我们是通过枚举的方式找出了6个所有结果,现在我们试着一个一个地对名次进行考虑。
现在3匹马正在奔跑,将要冲向终点线。
- 在决定冠军的时候,3匹马中的任意一匹都有可能,也就是,占据第一名位置的方式有3种。
- 当一匹马跑完比赛后还剩2匹马,那么它们之中会有一个成为第二名。即,占据第二名位置的方式有两种。这与跑第一名的马匹无关。
- 最后只剩下一个位置留给最后一匹马—第三名。
因此,第一名有3种占据方式,每一种方式对应着2种第二名的占据方式,无论前两名由谁占据,最后一名都仅有1种占据方式。即,三个位置的占据方式共计: 3 ∗ 2 ∗ 1 = 6 3*2*1=6 3∗2∗1=6。
如果有n匹马呢?
如果将这个算法推而广之,可以知道任意数目n的排名方式。即,如要算出n个独立对象的排名方式,可按下式进行计算:
n
∗
(
n
−
1
)
∗
(
n
−
2
)
∗
.
.
.
∗
3
∗
2
∗
1
=
n
!
n*(n-1)*(n-2)*...*3*2*1 = n!
n∗(n−1)∗(n−2)∗...∗3∗2∗1=n!
这种计算方式称为一个数的阶乘,其数学表达式是感叹号,例如n的阶乘写作n!,读作“n的阶乘”。
圆形排位数目
前面讲到的计算规则有一个例外,那就是圆形排位。
以4匹马(名字分别叫拉托、福福、其他、翠香)围成一圈为例,“拉托-福福-翠香-其他-回到拉托” 和 “其他-拉托-福福-翠香-回到其他”,只是第1种排列方式顺时针移动了1个位置(或者说“逆时针3个位置”)而已,实际上是一样的。【你可以脑海里想象一下操场上有好多班级在跑操,这是一个道理】
面对这一类问题,我们可以把其中一匹马的位置固定下来,比如福福。只要福福站在某个位置上不动,就能计算其余3匹马的排位方式,这样就能避免重复计算,得出正确的结果。
(也可以这么理解,与上面顺时针运动就能相同的排位,福福的站位一共有4种【上、下、左、右】,实际上它们是1种排位方式,因此只需要 4 ! 4 = 3 ! \frac{4!}{4}=3! 44!=3!,考虑福福在一个站位就好)
通常,如果有n个对象需要进行圆形排位,则可能的排位数目按下式进行计算:
(
n
−
1
)
!
(n-1)!
(n−1)!
小知识:0!=1
问:计算n个对象的圆形排位时,结果为(n-1)!。如果把顺时针排位视为同一种情况进行计算,结果如何?
答:如果这样的话,排位方式的数目则是(n-1)!/2。(n-1)!既考虑了顺时针的情况,也考虑了逆时针的情况,因此是实际要计算的结果的两倍,除以2就解决问题了。
附:“问”的意思我理解为顺时针和逆时针都假定相等,比如下图:
1 1
3 2 2 3
4 4
“问”假定这两个是同一种情况。那么就很好理解为什么是(n-1)!/2了,在其中一个站位固定的情况下,所有的排位都有一个对称的情况,因此需要除以2。
问:如果将对象呈圆形排位,且考虑对象的绝对位置,结果如何?
答:这样的话,排位方式的数目为n!,这正好等于n个对象的排位方式的数目。
排位和圆形排位例题:
按种类排位
另一种情况:若有3匹斑马与3匹普通马同场竞技,按照动物种类进行排名的话,共有几种排列方式?如果猜中,赔率是15:1。
这一次我们仅对动物种类感兴趣,对动物个体不感兴趣,比如“斑马-马-斑马-马-斑马-马”是一种,不会在意马儿是张三马还是李四马。
- 对于6匹马的排名方式,一共有6!种,假设我们关心个体的排名情况。其中一种的例子:“斑马1-马a-斑马2-马b-斑马3-马c”。
- 3匹斑马的排名情况,一共有3!种。由于我们不关心哪一匹斑马排在哪个位置,因此这些排名都是一样的。于是,为了避免重复计算,只需用总数除以3!就行了。例如,“马a–马b–马c”的顺序不重要,需要被除一下,情况就变成“马-马-马”了。
- 3匹普通马的排名情况,一共有3!种。同理,再除以3!。
这意味着按照种类对6匹动物进行排名的数目是:
6
!
3
!
3
!
=
720
6
∗
6
=
20
\frac{6!}{3!3!} = \frac{720}{6*6} = 20
3!3!6!=6∗6720=20
也就是说,正确押中不同种类动物的排名的概率是1/20。赔率是15:1,因此不建议赌。
因此,我们可以推广一下:
按类型排位
如果要为n个对象排位,其中包括第一类对象k个,第二类对象j个,第三类对象m个…则排位方式数目的计算式为:
n
!
j
!
∗
k
!
∗
m
!
∗
.
.
.
\frac{n!}{j!*k!*m!*...}
j!∗k!∗m!∗...n!
例题帮助理解:
排列
一个情境:20匹马比赛,求出前3甲的选取方式。
和前面一样,第一名有20种取法,第二名有19种取法,第三名有18种取法。剩下的位置我们并不用在意,因此前3名的排列总数是20*19*18=6840。我们可以用阶乘表示上式,也就是 20 ! 17 ! = 20 ! ( 20 − 3 ) ! \frac{20!}{17!}=\frac{20!}{(20-3)!} 17!20!=(20−3)!20!。
从20个对象中取出3个对象并进行排位,所得的排位方式的数目有一个正式名称,叫做“排列数目”。
排列是指从一个较大(n个)对象群体中取出一定数目(r个)对象进行排序,并得出排序方式总数目。
一般说来,从n个对象中取出r个对象的排列数目即n个对象中的每一组对象(r个)的可能排列方式数目,通常写作
n
P
r
^nP_r
nPr,即:
n
P
r
=
P
n
r
=
n
!
(
n
−
r
)
!
^nP_r = P_n^r = \frac{n!}{(n-r)!}
nPr=Pnr=(n−r)!n!
在我学《概率论与数理统计》时,符号通常这么写:
A
n
r
=
n
!
(
n
−
r
)
!
=
n
(
n
−
1
)
(
n
−
2
)
.
.
.
(
n
−
r
+
1
)
A_n^r = \frac{n!}{(n-r)!} = n(n-1)(n-2)...(n-r+1)
Anr=(n−r)!n!=n(n−1)(n−2)...(n−r+1)
组合
前面是需要求出准确排名,如果我们只需要知道前三匹马的组合数目—需要知道前三名有多少种组合方式,但前三名的确切排名并不细究。(简单来说就是只需要知道是哪三匹马就够了)
排列数目包括对前3匹马进行确切排名的情况,3匹马的排名方式有3!种,我们只需要再除以3!即可,这样就忽略了它们的确切排名的选择方式。也就是 20 ! 17 ! ∗ 3 ! = 6840 3 ! = 1140 \frac{20!}{17!*3!} = \frac{6840}{3!} = 1140 17!∗3!20!=3!6840=1140。
一般说来,组合数目即为从n个对象中选取r个对象的选取方式的数目,这是不必知道所选对象的确切排序。组合数目写作
n
C
r
^nC_r
nCr,即:
n
C
r
=
n
!
r
!
(
n
−
r
)
!
或
(
r
n
)
^nC_r = \frac{n!}{r!(n-r)!} \\ 或 (^n_r)
nCr=r!(n−r)!n!或(rn)
在我学《概率论与数理统计》时,符号通常这么写:
C
n
r
=
n
!
(
n
−
r
)
!
r
!
=
n
(
n
−
1
)
(
n
−
2
)
.
.
.
(
n
−
r
+
1
)
r
(
r
−
1
)
(
r
−
2
)
.
.
.
∗
1
C_n^r = \frac{n!}{(n-r)!r!} = \frac{n(n-1)(n-2)...(n-r+1)}{r(r-1)(r-2)...*1}
Cnr=(n−r)!r!n!=r(r−1)(r−2)...∗1n(n−1)(n−2)...(n−r+1)
排列与组合的区别
问:“选取”是什么意思?
答:这是组合的另一个术语。 n C r ^nC_r nCr的本意是“你有n个对象,选取r个”,因此有时候也称为选择函数。
关于组合的2道例题: