离散数学【02】——基本结构:集合、函数、序列等

1. 基本结构

逻辑和证明是离散的基础,在离散数学的许多内容主要研究用以表示离散对象的离散结构。而许多重要的离散结构都是用集合来构建的。故集合在离散数学中占有着极其重要的地位,是理解往后离散数学内容的关键。可以列举出集合构建的离散结构有:组合——无序对象汇集,广泛用于计数;关系——序偶的集合用于表示对象之间的关系;图——结点和连接结点的边的集合;有限状态机——为计算机器建模。

而与集合关系精密的一个概念是函数,函数揭示了映射关系。函数给第一个集合的每个元素指派第二个集合中的恰好一个元素,这两个集合不一定要不同。函数使用的也极其广泛。而通过集合和函数而来的一种特殊的函数得到一个概念是序列,序列在离散数学中也常常谈及。

求和是离散数学常见的问题,许多离散问题都是来解决求和计数问题的。

矩阵在关系的研究中起到了重要作用 。

2. 集合

集合是离散数学中最基本的离散结构,所有其他离散结构都建立于集合之上。
定 义   1 :   集 合 是 不 同 对 象 的 一 个 无 序 的 聚 集 , 对 象 也 称 为 集 合 的 元 素 ( e l e m e n t ) 或 员 ( m e m b e r ) 。 集 合 包 含 ( c o n t a i n ) 它 的 元 素 。 我 们 用 a ∈ A 来 表 示 a 是 集 合 A 中 的 一 个 元 素 。 记 号 a ∉ A 表 示 a 表 示 不 是 集 合 A 中 的 一 个 元 素 {\color{Purple}{定义\,1:}}\,集合是不同对象的一个无序的聚集,对象也称为集合的元素(element)或员(member)。\\ 集合包含(contain)它的元素。我们用a\in A来表示a是集合A中的一个元素。\\ 记号a\notin A表示a表示不是集合A中的一个元素 1:(element)(member)(contain)aAaAa/AaA
可以通过花名册方法 (roster method)集合构造器 (set builder) 描述集合。

花名册方法就是使用枚举的方式列出元素,如 a , b , c , d {a,b,c,d} a,b,c,d

集合构造器,是通过描述作为集合的成员必须具有的性质来刻画集合中的那些元素。一般形式是 { x ∣ x 具 有 性 质 P } \left \{ x|x具有性质P\right \} {xxP}

集合还可以使用文氏图形象的表示。文氏图常用来表示集合之间的关系。全集 U U U 使用方框表示,表示要考虑的全部对象。在方框内部,使用圆形或其他集合图形表示集合,有时会用点表示集合中的元素。


有一些数学中极其常用的集合
N = { 0 , 1 , 2 , 3 , . . . } , 所 有 自 然 数 Z = { . . . , − 2 , − 1 , 0 , 1 , 2 , . . . } , 所 有 整 数 的 集 合 Z + = { 1 , 2 , 3 , . . . } , 所 有 正 整 数 集 合 Q = {   p / q   ∣   p ∈ Z , q ∈ Z , 且   q ≠ 0 } , 所 有 有 理 数 集 合 R , 所 有 实 数 集 合 R + , 所 有 正 实 数 的 集 合 C , 所 有 复 数 的 集 合 N =\left\{0,1,2,3,...\right \},所有自然数 \\ Z = \left\{...,-2,-1,0,1,2,...\right \},所有整数的集合\\ Z^{+} = \left\{1,2,3,...\right \},所有正整数集合\\ Q =\left\{\,p/q\,|\,p\in Z,q\in Z,且\,q\neq0 \right \},所有有理数集合\\ R,所有实数集合\\ R^{+},所有正实数的集合\\ C,所有复数的集合 N={0,1,2,3,...},Z={...,2,1,0,1,2,...},Z+={1,2,3,...},Q={p/qpZ,qZ,q=0},R,R+,C,
出于离散数学在计算机科学的重要作用,故这点启发要在此处提出:计算机科学中的数据类型或类型的概念是建立在集合这一概念上的。特别地,数据类型或类型是一个集合连同作用于该集合对象上的一组操作的整体名称。

2.1 集合相等与子集

定 义   2 :   两 个 集 合 相 等 当 且 仅 当 它 们 拥 有 同 样 的 元 素 。 所 以 , 如 果 A 和 B 是 集 合 , 则 A 和 B 相 等 当 且 仅 当 ∀ x ( x ∈ A ↔ x ∈ B ) 。 如 果 A 和 B 是 相 等 的 集 合 , 就 记 为 A = B {\color{Purple}{定义\,2:}}\,两个集合相等当且仅当它们拥有同样的元素。\\所以,如果A和B是集合,则A和B相等当且仅当\forall x(x\in A \leftrightarrow x\in B)。\\ 如果A和B是相等的集合,就记为A = B 2:ABABx(xAxB)ABA=B

有几个特殊的集合需要特别提出来:
空集(null set 或 empty set):不含任何元素的集合。用 ∅ \varnothing 表示。

单元素集合(singleton set): 只要一个元素的集合。注意区分单元素集 { ∅ } \left \{\varnothing\right \} {} 和空集 ∅ \varnothing
定 义   3 :   集 合 A 是 集 合 B 的 子 集 并 且 B 是 集 合 A 的 超 集 当 且 仅 当 A 的 每 个 元 素 也 是 B 中 的 元 素 。 我 们 用 记 号 A ⊆ B 表 示 A 是 B 集 合 的 子 集 。 另 外 如 果 要 强 调 B 是 A 的 超 集 , 可 以 用 等 价 的 记 号 B ⊇ A 。 {\color{Purple}{定义\,3:}}\,集合A是集合B的子集并且B是集合A的超集当且仅当A的每个元素也是B中的元素。\\我们用记号 A\subseteq B表示A是B集合的子集。\\ 另外如果要强调B是A的超集,可以用等价的记号B\supseteq A。 3:ABBAABABABBABA
A ⊆ b 当 且 仅 当 量 化 式   ∀ x ( x ∈ A → x ∈ B )   为 真 。 A\subseteq b 当且仅当 量化式\,\forall x(x\in A\rightarrow x\in B)\,为真。 Abx(xAxB)
定 理   1 :   对 于 任 意 集 合 S , 有 : ( i )   ∅ ⊆ S , ( i i )   S ⊆ S {\color{DarkBlue}{定理\,1:}}\,对于任意集合S,有:(i)\,\varnothing \subseteq S,(ii)\,S\subseteq S 1:S(i)S,(ii)SS


