第一章 什么是组合数学

  • 格式:doc
  • 大小:264.00 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章什么是组合数学

组合学问题在生活中随处可见。例如,计算下列赛制下总的比赛次数:n个球队参赛,每队只和其他队比赛一次。创建幻方。在纸上画一个网络。用铅笔沿着网络的线路走,在笔不离开纸面且不重复线路的条件下,笔画出网络因。在玩扑克牌游戏中,计算满堂红牌的手数,以确定出现一手满堂红牌的几率。所有这些都是组合学问题。正如人们想到的.组合数学的历史渊源扎根于数学娱乐和游戏之中。过去研究过的许多问题,不论出于消遣还是出于对其美学的考虑,如今在纯科学和应用科学中都具有高度的重要性。今天,组合数学是数学的一门重要分支,而且它的影响还在继续扩大。组合数学自60年代以来急速发展的部分原因就在于计算机在我们的社会中所发挥的重要影响,而且这种影响还在继续发挥。由于运算速度的持续增加,计算机已经能够解决大型问题,这在以前是不可能做到的。然而计算机不能独立运行,它需要编程来控制。这些程序的基础往往是求解问题的组合学算法,对于这些算法,运行时间效率和存储需求分析需要更多的组合学思想。

组合数学近期发展的另一个原因是它对于那些过去很少与数学正式接触的学科的适用性。由此我们发现,组合数学的思想和技巧不仅正在用于数学应用的传统自然科学领城,而且也用于社会科学、生物科学、信息论等领域。此外,组合数学和组合学思想在许多数学分支中已经变得越来越重要。

组合数学涉及到将一个集合的物体排列成满足一些指定规则的格式。如下两类一般性问题反复出现:

排列的存在性如果有人想要排列—个集合的成员使得某些条件得以满

足,那么这样一种排列是否可行根本就不是显而易见的。这是最根本的问题。如果这种排列不总是可能的,那么我们要问,这种排列在什么样的(必要和充分)条件下能够实现?

排列的计数和分类如果一个指定的排列是可能的,那么就会存在多种

方法去实现它。此时,人们就可以计数并将它们分类。

虽然对任何组合问题都可以考虑其存在性和计数问题,但在实践中常常发生的却是:如果存在性问题需要广泛地研究,那么计数问题则是非常困难的。然而,如果指定的排列问题的存在性容易解决,那么计算实现该排列的方法的数目则是可能的。在例外的情形下(即当它们的数目较小时),这些排列可以被列出来,理解列出所有的排列与确定它们的数目之间的区别很重要。一旦这些排列被列出,它们就可通过与整数集{1,2,3,…,n}之间建立一一对应而被数出,其中n 是某个整数。我们计数的方法就是:1,2,3…,n。但是,我们主要关心的是事先不列出指定类型的排列而确定它们的数目的方法。当然,这些排列的总数也许很大以至于不可能把它们部列出来,概括地说,许多组合学问题常呈现下列形式:“能否排列…?”

“存在一个……吗?”

“能用多少方法—…?”

“计算……的数目。”

与上述问题同时出现的另外两种组合学问题是:

研究一个巳知的排列 当人们建立起满足某些指定条件的一个排列(可能不容易)以后,可能要考察这个排列的性质和结构,这样的结构可能会涉及到分类问题,也许还涉及到一些潜在的应用,它还可能牵扯到下面的问题。

构造一个最优的排列 如果有可能存在多于一个的排列,人们也许想要确定满足某些优化准则的一个排列,即找出某种规定意义下的“最好的”或“最优的”的排列。

因此,组合数学可以一般地描述为:组合数学是研究离散结构的存在、计数、分析和优化等问题的一门学科。

组合数学中解决问题的主要工具之一为数学归纳法。归纳是一个强有力的过程,在组合数学中尤其是如此。用数学归纳法证明一个强结果常常比证明一个弱结果更容易。虽然在归纳阶段验证多一些是必要的,但归纳假设却是更强的一步。数学归纳法的部分技巧就是找到假设的正确的平衡来进行归纳。

然而.一般说来,许多组合数学问题的解决需要某些特别的论证。人们不能总是退到已知的结果或公理那里。人们必须研究情况,挖掘洞察力,并运用他们灵活的谋略来解决问题,这里并不是说不存在可以使用的一般原则和方法;比如:容斥原理、所谓的钨巢原理、递归关系和生成函数的方法等就是一般的原则和方法,我们将在后面各章讨论这些原则和方法。但是,洞察到这些原则和方法能够使用以及如何使用常常需要智慧。这样的经验在解决组合问题时是非常重要的。也就是说,用组合数学解决问题一般说来和用数学解决问题一样,你解决的问题越多,那么能够解决下一个问题的可能性就越大。

