关于作者Discrete Mathematics and Its Applications,7EKenneth H.Rosen 作为位于新泽西州蒙茅斯县的AT&T实验室杰出技术会员已经拥有一段很长的职业生涯。目前他在蒙茅斯大学任访问研究教授,为研究生讲授计算机科学课程。Rosen博士于1972年获得位于安娜堡的密歇根大学数学学士学位,1976年获得麻省理工学院数学博士学位,在哈罗德·斯塔克(Harold Stark)的指导下他撰写了数论方面的博士论文。1982年加入贝尔实验室之前,他曾就职于科罗拉多大学博尔德分校;哥伦布市的俄亥俄州立大学;在欧洛诺市的缅因大学任数学副教授。在AT&T工作时,他在蒙茅斯大学任教,教授离散数学、编码理论和数据安全方面的课程。他目前教授算法设计以及计算机安全和密码学方面的课程。Rosen博士在数论及数学建模的专业期刊上发表了大量论文。他是《初等数论及其应用》(Elementary Number Theory and Its Applications)的作者,该书由Pearson培生出版并广为采用,目前第6版也已经翻译成了中文。他也是《离散数学及其应用》Discrete Mathematics and Its Applications的作者,该书由McGraw-Hill麦格劳希尔出版,目前是第7版。《离散数学及其应用》Discrete Mathematics and Its Applications自出版以来在北美发行超过350 000册,在世界其余各地发行成千上万册。这本书也已经被翻译成法文、希腊文、中文、越南文和韩文。他还是《UNIX:参考大全》UNIX:The Complete Reference、《UNIX系统V版本4:简介》UNIX System V Release4:An Introduction、《佳UNIX小技巧》Best UNIX Tips Ever的合著者,这些书均由奥斯本麦格劳希尔出版。这些书发行超过150 000册,并翻译成中文、德文、西班牙文和意大利文。Rosen博士还是由CRC出版社出版的《离散及组合数学手册》Handbook of Discrete and Combinatorial Mathematics的编辑,他是CRC离散数学丛书的顾问编辑,丛书包括超过55卷论述离散数学的不同方面,其中大多数内容在这本手册中有介绍。Rosen博士现任《离散数学》(Discrete Mathematics)期刊副主编,负责审阅提交的论文,涉及离散数多个领域,包括图论、枚举和数论。他对将数学软件集成到教育和专业环境中很有兴趣,并在这些方面参与和Waterloo Maple Inc.的MapleTM软件的一些合作项目。Rosen博士还和多家出版公司合作开发作业交付平台。在贝尔实验室和AT&T实验室期间,Rosen博士所从事的项目涉猎广泛,包括运筹学研究、计算机和通信设备的产品线规划和技术评估。他帮助规划AT&T在多媒体领域的产品和服务,包括视频会议、语音识别、语音合成和图像联网。他为AT&T使用新技术做评估,并在图像联网领域从事标准化工作。他还发明了许多新服务,并持有超过55项专利。他的一个有趣的项目涉及帮助评估AT&T为提高吸引力而采用的技术,这也是EPCOT中心的一部分。
前言Discrete Mathematics and Its Applications,7E本书是根据我多年讲授离散数学的经验和兴趣写成的。对学生而言,我的目的是为他们提供准确且可读性很强的教材,清晰地介绍并展示离散数学中的概念和技术。我的目标是向爱怀疑的学生们展示离散数学的相关性和实用性,希望为学习计算机科学的学生提供一切必需的数学基础,也希望学数学的学生理解重要的数学概念,以及为什么这些概念对应用来说很重要,最重要的是希望本书既能达到这些目标,又不含太多的水分。对教师而言,我的目的是要利用数学中行之有效的教学技术来设计一个灵活而全面的教学工具,希望为教师提供能够以最适合特定学生特点的方式高效地教授离散数学的教材。希望本书能够达到这些目标。我为本教材在过去所取得的巨大成功而感到非常欣慰。根据北美600多所学校以及全球各地许多大学成功采用了本书的大批师生的反馈和建议,此次第7版进行了许多改进。本教材是为一至两个学期的离散数学入门课程而设计的,适用于数学、计算机科学和工程等各类专业的学生。虽然唯一的先修课程要求是大学代数,但是要想真正学好离散数学还需要掌握更多的数学知识。离散数学课程的目标离散数学课程有多个目标。学生不仅要学会一些特定的数学知识并知道怎样应用,更重要的是,这样一门课应培养学生的数学逻辑思维。为此,本教材特别强调数学推理以及用不同的方法解题。本书中五个重要主题交织在一起:数学推理、组合分析、离散结构、算法思维、应用与建模。成功的离散数学课程应该努力使这五个主题相互融合、平衡。1.数学推理:学生必须理解数学推理,以便阅读、领会并构造数学论证。本书以数理逻辑开篇,在后面证明方法的讨论中,数理逻辑是基础。本书描述了构造证明的方法与技巧。本书特别强调数学归纳法,不仅给出了这种证明的许多不同类型的实例,还详细地解释了数学归纳法为什么是有效的证明技术。2.组合分析:一个重要的解题技巧就是计数或枚举对象。本书中,对枚举的讨论从计数的基本技术着手,重点是用组合分析方法来解决计数问题并分析算法,而不是简单地应用公式。3.离散结构:离散数学课程应该教会学生如何处理离散结构,即表示离散对象以及对象之间关系的抽象数学结构。离散结构包括集合、置换、关系、图、树和有限状态机等。4.算法思维:有些问题可以通过详细说明其算法来求解。在清楚地描述算法后,就可以构造一个计算机程序来实现它。这一过程中涉及的数学部分包括算法的详细说明、正确性验证以及执行算法所需要的计算机内存和时间的分析等,这些内容在本书中均有介绍。算法是用英语 译著中采用汉语。——译者注和一种易于理解的伪代码来描述的。5.应用与建模:离散数学几乎在每个可以想象到的研究领域中都有应用,本书介绍了其在计算机科学和数据网络中的许多应用,还介绍了在其他各种领域中的应用,如化学、植物学、动物学、语言学、地理学、商业以及因特网等。这些均是离散数学的实际而又重要的应用,而不是编造的。用离散数学来建模是十分重要的问题求解技巧,本书中的一些练习让学生有机会通过自己构造模型掌握这一技巧。本书特色易理解性:本书对于初学者来说已被实践证明是易读易懂的。绝大部分内容不需要读者具备比大学代数更多的数学预备知识。需要额外帮助的学生可以在配套网站找到相应工具将数学水平提升到本书的水准。本书中少数几个需要参考微积分的地方也已显式注明。大多数学生应该很容易理解书中用来表示算法的伪代码,无论他们是否正式学过程序设计语言。本书不要求正规计算机科学方面的预备知识。每章都是从易于理解和领会的水平开始。一旦详细介绍了基本数学概念,就会给出稍难一些的内容以及在其他研究领域中的应用。灵活性:本书为能灵活使用做了精心设计。各章对其前面内容的依赖程度都降到最低。每章分成长度大致相等的若干节,每节又根据内容划分成若干小节以方便教学。教师可以根据这些分块灵活地安排讲课进度。写作风格:本书的写作风格是直接而又实用的。使用准确的数学语言,但没有采用过多的形式化与抽象。在数学命题中的记号和词语表达之间做了精心的平衡。数学严谨性和准确性:本书中所有定义和定理的陈述都十分仔细,这样学生可以欣赏语言的准确性和数学所需的严谨性。证明则先是动机再缓慢展开,每一步都经过了详细论证。证明中用到的公理及其所导出的基本性质在附录中均有显式描述,这呈现给学生一个清晰的概念,即在一个证明中他们能够作何种假设。本书解释并大量使用了递归定义。实例:通过许多例子阐述概念、建立不同主题之间的关联,并介绍应用。在大部分例子中,首先提出问题,然后再以适量的细节给出其解。应用:本书中所含的应用展示了离散数学在解决现实世界中的问题时的实用性。本书包含的应用涉及广泛的领域,包括计算机科学、数据网络、心理学、化学、工程学、语言学、生物学、商业和因特网。算法:离散数学的结论常常要用算法来表述,因此本书每章都介绍一些关键算法。这些算法采用文字叙述,同时也采用一种易于理解的结构化伪代码来描述。简要分析了书中所有算法的计算复杂性。关键术语和结论:每章最后列出关键术语和结论。关键术语只列出学生必须掌握的那些,而非该章中定义的每个术语。练习:书中包含很多练习题,涉及大量不同类型的问题。不仅提供了足够多的简单练习用于培养基本技能,还提供了大量的中等难度的练习和许多具有挑战性的练习。练习的叙述清晰而无歧义,并按难易程度进行了分级。练习还包含一些特殊的讨论来展开正文中没有涉及的新概念,使得学生能够通过自己的工作来发现新的想法。那些比平均难度稍难的练习用单个星号*标记,而那些相当有挑战性的练习则用两个星号**标记。需要用微积分来求解的练习也明确指出。而那些其结果要在正文中用到的练习则会明确地用指向右侧的手形符号来标识。本书最后给出了所有奇数编号练习的答案或解题纲要。解答通常包含那些大多数步骤写得很清楚的证明。复习题:每章最后都有一组复习题。设计这些问题是为了帮助学生重点学习该章最重要的概念和技术。要回答这些问题,学生必须写出较长的答案,而不是仅做一些计算或一个简答。补充练习:每章后面都有一组丰富而多样的补充练习。这些练习通常比每节后的练习难度更大些。补充练习强化该章中的概念,并把不同主题更有效地综合起来。计算机课题:每章后面还有一组计算机课题,这些计算机课题将学生在计算和离散数学中所学到的内容联系起来。对于那些从数学角度或程序设计角度来看其难度超过平均水平的计算机课题用一个星号*标记,而那些非常具有挑战性的则用两个星号**标记。计算和探索:每章的最后都有一组计算和探索性的问题。完成这些练习需要借助于现有的软件工具,如学生或教师自己编写的程序,或MapleTM或MathematicaTM这样的数学计算软件包。大部分这些练习为学生提供了通过计算来发现一些新事实或想法的机会(其中的一些练习在配套的在线练习册《探索离散数学》中也有讨论)。写作课题:每章后面都有一组写作课题。要完成这类课题学生需要参考数学文献。有些课题本质上是关于历史的,需要学生查找原始资料。有些课题则是通往新内容和新思想的途径。所有此类练习是要向学生展示正文中没有深入探讨的想法。这些课题把数学概念和写作过程结合起来,以帮助学生面对未来可能的研究领域(在线版或印刷版的《学生解题指南》中可以找到为这些课题准备的参考文献)。推荐读物:在附录后还提供了一组针对全书及各章的推荐读物。这些推荐读物包括难度不超过本书的书籍、更难些的书籍、阐述性的文章,以及发表离散数学新发现的原始文章。其中一些是多年前出版的经典读物,而另一些是在最近几年内才出版的。辅助资料《学生解题指南》:这本可以单独购买的学生手册包含了所有奇数编号练习的完整解答。这些解答解释了为什么要用某种特定的方法以及为什么这个方法管用。对于有些练习,还给出了一两种其他可能的解法以说明一个问题可以由多种不同方法来求解。本指南给出了为每章后面的写作课题推荐的参考文献,还包含撰写证明指南、离散数学学习中学生常犯错误的一般性描述,以及为每章提供的考试样例及解答以帮助学生准备考试。(ISBN-10∶0-07-735350-1)(ISBN-13:978-0-07-735350-6)《教师资源手册》:本手册在网站上有提供,教师也可以申请印刷版的。手册包含书中所有偶数编号练习的完整解答。给出了如何讲授本书每章内容的建议,包括每节中应强调的重点以及如何组织内容。手册还为每章提供了考试样例以及一个可供选择的包含1500多道考试题目的试题库。对于所有考试样例及试题库中的题目都给出了解答。最后,还给出了针对不同的侧重点以及学生能力水平的课程教学大纲样本。(ISBN-10∶0-07-735349-8)(ISBN-13:978-0-07-735349-0)致谢感谢各类学校中使用本书并向我提供有价值的反馈和有益的建议的许多教师和学生,他们的反馈才有可能使得本书更出色。特别感谢Jerrold Grossman、Jean-Claude Evard和Georgia Mederer,他们作为第7版的技术审阅,以其“鹰眼”般敏锐的目光确保了本书的准确性。我也很感激那些通过网站提交评论的人们所提供的帮助。感谢第7版以及前六版的评阅人,这些评阅人给予我许多有益的批评和鼓励,希望这一版不会辜负他们的期望。第7版评阅人Philip Barry 美国明尼苏达大学明尼阿波里斯分校Miklos Bona 美国佛罗里达大学Kirby Brown 美国皇后学院John Carter 加拿大多伦多大学Narendra Chaudhari 新加坡南洋理工大学Allan Cochran 美国阿肯色大学Daniel Cunningham 美国布法罗州立学院George Davis 美国佐治亚州立大学Andrzej Derdzinski 美国俄亥俄州立大学Ronald Dotzel 美国密苏里大学圣路易斯分校T.J.Duda 美国哥伦布州立社区学院Bruce Elenbogen 美国密歇根大学迪尔本分校Norma Elias 美国普渡大学卡鲁梅分校(哈蒙德) Herbert Enderton 美国加州大学洛杉矶分校Anthony Evans 美国莱特州立大学Kim Factor 美国马凯特大学Margaret