• 沒有找到結果。

离散数学 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "离散数学 - 万水书苑-出版资源网"

Copied!
19
0
0

加載中.... (立即查看全文)

全文

(1)第二部分 集合论 集合是数学中最基本的概念,又是数学各分支、自然科学及社会科学各领域 的最普遍采用的描述工具。集合论是离散数学的重要组成部分,是现代数学中占 有独特地位的一个分支。 集合论是现代数学中重要的基础理论。它是德国数学家康托(Geog Cantor, 1845~1918)于 1874 年创立的,1876~1883 年康托一系列有关集合论的文章,对 任意元的集合进行了深入的探讨,提出了关于基数、序数和良序集等理论,奠定 了集合论深厚的基础。19 世纪 90 年代后逐渐为数学家们采用,成为分析数学、代 数和几何的有力工具。随着集合论的发展,以及它与数学哲学密切联系所作的讨 论,在 1900 年前后出现了各种悖论,第一个悖论是布拉利-福尔蒂的最大序数悖论。 1901 年罗素发现了著名的罗素悖论。1932 年康托也发表了关于最大基数的悖论, 使集合的发展一度陷入僵滞的局面。1904~1908 年,策墨罗(Zermelo)列出了第 一个集合论的公理系统,它的公理,使数学哲学中产生的一些矛盾基本上得到了 统一,在此基础上以后就逐渐形成了公理化集合论和抽象集合论,使该学科成为 在数学中发展最为迅速的一个分支。这个集合论的现代公理系统,经过弗兰克尔 的加工,称为策墨罗-弗兰克尔集合论(ZF) 。另外一个系统是冯·诺伊曼-伯奈 斯-哥德尔集合论。公理集合论中有一个猜想是连续统假设(CH)。哥德尔证明了 连续统假设与策墨罗-弗兰克尔集合论的相容性,科恩证明了连续统假设与策墨 罗-弗兰克尔集合论的独立性。现在把策墨罗-弗兰克尔集合论与选择公理一起 称为 ZFC 系统。 集合的概念和方法已经渗透到代数、拓扑和分析等许多数学分支以及物理学 和质点力学等一些自然科学领域,为这些学科提供了奠基的方法,改变了这些学 科的面貌。几乎可以说,如果没有集合论的观点,很难对现代数学获得一个深刻 的理解。所以集合论的创立不仅对数学基础的研究有重要意义,而且对现代数学 的发展也有深远的影响。集合论已经成为不可缺少的数学工具和表达语言。对于 计算机科学工作者来说,集合论也是必备的基础知识,它在开关理论、形式语言、 有限状态机、编译原理、数据库原理等领域中有着广泛的应用。 本篇介绍集合论的基础知识,主要内容包括集合的基本运算、序偶、关系、 函数、基数等。各章节主要知识点关联如图 2.0.0 所示。.

(2) 88. 离散数学. 互异性 无序性 确定性. 集合. 集合性质. 集合关系. 笛卡儿积. 序偶. 闭包运算. 闭包. 哈斯图. 偏序关系 合取范式. 商集. 等价关系 范式. 关系 有序化. 运算规律. 元素计数. 容斥原理. 二元关系. 表示方法. 关系性质 等价式. 关系图. 特殊二元 关系. 幂集. 集合运算. 相容关系范式 复合函数. 函数. 函数运算. 函数性质. 单射. 等价类 集合分划. 满射. 双射 可数集. 集合基数. 不可数集合. 等势优势 图 2.0.0. 关系矩阵. 第二部分各章节主要知识点关联图. 逆函数.

(3) 第4章. 集合及其运算. 集合是现代数学中最重要的基本概念之一,数学概念的建立由于使用了集合 而变得完善并且统一起来。集合论已成为现代各个数学分支的基础,同时还渗透 到各个科学技术领域,成为不可缺少的数学工具和表达语言。对于计算机科学工 作者来说,集合论也是必备的基础知识,它在开关理论、形式语言、编译原理等 领域中有着广泛的应用。. 4.1 集合的概念及其表示 4.1.1 集合的概念. 第 章 4 集合及其运算. 集合(Set)是数学中的一个最基本的概念。所谓集合,就是指具有共同性质 的或适合一定条件的事物的全体,组成集合的这些“事物”称为集合的元素。例 如:全国的高等学校、全体自然数均分别构成一个集合,而高等学校、每个自然 数等分别是所对应集合中的元素。 通常用大写的英文字母表示集合的名称;用小写的英文字母表示元素。若元 素 a 属于集合 A 记作 a ∈ A ,读作“ a 属于 A ”;否则,若 a 不属于 A ,就记为 a ∉ A , 读作“ a 不属于 A ”。一个集合,若其组成集合的元素个数是有穷的,则称为“有 穷集”,否则就称为“无穷集”。 集合有三个重要的特性:互异性、无序性和确定性。 集合的表示方法有: (1)列元素法:列出集合中的所有元素,各元素之间用逗号隔开,并把它们 用花括号括起来。如:A = { 0, 1, 2, 3 }。 (2)谓词表示法:用谓词来概括集合中元素的属性。如:B = { x | x 是偶素数} 表示集合 B 中的元素既是偶数又是素数。 (3)图示法:用一个圆来表示,圆中的点表示集合中的元素。 例 4.1.1 (1)一个班级里的全体学生构成一个集合。 (2)平面上的所有点构成一个集合。 (3)方程 x 2 − 1 = 0 的实数解构成一个集合。 (4)自然数的全体(包含 0)构成一个集合,用 N 表示。 (5)整数的全体构成一个集合,用 Z 表示。 (6)有理数的全体构成一个集合,用 Q 表示。 (7)实数的全体构成一个集合,用 R 表示。. 89.

