45
集集集集集集 Set Theory and Graph Theory 集集 集集集 集集 / 集集 / 集集集集集 / 集集 集集 集集 集集集 集集集 808 集集集集86403492-808 集集13936168008 email [email protected] 集集集集http://www.icourses.cn/coursestatic/course_5979.html 集集http://blog.hit.edu.cn/jsx 集集集集:??? 集集集集:??? School of Computer Science & Technology Harbin Institute of Technology

集合论与图论 Set Theory and Graph Theory

Embed Size (px)

DESCRIPTION

School of Computer Science & Technology Harbin Institute of Technology. 集合论与图论 Set Theory and Graph Theory. 主讲: 姜守旭 博士 / 教授 / 教学带头人 / 博导 助教:冯诚 办公室:综合楼 808 办公电话: 86403492-808 手机: 13936168008 email : [email protected] 课程网站: http://cst.hit.edu.cn/sng/ 博客: http://blog.hit.edu.cn/jsx - PowerPoint PPT Presentation

Citation preview

Page 1: 集合论与图论 Set Theory and Graph Theory

集合论与图论Set Theory and Graph Theory

主讲: 姜守旭 博士 / 教授 / 教学带头人 / 博导助教:李凯办公室:综合楼 808 办公电话: 86403492-808手机: 13936168008email : [email protected]课程网站: http://www.icourses.cn/coursestatic/course_5979.html

博客: http://blog.hit.edu.cn/jsx

答疑地点:???答疑时间:???

School of Computer Science & Technology Harbin Institute of Technology

Page 2: 集合论与图论 Set Theory and Graph Theory

1. 探究教育的本质 “教育就是当你把所学的东西都忘掉后,最终剩下的东西! ”

“最终剩下的东西就是一个人的创新意识和学习能力。”

因此,我们应把教与学的着眼点集中在掌握科学基础知识和训练创新能力上,着重培养科学的思维方法,把知识传授与能力培养融为一体,激发学生的好奇心和创造性。

Page 3: 集合论与图论 Set Theory and Graph Theory

1. 探究教育的本质 学而问,问而思,思而行,行而果,这就是创新。

创新能力的获得没有固定的方法,但可以引导与训练 关键是怀疑与发问,教学与学习都是这样 每一个知识点的介绍、每一种方法的引出、每一个定理的证明…都应该首先弄清其背景,为什么要学?是为了解决什么问题?当初是怎么想出来的?为什么是正确的 / 有效的?怎么证明?还有更好的方法吗?……

Page 4: 集合论与图论 Set Theory and Graph Theory

1. 探究教育的本质 学习能力的培养相对简单

关键是习惯的养成与资料的获取 除了教材之外,关键要学会如何获取扩展的资料( google/baidu )

经典的图书 校图书馆的电子资源:相关的会议与刊物 相关的研究群体的个人主页 ……

Page 5: 集合论与图论 Set Theory and Graph Theory

2. 了解学科 / 专业的特点与要求

设计理论抽象学科形态

绑定、大问题复杂性、概念和形式模型、一致性和完备性、效率、演化、抽象层次、按空间排序、重用、安全性、折衷与决策、按时间排序

核心概念

数学方法 系统方法基本方法学科方法学

基本知识体系

知识领域 计算机科学 / 计算机工程 / 软件工程 / 信息技术 / 其他14:DS/AL/AR … 18:ALG/CAO/DIG… 10:CMP/FND/DES … 12:ITF/HCUI…

基 本 技 术、基 本 工 具、新 技 术、新 工 具技术

Page 6: 集合论与图论 Set Theory and Graph Theory

2. 了解学科 / 专业的特点与要求

核心是抽象思维与逻辑思维能力的训练 本学科的基本教育原理——抽象第一 抽象思维能力的培养比较难,需要反复训练,其目的是学会表示事物,关键是离散化、符号化、形式化、模型化的训练

逻辑思维能力的培养相对简单一些,其目的是学会描述各种处理流程,关键是编程的训练,开始学习计算机专业时有相当一部分人存在编程障碍

