图书前言

前言

离散数学是现代数学的重要分支,也是计算机科学与技术、网络工程、软件工程等专业的核心课程。它为计算机专业的数据结构、操作系统、编译原理、算法设计与分析、数字电路、密码学基础、人工智能等课程提供了必要的数学基础。

离散这个概念是和连续相对应的,高等数学中第一章是“函数与极限”,这就是一个连续概念的体现。在现实中,我们发现连续的问题更常见,那么我们为什么要学习离散数学呢?因为计算机的运算是离散型(以二进制为基础)的,也就是说,计算机通常只能用离散的数据模仿连续的数据,而不能做到真正的连续,故而对计算机而言,离散就是它们理解数学的方式。简而言之,我们可以把离散数学理解为数学和计算机之间的桥梁。离散数学在计算机学科中有着许多的应用,比如,笛卡儿积在数据库中具有无可替代的作用,离散结构与算法思考反映出数据结构的结构知识,而近年大热的人工智能领域、以逻辑数学为推理基础的逻辑推理也是其重点研究的内容。离散数学在计算机学科中正发挥着越来越大的作用,以离散数学作为计算机学科研究的依据与方法,可以促进计算机学科逐渐趋于完善。因此,我们应该重视离散数学在计算机学科中的作用,学好离散数学对后续相关方面的研究有着十分重大的意义。

离散数学涉及内容较多,本书共分为数理逻辑、集合论、代数结构和图论4篇,共11章。第1章和第2章分别介绍命题逻辑和谓词逻辑的基本概念、推理理论及应用等;第3章和第4章主要介绍离散结构的集合表示,讨论了集合、关系和函数的各种运算、性质、表示方法及应用;第5章~第7章主要介绍代数结构,包括代数系统、群、格与布尔代数;8~11章主要介绍离散结构的图形表示,即图论,包括图、欧拉图、哈密顿图、平面图及树。本书结合大量图例、公式及例题,清晰地介绍并展示了离散数学中的概念与技术,行文流畅,通俗易懂,由浅入深,并在每章的最后配有相当数量的习题,帮助读者巩固所学知识。除此之外,为了与国际接轨,本书采用双语版本,方便读者对照阅读,从而培养读者的外语阅读与写作能力。

本书是作者团队结合多年教学实践与科学研究,在力求通俗易懂、简明扼要的指导思想下编写而成的。在编写过程中,我们着重突出以下四个特点。

(1) 易理解性。我们希望本书对读者来说是易读易懂的,所以注意突出重点,论证做到详细明了。每一个概念的抛出,都会给出一些相应的例题,方便读者理解学习。

(2) 独立且具灵活性。为了便于灵活使用,本书做了精心的设计,每章分成长度大致相等的若干节,每节又根据内容划分成若干小节以方便学习。同时各章节各有独立性,但尽可能保留各章节之间的联系,规范并统一了符号和术语。

(3) 实用性。在加强基本理论教学的同时,也注意了分析问题、解决问题的技能培养和训练。因此,本书在每章后面加入了大量不同类型的练习,不仅提供了足够多的简单练习用于巩固基础,还提供了大量中等难度的练习和许多具有挑战性的练习供读者灵活运用所学知识挑战自我。

(4) 国际化。计算机专业相较于其他专业对于国际化有着更高的要求,因为计算机相关的资料、论文及编程软件都是以英语为主的语言载体,所以专业化的英语术语表达对读者来说十分重要,这也是采用双语编写的初衷。

在编写过程中,我们参考了国内外多种版本的离散数学教材和相关的文献资料,从中吸取了许多优秀的思想与方法,在此向这些学者、专家致谢。另外,我们还要感谢万浩、司宇、蒋森林、梁赛、裴运申等在本书的编写、核对等方面作出的贡献,以及江苏大学研究生教材建设项目、来华留学全英文授课课程教材建设项目资助。

由于编者水平有限,书中不足之处在所难免,敬请读者批评、指正。

编者2023年3月