(4) 90. (8)复数的全体构成一个集合,用 C 表示; (9)还有正整数集合 Z + ,正有理数集合 Q + ,正实数集合 R + ; 离散数学. (10)还有非零整数集合 Z * ,非零有理数集合 Q * ,非零实数集合 R* 。 (11)所有 n 阶 (n ≥ 2) 实矩阵构成一个集合,用 M n ( R) 表示,即 ⎧ ⎡ a11 ⎪⎢ ⎪ a M n ( R) = ⎨ ⎢ 21 ⎪⎢ ⎪ ⎢⎣ an1 ⎩. ⎫ a12 … a1n ⎤ ⎪ ⎥ a22 … a2 n ⎥ ⎪ | aij ∈ R, 1 ≤ i,j ≤ n ⎬ ⎥ ⎪ ⎥ ⎪ an 2 ann ⎦ ⎭ ˆ ( R) 表示。 而所有 n 阶( n ≥ 2 )可逆实矩阵也构成一个集合,用 M n. 4.1.2 集合与集合间的关系 定义 4.1.1 设 A 和 B 为集合,若 B 中的每个元素都是 A 的元素,则称 B 是 A 的子集合,简称子集(Subset),也可称 B 被 A 包含, 或 A 包含 B,记作 B ⊆ A 或 A ⊇ B 。 如果 B 不包含于 A 或 A 不包含 B,则记作 B ⊆/ A 或 A ⊇ / B 。集合包含于的符号化 表示为 B ⊆ A ⇔ ∀x( x ∈ B → x ∈ A) 。 定义 4.1.2 设 A 和 B 为集合,如果 A ⊆ B 且 B ⊆ A,则称 A 与 B 相等,记作: A = B。若 A 与 B 不相等,则记作:A ≠ B。相等的符号化表示为 A=B ⇔ A⊆B ∧ B⊆A⇔ ∀x(x∈A →x∈B) ∧ ∀x(x∈B → x∈A)。 定义 4.1.3 设 A、B 是两个集合,如果 B ⊆ A 且 A =/ B ,则称 B 是 A 的真子集 (Proper Subset),记作 B ⊂ A 。如果 B 不是 A 的真子集,则记作 B ⊂/ A 。真子集 的符号化表示为 B ⊂ A ⇔ B ⊆ A ∧ B ≠ A 。 例 4.1.2 (1) N ⊆ Z ⊆ Q ⊆ R ⊆ C ,但 Z ⊆/ N 。 (2) N ⊂ Z ⊂ Q ⊂ R ⊂ C ,但 N ⊂/ N 。 定义 4.1.4 在一个具体问题中,若一个集合包含所讨论的每一个集合,则称 它是全集(Universal Set) ,记作 E。不含任何元素的集合称为空集,记作φ。 全集具有相对性,不同的问题有不同的全集,即使是同一个问题也可以取不 同的全集。例如当讨论有关整数的问题时,可将整数集作为全集,也可以把有理 数集取作全集。 定理 4.1.1 空集是一切集合的子集。 证:任给一个集合 A,由子集的定义可知: φ ⊆ A ⇔ ∀x(x∈ φ → x∈A) 由于蕴涵式(x∈ φ →x∈A)的前件为假而使其成为真命题,所以, φ ⊆ A。 推论 4.1.1 空集是唯一的。 证:假设:存在空集 φ1 和 φ2 。 由定理 4.1.1 可知: φ1 ⊆ φ2 , φ2 ⊆ φ1 由集合相等的定义可知: φ1 = φ2 。.

(5) 4.1.3 幂集(Power Set) 定义 4.1.5 设 A 为集合, 把 A 的全体子集构成的集合叫做 A 的幂集(Power Set),记作 P ( A) 或 2 A 。幂集的符号化表示为: P ( A) = {x | x ⊆ A} 。 例 4.1.3. 设 A = {a,b,c} ,则 A 的子集有:0 元子集 1 个:空集 φ ;一元子. 集 3 个: {a}, {b}, {c} ;二元子集三个: {a,b}, {a,c}, {b,c} ;三元子集一 个: {a,b,c} 。所以 A 的幂集为 p( A) = {ϕ, {a}, {b}, {c}, {a,b}, {a,c}, {b,c}, {a,b,c}}. 一般地说,对于含有 n 个元素的集合 A ,它的 0 元子集有 Cn0 个,1 元子集有 Cn1 个,…, m 元子集有 Cnm 个,…, n 元子集有 Cnn 个。这样,根据二项式公式,子 集的总数,也即是幂集的元素的个数为 Cn0 + Cn1 + Cn2 +. + Cnn = 2n 。. 4.2 集合的基本运算 集合的运算,就是以集合为对象,按照确定的规则得到另外一些新集合的过 、相对补(-)、绝对补 程。给定集合 A 和 B,可以通过集合的并(∪)、交(∩) (¯)和对称差( ⊕ )等运算产生新的集合。 4.2.1 集合的并(Union)运算 定义 4.2.1 设 A,B 为任意两集合,所有属于集合 A 或属于集合 B 的元素组 成的集合,称为集合 A 和 B 的并集,记作 A ∪ B 。 A ∪ B = {x ( x ∈ A) ∨ ( x ∈ B )}. 第 章 4. 定理 4.2.1 设 A、B、C 为任意三个集合,则 (1)幂等律 A∪A=A。 (2)交换律 A∪B = B∪A。 (3)结合律 (A∪B)∪C = A∪(B∪C)。 (4)同一律 A∪Φ= A。 (5)零 律 A∪E = E。 (6)A ⊆ A∪B,B ⊆ A∪B。 (7)A∪B = B ⇔ A ⊆ B。. 集合及其运算. 证明 性质(1) ,(2) ,(4) ,(5) ,(6)由定义 4.2.1 立即可以得到。 (3)的证明: (A∪B)∪C = {x | x∈(A∪B)∪C } = { x | (x∈A∪B) ∨ (x∈B) } = { x | ((x∈A) ∨ (x∈B)) ∨ (x∈B)}={ x|(x∈A) ∨ ((x∈B) ∨ (x∈C))} = { x |( x∈A) ∨ (x∈B∪C)} = { x | x∈A∪(B∪C)} = A∪(B∪C) 91.