为了使前面的讨论更加具体,现在让我们转到组合问题的几个实例。这些例子从相对简单(但需要解题的灵感)的问题直到其解曾是组合数学中主要成就的那样一些问题。有些问题在后面的章节中还要更详细地讨论。

例1:棋盘的完美覆盖

考虑一张普通的国际象棋棋盘,它被分成88⨯(8行8列)的64个正方形。设有形状一样的多米诺牌,每张牌恰好覆盖棋盘上相邻的两个方格。那么,是否能够把32张多米诺牌摆放到棋盘上,使得任何两张多米诺牌均不重叠,每张多米诺牌覆盖两个方格,并且棋盘上所有的方格都被覆盖住?

我们把这样一种排列称为棋盘被多米诺牌的完美覆盖。

这是一个简单的排列问题,人们能够很快构造许多不同的完美覆盖。但是,计算不同的完美覆盖的总数就不足一件容易的事情,不过,这还是有可能做到的。这个数由Fischer 在1961年发现,它是12988816=2)901(2⨯。这种普通的国际象棋棋盘可以用排成m 行n 列的mn 个方格的一般棋盘代替。此时,这种棋盘的完美覆盖就未必存在了。比如33⨯的棋盘就确实不存企完美覆盖,那么,对于什么样的m 和n 存在完美覆盖呢? 不难看出,当且仅当m 和n 中至少有一个是偶数时。n m ⨯棋盘存在完美覆盖。或者说,当且仅当棋盘的方格数为偶数时.n m ⨯棋盘存在完美覆盖。Fischer 已经得出涉及到三角函数的用来计算n m ⨯棋盘的不同完美覆盖数的更一般公式。

再来考查8x 8的国际象棋棋盘并用一把剪刀剪掉棋盘一副对角上的两个方格,总共剩下62个方格。那么,是否能够排列31张多米诺牌来得出对这副被剪过的棋盘的完美覆盖?

虽然这副被剪过的棋盘与8x 8棋盘非常接近,且后者有一干二百多万个完美覆盖,但是,这副被剪过的棋盘却没有完美覆盖。其证明是简单而巧妙的组合推型的一个实例。

在一副普通的8x 8棋盘上交替地将方格涂成黑色和白色,则其中32个方格是白色的。而另外32个方格是黑色的。如果我们剪掉棋盘一副对角上的两个方格,那么我们就剪除了同样颜色的两个方格,比如两个白色方格。这就变成了32个黑方格和30个白方格、但是每张多米诺牌需要覆盖一个黑方格和一个白方格,于是,31张不重叠的多米诺牌则盖住31个白方格和31个黑方格。因此,这副被剪过的棋盘没有完美覆盖,上述推理可总结为:

313230

m⨯棋盘上的方格交替徐成黑色和自色,切除一些方格,更一般地.可以将n

得到一块切过的棋盘什么时候能有一个完美覆盖?

为使完美覆盖存在,这块被切过的棋盘必须又有相等的黑方格数和白方格数但是,这个条件却不是充分的,图l-1中的例子指出了这一点。

图l-1具有相等的黑方格数和白方格数

因此,我们要问:一块被切过的棋盘县有完美覆盖的必要和充分条件是什么?这个问题可以应用二分图中的匹配理论得到完全的解决力案。这个问题存在一个实际的公式表示。但它是以指派申请人去做他们有资格胜的上作的术语给出的。(可参看布鲁迪 Brualdi著,冯舜玺,罗平等译,《组合数学》,机械工业出版社,第九章)。

m⨯棋盘被多米诺牌完美覆盖的问题,还存在另外一种一般化的方法,对于n

设b是一个正整数。我们用由b个1Xl的方格并排连接成的1xb的方格条来代替多米诺牌,我们称这些方格条为b-牌(bomino),因此,一张b牌可以盖住一行上或是一列上b个连续的方格。图1-2画出了和一张5-牌。一张2-牌就是上面提到的普通的多米诺牌,1-牌叫做单牌。

m x n棋盘被b-脾的一个完美覆盖是b-牌在棋盘上的这样一个排列、使得盘上没有两张牌重叠,每一条b-牌盖住盘上的b个方格,并且盘上的所有方格都被盖住。那么.何时m x n棋盘将具有一个b-牌的完美覆盖?

既然盘上的每个方格恰被一条5-牌覆盖,于是,要想使覆盖成为完全覆盖,