Page 7: 集合论与图论 Set Theory and Graph Theory

2. 了解学科 / 专业的特点与要求

我们的培养目标 掌握计算机科学与技术专业的基础理论和专门知识,具有科学研究和担负专门技术工作的初步能力,具备抽象思维、逻辑思维能力和系统观,具有创新精神和实践能力的高级人才。

毕业后可在科研院所、企事业单位和行政管理部门从事计算机方面的科学研究、技术开发及管理工作;有相当一部分学生可以继续攻读计算机科学与技术学科及相关学科的硕士学位。

Page 8: 集合论与图论 Set Theory and Graph Theory

2. 了解学科 / 专业的特点与要求

专业所需的具体能力 计算思维能力 算法设计与分析能力 程序设计与实现能力 系统分析、开发与应用能力 表达与沟通能力 组织、协调与项目管理能力 英语理解与交流能力 自学能力 独立思考与创新能力

Page 9: 集合论与图论 Set Theory and Graph Theory

2. 了解学科 / 专业的特点与要求

了解相关课程的前后依赖关系 基础理论系列 硬件系列课程 软件系列系列 ……

前面的课程为后面的课程做好铺垫、后面的课程要利用前面课程所学的知识

Page 10: 集合论与图论 Set Theory and Graph Theory

3. 理解课程的目的与目标 理解课程的目的及其对培养目标的贡献

本课程的目标是通过理论学习,为计算机科学与技术专业的后继课及将来科学研究提供必要的相关数学知识,提供建立离散系统的数学模型的数学描述工具;使学生正确地理解概念,正确地使用概念进行推理,养成一个好的思维习惯,理解理论与实践的关系;引导学生观察生活、社会和大自然,分析事物间的联系,建立系统的模型,解决和提出其中的科学问题或应用问题。

Page 11: 集合论与图论 Set Theory and Graph Theory

23/4/19 11

课程性质 48 学时 是一门专业基础课,本专业最重要的课程

之一 需要一些工科数学分析、线性代数的知识 是数学 ( 离散数学 ) 的一部分,数学首先是一些工具,其次是一门语言,最后还是一种素养

Page 12: 集合论与图论 Set Theory and Graph Theory

集合论与图论是数学的一部分 “对于大自然这本奥秘无穷的书,我读不懂”。 ──莎士比亚《安东尼和克里奥帕特拉》( 1564—1616 )

“如果不理解它的语言,没有人能读懂宇宙这本伟大的书,它的语言就是数学”。

──伽里略( 1564—1642 )

“在任何特定的理论中,只有其中包含数学的部分才是真正的科学”

──康德( 1724—1804 )

Page 13: 集合论与图论 Set Theory and Graph Theory

集合论与图论是数学的一部分 “一门科学,只有当它能够运用数学时,才算真正发展了。”

──马克思( 1818—1883 )

数学不专属自然科学,也不专属社会科学,更不专属于文学艺术。它是一种宇宙语言,为一切文明生物共有、共享。

Page 14: 集合论与图论 Set Theory and Graph Theory

23/4/19 14

主要内容 工大 80年开始将离散数学分成三门课:

集合论与图论、近世代数、数理逻辑 集合论

集合及其运算、映射及其合成、关系及其运算、无穷集合及其基数。

图论 图的一些基本概念、一些特殊的图、树及其

性质、割点和桥、连通度、平面图、图的着色、有向图。

Page 15: 集合论与图论 Set Theory and Graph Theory

教学目的 该课程的设置主要是为了培养学生的抽象思维和逻辑推理能力,提高学生分析问题和解决问题的能力,提高学生的数学修养及计算机科学素质。

本课程为后继的专业基础课及专业课提供必要的数学工具,为描述离散模型提供数学语言。 要想用计算机解决问题就要为它建立数学模型,即描述研究对象及对象与对象之间的联系,并通过事物之间的联系找出事物的运动规律。

集合论与图论为此提供了强有力的描述工具与推理理论。

23/4/19 15

Page 16: 集合论与图论 Set Theory and Graph Theory