(6) 92 A∪ B = B. (7)的证明:必要性证明: ∀x( x ∈ A) ⇒ ∀x( x ∈ A∪B ) ⇔ ∀x( x ∈ B ). 离散数学. 所以 A ⊆ B。 充分性证明:由(6)知 B ⊆ A∪B,现证明 A∪B ⊆ B A⊆ B. ∀x( x ∈ A∪B) ⇔ ∀x( x ∈ B ). 所以有 A∪B = B。 例 4.2.1 设 A ⊆ B,C ⊆ D,则 A∪C ⊆ B∪D. 证明 A∪C = { x x ∈ A∪C } = { x ( x ∈ A) ∨ ( x ∈ C ) }. = { x x ∈ B∪D } = B∪D. A⊆ B , C ⊆ D. ⇒. {x ( x ∈ B) ∨ ( x ∈ D)}. 即 A∪C ⊆ B∪D 成立。. A ⊆ B ⇒ A∪C ⊆ B∪C 。. 同理可证. 因 为 集 合 的 并 运 算 满 足 结 合 律 , 对 n 个 集 合 A1 , A2 , … , An 的 并 集 A1 ∪ A2 ∪ ∪ An 定义为至少属于 A1 , A2 ,…, An 之一的那些元素构成的集合。 n. A1 ∪ A2 ∪ ∪ An 通常缩写成. ∪A 。 i. i =1. ∞. A1 ∪ A2 ∪ ∪ An ∪. = ∪ An = { x ∃n ∈ N , x ∈ A n } 其中 N 是自然数集合。 n =1. 一般地, ∪ A k = { x ∃k ∈ I , x ∈ A k } 。集合的并运算,就是把给定集合的那 k ∈I. 些元素放到一起合并成一个集合,同时相同的元素只保留一个。 3. 例 4.2.2. 设 A1 = {1 , 2 , 3 } , A2 = { 3 , 4 } , A3 = { 2 , 5 , 6 } 则 ∪ Ai = {1 , 2 ,3 , 4, i =1. 5, 6 } 。. 4.2.2 集合的交(Intersection)运算 定义 4.2.2 设任意两个集合 A 和 B,由集合 A 和 B 共同元素组成的集合,称 为集合 A 和 B 的交集,记作 A∩B 。 A∩B = { x | ( x ∈ A) ∧ ( x ∈ B ) } 。 例 4.2.3. 设 A = { a , b , c , d , e } , B = {a , c , e , f } 则 A∩B = { a , c , e } 。. 定理 4.2.2 设 A,B,C 是任意三个集合,则 (1)幂等律 A∩A = A。 (2)交换律 A∩B = B∩A。 (3)结合律 (A∩B)∩C = A∩(B∩C)。 (4)零 律 Φ∩A =Φ。 (5)同一律 E∩A = A。 (6)A∩B ⊆ A , A∩B ⊆ B。 (7)A∩B = A ⇔ A ⊆ B。.

(7) 证明略。 4.2.3 集合的交运算与并运算之间的关系 定理 4.2.3 (分配律)设 A、B、C 为任意三个集合,满足 (1)交运算对并运算的分配律 A∩( B∪C ) = ( A∩B )∪( A∩C ) (2)并运算对交运算的分配律 A∪( B∩C ) = ( A∪B )∩( A∪C ) 证明. (1)A∩(B∪C) = {x |x∈A∩(B∪C)} = {x |(x∈A) ∧ (x∈B∪C)} = {x |(x∈A) ∧ ((x∈B) ∨ (x∈C))}. = { x |(( x∈A) ∧ (x∈B)) ∨ ((x∈A) ∧ (x∈C))} = {x |(x∈A∩B) ∨ (x∈A∩C)} = {x |x∈(A∩B)∪(A∩C)} = (A∩B)∪(A∩C) 当然可以仿照(1)的证明方法证明(2)的成立,现在采用(1)来证明(2), 注意到 A ⊆ A∪B,A∩C ⊆ A,由(1)可得 (A∪B)∩(A∪C) =( (A∪B)∩A)∪((A∪B)∩C) = A∪(A∩C)∪(B∩C) = A∪(B∩C) 同理可以利用(2)证得(1)成立(读者自行完成),于是(1)成立 ⇔ (2) 的成立。 定理 4.2.4 (吸收律)设 A、B 为任意两集合,则 (1)A∪(A∩B)= A。 (2)A∩(A∪B) = A。 证明 由分配律可得 (1)A∪(A∩B) = (A∩E)∪(A∩B) = A∩(E∪B) = A∩E = A。 (2)A∩(A∪B) = (A∪Φ)∩(A∪B ) = A∪(Φ∩B) = A∪Φ = A。 4.2.4 集合的补(Substraction)运算. 集合及其运算. 定义 4.2.4 补,记作 B 。. 第 章 4. 定义 4.2.3 设 A、B 为任意两集合,由属于 A 而不属于 B 的一切元素构成的 ,记为 A − B, 集合,称为 A 与 B 的差运算(又称 B 对于 A 的补运算,或相对补) A − B 称为 A 与 B 的差集(或 B 对于 A 的补集)。 A − B = {x ( x ∈ A) ∧ ( x ∉ B) } = {x ( x ∈ A) ∧ ¬( x ∈ B ) } 若 A = E,对任意集合 B 关于 E 的补集 E − B,称为集合 B 的绝对. B = E − B = {x | ( x ∈ E ) ∧ ( x ∉ B) } 例 4.2.4 设 E = {1,2,3,4,5,6},A = {1,2,6},B={1,4,5}则 A − B={2, 6}, A = {3,4,5}。 93.

