1、第一章 组合数学 前言,前言,组合数学是一个古老而又年轻的数学分支 据传说,大禹在4000多年前就观察到神龟背上的幻方,幻方,幻方可以看作是一个3阶方阵,其元素是1到9的正整数,每行、每列以及两条对角线的和都是15,中国古代的组合数学,贾宪 北宋数学家(约11世纪)著有黄帝九章细草、算法斅古集(斅音“笑”)都已失传,中国古代的组合数学,杨辉著详解九章算法(1261年)中曾引贾宪的“开方作法本源”图(即指数为正整数的二项式展开系数表,现称“杨辉三角形”)和“增乘开方法”(求高次幂的正根法),中国古代的组合数学,前者比帕斯卡三角形早600年,后者比霍纳(William Geoge Horner,1
2、786-1837)的方法(1819年)早770年,国外的组合数学,1666年莱布尼兹所著组合学论文一书问世,这是组合数学的第一部专著。书中首次使用了组合论(Combinatorics)一词,几个典型的组合数学实例,棋盘的完美覆盖 再议幻方 中国邮递员问题,棋盘的完美覆盖,88棋盘,覆盖2格的多米诺牌,能否完美覆盖? 有多少覆盖方式?,Fischer在1961年发现,不同的完美覆盖的总数是12,988,816=24(901)2,mn棋盘的完美覆盖,mn棋盘,能否完美覆盖? 有多少覆盖方式?,当且仅当棋盘的方格数为偶数时,mn棋盘存在完美覆盖,残缺棋盘的完美覆盖,覆盖2格的多米诺牌,能否完美覆盖?
3、 有多少覆盖方式?,残缺88棋盘,残缺棋盘的完美覆盖,31 32 + 30,b-多米诺牌,mn棋盘,b-多米诺牌,能否完美覆盖? 有多少覆盖方式?,b-多米诺牌,命题:一张m行n列棋盘有一个b-牌的完美覆盖,当且仅当b是m的一个因子或者b是n的一个因子命题是否成立?,幻方,一个n阶幻方是由整数1,2,3,n2按下述方式组成的nn方阵:该方阵每行上的整数的和、每列上的整数的和以及两条对角线中每条对角线上的整数的和都等于同一个数s s - 幻和,幻方,问题:哪些n存在幻方?如果有,则构造方法如何?,构造幻方,构造奇数阶幻方的方法:将1放在最上一行的中间,其后的整数沿着自左下到右上的这条对角线按照自
4、然顺序放置,同时作修正: 在到达顶行时,下一个整数要放在底行,所放位置就是把底行当作顶行上边一行时该数应该放置的位置 当到达最右边的一列时,下一个整数要放在最左边的一列上,所放位置就是把最左边的一列当作最右边那列的右边的列时该数应该放置的位置 当要放的位置上已经填好了整数,或上一个整数已经放在了幻方的右上角时,则当前要摆放的整数将放在紧挨上述位置的下方,中国邮递员问题,邮递员从邮局出发送信,要求对辖区内每条街,都至少通过一次,再回邮局。在此条件下,怎样选择一条最短路线? 中国邮递员问题由管梅谷教授在1960年提出,美国国家标准和技术研究院(NIST)首先将此问题命名为中国邮递员问题,中国邮递员
5、问题,假设有一个镇有14条路及9个路口(路口分别编号为 1,2, ,9),如何找到一条最短路线?,欧拉回路,若图中有欧拉回路(图G的一个回路,若它恰通过G中每条边一次 ),则任何一个欧拉回路即为此问题的解。 若图中不存在欧拉回路,其中必存在有奇数个边的端点,且这类的端点一定大于2个。因此有些边需要再重复一次,使奇数边的端点变为偶数边的端点。,重复边,不存在欧拉回路,其中有4个路口(编号 1, 3, 6 及9)有奇数条路通过 现在要做:在图中使几个边重复,使图中所有的端点均有偶数边通过。问题:确定重复哪个边可以使原图的端点都有偶数边通过,且增加长度最少 ?,选择重复边,画出所有奇数边的端点的完全
6、图 K4 ,边上的数字是从一端点到另一端点的最短长度。 选择边 1,6 及 3,9,所有端点都经过一次,而总长度 4 + 2 = 6最短。,问题的解,原来的图中,连接端点 1 和 6, 端点 3 和 9 的边再重复一次,所有端点均有偶数个边通过 任一个欧拉路径即为此问题的解答,如以下的端点顺序 1,2,3,4,9,3,1,8,7,3,9,7,6,9,5,6,7,8,1 即为一解。图中红色的部份即为重复的边,组合数学的发展,组合数学源于消遣和游戏 计算机促进了组合数学的迅速发展(组合爆炸):大规模计算、程序设计解决组合问题、算法的复杂性、优化和近似 但是,由于组合数学涉及面广,内容庞杂,并且仍在
7、很快地发展着,因而还没有一个统一而有效的理论体系,组合数学的研究内容,涉及将一个集合的物体排列成满足一些指定规则的格式 排列的存在性:满足某些条件的安排是否存在;安排存在的充要条件 排列的计数和分类:安排存在的方式和数量 研究已知排列的性质和结构:优化,组合数学的研究内容,组合数学:研究离散结构的存在、计数、分析和优化等问题的一门学科,组合数学的研究工具,数学归纳法:证明当 n 等于任意一个自然数时某命题成立。证明分下面两步: 证明当 n = 1 时命题成立。 证明如果在 n = m 时命题成立,那么可以推导出在 n = m+1 时命题也成立。(m 代表任意自然数) 原理:首先证明在某个起点值
8、时命题成立,然后证明从一个值到下一个值的过程有效。当这两点都已经证明,那么任意值都可以通过反复使用这个方法推导出来。,小结,组合数学经常使用的方法并不高深复杂。最主要的方法是计数时的合理分类和组合模型的转换 但是,要学好组合数学并非易事,既需要一定的数学修养,也要进行相当的训练,教材及参考书,组合数学 Richard A. Brualdi著,机械工业出版社 组合数学 卢开澄,卢华明编著,清华大学出版社,学习内容,鸽巢原理:掌握利用鸽巢基本原理分析和解决实际问题 排列与组合:了解排列与组合的基本原理,以及生成排列和组合的算法 二项式系数:了解二项式系数的一些基本应用 容斥原理:了解容斥原理及其应用,和一般形式 二分图:掌握几个典型问题的二分图描述方法、最大匹配算法 图论算法:了解图的基本概念及一些经典图问题的求解算法,考核方法,平时成绩:10% 作业:30% 期末考试(开卷):60%,联系方式,办公室:计算机楼522 邮箱:,