基本思想 我们从“集合”这个基本概念开始建立集合理论。就某种观点来看,“集合”与“性质”是同义词,是基本概念之一。

集合用来描述事物的性质—我们的研究对象,

映射用来描述事物之间的联系—运算、关系,从而为集合建立了结构。

于是,为建立系统的数学模型提供了数学描述语言—工具,代数系统就是引入运算以后的集合。

Page 17: 集合论与图论 Set Theory and Graph Theory

基本思想 集合论又提供了研究数学模型的性质,发现新联系的推理方法,从而找出事物的运动规律。

图论是上述思想的一个具体应用,事实上,图论为任何一个包含了一种二元关系的系统提供了一个数学模型;部分地,也因为使用了图解式表示方法,图就具有一种直观的和符合美学的外形。

在图论中,许多结果是初等的,但也有大量的十分复杂的问题可以难倒最老练的数学家。

Page 18: 集合论与图论 Set Theory and Graph Theory

在计算机专业中的意义 能形式化就能自动化。 对计算机专业而言,形式化尤为重要。利用形式化描述给程序设计提供了方便,从而实现了自动化。

Page 19: 集合论与图论 Set Theory and Graph Theory

在计算机专业中的意义 集合论可以看成一种通用语言,一切必要的数据结构都可以由集合这个原始的数据结构而构造出来。

实际上,数学发展的历史可以看成是一个煞费苦心或精心制成的数据结构。首先,我们有整数,然后有有理数、代数数,在经过一阵斗争以后,我们有实数、复数、函数的一般概念等等。最后,人们终于明白开头所说的思想,计算机科学家或许可以利用这个经历。

其次, 19世纪后半期,数学家把函数定义为笛儿乘积的子集,从而把函数视为集合,这是严格的。但对计算机科学家是不合适宜的,他们更喜欢用规则来定义函数。

Page 20: 集合论与图论 Set Theory and Graph Theory

在计算机专业中的意义 集合论是数学的基础,也是计算机科学的基础。集合论和图论是算法与数据结构、形式语言与自动机、数据库原理、计算的复杂性理论等课的先修课。而图论的基本知识则将始终陪伴我们,直到……。

数学要教会人如何进行逻辑推理,如何进行正确的抽象思维,如何在纷繁的事物中抓住主要的联系,并如何使用明确的概念,等等。这对计算机技术及应用也是至关重要的,在其他任何领域同样重要。

Page 21: 集合论与图论 Set Theory and Graph Theory

计算机系

硬件

软件

组成原理

电子技术

体系结构

数字逻辑电路

电路原理 大学物理

计算机网络接口与通讯技术

通讯概论 安全与保密

程序设计语言

汇编语言

高级语言编译原理 计算理论

C 、 C ++、 JAVA、 PB 、 VB…

系统软件 操作系统 DOS、 Windows 、 UNIX

…数据库 Access、 Sybase 、 Or

acle…数据结构

人工智能

应用软件开发

离散数学:

软件工程算法设计与分析

集合

函数

代数结构

格与布尔代数

图论

形式语言与自动机

数理逻辑

二元关系

Page 22: 集合论与图论 Set Theory and Graph Theory

本课程的特点 自给自足,不需要预先的知识准备。学习本课的前提实在仅仅是不可捉摸的所谓“数学上的成熟”。

概念多,但都有实在的具体的实物背景,最后要落实到抽象的定义上,概念是第一位的。

Page 23: 集合论与图论 Set Theory and Graph Theory

本课程的特点 作为一门数学课,与以往不同的是以证明为主而不是以计算为主。因此,要学会证明技术,学会分析问题和解决问题的思想方法。它能培养你诚实!

与计算机科学 / 技术联系紧密,是最常用、最有用的数学内容之一。

没有什么公式要你背。需要的仅是智力上的成熟并乐意进行独立思考!

Page 24: 集合论与图论 Set Theory and Graph Theory

23/4/19 24

教学要求——课程要求 掌握集合论与图论的基本概念、基本原理、

基本方法等基本知识,并且对其具有比较全面、系统的认识和正确的理解;