(8) 94. 定理 4.2.5 设 A、B、C 为任意三集合,则 (1)对合律 A = A 。 (2) E = φ 。 离散数学. (3) φ = E 。 (4)排中律 A∪ A = E 。 (5)矛盾律 A∩ A = φ 。. (6)(De.MorgAn 定理)① A∪B = A∩B ,② A∩B = A∪B 。 (7)① A − B = A∩B ,② A − B = A − ( A∩B) 。 (8) A∩( B − C ) = ( A∩B) − ( A∩C ) ; (9)若 A ⊆ B ,当且仅当① B ⊆ A ,② ( B − A)∪ A = B 。 证明 由补运算的定义立即可得性质(1)~(5) 。 (6)的证明:① A∪B = {x | x ∈ A∪B } = {x | x ∉ A∪B } = {x | ( x ∉ A) ∧ ( x ∉ B) } = {x | ( x ∈ A) ∧ ( x ∈ B ) } = {x | x ∈ A∩B } = A∩B. ②的证法与①类似,请读者自行证明。 (7)的证明: ① A − B = {x ( x ∈ A) ∧ ( x ∉ B)} = {x | ( x ∈ A) ∧ ( x ∈ B )} = {x | x ∈ A∩B} = A∩B ; ② A − ( A∩B) = A∩ A∩B = A∩( A∪B ) = ( A∩ A)∪( A∩B ) = A∩B = A − B 。 (8)的证明: ( A∩B ) − ( A∩C ) = ( A∩B)∩( A∩C ) = ( A∩B)∩( A∪C ) = ( A∩B∩ A)∪( A∩B∩C ) = A∩B∩C = A∩( B − C ) 。. (9)的证明: 证明① A⊆ B. 必要性. ∀x( x ∈ B ) ⇒ ∀x( x ∉ B) ⇒ ∀x( x ∉ A) ⇒ ∀x( x ∈ A) 即 B ⊆ A 。. 充分性. ∀x( x ∈ A) ⇒ ∀x( x ∉ A) ⇒ ∀x( x ∉ B ) ⇒ ∀x( x ∈ B) 即 A ⊆ B 。. B⊆ A. 证明② 必要性 充分性. A⊆ B. ( B − A)∪ A = ( B∩ A)∪ A = ( B∪ A)∩( A∪ A) = B∪ A = B 。 A ⊆ A∪( B − A) = ( B − A)∪ A = B 。. 4.2.5 集合的对称差(Symmetric Difference)运算 定义 4.2.5 设 A,B 为任意两集合,由“属于 A 而不属于 B”或“属于 B 而 不属于 A”的一切元素构成的集合,称为 A,B 的对称差,记作 A ⊕ B 。.

(9) A ⊕ B = ( A − B)∪( B − A) = {x ( x ∈ A) ∨ ( x ∈ B) } = {x (( x ∈ A) ∨ ( x ∈ B)) ∧ ( x ∉ A∩B)}. 定理 4.2.6 设 A,B,C 为任意三集合,则 (1) A ⊕ B = B ⊕ A 。 (2) A ⊕ Φ = A 。 (3) A ⊕ A = Φ 。 (4) A ⊕ B = ( A∩B )∪( A∩B) 。. (5) ( A ⊕ B) ⊕ C = A ⊕ ( B ⊕ C ) 。 (6)交关于对称差的分配律 A∩( B ⊕ C ) = ( A∩B) ⊕ ( A∩C ) 。 (7)若 A ⊕ B = A ⊕ C ,则 B = C。 证明 由对称差的定义立即可得(1) 、(2) 、(3) 、(4)的结论。 (5)的证明: ( A ⊕ B ) ⊕ C = (( A ∩ B ) ∪ ( A ∩ B)) ⊕ C = (( A ∩ B ) ∪ ( A ∩ B) ∩ C ) ∪ ((( A ∩ B ) ∪ ( A ∩ B)) ∩ C ) = (( A ∪ B) ∩ ( A ∪ B ) ∩ C ) ∪ ( A ∩ B ∩ C ) ∪ ( A ∩ B ∩ C ) = ( A ∩ B ∩ C) ∪ ( A ∩ B ∩ C) ∪ ( A ∩ B ∩ C) ∪ ( A ∩ B ∩ C) A ⊕ ( B ⊕ C ) = A ⊕ (( B ∩ C ) ∪ ( B ∩ C )) = ( A ∩ (( B ∩ C ) ∪ ( B ∩ C ))) ∪ ( A ∩ (( B ∩ C ) ∪ ( B ∩ C ))) = ( A ∩ ( B ∪ C ) ∩ ( B ∪ C )) ∪ (( A ∩ B ∩ C ) ∪ ( A ∩ B ∩ C )). 所以. = ( A ∩ B ∩ C) ∪ ( A ∩ B ∩ C) ∪ ( A ∩ B ∩ C) ∪ ( A ∪ B ∩ C) ( A ⊕ B) ⊕ C = A ⊕ ( B ⊕ C ) 。. (6)的证明 ( A ∩ B) ⊕ ( A ∩ C ) = (( A ∩ B ) ∩ ( A ∩ C )) ∪ (( A ∩ B) ∩ ( A ∩ C )) = (( A ∩ B ) ∩ ( A ∪ C )) ∪ (( A ∪ B ) ∩ ( A ∩ C )) = ( A ∩ B ∩ C) ∪ ( A ∩ B ∩ C). 集合及其运算. (7)的证明: ( A ⊕ B ) = ( A ⊕ C ) ⇒ A ⊕ ( A ⊕ B ) = A ⊕ ( A ⊕ C ) ⇒ ( A ⊕ A) ⊕ B = ( A ⊕ A) ⊕ C ⇒ Φ⊕ B = Φ⊕C ⇒ B = C. 第 章 4. = A ∩ (( B ∩ C ) ∪ ( B ∩ C )) = A ∩ (B ⊕ C). 从对称差定义或文氏图容易得出: A ∪ B = ( A ∩ B ) ∪ ( A ∩ B) ∪ ( A ∩ B) = ( A ⊕ B) ∪ ( A ∩ B) A ⊕ B = ( A ∪ B) − ( A ∩ B) 95.

(10) 96. 离散数学. 集合之间的关系和运算可以用文氏图(Venn Diagram)给予直观形象的描述。 文氏图通常用一个矩形表示全集 E,矩形中的点表示全集 E 中的元素,E 的子集用 矩形区域内的圆形区域表示,图中阴影区域表示新组成的集合。集合的各种运算 的文氏图如图 4.2.1 所示。 E A. E A. B. B. A∪ B. A⊂ B. E. E A. B. A. A∩ B. A E. A. B. E A. B. A⊕ B. A− B. 图 4.2.1. 集合运算的文氏图. 4.2.6 集合的计算机表示. 计算机表示集合的方式各种各样。一种办法是把集合的元素无序地存储起来。 可是如果这样做,在做集合的运算时会浪费很多时间,因为这些运算需要大量的 元素检索。这里介绍一种利用全集元素的一个任意排序存放元素以表示集合的方 法,集合的这种表示方法很容易实现集合的运算。 假设全集 E 是有限的。首先为 E 的元素规定一个顺序,例如 a1,a2, ,an 。 于是可以用长度为 n 的位串表示 E 的子集 A:如果 ai 属于 E,则位串中第 i 位是 1; 如果 ai 不属于 A,则位串中第 i 位是 0。下面的例子阐明了这一方法。 例 4.2.5 令全集 E = {1,2,3,4,5,6,7,8,9,10} ,而且其元素从小到大排 序,即 ai = i 。表示 E 中所有奇数组成的子集、所有偶数组成的子集和不超过 5 的.