真子集,真子集是强调 A A A B B B 的子集且 A ≠ B A \neq B A=B, 可以写成 A ⊂ B A \subset B AB A A A B B B 的真子集当且仅当
∀ x ( x ∈ A → x ∈ B ) ∧ ∃ ( x ∈ B ∧ x ∉ A ) \forall x(x\in A \rightarrow x\in B)\wedge \exist(x\in B\wedge x\notin A) x(xAxB)(xBx/A)
为真。


证明两个集合相等的另一种方法:为证明两个集合 A A A B B B 相等,需要证明 A ⊆ B 和 B ⊆ A A \subseteq B 和 B \subseteq A ABBA

幂集的概念在此也可引出
定 义   4 :   给 定 集 合 S , S 的 幂 集 ( p o w e r   s e t ) 是 集 合 S 所 有 子 集 的 集 合 。 S 的 幂 集 记 为 P ( S ) {\color{Purple}{定义\,4:}}\, 给定集合S,S的幂集(power\,set)是集合S所有子集的集合。S的幂集记为P(S) 4:SS(powerset)SSP(S)

2.2 集合的大小

集合的大小这个概念还是比较重要的,所以单独拿出小节来说明,此处也只定义了有限的集合的大小。
定 义   5 :   令 S 为 集 合 。 如 果 S 中 恰 有 n 个 不 同 的 元 素 , 这 里 n 是 非 负 整 数 , 我 们 就 说 S 是 有 限 集 , 而 n 是 S 的 基 数 。 S 的 基 数 记 为 ∣ S ∣ {\color{Purple}{定义\,5:}}\,令S为集合。如果S中恰有n个不同的元素,这里n是非负整数,我们就说S是有限集,\\而n是S的基数。S的基数记为|S| 5:SSnnSnSSS

那么
定 义   6 :   一 个 集 合 称 为 是 无 限 的 , 如 果 它 不 是 有 限 。 {\color{Purple}{定义\,6:}}\,一个集合称为是无限的,如果它不是有限。 6:

2.3 笛卡尔积

笛卡尔积也单独拿出一个小节,是我认为这是学习集合后的接触的第一个有序的元素组集合。
定 义   7 :   有 序 n 元 组 ( o r d e r e d   n − t u p l e ) ( a 1 , a 2 , . . . , a n ) 是 以 a 1 为 第 1 个 元 素 , a 2 为 第 2 个 元 素 , . . . , a n 为 第 n 个 元 素 的 有 序 聚 集 。 {\color{Purple}{定义\,7:}}\,有序n元组(ordered\,n-tuple)(a_1,a_2,...,a_n)是以a_1为第1个元素,a_2为第2个元素,...,\\a_n为第n个元素的有序聚集。 7:n(orderedntuple)(a1,a2,...,an)a11a22...,ann
另外有序二元组称为序偶(ordered pair)
定 义   8 :   令 A 和 B 为 集 合 。 A 和 B 的 笛 卡 尔 积 ( C a r t e s i a n   p r o d u c t ) 用 A × B 表 示 , 是 所 有 序 偶 ( a , b ) 的 集 合 , 其 中 a ∈ A 且 b ∈ B 。 于 是 , A × B = { ( a , b ) ∣ a ∈ A ∧ b ∈ B } {\color{Purple}{定义\,8:}}\,令A和B为集合。A和B的笛卡尔积(Cartesian\,product)用A\times B表示,是所有序偶(a,b)的集合,\\其中a\in A且b\in B。于是,\\ A\times B=\left \{(a,b)|a\in A \wedge b\in B\right \} 8:ABAB(Cartesianproduct)A×B(a,b)aAbB,A×B={(a,b)aAbB}

定 义   9 :   集 合 A 1 , A 2 , . . . , A n 的 笛 卡 尔 积 用 A 1 × A 2 × . . . × A n 表 示 , 是 有 序 n 元 组 ( a 1 , a 2 , . . . a n ) 的 集 合 , 其 中 a i 属 于 A i , i = 1 , 2 , . . . , n 。 换 言 之 A 1 × A 2 × . . . × A n = { ( a 1 , a 2 , . . . a n ) ∣ a i ∈ A i , i = 1 , 2 , . . . , n } {\color{Purple}{定义\,9:}}\,集合A_1,A_2,...,A_n的笛卡尔积用A_1\times A_2\times ...\times A_n表示,是有序n元组(a_1,a_2,...a_n)的集合,\\其中a_i属于A_i,i=1,2,...,n。换言之\\ A_1\times A_2 \times...\times A_n = \left \{(a_1,a_2,...a_n)|a_i\in A_i,i=1,2,...,n\right \} 9:A1,A2,...,AnA1×A2×...×Ann(a1,a2,...an)aiAi,i=1,2,...,nA1×A2×...×An={(a1,a2,...an)aiAi,i=1,2,...,n}

可以稍微提到笛卡尔积 A × B A\times B A×B的一个子集 R R R 被称为从集合 A A A 到集合 B B B关系(relation)

2.4 量词和集合