掌握运用基本知识进行推理的初步能力,并能将其应用到计算机科学领域内,分析和处理一些基本问题;

掌握常用的证明方法:直接证明法、反证法、数学归纳法、构造法等,具有一定的抽象思维和逻辑思维能力,达到知识、能力、素质的协调发展。

Page 25: 集合论与图论 Set Theory and Graph Theory

教学要求——考试要求 题型

选择、填空、判断、简答、证明、论述、设计、计算等

重点和难点 会在各章的开始点明

考试权重 平时成绩 10% 作业占 10% 期末考试占 80%

考前答疑 考试前两天

23/4/19 25

Page 26: 集合论与图论 Set Theory and Graph Theory

教学方法 “只有学生能理解的定义才是令人满意的。” —Poincaré于 1909年

讲清概念的背景,最好先从具体的实例出发,直观地给出实在的东西,然后推广或抽出本质得到抽象概念。没有抽象就没有科学!

“从具体到抽象是数学发展的一条重要大道,因此具体例子往往是抽象概念的源泉,而所用的方法也往往是高深数学里所用的方法的依据。

仅仅熟读了抽象的定义和方法而不知道他们具体来源 ( 从抽象回到具体 ) 的数学工作者是没有发展前途的,这样的人要搞深刻研究是可能会遇到无法克服的难关的”。——华罗庚:《数论导引》

23/4/19 26

Page 27: 集合论与图论 Set Theory and Graph Theory

教学方法 “难处不在于有公式去证明,而在于没公式之前,怎样去找出公式”。——华罗庚

总之,教育的目的或重点是理解概念、理解方法、理解定理。而今应多一个就是怎样分析、处理这众多的信息以达到思考它、理解信息,从中获取知识,增长智慧,创造生活。

23/4/19 27

Page 28: 集合论与图论 Set Theory and Graph Theory

教学方法 证明、解题:发现解法

已知的事物和要求的事,已知量和未知量,假设和结论,在原先开始时隔开的事物和想法,我们就是要在这原先是隔开的事物或想法之间找出联系。

被联系的事物原来离得越远,联系的发现者的功绩也就越大。有时我们发现这种联系就象一座桥:一个伟大的发现使我们强烈地觉得象是在两个离得很远的想法的鸿沟间架上了桥。我们常常看到这种联系是由一条链来贯穿的:一个证明象是一串论据,象是一条由一系列结论组成的链,也许是一条长链。这条链的强度是由它最弱的一环来代表的。因为哪怕是只少了一环,就不会有连续推理的链,也就不会有有效的证明。对于思维上的联系,我们更经常使用线索这个词。

23/4/19 28

Page 29: 集合论与图论 Set Theory and Graph Theory

教学方法 瞻前顾后

站在新的概念、理论、方法和观点看已学过的知识(在这里是微积分、线性代数、概率论、 C 程序设计语言等)有时会更清楚,显得简单,理解会更深刻;

我们也将随时指出本课的内容在计算机专业中的应用,特别是在后继课──数据结构与算法、形式语言与自动机、编译、数据库原理、计算复杂性理论等中的应用。但不能详述,目的是告诉你现在值得花点精力学它。

23/4/19 29

Page 30: 集合论与图论 Set Theory and Graph Theory

教学方法 基本概念必须抽象化

要问当作实体的这些对象是什么,这是没有意义的,即使是有的话也不可能在数学范围内得到解决。所有适合它们的论断都不涉及到这些实体的现实,而只说明数学上“不加定义的对象”之间的相互关系以及它们所遵循的运算法。“可验证”的事实只是结构和关系。

不要期望百分之百地听懂每个细节,某些细节应独立思考自己弄懂,这才会使你愉快。

23/4/19 30

Page 31: 集合论与图论 Set Theory and Graph Theory

学习方法 基于问题的学习( What-Why-hoW )

学习要以思考为基础 一般的学习只是一种模仿,而没有任何创用 思考由怀疑和答案组成,学习便是经常怀疑,经常随时发问。怀疑是智慧的大门,知道得越多,就越会发问,而问题就越多。所以,发问使人进步,发问和答案一样重要。