(11) 整数组成的子集的位串是什么? 解 E 中所有奇数组成的子集为 {1,3,5,7,9} ,由位串 1 010 101 010 表示。. E 中所有偶数组成的子集为 {2,4,6,8,10} ,由位串 0 101 010 101 表示。 E 中不 超过 5 的整数组成的子集为 {1,2,3,4,5} ,由位串 1 111 100 000 表示。 例 4.2.6. 对于全集 E = {1,2,3,4,5,6,7,8,9,10} ,子集 {1,3,5,7,9} 的. 位串是 1 010 101 010。请问,他的补集的位串是什么? 解 用 0 取代 1,用 1 取代 0,即可得到此集合的补集的位串:0 101 010 101。 它对应着子集 {2,4,6,8,10} 。 例 4.2.7 对于全集 E = {1,2,3,4,5,6,7,8,9,10} ,子集 {1,2,3,4,5} 和 {1,3,5,7,9} 的位串分别是 1 111 100 000 和 1 010 101 010。用位串找出它们的并. 集和交集。 解 这两个集合的并集的位串是 1 111 100 000 ∨ 1 010 101 010=1 111 101 010,它表示的集合是 {1,2,3,4,5,7,9} 。这两个集合的交集的位串是 1 111 100 000 ∧ 1 010 101 010=1 010 100 000,它表示的集合是 {1,3,5} 。. 4.3 集合中元素的计数 4.3.1 两个基本原理. 4.3.2 排列、组合. 第 章 4. 加法原理:做一件事情,完成它有 n 类办法,在第一类办法中有 m1 种不同的 方法,在第二类办法中有 m2 种不同的方法,……,在第 n 类办法中有 mn 种不同的 方法,那么完成这件事情共有 m1+m2+…+mn 种不同的方法。 例 4.3.1 从北京到上海有 3 种方法可以直接到达上海:火车 k1;飞机 k2;轮 船 k3,那么从北京到上海的方法 N=k1+k2+k3。 乘法原理:做一件事,完成它需要分成 n 个步骤,做第 1 步有 m1 种不同的方 法,做第 2 步有 m2 不同的方法,……,做第 n 步有 mn 不同的方法。那么完成这件 事共有 N=m1m2m3…mn 种不同的方法。 例 4.3.2 一位游客从 A 城市到 C 城市,中间要经过 B 城市,A 到 B 有 3 种方 式,B 到 C 有 2 种方式,那么这位游客共有 3×2=6 种不同的选择方案。. 集合及其运算. 中学里已学过的计数公式是排列组合公式。从 n 个元素的集合中每次取 m 个 的排列和组合的公式分别为: Pm n! n! , Cnm = n = Pnm = n (n − 1) (n − m + 1) = (n − m)! m ! m !(n − m)! 对排列 Pnm :若 m = n 时称为全排列,m < n 时称为选排列。排列和组合的最 97.

(12) 98. 基本恒等式有: Pnm = m !Cnm ,Cnm = Cnn − m ,Cnm = Cnm−1 + Cnm−−11 离散数学. 例 4.3.3 将 computer 的字母全部取出进行全排列,其中 c 不在第一位,r 不 在末位,问共有多少种排法? 解 computer 字母的全排列数为 P88 = 8! ,其中 c 排在第一位的排法共有 7!. 种,r 排在末位的排法共有 7!,除去这些不合要求的排法,还有 8!−(7!+7!)= 30240 种,然而这还不是答案,因为 c 在第一位的 7!种排法中 r 可能排至末位的 7!中 c 可能排在第一位,即 c 在第一位,r 在末位的排法被减去了两次,实际上应该只 减一次,故把不应该减的加回去才能得到正确的答案。所求的答案为: P88 − 2 P77 + P66 = 30960 (种) 。 这种分析问题的方法称为“多退少补法” ,这种思想在“包含排斥原理”中还 要用到。 4.3.3 容斥原理. 设集合 A = { a1 , a2 , … , an },它含有 n 个元素,可以说集合 A 的基数是 n, 记作 CardA = n。基数是表示集合中所含元素多少的量。如果集合 A 的基数是 n , 可记为|A|= n,这时称 A 为有穷集,显然空集的基数是 0,即|Φ| = 0。如果 A 不是有穷集,则称 A 为无穷集。 容斥原理也称包含与排斥原理或逐步淘汰原则,它也是“多退少补”计数思 想的应用。 定理 4.3.1(容斥原理) 设 A,B 为有限集合,则 | A ∪ B | = | A |+| B |−| A ∩ B | 。 证明 ① 当 A,B 不相交,即 A ∩ B = Φ 时, | A ∪ B | = | A |+| B | ② 当 A∩ B ≠ Φ 时 | A | = | A ∩ B |+| A ∩ B | , | B | = | B ∩ A |+| A ∩ B | 所以, | A |+|B| = |A ∩ B|+|A ∩ B| + 2| A ∩ B| 但是, | A ∩ B |+| A ∩ B |+ | A ∩ B |=| A ∪ B | 因此, | A ∪ B |=| A | + | B | − | A ∩ B | 定理 4.3.2. 设 A,B 是有限集合,则. | A ⊕ B |=| A | + | B | −2 | A ∩ B | 。. 证明 | A ⊕ B |=| ( A ∪ B ) − ( A ∩ B) |=| A ∪ B | − | A ∩ B | = (| A | + | B | − | A ∩ B |)− | A ∩ B | =| A | + | B | −2 | A ∩ B |. 例 4.3.4 假设 10 名青年中有 5 名是工人,7 名是学生,其中既是工人又是学 生的青年有 3 名,问既不是工人又不是学生的青年的有几名? 解 设该 10 名青年组成集合 Y,|Y|=10,其中工人集合设为 W,|W|=5;学生.