在讨论量词时会有一个论域,论域其实就是一个集合,那么可能会看到如下的表示
∀ x ∈ S ( P ( x ) ) 是   ∀ x ( x ∈ S → P ( x ) )   的 简 写 ∃ x ∈ S ( P ( x ) ) 是   ∃ x ( x ∈ S ∧ P ( X ) )   的 简 写 \forall x\in S(P(x)) 是\, \forall x(x\in S \rightarrow P(x))\,的简写 \\ \exist x\in S(P(x)) 是\, \exist x(x\in S \wedge P(X))\,的简写 xS(P(x))x(xSP(x))xS(P(x))x(xSP(X))
当谓词与集合联系起来便还会有一个真值集的概念

给定谓词 P P P 和论域 D D D ,定义 P P P真值集(truth set) 为 D 中使 P ( x ) P(x) P(x) 为真的元素 x x x 组成的集合 P ( x ) P(x) P(x) 的真值集记作为 { x ∈ D ∣ P ( x ) } \left \{x\in D|P(x) \right \} {xDP(x)}

2.5 集合运算

集合的运算是一个重要的内容,在此定义的序号重新从1开始
定 义   1 :   令 A 和 B 是 集 合 。 集 合 A 和 B 的 并 集 , 用 A ∪ B 表 示 , 是 一 个 集 合 , 它 含 A 或 B 中 或 同 时 在 A 和 B 中 的 元 素 。 A ∪ B = { x ∣ x ∈ A ∨ x ∈ B } {\color{Purple}{定义\,1:}}\,令A和B是集合。集合A和B的并集,用A\cup B表示,是一个集合,它含A或B中或同时在A和B中的元素。\\ A\cup B=\left \{x |x\in A \vee x\in B \right \} 1:ABABABABABAB={xxAxB}

定 义   2 :   令 A 和 B 是 集 合 。 集 合 A 和 B 的 交 集 , 用 A ∩ B 表 示 , 是 一 个 集 合 , 它 包 含 同 时 在 A 和 B 中 的 元 素 。 A ∩ B = { x ∣ x ∈ A ∧ x ∈ B } {\color{Purple}{定义\,2:}}\,令A和B是集合。集合A和B的交集,用A\cap B表示,是一个集合,它包含同时在A和B中的元素。\\ A\cap B = \left \{x|x\in A \wedge x\in B\right \} 2:ABABABABAB={xxAxB}

定 义   3 :   令 A 和 B 是 集 合 。 A 和 B 的 差 集 , 用 A − B 表 示 , 是 一 个 集 合 , 它 包 含 属 于 A 而 不 属 于 B 的 元 素 。 A 和 B 的 差 集 也 称 为 B 相 对 于 A 的 补 集 A − B = { x ∣ x ∈ A ∧ x ∉ B } {\color{Purple}{定义\,3:}}\,令A和B是集合。A和B的差集,用A-B表示,是一个集合,它包含属于A而不属于B 的元素。\\A和B的差集也称为B相对于A的补集\\ A-B=\left \{x|x\in A\wedge x\notin B\right \} 3:ABABABABABBAAB={xxAx/B}

定 义   4 :   令 U 为 全 集 。 集 合 A 的 补 集 , 用 A ˉ 表 示 , 是 相 对 与 U 的 补 集 。 所 以 , 集 合 A 的 补 集 是 U − A 。 A ˉ = { x ∣ x ∈ U ∧ x ∉ A } {\color{Purple}{定义\,4:}}\,令U为全集。集合A的补集,用\bar{A}表示,是相对与U的补集。所以,集合A的补集是U-A。\\ \bar{A}=\left\{x|x\in U \wedge x \notin A\right\} 4:UAAˉUAUAAˉ={xxUx/A}

对于集合中的恒等式,是与逻辑等价式极其相同的。集合恒等式,逻辑等价式都被认为是布尔代数恒等式的特例。逻辑等价式已经在逻辑和证明中列出,在此便不在具体列出集合恒等式。

但是有一个新的概念在恒等式中提出,即成员表,这是一种类似真值表的应用于集合中的概念。在成员表中用1表示属于一个集合,用零表示不属于一个集合,在填写成员表时我们将考虑一个元素可能属于的原子集合的每一种组合。如:

A A A B B B A ∩ B A\cap B AB
111
100
010
000

故现在证明集合恒等式的方式有三种:

  • 子集方法
  • 成员表
  • 应用已知的恒等式

2.6 接下来是一些零碎的东西

我认为比较重要的一点是,集合的计算机表示。只是提到一种思想,这种思想非常值得我学习。

假定全集 U U U 是有限的(而且大小合适,使 U U U 的元素个数不超过计算机能使用的内存量)首先为 U U U 的元素任意规定一个顺序,假如是 a 1 , a 2 , . . . , a n ) a_1,a_2,...,a_n) a1,a2,...,an)。于是可以用长度为 n n n 的比特串来表示 U U U 的子集 A A A : 其中比特串的第 i i i 位是1,如果 a i a_i ai 属于 A A A;如果 a i a_i ai 不属于 A A A, 是 0。那么也就可以想象到集合的交并补将变成布尔代数的运算。

其次还有多重集,多重集,现在我想我知道有这么一个事物存在足够了。

2. 函数

定 义   1 :   令 A 和 B 为 非 空 集 合 。 从 A 到 B 的 函 数 f 是 对 元 素 的 一 种 指 派 , 对 A 的 每 个 元 素 恰 好 指 派 B 的 一 个 元 素 。 如 果 B 中 元 素 b 是 唯 一 由 函 数 f 指 派 给 A 中 元 素 a 的 , 则 我 们 就 写 成 f ( a ) = b 。 如 果 f 是 从 A 到 B 的 函 数 , 就 写 成 f : A → B 。 {\color{Purple}{定义\,1:}}\,令A和B为非空集合。从A到B的函数f是对元素的一种指派,对A的每个元素恰好指派B的一个元素。\\如果B中元素b是唯一由函数f指派给A中元素a的,则我们就写成f(a)=b。\\ 如果f是从A到B的函数,就写成f:A\rightarrow B。 1:ABABfABBbfAaf(a)=bfABf:AB

