离散数学是研究离散对象(量)的数学,粗略地来讲,所谓“离散”就是不“连续”的、“可分离”的,比如自然数、书本、人等等,实数则是连续的。用集合论的术语来说,离散对象就是这样的对象:其全体所构成的集合是有限或可数的。离散数学的内容及其丰富,集合论、数理逻辑、数论、抽象代数、古典概率、组合数学、图论、自动机理论等等都属于离散数学的范畴。
纵观数学发展的历史可以发现,数学的发展经历了从离散到连续再到离散的过程。最初的离散数学源于日常生活和生产,以后,随着物理学、天文学等等的发展,连续数学得到了极大的发展,近代,随着计算机科学的发展和应用,离散数学又得到了进一步的重视和发展。
现代的数字计算机本质上是一种离散的机器,只能处理离散的量和对象,其理论模型是英国数学家图灵于1936提出的离散的图灵机。当然,通过近似等手段,数字计算机也可以模拟处理连续的量。虽然在诞生之初,计算机被主要用于科学计算(处理连续的量),但现代计算机越来越多地用于处理离散对象。所以,离散数学为计算机科学奠定了理论基础,并成为其有力工具。事实上,离散数学涉及的内容极其广泛,其应用全然不是仅局限于计算机科学及其应用,而是涉及到我们生活的方方面面。
离散数学课程是计算机专业的核心课程之一,为许多后继课程(如数据结构、操作系统、数据库原理、软件工程、算法设计与分析、系统结构、网络原理)提供了必要的数学基础和工具,且其学习过程还为提高分析问题和解决问题的能力提供了一条有效的途径,从而为今后的学习和工作打下坚实的基础。
本课程涉及四个数学分支:集合论、数理逻辑、图论和组合数学,主要介绍这些数学分支的基本框架、基础知识、基本思想和方法,内容的取舍和讲授方法充分考虑了计算机专业学生的特点和需要,展示了离散数学在计算机科学中的应用,强调基本概念、基本方法和能力培养。
本课程的涉及面较广,其所涉及的每个分支在数学系通常都要安排为一门一学期的课程,这其中的有些课程还是研究生课程。所以。计算机专业的学生要学好离散数学并非轻而易举,而需要花费相当的精力。当然,计算机专业中所讲授的离散数学课程对有关内容作了大幅度的精简,除必须讲授的基础内容以外,从应用的角度对内容作了取舍。所以,只要认真对待,计算机专业的学生还是能够也必须学好离散数学。