(13) 集合设为 S,| S |=7。|W ∩ S|=3,又因为 Y = (W ∪ S ) ∪ (W ∩ S ) |Y | = |W ∪ S |+| W ∩ S | = 10. 所以 即. | W ∩ S | = 10−|W ∪ S | = 10 − (|W |+|S |−|W ∩ S |) = 10 − (5 + 7 − 3) = 1. 因此,既不是工人又不是学生的青年有 1 人。 这个例子的计算过程用到了容斥原理。一般,令有限集 A 的元素具有 m 个不 同的性质 P1,P2,…,Pm。A 中具有性质 Pi 的元素组成子集记为 Ai i = 1,2,…,m; Ai∩Aj(i≠j)表示 A 中同时具有性质 Pi 和 Pj 的元素组成的子集;Ai∩Aj∩Ak(i≠ j≠k)表示 A 中同时具有性质 Pi,Pj,Pk 的元素组成的子集;…;A1∩A2∩…∩Am 表示 A 中同时具有性质 P1,P2,…,Pm 的元素组成的子集。 Ai 表示 A 中不具有性 质 Pi 的元素组成的子集。那么包含排斥原理可以叙述为 定理 4.3.5 (容斥原理的推广)A 中不具有性质 P1,P2,…,Pm 的元素数是, | A1 ∩ A 2 ∩. ∩ Am | = | A | −. m. ∑ |A | + ∑. −. |Ai ∩ Aj |. i. i =1. 1≤ i < j≤ m. ∑. | Ai ∩ A j ∩ A k | +. + (−1) m |A1 ∩ A2 ∩. ∩ Am |. 1≤ i < j < k ≤ m. 注意:上式右边共 1 + Cm1 + Cm2 +. + Cmm = 2m 项。. 证明 等式左边是 A 中不具有性质 P1,P2,…,Pm 的元素数。下面要证明: 对 A 中的任何元素 a,如果它不具有这 m 条性质,那么它对等式右边的贡献是 1; 如果 a 至少具有这 m 条性质中的一条,那么它对等式右边的贡献是 0。 设 a 不具有性质 P1,P2,…,Pm,那么 a ∉ Ai , i = 1,2, ,m 。对任何整数. i 和 j, 1 ≤ i < j ≤ m ,都有 a ∉ Ai ∩ A j 。对任何整数 i、j 和 k, 1 ≤ i < j < k ≤ m ,. 都有 a ∉ Ai ∩ A j ∩ Ak ,…, a ∉ A1 ∩ A2 ∩. ∩ Am 。但是 a ∈ A ,所以在等式右边的. 计数中它的贡献是: 1 − 0 + 0 − 0 + & + (−1) ⋅ 0 = 1 。 m. m. 设 a 具有这 m 条性质中的 k 条性质,1 ≤ k ≤ m ,则 a 对|A|的贡献是 1;对 ∑ Ai i =1. 的贡献是 C = k ;对 1 k. ∑. 2 k. Ai ∩ A j 的贡献是 C ;…;对 | A1 ∩ A2 ∩. ∩ Am | 的贡. 1≤ i < j≤ m. 献是 Ckm ,所以 a 对等式右边计数的总贡献是: + (−1) m Ckm. k. + (−1) k Ckk = ∑ (−1) j Ckj = (1 − 1) k = 0. 集合及其运算. = Ck0 − Ck1 + Ck2 −. (k ≤m ). 第 章 4. 1 − Ck1 + Ck2 −. j =0. 推论 4.3.1 A 中至少具有 m 个性质之一的元素个数为 A1 ∪ A 2 ∪. m. ∪ A m = ∑ Ai − i =1. ∑. Ai ∩ Aj. 1≤ i < j ≤ m. 99.

(14) 100. +. ∑. + (−1) m −1 |A1 ∩ A2 ∩. | Ai ∩ A j ∩ A k | −. ∩ Am |. 1≤ i < j < k ≤ m. 证明 离散数学. 因为 A1 ∪ A2 ∪. ∪ Am = A − ( A1 ∪ A2 ∪. ∪ Am ) = A − ( A1 ∩ A2 ∩. ∩ Am ). 所以 ∪ Am = A − A 1 ∩ A 2 ∩. A1 ∪ A 2 ∪. m. ∑. Ai ∩ A j. + (−1) m −1 A1 ∩ A 2 ∩. ∩ Am 。. ∩ Am =. ∑A. i. −. i =1. +. ∑. Ai ∩ A j ∩ Ak −. 1 ≤ i < j≤ m. 1≤ i < j< k ≤ m. 例 4.3.5 试求不超过 1000 的自然数中能被 2 或 3 或 5 整除的数的个数。 解 设 A = {1, 2,…,1000},这是研究对象的集合,在 A 上定义性质 P1,P2, P3。对任意 n∈A,若 n 具有性质 P1(P2,P3)当且仅当 2|n(3|n,5|n)。令 Ai 为 A 中具 有性质 Pi 的数组成的子集,i = 1, 2, 3,则 A1 = {2, 4, 6,…, 1000 } = {2 k|k = 1, 2, …, 500}。 ⎧ ⎡1000 ⎤ ⎫ A2 = {3 , 6 , 9 , , 999 } = ⎨3k | k = 1, 2, , ⎢ ⎥⎬ 。 ⎣ 3 ⎦⎭ ⎩ ⎧ ⎡1000 ⎤ ⎫ A3 = {5, 10, 15, …, 1000} = ⎨5k | k = 1, 2, , ⎢ ⎥⎬ 。 ⎣ 5 ⎦⎭ ⎩ ⎡1000 ⎤ ⎡1000 ⎤ ⎡1000 ⎤ 于是,|A1|= ⎢ = 500,|A2|= ⎢ =333,|A3|= ⎢ ⎥ ⎥ =200。 ⎥ ⎣ 2 ⎦ ⎣ 5 ⎦ ⎣ 3 ⎦. ⎧ 而 | A1 ∩ A 2 | = ⎨6k |k = 1 , 2 , ⎩. ⎡1000 ⎤ ⎫ ⎡1000 ⎤ ,⎢ ⎥⎬ = ⎢ ⎥ = 166 。 ⎣ 6 ⎦⎭ ⎣ 6 ⎦. ⎧ | A1 ∩ A3 | = ⎨10k | k = 1 , 2 , ⎩. ⎡1000 ⎤ ⎫ ⎡1000 ⎤ ,⎢ ⎥⎬ = ⎢ ⎥ = 100 。 ⎣ 10 ⎦ ⎭ ⎣ 10 ⎦. ⎧ | A2 ∩ A3 | = ⎨15k | k = 1 , 2 , ⎩. ⎡1000 ⎤ ⎫ ⎡1000 ⎤ ,⎢ ⎥⎬ = ⎢ ⎥ = 66 。 ⎣ 15 ⎦ ⎭ ⎣ 15 ⎦. ⎧ | A1 ∩ A 2 ∩ A3 | = ⎨30k |k = 1 , 2 , ⎩. ⎡1000 ⎤ ⎫ ⎡1000 ⎤ ,⎢ ⎥⎬ = ⎢ ⎥ = 33 。 ⎣ 30 ⎦ ⎭ ⎣ 30 ⎦. 由定理 4.3.5 的推论可知 |A1∪A2∪A3|=(500+333+200)−(166+100+66)+33=1033–332+33=734。 所以,不超过 1000 的自然数中,至少能被 2,3,5 之一整除的数共有 734 个。. 4.4 集合的应用 关系数据库的基本对象是表,表又是若干记录(或称为元组)的集合。关系 数据库中的关系操作是基于表的操作,其中一类关系操作就是传统的数学集合运.