注:函数有时也称为映射(mapping)变换(transformation)
定 义   2 :   如 果 f 是 从 A 到 B 的 函 数 , 我 们 说 A 是 f 的 定 义 域 ( d o m a i n ) , 而 B 是 f 的 陪 域 ( c o d o m a i n ) 。 如 果 f ( a ) = b , 我 们 说 b 是 a 的 像 ( i m a g e ) , 而 a 是 b 的 原 像 ( p r e i m a g e ) 。 f 的 值 域 或 像 是 A 中 元 素 的 所 有 像 的 集 合 。 如 果 f 是 从 A 到 B 的 函 数 , 我 们 说 f 把 A 映 射 到 B 。 {\color{Purple}{定义\,2:}}\,如果f是从A到B的函数,我们说A是f的定义域(domain),而B是f的陪域(codomain)。\\如果f(a)=b,我们说b是a的像(image),而a是b的原像(preimage)。\\ f的值域或像是A中元素的所有像的集合。\\ 如果f是从A到B的函数,我们说f把A映射到B。 2:fABAf(domain),Bf(codomain)f(a)=b,ba(image),ab(preimage)fAfABfAB
可以看到定义函数时,需要定义它的定义域、陪域、定义域中元素到倍域的映射。当两个函数有相同的定义域、陪域,定义域中的每个元素映射到陪域中相同的元素时,这两个函数是相等的


有一个部分函数的概念,部分函数可能并不像第一眼看见它而想象中的样子,它是说明了一种某些元素无定义的情况。
定 义   3 :   一 个 从 集 合 A 到 集 合 B 的 部 分 函 数 ( p a r t i a l   f u n c t i o n ) f 是 给 A 的 一 个 子 集 ( 成 为 f 的 定 义 域 ( d o m a i n   o f   d e f i n i t i o n ) ) 中 的 每 个 元 素 a 指 派 B 中 唯 一 的 元 素 b 。 集 合 A 和 B 分 别 称 为 f 的 域 和 陪 域 。 我 们 说 f 对 于 A 中 但 不 在 f 的 定 义 域 中 的 元 素 无 定 义 ( u n d e f i n e d ) 。 当 f 的 定 义 域 等 于 A 时 , 就 说 f 是 全 函 数 ( t o t a l   f u n c t i o n ) {\color{Purple}{定义\,3:}}\,一个从集合A到集合B的部分函数(partial\,function)f是给A的一个子集\\(成为f的定义域(domain\,of\,definition))中的每个元素a指派B中唯一的元素b。集合A和B分别称为f的域和陪域。\\我们说f对于A中但不在f的定义域中的元素无定义(undefined)。\\当f的定义域等于A时,就说f是全函数(total\,function) 3:AB(partialfunction)fA(f(domainofdefinition))aBbABffAf(undefined)fAf(totalfunction)


2.1 一对一函数和映射函数

定 义   4 :   函 数 f 称 为 是 一 对 一 ( o n e − t o − o n e ) 或 单 射 ( i n j e c t i o n ) 函 数 , 当 且 仅 当 对 于 f 的 定 义 域 中 的 所 有 a 和 b 有 f ( a ) = f ( b ) 蕴 含 a = b 。 一 个 函 数 如 果 是 一 对 一 的 , 就 称 为 是 单 射 的 ( i n j e c t i v e ) 即 ∀ a ∀ b ( f ( a ) = f ( b ) → a = b ) {\color{Purple}{定义\,4:}}\,函数f称为是一对一(one-to-one)或单射(injection)函数,\\当且仅当对于f的定义域中的所有a和b有f(a)=f(b)蕴含a=b。\\一个函数如果是一对一的,就称为是单射的(injective)\\ 即\forall a\forall b (f(a)=f(b)\rightarrow a=b) 4:f(onetoone)(injection)fabf(a)=f(b)a=b(injective)ab(f(a)=f(b)a=b)
可以看到一对一函数定义域与值域的基数是相同的。

定 义   5 :   一 个 从 A 到 B 的 函 数 f 称 为 映 上 ( o n t o ) 或 满 射 ( s u r j e c t i o n ) 函 数 , 当 且 仅 当 对 每 个 b ∈ B 有 元 素 a ∈ A 使 得 f ( a ) = b 。 一 个 函 数 f 如 果 是 映 上 的 就 称 为 是 满 射 的 ( s u r j e c t i v e ) 。 ∀ y ∃ x ( f ( x ) = y ) {\color{Purple}{定义\,5:}}\,一个从A到B的函数f称为映上(onto)或满射(surjection)函数,\\当且仅当对每个b\in B有元素a\in A使得f(a)=b。\\一个函数f如果是映上的就称为是满射的(surjective)。\\ \forall y\exist x(f(x)=y) 5:ABf(onto)(surjection)bBaA使f(a)=bf(surjective)yx(f(x)=y)
映上函数的值域基数是域陪域相同的

定 义   6 :   函 数 f 是 一 一 对 应 ( o n e − t o − o n e   c o r r e s p o m d e m c e ) 或 双 射 ( b i j e c t i o n ) 函 数 , 如 果 它 既 是 一 对 一 的 又 是 映 上 的 。 这 样 的 函 数 称 为 是 双 射 的 ( b i j e c t i v e ) {\color{Purple}{定义\,6:}}\,函数f是一一对应(one-to-one\,correspomdemce)或双射(bijection)函数,\\如果它既是一对一的又是映上的。这样的函数称为是双射的(bijective) 6:f(onetoonecorrespomdemce)(bijection)(bijective)
满射函数的定义域基数等于陪域基数,且陪域即为定义域。

