跳到主要内容

离散数学知识总结

参考: 两本课本,kumiko的笔记以及其中参考资料

数理逻辑

命题逻辑

关注命题和命题之间的结构与关系。

  • 命题:非真即假陈述句,可决定是真 or 假,并且不是真的就是假的,不能不真又不假,也不能又真又假。
    • T/1T/1 --True
    • F/0F/0 --False
  • 简单命题/原子命题
    • 不包含任何与/或/非联接词
    • 不可再分割
    • 简单命题中的主语/谓语不可分割,在谓词逻辑里才进行深入分析
  • 复合命题
    • 把一个 or 几个简单命题用联结词联结所构成的新命题
    • 真值依赖于各个简单命题的真值
    • 讨论多个命题联结而成的复合命题的规律性
  • (原子)命题变元:代表那些未被定义的命题,用 P,Q,RP, Q,R 表示,这些变元与逻辑符号共同构成了复合命题公式。
  • 逻辑联接词:
    • ¬\lnot :否定词,当且仅当 PP 是假时, ¬P\lnot P 为真。
    • \land合取词,当且仅当 PPQQ 都为真时, PQP\land Q 为真。
    • \lor析取词,当且仅当 PPQQ 都为假时, PQP \lor Q 为假。
      • 注意,日常语言中的“或”与析取词的意义并不一致,有时这里的或代表“异或” ˉ\bar{\lor} ,表示“不可兼或”。
    • \to :蕴涵词,当且仅当 PP 为真而 QQFF 时, PQ=FP\to Q=F
      • PPQQ 的充分条件 / QQPP 的必要条件 / QQ 每当 PP / 只有 QQ ,才 PP / 除非 QQ ,否则非 PP
      • 已知 PQP\to Q ,把 QPQ\to P 称为逆命题, ¬P¬Q\lnot P\to \lnot Q 称为否命题, ¬Q¬P\lnot Q \to \lnot P 称为逆否命题
    • \leftrightarrow :双条件词: PQ=(PQ)(QP)P\leftrightarrow Q=(P\to Q)\land (Q\to P)
  • 合式公式:
    • 定义书写复合命题的语法
    • 定义:
      • 每个命题变量都是合式公式
      • 如果 α\alpha 是合式公式,那么 ¬α\lnot \alpha 也是合式公式
      • 如果 α\alphaβ\beta 是合式公式, \cdot 是二元逻辑联接词,那么 (αβ)(\alpha\cdot\beta) 是合式公式。
    • 约定
      • 优先级 ¬\lnot\land\lor\to\leftrightarrow ,在前面的优先运算。
      • 先左后右
  • 对于任何解释都为真的公式称为重言式
    • \lor\lor\to\leftrightarrow 联结的重言式仍然是重言式
  • 在某个解释下为真的公式是可满足的
    • 重言式是可满足的
    • AA 可满足,¬A\lnot A 非永真。
  • 在任意解释下都是假的的公式是矛盾式 / 永假式 / 不可满足式
    • 不是可满足的公式必然永假
    • 非永假的公式必然可以满足
  • 代入规则
    • AA 是一个公式,对 AA 使用代入规则得到公式 BB ,若 AA 是重言式, BB 也是重言式
    • 只能代换命题变元(原子命题)而非复合命题
    • 必须对所有命题变元代换以同一公式
  • 中缀后缀前缀表达式
    • 波兰式 / 前缀式:运算符在运算数前面
    • 逆波兰式 / 后缀式:运算数在运算数后面
    • 方法:按照运算优先级顺序逐步写成前缀式
  • 等值:α\alphaβ\beta 是两个命题公式,如果对于任何情况,二者的真值表都相等,那它们是逻辑相等 / 等价的,用 αβ\alpha \Leftrightarrow \beta / α=β\alpha=\beta 表示。
    • 两个公式等值并不一定要有相同的命题变项。
  • 等值定理: A=BA=B 的充分必要条件是 ABA\leftrightarrow B 是重言式。
    • ABA\leftrightarrow BABA \Leftrightarrow B 并不是等同的,前者表示一种语法关系,不暗示任何联系,后者则表示语义上的相等。
  • == :在逻辑关系上指一种等价关系,而非联结词,具有自反性,传递性与对称性。
  • 基本等值公式(容易错的)
    • 结合律: (PQ)R=P(QR)(P\leftrightarrow Q)\leftrightarrow R=P\leftrightarrow(Q\leftrightarrow R)
    • 分配律:P(QR)=(PQ)(PR)P\to(Q\to R)=(P\to Q)\to(P\to R)
    • 吸收律(悄悄用数电的手法写一遍,然后换过来)
    • 摩根律:¬(PQ)=¬PQ=P¬Q=(¬PQ)(P¬Q)\lnot(P\leftrightarrow Q)=\lnot P \leftrightarrow Q=P\leftrightarrow \lnot Q=(\lnot P \land Q)\lor(P \land \lnot Q)
    • 同一律
      • PF=¬PP\to F=\lnot P
      • FP=¬PF\leftrightarrow P=\lnot P
      • P¬P=¬PP\to \lnot P=\lnot P
      • ¬PP=P\lnot P\to P=P
  • 常见等值式
    • PQ=¬PQP\to Q=\lnot P \lor Q
    • 前提合并 P(QR)=(PQ)RP\to(Q\to R)=(P \land Q)\to R
    • 描述双条件
      • 取真:PQ=(PQ)(¬P¬Q)P\leftrightarrow Q=(P \land Q)\lor(\lnot P \land \lnot Q)
      • 取假:PQ=(P¬Q)(¬PQ)P\leftrightarrow Q=(P\lor \lnot Q) \land(\lnot P \lor Q)
    • 前提交换 P(QR)=Q(PR)P\to (Q\to R)=Q\to(P\to R)
    • (PR)(QR)=(PQ)R(P\to R)\land(Q\to R)=(P\lor Q)\to R
    • 归谬: (PQ)(P¬Q)=¬P(P\to Q)\land(P\to \lnot Q)=\lnot P
  • 置换规则
    • 对公式 AA 的子公式,用与之等值的公式来代换,代换为 BB
    • A=BA=B
    • AA 是重言式时,置换后的公式 BB 也是重言式
    • 与代入公式不同,不必对所有同一的子公式做代换
  • 从真值表写命题公式
    • TT 来列写:项间用 \lor ,每项内用 \land
    • FF 来列写:项间用 \land ,每项内用 \lor ,同时 TT 的项用 ¬\lnot 表示
  • 联接词的个数 / 真值函项
    • 一个命题变项有 22 种值,共有 222^2 种可能,所以可以定义 44 种真值函项
      • 永假 FF ,永真 TTPP 自身,¬P\lnot P 否定词
      • 于是定义 ¬P\lnot P 为否定词
    • 两个变项共有 44 种取值情形,共有 242^4 种可能,可以定义 1616 种真值函项
      • 在前面所述的几个联结词之外,定义
        • 异或 PˉQ=(¬PQ)(P¬Q)P \bar{\lor} Q=(\lnot P \land Q) \lor(P \land \lnot Q)
        • 与非 PQ=¬(PQ)P \uparrow Q=\lnot(P\land Q)
        • 或非 PQ=¬(PQ)P \downarrow Q= \lnot(P \lor Q)
    • nn 个命题变元对应的取值情形为 2n2^n 种,对应的真值函项有 22n2^{2^n} 个。
  • 联接词的完备集
    • 全体联结词的无限集合是完备集
    • 比较重要且容易忘的完备集
      • {¬,}\{\lnot,\to\}
      • {}\{\uparrow\}
      • {}\{\downarrow\}
      • 其他:否定词+析取 / 合取任一
    • 不完备集
      • 缺少 ¬\lnot
      • {¬,}\{\lnot,\leftrightarrow\} 这个十分重要
    • 基底
      • 一个联接词: \uparrow\downarrow
  • 对偶式与对偶性
    • α\alpha 是一个只包含 ¬\lnot\lor\land 的公式
      • α\alpha^* (对偶式)
        • 析取 / 合取, FFTT 交换
        • (A)=A(A^*)^*=A
        • 结合律
      • α\alpha^-
        • PiP_{i} 替换为 ¬Pi\lnot P_{i}
        • (A)=A(A^-)^-=A
        • 结合律
  • 德摩根律的新表示(证明:用归纳法,首先证一个命题变元,再假设含 kk 个运算符满足,分别用 ¬\lnot\lor\land 推含 k+1k+1 个运算符的情况):