(15) 算,包括并、交和差。下面的讨论假设已知 R 与 S 是两个结构相同的已知数据表, 如表 4.4.1 和表 4.4.2 所示,T 为存放结果的数据表。 表 4.4.1. 表R. 姓名. 学号. 离散数学成绩. 张三. 20081270. 78. 李四. 20081271. 68. 王五. 20081277. 80. 表 4.4.2. 表S. 姓名. 学号. 离散数学成绩. 张三. 20081270. 78. 李四. 20081271. 68. 陈七. 20081289. 88. 4.4.1 数据表的并(∪)运算. 数据表 R 和 S 的并是由属于 R 的记录或者属于 S 的记录组成的集合,运算的 结果存放在与 R 和 S 结构相同的数据表里,表示为 T = R∪S,如表 4.4.3 所示。 表 4.4.3. 数据表的并. 姓名. 学号. 离散数学成绩. 张三. 20081270. 78. 李四. 20081271. 68. 王五. 20081277. 80. 陈七. 20081289. 88. 4.4.2 数据表的差(−)运算. 数据表的差. 姓名. 学号. 离散数学成绩. 王五. 20081277. 80. 集合及其运算. 表 4.4.4. 第 章 4. 数据表 R 和 S 的差是由属于 R 但不属于 S 的记录组成的集合,运算后的结果 存放在与 R 和 S 结构相同的数据表里,表示为 T = R – S,如表 4.4.4 所示。. 4.4.3 数据表的交(∩)运算. 数据表 R 和 S 的交是由既属于 R 又属于 S 的记录组成的集合,运算后的结果 101.

(16) 102. 存放在与 R 和 S 结构相同的数据表里,表示为 T = R∩S,如表 4.4.5 所示。 表 4.4.5. 数据表的交运算. 离散数学. 姓名. 学号. 离散数学成绩. 张三. 20081270. 78. 李四. 20081271. 68. 关系数据库中的这些集合运算都可以通过相应的数据库编程语言来实现,随 着数据库编程语言的不断发展,实现的语句越来越简单。数学集合在关系数据库 中的作用十分明显,能够利用已知的数据表通过该运算产生新的结构相同的数据 表,使用结果数据表可以进行某些记录的删除操作,来避免数据表中数据的冗余, 又可以进行提取操作,来快速提取满足特殊要求的数据等。再者关系数据库中的 集合运算还能够推广到多个数据表的并、交和差运算以及它们的混合运算。. 习题四 1.列举下列集合的元素: (1)小于 20 的素数集合。 (2) {r|r 2 + r − 6 = 0, r ∈ R} 。. (3) {q|q 2 − 1 = 15, 且q 3 = 64} 。 (4) {i|i 2 − 10i − 24 < 0, 且5 ≤ i ≤ 15} 。 2.确定下列命题是真还是假,并简要的说明为什么。 (1) φ ⊆ φ 。 (2) φ ∈ φ 。. (3) φ ∈ {φ} 。 (4) φ ⊆ {φ } 。 (5) {a, b} ⊆ {a, b, c,{a, b, c}} 。 (6) {a, b} ∈ {a, b, c,{a, b, c}} 。 (7) {a, b} ∈ {a, b,{{a, b}}} 。 (8) {a, b} ⊆ {a, b,{{a, b}}} 。 3.求下列集合的幂集: (1) {a,{b}} 。 (2) {1, φ} 。. (3) {φ ,{φ}} 。 (4) {a} 的幂集。 (5) {x, y, z} 。.