2.2 函数的相关运算

我们将定义的序号重置从一开始。

先看两种被特殊命名的函数,实值函数和整数值函数。区分很简单,如果一个函数的陪域是实数集合,就是实值函数,陪域为整数集就是整数值函数。具有相同定义域的两个实值函数或两个整数值函数可以相加和相乘。
定 义   1 :   令 f 1 和 f 2 是 从 A 到 R 的 函 数 , 那 么 f 1 + f 2 和 f 1 f 2 也 是 从 A 到 R 的 函 数 , 其 定 义 为 对 于 任 意 x ∈ A ( f 1 + f 2 ) ( x ) = f 1 ( x ) + f 2 ( x ) ( f 1 f 2 ) ( x ) = f 1 ( x ) f 2 ( x ) {\color{Purple}{定义\,1:}}\,令f_1和f_2是从A到R的函数,那么f_1+f_2和f_1f_2也是从A到R的函数,其定义为对于任意x\in A\\ (f_1+f_2)(x)=f_1(x)+f_2(x)\\ (f_1f_2)(x)=f_1(x)f_2(x) 1:f1f2ARf1+f2f1f2ARxA(f1+f2)(x)=f1(x)+f2(x)(f1f2)(x)=f1(x)f2(x)
下面两个更为重要的概念是反函数和函数复合
定 义   2 :   令 f 为 从 集 合 A 到 集 合 B 的 一 一 对 应 函 数 。 f 发 反 函 数 ( 或 逆 函 数 ) 是 这 样 的 函 数 , 它 指 派 给 B 中 元 素 b 的 是 A 中 使 得 得 f ( a ) = b 唯 一 元 素 a 。 f 的 反 函 数 用 f − 1 表 示 。 于 是 当 f ( a ) = b 时 f − 1 ( b ) = a 。 {\color{Purple}{定义\,2:}}\,令f为从集合A到集合B的一一对应函数。f发反函数(或逆函数)是这样的函数,\\它指派给B中元素b的是A中使得得f(a)=b唯一元素a 。 \\f的反函数用f^{-1}表示。于是当f(a)=b时f^{-1}(b)=a 。 2:fABf()BbA使f(a)=baff1f(a)=bf1(b)=a
注意:只有双射函数有反函数。一一对应的这种关系也被称为可逆的(invertible)。
在反函数中原来的陪域变为定义域,原来的定义域变为倍域,并且陪域都等于值域。

定 义   3 :   令 g 为 从 集 合 A 到 集 合 B 的 函 数 , f 是 从 集 合 B 到 集 合 C 的 函 数 , 函 数 f 和 g 的 合 成 ( c o m p o s i t i o n ) 记 作 f ∘ g , 定 义 为 对 任 意 a ∈ A , 有 ( f ∘ g ) ( a ) = f ( g ( a ) ) {\color{Purple}{定义\,3:}}\,令g为从集合A到集合B的函数,f是从集合B到集合C的函数,\\ 函数f和g的合成(composition)记作f\circ g,定义为对任意a\in A,有\\ (f\circ g)(a)=f(g(a)) 3:gABfBCfg(composition)fg,aA,(fg)(a)=f(g(a))
这里的要求好像并没有反函数那么苛刻,但任然必须要求,g 的值域是 f 的定义域的子集

//:i


在介绍一些重要函数前,在此把三个小知识写在这儿,继续使用定义的形式,定义序号重置为1
定 义   1 :   定 义 域 和 陪 域 都 是 实 数 集 子 集 的 函 数 f 称 为 是 递 增 的 , 如 果 对 f 的 定 义 域 中 的 x 和 y , 当 x < y 时 有 f ( x ) ≤ f ( y ) ; 称 为 是 严 格 递 增 的 , 如 果 当 x < y 时 也 f ( x ) < f ( y ) 。 类 似 的 , f 称 为 是 递 减 的 , 如 果 对 f 的 定 义 域 的 x 和 y , 当 x < y 时 有 f ( x ) ≥ f ( y ) ; 称 为 是 严 格 递 减 的 , 如 果 当 x < y 时 有 f ( x ) > f ( y ) 。 ( 定 义 中 严 格 一 词 意 味 着 严 格 不 等 式 ) {\color{Purple}{定义\,1:}}\,定义域和陪域都是实数集子集的函数f称为是递增的,如果对f的定义域中的x和y,当x<y时有f(x)\leq f(y);\\ 称为是严格递增的,如果当x<y时也f(x)<f(y)。\\ 类似的,\\ f称为是递减的,如果对f的定义域的x和y,当x<y时有f(x)\geq f(y);\\ 称为是严格递减的,如果当x<y时有f(x)>f(y)。\\ (定义中严格一词意味着严格不等式) 1:ffxyx<yf(x)f(y);x<yf(x)<f(y)ffxyx<yf(x)f(y);x<yf(x)>f(y)()

定 义   2 :   令 f 为 从 集 合 A 到 集 合 B 的 函 数 , 函 数 f 的 图 是 序 偶 集 合 { ( a , b ) ∣ a ∈ A ∧ f ( a ) = b } 。 {\color{Purple}{定义\,2:}}\,令f为从集合A到集合B的函数,函数f的图是序偶集合\left \{(a,b)|a\in A \land f(a)=b \right \}。 2:fABf{(a,b)aAf(a)=b}

