离散数学教程
https://gitee.com/fakerlove/discrete-mathematics
离散数学教程
数理逻辑(1-2章)
集合论(3-4章)
图论(5-10章)
群论(11章)
1-2 章 为前期准备
3-4章 集合论
3章集合论中的 集合代数
4章 集合论中函数和二元关系
1. 命题逻辑
1.1 命题符号化
1.1.1 概念
数理逻辑:
用数学的方法研究关于推理、证明等问题的学科就叫做数理逻辑(也叫做符号逻辑)
数理逻辑的四大分支:
- 公理化集合论:研究集合论的无矛盾性问题
- 证明论:研究数学系统的逻辑结构和证明的规律
- 递归论:研究可计算性的理论
- 模型论:研究形式系统和数学模型之间的关系
命题(proposition)
能够判断真假的陈述句为命题。命题是数理逻辑中最基本的概念。如果判断正确,称命题真(true),否则称命题假(false),“真、假”是命题是属性,称为真值。
命题的几个要点:
- 真值是命题的固有属性,但是是否知道真值,能否知道真值是另一回事。
- 悖论不能作为命题。
- 命题非真即假,不能兼有之,也不能不真不假。
新概念
- 联结词(logical connectives):连接命题,对真值进行运算的词
- 原子命题(atom proposition):不含有逻辑联结词的命题
- 复合命题(compoud proposition):包含了原子命题和逻辑联结词的命题
举几个复合命题的例子:
- 雪不是白的。 (可以视为对“雪是白的”的否定)
- 今晚我去看书或者看电影。 (“或者”)
- 你去了教室,我去了食堂。 (省略了“且”)
- 如果天气好, 那么我去车站接你。 (“如果”+“那么”)
- 偶数a是素数,当且仅当a=2。(“当且仅当”)
排中律
排中律(Law of Excluded Middle):任一事物在同一时间里具有某属性或者不具有某属性,而无其他可能。排中律是传统逻辑的基本规律之一。
传统数学证明中经常采用的”反证法“即利用了排中律:
- 先写出原命题的反命题
- 证明反命题为假
- 根据排中律,证明原命题为真
1.1.2 形式化
如何把命题变成“算式”?(形式化)
使用抽象(abstraction的方法:仅关注命题的本质属性(真值),而抛弃其丰富的内涵;仅关注逻辑联结词的本质属性(运算),而抛弃多变的语言表达方式。将其变为符号,以规则相连:
真命题用t表示,假命题用f表示原子命题一般用p,q,r,s或表示逻辑联结词用特殊符号表示:
非(not):
并且(and):
或(or):$ \bigvee$
如果…那么…(if…then…):
当且仅当(if and only if):$ \leftrightarrow$
1.1.3 联结词
否定词
¬p为真的的条件是p为假。
p | ¬p |
---|---|
0 | 1 |
1 | 0 |
合取词
p⋀q为真的条件是p和q同时成立。
p | q | p⋀q |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
析取词
p | q | p⋁q |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
蕴涵词
p→q的逻辑关系是,p是q的充分条件,或者说q是p的必要条件。
p⋁q为真的条件是p和q中至少一个成立。
如果…那么…“(if…then…)
p | q | p→q |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
- “只要…就…”
- “如果…那么…“
- ”只有…才…”(蕴涵前件和蕴涵后件在句子中的顺序是颠倒过来的)
双向蕴涵词
p↔q的逻辑关系是p和q互为充分必要条件。
p | q | p↔q |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
双向蕴涵词的连接词(设p pp和q qq为l连接前后词语的命题):
“当且仅当: “除非…否则…":
1.2 命题公式和分类
1.2.1 组成成分
命题公式(proposition formula) 由命题常元、命题变元、逻辑联结词组成:
- 命题常元(proposition constants):表示具体命题及表示常命题的p,q,r,s等和t,f。
- 命题变元(proposition variables):以“真、假”为取值范围的变量,仍用p,q,r,s等表示。
- 命题公式简称公式,采用大写A,B,C等表示。
1.2.2 命题公式的定义
- 命题常元和命题变元是命题公式,称作原子公式或原子。
- 只有有限步引用以上两条所组成的符号串是命题公式。
1.2.3 优先级
我们定义逻辑联结词的优先级为:
除非有括号,否则按照优先级从高到低,从左到右的次序依次结合。
1.2.4 分类
- 重言式(永真式,tautology):命题变元的所有赋值都是命题公式的成真赋值。
- 矛盾式(永假式、不可满足式,contradiction):命题变元的所有赋值都是命题公式的成假赋值。
- 可满足式(contingency):命题公式至少有一个成真赋值。
1.2.5 关系
- 永真式都是可满足式。
- 矛盾式都不是可满足式。
- 非永真式并不都是永假式。
- 如果A是永真式,则¬A就是永假式,反之亦然。
举几个重言式的例子:
是重言式(排中律)
是矛盾式(矛盾律)
可以利用真值表来证明命题公式是哪一类。比如:
最后那一列是全“1”,即为重言式。
1.3 等值演算
等值关系一般通过真值表法或者等值演算法得到。
而不等值,只能通过真值表法,找到某个真值指派使得一个为真一个为假
A⟺B:A和B有等值关系。对任意真值指派,A与B取值相同。A⟷B为永真式。
1.3.1 逻辑等价式
当命题公式 是重言式时,则称 A逻辑等价于 B,记作 。称作逻辑等价式。
可以理解为公式 A和公式 B等值,即在任何赋值状况下它们的真值是相等的。
一些重要的逻辑等价式( A,B ,C是任意公式):
1.3.2 逻辑蕴涵式
当命题公式 是重言式时,则称 A逻辑蕴涵 B ,记作 ,称作逻辑蕴涵式。
可以理解为A的所有成真赋值都是B的成真赋值。或者说,当 A 为真时,B 一定为真。从推理的角度可以说,A 是 B 成立的前提。
每个逻辑等价式可以看作两个逻辑蕴涵式,也就是 也有 和 。因为 A 和 B 等值,所以和$ B \rightarrow A$都是重言式。
一些重要的逻辑蕴涵式( A,B 是任意公式)
永真蕴含式
1.3.3 代入原理
将重言式 A中的某个命题变元 p的所有出现都代换为命题公式 B ,得到的命题公式记作 A(B/p), A(B/p)也是重言式。
有以下两点需注意:
- 若仅仅代换 p的部分出现,则代换后的 A 不一定是重言式。
- 如果 B中包含了 p 或者 A中其他变元,本原理依旧成立。
1.3.4 替换原理
替换原理:将命题公式 A中的子公式 C替换为和 C逻辑等价的公式 D,得到的命题公式记作 B ,则
注意,此处不要求全部出现都进行替换。
1.3.5 证明
逻辑等价式
1.4 范式
1.4.1 概念
范式:在命题公式的多个逻辑等价的形式中,较为符合“标准”或“规范”的一种形式。
范式有一些基本的术语:
- 文字:命题常元、命题变元和它们的否定,两个命题常元和命题变元称为正文字,它们的否定称为负文字。
- 析取子句:文字或者若干文字的析取,如:p , ,。
- 合取子句:文字或者若干文字的合取,如:p, , 。
- 互补文字对:指一对正文字合负文字,如:p 和 ¬p 。
1.4.2 析取范式
如果:
A' 为合取子句或者若干合取子句的析取 则公式 A' 称作公式 A 的析取范式。
例如:
- 的析取范式为:(视为合取子句的析取)
- 的析取范式为:
1.4.3 合取范式
如果:
- A' 为析取子句或者若干析取子句的合取则公式 A AA' 称作公式 A AA 的合取范式。
例如:
的合取范式为:(视为当个析取子句,联系吸收律)的合取范式为:或
1.4.4 求范式的步骤
一般步骤
消去公式中的联结词 → 和 ↔ 。可以利用蕴涵等值式和等价等值式。
利用德摩根律将否定联结词 ¬ 向内深入,最后只作用于文字,再将 ¬¬p 化为 p 。
利用分配律,最后得到需要的析取或合取范式。
唯一性问题
1.4.5 主范式
如果:
A' 是 A 的析取范式 A' 中每一个合取子句里每一个命题变元均恰出现一次(不能多于一次,也不能不出现) 则公式 A' 称作公式 A 的主析取范式(major disjunctive form)。
例题
例题:
┐(p∨q)⟷(p∧q)
⟺(┐(p∨q)∧(p∧q))∨((p∨q)∧┐(p∧q))
⟺(┐p∧┐q∧p∧q)∨((p∨q)∧(┐p∨┐q))
⟺((p∨q)∧(┐p∨┐q))
⟺(p∧┐p)∨(p∧┐q) ∨(q∧┐p)∨(q∧┐q)
⟺(p∧┐q) ∨(q∧┐p) 为析取范式
┐(p∨q)⟷(p∧q)
⟺(┐(p∨q)→(p∧q))∧((p∧q)→┐(p∨q))
⟺((p∨q)∨(p∧q))∧(┐(p∧q)∨┐(p∨q))
⟺((p∨q)∨(p∧q))∧((┐p∨┐q)∨(┐p∧┐q))
⟺(p∨q)∧(┐p∨┐q)为合取范式
⭐️例题:
((p∨q)→r)→p
要求主析取范式首先要求得析取范式为p∨(q∧┐r)
⟺( p∧(┐q∨q)∧(┐r∨r) )∨( (┐p∨p)∧(q∧┐r) )
⟺(p∧┐q∧┐r)∨(p∧┐q∧r)∨ (p∧q∧┐r)∨(p∧q∧r)∨ (┐p∧q∧┐r)∨(p∧q∧┐r)
⟺m4∨m5∨m6∨m7∨m2∨m6
⟺m2∨m4∨m5∨m6∨m7
⟺∑(2, 4, 5, 6, 7)
要求主合取范式首先要求得合取范式为 (p∨q)∧(p∨┐r)
⟺(p∨q∨(r∧┐r))∧(p∨(q∧┐q)∨┐r)
⟺(p∨q∨r)∧(p∨q∨┐r) ∧(p∨q∨r)∧(p∨┐q∨┐r)
⟺(p∨q∨r)∧(p∨q∨┐r)∧(p∨┐q∨┐r)
⟺M0∧M1∧M3
⟺∏(0, 1, 3)
1.5 联结词
1.5.1 概念
功能完备集
设S是一个联结词集合,如果任意一个真值函数都可以仅用某个联结词集S中的联结词的命题公式表示,则称这个联结词集S为功能完备集。
举几个功能完备集的例子:
- {¬,⋀,⋁,→,↔}
- {¬,⋀,⋁}
- {¬,→}
- {¬,⋀}
- {¬,⋁}
冗余联结词
在一个联结词集中,如果某个联结词可以用集合中的其他联结词来定义,则这个联结词称作冗余联结词。
例如在{¬,⋀,⋁,→,↔} 中就存在冗余联结词。
极小集
如果一个功能完备集中不含冗余联结词,则称这个功能完备集为极小集。
例如{¬,→} ,{¬,⋀} ,{ ¬ , ⋁ } {¬,⋁} 都是极小集。
1.5.2 联结词
定义联结词 (Peirce记号),
称为或非联结词
则 { ↓ } { \downarrow }{↓} 是功能完备集。证明如下:
1.6 推理
判断一个推理形式是否正确,从定义上讲就是判断一个蕴涵式是否是重言式
推理的形式结构为{A1, ..., Ak} |-B
推论形式正确当且仅当A1∧...∧Ak→B为重言式
当且仅当前提为真结论为假时,推论不成立
前提A1∧...∧Ak为假时,推论必成立
判断重言式是否成立可以通过真值表法、等值演算法、析取范式法
1.6.1 推理定律
附加律A⟹(A∨B)
化简律(A∧B) ⟹A
假言推理/分离式 (A→B)∧A⟹B
拒取式(A→B)∧┐B⟹┐A
析取三段论(A∨B)∧┐B⟹A
假言三段论(A→B)∧(B→C)⟹(A→C)
等价三段论(A⟷B)∧(B⟷C)⟹(A⟷C)
构造线二难(A→B)∧(C→D)∧(A∨C)⟹(B∨D)、(A→B)∧(┐A→B)⟹B
破坏性二难(A→B)∧(C→D)∧(┐B∨┐D)⟹(┐A∨┐C)
1.6.2 自然推理系统
附加前提证明法
(A1∧...∧Ak)→(A→B)
⟺(A1∧...∧Ak)→(┐A∨B)
⟺┐(A1∧...∧Ak)∨(┐A∨B)
⟺┐(A1∧...∧Ak∧A)∨B
⟺(A1∧...∧Ak∧A)→B
即将结论中的前件作为推理的前提,使结论为B
归谬法
相容(可满足式)、不相容(矛盾式)
(A1∧...∧Ak)→B
⟺┐(A1∧...∧Ak)∨B
⟺┐(A1∧...∧Ak∧┐B)
若(A1∧...∧Ak∧┐B)为矛盾式,则(A1∧...∧Ak)→B为重言式
消解证明法
把前提中所有公式、结论的否定,都化成等值的合取范式
随后不断引入和消解
直到得到空式,则证明推理是正确的
举例:
如果三角形的两边相等,则其所对的角相等;一个三角形的两边不相等,所以其所对角不相等。
设 p: 三角形的两边相等
q: 三角形的两边所对的角相等
则推理的形式结构为 (p⟹q)∧┐(p⟹┐q)
转换为蕴涵式形式(p→q)∧┐(p→┐q)却不是重言式,表明推理不正确,或论证并非有效
2. 一阶逻辑
2.1 基本概念
个体
- 个体常项:表示具体或特定的客体的个体词,用a, b, c表示
- 个体变项:表示抽象或者泛指的个体词,用x, y, z表示
- 个体域(论域)——个体变项的取值范围
例子
有限个体域,如 {a, b, c}, {1, 2}
无限个体域,如 N, Z, R, …
全总个体域——由宇宙间一切事物组成
谓词
谓词——表示个体词性质或相互之间关系的词,常用F,G,H等表示。
谓词常项 表示具体性质或关系的谓词。 如, F(a):a是人
谓词变项 表示抽象的或者泛指的性质或关系。如, F(x):x具有性质F
谓词中包含的个数词称为元数
含有n(n>1)个个体变项x1, x2 ,…, xn 的谓词P称作n元谓词,n(n>1)元谓词,记为:P(x1, x2 ,…, xn )
一元谓词(n=1)——表示性质, P(x1)表示x1具有性质P
多元谓词(n2)——表示事物之间的关系,P(x1, x2 ,…, xn )表示x1, x2 ,…, xn 具有关系P。
0元谓词——不含个体变项的谓词, 即命题常项或命题变项
量词
- 量词——表示个体常项或变项之间数量关系的词
- 全称量词: 日常生活中常用的"一切的","所有的","每一个","任意的","凡","都"等词统称为全体量词,
- 存在量词: 表示存在, 有一个,有的,至少有一个.
2.2 一阶逻辑合式公式及解释
2.2.1 概念
设L是一个非逻辑符集合, 由L生成的一阶语言L 的字母表包括下述符号:
字母表
非逻辑符号
- 个体常项符号:a, b, c, …, ai, bi, ci, …, i $\ge$1
- 函数符号:f, g, h, …, fi, gi, hi, …, i $\ge$1
- 谓词符号:F, G, H, …, Fi, Gi, Hi, …, i $ \ge$1
逻辑符号
- 个体变项符号:
- 量词符号:
- 联结词符号:
- 括号与逗号:(, ), ,
项的递归定义
(1) 个体常项和个体变项是项.
(2) 若)是任意的n元函数,t1, t2, …, tn是任意的n个项,则$\phi(t_1, t_2, …, t_n) $是项.
(3) 所有的项都是有限次使用(1),(2)得到的. 如, a, x, x+y, f(x), g(x,y)等都是项
原子公式
设R(x1, x2, …, xn)是L 的任意n元谓词,t1, t2, …, tn 是L 的任意n个项,则称R(t1, t2, …, tn)是L 的原子公式. 如,F(x, y), F(f(x1, x2), g(x3, x4))等均为原子公式
合式公式定义如下:
(1) 原子公式是合式公式.
(2) 若A是合式公式,则 (A)也是合式公式
(3) 若A, B是合式公式,则(AB), (AB), (AB), (AB)也是合式公式
(4) 若A是合式公式,则xA, xA也是合式公式
(5) 只有有限次地应用(1)—(4)形成的符号串才是合式公式.
指导变元
在公式 xA 和 xA 中,称x为指导变元,A为相应量词的辖域. 在 x和 x的辖域中,x的所有出现都称为约束出现,A中不是约束出现的其他变项均称为是自由出现的.
若公式A中不含自由出现的个体变项,则称A为封闭的公式,简称闭式.
将谓词公式中的约束变元更改名称符号,这一过程称为约束变元换名。
约束变元的换名规则:
- 换名时,更改的变元名称的范围是量词中的指导变元,以及该量词辖域中所出现的所有该变元,公式的其余部分不变;
- 换名时一定不能更改为该量词辖域中的其他变元名称。 为了使一个变元在同一个公式中只以一种身份出现,除了进行约束变元换名外,也可以进行自由变元代入。
自由变元的代入规则:
1)将给定公式中出现该自由变元的每一处都用新的个体变元替换; 2)新变元不允许在原公式中以任何约束形式出现。
谓词逻辑中公式A的每一个解释(赋值)I由以下几部分构成:
1)非空个体域D;
2)D中的某些特定元素;
3)D中的某些特定的函数;
4)D中某些特定的谓词。
三种式子
- 若公式A在任何解释下均为真, 则称A为永真式(逻辑有效式).
- 若A在任何解释下均为假, 则称A为矛盾式(永假式,不可满足的).
- 若至少有一个解释使A为真, 则称A为可满足式
定理4.2 重言式的代换实例都是永真式(逻辑有效的),矛盾式的代换实例都是矛盾式(不可满足的). 【可以用来判断公式的类型,可满足的进行解释就行】
2.3 一阶逻辑等值式与前束范式
2.3.1 一阶逻辑等值式
定理
公式
2.3.2 一阶逻辑前束范式
定理
例题
(前束范式存在定理)一阶逻辑中的任何公式都存在等值的前束范式.
3. 集合-集合代数