(17) 4.设 E = {1, 2,3, 4,5},A = {1, 4},B = {1, 2,5},C = {2, 4} ,求下列集合:. (1) A ∩ B 。 (2) ( A ∩ B) ∪ C 。 (3) A ∩ B 。 (4) A ∪ B 。 (5) P ( A) ∩ P (C ) 。 (6) P ( A) − P (C ) 。 (7) ( A ⊕ B ) ∩ ( A ⊕ C ) 。 (8) A ∪ ( B ⊕ C ) 。 5.设 A、B、C 是 E 的子集, 若 A ∩ B = A ∩ C 且 A ∩ B = A ∩ C ,是否 B = C ?为什么? 若 A ∩ C ⊆ B ∩ C 且 A ∩ C ⊆ B ∩ C ,是否 A ⊆ B ?为什么? 若 A ∪ B = A ∪ C ,是否 B = C ?为什么? 若 A ∩ B = A ∩ C ,是否 B = C ?为什么?. 若 A ⊕ B = A ⊕ C ,是否 B = C ?为什么? 是否 P ( A) ∪ P( B) = P( A ∪ B ) ?为什么?将 ∪ 改为 ∩ ,又如何? 6.如 A,B 分别满足下列条件,则 A,B 有何关系? (1) A ∩ B = A 。 (2) A ∪ B = A 。. (3) A ⊕ B = A 。 (4) A ∩ B = A ∪ B 。 (5) A − B = B 。 (6) A − B = B − A 。 7.设 A、B、C 是任意集合,问在什么情况下下列等式成立? (1) ( A − B ) ∪ ( A − C ) = A 。 (2) ( A − B ) ∪ ( A − C ) = φ 。 (3) ( A − B ) ∩ ( A − C ) = φ 。 (4) ( A − B ) ⊕ ( A − C ) = φ 。 第 章 4 集合及其运算. 8.证明下列等式: (1) ( A − B ) ∪ B = A ∪ B 。 (2) ( A − B) ∩ B = φ 。. (3) A ∩ ( A − B ) = A − B 。 (4) A − ( B − C ) = ( A − B) ∪ ( A ∩ C ) 。 (5) A − ( B ∩ C ) = ( A − B ) ∪ ( A − C ) 。 (6) A − ( B ∪ C ) = ( A − B ) ∩ ( A − C ) 。 (7) A ∪ B = ( A ∩ B) ∪ ( A ∩ B ) ∪ ( A ∩ B) 。 103.

(18) 104. (8) ( A ∪ B) ∩ ( A ∪ C ) = ( A ∩ C ) ∪ ( A ∩ B) 。 (9) ( A ∩ C ) ∪ ( B ∩ C ) = ( A ∩ C ) ∪ ( B ∩ C ) 。 离散数学. (10) ( A ∪ C ) ∩ ( B ∪ C ) = ( A ∪ C ) ∩ ( B ∪ C ) 。 (11) ( A ∩ B) ∪ ( A ∩ C ) ∪ ( B ∩ C ) = ( A ∩ B) ∪ ( A ∩ C ) 。 (12) ( A ∩ B ) ∪ ( A ∩ C ) ∪ ( B ∩ C ∩ D) = ( A ∩ B ) ∪ ( A ∩ C ) 。 (13) A ⊕ B = A ⊕ B 。 (14) A − ( B − (C − D)) = ( A − B) ∪ (( A ∩ C ) − D) 。 9.证明下列各对条件是等价的: (1) A − B = A,B − A = B 。 (2) A ∪ B ⊆ C, A ⊆ C 且 B ⊆ C 。 (3) C ⊆ A ∩ B,C ⊆ A 且 C ⊆ B 。 (4) A ⊆ B ⊆ C,A ∪ B = B ∩ C 。 (5) A ⊆ B 且 C ⊆ D, ( A − B) ∪ (C − D) = φ 。. (6) ( A ∩ B) ∪ C = A ∩ ( B ∪ C ),C ⊆ A 。 10.设 A、B、C 是全集 E 的子集,试用文氏图说明下列命题是否为真: (1) ( A ∪ B ) ∩ ( A ∪ C ) = ( A ∩ C ) ∪ ( A ∩ B ). (2) ( A ∪ B ) ∩ ( A ∪ C ) = A ∪ ( B ∩ C ) (3) A − ( B ∪ C ) = ( A − B ) ∪ ( A − C ) (4) A − ( B ∩ C ) = ( A − B ) ∩ ( A − C ) (5) ( A ∪ B ) ∩ B ∪ C ⊆ A ∩ B (6) A ∩ B = A ∩ C ⇒ B = C 11.求 1~1000 之间(包含 1 和 1000)既不能被 5 和 6 整除,也不能被 8 整 除的整数有多少个? 12.对 24 名科技人员进行掌握外语情况的调查,其统计资料如下:会英、日、 德、法语的人数分别是 13、5、10 和 9。其中同时会英语、日语的人数为 2。同时 会说英语、德语或同时会说英语、法语,或同时会说德语、法语两种语言的人数 均为 4。会说日语的人既不会说法语也不会说德语。试求只会说一种语言的人数各 为多少?同时会说英、德、法语的人数为多少?. 实验四. 集合的基本运算. 1.实验目的 熟悉实现集合的并、交和差等基本运算。 2.实验内容 编程实现集合的并、交和差等基本运算。.

(19) 3.实验要求 列出实验目的、实验内容、实验步骤、源程序和实验结果。 4.实验参考 可以用数组、结构体、类类型等用户自定义的复合型数据类型来存储集合, 也可以采用带头结点的单链表来定义集合并用单链表的运算来实现集台的一些常 用运算。具体步骤如下: (1)确定存储集合中元素的数据结构。 (2)定义集合并初始化集合中的元素。 (3)求出集合的并、交、差等运算,并输出结果。 (4)编程实现。 使用 Visual C++编程实现集合的并、交、差等基本运算。 (5)问题的验证。 根据给出的集合验证各种运算结果的正确性。 (6)问题的拓展。 启发学生思考怎样对集合的运算进行改进,要求实现对数据库中数据表的并、 交、差等运算。 (7)写出简要实验报告。. 第 章 4 集合及其运算 105.

(20)

參考文獻

相關文件

微积分的创立是数学发展中的里程碑, 它的发展 和广泛应用开启了向近代数学过渡的新时期, 为研究 变量和函数提供了重要的方法和手段. 运动物体的瞬

[r]

3.正弦函数y=Asin(ωx+φ)的图象之间的变换关系是学生最熟悉的一种伸缩变换.教 材从学生最熟悉的这一内容入手 ,分别比较了函数y=sin2x 和y=sinx 的图象之间的关

[r]

为此, 我们需要建立函 数的差商与函数的导数间的基本关系式, 这些关系式称为“微分学中值定理”...

十、信息的传递

2.

(2)当计算机遇到 WHILE 语句时,先判断条件的真假,如果条件符合,就执行 WHILE 与 WEND