基础知识是研究的工具 在独立思考之前,必须先有基础知识。所谓“获得基础知识”并不是形式上读过某门课程,而是将学过的东西完全弄懂 ( 什么叫做精通 C 语言? ) 。

学习中,概念是第一位的,概念的背景(直观原型)、抽象定义的内涵和外延要准确,应用时才能自如。

23/4/19 31

Page 32: 集合论与图论 Set Theory and Graph Theory

学习方法 要敢于犯错误

学习的一种方法,经常还是唯一的方法,就在于首先犯错误。我们在学习,多数时间在通过犯错误学习。

教学、学习是一个过程 是毛毛雨,需不断地滋润 教师在传授知识和技术的过程中,偶尔会传授教训, 但这种教训如果没有经过你的亲身体验,不会变成有用的经验。

知识没有教训作为根基,只能是纸上谈兵。 上课、读书、复习、做作业、讨论、做实验、自己编程序、上机调试排错…是绝对必要的

那种抄别人作业、考试作弊、不上课不看书,……是没有希望的。一个作弊的民族怎么可能进步和强大呢?

提倡学习中互相讨论、辩论、提出不同的方法。 23/4/19 32

Page 33: 集合论与图论 Set Theory and Graph Theory

学习方法 记住,数学以及其他理论学科的书,不能读得太快,也不能期望读一遍就全弄懂。

生活的根基不仅包括我们得到的所有的答案,而且还应该包括我们提出的所有问题。

23/4/19 33

Page 34: 集合论与图论 Set Theory and Graph Theory

学习方法 辅导答疑

这是任课教师与学生直接交流、沟通思想的时间。对学生一视同仁应当是教师的基本心理,而善待每个学生是教师应当坚持的教育原则。

充分利用好答疑时间,是与老师交流的机会,会获得意想不到的东西

教师为你解答经你努力尚未弄懂的问题。没有经你思考的习题、问题最好暂时不问,否则收获不大

教师不要立即暴露你的全部秘密——让学生在你说出来之前先去猜——尽量让他们自己去找出来。你可以给一些提示,创造一个稍好的环境,让学生自己去发现!增强学生的信心。

把老师看成朋友或者长者,这时除谈业务外,谈理想、人生、道德、责任、如何做人…

23/4/19 34

Page 35: 集合论与图论 Set Theory and Graph Theory

23/4/19 35

教材及主要参考书目 王义和 , 离散数学引论 , 哈尔滨工业大

学出版社 , 2000.3. Kenneth.Rosen 著 ,袁崇义 , 屈婉玲等

译 , 离散数学及其应用 , 机械工业出版社 ,2007.6.

Page 36: 集合论与图论 Set Theory and Graph Theory

寄语 要主动学习

不要苛求课程、老师和环境,他 / 她 /它们只是资源 目标确定后要善于利用各种资源

注重对自己能力的培养 学会做人 ,乐于助人 ,多为别人着想 , 可以获取友谊

朋友是资源,可以终生受益 学会安排自己的时间

时间就像海绵里的水,只要肯挤,总会有的。贵在恒。 学会利用各种资源提高自己

学校的、家庭的、社会的…… 上学期间利用资源的唯一目的就是提高自己

不要沉迷于网络聊天与游戏23/4/19 36

Page 37: 集合论与图论 Set Theory and Graph Theory

第一篇 集合论德国数学家康托 于 1874年建立,是现代数学的基础

当今数学中的每个对象本质上都是集合。数学的各个分支在本质上都是研究这种或那种对象的集合。例如:

几何学是研究点、线、面的集合; 数学分析是研究连续函数的集合; 代数学是研究数的集合以及在此集合上定义的有关运算的集合等。

因此,把集合论作为现代各种数学的基础是有道理的、合适的。

集合论也是计算机科学的重要工具。集合论在程序设计、数据结构、形式语言、操作系统等计算机科学中,都有重要应用,成为计算机科学工作者必不可少的基础知识。