闭包求解
三种闭包关系图求解详解
例子
闭包运算求解
特殊关系
4.6 等价关系和偏序关系
4.6.1 等价关系
1) 概念
用关系图表示等价关系(全关系)
2) 等价类
3) 等价类的性质
4) 商集
等价类的集合
5) 划分/块/类
由R所导出的等价划分
由划分π所导出(所对应)的等价关系
求集合A的等价关系及其对应的商集
6) 划分的加细
4.6.2 偏序关系
1) 偏序关系定义
- 设R为非空集合A上的关系,若R是自反的、反对称的、传递的,则称R为A上的偏序关系。简称偏序,记作≼
- 设≼为A上的偏序关系,若有有序对<x,y>属于偏序≼,可记作xx≼y,读作x小于等于y,不过这里的“小于等于”不是指数的大小,而是指它们在偏序中的位置先后。
- 例如在集合A={1,2,3}中,偏序≼是A上的大于等于关系,则: ≼={❤️,3>,❤️,2>,❤️,1>,<2,2>,<2,1><1,1>} 那么就有3≼2、3≼1等,它们分别表示<3,2>∈≼、❤️,1>∈≼
2) 偏序集定义
3) 可比、覆盖
例如:$ <A,\preccurlyeq>A={1,2,3,4,5}, \preccurlyeq$是整除关系。
对于1和2来说,并且不存在使得1整除z并且z整除2,所以2盖住1,同样的有4盖住2,但4不盖住1因为有
显然的,若x与y不可比,则一定不会有x盖住y或反之。
4) 哈斯图
对于又穷的偏序集可以用哈斯图来描述。在哈斯图中,每一个节点表示A 中的一个元素,节点位置按它们在偏序集中的次序从低向上排列。若y盖住x则在xy之间连一条直线。
例如: 是偏序集,其中,是整除关系,则该偏序集的哈斯图为:
5) 全序集
由哈斯图不能看出全序集的哈斯图是一条直线,因此,全序集也称做线序集
6) 元与界
设为偏序集,
- 若,使得成立,则称y是B的最小元。
- 若,使得成立,则称y是B的最大元。
- 若,使得成立,则称y是B的极小元。
- 若,使得成立,则称y是B的极大元。
设为偏序集,
- 若,使得成立,则称y为B的上界。
- 若,使得成立,则称y为B的下界。
- 令,则称C的最小元为B的上确界(最小上界)
- 令,则称C的最大元为B的下确界(最大下界)
4.7 函数
4.7.1 定义
4.7.2 函数相等
4.7.3 函数的集合
4.7.4 函数的性质
满射、单射、双射
性质
函数的像,完全原像
特殊函数
常含数:f(x)=c
恒等函数:f(x)=x
单调递增:对于x1<x2 :f(x1)<=f(x2)
严格单调递增:对于x1<x2 :f(x1)<f(x2)
特征函数:
自然映射:
4.7.5 函数合成
定义
设,那么关系的合成 是一个 X 到 Z 的函数。
证明如下:
习惯上把 f(x) 和 g(x) 的合成记作g(f(x)) ,所以函数的合成按照关系合成的相反顺序记作g∘f 。
合成运算的性质
函数合成满足结合律,不满足交换律。
函数f 的n次合成:
4.8 集合的基数
4.8.1 等势
等势
等势的性质
集合的优势
4.8.2 自然数集
4.8.3 有穷集和无穷集
定义: (1) 一个集合是有穷的当且仅当它与某个自然数等势; (2) 如果一个集合不是有穷的, 就称作无穷集. 实例: (1) {a,b,c}是有穷集, 因为3={0,1,2}, 且{a,b,c}≈{0,1,2}=3 (2) N和R都是无穷集, 因为没有自然数与N和R等势 说明:利用自然数的性质可以证明 • 任何有穷集只与惟一的自然数等势.
4.8.4 集合的基数
定义: (1) 对于有穷集合A, 称与A等势的那个惟一的自然数为A的基数, 记作cardA (或|A|) cardA = n ⇔ A ≈ n (2) 自然数集合N的基数记作ℵ0, 即 cardN =ℵ0 (3) 实数集R的基数记作ℵ, 即 cardR =ℵ
定义: 设A, B为集合, 则 (1) cardA=cardB ⇔ A≈B (2) cardA≤cardB ⇔ A≼⋅B (3) cardA<cardB ⇔ cardA≤cardB∧cardA≠cardB 根据前面关于势的讨论不难得到: card Z = card Q = card N×N =ℵ0 card P(N) = card 2N = card [a,b] = card (c,d) =ℵ,其中2N = {0,1}N ℵ0<ℵ card A<card P(A) 基数的大小: • 不存在最大的基数. 将已知的基数按从小到大的顺序排列:0, 1, 2, …, n, …, ℵ0, ℵ, …
可数集合
正奇数集合 O+ 与素数集合 P
有理数集合Q
不可数集合
5. 图
1 图的基本概念
无向图: 简而言之,边不带方向的图就是无向图。
有向图: 简而言之,边带方向的图就是有向图。 特殊定义:
有限图:边数和顶点数都是有限个的图。 n阶图:n个顶点的图。 零图:没有边的图。 平凡图:只有一个顶点,而且没有边的图(1阶零图)。 空图:没有顶点的图(自然也没有边,空图也是零图)。
环:边的两头都是同一个顶点,这个边就是环。 孤立点:没有边连着的点。 无向图顶点的度:
顶点的度:一个顶点有几个边连接着,就是几度(注意,环会提供两度)。 悬挂顶点:度数为1的顶点。 悬挂边:悬挂顶点连着的那个边。 最小度:一个图中各顶点度数中最小的数值。 最大度:一个图中各顶点度数中最大的数值。 有向图顶点的度
出度:从一个顶点出去的边的边数。 入度:从外面进一个顶点的边数。 总度数:总度数=入度+出度。 最大入度:图中所有顶点中入度最大的数值。 最大出度:图中所有顶点中出度最大的数值。 最小入度:图中所有顶点中入度最小的数值。 最小出度:图中所有顶点中出度最小的数值。 握手定理
图的顶点度数和数量是边数的2倍,证明很显然,一个边会提供两度。 由握手定理推出的推论,图的奇度顶点为偶数个。证:如果有奇数个奇度顶点,那么图的总度数必定为奇数,而根据握手定理,总度数必定为偶数,矛盾。 度数列
度数列就是将一个图中所有顶点的度按一定顺序写出来。注意:判断一个数列是否能构成度数列,先看是否满足握手定理推论(偶数个奇度顶点)。 简单图
简单图:不存在平行边的图,即每两个顶点之间最多只有一条边。 完全图和正则图
无向完全图就是任一个顶点都与其他所有顶点之间有边,边数:n(n-1)/2,最大度=最小度=n-1,记作Kn。 k—正则图:每个顶点都是k度的无向简单图。 圈图和轮图
圈图Cn就是围成一个圈的图,轮图Wn就是在圈图Cn-1中放一个点,再把这个点和其它所有点连起来。(注:圈图顶点数>=3,轮图顶点数>=4) 子图
子图:从母图中选一些点和边构成的图就是该母图的子图。 生成子图:删边不删点。 导出子图:选母图中一些点构成点集,这些点和以它们为端点的边构成的图就是这个这个点集的导出子图;选母图中一些边构成边集,这些边和与它们关联的顶点构成的图就是这个这个边集的导出子图; 补图
补图:将原图补成完全图,再将原图中有的边删掉,就是补图。 图的同构 同构:同构就是指同一个图的不同画法。找非同构的方法就是根据条件找到不同的度数列,然后试着画出不同结构的图(类似有机化学中找同分异构体)。
2 图的连通性
通路和回路
简单回路:回路中所有边各异。初级回路(圈):回路中所有点各异(自然,边也各异,所以初级回路是简单回路)。
无向图的连通性和连通分支
连通就是两点之间有通路(能从一点走到另一点);连通图就是任意两点都连通的图(特别的,平凡图是连通图);连通分支就是图中的一个不跟其它部分连通的部分,连通图只有一个连通分支。 短程线和距离 短程线就是两点之间最短的通路,其长度称作距离。 点割集和边割集
点割集:删掉图中的一些点后,图的连通分支数增加,且这些点缺一不可,这些点的集合就是点割集,如果点割集只有一个点,这个点叫做割点;边割集:删掉图中的一些边后,图的连通分支数增加,且这些边缺一不可,这些边的集合就是边割集,如果边割集只有一个点,这个点叫做割边或桥。
点连通度和边连通度
点割集的元素数就是点连通度,如果没有点割集就是(总顶点数-1);边割集的元素数就是边连通度。 有向图的弱连通与强连通 弱连通就是有向图忽略方向以后为连通图,强连通就是有向图中任意两个顶点相互可达。
3 图的矩阵表示
无向图的关联矩阵
无向图关联矩阵:行代表边,列代表顶点。数值为0代表不关联,1代表关联,2代表成环。特殊性质:每一列的和为2,因为每一列代表一个边所关联的顶点,一个边关联两个顶点;每一行的和该顶点的度,显而易见;所有数加起来是边数的二倍,因为根据握手定理,总度数之和为边数的二倍。 有向无环图的关联矩阵 、 有向无环图关联矩阵:行代表边,列代表顶点。数值为1代表边从顶点出去,0代表不关联,-1代表边从顶点进来。
邻接矩阵
行和列都是顶点,矩阵数值是列对应顶点邻接到行对应顶点的边的条数。 利用邻接矩阵求各个长度的通路和回路数量 说明:A^n中的元素表示一个顶点到另一个顶点之间距离为n的通路数。所以可以通过矩阵乘法求邻接矩阵的n次方求有向图中的通路和回路数。例:
可达矩阵
可达矩阵;矩阵的行和列都是顶点,只要一个顶点可达另一个顶点,就为1,否则是0,无向图连通当且仅当这个图的可达矩阵的元素全为1,有向图强连通当且仅当这个图的可达矩阵的元素全为1。 邻接矩阵转可达矩阵的方法 假设图的顶点数为n,由邻接矩阵(A)计算可达矩阵§的方法如下: 1.B = A + A ^ 2 + … + A ^ (n-1); 2.将B的对角线元素全变成1,将B的非零元素全变为1.
5 无向树
无向树的定义 如果一个图是连通的而且没有回路,这个图就是树。
无向树的性质 以下三条任意满足两条,图就是树: 1.连通 2.无回路 3.m=n-1
6 生成树
生成树的定义
一个无向连通图的生成子图(删边不删点)如果是树,这个树就是这个点的生成树。 生成树的存在性 无向连通图都有生成树,可用破圈法证明。
最小生成树 总权值最小的生成树就是最小生成树。找最小生成树的方法如下: 克鲁斯卡尔算法
简而言之,从权最小的边开始按从小到大开始选择,如果不与已经选好的边构成回路,就选择这条边,直到对所有边的选择结束,就找到了最小生成树。例:
红色为选择的,黑色是不选择的,注意,环不选择,如果有权值一样的边,则随便选择一个,然后选择另一个。
6. 特殊的图
6.1 二部图
二部图定义
二部图:如果能将一个图的所有顶点分为两份,图中的所有边的两个端点一个再一份里,一个在另一份里,这样的图就叫做二部图。完全二部图就是图中每一个顶点都跟另一份中的所有顶点相邻的二部图。 二部图的判别定理(充要条件)
证明如下:
染色法判断二部图 染色法:从图的一个顶点开始,将它染成红色,所有与它邻接的顶点染成白色,所有与刚刚染成红色的顶点相邻的顶点染成红色,如此反复,如果能不冲突地将图中所有点都染上色,说明这个图是二部图,举例如下:
匹配
匹配:在二部图中选一部分互不相邻的边,这些边就是原二部图的一个匹配。 极大匹配:如果在已经选好的匹配中,再加任意一条边都不再是匹配,那么这个匹配就是极大匹配。 最大匹配:一个图中边数最多的匹配(最大匹配是极大匹配)。 完备匹配:如果V1<V2,图中一个匹配的边数与V1相等,这个匹配叫做完备匹配。 完美匹配:V1=V2,匹配中的边数与V1,V2相等。 存在完备匹配的条件
Hall定理:有完备匹配当且仅当任取V1中K个顶点,这K个顶点至少和V2中的K个顶点相邻。(充分必要条件)
t条件:二部图中能找到这样的正整数t,使得V1中每个顶点至少关联t条边,V2中每个顶点至多关联t条边,则有完备匹配。(充分非必要条件) 二部图的应用 (完备性问题) 可以将匹配、完备问题建模成二部图问题,然后使用Hall定理或者t条件来解决,例:
本题是一个完备性问题,化成二部图以后找完备匹配即可。 (1)可用t条件找到t=2,(2)找不到t,但是满足相异性条件,(3)找不到t,且不满足相异性条件。
6.2 欧拉图
欧拉图定义
图中能找到一个经过所有边仅一次,且经过所有顶点的回路,这个图就是欧拉图。(欧拉回路是简单回路,但不一定是初级回路,也就是说同一顶点可以多次经过)。 无向图的欧拉图判定定理
无向图是连通的,而且没有奇度顶点,就有欧拉回路,就是欧拉图。图是连通的,且仅有两个奇度顶点,就有欧拉通路,但没有欧拉回路。 有向图的欧拉图判定定理
有向图是连通的,而且所有顶点入度等于出度,就有欧拉回路,是欧拉图。是连通且一个顶点入度比出度大1,一个顶点出度比入度大1,其余入度等于出度,就有欧拉通路。 欧拉图的应用(一笔画问题) 戈尼斯堡七桥不能不重复的走完,因为有BCD三个奇度顶点,所以无欧拉通路。
6.3 哈密顿图
哈密顿图定义
图中能找到过所有顶点且仅过一次的回路,那么这个图就是哈密顿图(对边无要求) 显然哈密顿通路是初级通路,哈密顿回路是初级回路,特别的,定义平凡图是哈密顿图。 哈密顿图的必要条件
如果一个图是哈密顿图,那么删去这个图中n个顶点后,所得图的连通分支数一定p<=n。该定理是哈密顿图的必要条件,一般用来证明一个图不是哈密顿图,即找到一个有n个顶点的点集,删去以后剩下的图的连通分量数大于n,那么这个图一定不是哈密顿图,如下图中:
(a)删去红色点后有两个连通分量,不是哈密顿图,实际上有割点的图不是哈密顿图,(b)删去5个红点以后有6个连通分量,不是哈密顿图。一般来说使用该定理时优先删去度数大的顶点。 哈密顿回路(通路)的充分条件
简单无向图中,任两个不相邻的顶点度数和>=n-1则有哈密顿通路,>=n则有哈密顿回路。如果简单无向图的最小度>=n/2,则是哈密顿图,如果一个有向图略去方向以后所得无向图中含有子图Kn(n阶完全图),则有哈密顿通路。 哈密顿图的应用(周游问题)
先将本题转化成图论问题,将每个人看作点,如果两个人能交谈,就连上边,画出图以后,如果能找到哈密顿回路,那么就能坐成一圈。
6.4 平面图
平面图的定义
平面图的概念比较抽象:如果一个图可以边不相交地画在平面上,那么就是平面图。如果无论怎么话都无法使边不相交,就不是平面图,如下图:
(1)虽然有边相交,但是一个图并没有规定画成什么样子,只要顶点个数,边的个数,顶点和边之间的关联不变,那么两个图就是同构的,(1)的一种同构为(2),边不相交,所以图(1)是平面图,(2)是(1)的平面嵌入。(3)(4)同理。
平面图的面和次数
对于面的边界的判断容易出错,如下:
注意到外部面R0的边界中,d应该记作两次,因为面的边界是以回路定义的;两个不同的回路之间要用逗号隔开。 平面图面的次数和与边数的关系
极大平面图 简单平面图中,任意再加一条边就不是平面图了,这个平面图就是极大平面图。
极大平面图的充分必要条件 一个图是极大平面图的充要条件是它的所有面的次数都是3,注意外部面的次数也应该是3. 平面图欧拉公式
一个连通的平面图里,顶点数-边数+面数=2。
更一般地:在有多个连通分支时,顶点数-边数+面数=连通分支数+1。
注意:此处的l是面次最小值。利用该定理可以证明不是平面图,例如:
平面图的充要条件(库拉图斯基定理) 首先说明什么是同胚和收缩:
同胚就是两个图同构,或者经过反复插入消去二度顶点后同构。 收缩就是将两个点之间的边删掉,然后将这两个点“捏”到一起,变成一个点。 库拉图斯基定理就是:图是平面图当且仅当这个图不与K5,K3,3同胚,也无可收缩为K5,K3,3的子图。库拉图斯基定理比较难理解,通过如下 实例可便于理解:
一般来说,如果一个图含与K5,K3,3同胚的子图,那么也含能收缩到K5,K3,3的子图。因为收缩比同胚要直观,所以这里用收缩来解释这两道例题: 第一个图可以先删除图中所有黑色的边,之所以可以删除,是因为我们要找的是可以收缩为K5或K33的子图,然后最上和最下两个顶点可以收缩到左边相邻的顶点(也可以理解成删除这个点),最后就得到了K3,3,所以不是平面图;第二个图同理,删除两条黑边,然后收缩最下面的两个点到相邻的点(也可以理解成删除这个点),最后收缩成了K5,所以不是平面图。
对偶图
简而言之,对偶图就是,原图的点变成面,面变成点。为了实现这个变换,将原图中的每个面(包括外部面)中画一个点,如果两个面原来相邻,那就通过每一条相邻边都画一条新的线来连接新的两个点,最后画出来的图就是对偶图,如下图所示:
实线和空心点是原图,红色虚线和实心点是对偶图。 对偶图的性质
桥变环,环变桥,边数不变,顶点数和面数互换,面的次数对应点的度数。
7. 树
8. 组合分析初步
9. 代数系统简介
9.1 二元代数运算
9.1.1 概念
1) 二元代数
2) 零元
- 自然数集N上,0是乘法的零元,加法没有零元。n阶矩阵中,n阶零矩阵是矩阵乘法的零元,而矩阵加法没有零元。幂集P(S)上并、交的零元分别是S、∅,而对称差没有零元。
- 零元唯一性定理 对二元运算,如果存在左、右零元,那么左右零元相等,且该运算仅有唯一零元
3) 幺元
4) 单位元
- 自然数集N上,0、1分别是加法和乘法的单位元。n阶矩阵中,零矩阵是矩阵加的单位元,而n阶单位矩阵是矩阵乘的单位元。\
- 幂集P(S)上,∅和S分别是是并和交的单位元。
- SS上,恒等函数I是关于复合运算的单位元。
- 单位元唯一性定理 对二元运算,如果存在左、右单位元,那么左右单位元相等,且该运算仅有唯一单位元。由单位元的定义证明相等,然后设不同的单位元e’,结合单位元的定义求得e’ = e,证毕。
5) 幂等元
6) 逆元
9.1.2 性质
一个运算为S上的二元运算,需要符合如下两点:
- 集合S中的任意两个元素都能运算,且结果唯一;
- 集合S中的任何运算结果都属于S,即S对该运算封闭。 例:
- 自然数集N上的加法和乘法都是N上的二元运算,而减法和除法不是。因为减法的结果可能出现零、负数,而除法的结果可能是小数。
- 整数集Z上的加减和乘法都是Z上的二元运算,而除法不是,原因同(1)。
- 非零实数集R上的乘除都是R上的二元运算,而加减不是。因为非零实数加减可以产生零。
- 对n(n≥2)阶实矩阵Mn( R ):矩阵加减和矩阵乘法都是Mn( R )上的二元运算。
- 对集合S,初级并、初级交、相对补、对称差都是幂集P(S)上的二元运算。记SS(第二个S上标)为S上所有函数的集合,对建立在S上的任意两个函数作的复合运算都是SS上的二元运算。 (集合S的广义并 集合S的元素的元素构成的集合称作集合S的广义并) (集合S的广义交 集合S的所有元素的公共元素构成的集合称作集合S的广义交
交换律
例: (1)实数集R上,加法和乘法都可以交换,而减法和除法不能。幂集上的初级并、初级交、对称差都是可交换的,但是相对补不可以。 (2)对n(n≥2)阶实矩阵Mn( R ):矩阵加法可交换,而减法、乘法不可以。 (3)任意两个函数的复合运算一般都不能交换。
结合律
(1)对自然数集N、整数集Z、有理数集Q、实数集R、复数集C,加法和乘法都满足结合律,矩阵加法和矩阵乘法也满足结合律。集合的初级并、初级交、对称差也是可以结合的,函数的复合也是可结合的。
6、对满足结合律的二元运算,如果某表达式仅含该运算符,就可以任意增删括号改变运算顺序。
幂等律
分配律
吸收律
消去律
9.2 代数系统
9.2.1 概念
非空集S和S上的k个一元或二元运算f1,f2,……,fk组成的系统称作一个代数系统,简称代数。记作 <S,f1,f2,……,fk>。注意:S上的一元或二元运算是封闭的。
例如:<N, +>, <Z, +,·>, <R, +,·> 都是代数系统。+和·分别表示一般加法和一般乘法。<P(S),∪,∩,~> 也是代数系统,并和交是二元运算,绝对补是一元运算。
9.3 典型的代数系统
9.3.1 半群和群
1) 概念
在理解群之前,我们要先清楚什么是代数系统。其实代数系统可以简单理解成使用符号表示的某一种运算。其实和程序设计中算法的定义有点像,总的来说就可以把运算当成一个黑盒子,我们给定一个输入,那么就可以根据黑盒子的运算规则得到相应的输出。
我们举一个生活中的例子。有一台自动售货机,假设售货机只接收五元纸币和十元纸币,我们可以根据接收货币和吐出商品的情况给出这个代数系统的运算结果集,我们用*表示这个运算。
运算符号* | 五元纸币 | 十元纸币 |
---|---|---|
五元纸币 | 橘子水 | 可乐 |
十元纸币 | 可乐 | 冰淇淋 |
上面的这个运算比较容易理解,就是你投入两张五元纸币,可以买到橘子水,投入一张十元纸币和一张五元纸币可以买到可乐,以此类推。
广群
那么由于我们投入的是纸币,得到的是饮料或者食物,所以我们这个代数系统是不封闭的。
相对的,假如我们投入的是纸币,得到的也是纸币,那么我们就称这个代数系统是封闭的。
△ | a | b |
---|---|---|
a | a | b |
b | b | a |
上图的代数系统就是封闭的,下面我们来给出群的定义。
半群
设<G, *>是一个代数系统,若*满足:
1)在G上的*运算是封闭的
2)G上的*运算是可结合的(如a*b*c=a*(b*c))
则<G, *>为半群。注意,这里的*不是单指乘法运算,而是广义的类似未知数的一个运算符代号,可以表示任意运算。
假设<G, *>是半群,并且:
独异点
3)G上的*运算存在幺元(或者说单位元)e
那么<G, *>是独异点。这里的幺元对于乘法运算来说就是1,对于加法运算来说就是0.
假设<G, *>是一个独异点,并且:
4)对于G中的每一个元素a,都存在元素b使得a*b=e
那么<G, *>是群,此时b为a的逆,a也为b的逆,可以记为b=a^(-1)
除了幺元之外,还有一个定义叫零元。在乘法中,幺元乘以任何一个数都是它本身,而零元乘以任何一个数都是零元。
例1: 设集合S={浅色,深色},定义在S上的二元运算*如下表所示
* | 浅色 | 深色 |
---|---|---|
浅色 | 浅色 | 浅色 |
深色 | 深色 | 深色 |
其中,浅色就是幺元,深色就是零元。
注:群中不可能有零元。
当代数系统<G, *>只满足*运算在G中封闭这个条件的时候,<G, *>是广群,我们用一张图描述各种群的包含关系。
设<G, *>是一个群,如果G是有限集,那么称<G, *>为有限群,G中元素的个数通常称为有限群的阶数,记为|G|;如果G是无限集,那么称<G, *>为无限群。
2) 半群独异点
直积
商代数
同态
半群同态的性质
3) 子群
子群判定定理
子群判定定理1:设<G, *>是一个群,B是G的非空子集,如果B是一个有限集,那么,只要运算*在B上封闭,<B, *>必定是<G, *>的子群。
子群判定定理2:设<G, △>是群,S是G的非空子集,如果对于S的任意元素a,b有a△b^(-1)∈S,则<S, △>是<G, △>的子群。
阿贝尔群
如果群<G, *>中的*运算时可交换的,则称<G, *>为阿贝尔群,或称交换群
一个群<G, *>是阿贝尔群的充要条件是,对于任意a,b∈G,有(a*b)*(a*b)=(a*a)*(b*b)
循环群
设群<G, *>中存在一个元素a,是的G中所有的元素都是由a的幂构成的,则称群<G, *>为循环群,元素a称为群<G, *>的生成元
例如,60°就是群<{0°,60°,120°,180°,240°,360°},☆>的生成元,该群是一个循环群。
陪集与拉格朗日定理
陪集的定义:设<H, *>是<G, *>的子群,a∈G,则集合{a}H(H{a})称为由a确定的H在G中的左陪集(右陪集),简称为H关于a的左陪集(右陪集)
例如:设G=R*R,R为实数集,G上的一个二元运算+定义为
<x₁, y₁> + <x₂, y₂> = <x₁+x₂, y₁+y₂>
则,<G, +>是一个具有幺元<0, 0>的阿贝尔群
设H={<x, y>| y=2x},那么<H, +>是<G, +>的一个子群。对于<x0, y0>∈G, H关于<x0, y0>的左陪集为<x0, y0>H.
其中G为笛卡尔坐标系,H为y=2x的的直线,<x0, y0>H为与H平行的直线,因为我们可以找到一个实数b,使得y+y0=2(x+x0)+b
拉格朗日定理:设群<H, *>是群<G, *>的一个子群,则有:
a)R={<a, b>| a∈G, b∈G且a^(-1)*b∈H}是G的一个等价关系。对于a∈G,若记[a]R={x | x∈G且<a,x>∈R},则有[a]R=aH
b)如果G是有限群,|G|=n, |H|=m,则m|n(整除关系)
证明如下:
(a)对于任意a∈G,必有a(-1)∈G,使得a*a(-1)=e∈H,所以<a, a>∈R,满足自反性
若<a, b>∈R,则a(-1)*b∈H**,因为H是G的子群,所以有**(a(-1)*b)^(-1) = b^(-1)*a∈H,所以<b, a>∈R,满足对称性
若<a, b>∈R, <b, c>∈R,则有a(-1)*b∈H**并且**b(-1)*c∈H,由于运算的封闭性,有
a(-1)*b*b(-1)*c∈H,即a^(-1)*c∈H,即<a, c>∈H,满足传递性
综上所述,R是G上的一个等价关系,得证。 吧
对于a∈G,我们有:b∈[a]R,当且仅当<a, b>∈R,即当且仅当a^(-1)*b∈H,即b∈aH。因此[a]R=aH
(b)由于R是G中的一个等价关系,可以将G划分为等价类[a1]R,[a2]R,...[ak]R.
有G=∪[ai]R=∪aiH
对于H中任意两个不相等的h1和h2,a∈G,必有a*h1 ≠ a*h2,所以有**|aiH|=|H|=m**, i=1,2...k
所以n = |G| = (a1+a2+a3+...+ak)H = mk , 得证