逻辑题
本章目标:训练形式逻辑推理能力,学会从已知条件出发一步步推导必然结论。
题型特点
逻辑题是智力题中最经典的类型。它的特征是:所有解题所需的信息都已明示,不需要额外假设,答案唯一且可严格证明。常见出题形式包括"某人说某话"、真假混合、身份推断、属性匹配等。
解逻辑题的核心方法是:符号化 → 分类讨论 → 排除矛盾 → 锁定唯一解。把自然语言转成逻辑命题,穷举所有可能情况,用矛盾排除法逐步缩小范围。
形式化工具速查
在动手之前,掌握几个基础工具能让推理事半功倍。
命题与真值
- 命题(proposition):可判断真假的陈述句。例如 "2 是偶数" 为真,"3 是偶数" 为假。
- 否定
¬P:P 为真则 ¬P 为假,P 为假则 ¬P 为真。 - 合取
P ∧ Q:"P 且 Q",同时为真才为真。 - 析取
P ∨ Q:"P 或 Q",至少一个为真即真。 - 蕴含
P → Q:"若 P 则 Q"。仅当 P 真 Q 假时为假,其余皆真(包括 P 假时)。 - 等价
P ↔ Q:P 与 Q 真值相同。
关键推理规则
| 规则 | 形式 | 通俗解释 |
|---|---|---|
| 假言推理 | P → Q,P ⊢ Q | 肯定前件即可肯定后件 |
| 取拒式 | P → Q,¬Q ⊢ ¬P | 否定后件即可否定前件 |
| 反证法 | 假设 P,推出矛盾 ⊢ ¬P | 若 P 导致不可能,则 ¬P 成立 |
| 穷举法 | P ∨ Q,¬P ⊢ Q | 排除一个即可确定另一个 |
| 析取引入 | P ⊢ P ∨ Q | 真命题加上任何"或"仍真 |
公共知识 vs 共同知识
这是理解多人逻辑题的钥匙。
- 私人知识(personal knowledge):只有自己知道。例如"我看到 B 戴红帽"。
- 共同知识(mutual knowledge):每个人都知道这件事。
- 公共知识(common knowledge):每个人都知道;每个人都知道别人知道;每个人都知道别人知道别人知道……无限嵌套。
很多看似"废话"的宣告(如"至少有一人戴红帽"),其作用就是把共同知识升级成公共知识,从而启动归纳推理。
题目 1:骑士与无赖
题面
一座岛上有两种人:骑士永远说真话,无赖永远说假话。你遇到两个人 A 和 B。A 对你说:"我和 B 至少有一个是无赖。"请问 A 和 B 分别是什么身份?
拆解与思考
用符号化:设 A 是骑士为 KA,B 是骑士为 KB。则 A 的陈述是 ¬KA ∨ ¬KB(至少一个是无赖)。
反证法:假设 A 是无赖(¬KA)。
- 那么 A 的陈述必为假,即
¬(¬KA ∨ ¬KB)成立。 - 由德摩根律:
KA ∧ KB——A 和 B 都是骑士。 - 这与假设
¬KA矛盾!因此 A 不可能是无赖。
所以 A 必是骑士。骑士说真话,¬KA ∨ ¬KB 为真;又 KA 为真,所以 ¬KB 为真——B 是无赖。
另一种视角:骑士不会说"我是无赖"(说真话的人不能自指为说谎者),也不会说"我们都是无赖"(同样会自指矛盾)。所以一旦 A 的陈述包含"我可能是无赖",A 就只能是骑士,且 B 必须真的是无赖才能让陈述成立。
答案
A 是骑士,B 是无赖。
延伸
| A 的话 | 结论 |
|---|---|
| "我们都是无赖" | 不可能(自指矛盾,A 必是无赖;但无赖说这话又得是真话,循环矛盾) |
| "我们都是骑士" | A、B 同身份(骑士说真成立;无赖说则两人不都是骑士,至少 A 是无赖,B 待定) |
| "B 是骑士" | A、B 同身份 |
| "B 是无赖" | A 是骑士,B 是无赖 |
进阶变体
A 说:"我是无赖,或者 B 是骑士。" 求 A、B 身份。
形式化:¬KA ∨ KB。假设 A 是无赖(¬KA),则陈述为假,即 KA ∧ ¬KB,与 ¬KA 矛盾。故 A 是骑士,陈述为真;KA 已真,所以 KB 任意——但等等,仔细看:¬KA ∨ KB 在 KA 为真时要求 KB 为真。所以 A、B 都是骑士。
这种"自指+析取"结构是 Smullyan 谜题的标志。
题目 2:蓝眼睛问题
题面
岛上有 100 个蓝眼睛的人,其余人都是棕眼睛。所有人都能看到别人眼睛颜色,但看不到自己的。岛上没有镜子,也不许讨论眼睛颜色。规则是:如果一个人确定自己是蓝眼睛,当天午夜必须离开。有一天,传教士当众宣布:"你们当中至少有一个蓝眼睛。"假设所有人都极其聪明且知道别人也聪明,问会发生什么?
拆解与思考
用强数学归纳法。
基例(n=1):若只有 1 个蓝眼睛,他看到别人都不是蓝眼,而传教士说"至少有 1 个",立刻锁定自己——第 1 天午夜离开。
归纳(n=k → n=k+1):假设"任意 k 个蓝眼睛会在第 k 天离开"已被证明。考虑 k+1 个蓝眼睛的情况:每个蓝眼睛都看到 k 个蓝眼睛,他会想:"如果我不是蓝眼,那么只有 k 个蓝眼,他们应该在第 k 天离开。" 第 k 天过去了,没人离开——说明蓝眼睛不止 k 个,那个多出来的人只能是自己。于是 k+1 个人同时在第 k+1 天离开。
归纳成立:n 个蓝眼睛会在第 n 天同时离开。
代入 n=100:第 100 天午夜,100 人同时离开。
答案
100 个蓝眼睛的人会在第 100 天午夜同时离开。
公共知识的威力
传教士看似只说了一句"废话"(每个人都已经看到 99 个蓝眼,早就知道"至少有 1 个"),但它把信息从共同知识升级为公共知识:
- 没宣布前:每个人知道"至少有蓝眼",但不知道别人是否知道自己知道……
- 宣布后:每个人都知道,每个人都知道别人知道,无限嵌套。
公共知识是归纳法的锚点。没有它,n=1 的基例无法启动,整个推理链就断了。
延伸
- 如果传教士不说那句话:什么都不发生。即使所有人都看到 99 个蓝眼,没有公共知识作为起点,没人能推理。
- 如果传教士私下告诉每个人"至少有蓝眼":仍然什么都不发生。因为没人知道别人也被告知了——这是共同知识而非公共知识。
- 如果有 100 个蓝眼,但传教士错说"至少有 99 个":第 1 天就会有 100 人同时离开(每个人都看到 99 个,立刻确认自己)。
- 公开宣告的不可替代性:信息只有在大庭广众下宣布,且所有人都目睹彼此听到,才成为公共知识。
题目 3:100 个囚犯与灯泡
题面
100 个囚犯被关在各自牢房里。每天典狱长均匀随机选一个囚犯去审讯室,审讯室里只有一个灯泡(初始状态未知——可能是开或关)。囚犯可以拨动开关,也可以不操作。囚犯之间不能交流,但可以事先约定策略。问:如何让某个囚犯在某天能确定地说"100 人都来过审讯室"?
拆解与思考
核心难点:信息只能通过"灯的状态"传递,且每个囚犯不知道自己是第几次被选中。
关键设计:制造一个"计数员"角色,把灯的开关动作当作信号。
策略:
- 指定 1 名囚犯为计数员,其余 99 人为普通囚犯。
- 普通囚犯:第一次进审讯室看到灯是关的,就把它打开(这是"签到");此后无论看到什么,都不再碰开关。
- 计数员:每次进审讯室看到灯开着,就把它关掉,并在心里计数 +1;看到关着则不动。
当计数员第 99 次关灯时,意味着 99 个不同的普通囚犯都至少来过一次(每人贡献一次开灯),加上计数员自己,100 人都到过。
答案
计数员第 99 次关灯时宣布"所有人到齐"。
为什么"普通囚犯只能开一次灯"是必要的
如果允许重复开灯,计数员就无法区分"同一人开两次"和"两人各开一次"——计数会偏高或偏低。规则必须保证信号与人的对应关系是单射。
初始状态未知的应对
灯初始可能开可能关,计数员会把"初始的开"误认为一个普通囚犯的签到,导致提前宣布。
解决方案 A(两次签到法):每个普通囚犯开两次灯,计数员数到 2×99 - 1 = 197 时宣布(减 1 是为可能的初始开状态留余量)。代价:时间约翻倍。
解决方案 B(自适应等待法):计数员先观察前 100 天,如果灯从未被关过,认为初始是关;否则重新校准。此法复杂且不严格保证。
工程上常用方案 A,因为它在任何初始条件下都保证正确。
期望完成时间
每位普通囚犯每天被选中的概率是 1/100。完成 99 次独立签到(且计数员每次也得被选中才能关灯)的期望时间约为 100 × 99 × (100/1) ≈ 10⁶ 天,约 2700 年。这是理论值,实际中典狱长会先放弃。
题目 4:囚徒难题(三囚犯问题)
题面
三个囚犯 A、B、C 等待处决。典狱长随机赦免一人(每人 1/3 概率)。A 问典狱长:"B 和 C 中至少有一个会被处决,你告诉我一个会被处决的名字吧。"典狱长回答:"B 会被处决。"A 高兴地说:"那我被赦免的概率从 1/3 升到了 1/2!"请问 A 的推理对吗?
拆解与思考
A 的直觉错误:他以为知道"B 会被处决"之后,剩下 A 和 C,所以各 1/2。但他忽略了典狱长的回答规则——典狱长不是随机吐露信息的。
严谨分析(贝叶斯):
列出所有可能(等概率 1/3):
| 实际赦免者 | 典狱长可说的名字 | 典狱长说"B"的概率 |
|---|---|---|
| A 被赦免 | B 或 C 都被处决,可任选其一 | 1/2(假设等概率选) |
| B 被赦免 | 只能说 C | 0 |
| C 被赦免 | 只能说 B | 1 |
应用贝叶斯:
P(A\text{ 被赦免} \mid \text{典狱长说 B}) = \frac{P(\text{说 B} \mid A\text{ 赦免}) \cdot P(A\text{ 赦免})}{P(\text{说 B})}P(说B | A 赦免) = 1/2P(A 赦免) = 1/3P(说B) = 1/2 × 1/3 + 0 × 1/3 + 1 × 1/3 = 1/2
故 P(A 被赦免 | 说B) = (1/2 × 1/3) / (1/2) = 1/3。
类似地 P(C 被赦免 | 说B) = (1 × 1/3) / (1/2) = 2/3。
答案
A 被赦免的概率仍然是 1/3,并没有升高到 1/2。但 C 被赦免的概率变成了 2/3。
与三门问题的同构
这道题与著名的"三门问题"(Monty Hall)在数学上完全同构:
| 三囚犯 | 三门 |
|---|---|
| 三个囚犯 | 三扇门 |
| 赦免者 | 跑车 |
| 典狱长说"B 被处决" | 主持人开"3 号山羊门" |
| A 的位置 | 你选的 1 号门 |
| C 的位置 | 剩下的 2 号门 |
| A 应该和 C 换 | 应该换到 2 号门 |
延伸
如果典狱长的选择规则不同(例如"必说字母序最前者"),结果会变。信息论的核心:观察到的数据更新信念的程度,取决于产生数据的机制。
题目 5:说谎者悖论
题面
一个人说:"我正在说的这句话是假话。"请问这句话是真还是假?
拆解与思考
自指的循环:
- 假设为真:那么"这句话是假的"成立,推出它为假——矛盾。
- 假设为假:那么"这句话是假的"不成立,即它为真——又矛盾。
无论怎么假设都会矛盾,因此这句话既不能为真也不能为假。
答案
这个句子是无真值的——它不属于"可判断真假的命题"。自然语言的语义允许构造出这种自指结构,但形式系统不能容忍它。
解决方案:语言分层
塔斯基(Tarski)提出元语言与对象语言的分层:
- 对象语言(L₀)只能描述世界,不能描述自身。
- 元语言(L₁)可以描述 L₀ 的真假。
- 元元语言(L₂)描述 L₁ 的真假,依此类推。
"这句话是假的"试图用 L₀ 描述 L₀ 自身的真假,被禁止——悖论消失。
数学版:罗素悖论
罗素考虑"所有不包含自身的集合的集合 R":R = { x | x ∉ x }。问:R ∈ R?
- 若
R ∈ R,按定义R ∉ R——矛盾。 - 若
R ∉ R,按定义R ∈ R——矛盾。
这个悖论动摇了朴素集合论,直接催生了ZFC 公理化集合论,规定集合必须由更底层的元素构造,禁止"任意条件生集合"。
延伸:哥德尔不完备定理
哥德尔巧妙地把说谎者悖论"合法化"——构造一个命题 G,含义是"G 在该系统中不可证"。这导致:若 G 可证则系统矛盾,若 G 不可证则系统不完备。任何包含算术的一致形式系统必不完备。
题目 6:三顶帽子
题面
三个人站成一列(C 在最后能看到 A 和 B,B 在中间只能看到 A,A 在最前面谁都看不到)。典狱长从 3 顶白帽子和 2 顶黑帽子中选出 3 顶分别给三人戴上。典狱长依次问 C、B、A:"你知道自己帽子颜色吗?"C 说不知道,B 也说不知道,A 说知道。请问 A 的帽子是什么颜色?
拆解与思考
C 的推理(看到 A、B 的帽):C 若看到两顶黑帽,自己必是白帽(黑帽只有 2 顶),就会回答"知道"。C 说"不知道",说明 A、B 不同时是黑帽,即 A、B 中至少一顶白帽。
B 的推理(看到 A 的帽,且知道 C 的回答):B 知道"A、B 至少一顶白帽"。若 B 看到 A 戴黑帽,则自己必是白帽,会回答"知道"。B 也说"不知道",说明 B 看到的 A 不是黑帽。
A 的推理(看不到任何人的帽,但听到 C、B 都说"不知道"):A 综合两步推理——B 不确定 ⇒ A 不是黑帽 ⇒ A 是白帽。
答案
A 的帽子是白色。
信息的反向传递
A 蒙着眼也能回答——因为 C、B 的"不知道"本身就是信息。每句"不知道"都排除了一种可能性,把确定性的"接力棒"传给下一个人。
延伸:n 人版
n 个人排成一列,前 n-1 人能看到自己前面的所有人。帽子配比有多种。一般规律:第 k 个回答的人利用了前 k-1 人的回答,逐层排除。设计良好的题目能让最后一人仅凭"前面都说不知道"就推出自己。
题目 7:泥孩子问题(Muddy Children)
题面
n 个孩子在院子里玩,k 个(k ≥ 1)额头沾了泥。每个人能看到别人额头,看不到自己。父亲当众宣布:"你们当中至少有一个额头沾了泥。"然后说:"知道自己额头有泥的孩子,请举手。"沉默。父亲重复问,第几次询问时会有孩子举手?多少个?
拆解与思考
与蓝眼睛问题同构。
- k=1:那个有泥的孩子看到别人都干净,立刻知道是自己——第 1 次举手。
- k=2:每个有泥孩子看到 1 个有泥者,第 1 次没人举手说明不止 1 个,第 2 次同时举手。
- 一般地:k 个泥孩子会在第 k 次询问时同时举手。
答案
第 k 次询问时,k 个泥孩子同时举手。
与蓝眼睛的对应
| 泥孩子 | 蓝眼睛 |
|---|---|
| 父亲宣告"至少一人有泥" | 传教士宣告"至少一人蓝眼" |
| 第 k 次询问 | 第 k 天 |
| 知道自己有泥 ⇒ 举手 | 知道自己蓝眼 ⇒ 离开 |
两题的精髓完全一致:公共知识 + 归纳推理。
工程意义
这类"分布式自洽推理"在共识协议(consensus protocol)、拜占庭容错中有直接应用。每个节点只知道局部信息,但通过轮次推进可以达到全局一致。
题目 8:史上最难逻辑题(Three Gods)
题面
有三神:真(True)、假(False)、乱(Random)。真总说真话,假总说假话,乱的回答随机(真假各 1/2)。他们外观无差别,且用外语回答——你听不懂他们的语言,只知道意思是"是/否"但不知哪个发音对应哪个。你只能问共三个是非题,每个问题只针对一个神。请确定三神的身份。
由 George Boolos 提出,被誉为"史上最难逻辑题"。
拆解与思考
三大障碍:
- 不知道神是 T/F/R 中的哪个。
- 不知道回答的"da"/"ja"哪个是"是"哪个是"否"。
- Random 的回答无信息。
关键技巧:构造双蕴含问题绕过语言障碍。形如"如果我问你 P,你会回答'是'吗?"——这种问法无论神说真话假话、无论"是"对应 da 还是 ja,回答都能忠实反映 P 的真假。
引理(双蕴含引理):对任意命题 P,问任一非 Random 的神"如果我问你 P,你会回答 'ja' 吗?"——
- P 为真 ⇒ 回答 "ja"
- P 为假 ⇒ 回答 "da"
(无论神是 T 或 F,无论 ja 是"是"还是"否",结论一致。)
解法概要
第一步:找 B 神,问"如果我问你'B 是 Random 吗',你会回答 'ja' 吗?"。
- 若答 "ja":B 是 Random 或 B 不是 Random 但 P 为真,矛盾——所以 B 不是 Random,且 C 是 Random?需仔细分类。
- 简化结论:答 ja ⇒ B 不是 Random(A 或 C 是 Random);答 da ⇒ B 是 Random。
详细推导:用双蕴含引理,"ja" 意味着 P 为真,即"B 是 Random";"da" 意味着 P 为假,即"B 不是 Random"。等等——这里需要小心:引理保证的是"P 的真假映射到 ja/da",所以 ja ⇔ B 是 Random。
第二步:找到非 Random 的神 X,问"如果我问你'你是 True 吗',你会回答 'ja' 吗?"。X 不说谎也不随机,所以:
- "ja" ⇒ X 是 True
- "da" ⇒ X 是 False
第三步:用排除法确定第三个神。
具体三个问题的设计要保证:第一问找出非 Random 的神,第二问确定他的身份,第三问确定剩下两人。
答案
通过双蕴含结构,三问之内必能确定 T、F、R 的身份。完整三问的设计需要精心构造,详见下方参考。
延伸阅读
- George Boolos, The Hardest Logic Puzzle Ever (1996)
- Gabriel Uzquiano 的简化解法
- Brian Rabern & Landon Rabern 的"非随机解读"——若 Random 是先抛硬币再决定回答 T/F,问题有更简短解法
题目 9:爱因斯坦的斑马谜题(Zebra Puzzle)
题面
5 栋不同颜色的房子排成一排,每栋住一个不同国籍的人,喝不同饮料、抽不同烟、养不同宠物。已知 15 条线索(如"英国人住红房子""养马的人住在抽 Dunhill 的人旁边"等)。问:谁养斑马?谁喝水?
拆解与思考
这是经典的约束满足问题(CSP),不适合临场心算,需要系统地表格化推理。
通用方法:
- 列出 5 个属性维度(颜色、国籍、饮料、烟、宠物)。
- 列出 5 个位置(1-5 号房)。
- 用线索填表:直接对应、相邻关系、左右关系。
- 不确定时用排除法——某属性只剩一个空位即可锁定。
关键中间结论(标准版本):
- 1 号房是黄色,挪威人住,喝水,抽 Dunhill,养猫。
- 2 号房是蓝色,丹麦人住,喝茶,养马。
- ……
答案
标准版答案是:挪威人喝水,日本人(或德国人,按版本)养斑马。
解题模板(CSP 通用)
- 把所有变量列成维度。
- 把所有线索翻译成"约束"。
- 从最直接的约束("X 是 Y")开始填。
- 用"单身格"逻辑:某属性在某行/列只剩一个可能位置。
- 用相邻关系传播信息。
工程意义
这类问题在 AI 中是经典 CSP 范例,回溯搜索 + 约束传播(如 AC-3 算法)是标准解法。Sudoku、八皇后都是同源问题。
题目 10:黑球白球推理
题面
桌上有 3 个盒子,每个盒子里装 2 个球。盒子标签分别是"黑黑""白白""黑白"。但已知所有标签都贴错了。你只能从某个盒子中摸出一个球看一眼,如何确定每个盒子的实际内容?
拆解与思考
关键:标签全错。
从"黑白"标签的盒子摸:
- 此盒实际不是黑白,只能是黑黑或白白。
- 摸出黑球 ⇒ 此盒是黑黑。
- 那么贴"黑黑"的盒不是黑黑(已知),也不是黑白(已被摸走),只能是白白。
- 贴"白白"的盒是黑白。
- 摸出白球 ⇒ 此盒是白白。
- 对称地推出剩余两个盒子。
为什么必须从"黑白"标签摸?因为此盒只有两种可能(黑黑/白白),摸一个球就能区分。而从"黑黑"标签的盒摸——它实际不是黑黑,可能是黑白或白白——摸出黑球则确定是黑白,但摸出白球无法区分(白白必白,黑白也可能白)。
答案
从贴"黑白"标签的盒子摸一个球:
- 黑球:此盒黑黑,"黑黑"标签的盒是白白,"白白"标签的盒是黑白。
- 白球:此盒白白,"白白"标签的盒是黑黑,"黑黑"标签的盒是黑白。
延伸
核心思想:选择信息量最大的实验。这预览了决策树中的"信息增益"概念——选择能最大程度降低不确定性的探测。
题目 11:苏格拉底的三段论
题面
判断以下推理是否正确:
- 所有人都会死。
- 苏格拉底是人。
- 所以苏格拉底会死。
拆解与思考
这是经典的芭芭拉式三段论(Barbara syllogism):
形式:所有 M 是 P;S 是 M;故 S 是 P。
集合视角:
- "所有人都会死" ⇒ 集合 H ⊆ 集合 M(人 ⊆ 会死者)。
- "苏格拉底是人" ⇒ s ∈ H。
- 由传递性 s ∈ H ⊆ M ⇒ s ∈ M。
形式上完全有效,结论必然成立。
答案
正确。这是有效的演绎推理——前提为真时结论必为真。
延伸:无效推理的反例
| 推理 | 是否有效 |
|---|---|
| 所有猫是动物;Tom 是动物;故 Tom 是猫。 | ❌ 中项不周延 |
| 所有猫是动物;Tom 是猫;故 Tom 是动物。 | ✅ |
| 所有 A 是 B;所有 B 是 C;故所有 A 是 C。 | ✅ 芭芭拉式 |
| 所有 A 是 B;所有 C 是 B;故所有 A 是 C。 | ❌ 中项 B 不周延 |
中项周延原则:三段论中"中项"在至少一个前提中必须周延(涵盖全体),否则推理无效。
与逻辑题的关联
很多"逻辑陷阱题"就是利用无效三段论误导。识别形式是否有效,是逻辑题的基本功。
题目 12:聪明的囚徒(黑白帽队列变体)
题面
10 个囚徒排成一列,每人戴黑帽或白帽。最后一人能看到前 9 人,第二人能看到前 8 人,……第一人谁都看不到。从最后一人开始,每人只能说一句话("黑"或"白"),所有后面的囚徒都能听到。设计策略使除最后一人外,其余 9 人都能准确说出自己帽色。(最后一人可能牺牲。)
拆解与思考
奇偶校验思想:约定最后一人(10 号)说出的颜色代表"前面 9 人中黑帽数量的奇偶性"。
例如约定:"黑" 表示前 9 人中黑帽数为奇数。
- 10 号说"黑"(可能对也可能错,他自己无所谓)。
- 9 号看到前 8 人,数黑帽数。若与 10 号宣告的奇偶性相符,自己必是白帽;若不符,自己必是黑帽。
- 8 号听到 10 号、9 号的宣告,结合自己看到的前 7 人,可推出自己帽色。
- 以此类推,前 9 人都能准确判断。
答案
约定 10 号说出的颜色编码"前 9 人黑帽的奇偶性",则 9 人中前 9 个都能准确说出自己帽色。10 号存活率 50%。
延伸:信息论下界
10 个囚徒共传 10 bit 信息(每人 1 bit),其中 9 bit 必须用于"自救",剩 1 bit 可承载群体信息。奇偶校验正好是 1 bit 信息,达到下界。这是信息论在智力题中的典型应用。
工程意义:奇偶校验、CRC、Hamming 码都基于类似原理——把少量冗余信息用于群体纠错。
解题模板(总结)
通用流程
- 符号化:把自然语言转成逻辑命题(
P → Q,P ∧ Q,¬P等)。 - 穷举状态空间:列出所有可能的情况。
- 矛盾排除:用反证法、边界条件剔除不可能的状态。
- 利用元信息:从别人"不知道""知道"的回答中提取信息。
- 归纳推广:多人/多步问题用数学归纳法。
- 公共知识识别:注意哪些信息是"公共知识",哪些仅是"共同知识"。
信号清单(看到就要警觉)
| 题面信号 | 推理工具 |
|---|---|
| "所有人都能看到别人,但看不到自己" | 蓝眼睛/泥孩子模板,归纳法 |
| "某人宣告一个看似已知的事实" | 公共知识升级,启动归纳 |
| "A 说 B 是……" 且 A 可能说谎 | 真假混合,分类讨论 |
| "至少 / 至多 / 恰好 k 个" | 极端假设法(k=0, 1, ∞) |
| "典狱长 / 主持人透露信息" | 贝叶斯更新,注意机制 |
| "从 X 中摸出一个" | 信息增益最大化 |
| "N 人排队,后面看到前面" | 奇偶校验 / 反向传播 |
| "每人轮流回答" | 信息逐层排除 |
常见陷阱
- 直觉概率错:用贝叶斯,别信直觉(参见三囚犯题)。
- 混淆公共知识与共同知识:宣告的"公开性"很关键。
- 忽视机制:典狱长/主持人不是随机吐露信息的,回答规则影响后验。
- 归纳基例不稳:n=1 的情况要严格验证,否则整个归纳崩塌。
- 自指悖论:识别"这句话是假的"型语句,引入语言分层。
延伸阅读
书籍
- 《What is the Name of This Book?》— Raymond Smullyan,骑士与无赖系列谜题集大成之作
- 《The Lady or the Tiger?》— Raymond Smullyan,逻辑题进阶
- 《Gödel, Escher, Bach》— Douglas Hofstadter,自指与悖论的深度探讨
- 《逻辑哲学论》— 维特根斯坦,形式逻辑的哲学奠基(高阶)
- 《数理逻辑通俗讲话》— 王浩,中文入门
文章与在线资源
- 蓝眼睛问题的严格分析 — Terence Tao
- The Hardest Logic Puzzle Ever — George Boolos (1996)
- Stanford Encyclopedia of Philosophy: Epistemic Logic
- 公共知识与博弈论讲义