School of Computer Science & Technology Harbin Institute of Technology

23/4/19 37

Page 38: 集合论与图论 Set Theory and Graph Theory

第一篇 集合论集合论主要有以下几个特点:

它所研究的对象十分广泛。例如数、图形或其它任何客体都可作为研究的对象。

因为它研究的对象是如此广泛,为了便于研究,就必须寻找对象的共性。而要做到这一点,就必须进行抽象。

在抽象化的基础上,可以用统一的方法来研究和处理集合论中的各种问题。

集合论的主要特点是研究对象的广泛性,分析思考问题的抽象性和处理问题的统一性。正是这些特点,使得我们便于用它来描述和研究离散对象及其关系。

School of Computer Science & Technology Harbin Institute of Technology

23/4/19 38

Page 39: 集合论与图论 Set Theory and Graph Theory

第一章 集合及其运算重点: 概念 :集合、差、对称差、笛卡儿乘积、有穷集基数。 方法 :证明两个集合相等的方法必考,必须掌握; 基本的计数法则及容斥原理在古典概率论中的应用。 应用 :古典概率模型、跳舞问题的数学模型。难点:容斥原理在古典概率论中的应用。

School of Computer Science & Technology Harbin Institute of Technology

23/4/19 39

Page 40: 集合论与图论 Set Theory and Graph Theory

23/4/19 40

第一章 主要内容 1 .集合( set )、属于关系∈、集合的表示方法、空集 2 .子集( subset )、两个集合相等,幂集( power se

t )、集族(以集为元素的集)、证明两个集相等的方法 3 .集合的运算:并 (union)∪ 、交( intersection )∩、

差( subraction ) \ 、对称差( symmetric difference ) Δ ,各自的性质及相互联系

4 .求补( complement )运算 C(´ ,—, Cs) 及DeMorgan 律

5 .迪卡尔积( Cartesian product )及其性质 6 .有限集合的基数( cardinal number )、基本的计数

法则、容斥原理

Page 41: 集合论与图论 Set Theory and Graph Theory

23/4/19 41

第一章的基本要求 1. 掌握集合、子集、全集、空集和幂集等概念;熟悉常用的表示集合的方法以及用文氏图来表示集合的方法;能够判定元素与集合、集合与集合之间的关系;熟练掌握两个集合相等关系和包含关系的定义和性质,能够利用定义证明两个集合相等。

2. 熟练掌握集合之间的各种运算及集合运算的基本等式,能够利用它们来证明更复杂的集合等式。

3. 掌握余集与集合笛卡儿乘积的概念以及公式。 4. 掌握求解与有穷集合计数相关的实际问题。

Page 42: 集合论与图论 Set Theory and Graph Theory

第二章 映射重点:概念:映射、单(满、双)射、合成运算、置换、逆映射、特征函数方法:置换的循环置换分解应用:复合函数应用概述,建立数学模型 DFA

School of Computer Science & Technology Harbin Institute of Technology

23/4/19 42

Page 43: 集合论与图论 Set Theory and Graph Theory

23/4/19 43

第二章 主要内容 1.映射( mapping )、单射( injection )、满射( surjection )、双射( bijection )、恒等映射 (identical mapping) 、部分映射

2.映射的一般性质 3.鸽巢原理、奇偶性原理、最大—相似—译码 4.映射的合成运算、逆映射 5.置换( permutation ) 6.应用:二元运算、集合的特征函数

Page 44: 集合论与图论 Set Theory and Graph Theory

第三章 关系重点:概念:二元关系的合成、闭包、等价关系、偏序关系 方法:证明两个集合相等的方法应用

School of Computer Science & Technology Harbin Institute of Technology

23/4/19 44

Page 45: 集合论与图论 Set Theory and Graph Theory

23/4/19 45

第三章 主要内容 1 .二元关系的三种等价定义方式、 n 元关系

2 .自反、反自反、对称、反对称、传递关系

3 .二元关系的合成 4 .二无关系的传递闭包及其计算 5 .二元关系的表示 6 .等价关系与偏序关系