Introduction

什么是离散数学?

离散数学是数学的一个分支,主要研究离散对象 (discrete objects),离散(discrete) 这个词,是相对与连续(continuous)而言的。所以,微积分(Calculus)这样处理连续对象的 数学就不属于离散数学的范畴了。

下面举一些离散数学研究的对象的例子(包括但不局限于这些):

离散数学可以解决的问题,例如

离散数学涉及的问题非常多,很多都非常有趣,和我们的生活息息相关。学好离散数学,说 不定我们可以在生活中成为更智慧的人。

课程目标

学习数学课程,不仅仅是知识的积淀,更重要的是,在学习这些课程中,我们能够学习、训 练新的思维方法。学习离散数学课程对大家的数学逻辑思维的训练是非常有帮助的。

通过学习这门课程中,希望同学们能够初步掌握下面五个方面的主体:

  1. 数学推理 (Mathematical Reasoning):数学推理是离散数学的基础。我们首先要学习数 理逻辑 (mathematical logic),掌握构造证明 (constructing proofs) 的方法和技巧。 数学归纳法是离散数学中一种重要的方法。

  2. 组合分析 (Combinatorial Analysis):离散数学中,计数 (counting) 或 枚举 (enumeration) 是重要的解题技巧。我们需要用组合分析方法来求解计数问题,并且分 析算法。

  3. 离散结构 (Discrete Structures):离散结构是表示离散对象及这些对象间关系的抽象 数学机构,包括集合 (sets)、置换 (permutations)、关系 (relationships)、图 (graphs)、树 (trees)和有限状态机 (finite-state machines)等。

  4. 算法思维 (Algorithmic Thinking):最终,我们希望通过程序来实现算法,最后解决问 题。这个过程中涉及的数学问题包括:算法的详细说明、正确性验证以及执行算法所需 要的计算机内存和运行时间的分析等。这里,我们需要掌握为代码来描述算法。

  5. 应用与建模 (Applications and Modeling):事实上,离散数学可以应用在现有的所有 研究领域,并不仅仅局限于信息科学和计算机科学,所以,使用离散数学方法对不同问 题进行数学建模,也是本课程需要训练的能力。