2018 年足球世界杯当时激烈的赛况你现在还记忆犹新吧?你知道这场足球盛宴的比赛日程是怎么安排的吗?如果现在你是组委会,你会怎么安排比赛日程呢?我们可以用上一节的排列思想,让全部的 32 支入围球队都和其他球队进行一次主客场的比赛。
自己不可能和自己比赛,因此在这种不可重复的排列中,主场球队有 32 种选择,而客场球队有 31 种选择。那么一共要进行多少场比赛呢?很简单,就是 32x31=992 场!这也太夸张了吧?一天看 2 场,也要 1 年多才能看完!即使球迷开心了,可是每队球员要踢主客场共 62 场,早已累趴下了。
好吧,既然这样,我们是否可以取消主客场制,让任意两个球队之间只要踢 1 场就好啦?取消主客场,这就意味着原来两队之间的比赛由 2 场降为 1 场,那么所有比赛场次就是 992/2=496 场。还是很多,对吧?
是的,这就是为什么要将所有 32 支队伍分成 8 个小组先进行小组赛的原因。一旦分成小组,每个小组的赛事就是 (4x3)/2=6 场。所有小组赛就是 6x8=48 场。
再加上在 16 强阶段开始采取淘汰制,两两淘汰,所以需要 8+4+2+2=16 场淘汰赛(最后一次加 2 是因为还有 3、4 名的决赛),那么整个世界杯决赛阶段就是 48+16=64 场比赛。
当然,说了这么多,你可能会好奇,这两两配对比赛的场次,我是如何计算出来的?让我引出今天的概念,组合(Combination)。
组合可以说是排列的兄弟,两者类似但又有所不同,这两者的区别,不知道你还记得不,上学的时候,老师肯定说过不止一次,那就是,组合是不考虑每个元素出现的顺序的。
从定义上来说,组合是指,从 n 个不同元素中取出 m(1≤m≤n)个不同的元素。例如,我们前面说到的世界杯足球赛的例子,从 32 支球队里找出任意 2 支球队进行比赛,就是从 32 个元素中取出 2 个元素的组合。如果上一讲中,田忌赛马的规则改一下,改为从 10 匹马里挑出 3 匹比赛,但是并不关心这 3 匹马的出战顺序,那么也是一个组合的问题。
对于所有 m 取值的组合之全集合,我们可以叫作全组合(All Combination)。例如对于集合{1, 2, 3}而言,全组合就是{空集, {1}, {2}, {3}, {1, 2}, {1,3} {2, 3}, {1, 2, 3}}。