图书前言

组合数学又称为组合分析或组合论。它所研究的中心问题是根据一定的规则来安排某些事物的数学问题。这些问题包括这种安排是否存在?如果符合要求的安排是存在的,那么,这样的安排又有多少?怎样构造这种安排?如果给出了最优化标准,又怎样去得到最优安排?以及怎样利用这样的安排去解决其他领域和实际生产或生活中的问题?

当今,组合数学中的许多问题是数学中的精华。组合数学的应用也涉及自然科学和社会科学的许多领域。例如,它在计算机科学、编码理论、通信网络、电子工程、实验设计、交通运输、社会经济学、管理科学等领域中都有着广泛的使用价值,特别是在计算机科学中有着重要的应用。这不仅因为它是这门学科的重要基础,更为主要的原因是计算机科学的核心是算法研究,而组合算法是算法的重要组成部分。没有组合数学的理论基础,组合算法的深入研究和分析是不可能的。由于以上原因,组合数学在当今世界普遍受到高度重视。

组合数学具有悠久的历史。但是,它的发展壮大还是近几十年的事情,特别是计算机的问世以及计算机的广泛应用,促使了组合数学的蓬勃发展。反过来,由于组合数学的发展壮大,又推动了计算机科学日新月异的进步。可以说,组合数学是计算机科学发展一个不可分割的组成部分。

本书主要内容分为以下6个层次。

(1) 组合数学的计数理论(第1~第4章)——系统地介绍了组合数学中最基本的知识,包括容斥原理、母函数、递归关系等必须掌握的基本内容,以及基本的排列组合计数算法。

(2) 存在性理论(第5章)——主要介绍鸽笼原理和Ramsey定理。

(3) 构造性问题(第6章)——主要介绍了简单排列和组合的构造方法。

(4) 组合设计(第7章)——初步阐述了有关区组设计的基本知识。

(5) 组合优化(第8和第9章)——侧重介绍了线性规划的基本原理和方法、图着色、最大团原理和方法。

(6) 组合数学的应用(第10章)——主要介绍了组合数学的基本理论和方法在计算机等相关领域和学科中的应用。

全书较为全面地介绍了组合数学的基本问题、基本理论、所使用的方法及其应用。

本书叙述详尽,由浅入深、层次分明。每章均配有大量的实例和难易程度不同的习题。教师可以根据教学要求、课时多少、授课对象(本科生、研究生)灵活选取授课内容。本书适合计算机专业及非数学专业的理科、工科专业的本科生、研究生作为教材或参考书,也可作为工程技术人员自学的教材或参考书。

本书的第6章、第10章及第2和第3章部分内容、第7章部分内容由卢光辉副教授编写。第9章由杨国武教授编写,其余内容由孙世新教授编写。

本书的编写得到了电子科技大学研究生院的资助,也得到了电子科技大学计算机科学与工程学院的支持和帮助,在此一并向他们表示最衷心、最诚挚的谢意。由于编者水平有限,书中难免存在一些错误和缺点,恳请同行专家及读者批评指正,使本书不断改进和完善。

编者

2013年5月