离散数学简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020年3月1日星期日
裘国永
13
The word “discrete” in discrete mathematics is used in the sense of “separated from each other”, the opposite of “continuous”;
It is also used in the more restrictive sense of “finite”.
主要讲集合、关系和函数.
2020年3月1日星期日
裘国永
28
组合数学
研究离散对象的计数. 随着计算机科学的日益发展, 组合数学的重要性也日渐凸显,因为计算机科学的核 心内容是使用算法处理离散数据.
2020年3月1日星期日
裘国永
12
离散数学是研究离散量的关系的一门科学.
Discrete mathematics is the part of mathematics devoted to the study of
discrete objects.
离散数学是研究离散结构的数学分科.
-- 辞海
2020年3月1日星期日
裘国永
8
CT is interpreting code as data and data as code.
CT is using abstraction and decomposition in tackling a large complex task.
CT is judging a system’s design for its simplicity and elegance.
2020年3月1日星期日
裘国永
14
离散数学是研究离散量的结构及其相互关系的数学学 科。离散数学和连续数学一样是描述、刻画现实物质 世界的重要工具.
数学方法在现代科技的发展中已经成为一种必不可少 的认识手段. 它的主要作用是为科技研究提供:(1) 简洁精确的形式化语言;(2)数量分析和计算的方法; (3)逻辑推理的工具. 人们公认高技术本质上就是数 学技术,而计算学科(即我们所熟悉的计算机科学与 技术)更是一门数学技术.
2020年3月1日星期日
裘国永
25
离散数学内容之间的关系
集合论
图论
数理逻辑
组合数学 代数结构
2020年3月1日星期日
裘国永
26
wk.baidu.com
数理逻辑
又称符号逻辑,是计算机科学重要的理论基础之一, 和计算机的发展有十分密切的关系.
它是依靠引进一个符号体系,来研究形式推理的学科. 它为自动机理论、机器证明、自动程序设计和计算机 辅助设计等提供了必要的理论基础.
的对象都是离散型的,甚至许多连续型问题也必须在
转化为离散型问题以后才能被计算机处理. 所以计算
机科学与技术本质上是一门离散数学技术.
2020年3月1日星期日
裘国永
17
离散数学的最大特点或最基本特征就在 于构造性. 因此离散数学是计算机科学 和技术的重要理论基础之一,为计算学 科各分支领域解决其基本问题提供了强 有力的数学工具,在计算机科学与技术 中有十分广泛的应用.
离散数学简介
Introduction to Discrete Mathematics
2020年3月1日星期日
裘国永
1
2020年3月1日星期日
裘国永
2
2020年3月1日星期日
裘国永
3
Learn to fail Fail to learn
2020年3月1日星期日
裘国永
4
The goals of the course: let students
2020年3月1日星期日
裘国永
15
计算学科对描述和变换信息的算法过程,包括其理论、 分析、设计、效率、实现和应用等进行系统研究. 它 涉及计算过程的分析以及计算机的设计和使用,从算 法与可计算性的研究到可计算性硬件和软件的实际实 现问题的研究.
2020年3月1日星期日
裘国永
16
能行性 effectiveness
2020年3月1日星期日
裘国永
6
Computational thinking will be a fundamental skill used by everyone in the world by the middle of the 21st Century,just like reading, writing, and arithmetic.
can read it?
2020年3月1日星期日
裘国永
20
What is the shortest path between two cities using a transportation system?
What can a list of integers be sorted so that the integers are in increasing order?
2020年3月1日星期日
裘国永
21
用一组基本的指令来编制一个计算机程 序,非常类似于从一组公理来构造一个 数学证明.
-- D.E.Knuth
编程大师、1974年图灵奖获得者
2020年3月1日星期日
裘国永
22
离散数学是计算科学各专业最重要的基 础课程之一.
2020年3月1日星期日
裘国永
23
计算学科的根本问题是:什么能(有效地)自动进行,
什么不能(有效地)自动进行. 即它的核心问题是“能
行”问题. 而只有那些采用构造性数学描述方法的模
型才是能行的,凡是与“能行性”有关的讨论,都是
处理离散对象的. 因为非离散对象(即连续对象),是
很难进行“能行”处理的. 因此,“能行性”这个计
算学科的根本问题决定了计算机本身的结构和它处理
计算思维是运用计算机科学的基础概念 进行问题求解、系统设计、以及人类行 为理解等涵盖计算机科学之广度的一系 列思维活动。
2020年3月1日星期日
裘国永
7
Some Examples of CT
How difficult is this problem and how best can I solve it? – Theoretical computer science gives precise meaning to these and related questions and their answers.
CT is thinking recursively.
CT is reformulating a seemingly difficult problem into one which we know how to solve. – Reduction, embedding, transformation, simulation
计算学科各专业的学生学习离散数学, 一方面为学习各专业课程作必要的数学 准备,另一方面,培养和训练他们掌握 使用数学语言或符号系统处理问题的基 本方法.它还能帮助培养学生的逻辑推理 能力、抽象思维能力和形式化思维能力.
2020年3月1日星期日
裘国永
24
教学内容
数理逻辑(Mathematics Logic) 集合论(Set Theory) 组合数学(Combinatorics) 图论(Graph Theory) 代数结构(Abstract Algebra)
Think like a computer scientist- computing thinking(计算思维)
2020年3月1日星期日
裘国永
5
It is critical for computer science students to think logically. Essentially, a logical bug-free computer program is equivalent to a logical proof.
2020年3月1日星期日
裘国永
18
IEEE-CS和ACM联合组成的任务组于2001年12 月提交的CC2001将计算学科划分为14个主领域 (离散结构、程序设计基础、算法与复杂性、数据结 构、操作系统、网络计算、程序设计语言、人机交互、 图形学与可视化计算、智能系统、信息管理、软件工 程、社会和职业的问题和科学计算),离散数学从预 备知识部分独立出来,列为学科的第一个主领域,以 强调计算学科对它的依赖性.
CT is modularizing something in anticipation of multiple users and prefetching and caching in anticipation of future use.
2020年3月1日星期日
裘国永
10
为什么在用计算机去解决问题时运用计算思维非常重 要?
What is the probability of winning a lottery? Is there a link between two computers in a network? How I can identify spam e-mail messages? How can I encrypt a message so that no unintended recipient
主要讲命题逻辑和谓词逻辑两部分.
2020年3月1日星期日
裘国永
27
集合论
现代数学的基础,是数学中不可或缺的基本描述工具. 集合论的概念已深入到现代科学的各个方面,成为表 达各种严谨科学概念必不可少的数学语言.
不仅可以用来表示数及其运算,更可以用于非数值信 息的表示和处理,因此它和计算机科学及其应用有极 其密切的关系.
How many steps are required to do such a sorting? How can it be proved that a sorting algorithm correctly
sorts a list? How can a circuit that adds two integers be designed? How can valid Internet addresses are there?
Learn a particular set of mathematical facts and apply them (mathematical maturity: ability to understand and create mathematical arguments)
Think logically and mathematically (mathematical reasoning, algorithmic thinking)
例1 数学中的“=”与编程语言中的“=”(赋值)
2020年3月1日星期日
裘国永
11
例2 1996 年6月4日,欧洲宇航局的阿里亚那5号火箭 (Ariane 5)在发射37秒后,偏离轨道,不得不自爆炸毁。 虽然万幸无人伤亡,但直接经济损失达3亿7千万美元。
事后发现,问题出在负责测量发射装置高度及其在空中的 运动状态的惯性制导参考系统(SRI)所使用的计算机软件 的一行代码上,这一行代码的作用是将数据从64 位浮点 数到16位有符号整数值。但要转换的浮点数的大小大于 16位整数的表达能力,从而导致了异常(arithmetic overflow)。本来应该在数据转换过程中为可能产生的 运算符错误设置保护装置,但没有这样做,从而成就了历 史上有名的一个computer bug。
2020年3月1日星期日
裘国永
9
CT is type checking.
CT is prevention, detection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction.
2020年3月1日星期日
裘国永
19
The kinds of problems that can be solved using discrete mathematics are:
How ways are there to choose a valid password on a computer system?