模块四:离散数学
微积分研究连续的东西,离散数学研究一个个分立的对象:逻辑、集合、图、整数。计算机电路是与或非门、数据库是集合运算、导航是图论、HTTPS 加密是数论。这一层,是程序员的数学身份证。本模块 4 节。
依赖链:逻辑是推理的语法 → 集合是数据的容器 → 图把"关系"画出来 → 数论给互联网加密。
数理逻辑
【章首引子】你写代码 if (下雨 && 没带伞) 就打车——这里的 && 就是逻辑与。几亿个与或非门拼起来,就是你手里的电脑。数理逻辑把日常"如果…就…"掰扯成铁律,让你写 if-else 不写 bug。
① 是什么:命题与联结词
啥¬∧∨→↔
命题:能判断真假的陈述句。联结词:¬ 非(不)、∧ 与(并且)、∨ 或(或者)、→ 蕴含(如果…就)、↔ 等价(当且仅当)。真值表:列出所有真假组合,看复杂命题最终真假。
蕴含 p→q 最反直觉:只有"p 真 q 假"时才为假。前提为假时整个命题自动为真("善意推定")。
② 怎么想到的
思解题心法
列真值表:n 个命题变元有 2ⁿ 行,逐行算。
背德摩根律:¬(p∧q)=¬p∨¬q,¬(p∨q)=¬p∧¬q——就是 !(a&&b)=!a||!b。
推理规则:假言推理(p→q 且 p 真,则 q 真)、拒取式(p→q 且 q 假,则 p 假)。
③ 完整解法:三个例题
证数理逻辑的核心定理与公式
推导思路:①先考察左边 $\neg(P\wedge Q)$:合取 $P\wedge Q$ 为真,当且仅当 $P$、$Q$ 同时为真。②取反后,$\neg(P\wedge Q)$ 为真当且仅当"$P$、$Q$ 不同时为真",也就是"$P$ 为假,或者 $Q$ 为假"。③而"$P$ 为假或 $Q$ 为假"写作符号正是 $\neg P\vee\neg Q$,所以两个公式的真值条件完全一致。④逐行列出 $P$、$Q$ 的四种指派验证,两列真值完全相同,故 $\neg(P\wedge Q)\iff\neg P\vee\neg Q$ 成立;把式中的 $\wedge$ 与 $\vee$ 全部互换,同理得到另一条。
直觉把握:逻辑就是"把人话翻译成机器能执行的规则"。德摩根律的白话是:"并非两样都满足"等价于"至少一样不满足"——你在搜索框里打「非(苹果 且 手机)」,搜出来的就是「非苹果 或 非手机」。AI/工程里,知识图谱的规则推理、程序合成、SAT 约束求解、SQL 里 WHERE 条件的等价改写,全在吃这套;而" $\neg\forall$ 变 $\exists$ "是写反例类断言("不存在反例"怎么证伪)时的看家本领。
④ 用途与案例
CPU 逻辑门
高电平=1、低电平=0,与或非门就是 ∧∨¬。几亿个门拼起一台电脑。
程序 if-else
条件判断、短路求值、布尔代数——写 bug 少全靠把逻辑想清楚。
法律条文分析
"如果…就…"的法条翻译成逻辑式,能检验是否矛盾、有无漏洞。
AI 推理
专家系统、规则引擎、自动定理证明,底层都是数理逻辑。
⑤ 延展
展知识衔接地图
往研究生走:命题逻辑 → 数理逻辑/可计算性(哥德尔不完备、图灵机、停机问题)。往算法走:布尔可满足性 SAT 是 NP 完全问题的祖师爷。
把"蕴含 p→q"和"因果"划等号。逻辑里它只是真假函数,不要求 p 真的"导致"q。
"或"∨ 是可兼或。"A 或 B"是至少一个成立(可兼),不是二选一的异或。程序里 || 是可兼或,^ 才是异或。
练习
【基础】"今天周一 ∧ 今天下雨"何时为真?
查看思路与解答
与(∧)要求两个都真:既是周一又下雨才真。【进阶】¬∀x P(x) 等价于?
查看思路与解答
量词否定:∃x ¬P(x)。"不是所有 x 都满足 P"= "存在 x 不满足 P"。① ¬∧∨→ 就是 if-else 的祖宗;德摩根律 !(a||b)=!a&&!b。
② p→q 只有"p 真 q 假"时才假;∨ 是可兼或。