定 义   3 :   令 f 为 从 A 到 B 的 函 数 , S 为 A 的 一 个 子 集 。 S 在 函 数 f 下 的 像 是 由 S 中 元 素 的 像 组 成 的 B 的 子 集 。 我 们 用 f ( S ) 表 示 S 的 像 , 于 是 f ( S ) = { t ∣ ∃ s ∈ S ( t = f ( s ) } 。 我 们 也 用 简 写 { f ( s ) ∣ s ∈ S } 表 示 这 个 集 合 。 {\color{Purple}{定义\,3:}}\,令f为从A到B的函数,S为A的一个子集。S在函数f下的像是由S中元素的像组成的B的子集。\\ 我们用f(S)表示S的像,于是\\ f(S)=\left \{t|\exist s\in S(t=f(s)\right \}。\\ 我们也用简写\left\{f(s)|s\in S\right \}表示这个集合。 3:fABSASfSBf(S)Sf(S)={tsS(t=f(s)}{f(s)sS}


//:wq

2.3 一些重要的函数

有一种函数特别重要却往往别忽视,在此重点说的就是这种函数,下取整函数和上取整函数
定 义   1 :   下 取 整 函 数 ( f l o o r ) 指 派 给 实 数 x 的 是 小 于 或 等 于 x 的 最 大 整 数 。 下 取 整 函 数 在 x 的 值 用 ⌊ x ⌋ 表 示 。 上 取 整 函 数 ( c e i l l i n g ) 指 派 给 实 数 x 的 是 大 于 或 等 于 x 的 最 小 整 数 。 上 取 整 函 数 在 x 的 值 用 ⌈ x ⌉ 表 示 。 {\color{Purple}{定义\,1:}}\,下取整函数(floor)指派给实数x的是小于或等于x的最大整数。\\ 下取整函数在x的值用\lfloor x \rfloor 表示。\\ 上取整函数(ceilling)指派给实数x的是大于或等于x的最小整数。\\ 上取整函数在x的值用\lceil x \rceil表示。 1:(floor)xxxx(ceilling)xxxx
当定义域是整数时,对定义域中的每个元素,上取整函数和下取整函数的值相同。

上取整函数和下取整函数的有用性质(n为整数,x为实数)
( 1 a ) ⌊ x ⌋ = n 当 且 仅 当   n ≤ x < n + 1 ( 1 b ) ⌈ x ⌉ = n 当 且 仅 当   n − 1 < x ≤ n ( 1 c ) ⌊ x ⌋ = n 当 且 仅 当   x − 1 < n ≤ x ( 1 d ) ⌈ x ⌉ = n 当 且 仅 当 x ≤ n < x + 1 (1a)\lfloor x\rfloor=n当且仅当\,n\leq x < n+1 \\(1b)\lceil x\rceil=n当且仅当\,n-1 < x \leq n\\(1c)\lfloor x\rfloor=n当且仅当\,x-1< n \leq x \\(1d)\lceil x\rceil=n当且仅当x\leq n < x+1 (1a)x=nnx<n+1(1b)x=nn1<xn(1c)x=nx1<nx(1d)x=nxn<x+1
( 2 ) x − 1 < ⌊ x ⌋ ≤ x ≤ ⌈ x ⌉ < x + 1 (2)x-1<\lfloor x\rfloor \leq x \leq \lceil x \rceil < x+1 (2)x1<xxx<x+1
( 3 a ) ⌊ − x ⌋ = − ⌈ x ⌉ ( 3 b ) ⌈ − x ⌉ = − ⌊ x ⌋ (3a)\lfloor -x \rfloor = -\lceil x\rceil \\(3b)\lceil-x\rceil=-\lfloor x \rfloor (3a)x=x(3b)x=x
( 4 a ) ⌊ x + n ⌋ = ⌊ x ⌋ + n ( 4 b ) ⌈ x + n ⌉ = ⌈ x ⌉ + n (4a)\lfloor x+n\rfloor = \lfloor x\rfloor +n\\(4b)\lceil x+n\rceil = \lceil x\rceil + n (4a)x+n=x+n(4b)x+n=x+n

在考虑下取整时,令 x = n + ε x=n+ \varepsilon x=n+ε是一个实用的技巧,$ 0 \leq \varepsilon <1 , 同 样 向 上 取 整 , 可 以 令 ,同样向上取整,可以令 x=n-\varepsilon,0\leq\varepsilon <1$

其次阶乘函数 f : N → Z + f:N\rightarrow Z^{+} f:NZ+也是一个在离散数学中经常出现的函数,记为 f ( n ) = n ! f(n)=n! f(n)=n!
f ( n ) = 1 ⋅ 2 ⋯ ( n − 1 ) ⋅ n   并 且 f ( 0 ) = 0 ! = 1 f(n)=1\cdot2\cdots (n-1)\cdot n \,并且f(0)=0!=1 f(n)=12(n1)nf(0)=0!=1
我们用 f ( n ) ∼ g ( n ) f(n)\sim g(n) f(n)g(n)这样的表示法,表示随着n的无限递增比值 f ( n ) / g ( n ) f(n)/g(n) f(n)/g(n),趋近于1(即 lim ⁡ n → ∞ f ( n ) / g ( n ) = 1 \lim_{n\rightarrow \infty }f(n)/g(n)=1 limnf(n)/g(n)=1)。符号 ∼ \sim 读作“渐进于“。

n ! ∼ 2 π n ( n / e ) n n!\sim\sqrt{2\pi n}(n/e)^n n!2πn (n/e)n,此为斯特林公式,可以从斯特林公式继续推导而知道 l o g ( n ! ) ∼ n l o g n log(n!)\sim nlogn log(n!)nlogn,这并不是一个普通的光系,特意指出。(注此处 l o g x logx logx表示以2为低的对数)

3. 序列和求和

在我学习的这本书(离散数学及其应用,Kenneth H R.Rosen著)中将序列定义为了函数,平常理解序列时往往就是当作一个元素集的有序排列来看。当被定义为一种函数时,我感觉对序列的认识更清晰了。
定 义   1 :   序 列 ( s e q u e n c e ) 是 一 个 从 整 数 的 一 个 子 集 ( 通 常 是 结 合 0 , 1 , 2 , . . . 或 集 合 1 , 2 , 3 , . . . ) 到 一 个 集 合 S 的 函 数 。 用 记 号 a n 表 示 整 数 n 的 像 。 称 a n 为 序 列 的 一 个 项 ( t e r m ) 。 {\color{Purple}{定义\,1:}}\,序列(sequence)是一个从整数的一个子集(通常是结合{0,1,2,...}或集合{1,2,3,...})到一个集合S的函数。\\用记号a_n表示整数n的像。称a_n为序列的一个项(term)。 1:(sequence)(0,1,2,...1,2,3,...)Sannan(term)
用记号 { a n } \left \{a_n\right \} {an}来描述序列

指定序列的函数(也称闭公式)来指定序列,并不是确定序列的唯一方式,递推关系是另一种指定一个序列的方式。
定 义   2 :   关 系 序 列 { a n } 的 递 推 关 系 ( r e c u r r e n c e r e l a t i o n ) 是 一 个 等 式 , 对 所 有 满 足 n ≥ n 0 的 n , 它 把 a n 用 序 列 中 前 面 项 即 a 0 , a 1 , . . . , a n − 1 中 的 一 项 或 多 项 来 表 示 , 这 里 n 0 是 一 个 非 负 整 数 。 如 果 一 个 序 列 的 项 满 足 递 推 关 系 , 则 该 序 列 就 称 为 是 递 推 关 系 的 一 个 解 。 {\color{Purple}{定义\,2:}}\,关系序列\left \{a_n\right \}的递推关系(recurrence relation)是一个等式,\\ 对所有满足n\geq n_0的n,它把a_n用序列中前面项即a_0,a_1,...,a_{n-1}中的一项或多项来表示,\\ 这里n_0是一个非负整数。\\ 如果一个序列的项满足递推关系,则该序列就称为是递推关系的一个解。 2:{an}(recurrencerelation)nn0n,ana0,a1,...,an1n0
递推关系就是递归的定义了一个序列。


在此引出一个概念——,在计算机科学中经常使用形如 a 1 , a 2 , . . . , a n a_1,a_2,...,a_n a1,a2,...,an 的序列。这些有穷序列也称为 s t r i n g string string)。这个串也可以记作 a 1 a 2 . . . a n a_1a_2...a_n a1a2...an 。比特串就是比特的有限序列。串的长度是这个串的项数。空串是没有任何项的串,记作 λ \lambda λ 。空串长度为0。


3.1 几个序列

定 义   1 :   几 何 级 数 是 如 下 形 式 的 序 列 a , a r , a r 2 , . . . , a r n , . . . 其 中 初 始 项 a 和 公 比 r 都 是 实 数 。 {\color{Purple}{定义\,1:}}\,几何级数是如下形式的序列\\ a,ar,ar^2,...,ar^n,...\\ 其中初始项a和公比r都是实数。 1:a,ar,ar2,...,arn,...ar

定 义   2 :   算 术 级 数 是 如 下 形 式 的 序 列 a , a + d , a + 2 d , . . . , a + n d , . . . 其 中 初 始 项 a 和 公 差 d 都 是 实 数 。 {\color{Purple}{定义\,2:}}\,算术级数是如下形式的序列\\ a,a+d,a+2d,...,a+nd,...\\ 其中初始项a和公差d都是实数。 2:a,a+d,a+2d,...,a+nd,...ad

还有非常有名的斐波那契数列(Fibonacci sequence)
定 义   3 :   斐 波 那 契 数 列 f 0 , f 1 , f 2 , . . . 由 初 始 条 件 f 0 = 0 、 f 1 = 1 和 下 列 递 推 关 系 所 定 义 : f n = f n − 1 + f n − 2   , n = 2 , 3 , 4 , . . . {\color{Purple}{定义\,3:}}\,斐波那契数列f_0,f_1,f_2,...由初始条件f_0=0、f_1=1和下列递推关系所定义:\\ f_n=f_{n-1}+f_{n-2}\,,n=2,3,4,... 3:f0,f1,f2,...f0=0f1=1:fn=fn1+fn2,n=2,3,4,...
与斐波那契数列数列形式相近的还有Lucas序列,递推公式是相同的,但初始条件是不同的
L 1 = 1 , L 2 = 3 L n = L n − 1 + L n − 2   , n = 3 , 4 , 5 , . . . L_1=1,L_2=3\\ L_n=L_{n-1}+L_{n-2}\,,n=3,4,5,... L1=1,L2=3Ln=Ln1+Ln2,n=3,4,5,...

3.2 求和

常见的几个求和公式

闭形式
∑ k = 0 n a r k ( r ≠ 0 ) \sum_{k=0}^{n}ar^k(r\neq 0) k=0nark(r=0) a r n + 1 − a r − 1 , r ≠ 1 \frac{ar^{n+1}-a}{r-1},r\neq 1 r1arn+1a,r=1
∑ k = 1 n k \sum_{k=1}^{n}k k=1nk n ( n + 1 ) 2 \frac{n(n+1)}{2} 2n(n+1)
∑ k = 1 n k 2 \sum_{k=1}^{n}k^2 k=1nk2 n ( n + 1 ) ( 2 n + 1 ) 6 \frac{n(n+1)(2n+1)}{6} 6n(n+1)(2n+1)
∑ k = 1 n k 3 \sum_{k=1}^{n}k^3 k=1nk3 n 2 ( n + 1 ) 2 4 \frac{n^2(n+1)^2}{4} 4n2(n+1)2
$\sum_{k=0}{\infty}xk,x
$\sum_{k=1}{\infty}kx{k-1},x

4 集合的基数

集合的基数放在这而,是由于在此将讨论无限集的基数问题,并会涉及的函数的知识,所有必须在函数之后说明。

在有限集中基数被定义为集合的大小即集合元素的个数
定 义   1 :   集 合 A 和 集 合 B 有 相 同 的 基 数 ( c a r d i n a l i t y ) , 当 且 仅 当 存 在 从 A 到 B 的 一 个 一 一 对 应 的 函 数 。 当 A 和 B 有 相 同 的 基 数 时 , 就 写 成 ∣ A ∣ = ∣ B ∣ 。 {\color{Purple}{定义\,1:}}\,集合A和集合B有相同的基数(cardinality),当且仅当存在从A到B的一个一一对应的函数。\\ 当A和B有相同的基数时,就写成|A|=|B|。 1:AB(cardinality)ABABA=B

定 义   2 :   如 果 存 在 一 个 从 A 到 B 的 一 对 一 函 数 , 则 A 的 基 数 小 于 或 等 于 B 的 基 数 , 并 写 成 ∣ A ∣ ≤ ∣ B ∣ 。 再 者 , 当 ∣ A ∣ ≤ ∣ B ∣ 并 且 A 和 B 有 不 同 的 基 数 时 , 我 们 说 A 的 基 数 小 于 B 的 基 数 , 并 写 成 ∣ A ∣ < ∣ B ∣ 。 {\color{Purple}{定义\,2:}}\,如果存在一个从A到B的一对一函数,则A的基数小于或等于B的基数,并写成|A|\leq |B|。\\ 再者,当|A|\leq|B|并且A和B有不同的基数时,我们说A的基数小于B的基数,并写成|A|<|B|。 2:ABABABABABABA<B

下面可以定义可数集合了。
定 义   3 :   一 个 集 合 或 者 是 有 限 集 或 者 与 自 然 数 集 具 有 相 同 的 基 数 , 这 个 集 合 就 称 为 可 数 的 ( c o u n t a b l e ) 。 一 个 集 合 不 是 可 数 的 , 就 称 为 不 可 数 的 ( u n c o u n t a b l e ) 。 如 果 一 个 无 限 集 S 是 可 数 集 , 我 们 用 符 号 ℵ 0 来 表 示 集 合 S 的 基 数 ( 这 里 ℵ 是 阿 里 夫 , 希 伯 来 语 字 母 表 的 第 一 个 字 母 ) , 写 作 ∣ S ∣ = ℵ 0 , 并 说 S 有 基 数 " 阿 里 夫 零 " 。 {\color{Purple}{定义\,3:}}\,一个集合或者是有限集或者与自然数集具有相同的基数,这个集合就称为可数的(countable)。\\ 一个集合不是可数的,就称为不可数的(uncountable)。如果一个无限集S是可数集,我们用符号ℵ_0来表示集合S的基数\\ (这里ℵ是阿里夫,希伯来语字母表的第一个字母),写作|S|=ℵ_{0},并说S有基数"阿里夫零"。 3:(countable)(uncountable)S0S()S=0,S""

再想到序列的概念,那么一个无限集是可数的当且仅当可以把集合中的元素排列成序列。这是因为从正整数集合到集合S的一一对应关系f可以用序列 a 1 , a 2 , . . . , a n , . . . a_1,a_2,...,a_n,... a1,a2,...,an,...来表示,其中 a 1 = f 1 , a 2 = f ( 2 ) , . . . , a n = f ( n ) , . . . a_1=f_1,a_2=f(2),...,a_n=f(n),... a1=f1,a2=f(2),...,an=f(n),...

有理数是可数的,而实数是不可数的。

关于集合基数的一些定理(定理都是被证明过的,是可证明的):
定 理   1 :   如 果 A 和 B 是 可 数 集 合 , 则 A ∪ B 是 可 数 集 合 。 {\color{DarkBlue}{定理\,1:}}\,如果A和B是可数集合,则A\cup B是可数集合。 1:ABAB

定 理   2 :   S c h r o ¨ d e r − B e r n s t e i n 定 理   如 果 A 和 B 是 集 合 且 ∣ A ∣ ≤ ∣ B ∣ 和 ∣ B ∣ ≤ ∣ A ∣ , 则 ∣ A ∣ = ∣ B ∣ 。 换 言 之 , 如 果 存 在 一 对 一 函 数 f 从 A 到 B 和 g 从 B 到 A , 则 存 在 A 和 B 之 间 的 一 一 对 应 函 数 。 {\color{DarkBlue}{定理\,2:}}\,Schr\ddot{o}der-Bernstein定理\,如果A和B是集合且|A|\leq|B|和|B|\leq |A|,则|A|=|B|。\\ 换言之,如果存在一对一函数f从A到B和g从B到A,则存在A和B之间的一一对应函数。 2:Schro¨derBernsteinABABBAA=BfABgBAAB

有必要说明一下,定理1的的证明需要分情况,相对来说还是不难的,但定理2的证明据书本所言是很复杂和困难的。


下面内容便了解一下。

不可计数函数
定 义   4 :   一 个 函 数 称 为 是 可 计 算 的 ( c o m p u t a b l e ) , 如 果 存 在 某 种 编 程 语 言 写 的 计 算 机 程 序 能 够 计 算 该 函 数 的 值 。 如 果 一 个 函 数 不 是 可 计 算 的 , 就 是 是 不 可 计 算 的 ( u n c o m p u t a b l e ) 。 {\color{Purple}{定义\,4:}}\,一个函数称为是可计算的(computable),如果存在某种编程语言写的计算机程序能够计算该函数的值。\\ 如果一个函数不是可计算的,就是是不可计算的(uncomputable)。 4:(computable)(uncomputable)
是存在不可计算函数的,也是被证明过的。这应用到另一个结论:从正整数到自身的函数集合是不可数的。

连续统假设,了解,提到是想写一下,正整数的幂集合和实数集R具有相同的基数。

5. 矩阵

矩阵在离散数学中也应用的较多,但矩阵在线性代数中具有详细讲解,在离散数学中的应用相比线性代数对矩阵的研究还是较为基础的。就不写了。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值