图书前言

前言

数学的魅力在于简单而且美的同时,能够不失全面地描述事物及其结构或空间,不仅能描述静态的,还能描述动态的;不仅能描述连续的,还能描述离散的;更为重要的是,人们还可以利用数学系统进行严谨的推理,以得到所需要的各种各样的结论。

离散数学的目标主要是教会人如何进行逻辑推理、如何进行正确的抽象思维、如何在纷繁的事物中抓住主要的联系、如何使用明确的概念等,这对计算机科学、技术及应用是至关重要的,且在其他任何领域也同样重要。而形式化是离散数学乃至数学的基本特征,能形式化就能自动化,对计算机专业而言,形式化尤为重要,利用形式化描述可以为程序设计提供方便,从而实现自动化。

离散数学主要包含四部分内容: 集合论、图论、近世代数和数理逻辑。集合论是整个数学的基础,也是计算机科学的基础,计算机科学领域中的大多数基本概念和理论,几乎均采用集合论的有关术语来描述和论证,而图论的基本知识则将始终陪伴着每一个计算机工作者的职业生涯。近世代数通过研究代数系统或代数结构来训练更高层次的抽象思维能力,数理逻辑则通过研究形式化的推理系统来加强逻辑思维能力的训练,这两种能力是计算思维的核心。

集合论是从“集合”这个基本概念开始建立的,从某种观点来看,“集合”与“性质”是同义词,是不加定义的基本概念之一。集合用来描述事物的性质——研究对象,映射用来描述事物之间的联系——运算、关系,从而为集合建立了结构。于是,为建立系统的数学模型提供了数学描述语言——工具,代数系统就是引入运算以后的集合。集合论还提供了研究数学模型的性质、发现新联系的推理方法,从而有助于找出事物的运动规律。

图论是上述思想的一个具体应用,事实上,图论为任何一个包含了一种二元关系的有穷系统提供了一个数学模型。图论还因为使用了图解式表示方法,因而具有一种直观的和符合美学的外形,所以应用广泛。图论在计算机科学中起着相当重要的作用,它是从事计算机科学的研究和应用人员必备的基本知识。

在研究一个系统时,人们常在所研究的系统中引入各种运算,它们服从某些熟知的规律,这样不仅能简化所获得的公式,而且能够简化科学结论的逻辑结构,当这些运算与某些关系发生联系时则更为有用。当一个集合或几个集合间引入代数运算后,就称集合与代数运算一起形成了一个代数系统或构成了一个代数结构,近世代数就是专门研究代数运算的规律及各种代数结构的性质的。

逻辑是探索、阐述和确立有效推理原则的学科,数理逻辑则是用数学方法研究推理的形式结构和推理规律的学科,也叫符号逻辑,其研究对象是对证明和计算这两个直观概念进行符号化以后的形式系统。所谓数学方法是指数学所采用的一般方法,包括使用符号和公式、已有的数学成果和方法,特别是使用形式的公理方法。用数学方法研究逻辑可以使逻辑更为精确和便于演算,数理逻辑就是精确化、数学化的形式逻辑,它是现代计算机技术的基础。

本书主要讲解集合论与图论,它是数据结构与算法、形式语言与自动机、计算机网络、数据库原理、计算理论等课程的基础。

学习理论总是感觉很困难,但理论是基础,可以用于指导实践,因此必须掌握学习理论的一般方法。其实,如果了解了理论的直观与抽象过程,不仅学习起来要容易得多,而且有可能在合适的背景下创造新的理论。本书正是从这一角度出发,试图引导读者越过学习理论的障碍,不仅能够熟练运用所学理论,并能体会大师当年的思维过程。

由于作者水平有限,书中的错误和不当之处在所难免,敬请读者批评指正。

作者

2025年1月