离散数学-前言2013下.ppt
《离散数学-前言2013下.ppt》由会员分享,可在线阅读,更多相关《离散数学-前言2013下.ppt(74页珍藏版)》请在三一办公上搜索。
1、离 散 数 学,中国石油大学(华东),计算机与通信工程学院计算机科学系,2023年11月16日星期四,引 言,离散数学是现代数学的一个重要分支,是计算机类专业的重要课程。它以研究离散量的结构及其相互间的关系为主要目标,其研究对象一般是有限个或可数个元素,因此离散数学可以充分描述计算机学科离散性的特点。由于离散数学在计算机科学中的重要作用,国内外几乎所有大学的计算机类专业的教学计划中都将其列为核心课程进行重点建设,它是其他骨干课程,如数据结构、操作系统、人工智能、计算机网络、软件工程、编译原理等的先修课程,国内许多大学将其作为计算机专业类研究生入学考试的内容。,引 言,为什么离散数学在计算学科的
2、知识掌握中有着举足轻重的意义呢?,?,引 言,1.计算学科的概念2.计算科学与数学的关系3.计算学科与离散数学的关系4.离散数学课程概述5.离散数学与计算机软件6.离散数学在国外的状况7.关于离散数学的一些应用8.如何学习离散数学,1.计算学科的概念,计算学科(Computing Science)即我们所熟悉的计算机科学与技术及相关学科的简称。计算学科是对描述和变换信息的算法过程,包括其理论、分析、设计、效率分析、实现和应用等进行的系统研究的一门学科。它涉及计算过程的分析如可计算性、算法,研究有关计算机的各种现象、揭示其规律与本质如计算机的设计和使用、可计算性硬件和软件的实际实现问题。,1.计
3、算学科的概念,计算学科的基本问题是能行与效率的问题,即它的核心问题是“能行”问题(Practicability):1)什么是(实际)可计算的?什么是(实际)不可计算的?2)如何保证计算的自动性、有效性及正确性?,1.计算学科的概念,计算学科作为现代技术的标志,已成为世界各国经济增长的主要动力。但如何认识这门学科,它究竟属于理科还是工科,属于科学还是属于工程的范畴,这是困扰国内外计算机科学界很长时间且争论不休的问题。计算学科诞生于20世纪40年代初,它的理论基础可以说在这之前就已经建立起来了。正是电子数字计算机的问世才促进这一门学科的发展。,1.计算学科的概念,世人一般公认1946年2月14日研
4、制成功的ENIAC(电子数字积分器和计算器,Electronic Numerical Integrator and Calculator)是世界上第一台通用电子数字计算机(事实上,早在1943年,英国数学家图灵领导制造出了一台名叫“巨人”(Colossus)的电子计算机,它专门用于译码。由于英国政府的保密制度,故人们对它的成就了解甚少)。美国的普渡大学于1962年开设了最早的计算机科学学位课程。,1.计算学科的概念,在计算机产生之初及随后的一、二十年时间里,计算机主要用于数值计算。大多数科学家认为使用计算机仅为编程问题,不需作任何深刻的科学思考,计算机从本质上说是一种职业而一门学科。到了20世
5、纪70、80年代,计算技术得到了迅猛的发展和广泛的应用,并开始渗透到大多数科学领域。这时人们普遍争论的问题是:计算机科学是否作为一门学科?它是科学还是工程?它属于理科还是工科?或者只是一门技术、一个计算商品的研制者或销售者?,1.计算学科的概念,1985年春,ACM(美国计算机协会)和IEEECS(国际电子电气工程师学会计算机分会)组成联合攻关小组,开始了对“计算作为一门学科”的存在性证明。1989年1月,该小组提交了计算作为一门学科(Computing as a discipline)的报告。第一次给出了计算学科一个透彻的定义,回答了计算学科中长期以来一直争论的一些问题,完成了计算学科的“存
6、在性”证明,还提出了未来计算科学教育必须解决的二个重大问题整个学科核心课程详细设计及整个学科综述性导引课程的构建。1991年,在这报告的基础上提交了关于计算学科教学计划CC1991(Computing Curricula 1991)。2001年12月,提交了最终的CC2001报告。,1.计算学科的概念,计算作为一门学科报告及CC1991、CC2001一起解决了三个重要问题:第一个重大问题(计算作为一门学科的存在性证明)的解决。对学科本身的发展至关重要。如果在众多分支领域都取得了重大成果并已得到广泛应用的“计算”,连作为一门学科的地位都不清楚,那么它的发展势必要受到很大的限制。,1.计算学科的概
7、念,第二个重大问题(整个学科核心课程详细设计)的解决,将为高校制定计算机教学计划奠定基础。确定一个公认的本科生应该掌握的核心内容,将避免教学计划设计中的随意性,从而为我们科学地制定教学计划奠定基础。,1.计算学科的概念,第三个重大问题(整个学科综述性导引课程的构建)的解决,将使人们对整个学科的认知科学化、系统化和逻辑化。如果人们对计算学科的认知能建立在公理化的基础之上,则该学科可被认为是严谨的科学、成熟的学科,从而有助于它的发展,并将由此而得到人们的尊重。,1.计算学科的概念,攻关小组的结论是:计算学科所研究的根本问题是能行问题(什么能被(有效地)自动进行)。计算学科的基本原理已纳入理论、抽象
8、和设计这3个具有科学技术方法意义的过程中。学科的各分支领域正是通过这3个过程来实现它们各自的目标。而这3个过程要解决的都是计算过程中的“能行性”和“有效性”问题。这两个问题渗透在包括硬件和软件在内的理论、方法、技术的研究和应用的研究和开发之中,且学科的方法论的主要理论基础以离散数学为代表的构造性数学与能行性问题形成了天然的一致。,2.计算科学与数学的关系,数学是现代科学的重要基础,当然也是计算科学的主要基础。数学方法在现代科技的发展中已经成为一种必不可少的认识手段。它的主要作用是为科技研究提供:(1)简洁精确的形式化语言;(2)数量分析和计算的方法;(3)逻辑推理的工具。人们公认高技术本质上就
9、是数学技术,而计算学科(即我们所熟悉的计算机科学与技术)也离不开数学。,2.计算科学与数学的关系,从数学的角度出发,数学本身可分为连续数学和离散数学。离散和连续是现实世界中物质运动对立统一的两个方面,离散数学和连续数学是描述、刻画现实物质世界的重要工具。最早的数学本质上是一种离散型的数学,但随着微积分的出现,对整个数学的研究发生了深刻的影响。人们以一种连续的观点研究数学,描述自然科学研究中的各种具体问题,从而形成了现在占统治地位的连续数学。,2.计算科学与数学的关系,随着现代科学技术的发展,特别是计算机科学技术的兴起,离散数学又重新找到了它自己原有的位置。“能行性”这个计算学科的根本问题决定了
10、计算机本身的结构和它处理的对象都是离散型的,甚至许多连续型问题也必须在转化为离散型问题以后才能被计算机处理。所以计算机科学与技术本质上是一门离散数学技术。,2.计算科学与数学的关系,在计算科学中,无论是理论研究还是技术研究的成果,最终目标要体现在计算机软件产品的程序指令系统应能机械地、严格地按照程序指令执行,决不能无故出错。计算机系统的这一客观属性和特点决定了计算机的设计、制造、以及各种软件系统开发的每一步都应该是严密的、精确无误的。就目前基于图灵机这一理论计算模型和存储程序式思想设计制造的计算机而言,它们只能处理离散问题或可用构造性方式描述的问题,而且这些问题必须对给定的论域存在有穷表示。,
11、2.计算科学与数学的关系,至于非离散的连续性问题,如实数域上的函数计算,方程求根等还只能用近似的逼近方法。于是,由于计算模型的非连续性特点,使得以严密、精确著称的数学尤其是以离散数学为代表的应用数学成为描述计算学科理论、方法和技术的主要工具。数学与电子科学(特别是微电子技术)构成了计算学科的基础。,2.计算科学与数学的关系,与数学相比,电子技术的重要性对计算科学而言不如数学,因为数学提供了计算科学最重要的学科思想和方法论基础,而电子技术只提供了电子计算机的实现技术,它仅仅只是对计算科学许多思想和方法的一种当前最现实、最有效的实现技术手段而已。当科学技术的手段提到发展时,完全有可能有某一项新技术
12、归结为有效地取代电子技术(如光技术、生物技术等等),但计算科学的数学基础可能变化不大。,2.计算科学与数学的关系,从事计算科学的人都知道,计算科学中不仅许多理论是用数学描述的,而且许多技术也是用数学描述的。大多数计算科学理论不仅仅是对研究对象变化规律的陈述,而且由于能行性这一本质的核心问题和特点的作用,理论描述中常通过方法折射出技术的思想和步骤,而从理论通过方法跨越到技术则完全取决于理论的深刻认识和理解。一个人如果看懂了以形式化方法描述的技术文献,自然明白技术上应该怎样去做。,2.计算科学与数学的关系,至于计算机技术专业的学生为何要学习数学这个问题的答案,了解了上面所讲的计算学科与数学的关系后
13、就不言而喻了:计算机科学植根于数学,从而数学是必须掌握的基础知识;另外如果我们已经拥有牢固的数学基础,则能大大提高我们本身的逻辑推理能力、抽象思维能力和形式化思维能力,从而今后在学习任何一门计算机科学的专业主干课程时,都不会遇上任何思维理解上的困难。,3.计算学科与离散数学的关系,(1)从计算机科学学科发展的需要看离散数学的地位。20世纪的计算机出现,带动了世界性的信息革命的伟大进程。计算机科学在信息革命中的学科地位有如牛顿力学在工业革命中的学科地位一样,由计算机出现带动的信息革命当然计算机科学将起着主导的作用。,3.计算学科与离散数学的关系,当前计算机科学在发展过程中面对着如下两个问题:一是
14、信息革命要求计算机科学要将计算机的应用扩大到包含所有的问题领域和深入到每个问题领域的深处而越来越细致越来越复杂;二是一旦让计算机去解决问题,那么计算机应自动地在有限和有效的时间内得出解。前者指出计算机科学的任务就是要用计算机的硬件、外设和软件构成一个系统,使得许多不同领域的问题都能在这样的计算机系统中得到解决。为了完成这个任务,就必须用一种符号语言构成一个包括了不同领域的通用模型。,3.计算学科与离散数学的关系,离散数学就是指出构成一个包括了不同领域的通用模型的思维方法,并且告诉我们怎样用不同的语言(符号语言、图形语言、逻辑语言等)从最简单的对象(集合)出发表示通用模型。后者指出计算机科学必须
15、了解让计算机去解决问题在通用模型中的结构,由于要求在有限和有效时间内计算机自动完成,那么问题求解的方法必然是构造性的,所了解的结构必然是一种离散结构。离散数学中的求解问题的方法就是基于离散结构的构造性思维方法。,3.计算学科与离散数学的关系,从离散数学的基本内容和计算学科的发展情况来看,许多计算学科的问题,都可以在离散数学的范围中表达,都可以试验抽象为离散数学的问题,不能否认离散数学在较通用的层面上描述了计算学科所表现出来的信息革命的许多模型,为现代计算学科的发展和应用提供了理论基础。从学习的角度来看,离散数学的思维方法能够为计算机科学所用,“离散数学能够使我们在更高的高度去了解和学习计算机科
16、学”。,3.计算学科与离散数学的关系,因此可以说高等数学将大家从中学的传统的欧基里德的思维方式带进高等教育的基于工业革命的学科表达语言的富于创造性的思维方式,而离散数学将大家带进信息革命的学科表达语言中去发展和创造具有时代特点的先进的思维方式。,3.计算学科与离散数学的关系,(2)从计算机科学学生能力角度培养的看离散数学的作用。计算机出现的五十多年间,人们追求着和出现了许多计算机信息革命带来的信息产品,但是信息产品受工业产品的观念上的影响,使得计算机科学的学科发展带来了偏差,使得整个学科的发展都是“软件跟着硬件走”。我们不能将自己的学生培养成计算机系统的奴隶,而应该培养成计算机系统的主人,我们
17、的学生不能给计算机系统所塑造,将他们变成计算机,而是教育学生怎样地塑造计算机系统。,3.计算学科与离散数学的关系,在计算机科学知识掌握的过程中应是“硬件跟着软件走,软件跟着模型走,模型跟着学科实际应用走;学科实际应用跟着自然走”。而最主要的培养环节应该是软件跟着模型走,模型跟着学科实际应用走。关于学生的培养目标就是要培养自己的学生能够根据实际应用问题提出计算机应用的模型,并用硬件和软件资源去构造计算机系统去完成模型中所提出来的工作。,3.计算学科与离散数学的关系,因此,我们的学生需要如下三个方面的能力:构造模型的能力;算法设计的能力;程序设计的能力。所谓构造模型的能力就是在通用的语言(例如数量
18、代数和非数量代数的语言、符号逻辑语言、数理统计语言等)中构造解决实际问题的模型的能力。换言之,用通用语言关于现实需要计算机求解的实际问题进行编码,使现实需要计算机求解的实际问题描述成领域性模型(如管理模型、控制模型、推理模型、学习模型等),离散数学中的大部分内容是讨论构造或生成领域性模型的基本方法。,3.计算学科与离散数学的关系,所谓算法设计的能力是应用计算机的基本能力,也是计算机应用学科的计算机应用基础和应用技术的一个基本问题。让计算机来解决问题,目前人们不仅要告诉计算机需要做什么?而且还要告诉计算机怎样做?当领域性模型化为计算机能懂的计算模型后,将需要计算机解决的问题写成规划过程告诉计算机
19、做什么和怎样做,使得计算机根据这个规划各步骤能自动地得到问题的解,这种规划就是解决这个问题的算法。算法过程的控制是算法设计的关键,它决定算法的存在性和算法的效率。算法过程的控制是由计算模型的结构来决定的。离散数学中所讨论的离散结构(例如偏序结构、良序结构、群、环、域、各种代数格、置换、范畴等)以及这些结构的同态、同构等,在算法设计中都起着重要的作用。,3.计算学科与离散数学的关系,(3)关于计算机科学的思维方法看离散数学的思维训练。既然我们要作为计算机系统的主人去塑造能满足实际应用的计算机系统,那么怎样塑造计算机系统呢?去塑造计算机系统需要什么样的思维方法呢?,3.计算学科与离散数学的关系,首
20、先,计算机系统要解决的问题并不是个别的问题,也并不是某个领域上的特殊问题,要解决某个领域的所有能用计算机进行计算的问题,因此,关于计算机科学的思维方法必须是在足够通用的层面上的思维方法。如果所掌握或所习惯的思维方法仅限制在是某些特殊的领域,那么,随着计算机应用的不断扩大和计算机信息革命的不断扩大,将会使得思维的方法带有很大的局限性。当然,最通用的层面是自然层面,然而,自然层面上的对象还不能为现代计算机(现代计算模型)所了解。因为,我们选择塑造计算机系统的层面既带有最大的通用性,又能为现代计算机系统所了解的层面。在现代计算技术的支持下,这个层面就是符号处理层面。,3.计算学科与离散数学的关系,其
21、次,我们是要去塑造计算机系统,我们的所有思维都要立足于能“塑造”性,因此,思维的可构造性,即在考虑构成计算机系统的所有对象都必须能够有某种方法在有限的时间内构造出来。因此塑造计算机系统的基本思维是构造性思维。,3.计算学科与离散数学的关系,再其次,构造性思维建立在怎样的结构上,换言之,找寻满足构造性思维的对象结构。换言之,找寻满足构造性思维的对象结构。显然在连续结构上是很难进行构造性思维的,在连续结构上存在着不能用符号完全表示的对象。例如,一个无理数它不能用0,1,2,3,4,5,6,7,8,9完全表示出来。因为计算机只认识符号,所以塑造计算机系统的构造性思维在某种离散结构上进行。因此,计算机
22、科学的基本思维是在符号处理的通用层面上的基于离散结构的构造性思维。离散数学就是在符号处理的通用层面上讨论满足构造性思维的离散结构。,4.离散数学课程概述,离散数学,又称为组合数学。离散数学是计算机出现以后迅速发展起来的一门数学分支。计算机科学就是算法的科学,而计算机所处理的对象是离散的数据,所以离散对象的处理就成了计算机科学的核心,而研究离散对象的科学恰恰就是离散数学。离散数学的发展改变了传统数学中分析和代数占统治地位的局面。,4.离散数学课程概述,离散数学不仅在基础数学研究中具有极其重要的地位,在其它的学科中也有重要的应用,如计算机科学、编码和密码学、物理、化学、生物等学科中均有重要应用。微
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散数学 前言 2013

链接地址:https://www.31ppt.com/p-6595602.html