离散数学的学习笔记,包含数理逻辑、集合论、图论
因为实际写作时间是很久之前了,有些图过期了,我也不知道补什么…
有些公式渲染有问题,日后无聊再来改了(
数理逻辑
命题逻辑
联结词
汇总
(否定) ¬ P (析取) P ∨ Q (合取) P ∧ Q (蕴含) P → Q (双蕴含) P ↔ Q (否定双蕴含 / 不可兼析取) P ∨ ‾ Q (否定蕴含) P → c Q (否定合取) P ↑ Q (否定析取) P ↓ Q \begin{align}
&(否定)&\quad &\neg P \\
&(析取)&\quad &P \lor Q \\
&(合取)&\quad &P \land Q \\
&(蕴含)&\quad &P \rightarrow Q \\
&(双蕴含)&\quad &P \leftrightarrow Q \\
&(否定双蕴含/不可兼析取)&\quad &P \overline{\lor} Q \\
&(否定蕴含)&\quad &P \xrightarrow{c} Q \\
&(否定合取)&\quad &P \uparrow Q \\
&(否定析取)& &P \downarrow Q
\end{align} (否定) (析取) (合取) (蕴含) (双蕴含) (否定双蕴含 / 不可兼析取) (否定蕴含) (否定合取) (否定析取) ¬ P P ∨ Q P ∧ Q P → Q P ↔ Q P ∨ Q P c Q P ↑ Q P ↓ Q
真值表
P P P Q Q Q ¬ P \neg P ¬ P P ∨ Q P \lor Q P ∨ Q P ∧ Q P \land Q P ∧ Q P → Q P \rightarrow Q P → Q P → c Q P\xrightarrow{c} Q P c Q P ↔ Q P \leftrightarrow Q P ↔ Q P ∨ ‾ Q P \overline{\lor} Q P ∨ Q P ↑ Q P \uparrow Q P ↑ Q P ↓ Q P \downarrow Q P ↓ Q T T T T T T F F F T T T T T T T T T F F F T T T F F F F F F F F F T T T F F F F F F T T T F F F F F F T T T F F F T T T T T T F F F F F F T T T T T T T T T F F F T T T F F F F F F T T T T T T F F F F F F F F F T T T F F F F F F T T T F F F T T T F F F T T T T T T
定义联结词的优先次序为:¬ , ∧ , ∨ , → , ↔ \neg,\land,\lor,\rightarrow, \leftrightarrow ¬ , ∧ , ∨ , → , ↔
等价公式
定义
两个命题公式 A , B A,B A , B 真值表完全相同,则称二者 等价 ,记为 A ⟺ B A \iff B A ⟺ B
常用的等价公式
德摩根律: ¬ ( P ∧ Q ) ⟺ ( ¬ P ) ∨ ( ¬ Q ) ¬ ( P ∨ Q ) ⟺ ( ¬ P ) ∧ ( ¬ Q ) 分配律: P ∨ ( Q ∧ R ) ⟺ ( P ∨ Q ) ∧ ( P ∨ R ) P ∧ ( Q ∨ R ) ⟺ ( P ∧ Q ) ∨ ( P ∧ R ) 同一律: P ∧ T ⟺ P P ∨ F ⟺ P 吸收律: P ∨ ( P ∧ Q ) ⟺ P P ∧ ( P ∨ Q ) ⟺ P 零律: P ∨ T ⟺ T P ∧ F ⟺ F 否定律 : P ∨ ( ¬ P ) ⟺ T P ∧ ( ¬ P ) ⟺ F 幂等律 : P ∧ P ⟺ P P ∨ P ⟺ P 杂类 : P ∧ Q ⟺ ¬ P → Q P → Q ⟺ ¬ Q → ¬ P \begin{align}
&德摩根律:\\
\neg (P \land Q) &\iff (\neg P) \lor (\neg Q) \\
\neg (P \lor Q) &\iff (\neg P) \land (\neg Q) \\ \\
&分配律:\\
P \lor (Q \land R) &\iff (P \lor Q) \land (P \lor R) \\
P \land (Q \lor R) &\iff (P \land Q) \lor (P \land R) \\
\\ \\
&同一律: \\
P \land T &\iff P \\
P \lor F &\iff P \\ \\
&吸收律:\\
P \lor (P \land Q) &\iff P \\
P \land (P \lor Q) &\iff P \\ \\
&零律:\\
P \lor T &\iff T \\
P \land F &\iff F \\ \\
&否定律: \\
P \lor (\neg P) &\iff T \\
P \land (\neg P) &\iff F \\ \\
&幂等律: \\
P \land P &\iff P \\
P \lor P &\iff P \\ \\
& 杂类: \\
P \land Q &\iff \neg P \rightarrow Q \\
P \rightarrow Q &\iff \neg Q \rightarrow \neg P
\end{align} ¬ ( P ∧ Q ) ¬ ( P ∨ Q ) P ∨ ( Q ∧ R ) P ∧ ( Q ∨ R ) P ∧ T P ∨ F P ∨ ( P ∧ Q ) P ∧ ( P ∨ Q ) P ∨ T P ∧ F P ∨ ( ¬ P ) P ∧ ( ¬ P ) P ∧ P P ∨ P P ∧ Q P → Q 德摩根律: ⟺ ( ¬ P ) ∨ ( ¬ Q ) ⟺ ( ¬ P ) ∧ ( ¬ Q ) 分配律: ⟺ ( P ∨ Q ) ∧ ( P ∨ R ) ⟺ ( P ∧ Q ) ∨ ( P ∧ R ) 同一律: ⟺ P ⟺ P 吸收律: ⟺ P ⟺ P 零律: ⟺ T ⟺ F 否定律 : ⟺ T ⟺ F 幂等律 : ⟺ P ⟺ P 杂类 : ⟺ ¬ P → Q ⟺ ¬ Q → ¬ P
重言式和蕴含式
定义
重言式:无论对分量作怎样的真值指派,真值均为 T T T 的命题公式
矛盾式(永假式):……真值均为 F F F 的命题公式
蕴含式:当且仅当 P → Q P \rightarrow Q P → Q 为重言式时,称 P P P 蕴含 Q Q Q ,记作 P ⟹ Q P \implies Q P ⟹ Q
对于 P → Q P \rightarrow Q P → Q ,
Q → P Q \rightarrow P Q → P 称为其 逆换式 ,
¬ P → ¬ Q \neg P \rightarrow \neg Q ¬ P → ¬ Q 称为其 反换式 ,
¬ Q → ¬ P \neg Q \rightarrow \neg P ¬ Q → ¬ P 称为其 逆反式
定理
命题公式 A , B A, B A , B 等价的充要条件 :
A ↔ B A \leftrightarrow B A ↔ B 为重言式
或
P ⟹ Q P \implies Q P ⟹ Q 且 Q ⟹ P Q \implies P Q ⟹ P
证明蕴含式
对于 P ⟹ Q P \implies Q P ⟹ Q ,满足以下其一:
假定 P P P 真值为 T T T ,若由此能推出 Q Q Q 的真值为 T T T
假定 Q Q Q 真值为 F F F ,若由此能推出 P P P 的真值为 F F F
则 P ⟹ Q P \implies Q P ⟹ Q 成立
蕴含的性质
对于 P ⟹ Q P \implies Q P ⟹ Q ,若 P 为重言式,则 Q 必为重言式
蕴含关系式可传递的
若 P ⟹ Q P \implies Q P ⟹ Q 且 P ⟹ R P \implies R P ⟹ R 则 P ⟹ ( Q ∧ R ) P \implies (Q \land R) P ⟹ ( Q ∧ R )
若 P ⟹ Q P \implies Q P ⟹ Q 且 R ⟹ Q R \implies Q R ⟹ Q 则 ( P ∨ R ) ⟹ Q (P \lor R) \implies Q ( P ∨ R ) ⟹ Q
最小联结词组
{ ¬ , ∨ } \{\neg,\lor\} { ¬ , ∨ } 或 { ¬ , ∧ } \{\neg,\land\} { ¬ , ∧ } 或 { ↑ } \{\uparrow\} { ↑ } 或 { ↓ } \{\downarrow\} { ↓ }
对偶与范式
定义
对偶式:
对于命题公式 A A A ,
将其中所有的 ∧ \land ∧ 与 ∨ \lor ∨ 互换,↑ \uparrow ↑ 与 ↓ \downarrow ↓ 互换,T T T 与 F F F 互换,
得到新的命题公式 A ∗ A^* A ∗
则称 A ∗ A^* A ∗ 与 A A A 互为对偶式
合取范式:
一个命题公式具有形式:A 1 ∧ A 2 ∧ ⋯ ∧ A n A_1 \land A_2 \land \dots \land A_n A 1 ∧ A 2 ∧ ⋯ ∧ A n 时称其为 合取范式
析取范式 :
一个命题公式具有形式:A 1 ∨ A 2 ∨ ⋯ ∨ A n A_1 \lor A_2 \lor \dots \lor A_n A 1 ∨ A 2 ∨ ⋯ ∨ A n 时称其为 析取范式
小项:
n n n 个命题变元的合取式,
每个变元与其否定不能同时出现,且必须出现且仅出现一次
大项:
n n n 个命题变元的析取式,
每个变元与其否定不能同时出现,且必须出现且仅出现一次
主析取范式:
仅由小项析取所组成的公式
主合取范式:
仅有大项合取所组成的公式
编码:
对于一个命题变元 P P P ,P , ¬ P P, \neg P P , ¬ P 分别记为 0 , 1 0, 1 0 , 1
则对于每个小项/大项可以用二进制编码表示
如 P ∧ ¬ Q ∧ R P \land \neg Q \land R P ∧ ¬ Q ∧ R 可以表示为 m 010 m_{010} m 010
编码表示主析取/合取范式:
主析取范式可以表示为 ∑ i 1 , i 2 , … , i m \sum_{i_1, i_2, \dots, i_m} ∑ i 1 , i 2 , … , i m
主合取范式可以表示为 ∏ j 1 , j 2 , … , j n \prod_{j_1, j_2, \dots, j_n} ∏ j 1 , j 2 , … , j n
其中的 i k i_k i k 为第 k k k 个小项的二进制编码的十进制数
其中的 j k j_k j k 为第 k k k 个大项的二进制编码的十进制数
求合取/析取范式步骤
将公式中的联结词化为 ¬ , ∧ , ∨ \neg,\land,\lor ¬ , ∧ , ∨
利用 德摩根律 将 ¬ \neg ¬ 移到各个命题变元之前
利用 分配律、结合律 将公式归约为合取/析取范式
求主合取/主析取范式步骤
化归为合取/析取范式
除去合取/析取范式中所有为永真/假的合取/析取项
合并相同的合取/析取项和所有相同的变元
对合取/析取项补入没有出现的命题变元,然后用分配律展开公式
定理
¬ A ( P 1 , P 2 , … , P n ) ⟺ A ∗ ( ¬ P 1 , ¬ P 2 , … , ¬ P n ) \neg A(P_1, P_2, \dots, P_n) \iff A^*(\neg P_1,\neg P_2, \dots, \neg P_n) ¬ A ( P 1 , P 2 , … , P n ) ⟺ A ∗ ( ¬ P 1 , ¬ P 2 , … , ¬ P n )
若 A ⟺ B A \iff B A ⟺ B 则 A ∗ ⟺ B ∗ A^* \iff B^* A ∗ ⟺ B ∗
任意两个不同的小项的合取式永假
全体小项的析取式永真
任意两个不同的大项的析取式永真
全体大项的合取式永假
推理理论
定义
前提、有效结论:
对于命题公式 H 1 , H 2 , … , H n , C H_1,H_2, \dots, H_n, C H 1 , H 2 , … , H n , C ,
当且仅当 H 1 ∧ H 2 ∧ ⋯ ∧ H n ⟹ C H_1 \land H_2 \land \dots \land H_n \implies C H 1 ∧ H 2 ∧ ⋯ ∧ H n ⟹ C ,
称 C C C 是 一组前提 H 1 , H 2 , … , H n H_1,H_2, \dots, H_n H 1 , H 2 , … , H n 的 有效结论
P P P 规则:
前提在推导过程中的任何时候都可以引入使用
T T T 规则:
在推导中,如果有一个或多个公式蕴含着公式 S S S ,则 S S S 可以引入推导中
真值表法
列出 H 1 , H 2 , … , H n , C H_1,H_2, \dots, H_n, C H 1 , H 2 , … , H n , C 的所有对应真值
找出 H 1 , H 2 , … , H n H_1,H_2, \dots, H_n H 1 , H 2 , … , H n 全为 T T T 的行,若这几行对应的 C C C 也有真值 T T T 则推理成立
或者
找出 C C C 为 F F F 的行,
若这几行对应的 H 1 , H 2 , … , H n H_1,H_2, \dots, H_n H 1 , H 2 , … , H n 至少有一个真值为 F F F 则推理成立
直接证法
例题: 证明 ( P ∨ Q ) ∧ ( P → R ) ∧ ( Q → S ) ⟹ S ∨ R (P \lor Q) \land (P \rightarrow R) \land (Q \rightarrow S) \implies S \lor R ( P ∨ Q ) ∧ ( P → R ) ∧ ( Q → S ) ⟹ S ∨ R
解:
( 1 ) P ∨ Q P ( P 规则,引入前提) ( 2 ) ¬ P → Q T ( 1 ) E ( T 规则,由 ( 1 ) 等价得到 ( 2 ) ) ( 3 ) Q → S P ( P 规则,引入前提) ( 4 ) ¬ P → S T ( 2 ) , ( 3 ) I ( T 规则,由 ( 2 ) , ( 3 ) 蕴含得到 ( 4 ) ) ( 5 ) ¬ S → R T ( 4 ) E ( T 规则,由 ( 4 ) 等价得到 ( 5 ) ) ( 6 ) P → R P ( P 规则,引入前提) ( 7 ) ¬ S → R T ( 5 ) , ( 6 ) I ( T 规则,由 ( 5 ) , ( 6 ) 蕴含得到 ( 7 ) ) ( 8 ) S → R T ( 7 ) E ( T 规则,由 ( 7 ) 等价得到 ( 8 ) ,证毕) \begin{align}
& (1)~P \lor Q &
& P &
&(P规则,引入前提) & \\
& (2)~\neg P \rightarrow Q &
& T(1)E &
&(T规则,由(1)等价得到(2)) & \\
& (3)~Q \rightarrow S &
& P &
&(P规则,引入前提) & \\
& (4)~\neg P \rightarrow S &
& T(2),(3)I &
&(T规则,由(2),(3)蕴含得到(4)) & \\
& (5)~\neg S \rightarrow R &
& T(4)E &
&(T规则,由(4)等价得到(5)) & \\
& (6)~P \rightarrow R &
& P &
&(P规则,引入前提) & \\
& (7)~\neg S \rightarrow R &
& T(5),(6)I &
&(T规则,由(5),(6)蕴含得到(7)) & \\
& (8)~S\rightarrow R &
& T(7)E &
&(T规则,由(7)等价得到(8),证毕) & \\
\end{align} ( 1 ) P ∨ Q ( 2 ) ¬ P → Q ( 3 ) Q → S ( 4 ) ¬ P → S ( 5 ) ¬ S → R ( 6 ) P → R ( 7 ) ¬ S → R ( 8 ) S → R P T ( 1 ) E P T ( 2 ) , ( 3 ) I T ( 4 ) E P T ( 5 ) , ( 6 ) I T ( 7 ) E ( P 规则,引入前提) ( T 规则,由 ( 1 ) 等价得到 ( 2 ) ) ( P 规则,引入前提) ( T 规则,由 ( 2 ) , ( 3 ) 蕴含得到 ( 4 ) ) ( T 规则,由 ( 4 ) 等价得到 ( 5 ) ) ( P 规则,引入前提) ( T 规则,由 ( 5 ) , ( 6 ) 蕴含得到 ( 7 ) ) ( T 规则,由 ( 7 ) 等价得到 ( 8 ) ,证毕)
注:括号内仅为注释,实际书写中无括号内的内容
间接证法
归谬法
对于要证明 H 1 ∧ H 2 ∧ ⋯ ∧ H n ⟹ C H_1 \land H_2 \land \dots \land H_n \implies C H 1 ∧ H 2 ∧ ⋯ ∧ H n ⟹ C 的情况,
只需要证明 H 1 ∧ H 2 ∧ ⋯ ∧ H n ∧ ¬ C ⟺ F H_1 \land H_2 \land \dots \land H_n \land \neg C \iff F H 1 ∧ H 2 ∧ ⋯ ∧ H n ∧ ¬ C ⟺ F ,
其中 ¬ C \neg C ¬ C 称为 附加条件
例题: 证明:A → B , ¬ ( B ∨ C ) A \rightarrow B, \neg(B \lor C) A → B , ¬ ( B ∨ C ) 可逻辑推出 ¬ A \neg A ¬ A
解:
( 1 ) A → B P ( 2 ) A P ( 附加前提 ) ( 3 ) ¬ ( B ∨ C ) P ( 4 ) ¬ B ∧ ¬ C T ( 3 ) E ( 5 ) B T ( 1 ) , ( 2 ) I ( 6 ) ¬ B T ( 4 ) I ( 7 ) B ∧ ¬ B ( 矛盾 ) T ( 5 ) , ( 6 ) I \begin{align}
& (1)~A \rightarrow B &
& P & \\
& (2)~A &
& P(附加前提) & \\
& (3)~\neg (B \lor C) &
& P & \\
& (4)~\neg B \land \neg C &
& T(3)E & \\
& (5)~B &
& T(1),(2)I & \\
& (6)~\neg B &
& T(4)I & \\
& (7)~B \land \neg B(矛盾) &
& T(5),(6)I \\
\end{align} ( 1 ) A → B ( 2 ) A ( 3 ) ¬ ( B ∨ C ) ( 4 ) ¬ B ∧ ¬ C ( 5 ) B ( 6 ) ¬ B ( 7 ) B ∧ ¬ B ( 矛盾 ) P P ( 附加前提 ) P T ( 3 ) E T ( 1 ) , ( 2 ) I T ( 4 ) I T ( 5 ) , ( 6 ) I
C P CP C P 规则
对于要证明 H 1 ∧ H 2 ∧ ⋯ ∧ H n ⟹ R → C H_1 \land H_2 \land \dots \land H_n \implies R \rightarrow C H 1 ∧ H 2 ∧ ⋯ ∧ H n ⟹ R → C 的情况,
只需要证明 H 1 ∧ H 2 ∧ ⋯ ∧ H n ∧ R ⟺ C H_1 \land H_2 \land \dots \land H_n \land R \iff C H 1 ∧ H 2 ∧ ⋯ ∧ H n ∧ R ⟺ C ,
其中 R R R 称为 附加条件
例题: 证明:A → ( B → C ) , ¬ D ∨ A , B A \rightarrow (B \rightarrow C), \neg D \lor A, B A → ( B → C ) , ¬ D ∨ A , B 重言蕴含 D → C D \rightarrow C D → C
解:
( 1 ) D P ( 附加前提 ) ( 2 ) ¬ D ∨ A P ( 3 ) A T ( 1 ) , ( 2 ) I ( 4 ) A → ( B → C ) P ( 5 ) B → C T ( 3 ) , ( 4 ) I ( 6 ) B P ( 7 ) C T ( 5 ) , ( 6 ) I ( 8 ) D → C C P \begin{align}
& (1)~D &
& P(附加前提) & \\
& (2)~\neg D \lor A &
& P & \\
& (3)~A &
& T(1),(2)I & \\
& (4)~A \rightarrow (B \rightarrow C) &
& P & \\
& (5)~B \rightarrow C &
& T(3),(4)I & \\
& (6)~B &
& P & \\
& (7)~C &
& T(5),(6)I \\
& (8)~D \rightarrow C &
& CP \\
\end{align} ( 1 ) D ( 2 ) ¬ D ∨ A ( 3 ) A ( 4 ) A → ( B → C ) ( 5 ) B → C ( 6 ) B ( 7 ) C ( 8 ) D → C P ( 附加前提 ) P T ( 1 ) , ( 2 ) I P T ( 3 ) , ( 4 ) I P T ( 5 ) , ( 6 ) I C P
谓词逻辑
谓词
将 A ( a 1 , a 2 , … , a n ) A(a_1, a_2, \dots, a_n) A ( a 1 , a 2 , … , a n ) 中的 A A A 称为 n n n 元谓词
例如 A A A 表示“是大学生”,a a a 表示“张三”,
则 A ( a ) A(a) A ( a ) 表示“张三是大学生”,其中 A A A 为 一元谓词
命题函数
由一个谓词和一些客体变元组成的表达式,称为 简单命题函数
例如 L ( x , y , z ) L(x, y, z) L ( x , y , z )
量词
用于划定论域的标记称作量词,
∀ x , ∃ x \forall x, \exists x ∀ x , ∃ x 分别表示 “所有的 x x x ”、“存在一些 x x x ”
例如:
设 M ( x ) : x 是人, H ( x ) : x 要呼吸 M(x):x是人,H(x):x要呼吸 M ( x ) : x 是人, H ( x ) : x 要呼吸
则 ( ∀ x ) M ( x ) → H ( x ) (\forall x)M(x)\rightarrow H(x) ( ∀ x ) M ( x ) → H ( x ) 表示 “所有人都是要呼吸的”
设 P ( x ) : x 是质数 P(x):x是质数 P ( x ) : x 是质数
则 ( ∃ x ) ( P ( x ) ) (\exists x)(P(x)) ( ∃ x ) ( P ( x )) 表示 “存在一个数是质数”
设 M ( x ) : x 是人, R ( x ) : x 是聪明的 M(x):x是人,R(x):x是聪明的 M ( x ) : x 是人, R ( x ) : x 是聪明的
则 ( ∃ x ) M ( x ) ∧ ( R ( x ) ) (\exists x)M(x)\land(R(x)) ( ∃ x ) M ( x ) ∧ ( R ( x )) 表示 “一些人是聪明的”
谓词公式与翻译
例题: 数学分析中的极限定义为:仍给一个小正数 ϵ \epsilon ϵ ,则存在一个正数 δ \delta δ ,使得当 0 < ∣ x − a ∣ < δ 0 < |x - a| < \delta 0 < ∣ x − a ∣ < δ 时,有 ∣ f ( x ) − b ∣ < δ |f(x) - b| < \delta ∣ f ( x ) − b ∣ < δ ,此时称 lim x → a f ( x ) = b \lim\limits_{x\to a}f(x) = b x → a lim f ( x ) = b
解:
设 P ( x , y ) : x 大于 y , Q ( x , y ) : x 小于 y P(x, y):x~大于~y,~~~~Q(x,y):x~小于~y P ( x , y ) : x 大于 y , Q ( x , y ) : x 小于 y
则 lim x → a f ( x ) = b \lim\limits_{x\to a}f(x) = b x → a lim f ( x ) = b 可以表示为:
( ∀ ϵ ) ( ∃ δ ) ( ( ( P ( ϵ , 0 ) → P ( δ , 0 ) ) ∧ Q ( ∣ x − a ∣ , δ ) ) → ( Q ( ∣ f ( x ) − b ∣ , δ ) ) (\forall \epsilon)(\exists \delta)(((P(\epsilon,0) \rightarrow P(\delta,0)) \land Q(|x - a|, \delta))
\rightarrow
(Q(|f(x)-b|,\delta)) ( ∀ ϵ ) ( ∃ δ ) ((( P ( ϵ , 0 ) → P ( δ , 0 )) ∧ Q ( ∣ x − a ∣ , δ )) → ( Q ( ∣ f ( x ) − b ∣ , δ ))
变元的约束
约束变元的换名
通过对谓词公式换名,使得每个变元在公式中仅以一种约束形式出现
例题: 对 ( ∀ x ) ( P ( x ) → R ( x , y ) ) ∧ Q ( x , y ) (\forall x)(P(x) \rightarrow R(x, y)) \land Q(x,y) ( ∀ x ) ( P ( x ) → R ( x , y )) ∧ Q ( x , y ) 换名
解: 可换名为 ( ∀ z ) ( P ( z ) → R ( z , y ) ) ∧ Q ( x , y ) (\forall z)(P(z) \rightarrow R(z, y)) \land Q(x,y) ( ∀ z ) ( P ( z ) → R ( z , y )) ∧ Q ( x , y )
自由变元的代入
例题: 对 ( ∀ x ) ( P ( y ) ∧ R ( x , y ) ) (\forall x)(P(y) \land R(x, y)) ( ∀ x ) ( P ( y ) ∧ R ( x , y )) 代入
解: 代入后公式为 ( ∀ x ) ( P ( z ) ∧ R ( x , z ) ) (\forall x)(P(z) \land R(x, z)) ( ∀ x ) ( P ( z ) ∧ R ( x , z ))
若论域的元素是有限的,如论域元素为 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a 1 , a 2 , … , a n ,则
( ∀ x ) A ( x ) = A ( a 1 ) ∧ A ( a 2 ) ∧ ⋯ ∧ A ( a n ) ( ∃ x ) A ( x ) = A ( a 1 ) ∨ A ( a 2 ) ∨ ⋯ ∨ A ( a n ) (\forall x)A(x) = A(a_1) \land A(a_2) \land \dots \land A(a_n) \\
(\exists x)A(x) = A(a_1) \lor A(a_2) \lor \dots \lor A(a_n) ( ∀ x ) A ( x ) = A ( a 1 ) ∧ A ( a 2 ) ∧ ⋯ ∧ A ( a n ) ( ∃ x ) A ( x ) = A ( a 1 ) ∨ A ( a 2 ) ∨ ⋯ ∨ A ( a n )
谓词演算的等价式和蕴含式
量词与联结词 ¬ \neg ¬ 的关系
¬ ( ∀ x ) A ( x ) ⟺ ( ∃ x ) ¬ A ( x ) ¬ ( ∃ x ) A ( x ) ⟺ ( ∀ x ) ¬ A ( x ) \neg (\forall x)A(x) \iff (\exists x) \neg A(x) \\
\neg (\exists x)A(x) \iff (\forall x) \neg A(x) ¬ ( ∀ x ) A ( x ) ⟺ ( ∃ x ) ¬ A ( x ) ¬ ( ∃ x ) A ( x ) ⟺ ( ∀ x ) ¬ A ( x )
有关量词的等价式
( ∀ x ) A ( x ) → B ⟺ ( ∃ x ) ( A ( x ) → B ) ( ∃ x ) A ( x ) → B ⟺ ( ∀ x ) ( A ( x ) → B ) B → ( ∀ x ) A ( x ) ⟺ ( ∀ x ) ( B → A ( x ) ) B → ( ∃ x ) A ( x ) ⟺ ( ∃ x ) ( B → A ( x ) ) ( ∀ x ) ( A ( x ) ∧ B ( x ) ) ⟺ ( ∀ x ) A ( x ) ∧ ( ∀ x ) B ( x ) ( ∃ x ) ( A ( x ) ∨ B ( x ) ) ⟺ ( ∃ x ) A ( x ) ∨ ( ∃ x ) B ( x ) ( ∀ x ) ( A ∨ B ( x ) ) ⟺ A ∨ ( ∀ x ) B ( x ) ( ∃ x ) ( A ∧ B ( x ) ) ⟺ A ∧ ( ∃ x ) B ( x ) ) ( ∃ ) ( A ( x ) → B ( x ) ) ⟺ ( ∃ ) A ( x ) → ( ∀ x ) B ( x ) \begin{align}
(\forall x)A(x) \rightarrow B &\iff (\exists x)(A(x) \rightarrow B) \\
(\exists x)A(x) \rightarrow B &\iff (\forall x)(A(x) \rightarrow B) \\ \\
B \rightarrow (\forall x)A(x) &\iff (\forall x)(B \rightarrow A(x)) \\
B \rightarrow (\exists x)A(x) &\iff (\exists x)(B \rightarrow A(x)) \\ \\
(\forall x)(A(x) \land B(x)) &\iff (\forall x)A(x) \land (\forall x)B(x) \\
(\exists x)(A(x) \lor B(x)) &\iff (\exists x)A(x) \lor (\exists x)B(x) \\ \\
(\forall x)(A \lor B(x)) &\iff A \lor (\forall x)B(x) \\
(\exists x)(A \land B(x)) &\iff A \land (\exists x)B(x)) \\ \\
(\exists)(A(x) \rightarrow B(x)) &\iff (\exists)A(x) \rightarrow (\forall x)B(x) \\
\end{align} ( ∀ x ) A ( x ) → B ( ∃ x ) A ( x ) → B B → ( ∀ x ) A ( x ) B → ( ∃ x ) A ( x ) ( ∀ x ) ( A ( x ) ∧ B ( x )) ( ∃ x ) ( A ( x ) ∨ B ( x )) ( ∀ x ) ( A ∨ B ( x )) ( ∃ x ) ( A ∧ B ( x )) ( ∃ ) ( A ( x ) → B ( x )) ⟺ ( ∃ x ) ( A ( x ) → B ) ⟺ ( ∀ x ) ( A ( x ) → B ) ⟺ ( ∀ x ) ( B → A ( x )) ⟺ ( ∃ x ) ( B → A ( x )) ⟺ ( ∀ x ) A ( x ) ∧ ( ∀ x ) B ( x ) ⟺ ( ∃ x ) A ( x ) ∨ ( ∃ x ) B ( x ) ⟺ A ∨ ( ∀ x ) B ( x ) ⟺ A ∧ ( ∃ x ) B ( x )) ⟺ ( ∃ ) A ( x ) → ( ∀ x ) B ( x )
有关量词的蕴含式
( ∀ x ) A ( x ) ∨ ( ∀ x ) B ( x ) ⟹ ( ∀ x ) ( A ( x ) ∨ B ( x ) ) ( ∃ x ) ( A ( x ) ∧ B ( x ) ) ⟹ ( ∃ x ) A ( x ) ∧ ( ∃ x ) B ( x ) ( ∀ ) ( A ( x ) → B ( x ) ) ⟹ ( ∀ x ) A ( x ) → ( ∀ x ) B ( x ) ( ∀ ) ( A ( x ) ↔ B ( x ) ) ⟹ ( ∀ x ) A ( x ) ↔ ( ∀ x ) B ( x ) ( ∃ x ) A ( x ) → ( ∀ x ) B ( x ) ⟺ ( ∀ x ) ( A ( x ) → B ( x ) ) \begin{align}
(\forall x)A(x) \lor (\forall x)B(x) &\implies (\forall x)(A(x) \lor B(x)) \\
(\exists x)(A(x) \land B(x)) &\implies (\exists x)A(x) \land (\exists x)B(x) \\ \\
(\forall)(A(x) \rightarrow B(x)) &\implies (\forall x)A(x) \rightarrow (\forall x)B(x) \\
(\forall)(A(x) \leftrightarrow B(x)) &\implies (\forall x)A(x) \leftrightarrow (\forall x)B(x) \\ \\
(\exists x)A(x) \rightarrow (\forall x)B(x) &\iff (\forall x)(A(x) \rightarrow B(x))
\end{align} ( ∀ x ) A ( x ) ∨ ( ∀ x ) B ( x ) ( ∃ x ) ( A ( x ) ∧ B ( x )) ( ∀ ) ( A ( x ) → B ( x )) ( ∀ ) ( A ( x ) ↔ B ( x )) ( ∃ x ) A ( x ) → ( ∀ x ) B ( x ) ⟹ ( ∀ x ) ( A ( x ) ∨ B ( x )) ⟹ ( ∃ x ) A ( x ) ∧ ( ∃ x ) B ( x ) ⟹ ( ∀ x ) A ( x ) → ( ∀ x ) B ( x ) ⟹ ( ∀ x ) A ( x ) ↔ ( ∀ x ) B ( x ) ⟺ ( ∀ x ) ( A ( x ) → B ( x ))
多元谓词的等价/蕴含式
( ∀ x ) ( ∀ y ) A ( x , y ) ⟺ ( ∀ y ) ( ∀ x ) A ( x , y ) ( ∃ x ) ( ∃ y ) A ( x , y ) ⟺ ( ∃ y ) ( ∃ x ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ⟹ ( ∃ x ) ( ∀ y ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ⟹ ( ∀ x ) ( ∃ y ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ⟹ ( ∃ y ) ( ∀ x ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ⟹ ( ∀ y ) ( ∃ x ) A ( x , y ) ( ∃ y ) ( ∀ x ) A ( x , y ) ⟹ ( ∀ x ) ( ∃ y ) A ( x , y ) ( ∃ y ) ( ∀ x ) A ( x , y ) ⟹ ( ∀ x ) ( ∃ y ) A ( x , y ) ( ∀ x ) ( ∃ y ) A ( x , y ) ⟹ ( ∃ x ) ( ∃ y ) A ( x , y ) ( ∀ y ) ( ∃ x ) A ( x , y ) ⟹ ( ∃ y ) ( ∃ x ) A ( x , y ) \begin{align}
(\forall x)(\forall y)A(x,y) &\iff (\forall y)(\forall x)A(x,y) \\
(\exists x)(\exists y)A(x,y) &\iff (\exists y)(\exists x)A(x,y) \\ \\
(\forall x)(\forall y)A(x,y) &\implies (\exists x)(\forall y)A(x,y) \\
(\forall x)(\forall y)A(x,y) &\implies (\forall x)(\exists y)A(x,y) \\
(\forall x)(\forall y)A(x,y) &\implies (\exists y)(\forall x)A(x,y) \\
(\forall x)(\forall y)A(x,y) &\implies (\forall y)(\exists x)A(x,y) \\ \\
(\exists y)(\forall x)A(x,y) &\implies (\forall x)(\exists y)A(x,y) \\
(\exists y)(\forall x)A(x,y) &\implies (\forall x)(\exists y)A(x,y) \\ \\
(\forall x)(\exists y)A(x,y) &\implies (\exists x)(\exists y)A(x,y) \\
(\forall y)(\exists x)A(x,y) &\implies (\exists y)(\exists x)A(x,y)
\end{align} ( ∀ x ) ( ∀ y ) A ( x , y ) ( ∃ x ) ( ∃ y ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ( ∀ x ) ( ∀ y ) A ( x , y ) ( ∃ y ) ( ∀ x ) A ( x , y ) ( ∃ y ) ( ∀ x ) A ( x , y ) ( ∀ x ) ( ∃ y ) A ( x , y ) ( ∀ y ) ( ∃ x ) A ( x , y ) ⟺ ( ∀ y ) ( ∀ x ) A ( x , y ) ⟺ ( ∃ y ) ( ∃ x ) A ( x , y ) ⟹ ( ∃ x ) ( ∀ y ) A ( x , y ) ⟹ ( ∀ x ) ( ∃ y ) A ( x , y ) ⟹ ( ∃ y ) ( ∀ x ) A ( x , y ) ⟹ ( ∀ y ) ( ∃ x ) A ( x , y ) ⟹ ( ∀ x ) ( ∃ y ) A ( x , y ) ⟹ ( ∀ x ) ( ∃ y ) A ( x , y ) ⟹ ( ∃ x ) ( ∃ y ) A ( x , y ) ⟹ ( ∃ y ) ( ∃ x ) A ( x , y )
前束范式
定义
前束范式: ( □ v 1 ) ( □ v 2 ) … ( □ v n ) A (\square v_1)(\square v_2)\dots(\square v_n)A ( □ v 1 ) ( □ v 2 ) … ( □ v n ) A
前束合取范式:
( □ v 1 ) ( □ v 2 ) … ( □ v n ) [ ( A 11 ∨ A 12 ∨ ⋯ ∨ A 1 l 1 ) ∧ ( A 21 ∨ A 22 ∨ ⋯ ∨ A 2 l 2 ) ∧ ⋯ ∧ ( A m 1 ∨ A m 2 ∨ ⋯ ∨ A m l m ) ] (\square v_1)(\square v_2)\dots(\square v_n)[(A_{11}\lor A_{12} \lor \dots\lor A_{1l_1})\land(A_{21}\lor A_{22} \lor \dots\lor A_{2l_2})\land\dots\land(A_{m1}\lor A_{m2} \lor \dots\lor A_{ml_m})] ( □ v 1 ) ( □ v 2 ) … ( □ v n ) [( A 11 ∨ A 12 ∨ ⋯ ∨ A 1 l 1 ) ∧ ( A 21 ∨ A 22 ∨ ⋯ ∨ A 2 l 2 ) ∧ ⋯ ∧ ( A m 1 ∨ A m 2 ∨ ⋯ ∨ A m l m )]
前束析取范式:
( □ v 1 ) ( □ v 2 ) … ( □ v n ) [ ( A 11 ∧ A 12 ∧ ⋯ ∧ A 1 l 1 ) ∨ ( A 21 ∧ A 22 ∧ ⋯ ∧ A 2 l 2 ) ∨ ⋯ ∨ ( A m 1 ∧ A m 2 ∧ ⋯ ∧ A m l m ) ] (\square v_1)(\square v_2)\dots(\square v_n)[(A_{11}\land A_{12} \land \dots\land A_{1l_1})\lor(A_{21}\land A_{22} \land \dots\land A_{2l_2})\lor\dots\lor(A_{m1}\land A_{m2} \land \dots\land A_{ml_m})] ( □ v 1 ) ( □ v 2 ) … ( □ v n ) [( A 11 ∧ A 12 ∧ ⋯ ∧ A 1 l 1 ) ∨ ( A 21 ∧ A 22 ∧ ⋯ ∧ A 2 l 2 ) ∨ ⋯ ∨ ( A m 1 ∧ A m 2 ∧ ⋯ ∧ A m l m )]
例题: 将 D : ( ∀ x ) [ ( ∀ y ) P ( x ) ∨ ( ∀ z ) q ( z , y ) → ¬ ( ∀ y ) R ( x , y ) ] D:(\forall x)[(\forall y)P(x) \lor (\forall z)q(z, y) \rightarrow \neg (\forall y)R(x, y)] D : ( ∀ x ) [( ∀ y ) P ( x ) ∨ ( ∀ z ) q ( z , y ) → ¬ ( ∀ y ) R ( x , y )] 化为前束合取范式
解:
1. 消去多余量词 D ⟺ ( ∀ x ) [ P ( x ) ∨ ( ∀ z ) q ( z , y ) → ¬ ( ∀ y ) R ( x , y ) ] 2. 换名 D ⟺ ( ∀ x ) [ P ( x ) ∨ ( ∀ z ) q ( z , y ) → ¬ ( ∀ w ) R ( x , w ) ] 3. 消去条件联结词 D ⟺ ( ∀ x ) [ ¬ ( P ( x ) ∨ ( ∀ z ) q ( z , y ) ) ∨ ¬ ( ∀ w ) R ( x , w ) ] 4. 将 ¬ 放入括号内 D ⟺ ( ∀ x ) [ ( ¬ P ( x ) ∧ ( ∃ z ) ¬ q ( z , y ) ) ∨ ( ∃ w ) ¬ R ( x , w ) ] 5. 将量词化到左侧 D ⟺ ( ∀ x ) ( ∃ z ) ( ∃ w ) [ ( ¬ P ( x ) ∧ ¬ q ( z , y ) ) ∨ ¬ R ( x , w ) ] 6. 化简得到结果 D ⟺ ( ∀ x ) ( ∃ z ) ( ∃ w ) [ ( ¬ P ( x ) ∨ ¬ R ( x , w ) ) ∧ ( ¬ q ( z , y ) ∨ ¬ R ( x , w ) ) ] \begin{align}
&1.~消去多余量词 \\
&~~~~D \iff (\forall x)[P(x) \lor (\forall z)q(z, y) \rightarrow \neg (\forall y)R(x, y)] \\
&2.~换名 \\
&~~~~D \iff (\forall x)[P(x) \lor (\forall z)q(z, y) \rightarrow \neg (\forall w)R(x, w)] \\
&3.~消去条件联结词 \\
&~~~~D \iff (\forall x)[\neg(P(x) \lor (\forall z)q(z, y)) \lor \neg (\forall w)R(x, w)] \\
&4.~将~\neg~放入括号内 \\
&~~~~D \iff (\forall x)[(\neg P(x) \land (\exists z)\neg q(z, y)) \lor (\exists w)\neg R(x, w)] \\
&5.~将量词化到左侧 \\
&~~~~D \iff (\forall x)(\exists z)(\exists w)[(\neg P(x) \land \neg q(z, y)) \lor \neg R(x, w)] \\
&6.~化简得到结果 \\
&~~~~D \iff (\forall x)(\exists z)(\exists w)[(\neg P(x) \lor \neg R(x, w)) \land (\neg q(z, y) \lor \neg R(x, w))] \\
\end{align} 1. 消去多余量词 D ⟺ ( ∀ x ) [ P ( x ) ∨ ( ∀ z ) q ( z , y ) → ¬ ( ∀ y ) R ( x , y )] 2. 换名 D ⟺ ( ∀ x ) [ P ( x ) ∨ ( ∀ z ) q ( z , y ) → ¬ ( ∀ w ) R ( x , w )] 3. 消去条件联结词 D ⟺ ( ∀ x ) [ ¬ ( P ( x ) ∨ ( ∀ z ) q ( z , y )) ∨ ¬ ( ∀ w ) R ( x , w )] 4. 将 ¬ 放入括号内 D ⟺ ( ∀ x ) [( ¬ P ( x ) ∧ ( ∃ z ) ¬ q ( z , y )) ∨ ( ∃ w ) ¬ R ( x , w )] 5. 将量词化到左侧 D ⟺ ( ∀ x ) ( ∃ z ) ( ∃ w ) [( ¬ P ( x ) ∧ ¬ q ( z , y )) ∨ ¬ R ( x , w )] 6. 化简得到结果 D ⟺ ( ∀ x ) ( ∃ z ) ( ∃ w ) [( ¬ P ( x ) ∨ ¬ R ( x , w )) ∧ ( ¬ q ( z , y ) ∨ ¬ R ( x , w ))]
谓词演算的推理理论
全称指定规则 ( U S ) : ( ∀ x ) P ( x ) ∴ P ( c ) 全称推广规则 ( U G ) : P ( x ) ∴ ( ∀ x ) P ( x ) 存在指定规则 ( E S ) : ( ∃ x ) P ( x ) ∴ P ( c ) 存在推广规则 ( E G ) : P ( c ) ∴ ( ∃ x ) P ( x ) 全称指定规则(US):\\
\frac{(\forall x )P(x)}{\therefore P(c)} \\
全称推广规则(UG):\\
\frac{P(x)}{\therefore (\forall x)P(x)} \\
存在指定规则(ES):\\
\frac{(\exists x)P(x)}{\therefore P(c)} \\
存在推广规则(EG):\\
\frac{P(c)}{\therefore (\exists x)P(x)} 全称指定规则 ( U S ) : ∴ P ( c ) ( ∀ x ) P ( x ) 全称推广规则 ( U G ) : ∴ ( ∀ x ) P ( x ) P ( x ) 存在指定规则 ( E S ) : ∴ P ( c ) ( ∃ x ) P ( x ) 存在推广规则 ( E G ) : ∴ ( ∃ x ) P ( x ) P ( c )
例题: 证明 ( ∀ x ) ( H ( x ) → M ( x ) ) ∧ H ( s ) ⟺ M ( s ) (\forall x)(H(x) \rightarrow M(x)) \land H(s) \iff M(s) ( ∀ x ) ( H ( x ) → M ( x )) ∧ H ( s ) ⟺ M ( s )
解:
( 1 ) ( ∀ x ) ( H ( x ) → M ( x ) ) P ( 2 ) H ( s ) → M ( s ) U S ( 1 ) ( 3 ) H ( s ) P ( 4 ) M ( s ) T ( 2 ) , ( 3 ) I \begin{align}
&(1)~(\forall x)(H(x) \rightarrow M(x)) &
& P & \\
&(2)~H(s) \rightarrow M(s) &
& US(1) & \\
&(3)~H(s) &
& P & \\
&(4)~M(s) &
& T(2),(3)I & \\
\end{align} ( 1 ) ( ∀ x ) ( H ( x ) → M ( x )) ( 2 ) H ( s ) → M ( s ) ( 3 ) H ( s ) ( 4 ) M ( s ) P U S ( 1 ) P T ( 2 ) , ( 3 ) I
集合论
集合
集合的概念及表示
定义
子集(包含):
若有 ( ∀ x ) ( x ∈ A → x ∈ B ) (\forall x)(x \in A \rightarrow x \in B) ( ∀ x ) ( x ∈ A → x ∈ B ) 则称 A A A 为 B B B 的子集 或 A A A 包含在 B B B 内 ,
记作 A ⊆ B A \subseteq B A ⊆ B
真子集:
若有 ( ∀ x ) ( x ∈ A → x ∈ B ) ∧ ( ∃ x ) ( x ∈ B ∧ x ∉ A ) (\forall x)(x \in A \rightarrow x \in B) \land (\exists x)(x \in B \land x \not\in A) ( ∀ x ) ( x ∈ A → x ∈ B ) ∧ ( ∃ x ) ( x ∈ B ∧ x ∈ A ) 则称 A A A 是 B B B 的真子集 ,
记作 A ⊂ B A \subset B A ⊂ B
空集:
不包含任何元素的集合,记作 ∅ \varnothing ∅
∅ ≠ { ∅ } , ∅ ∈ { ∅ } \varnothing \ne \{\varnothing\}, \varnothing \in \{\varnothing\} ∅ = { ∅ } , ∅ ∈ { ∅ }
全集:
在一定范围内,若所有集合均为某一个集合的子集,
则该集合称为 全集 ,记作 E E E
幂集:
给定集合 A A A ,由 A A A 的所有子集为元素组成的集合,
称为集合 A A A 的 幂集 ,记作 P ( A ) \mathscr{P}(A) P ( A )
编码表示幂集:
例如 : 设 S = { a , b , c } , 则 P ( S ) = { S i ∣ i ∈ J } , J = { i ∣ i 是二进制数且 000 ≤ i ≤ 111 } , 其中 S 000 = ∅ 例如:设~S = \{a, b, c\},~ 则 \\
\mathscr{P}(S) = \{S_i|i \in J\}, \\
J = \{i|i是二进制数且 000 \le i \le 111\},\\
其中~S_{000}=\varnothing 例如 : 设 S = { a , b , c } , 则 P ( S ) = { S i ∣ i ∈ J } , J = { i ∣ i 是二进制数且 000 ≤ i ≤ 111 } , 其中 S 000 = ∅
定理
集合 A , B A,B A , B 相等的充要条件为:二者互为子集
对于任意一个集合 A A A ,∅ ⊆ A \varnothing \subseteq A ∅ ⊆ A
给定一个有 n n n 个元素的集合 A A A ,则 P ( A ) \mathscr{P}(A) P ( A ) 有 2 n 2^n 2 n 个元素
集合的运算
定义
交集 ∩ \cap ∩ :
S = A ∩ B = x ∣ ( x ∈ A ) ∧ ( x ∈ B ) S = A \cap B = {x|(x \in A) \land (x \in B)} S = A ∩ B = x ∣ ( x ∈ A ) ∧ ( x ∈ B )
S S S 称为 A A A 和 B B B 的 交集
并集 ∪ \cup ∪ :
S = A ∪ B = x ∣ ( x ∈ A ) ∨ ( x ∈ B ) S = A \cup B = {x|(x \in A) \lor (x \in B)} S = A ∪ B = x ∣ ( x ∈ A ) ∨ ( x ∈ B )
S S S 称为 A A A 和 B B B 的 并集
补集 − - − :
S = A − B = { x ∣ x ∈ A ∧ x ∉ B } = A ∩ ∼ B = A − ( A ∩ B ) S = A - B = \{x|x\in A \land x \not\in B\} = A \cap \sim B = A - (A \cap B) S = A − B = { x ∣ x ∈ A ∧ x ∈ B } = A ∩ ∼ B = A − ( A ∩ B )
S S S 称为 B B B 对于 A A A 的补集
E − A E-A E − A 称为 A A A 的 绝对补 ,记作 ∼ A \sim{A} ∼ A
对称差 ⊕ \oplus ⊕ :
S = A ⊕ B = { x ∣ x ∈ A ∨ ˉ x ∈ B } = ( A − B ) ∪ ( B − A ) = ( A ∩ ∼ B ) ∪ ( B ∩ ∼ A ) = ( A ∪ B ) − ( A ∩ B ) \begin{align}
S = A \oplus B &= \{x|x \in A \bar\lor x \in B\} \\
&= (A - B) \cup (B - A) \\
&= (A \cap \sim B) \cup (B \cap \sim A) \\
&= (A \cup B) - (A \cap B)
\end{align} S = A ⊕ B = { x ∣ x ∈ A ∨ ˉ x ∈ B } = ( A − B ) ∪ ( B − A ) = ( A ∩ ∼ B ) ∪ ( B ∩ ∼ A ) = ( A ∪ B ) − ( A ∩ B )
S S S 称为 A A A 和 B B B 的 对称差
定理
公式
A ∩ ( B ∪ C ) = ( A ∩ B ) ∪ ( A ∩ C ) A ∪ ( B ∩ C ) = ( A ∪ B ) ∩ ( A ∪ C ) A ∪ ( A ∩ B ) = A A ∩ ( A ∪ B ) = A ∼ ( A ∪ B ) = ∼ A ∩ ∼ B ∼ ( A ∩ B ) = ∼ A ∪ ∼ B A ∩ ( B − C ) = ( A ∩ B ) − ( A ∩ C ) \begin{align}
A \cap (B \cup C) &= (A \cap B) \cup (A \cap C) \\
A \cup (B \cap C) &= (A \cup B) \cap (A \cup C) \\
A \cup (A \cap B) &= A \\
A \cap (A \cup B) &= A \\
\sim (A \cup B) &= \sim A \cap \sim B \\
\sim (A \cap B) &= \sim A \cup \sim B \\
A \cap (B - C) &= (A \cap B) - (A \cap C)
\end{align} A ∩ ( B ∪ C ) A ∪ ( B ∩ C ) A ∪ ( A ∩ B ) A ∩ ( A ∪ B ) ∼ ( A ∪ B ) ∼ ( A ∩ B ) A ∩ ( B − C ) = ( A ∩ B ) ∪ ( A ∩ C ) = ( A ∪ B ) ∩ ( A ∪ C ) = A = A =∼ A ∩ ∼ B =∼ A ∪ ∼ B = ( A ∩ B ) − ( A ∩ C )
A ⊆ B ⟹ 1. A ∩ B = A 2. A ∪ B = B 3. ∼ B ⊆ ∼ A 4. ( B − A ) ∪ A = B A \subseteq B \implies
\begin{align}
&1.~A \cap B = A \\
&2.~A \cup B = B \\
&3.~\sim B \subseteq \sim A \\
&4.~(B - A) \cup A = B
\end{align} \\ \\ A ⊆ B ⟹ 1. A ∩ B = A 2. A ∪ B = B 3. ∼ B ⊆∼ A 4. ( B − A ) ∪ A = B
集合的划分与覆盖
定义
覆盖:
给定一个集合 S = { S 1 , S 2 , … , S m } S = \{S_1, S_2, \dots, S_m\} S = { S 1 , S 2 , … , S m } 使得 ⋃ i = 1 m S i = A \bigcup\limits_{i=1}^{m}S_i = A i = 1 ⋃ m S i = A 则称 S S S 为 A A A 的 覆盖
划分:
若 S S S 是 A A A 的覆盖的同时,有 S i ∩ S j = ∅ ( i ≠ j ) S_i \cap S_j = \varnothing(i\ne j) S i ∩ S j = ∅ ( i = j ) 则称 S S S 为 A A A 的 划分
交叉划分:
对于一个集合的两种划分 { A 1 , A 2 , … , A r } , { B 1 , B 2 , … , B s } \{A_1, A_2, \dots, A_r\},\{B_1, B_2, \dots, B_s\} { A 1 , A 2 , … , A r } , { B 1 , B 2 , … , B s } ,
所有 C k = A i ∩ B j ≠ ∅ C_k = A_i \cap B_j \ne \varnothing C k = A i ∩ B j = ∅ 组成的集合,称为是原来两种划分的 交叉划分
加细:
给定集合 X X X 的任意两个划分 { A 1 , A 2 , … , A r } , { B 1 , B 2 , … , B s } \{A_1, A_2, \dots, A_r\},\{B_1, B_2, \dots, B_s\} { A 1 , A 2 , … , A r } , { B 1 , B 2 , … , B s } ,
若对于每一个 A j A_j A j 都有 B k B_k B k 使得 A j ⊆ B k A_j \subseteq B_k A j ⊆ B k ,则称
{ A 1 , A 2 , … , A r } \{A_1, A_2, \dots, A_r\} { A 1 , A 2 , … , A r } 为 { B 1 , B 2 , … , B s } \{B_1, B_2, \dots, B_s\} { B 1 , B 2 , … , B s } 的 加细
定理
对于同一个集合的两种划分,其交叉划分 仍是 原集合的一种划分
两种划分的交叉划分,都是原来两种划分的加细
关系
序偶
定义
序偶:
序偶用于表示事物之间的关系,记作 ⟨ a 1 , a 2 , … , a n ⟩ \langle a_1,a_2,\dots,a_n \rangle ⟨ a 1 , a 2 , … , a n ⟩ ,称为 n n n 元组
笛卡尔乘积/直积:
A × B = { ⟨ x , y ⟩ ∣ ( x ∈ A ) ∧ ( y ∈ B ) } A \times B = \{\langle x, y \rangle | (x \in A) \land (y \in B)\} A × B = {⟨ x , y ⟩ ∣ ( x ∈ A ) ∧ ( y ∈ B )}
这使得两个元素集合构造出一个序偶集合
由于序偶内的元素顺序不可变,所以 A × B ≠ B × A A \times B \ne B \times A A × B = B × A
由于 ⟨ a , ⟨ b , c ⟩ ⟩ \langle a, \langle b, c \rangle \rangle ⟨ a , ⟨ b , c ⟩⟩ 不是三元组,
所以 ( A × B ) × C ≠ A × ( B × C ) (A \times B) \times C \ne A \times (B \times C) ( A × B ) × C = A × ( B × C ) ,且前者得到的才是三元组
记 A × A × ⋯ × A ⏞ n = A n \overbrace{A \times A \times \dots \times A}^n = A^n A × A × ⋯ × A n = A n
定理
对于任意三个集合 A , B , C A, B, C A , B , C ,有
A × ( B ∪ C ) = ( A × B ) ∪ ( A × C ) A × ( B ∩ C ) = ( A × B ) ∩ ( A × C ) ( B ∪ C ) × A = ( B × A ) ∪ ( C × A ) ( B ∩ C ) × A = ( B × A ) ∩ ( C × A ) A \times (B \cup C) = (A \times B) \cup (A \times C) \\
A \times (B \cap C) = (A \times B) \cap (A \times C) \\
(B \cup C) \times A = (B \times A) \cup (C \times A) \\
(B \cap C) \times A = (B \times A) \cap (C \times A) \\ A × ( B ∪ C ) = ( A × B ) ∪ ( A × C ) A × ( B ∩ C ) = ( A × B ) ∩ ( A × C ) ( B ∪ C ) × A = ( B × A ) ∪ ( C × A ) ( B ∩ C ) × A = ( B × A ) ∩ ( C × A )
若 C ≠ ∅ C \ne \varnothing C = ∅ 则
A ⊆ B ⟺ A × C ⊆ B × C ⟺ C × A ⊆ C × B A \subseteq B \iff A \times C \subseteq B \times C \iff C \times A \subseteq C \times B A ⊆ B ⟺ A × C ⊆ B × C ⟺ C × A ⊆ C × B
设 A , B , C , D A, B, C, D A , B , C , D 为四个非空集合,则
A ⊆ C ∧ B ⊆ D ⟺ A × B ⊆ C × D A \subseteq C \land B \subseteq D \iff A \times B \subseteq C \times D A ⊆ C ∧ B ⊆ D ⟺ A × B ⊆ C × D
关系及其表示
定义
关系:
将一个由序偶组成的集合称为一个 关系 ,记作 R R R ,
R R R 中的任一序偶 ⟨ a , b ⟩ \langle a, b \rangle ⟨ a , b ⟩ 可以记作 ⟨ a , b ⟩ ∈ R \langle a,b \rangle \in R ⟨ a , b ⟩ ∈ R 或 x R y xRy x R y
不在 R R R 中的任一序偶可以记作 ⟨ a , b ⟩ ∉ R \langle a,b \rangle \not\in R ⟨ a , b ⟩ ∈ R 或 x R̸ y x \not R y x R y
前域、值域、域:
d o m R dom~R d o m R 称为 R R R 的前域,r a n R ran~R r an R 称为 R R R 的值域,
二者一起称作 R R R 的域,记作 F L D R FLD~R F L D R
d o m R = { x ∣ ( ∃ y ) ( ⟨ x , y ⟩ ∈ R ) } r a n R = { y ∣ ( ∃ x ) ( ⟨ x , y ⟩ ∈ R ) } F L D R = d o m R ∪ r a n R \mathrm{dom}~R = \{x|(\exists y)(\langle x,y \rangle \in R)\} \\
\mathrm{ran}~R = \{y|(\exists x)(\langle x,y \rangle \in R)\} \\
\mathrm{FLD}~R = \mathrm{dom}~R \cup \mathrm{ran}~R dom R = { x ∣ ( ∃ y ) (⟨ x , y ⟩ ∈ R )} ran R = { y ∣ ( ∃ x ) (⟨ x , y ⟩ ∈ R )} FLD R = dom R ∪ ran R
直积与关系:
对于任一两个集合 X , Y X, Y X , Y ,二者的直积 X × Y X \times Y X × Y 的子集 R R R 称为 X X X 到 Y Y Y 的关系
对于其子集 X × Y , ∅ X \times Y, \varnothing X × Y , ∅ ,分别称为 X X X 到 Y Y Y 的 全域关系 和 空关系
恒等关系:
I X = { ⟨ x , x ⟩ ∣ x ∈ X } I_X = \{\langle x, x \rangle| x \in X\} I X = {⟨ x , x ⟩ ∣ x ∈ X }
I X I_X I X 称为 X X X 上的 恒等关系
关系矩阵:
对于矩阵 M R = [ r i j ] m × n M_R = [r_{ij}]_{m\times n} M R = [ r ij ] m × n 其中
r i , j = { 1 , ⟨ x i , y j ⟩ ∈ R 0 , ⟨ x i , y j ⟩ ∉ R , i = 1 , 2 , … , m ; j = 1 , 2 , … , n . r_{i,j} =
\begin{cases}
1, \langle x_i, y_j \rangle \in R \\
0, \langle x_i, y_j \rangle \not\in R
\end{cases}
~~~~,~i =1, 2, \dots, m;~j = 1, 2, \dots, n. r i , j = { 1 , ⟨ x i , y j ⟩ ∈ R 0 , ⟨ x i , y j ⟩ ∈ R , i = 1 , 2 , … , m ; j = 1 , 2 , … , n .
这样的矩阵称为 R R R 的 关系矩阵
定理
对于 X X X 到 Y Y Y 的两个关系 Z , S Z, S Z , S ,二者的交、并、补、差 仍是 X X X 到 Y Y Y 的关系
关系的性质
定义
从关系矩阵看性质
自反 ⟺ \iff ⟺ 对角线上所有元素均为 1 1 1
对称 ⟺ \iff ⟺ 关系矩阵是对称的
反自反 ⟺ \iff ⟺ 对角线元素全为 0 0 0
反对称 ⟺ \iff ⟺ 以主对角线对称的元素不同时为 1 1 1
复合关系和逆关系
定义
合成运算:
设 R R R 为 X X X 到 Y Y Y 的关系,S S S 为 Y Y Y 到 Z Z Z 的关系,则 R ∘ S R \circ S R ∘ S 称为 R , S R,S R , S 的复合关系
表示为
R ∘ S = { ⟨ x , z ⟩ ∣ x ∈ X ∧ z ∈ Z ∧ ( ∃ y ) ( y ∈ Y ∧ ⟨ x , y ⟩ ∈ R ∧ ⟨ y , z ⟩ ∈ S } R \circ S = \{\langle x, z \rangle|x \in X \land z \in Z \land (\exists y)(y \in Y \land \langle x, y\rangle \in R \land \langle y,z \rangle \in S\} R ∘ S = {⟨ x , z ⟩ ∣ x ∈ X ∧ z ∈ Z ∧ ( ∃ y ) ( y ∈ Y ∧ ⟨ x , y ⟩ ∈ R ∧ ⟨ y , z ⟩ ∈ S }
这称为关系的 合成运算
记 R ∘ R ∘ ⋯ ∘ R ⏞ n = R n \overbrace{R \circ R \circ \dots \circ R}^{n} = R^n R ∘ R ∘ ⋯ ∘ R n = R n
逆关系:
R c = { ⟨ y , x ⟩ ∣ ⟨ x , y ⟩ ∈ R } R^c = \{\langle y, x \rangle | \langle x, y \rangle \in R\} R c = {⟨ y , x ⟩ ∣ ⟨ x , y ⟩ ∈ R }
利用矩阵运算求合成运算
M R ∘ S = M R ∘ M S = [ w i k ] w i k = ⋁ j = 1 n ( u i j ∧ v j k ) M_{R\circ S} = M_R \circ M_S = [w_{ik}] \\
w_{ik} = \bigvee_{j=1}^{n}(u_{ij} \land v_{jk}) \\ M R ∘ S = M R ∘ M S = [ w ik ] w ik = j = 1 ⋁ n ( u ij ∧ v j k )
有关逆关系的公式
设 R , R 1 , R 2 R, R_1, R_2 R , R 1 , R 2 都是 A A A 到 B B B 的二元关系
( R 1 ∪ R 2 ) c = R 1 c ∪ R 2 c ( R 1 ∩ R 2 ) c = R 1 c ∩ R 2 c ( A × B ) c = B × A ( R ˉ ) c = R c ˉ , R ˉ = A × B − R ( R 1 − R 2 ) c = R 1 c − R 2 c \begin{align}
&(R_1 \cup R_2)^c = R_1^c \cup R_2^c \\
&(R_1 \cap R_2)^c = R_1^c \cap R_2^c \\
&(A \times B)^c = B \times A \\
&(\bar{R})^c = \bar{R^c}, \bar R = A \times B - R \\
&(R_1 - R_2)^c = R_1^c - R_2^c
\end{align} ( R 1 ∪ R 2 ) c = R 1 c ∪ R 2 c ( R 1 ∩ R 2 ) c = R 1 c ∩ R 2 c ( A × B ) c = B × A ( R ˉ ) c = R c ˉ , R ˉ = A × B − R ( R 1 − R 2 ) c = R 1 c − R 2 c
对于任一两个关系 T , S T, S T , S ,( T ∘ S ) c = S c ∘ T c (T\circ S)^c = S^c \circ T^c ( T ∘ S ) c = S c ∘ T c
对称定理
R R R 是对称的,当且仅当 R = R c R = R^c R = R c
R R R 是反对称的,当且仅当 R ∩ R c ⊆ I X R \cap R^c \subseteq I_X R ∩ R c ⊆ I X
关系的闭包运算
定义
设 R R R 是 X X X 上的二元关系,如果有另一个关系 R ′ R' R ′ 满足:
R ′ R' R ′ 是自反的/对称的/可传递的
R ⊆ R ′ R \subseteq R' R ⊆ R ′
对于任何自反的/对称的/可传递的关系 R ′ ′ R'' R ′′ ,
如果有 R ⊆ R ′ ′ R \subseteq R'' R ⊆ R ′′ 就有 R ′ ⊆ R ′ ′ R' \subseteq R'' R ′ ⊆ R ′′
则称 R ′ R' R ′ 为 R R R 的自反/对称/传递 闭包 ,记作
r ( R ) / s ( R ) / t ( R ) ( r e f l e x i v e , s y m m e t r i c a l , t r a n s i t i v e ) r(R)/s(R)/t(R)~~~~(\mathrm{reflexive,symmetrical,transitive}) r ( R ) / s ( R ) / t ( R ) ( reflexive , symmetrical , transitive )
定理
R R R 是自反的,当且仅当 r ( R ) = R r(R) = R r ( R ) = R
R R R 是对称的,当且仅当 s ( R ) = R s(R) = R s ( R ) = R
R R R 是传递的,当且仅当 t ( R ) = R t(R) = R t ( R ) = R
自反闭包的求解:
r ( R ) = R ∪ I X r(R) = R \cup I_X r ( R ) = R ∪ I X
对称闭包的求解:
s ( R ) = R ∪ R c s(R) = R \cup R^c s ( R ) = R ∪ R c
传递闭包的求解:
t ( R ) = ⋃ i = 1 k R k , k ≤ n ( n 为元素个数) t(R) = \bigcup_{i=1}^{k}R^k,~~~~k \le n(n为元素个数) t ( R ) = i = 1 ⋃ k R k , k ≤ n ( n 为元素个数)
闭包之间的关系:
r s ( R ) = s r ( R ) r t ( R ) = t r ( R ) s t ( R ) ⊆ t s ( R ) rs(R) = sr(R) \\
rt(R) = tr(R) \\
st(R) \subseteq ts(R) r s ( R ) = sr ( R ) r t ( R ) = t r ( R ) s t ( R ) ⊆ t s ( R )
F l o y d Floyd F l oy d 算法求解传递闭包
对于 R R R 的关系矩阵 M M M 依照以下步骤进行修改
for k from 1 to n :
for i from 1 to n :
for j from 1 to n :
if (M [ i ] [ j ] == 0 )
M [ i ] [ j ] = M [ i ] [ k ] * M [ k ] [ j ]
等价关系与等价类
定义
等价关系:
一个关系若同时是自反的、对称的、传递的,则称该关系为 等价关系
等价类:
设 R R R 是集合 A A A 上的等价关系,对与 ∀ a ∈ A \forall a \in A ∀ a ∈ A ,
集合 [ a ] R = { x ∣ x ∈ A , a R x } [a]_R = \{x|x\in A, aRx\} [ a ] R = { x ∣ x ∈ A , a R x } 称为元素 a a a 形成的 R R R 等价类
商集:
对于集合 A A A 上的等价关系 R R R ,
其等价类集合 { [ a ] R ∣ a ∈ A } \{[a]_R|a\in A\} {[ a ] R ∣ a ∈ A } 称作 A A A 关于 R R R 的商集,记作 A / R A/R A / R
定理
对于集合 A A A 上的等价关系 R R R ,a , b ∈ A a, b\in A a , b ∈ A ,则
a R b ⟺ [ a ] R = [ b ] R aRb \iff [a]_R = [b]_R a R b ⟺ [ a ] R = [ b ] R
集合 A A A 上的一个等价关系可以确定 A A A 的一个划分,
该划分就是 A / R A/R A / R
集合 A A A 的一个划分能确定 A A A 上的一个等价关系
对于集合上的两个等价关系 R 1 , R 2 R_1, R_2 R 1 , R 2 ,
A / R 1 = A / R 2 ⟺ R 1 = R 2 A/R_1 = A/R_2 \iff R_1 = R_2 A / R 1 = A / R 2 ⟺ R 1 = R 2
求划分确定的等价关系
例题: 设集合 A = { a , b , c , d , e } A = \{a, b, c, d, e\} A = { a , b , c , d , e } ,划分 S = { ⟨ a , b ⟩ , ⟨ c ⟩ , ⟨ d , e ⟩ } S = \{\langle a, b \rangle,\langle c \rangle,\langle d, e\rangle\} S = {⟨ a , b ⟩ , ⟨ c ⟩ , ⟨ d , e ⟩} ,
求划分 S S S 所确定的 A A A 上的一个等价关系 R R R
解:
R 1 = ⟨ a , b ⟩ × ⟨ a , b ⟩ R 2 = ⟨ c ⟩ × ⟨ c ⟩ R 3 = ⟨ d , e ⟩ × ⟨ d , e ⟩ ∴ R = R 1 ∪ R 2 ∪ R 3 = { ⟨ a , a ⟩ , ⟨ b , b ⟩ , ⟨ c , c ⟩ , ⟨ d , d ⟩ , ⟨ e , e ⟩ , ⟨ a , b ⟩ , ⟨ b , a ⟩ , ⟨ d , e ⟩ , ⟨ e , d ⟩ } \begin{align}
&R_1 = \langle a, b \rangle \times \langle a, b \rangle \\
&R_2 = \langle c \rangle \times \langle c \rangle \\
&R_3 = \langle d, e \rangle \times \langle d, e \rangle \\ \\
\therefore~
&R = R_1 \cup R_2 \cup R_3 = \{\langle a, a\rangle\ ,\langle b,b\rangle\ ,\langle c,c\rangle\ ,\langle d,d\rangle\ ,\langle e,e\rangle\ ,\\ &~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\langle a,b\rangle\ ,\langle b,a\rangle\ ,\langle d,e\rangle\ ,\langle e,d\rangle\}
\end{align} ∴ R 1 = ⟨ a , b ⟩ × ⟨ a , b ⟩ R 2 = ⟨ c ⟩ × ⟨ c ⟩ R 3 = ⟨ d , e ⟩ × ⟨ d , e ⟩ R = R 1 ∪ R 2 ∪ R 3 = {⟨ a , a ⟩ , ⟨ b , b ⟩ , ⟨ c , c ⟩ , ⟨ d , d ⟩ , ⟨ e , e ⟩ , ⟨ a , b ⟩ , ⟨ b , a ⟩ , ⟨ d , e ⟩ , ⟨ e , d ⟩}
相容关系与相容类
定义
相容关系:
一个关系若同时是自反的、对称的,则称该关系为 相容关系
对于相容关系的关系图,不画自回路,使用单线来代替回弧线
相容类:
对于集合 A A A 上的相容关系 r r r ,若 C ⊆ A C \subseteq A C ⊆ A ,
如果 C C C 中的任意两个元素 a 1 , a 2 a_1, a_2 a 1 , a 2 有 a 1 r a 2 a_1ra_2 a 1 r a 2 ,称 C C C 是由相容关系 r r r 产生的 相容类
最大相容类:
若一个相容类,不能真包含在其他相容类,则称其为 最大相容类 ,记作 C r C_r C r
完全覆盖:
对于一个集合 A A A 的所有最大相容类,
这些最大相容类组成的集合,构成了 A A A 的一个覆盖,
称为 完全覆盖 ,记作 C r ( A ) C_r(A) C r ( A )
定理
相容关系图中,最大完全多边形的顶点集合 就是最大相容类,
此外,孤立节点 和 不是完全多边形的边的两个节点 也是最大相容类
(详见下面例题)
其中 { a 1 , a 2 , a 4 , a 6 } , { a 3 , a 4 , a 6 } \{a_1,a_2,a_4,a_6\},\{a_3,a_4,a_6\} { a 1 , a 2 , a 4 , a 6 } , { a 3 , a 4 , a 6 } 构成最大多边形,
{ a 4 , a 5 } \{a_4,a_5\} { a 4 , a 5 } 为非最大多边形边的两个节点,{ a 7 } \{a_7\} { a 7 } 为孤立节点
给定集合 A A A 的覆盖 { A 1 , A 2 , … , A n } \{A_1, A_2, \dots, A_n\} { A 1 , A 2 , … , A n } ,
由它确定的关系 R = A 1 × A 1 ∪ A 2 × A 2 ∪ … A n × A n R = A_1 \times A_1 \cup A_2 \times A_2 \cup \dots A_n \times A_n R = A 1 × A 1 ∪ A 2 × A 2 ∪ … A n × A n 是相容关系
相容关系 r r r 与完全覆盖 C r ( A ) C_r(A) C r ( A ) 一一对应
序关系
定义
偏序:
对于集合 A A A 上的一个关系 R R R ,同时满足自反性、反对称性、传递性,
则称 R R R 为 A A A 上的一个偏序关系,将这个关系记作 ⪯ \preceq ⪯ ,序偶 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 称作偏序集
盖住:
在偏序集合 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 中,如果 x , y ∈ A , x ⪯ y , x ≠ y x, y \in A, x \preceq y, x \ne y x , y ∈ A , x ⪯ y , x = y
且没有其他元素 z z z 满足 x ⪯ z , z ⪯ y x \preceq z, z \preceq y x ⪯ z , z ⪯ y ,则称 y y y 盖住 x x x ,记
C O V A = { ⟨ x , y ⟩ ∣ x , y ∈ A ; y 盖住 x } \mathrm{COV}~A = \{\langle x, y \rangle | x, y \in A; y~盖住~x\} COV A = {⟨ x , y ⟩ ∣ x , y ∈ A ; y 盖住 x }
链、反链:
设 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 是一个偏序结合,在 A A A 的一个子集中,
如果每两个元素都是有关系的,则称这个子集为 链 ,
如果每两个元素都是无关的,则称这个子集为 反链
规定,若 A A A 的子集只有一个元素,则这个子集既是链也是反链
全序/线序集合:
在偏序集 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 中,如果 A A A 是一个链,则称 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 为 全序集合 或 线序集合 ,在这种情况下,称二元关系 ⪯ \preceq ⪯ 为 全序关系 或 线序关系
即 ∀ x , y ∈ A \forall x, y \in A ∀ x , y ∈ A 都有 x ⪯ y x \preceq y x ⪯ y 或者 y ⪯ x y \preceq x y ⪯ x 成立,不存在两个无关的元素
极大元、极小元:
设 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 是一个偏序集,且 B B B 是 A A A 的子集,对于 B B B 中的一个元素 b b b ,
如果 B B B 中没有任何元素 x x x 满足 b ≠ x b \ne x b = x 且 b ⪯ x b \preceq x b ⪯ x 则称 b b b 为 B B B 的 极大元 ,
如果 B B B 中没有任何元素 x x x 满足 b ≠ x b \ne x b = x 且 x ⪯ b x \preceq b x ⪯ b 则称 b b b 为 B B B 的 极小元
极大元和极小元 不是唯一的
最大元、最小元:
设 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 是一个偏序集,且 B B B 是 A A A 的子集,对于 B B B 中的一个元素 b b b ,
如果 B B B 中每一个元素 x x x 满足 x ⪯ b x \preceq b x ⪯ b 则称 b b b 为 B B B 的 最大元 ,
如果 B B B 中每一个元素 x x x 满足 b ⪯ x b \preceq x b ⪯ x 则称 b b b 为 B B B 的 最小元
上界、下界
设 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 是一个偏序集,且 B B B 是 A A A 的子集,对于一个元素 a ∈ B a \in B a ∈ B
若 B B B 的任意元素 x x x ,满足 x ⪯ a x \preceq a x ⪯ a ,则称 a a a 为 B B B 的 上界
若 B B B 的任意元素 x x x ,满足 a ⪯ x a \preceq x a ⪯ x ,则称 a a a 为 B B B 的 下界
最小上界/上确界、最大下界/下确界:
设 ⟨ A , ⪯ ⟩ \langle A,\preceq \rangle ⟨ A , ⪯ ⟩ 是一个偏序集,且 B B B 是 A A A 的子集,对于 B B B 的任一上界 a a a
若 B B B 的所有上界 y y y ,满足 a ⪯ y a \preceq y a ⪯ y ,
则称 a a a 为 B B B 的 最小上界(上确界) ,记为 L U B B \mathrm{LUB}~B LUB B
若 B B B 的所有上界 y y y ,满足 y ⪯ a y \preceq a y ⪯ a ,
则称 a a a 为 B B B 的 最大下界(下确界) ,记为 G L B B \mathrm{GLB}~B GLB B
良序集合:
任一偏序集合,若它的每个非空子集存在最小元素,
则称这种偏序集为 良序集合
定理
每一个良序集合一定是全序集合,每一个 有限 的全序集合一定是良序集合
图论
路与回路
定义
路、回路
路:连接各个节点
回路:头尾节点相同的路
通路:不存在重复节点的路
圈:除头尾节点外不存在重复节点的回路
迹:不存在重复边的路
连通性
连通:两节点之间存在路
连通分支:将一个图划分为若干子图,两个节点只有属于同一个集合时连通,连通分支数记为 W ( G ) W (G) W ( G )
点割集:如果将集合中所有点及其相连的边从图中移除,会导致图变得不连通(即图的连通分支数增加)
割点:单独构成点割集的点
点连通度:在保持图连通的前提下,至少需要移除多少个顶点(及其相连的边)才能使图不连通,记为 k ( G ) k (G) k ( G )
边割集:如果移除该边集中的所有边后,图会变得不连通的边集
割边:单独构成边割集的边
边连通度:在保持图连通的前提下,至少需要移除多少条边才能使图不连通,记为 λ ( G ) \lambda (G) λ ( G )
最短路
两节点之间的最短路记为两节点的距离(或短程线),用 d ( u , v ) d (u, v) d ( u , v ) 表示
D = max d ( u , v ) D=\max d (u, v) D = max d ( u , v ) 称为图的直径
强弱连通(在有向图中)
单侧连通:图中存在一对节点仅单侧可达(不要求图为连通图)
强连通:图中任意两节点相互可达
弱连通:单侧连通的有向图转为无向图后是连通的
强/弱/单侧分图:具有强/弱/单侧性质的最大子图
定理
两节点间必然存在一条不多于 n − 1 n-1 n − 1 条边的路
两节点间必然存在一条小于 n n n 条边的通路
连通图只有一个连通分支
k ( K p ) = p − 1 k (K_p) = p-1 k ( K p ) = p − 1 (完全图的点连通度为 节点数 − 1 节点数-1 节点数 − 1 )
k ( G ) ≤ λ ( G ) ≤ δ ( G ) k (G) \leq \lambda (G) \leq \delta (G) k ( G ) ≤ λ ( G ) ≤ δ ( G ) (点连通度≤边连通度≤最小度数)
两节点间每一条路都经过的节点为割点
强连通 ⟺ \iff ⟺ 图中存在一个回路,该回路至少包含每个节点一次
有向图中的每个节点只位于一个强分图中
对于邻接矩阵 A ( G ) A (G) A ( G ) ,( A ( G ) ) k (A (G))^k ( A ( G ) ) k 中,a i j a_{ij} a ij 表示从 v i v_i v i 到 v j v_j v j 的长度为 k k k 的(回)路的数量
对于有 n n n 个节点的连通图, r a n k M ( G ) = r − 1 rank~M (G) = r-1 r ank M ( G ) = r − 1
对于有 n n n 个节点,w w w 个最大连通子图的连通图,M ( G ) M (G) M ( G ) 是完全关联矩阵,r a n k M ( G ) = n − w rank~M (G) = n-w r ank M ( G ) = n − w
欧拉图与哈密顿图
定义
欧拉图
欧拉路径:一条经过所有边且不重复的路
欧拉回路:一条经过所有边且不重复的回路
哈密顿图
哈密顿路径:经过所有节点恰好一次的路径
哈密顿回路:经过所有节点恰好一次的回路
闭包
G , G ' = <V, E>
节点总数 n
while G ' 中存在非邻接节点 and 两节点度数之和大于等于 n:
连接这两个节点
C ( G ) = G ′ C (G) = G' C ( G ) = G ′ 称为 G G G 的闭包
定理
欧拉图
对于无向图,当且仅当其连通且奇数度节点有 0 或 2 个时,有欧拉路径
对于无向图,当且仅当所有节点全为偶数度节点时,有欧拉回路
对于有向图,当且仅当其连通且{有两个节点,一个入度比出度大 1 另一个入度比出度小 1},其余节点入度等于出度时,有欧拉路径
对于有向图,当且仅当其连通且所有节点入度等于出度时,有欧拉回路
哈密顿图
若一个图有哈密顿回路,则对任意一个节点子集 S S S ,
G − S G-S G − S 的连通分支数 W ( G − S ) ≤ ∣ S ∣ W (G-S)\leq|S| W ( G − S ) ≤ ∣ S ∣
对于一个图,若其为简单图且每一对节点度数之和大于等于 n − 1 → n-1~\rightarrow n − 1 → 该图有哈密顿路径(这不是充要条件)
对于一个图,若其为简单图且每一对节点度数之和大于等于 n → n~\rightarrow n → 该图有哈密顿回路(这不是充要条件)
一个简单图的闭包是哈密顿图 ⟺ \iff ⟺ 该简单图也为哈密顿图
平面图
定义
平面图:边之间没有交点的图(可以通过改画图像得到)
面:边所包围的区域
边界:构成面的边所形成的回路
面的次数:面的边界长度
在 k k k 度节点内同构:对两个图通过多次添加或删除度数为 k k k 的节点,后使得两图同构
定理
对于有限平面图,面的次数和等于边数的两倍
欧拉公式:V − E + R = 2 V-E+R=2 V − E + R = 2
判断非平面图的充分条件:对于一个连通的简单平面图,若 V ≥ 3 ⟶ E ≤ 3 V − 6 V\geq 3 \longrightarrow E \leq 3V-6 V ≥ 3 ⟶ E ≤ 3 V − 6
判断平面图的充要条件:一个图是平面图 ⟺ \iff ⟺ 该图不包含与 K 3 , 3 , K 5 K_{3,3}, K_5 K 3 , 3 , K 5 在 2 2 2 度节点内同构的子图
对偶图与着色
定义
对偶
对偶图:G G G 和 G ∗ G^{~*} G ∗ 互为对偶图,对于 G G G 中的每一个面(包括外面),G ∗ G^{~*} G ∗ 中均有一个对应的节点在其内部,反之亦然
自对偶图:G G G 与其对偶图 G ∗ G^{~*} G ∗ 同构
着色
最少着色数:x ( G ) x (G) x ( G )
W e l c h P o w e l l Welch Powell W e l c h P o w e l l 着色法:
for node in sorted_node ( 按度数降序排序后的节点 ):
if node 未着色:
对 node 及其的所有不邻接节点着相同颜色
换一种颜色
if 所有节点已着色 :
break
定理
x ( K n ) = n x (K_n) = n x ( K n ) = n
对于一个至少有三个节点的连通平面图,必存在度数小于 5 的节点
任意平面图,最多为 5-色 (?)
树与生成树
定义
树:无向图
无回路的连通图
每个节点之间仅有一条路
E = V − 1 E=V-1 E = V − 1
λ ( G ) = 1 \lambda (G)=1 λ ( G ) = 1
生成树:一个图的子图是树,该树称为生成树
最小生成树:一个图的所有生成树中,边权和最小的那棵树
定理
连通图至少有一颗生成树
图中的一条回路/边割集和该图的任何一颗生成树的补至少有一条公共边
K r u s k a l Kruskal K r u s k a l 算法得到最小生成树:
V = {}, E = {}
G = < V , E >
sum = 0
for edge in sorted_edges(按边权升序排列的边) :
if 加入该边不会出现环 :
将该边加入图中
if G 是生成树(边数等于 n - 1 ) :
break
根树及其应用
定义
有向树:不考虑边的方向时是一颗树的有向图
根树:恰有一个节点入度为 0,其余节点入度为 1 的有向树,入度为 0 的为根,出度为 0 的为叶,出度不为 0 的为分支点或内点
(完全)m m m 叉树:每一个节点的出度均(恰好等于)小于等于 m m m 的根树
内部/外部通路长度:根到分支节点/叶节点的通路的长度
带权二叉树:有 t t t 个叶节点,每个叶节点带有权值 w 1 , w 1 , . . . , w t w_1, w_1, ..., w_t w 1 , w 1 , ... , w t
最优带权二叉树(哈夫曼树):
对于带权为 w i w_i w i 的叶节点,其通路长度为 L ( w i ) L (w_i) L ( w i )
将 w ( T ) = ∑ i = 1 t w i L ( w i ) w (T) = \sum_{i=1}^{t}w_iL (w_i) w ( T ) = ∑ i = 1 t w i L ( w i ) 称为该带权二叉树 T T T 的权
最优树为 w ( T ) w (T) w ( T ) 最小的那棵树
前缀码:一个 01 01 01 序列集合,没有一个序列是其他序列的前缀
定理
对于完全 m m m 叉树,树叶数为 t t t ,分枝点数为 i i i ,则有 i ( m − 1 ) = t − 1 i (m-1)=t-1 i ( m − 1 ) = t − 1
对于有 n n n 个分枝点的完全二叉树,内部通路长度总和为 I I I ,外部通路长度总和为 E E E ,有 E = I + 2 n E=I+2n E = I + 2 n
对于带权 w 1 ≤ w 2 ≤ . . . ≤ w t w_1 \leq w_2 \leq~...~\leq w_t w 1 ≤ w 2 ≤ ... ≤ w t 的最优树 T T T :
带权 w 1 , w 2 w_1, w_2 w 1 , w 2 的叶节点 v w 1 , v w 2 v_{w_1}, v_{w_2} v w 1 , v w 2 互为兄弟节点
v w 1 , v w 2 v_{w_1}, v_{w_2} v w 1 , v w 2 的父节点的通路长度最长
若将 v w 1 , v w 2 v_{w_1}, v_{w_2} v w 1 , v w 2 的父节点改为带权 w 1 + w 2 w_1+w_2 w 1 + w 2 的叶节点,得到的新树 T ′ T~' T ′ 也是最优树
参考文献