¬α=(α){\neg\alpha=( \alpha^{*} )^{-} }
  • 相关定理
    • AAAA^- / ¬A\lnot AAA^* 同永真,同可满足(前者用代入规则,后者德摩根+代入规则)
    • A=BA=B ,则有 A=BA^*=B^* (先推 ¬A=¬B\lnot A=\lnot B ,之后用德摩根和代入)
    • ABA\to BBAB^*\to A^* 同永真(用逆否命题和德摩根)
  • 范式:将等值的公式化为某个统一的标准形式
    • 文字: PP¬P\lnot P
    • 文字的合取称为合取式
    • 文字的析取称为析取式
    • 计算
      • 消去 \to\leftrightarrow
      • 否定深入到命题变项
      • 用分配律(已知一种范式,用分配律求另一种)
    • 功能:判断重言式,矛盾式,两公式是否等值
  • 主析取范式
    • 极小项: mjm_{j} 用合取词联结所有的命题变项 ,其中 m0m_{0} 是全部取反的。按照题给字母顺序排列,如 PQ¬R=m6P \land Q\land \lnot R=m_{6}
    • 主析取范式是仅有极小项构成的析取式
    • 极小项的个数 2n2^n
    • 每个解释与极小项一一对应,且解释为真的时候极小项为真
    • 极小项互不相等
    • 恰有 2n2^n 个极小项的析取构成的公式必为重言式。
    • mimj=F (ij)m_{i} \land m_{j}=F\ (i\neq j)
  • 主合取范式
    • 极大项: MjM_{j} 用析取词联结所有的命题变项,其中 M0M_{0} 是全部取反的。
    • 主合取范式是仅有极大项构成的合取式
    • 每个解释与极大项一一对应,且解释为假的时候极小项为假
    • 个数同极小项
    • 恰有 2n2^n 个极大项的合取构成的公式必为矛盾式。
    • MiMj=T (ij)M_{i}\lor M_{j}=T \ (i\neq j)
  • 二者转换:找析取/合取范式的补,之后再用总数减补,就得到另一个范式。
  • 推理形式
    • 重言蕴含:如果 AA 为真时, BB 必然为真,则称 AA 重言蕴含 BBBBAA 的逻辑推论),也即 ABA \Rightarrow B\Rightarrow 是真值关系,而非逻辑联结词)
    • ABA\Rightarrow B 是 “ ABA\to B 是正确的推理形式” 的充要条件
  • 推理公式
    • (PQ)P(P \land Q)\Rightarrow P
    • P(PQ)P \Rightarrow (P \lor Q)
    • ¬P(PQ)Q\lnot P\land(P \lor Q)\Rightarrow Q
    • P(PQ)QP \land(P \to Q) \Rightarrow Q
    • (PQ)¬Q¬P(P\to Q) \land \lnot Q \Rightarrow \lnot P
    • (PQ)(QR)PR(P →Q)∧(Q→R)⇒P →R
    • (PQ)(QR)PR(P ↔Q)∧(Q↔R)⇒P ↔R
    • (PR)(QS)(PQ)RS(P →R)∧(Q→S)∧(P ∨Q)⇒R∨S
  • 推理规则
    • 前提引用
    • 结论引用
    • 代入
    • 置换
    • 分离 ( ABA\to B + AA ,可以分离出 BB
    • 条件证明 / 附加前提:结论方的条件可以作为条件使用
    • 三段论
  • 归结证明
    • ABA\Rightarrow B 等价于 A¬BA \land \lnot B 是矛盾式,假设其为真,导出矛盾
    • 化为合取范式,建立子句集,归结,直到出现矛盾

谓词逻辑

  • 对“命题逻辑”中的简单命题做进一步剖析,引入谓词,变量以及量词。
  • 小写命题,大写谓词
  • 仅限于一阶谓词逻辑 or 狭称谓词逻辑
  • 个体词和谓词
    • 主词/个体词:一般用变量 xx 表示,也称为个体变元。确定了个体具体指向的成为个体常元。
    • 谓词:一个个体的性质和个体之间的关系,给定个体域到集合 {T,F}\{T,F\} 上的映射。
    • 一元谓词:主词只有一个时,表示主词性质和属性的词称为谓词 P(x)P(x) ,确定了含义的是常项,没确定的是变项(一般指一切关系 / 性质的结合) 。
    • 多元谓词: P(x,y,z)P(x,y,z)
    • 个体域 / 论域: DD (一般认为是最广的集合)
      • 同一谓词在不同论域下的描述形式可能不同,所取的真假值也不同
    • 注意
      • 谓词 P(x)P(x)Q(x,y)Q(x,y) 是命题形式而非命题,因为没有指定它们的含义,不知道其值的真假
      • 当谓词变项为某个谓词常项,个体词确定为个体常项或者量词+确定个体词的论域时 命题形式才变为命题
  • 谓词逻辑是命题逻辑的推广,命题逻辑是谓词逻辑的特殊情形
  • 函数
    • 某个体域向另一个体域的映射
    • 并不单独使用而是嵌入到谓词中
  • 量词:表示个体数量,运算优先级高于逻辑连接词
    • 全称: x\forall x
    • 存在: x\exists x
    • (x)(P(x)Q(x))(x)P(x)Q(x)(\forall x)(P(x)\lor Q(x))\neq(\forall x)P(x)\lor Q(x)
    • 被量词约束的变元称为约束变元,不受量词约束的变元叫自由变元
    • 量词约束的范围称为量词的辖域
  • 变元易名规则
    • (x)P(x)=(y)P(y)(\forall x)P(x)=(\forall y)P(y)
    • (x)(P(x)Q(x,y))(y)(P(y)Q(y,y))(\forall x)(P(x)\to Q(x,y))\neq(\forall y)(P(y)\to Q(y,y))
  • 合式公式
    • 限定命题形式的范围
    • 关注一阶谓词逻辑
      • 量词仅作用于个体变元
      • 量词不作为命题变项和谓词变项
      • 不讨论谓词的谓词
    • 定义
      • 命题常项,变项,原子谓词公式
      • AA 如果是合式公式, ¬A\lnot A 也是
      • AABB 是合式公式,没有出现同一变元 xxAABB 中一个是约束一个是自由的,则 ABA \land BABA \lor BABA\to BABA\leftrightarrow B 也是合式公式
      • AA 是合式公式,xxAA 中是自由变元, (x)A(\forall x)A(x)A(\exists x) A 也是合式公式
  • 形式化
    • 所有的……都是……只能使用 \to ,而不能使用 \land (使用 \land 时,真值与论域有关,而使用 \to 时,真值与论域无关,当论域中有的个体不满足 P(x)P(x) 时,(x)(P(x)Q(x))(\forall x)(P(x)\land Q(x)) 为假,而 (x)(P(x)Q(x))(\forall x)(P(x)\to Q(x)) 为真,但显然后者是符合实际的)
    • 存在……是……只能使用 \land ,而不能使用 \to (原因同上,论域中的所有个体都不满足 P(x)P(x) 时, (x)(P(x)Q(x))(\exists x)(P(x)\land Q(x)) 为假,而 (x)(P(x)Q(x))(\exists x)(P(x)\to Q(x)) 却为真,不符合实际)
  • 谓词变元多次量化
    • 相同的量词可以交换,但不同的量词不能交换
  • 论域为有限域时
    • (x)P(x)(\forall x)P(x) 可视作一系列 \land
    • P(x)\exists P(x) 可视作一系列 \lor
  • 一般谓词逻辑的公式不能转换为命题逻辑公式
  • 解释 II 的给出
    • 可知的论域
    • 命题变项,自由个体变项,谓词变项,函数
  • 在论域 DD 上,一个谓词公式解释的个数是无限的
  • 判定问题
    • 在任意解释下真值为真,称为普遍有效
    • 某个解释下为真,可满足
    • 任意解释下真值为假,不可满足
    • 依赖且仅依赖于个体域个体的数目
    • 某公式在 kk 个体域上可满足,在 k1k-1 个体域上也可满足,但其他不能保证
    • 结论
      • 谓词逻辑是不可判定的,困难在于个体域是无穷集以及谓词设定具有任意性,但其子类是可判定的
      • 只含一元谓词变项的公式可判定
      • (x1)(xn)P(x1,,xn)(\forall x_{1})\dots(\forall x_{n})P(x_{1},\dots,x_{n}) 以及对应的存在公式,若 PP 中无量词和其他自由变项时也可判定
      • 个体域有穷时可判定
  • 谓词公式代入命题公式中的谓词变项,可以得到谓词等值式
  • 德摩根律的推广
    • ¬(x)P(x)=(x)¬P(x)\lnot (\forall x)P(x)=(\exists x) \lnot P(x)
    • ¬(x)P(x)=(x)¬P(x)\lnot(\exists x)P(x)=(\forall x)\lnot P(x)
  • 量词分配等值式
    • (x)(P(x)q)=(x)P(x)q(\forall x)(P(x)\lor q)=(\forall x)P(x) \lor q ,其中 qq 是命题变项,与 xx 无关
    • \to 的分配律
      • (x)(P(x)q)=(x)P(x)q(\forall x)(P(x)\to q)=(\exists x)P(x)\to q
      • (x)(P(x)q)=(x)P(x)q(\exists x)(P(x)\to q)=(\forall x)P(x)\to q
      • (x)(pQ(x))=p(x)Q(x)(\forall x)(p\to Q(x))=p\to(\forall x)Q(x) ,用 \exists 代替 \forall 时,亦然
    • 分配律: \forall\lor\exists\land 的分配律一般不成立,但是
      • (x)(P(x)Q(x))=(x)P(x)(x)Q(x)(\exists x)(P(x)\to Q(x))=(\forall x)P(x)\to (\exists x)Q(x)
      • (x)P(x)(x)Q(x)(x)(P(x)Q(x))(\forall x)P(x) \lor (\forall x)Q(x)\Rightarrow(\forall x)(P(x) \lor Q(x)) 蕴含关系成立
      • (x)(P(x)Q(x))(x)P(x)(x)Q(x)(\exists x)(P(x) \land Q(x)) \Rightarrow (\exists x) P(x) \land (\exists x) Q(x) 蕴含关系也成立
    • 变元易名分配律
      • (x)(y)(P(x)Q(y))=(x)P(x)(x)Q(x)(\forall x)(\forall y)(P(x) \lor Q(y))=(\forall x)P(x) \lor (\forall x)Q(x)
      • (x)(y)(P(x)Q(y))=(x)P(x)(x)Q(x)(\exists x)(\exists y)(P(x) \land Q(y))=(\exists x)P(x) \land (\exists x)Q(x)
  • 范式:研究公式的特点
    • 前束范式和 Skolem\mathrm{Skolem} 标准形不要搞混!
    • 前束范式与原公式等值(前束范式:一切量词都在公式的最左边)
      • 一般形式 (Q1x1)(Qnxn)M(x1,,xn)(Q_{1}x_{1})\dots(Q_{n}x_{n})M(x_{1},\dots,x_{n})MM 称为公式的母式,其中没有量词
      • 谓词逻辑的任意公式都可化为等值的前束范式,但前束范式不唯一,且前束范式对前束量词没有次序要求
      • 操作
        • 消去联接词(注意量词的优先级高于逻辑联接词)
        • 德摩根律进行 ¬\lnot 内移
        • 量词左移,变元易名
    • Skolem\rm{Skolem} 标准形
      • 保留全称量词消去存在量词
      • 只保持在某种意义下的等值关系
      • 公式 AA 不可满足当且仅当其 Skolem\rm{Skolem} 标准形是不可满足(永假)的(对不可满足的公式,二者等值)
      • 操作
        • 化为前束范式
        • 从左到右依次消去存在量词,若存在量词在某几个全称量词的右侧,则需要以函数的方式写入,如 f(x,y)f(x,y) ,若存在量词出现在最左边,直接将相关变元以论域中没在 PP 中出现的某个常项 aa 代入
      • 从操作中也可以得到不等值性:因为存在量词所辖变元不一定必然是其左侧全称量词所辖变元的函数。
  • 推理公式
    • 命题逻辑中有关推理形式的术语都可以引入到谓词逻辑中
  • 推理演算
    • 全称量词消去规则 (x)P(x)P(y)(\forall x)P(x)\Rightarrow P(y)yy 是论域中一个个体
      • P(x)P(x) 中有量词和变项时, yy 须不在 P(x)P(x) 约束中出现
    • 全称量词引入规则 P(y)(x)P(x)P(y)\Rightarrow (\forall x)P(x)yy 是论域中任意个体
      • xx 不在 P(y)P(y) 中约束出现
    • 存在量词消去规则 (x)P(x)P(c)(\exists x)P(x)\Rightarrow P(c)cc 是论域中的一个个体常项
      • (x)P(x)(\exists x)P(x)没有自由个体出现
      • P(x)P(x)不含有 cc
    • 存在量词引入规则 P(c)(x)P(x)P(c)\Rightarrow(\exists x)P(x)cc 是论域中的个体常项
      • xx 不能出现在 P(c)P(c)
    • (x)(y)P(x,y)(y)P(x,y)P(x,a)(\forall x)(\exists y)P(x,y)\Rightarrow (\exists y)P(x,y)\Rightarrow P(x,a) ,但无法推出 (x)P(x,a)(\forall x)P(x,a)(y)(x)P(x,y)(\exists y)(\forall x)P(x,y) ,因为 P(x,y)P(x,y) 的成立是有条件的
  • 过程
    • 谓词形式化 \to 消去量词 \to 推理 \to 引入量词
  • 归结推理
    • 建立子句集
      • 化为 skolem\rm{skolem} 标准形,省略全称量词,将 \land,, 表示,获得子句集 SS
    • SS 做归结,消去互补对
      • 譬如 P(x)Q(x)P(x) \lor Q(x)¬P(a)R(y)\lnot P(a) \lor R(y) 可以归结为 Q(a)R(y)Q(a) \lor R(y)

集合论

集合

  • 集合
    • 不能出现相同的元素
    • 集合是无次序的
    • 事物是否属于集合是确定的
    • “无限多的集合”
  • 约定俗成
    • Q\mathrm{Q} 有理数集
    • C\mathrm{C} 复数集
  • 集合论不能研究“所有集合组成的集合”
  • 两集合相等
    • 当且仅当它们拥有相同的元素(也即外延公理:一个集合是由它的元素完全决定)
    • 充要条件:两集合互为子集
  • ABA \in BAABB 的一个元素, ABA\subseteq BAA 的每个元素都是 BB 的元素
  • 关系 \subseteq 具有自反,反对称,传递性,但 \in 没有这三个性质
  • 真子集 \subset ,可以写成 (x)(xAxB)(x)¬(xAxB)(\forall x)(x\in A \to x \in B) \land(\exists x)\lnot(x\in A\leftrightarrow x \in B)
  • 不是子集 \nsupseteq
  • 相交:有公共元素
  • 空集 \emptyset ,可以表示为 {xxx}\{ x\mid x\neq x \} ,空集是唯一的
  • 全集 EE ,表示为 {xx=x}\{x\mid x=x \}
  • 余集 A-A ,也称 AA 的绝对补集 {x¬(xA)}\{ x\mid \lnot(x\in A) \} ,或者称为 AAEE (全集)的相对补集
  • 对称差 ABA\oplus B{xxAˉxB}\{ x\mid x\in A \bar{\lor} x \in B \}
  • 集合的集合 AA 的运算
    • 广义并 / 广义交
    • =\cup \emptyset=\emptyset
  • 幂集:集合所有的子集组成的集合
    • 记作 P(A)P(A)
    • 2n2^n 个元素,都是集合
    • xAxP(A)x \subseteq A \Leftrightarrow x \in P(A)
  • 笛卡尔积(元素有序)
    • 有序对
      • 两个元素按给定次序排成的二元组合
      • <x,y><y,x><x,y>\neq<y,x>
      • 用集合定义有序对: <x,y>={{x},{x,y}}<x,y> = \{ \{ x \},\{ x,y \} \}
    • nn 元组 / 多重有序对(递归方法定义)
      • <x1,,xn>=<<x1,,xn1>,xn><x_{1},\dots,x_{n}>= <<x_{1},\dots,x_{n-1}>,x_{n}>
    • 笛卡尔积:A×B={<x,y>xAyB}A\times B=\{ <x,y>\mid x\in A \land y\in B \}
      • A=BA=B 时,可以写成 A2A^2
      • nn 阶笛卡尔积 A1×A2××An={<x1,,xn>x1A1xnAn}A_{1}\times A_{2}\times \dots \times A_{n}=\{ <x_{1},\dots,x_{n}>\mid x_{1}\in A_{1}\land \dots \land x_{n}\in A_{n} \}
  • 优先级
    • 一元运算符 >> 二元运算符 >> 集合关系符 >> 一元联结词 >> 二元联接词 >> 逻辑关系符
  • 幂集图示法(连线表示包含关系)
  • 笛卡尔积图示法: xxyy 轴上的线段表示集合
  • 运算
    • 广义交 / 广义并和集合的二元运算不是一回事儿
    • 摩根律
      • A(BC)=(AB)(AC)A-(B\cup C)=(A-B)\cap(A-C)
      • A(BC)=(AB)(AC)A-(B \cap C)=(A-B)\cup(A-C)
      • (BC)=BC-(B \cup C)=-B\cap-C
      • (BC)=BC-(B \cap C)=-B \cup-C
    • 证明
      • 谓词法:将集合转变为谓词
      • 集合法:直接使用集合的计算规律
  • 差集的性质
    • AB=ABA-B=A \cap -B (将差集转化为交并补)
    • AB=A(AB)A-B=A-(A \cap B)
    • A(BA)=ABA \cup(B-A)=A\cup B
    • A(BC)=(AB)CA \cap(B-C)=(A \cap B)-C
  • 对称差的性质
    • A(BC)=(AB)(AC)A \cap(B\oplus C)=(A\cap B)\oplus(A\cap C) (证明补项:(ABA)\cup(A\cap B\cap-A)
    • A(AB)=BA \oplus(A\oplus B)=B
    • (AB)(AC)=(A-B)\oplus(A-C)=\emptyset 的充要条件是 AB=ACA-B=A-C
  • \subseteq 的性质
    • (AB)(CD)(AD)(BC)(A\subseteq B)\land(C\subseteq D)\Rightarrow(A-D)\subseteq(B-C)
  • 幂集的性质
    • P(A)P(B)=P(AB)P(A)\cap P(B)=P(A\cap B)
    • P(A)P(B)P(AB)P(A) \cup P(B)\subseteq P(A\cup B) (注意不是等式!因为涉及到 \forall\lor 的混用)
    • P(AB)(P(A)P(B)){}P(A-B) \subseteq(P(A)-P(B)) \cup \{ \emptyset \}
  • 传递集合
    • 集合的集合 AA 的任一元素的元素都是 AA 的元素,称 AA 为传递集合
    • 等价: (x)(y)((xyyA)xA)(\forall x)(\forall y)((x \in y \land y \in A)\to x \in A)
      • 推论 xAx \subseteq AyAy \subseteq A
    • AA 是传递集合 AP(A)\Leftrightarrow A\subseteq P(A)
    • AA 是传递集合 P(A)\Leftrightarrow P(A) 也是传递集合
  • 广义并与广义交
    • ABABA \subseteq B\Rightarrow \cup A \subseteq \cup B
    • AB    BAA\subseteq B \implies \cap B \subseteq \cap A
    • (AB)=(A)(B)\cap(A \cup B)=(\cap A)\cap(\cap B)
    • (P(A))=A\cup(P(A))=A
    • AA / AA 中的元素是传递集合 A\Rightarrow \cup A 是传递集合
    • 非空集合 AA 是传递集合, A\cap A 是传递集合,且 A=\cap A=\emptyset
      • 元素是传递集合亦然
  • 笛卡尔积
    • A×=B×=A \times \emptyset=B\times \emptyset=\emptyset
    • 不满足交换律和结合律
    • xAx \in AyAy \in A ,故而 <x,y>P(P(A))<x,y>\in P(P(A))
    • ABA×CB×CC×AC×BA \subseteq B \Leftrightarrow A\times C \subseteq B \times C \Leftrightarrow C\times A \subseteq C \times B
    • A×BC×DA \times B \subseteq C\times D 当且仅当 ACA\subseteq CBDB \subseteq D
  • 基数:集合中元素的个数
    • P(A)=2A\mid P(A)\mid=2^{\mid A\mid}
    • A×B=AB\mid A\times B\mid=\mid A\mid \cdot \mid B\mid
    • A1A2A1A2\mid A_{1}-A_{2}\mid\geq\mid A_{1}\mid-\mid A_{2}\mid
    • A1A2=A1+A22A1A2\mid A_{1} \oplus A_{2}\mid=\mid A_{1}\mid+\mid A_{2}\mid-2\mid A_{1} \cap A_{2}\mid
    • 容斥原理: A1A2=A1+A2A1A2\mid A_{1} \cup A_{2}\mid=\mid A_{1}\mid+\mid A_{2}\mid-\mid A_{1} \cap A_{2}\mid
      • nnA1A2An=1inAi1i<jnAiAj+1i<j<knAiAjAk++(1)n1A1A2An\mid A_{1} \cup A_{2} \cup\dots \cup A_{n}\mid=\sum_{1\leq i\leq n}\mid A_{i}\mid-\sum_{1\leq i< j\leq n}\mid A_{i}\cap A_{j}\mid+\sum_{1\leq i<j<k\leq n}\mid A_{i} \cap A_{j} \cap A_{k}\mid+\dots+(-1)^{n-1}\mid A_{1}\cap A_{2}\cap \dots \cap A_{n}\mid

关系

  • 运算优先级:关系合成符优先于集合运算符
  • 集合 AABBA×BA\times B 的任一子集称为 AABB 的一个二元关系,称为 RR ,若 <x,y>R<x,y> \in R ,可以记作 xRyxRy ,反之则记作 x̸Ryx\not\operatorname{R}y
  • 特殊关系(对任意集合 AA
    • 恒等 IA={<x,x>xA}I_{A}=\{ <x,x>\mid x \in A \}
    • 全关系 EA={<x,y>xAyA}E_{A}=\{ <x,y>\mid x \in A \land y \in A \}
    • 空关系 \emptyset
  • 关系 RR ,定义域+值域, RR 的域 fld(R)=dom(R)ran(R)fld(R)=dom(R) \cup ran(R)
  • <x,y>R<x,y> \in R ,则 x,yRx,y \in \cup \cup R (注意 RR 是集合,<x,y><x,y>RR 中表现为 {{x},{x,y}}\{ \{ x \},\{ x,y \} \}
  • fld(R)=Rfld(R)=\cup \cup R
  • 关系矩阵: AABB 两集合,分别有 mmnn 元素,画出一个 m×nm\times n 的矩阵 M(R)M(R) ,当 <ai,bj>R<a_{i},b_{j}>\in R 时, rij=1r_{ij}=1
  • 关系图:集合中的每个元素画成一个点,关系 <xi,yj><x_{i},y_{j}> 是有向图的边,从 xix_{i} 指向 yjy_{j}
  • R1R^{-1} <x,y>变为<y,x><x,y> 变为 <y,x> ,关系矩阵求转置
  • 合成 SRS\circ R <x,z>R<z,y>S变为<x,y><x,z> \in R \land<z,y> \in S 变为<x,y>注意 SSRR 书写的顺序 ,关系矩阵求乘法(矩阵相乘中的加变为 \lor ,乘变为 \land
    • (SR)1=R1S1(S \circ R)^{-1}=R^{-1}\circ S^{-1}
    • 关系合成满足结合律,不满足交换律
    • R1(R2R3)=R1R2R1R3R_{1}\circ(R_{2} \cup R_{3})=R_{1}\circ R_{2} \cup R_{1} \circ R_{3}
    • R1(R2R3)R1R2R1R3R_{1} \circ(R_{2} \cap R_{3})\subseteq R_{1} \circ R_{2}\cap R_{1} \circ R_{3}
  • 限制 RAR\upharpoonright A<x,y>RxA<x,y>\in R \land x \in A
  • R[A]R[A] / [a]R[a]_{R} :当 <x,y>R<x,y> \in RxAx \in A 时, yy 的取值组成的集合(注意,这里都是 \in ,而不是子集关系)
    • R[AB]=R[A]R[B]R[A \cup B]=R[A]\cup R[B]
    • R[A]={R[B]BA}R[\cup A]=\cup \{ R[B]\mid B \in A \}
    • R[AB]R[A]R[B]R[A\cap B]\subseteq R[A]\cap R[B]
    • R[A]{R[B]BA},AR[\cap A]\subseteq \cap \{ R[B]\mid B \in A \},A\neq \emptyset
    • R[A]R[B]R[AB]R[A]-R[B]\subseteq R[A-B]
  • 性质
    • 自反 xRxxRx ,非自反 x̸Rxx\not\operatorname{R}x
      • 在非空集合上的空关系是非自反的
      • 自反和非自反关系不能同时满足
      • 自反:关系矩阵的主对角线元素都是 11 ,关系图的每个角都有自圈
      • R1,R2R_{1},R_{2}AA 上的自反关系,则 R11R_{1}^{-1}R1R2R_{1} \cap R_{2}R1R2R_{1}\cup R_{2} 也是 AA 上自反的关系
    • 对称 xRyyRxxRy\to yRx ,反对称 (xRyyRx)x=y(xRy\land yRx)\to x=y
      • 对称性和反对称可性以同时满足,也可以同时不满足
      • 对称:关系矩阵是对称矩阵,关系图的任意两个顶点之间或者没有有向边,或者互有有向边
      • 反对称:关系矩阵是反对称矩阵(对任意的 iji\neq j ,若 rij=1r_{ij}=1 ,则 rji=0r_{ji}=0 , 关系图任意两定点之间或者没有有向边,或者仅有一条有向边
      • R1,R2R_{1},R_{2}AA 上的对称关系,则 R11R_{1}^{-1}R1R2R_{1} \cap R_{2}R1R2R_{1}\cup R_{2} 也是 AA 上对称的关系
      • R1,R2R_{1},R_{2}AA 上的反对称关系,则 R11R_{1}^{-1}R1R2R_{1} \cap R_{2} 也是 AA 上反对称的关系 ,如 A={1,2}A=\{ 1,2 \} 上的关系 R1={<1,2>}R_{1}=\{ <1,2> \}R2={<2,1>}R_{2}=\{ <2,1> \}AA 上反对称的,但 R1R2R_{1} \cup R_{2} 不是反对称的
      • RR 是对称的 \Leftrightarrow R=R1R=R^{-1}
      • RR 是反对称的 RR1IA\Leftrightarrow R\cap R^{-1}\subseteq I_{A}
    • 传递:RRAA 上的关系,对任意 x,y,zAx,y,z\in A (xRyyRz)xRz(xRy\land yRz)\to xRz
      • 空关系是传递关系
      • R1,R2R_{1},R_{2}AA 上的传递关系,则 R11R_{1}^{-1}R1R2R_{1} \cap R_{2} 也是 AA 上传递的关系,但 R1R2R_{1} \cup R_{2} 不一定传递,如 A={1,2,3}A=\{ 1,2,3 \} 上的关系 R1={<1,2>}R_{1}=\{ <1,2> \}R2={<2,3>}R_{2}=\{ <2,3> \} 均是传递的,但 R1R2R_{1} \cup R_{2} 不是传递的 ^07e11c
  • 关系的合成:
    • R0=IAR^0=I_{A}
    • Rn+1=RnR(n0)R^{n+1}=R^n \circ R(n\geq 0)
    • AA 是有限集合, A=n\mid A\mid=nRRAA 上的关系,则存在自然数 ssttsts\neq t ,使得 Rs=RtR^s=R^t 。(因为 A×A=n2\mid A\times A\mid=n^2 ,而 P(A×A)=2n2\mid P(A\times A)\mid =2^{n^2} ,而 RiR^i 都是 P(A×A)P(A\times A) 中的元素。由鸽巢原理,可以得出至少有两个幂是相等的)
      • 于是 AA 的幂具有了一定的“周期性”。设 s<ts<t ,则 tst-s 可以看作是其的一个“周期”,且 B={R0,R1,,Rt1}B=\{ R^0,R^1,\dots,R^{t-1} \}RR 的各次幂均为 BB 的元素( RqBR^q\in B )。
    • RmRn=Rm+nR^m \circ R^n=R^{m+n}
    • (Rm)n=Rmn(R^m)^n=R^{mn}
  • 闭包
    • 在已有关系 RR 上增加一些新的有序对,构成新关系 RR'RRR\subseteq R' ),使得 RR' 具有某些性质,且希望这些有序对尽量少
    • 自反 r(R)r(R) ,对称 s(R)s(R) ,传递 t(R)t(R) 闭包
    • R1R2R_{1} \subseteq R_{2} ,则它们的闭包也满足这样的关系
    • t(R1)t(R2)t(R1R2)t(R_{1})\cup t(R_{2})\subseteq t(R_{1} \cup R_{2}) ,其他两个闭包都是相等关系
  • 构造方法:(非空集合
    • r(R)=RR0r(R)=R \cup R^0
    • s(R)=RR1s(R)=R \cup R^{-1}
    • t(R)=RR2R3t(R)=R \cup R^2 \cup R^3 \cup \dots
      • R+=k=1Rk=RR2R3R^+=\cup_{k=1\sim \infty}R^k=R \cup R^2 \cup R^3 \cup \dots
      • R=k=1Rk=R0RR2R3R^*=\cup_{k=1\sim \infty}R^k=R^0 \cup R \cup R^2 \cup R^3 \cup \dots
      • AA 为非空有限集合, A=n\mid A\mid=n ,存在一个正整数 knk\leq n ,使得 t(R)=RR2R3Rkt(R)=R \cup R^2 \cup R^3 \cup \dots \cup R^k
      • Warshall\rm{Warshall} 算法:【考试向】Warshall 算法速记 - 知乎 (zhihu.com)
    • RR 自反,剩下俩都自反; RR 对称,剩下俩都对称;RR 传递,仅自反闭包传递。
    • 三者之中,任取其中两个, r(s(R))=s(r(R))r(s(R))=s(r(R)) ,都满足,前提是非空。
  • 等价:具有自反,对称,传递性质的关系
    • 所有谓词公式集合上的等值关系也是等价关系
    • 一个关系中,每组任两个元素都有关系,而不同组元素之间没有关系,称为等价类。 RR 是非空集合中的等价关系,在非空集合中,对任意的 xAx \in A[x]R={yyAxRy}[x]_{R}=\{ y\mid y \in A \land xRy \},则称该集合为 xx 关于 RR 的等价类。
      • 集合中的每个元素各有一个等价类,各等价类之间或者相等或者不相交,等价类的并集是 AA
        • 等价类不是空集。
        • xRyxRyxxyy 的等价类相等
        • x̸Ryx\not\operatorname{R}y ,则二者等价类的并集为空集。
      • RR 的不相交的等价类为元素的集合称为 AA 的商集,记作 A/RA / R
    • 等价关系在平面坐标系的矩形表示法中,表示为正方形的一条对角线和若干正方形 ,而下图中由于不满足传递性,所以不是等价关系。
    • AA 的划分 π\pi ,是 AA 非空子集的集合,它们互不相交,且并集为 AA
      • 集合本身也可看作一个划分。
      • A/RA / RAA 的划分,称为从等价关系 RR 诱导出的 AA 的划分,记作 πR\pi R
      • 划分 π\pi 也可诱导出等价关系, Rπ={<x,y>(z)(zπxzyz)}R\pi=\{ <x,y>\mid(\exists z)(z \in\pi \land x \in z \land y \in z) \}
      • 对一个划分 π\piAA 上的等价关系 RRπ\pi 诱导 RR 当且仅当 RR 诱导 π\pi
  • 相容关系
    • 自反且对称
    • AA 上的相容关系 RR ,若 CAC \subseteq A ,且其中任意两个元素 x,yx,yxRyxRy ,则 CC 为相容类。
      • 相容类不是其他相容类的真子集,称为最大相容类
      • 在简化图中寻找最大相容类
        • 简化图:不画自圈,用无向边代替一对来回的有向边
        • 最大完全多边形(每个顶点与其他所有顶点相连)的顶点集合 / 一个孤立点的集合/两点连线不是最大完全多边形的边
    • 覆盖:基本同划分,覆盖中各元素可能相交。
    • 一个覆盖也可以确定一个相容关系
    • 最大相容类的集合是 AA 的一个覆盖,称为 AA 的完全覆盖,记作 CR(A)C_{R}(A)
  • 偏序关系
    • 自反,反对称性,传递性
    • 记作 \leq
    • 又称弱偏序关系,半序关系
    • 拟序关系:非自反,传递,记作 <<
    • RR0R-R^0AA 上的拟序关系
    • AAAA 上的偏序关系 RR 称为偏序结构 / 偏序集,记作 <A,R><A,R>
    • 盖住关系:
      • 偏序集中 xyx\leq y ,且中间不存在 zz ,则称之为盖住关系 covAcov A ,写成 <x,y><x,y> 的集合
      • 偏序集中盖住关系是唯一的,可以用它画偏序集的哈斯图
        • 每个顶点代表 AA 的一个元素
        • xyx\leq yxyx\neq y ,则 yy 在顶点 xx 上方
        • <x,y>covA<x,y> \in cov A ,则 x,yx,y 间连无向边
    • 最小元,最大元(跟每一个元素都有关系),极小元,极大元(看图)
    • 上界(要跟每一个元素都有关系),下界,上确界 / 最小上界,下确界 / 最大下界(看图)
      • 某个偏序集 AA 中的子集 BB 的上下界和上下确界可能在 BB 中,也可能不在 BB 中但一定在 AA
      • 上界 / 下界不一定存在,不一定唯一
      • 上确界 / 下确界不一定存在,若存在必唯一
    • 可比:对偏序集 <A,><A,\leq> 中的 x,yx,yxyx\leq y 或者 yxy\leq x ,则 xxyy 是可比的
    • 对偏序集 <A,><A,\leq> ,对任意的 x,yAx,y \in Ax,yx,y 都可比,则称之为 AA 上的全序关系,称为线序关系,则称这个偏序集为全序集。
    • 偏序集 <A,><A,\leq> 对任意的 x,yBx,y \in B ,都可比,称 BBAA 上的链, BB 中元素个数称为链的长度
    • 对任意的 x,yBx,y \in Bx,yx,y 不是可比的,则称 BBAA 上的反链, BB 中元素个数称为反链的长度。
    • 对全序集, AAAA 的任何子集都是链。
    • AA 中最长链的长度是 nn ,将 AA 中元素分成不相交的反链,反链个数至少 nn
    • 偏序集中 AA 的任何非空子集都有最小元,则称之为良序关系,称这个偏序集为良序集。
    • 一个良序集一定是全序集。
    • 一个有限的全序集一定是良序集。
    • 非良序的集合可以定义集合上的全序关系,使其称为良序集。任意集合都可以良序化。
  • 拟序关系
    • 非自反,反对称,传递,记作 <<
    • 强偏序关系
    • RR0R \cup R^0AA 上的偏序关系

函数

  • 函数:对任意 xdom(f)x \in dom(f) ,存在唯一 yy 值使xfyxfy 成立 / 定义域中所有值都要满足关系(定义域所有,来自函数的定义本身
  • 从集合 AA 到集合 BB 的所有函数的集合记为 ABA_{B} ,若 AABB 是有限集合,且A=m\mid A\mid=mB=n\mid B\mid=n ,则 AB=nm\mid AB\mid=n^m
    • \emptyset\emptyset 的函数只有 f=f=\emptyset
    • \emptysetBB 的函数只有 f=f=\emptyset
    • AA 为非空集合,从 AA\emptyset 的函数不存在( A=A_{\emptyset}=\emptyset ,当 AA\neq \emptyset
    • =B={}\emptyset_{\emptyset}=\emptyset_{B}=\{ \emptyset \}
  • f[A1]f[A_{1}] ,完全原象 f1[B1]f^{-1}[B_{1}] ,注意 f1f^{-1} 表示逆关系,但不一定是逆函数
    • f[]=f1[]=f[\emptyset]=f^{-1}[\emptyset]=\emptyset
  • 满射 ran(f)=Bran(f)=B
  • 单射:对任意 x1x_{1}x2x_{2} 都有 f(x1)f(x2)f(x_{1})\neq f(x_{2})
  • 满射+单射=双射
  • 构造从 N×NN\times NNN 的双射函数
    • 思路
    • f(<m,n>)=(m+n)(m+n+1)2+mf(<m,n>)=\frac{(m+n)(m+n+1)}{2}+m
  • 常用函数
    • 常函数,对所有的 xAx \in A ,有 f(x)=yf(x)=y
    • 恒等函数
    • 单调函数
    • AnAA^n\to AAA 上的 nn 元运算
    • BCB_{C} 是从 BBCC 所有函数的集合, ABCA\to B_{C} 称为一个泛函
    • 特征函数:若 aAa \in A ,则特征函数取 11 ,反之取 00
  • 典型映射 / 自然映射: AA/RA\to A/Rg(a)=[a]Rg(a)=[a]_{R} ,称 gg 为典型映射或自然映射。
  • 选择公理:对任意关系 RR ,存在函数 ff ,使得 fRf \subseteq R ,且 dom(f)=dom(R)dom(f)=dom(R)
    • 给每个关系 RR 都构造一个函数 ff
    • 同一 xx ,若有多个 yy ,挑一个放入 ff 中,构造的 ff 也可以有多个
  • 函数的合成:
    • g:ABg:A\to Bf:BCf:B\to Cfg:ACf\circ g:A\to C
    • (fg)(x)=f(g(x))(f \circ g)(x)=f(g(x))
    • f,gf,g 是满 / 单 / 双射的,则 fgf \circ g 是满 / 单 / 双射的
    • fgf \circ g 是满射的,则 ff 是满射的
    • fgf \circ g 是单射的,则 gg 是单射的
    • 双射的就是把前面俩结论加起来(考虑这几个定理的时候,可以考虑 BBA,CA,C 都大的集合
    • f=fIA=IBff=f \circ I_{A}=I_{B} \circ f
  • 函数的逆不一定是函数,双射的逆是函数,称为反函数,双射的反函数也是双射的
    • 对于双射 f1(f(x))=xf^{-1}(f(x))=xf(f1(y))=yf(f^{-1}(y))=y
  • 左逆与右逆
    • f:ABf:A\to Bg:BAg:B\to Agf=IAg \circ f=I_{A}ggff 的左逆
    • fg=IBf \circ g=I_{B} ,则 ggff 的右逆
    • ff 存在左逆,当且仅当 ff 是单射的
    • ff 存在右逆,当且仅当 ff 是满射的
    • 存在左逆又存在右逆,当且仅当 ff 是双射的
    • ff 是双射的,当且仅当 ff 是满射的
  • 函数的性质
    • f:ABf:A\to Bg:CDg:C\to D ,对任意的 xACx \in A \cap C ,都有 f(x)=g(x)f(x)=g(x) ,两函数相容
      • CC 是一堆函数组成的集合,若其中任意两个函数都相容,那么 CC 是相容的
    • 两函数相容,当且仅当 fgf \cup g 是函数
    • 由一个相容的函数集合 CC ,可以构造函数 FF ,它开拓了 CC 中所有的函数
    • RRAA 上的等价关系,且 f:AAf:A\to A ,对任意的 x,yAx,y \in A ,有 <x,y>R<x,y> \in R<f(x),f(y)>R<f(x),f(y)> \in R ,则称关系 RR 与函数 ff 是相容的
      • 存在唯一的函数 F:A/RA/RF: A/R \to A / R ,使得 F([x]R)=[f(x)]RF([x]_{R})=[f(x)]_{R}
        • A={1,2,3,4,5,6,7}A=\{ 1,2,3,4,5,6,7 \} ,商集 A/R={{1,2,3},{4,5},{6,7}}A / R=\{ \{ 1,2,3 \},\{ 4,5 \},\{ 6,7 \} \}f={<1,4>,<2,5>,<3,5>,<4,3>,<5,2>,<6,1>,<7,3>}f=\{ <1,4>,<2,5>,<3,5>,<4,3>,<5,2>,<6,1>,<7,3> \}RRff 相容,构造 F={<{1,2,3},{4,5}>,<{4,5},{1,2,3}>,<{6,7},{1,2,3}>}F=\{ <\{ 1,2,3 \},\{ 4,5 \}>,<\{ 4,5 \},\{ 1,2,3 \}>,<\{ 6,7 \},\{ 1,2,3 \}> \}
  • 开集与闭集(实数集合上开区间和闭区间概念的推广)
    • 距离: p(x,y)=xyp(x,y)=\mid x-y\mid
    • nn 阶笛卡尔积 RnR^n ,距离函数 p(<x1,x2,,xn>,<y1,yn>>)=((x1y1)2++(xnyn)2)1/2p(<x_{1},x_{2},\dots ,x_{n}>,<y_{1},\dots,y_{n}>>)=((x_{1}-y_{1})^2+\dots+(x_{n}-y_{n})^2)^{1/2}
    • R2R_{2}R3R_{3} 上定义的距离就是在二维平面和三维空间中两点间的直线距离。
    • 邻域,与极限点( x0x_{0}AA 的极限点,在 x0x_{0} 附近, AA 的点是稠密的,且 x0x_{0} 不一定在 AA 中)
      • 对于一个开区间 AA ,其中的元素和两端的端点都是 AA 的极限点,一个闭区间极限点的集合是它本身。
      • 空集没有极限点,有理数集 QQ 的极限点集合是实数集 RR (在任意实数附近,有理数和无理数都是稠密的。
      • ARA \subseteq R 是有界无限集,则 AA 具有极限点。
      • x0x_{0} 不是某集合中的极限点,则称其为 AA 的孤立点
      • 对实数集,其所有极限点的集合为 AA 的导集,记作 AA' ,若 AAA' \subseteq A ,则称 AA 为闭集( AA 的极限点都在 AA 中)
        • RR 是闭集,有理数集 QQ 不是闭集
        • \emptyset 是闭集
        • 任意个闭集的交 / 并集也是闭集
    • 对实数集 RRARA \subseteq Rx0Rx_{0} \in R ,若存在 x0x_{0}ϵ\epsilon 邻域,其中全是 AA 的元素,则称 x0x_{0}AA 的一个内点。
      • 对实数集 RRARA \subseteq R,若 AA 的元素都是 AA 的内点,则称 AA 为开集
        • RR 是开集,有理数集 QQ 没有内点(元素的任一个 ϵ\epsilon 邻域内都有无理数),所以 QQ 不是开集
      • 任意个开集的并集是开集,有限个开集的交集是开集
    • AA 是开集,则 RAR-A 是闭集
    • AA 是闭集,则 RAR-A 是开集

图论

  • 结点表示事物,边表示它们之间的联系
  • (V(G),E(G))(V(G),E(G)) 称为图, V(G)V(G) 是结点集, E(G)E(G) 是边集,V=n\mid V\mid=nE=m\mid E\mid=m
    • 自环:只与一个结点相关联的边
    • 重边:同一对结点之间存在多条边
    • 度:与某节点关联的边数称为度,用 d(v)d(v) 表示,自环对度的贡献为 22
      • 出度 d+(v)d^+(v) ,入度 d(v)d^-(v)
      • d(v)=d+(v)+d(v)d(v)=d^+(v)+d^-(v)
  • 简单图:不存在重边、自环
    • 非空简单图中一定存在度相同的结点( nn 个结点的简单图, d(V)d(V) 的取值范围是 1n11\sim n-1 ,由鸽巢原理,一定存在)
  • 没有任何边的简单图 (V,)(V,\emptyset) ,称为空图 NnN_{n}
  • 平凡图:V=1\mid V\mid=1
  • 任意两个结点间都有边的简单图称为完全图 KnK_{n} ,每个结点的度都是 n1n-1 ,边数为 n(n1)2\frac{n(n-1)}{2}
  • vV(G)d(v)=2m\sum_{v \in V(G)} d(v)=2m
  • GG度数为为奇数的结点必为偶数个
  • 有向图 GG 中正度之和等于负度之和
  • 子图:
    • 生成子图 / 支撑子图:给定 G=(V,E)G=(V,E) ,若存在 G=(V,E)G'=(V',E') ,满足 V=VV'=VEEE'\subseteq E
      • 空图是 GG' 的支撑子图
    • 导出子图: VVV'\subseteq V ,且 EE' 包含了结点子集之间的所有边
    • GG 自身既是支撑子图,也是导出子图
  • 交(边和点集分别取交),并(边和点集分别取并),对称差(点取并,边 E=E1E2E=E_{1}\oplus E_{2}
  • 删去子图也即删去子图的边 / 删去结点,也即删去结点和其关联的边
  • 邻点集 Γ(v)={u(v,u)E}\Gamma(v)=\{ u\mid(v,u)\in E \}
    • 后继集 Γ+(v)\Gamma^+(v)
    • 前趋集 Γ(v)\Gamma^-(v)
  • 同构的图(两图的各点 / 边存在双射)
    • 必要条件
      • 边 / 点的个数相等
      • 结点度的非递增序列相同
      • 存在同构的导出子图
  • 强连通分量:使用 Tarjan 算法 Tarjan’s Algorithm | Baeldung on Computer Science
  • 表示
    • 邻接矩阵
      • viv_{i} 出度:第 ii 行之和
      • vjv_{j} 入度:第 jj 列之和
      • 无权值的无向图的邻接矩阵是对称矩阵
      • 不能表示重边
    • 关联矩阵
      • 表示结点与边之间的关联关系
      • n×mn\times m 的矩阵
      • M[i,j]=1M[i,j]=1viv_{i} 是边 eje_{j} 的始点,若是终点,就是 1-1 ,其他点为 00
      • 每列只有两个非零元: 111-1
      • 可以表示重边,但不能表示自环
      • 无向图:是端点的为 11 ,不是端点的为 00
    • 若能用上述两种矩阵表示,则表示是唯一的。
    • 邻接表
      • 每个 Node :邻接点的编号,边权值,下一个结点的地址指针
      • 便于增加和删除边,可以表示重边和自环,可以唯一表示任何一个图
  • 道路与回路
    • 道路:需要边首尾相连,只要终点和始点重合,就是回路
    • PP 中的边没有重复出现,则称为简单有向道路和简单有向回路
    • 简单有向道路 + 结点不重复出现:初级有向道路和初级有向回路(头尾可以重复)
    • 长度为边数
  • 无向图任意两结点之间都存在道路,称 GG 为连通图,否则为非连通图
    • 对于一个简单图,当 m>(n1)(n2)2m> \frac{(n-1)(n-2)}{2}GG 是连通图(证明方法:假设含有 22 个连通分支,之后证明相反的结论)
    • nn 个结点的连通图的边数一定 n1\geq n-1
    • 两点间距离:连通的两点之间的最短道路长度称为 uuvv 的距离。
    • 割点:去掉该点后,图的连通分支数上升
    • 割边:去掉该边后,图的连通分支数上升
  • 有向图不考虑边的方向,若连通也是连通图
  • 连通子图不是 GG 的任何连通子图的真子图,称为极大连通子图或者连通支
  • CC 是简单图 GG 中含结点数大于 33 的初级回路,若其中有两结点不相邻,而两点所连边 E(G)\in E(G) ,则称 (vi,vj)(v_{i},v_{j})CC 的一条弦
  • 极长初级道路:路径的两个端点不与初级道路本身之外的任何结点相邻,称为极长初级道路。
  • GG 的顶点集 V(G)V(G) 可以分成两个不相交的非空子集 V1V_{1}V2V_{2} ,使得 GG 的每条边的两个端点分别在 V1V_{1}V2V_{2} ,称为二分图
    • 可能不唯一
    • 若二分图中的每个顶点与 V2V_{2} 的每个顶点都邻接,则称 GG 为完全二分图,记为 Km,nK_{m,n}V1=m\mid V_{1}\mid=mV2=n\mid V_{2}\mid=n
    • 含有 K3K_{3} 子图的图一定不是二分图
    • KnK_{n} 不是二分图
    • 若二分图中存在回路,则它们都是由偶数条边构成的
  • 补图:顶点集相等,边互补
  • 欧拉道路与回路
    • 欧拉回路: G=(V,E)G=(V,E) 中一条经过所有的简单回路称为欧拉回路
    • 无向连通图 GG 存在欧拉回路的充要条件GG 中各结点的度都是偶数。
    • 若无向连通图 GG 中只有 22 个度为奇的结点,则 GG 存在欧拉道路(在这两个度为奇的结点上加一条边,正好构成欧拉回路)
    • 有向连通图:所有顶点的出度与入度都相等;或者除两个顶点外,之差为 11 ,另一个顶点的出度与入度之差为 1-1
    • 由偶点组成的连通图,一定可以一笔画成(任意一点开始,任意一点为终点);只有两个奇点的连通图一定可以一笔画成(一个奇点为起点,一个奇点为终点);其他图可以用奇点除二计算出需要几笔画成
  • 寻找欧拉回路的方法
    • 判断是否存在欧拉回路
    • 首先找到一条回路,之后从它的补图中继续寻找回路
    • 最终可以找到包含了 GG 的所有边的简单回路,它便是欧拉回路
  • 连通图 G=(V,E)G=(V,E)kk 个度为奇数的结点( kk 为偶数),那么可以划分成 k2\frac{k}{2} 条简单道路(证明:在这 kk 个结点间增加 k2\frac{k}{2} 条边,每个结点与其中一条边关联,增加边之后,新图包含一个欧拉回路 CC
  • 哈密顿道路与回路
    • 无向图的过全部结点的初级回路称为 GG 的哈密顿回路( HH 回路)
    • 判定 HH 回路存在性问题一般是针对简单图的(因为含有重边和自环的图删去上述两者, HH 道路的存在性是等价的
    • PP 是图 GG 中一条极长的初级道路(有 ll 个点),且 d(v1)+d(vl)ld(v_{1})+d(v_{l})\geq l ,则 GG 中一定存在经过这些结点的初级回路
    • 充分性定理(通过这些定理一定能判断)
      • 若简单图 GG 的任意两结点 vi,vjv_{i},v_{j} 之间恒有 d(vi)+d(vj)n1d(v_{i})+d(v_{j})\geq n-1 ,则可判断存在哈密顿道路
      • 若任意两结点恒有 d(vi)+d(vj)nd(v_{i})+d(v_{j})\geq n ,则存在哈密顿回路。
      • 若简单图 GG 中每个结点的度都大于等于 n2\frac{n}{2} ,则有 HH 回路
    • 必要性定理(逆否命题可以判断一个图不是哈密顿图)
      • GG 是哈密尔顿图,则对于 V(G)V(G) 的每个非空真子集 SS ,均有 W(GS)SW(G-S)\leq\mid S\mid ,其中 W(GS)W(G-S)GSG-S 中连通分支数。
      • 有奇数个顶点的二部图
    • 彼得森图不是哈密尔顿图,与之同构的图也一定不是哈密尔顿图,但其中存在哈密顿道路
    • 有奇数个顶点的二分图必不是哈密顿图
  • 仅有哈密顿通路而无哈密顿回路的图不是哈密顿图
  • GG 的闭合图 C(G)C(G)
    • 不断连接相加后度大于等于 nn 的两不相邻结点对,直至没有
    • 简单图 GG 的闭合图是唯一的
  • 简单图 GG 存在哈密顿回路的充要条件是其闭合图存在哈密顿回路
  • 对一个哈密顿图,可以用 AABB 交替标记所有的顶点(某顶点标记为 AA ,其邻接点标记 BB ),则有 A=B\mid A\mid=\mid B\mid
  • 若无法用 A,BA,B 交替标记顶点,也无法判断是否是哈密顿图

  • 不含任何回路的图称为“林”,若这个图还是连通的(只有一个连通支),就称为树,边称为树枝,度为 11 的结点称为树叶
  • 度相关
    • 孤立点:度为 00
    • 悬点:度为 11 ;悬边:与悬点关联的边
    • 奇点:度为奇数的顶点
    • 偶点:度为偶数的顶点
    • 正则图:各顶点度相同(eg: KnK_{n}n1n-1 正则图)
    • nn 个点的树,度数为 2n22n-2 ,也即 2(n1)2(n-1)
  • 树的每条边都不属于任何回路,叫做割边
    • 删去割边之后,割边的两结点属于不同的分支
    • 一条割边不属于 GG 的任何回路
  • 树( n2n\geq 2 )具有如下性质
    • 连通且无回路
    • 连通,且每条边都是割边
    • 连通且有 n1n-1 条边
    • n1n-1 条边且无回路
    • 任意两结点间有唯一道路
    • 无回路,在任两结点间加上一条边后恰有一个回路
    • 树是极小的连通图
    • 树是极大的不含回路的连通图
  • 对于一个图:支撑子图+树=支撑树 / 生成树 / 图的树
  • 求完全图不同构的生成树:也即将 2(n1)2(n-1) 个度分配给 nn 个结点
  • 任何无向连通图 GG 都具有生成树,一个连通图的生成树可能不唯一
    • GTG-T 删去 TT 中各边后的子树为 TT 的余树,不一定连通,也不一定无回路,所以它不一定是树,更不一定是生成树
  • 二叉树
    • 二叉树的第 ii 层至多有 2i12^{i-1} 个结点
    • 满二叉树:高度为 kk 并且有 2k12^k-1 个结点的二叉树,任意一层的结点个数都达到了最大值
    • 完全二叉树:满二叉树最后一层自右至左依次删去若干个结点的二叉树
      • 叶子结点个数的范围为 2k2,2k12^{k-2},2^{k-1}
      • 所有的叶结点都出现在最低的两层上
      • 右子树为 kk ,左子树高度为 kk 或者 k+1k+1
    • 满二叉树一定是完全二叉树,但反之不是
  • 路径:从根到树叶 viv_{i} 包含的边数
    • 带权路径长度:WPL=iliwiWPL=\sum_{i}l_{i}w_{i}
  • 带权路径长最小的二叉树称为最优二叉树
    • 也即哈夫曼树,算法略。
    • “二进制字符串不允许带空格”的意思是空格不是特殊代码表示,而是作为普通字母被使用
  • 最短树(最小生成树)
    • 在赋权连通图中,计算该图总长最小的支撑树(最小生成树)
    • Kruskal\rm{Kruskal} 算法
      • 不断往 TT 中加入当前的最短边 ee ,若此时构成回路,则一定是回路中的最长边,删之,直至达到 n1n-1 条边为止
      • 复杂性 O(m+plogm)O(m+p*\log m)
    • Prim\mathrm{Prim} 算法
      • 任选一节点,之后不断在剩下的边中选一条到这个点集中最短的边,直到 n1n-1 条边为止