《离散数学导学》精炼:第4,5章(集合论,布尔代数)

努力拼搏向上攀,勤学苦练谁与争。学海无涯愈向前,成就非凡在远方。

文章目录

  • 引言
  • 正文
    • 第4章 集合论
      • 集合,单集,空集
      • 超集
      • 集合的运算(重点)
        • 集合的差集运算
      • 差集的性质
      • 集合的证明(重点)
      • 集合的势和集合的幂集
      • 集合的广义运算
    • 第5章 布尔代数(重点)
      • 布尔代数基础
        • 布尔代数的定义
        • 布尔代数的性质
        • 简写
        • 对偶性

引言

笔者一直觉得在计算机这一学科的学习中,离散数学是极为重要的知识基础。离散化的思想体现在计算机学科的方方面面。举例来说,“像素”这一概念是我们日常生活中耳熟能详的,将一个图片拆分成一个个极微小的像素,就是利用了离散化的思想。为了帮助大家打好离散数学的思维基础,笔者新开一个专栏,对《离散数学导学》这本书做一个精炼,使其更易理解。这篇文章是这个专栏的第二部分,主要介绍4-5章。
1-3章传送门

正文

第4章 集合论

集合,单集,空集

只有一个元素的集合叫单集,没有元素的集合叫空集,没什么好说的。

超集

超集是子集的逆运算,符号为⊇,即若A⊆B,则B⊇A。

集合的运算(重点)

首先说明一下,这一部分的运算符和定理大部分可以类比第3章的命题逻辑,笔者会把相似的部分作类比说明。至于为什么能够类比,等到布尔代数部分会有详细解释。

并集和交集也没什么好说的,主要说一下差集。(并集可以类比析取,交集可以类比合取)

集合的差集运算

差集运算,符号为\(有的书上是-)。S\T表示属于S而不属于T的元素构成的集合。
差集的文氏图表示:
《离散数学导学》精炼:第4,5章(集合论,布尔代数)_第1张图片

差集的性质

书上对差集的性质有很多,但笔者认为需要特殊记忆的只有下面的这几条:

  1. 如下图
    《离散数学导学》精炼:第4,5章(集合论,布尔代数)_第2张图片
    关于这两条,笔者的记忆方法是类比德摩根律,而且在逻辑上和德摩根律也有相似之处。

  2. 差集运算不满足交换律和结合律。
    这两点很好理解,不多说明。

  3. 差集运算不是幂等的
    这点说明一下。对于幂等,我们贴一下百度百科的定义:
    《离散数学导学》精炼:第4,5章(集合论,布尔代数)_第3张图片
    所以对于差集运算这个二元运算,如果S\S=S,则我们说它是幂等的,但实际上S\S=∅,因此它不是幂等的。

集合的证明(重点)

在证明集合间的关系时,我们一般通过举出集合中的某个元素来证明。例如,为了证明S∩T=T∩S,我们设x∈S∩T。证明过程如下:
《离散数学导学》精炼:第4,5章(集合论,布尔代数)_第4张图片
要理解这个过程,我们将集合的证明转化为命题的等值推理,然后用命题逻辑的方法去证明。

集合的势和集合的幂集

集合中元素的个数就是集合的势,用#(S)表示。

集合的幂集是包含集合的所有子集的集合,符号为P(S)。例如,{1,2}的幂集是{∅, {1}, {2}, {1,2}}。可以看出,幂集是集合的集合。幂集的势#P(S)=2#(S)

集合的广义运算

集合的广义运算包括广义交和广义并。

  1. 广义交:∩(A,B,C)⇔A∩B∩C
  2. 广义并:∪(A,B,C)⇔A∪B∪C

第5章 布尔代数(重点)

布尔代数是迄今为止最重要的章节,它抽象了命题逻辑和集合论,并为下面的章节打好理论基础。

布尔代数基础

布尔代数的定义

《离散数学导学》精炼:第4,5章(集合论,布尔代数)_第5张图片
我们称+和*是和与积运算符,'是补运算符,0是零元素,1是单位元素
我们把集合论和命题逻辑以布尔代数的形式说明一下,大概就能理解布尔代数了。

  1. 对于集合论而言,我们将这个六元组中的B看作集合的幂集,+看作并集运算,*看作交集运算,'看作对全集的补集,0看作空集,1看作全集。
  2. 对于命题逻辑而言,我们将六元组中的B看作命题的集合,+看作或运算,*看作且运算,'看作非运算,0看作false,1看作true。

读者可以自己去试试四个公理。
笔者简单谈一下自己抽象的理解。+在逻辑中指两个元素的“可能性”满足其一,*指两种可能性同时满足,'指1的”可能性“减去这个元素的”可能性“,0指可能性最少的,1指可能性最多的。

布尔代数的性质

布尔代数的性质书上列了很多,但其实只要把集合论和命题逻辑性质中的符号换一下就可以了。

也很好理解,毕竟集合论和命题逻辑本质上就是布尔代数。

简写

a*b可以简写为ab。

对偶性

一个陈述的对偶是将它之中的0换成1,1换成0,+换成*,* 换成+得到。
例如,(0+a)(a1)的对偶是(1*a)+(a+0)。

——————————————分割线——————————————
PS:笔者把布尔代数的同构知识点放到第九章去讲,第五章只是简要提到了这一知识点,没有讲的价值。

我是霜_哀,在算法之路上努力前行的一位萌新,感谢你的阅读!如果觉得好的话,可以关注一下,我会在将来带来更多更全面的算法讲解!

你可能感兴趣的:(《离散数学导学》精炼,算法)