MathLabs

竞赛数学与解题

分类讨论与极端原理

通过拆分成完备的情形,或考察一个极端(最大/最小)元素来解决问题。

直观把看似无从下手的问题拆成可处理的情形

设想一场 55 名棋手参加的循环赛,不允许平局:每两人恰好交手一次,总有一方获胜。是否总能把棋手排成某个顺序 v1,v2,…,v5v_1, v_2, \dots, v_5,使每个人都恰好战胜排在他后面的那个人?逐一检查全部 5!=1205! = 120 种排列既浪费又像是取决于具体的胜负关系。相反,只需从棋手之间已经存在的最长获胜链中挑出——也就是最极端的一条链——一个简短的论证就能说明它无法再延长,从而迫使它必须已经包含了所有人。

高亮显示最长获胜路径的交互式有向锦标赛图。
55 名棋手的对战图:每条箭头由胜者指向负者。高亮的路径是现有的最长获胜链;极端原理表明它必定已经经过了每一位棋手。

大学两种互补策略:穷举分类与极端原理

定义: 穷举分类讨论与极端原理的定义

穷举分类讨论把所有可能性组成的集合 SS 划分成有限个两两不相交的情形 S1,…,SkS_1,\dots,S_k,其并集为整个 SS,再在每个情形内分别验证命题;由于没有遗漏任何可能性,也没有重复计数,在每种情形下证明命题即证明了命题对整个 SS 成立。极端原理则相反,着眼于一个有限(或良序)集合中就某个量而言最极端的单个元素——最大、最小或最长者——并利用该元素无法再被改进这一事实,推出矛盾或给出直接的构造。

S=S1∪S2∪⋯∪Sk,Si∩Sj=∅ for i≠jS = S_1 \cup S_2 \cup \cdots \cup S_k,\quad S_i \cap S_j = \varnothing \text{ for } i \neq j

这里 SS 是所研究的全部可能性构成的整体,kk 是情形的个数,两个条件分别说明这些情形是穷尽的(它们的并集恢复出整个 SS,因此没有遗漏)和两两互斥的(两两交集为空,因此没有重复计数)。

∅≠A⊆Z≥0  ⟹  ∃ m∈A with m≤a for all a∈A\varnothing \neq A \subseteq \mathbb{Z}_{\ge 0} \implies \exists\, m \in A \text{ with } m \le a \text{ for all } a \in A

这条良序原理正是让极端原理在整数上变得严谨的原因:任意非空的非负整数集合 AA 都存在最小元 mm,因此“最小反例”或“最短路径”这类说法绝非空谈——它们的存在是有保证的;由对称性,只要 AA 另外是有限的或有上界,同样的结论对最大元也成立。

M=max⁡x∈Af(x)  ⟹  f(x)≤M for every x∈AM = \max_{x \in A} f(x) \implies f(x) \le M \text{ for every } x \in A

这不过是最大值定义的重述——但它正是每一个极端原理证明的引擎:一旦 MM 被固定为最大值,任何竞争者 xx 都必须满足 f(x)≤Mf(x) \le M,其中也包括证明专门巧妙构造出来的竞争者,用以在 MM 其实还不够极端时暴露矛盾。

分类讨论与极端原理对照
方法核心思想典型用途
穷举分类把所有可能性划分成有限个互不相交的情形并逐一验证模 nn 的奇偶/余数论证,小规模有限枚举
极端原理(最大值)取使某个量取最大值的元素,并说明它不能被严格改进图中的最长路径、距离最远的两点、最大反例
极端原理(最小值)取使某个量取最小值的元素,并说明它不能被严格超越点到直线的最小距离(西尔维斯特—加莱),最小反例(无穷递降)
Z≥0\mathbb{Z}_{\ge 0} 的良序性保证任意非空非负整数集合都存在最小元使“极端元素”严谨化;是无穷递降法的基础

大学关键定理:通过最小距离得到的寻常直线,以及锦标赛中的哈密顿路径

若平面上 n≥3n \ge 3 个点并非全部共线,则存在一条恰好经过其中 22 个点的直线(称为寻常直线)。

为什么成立?

在有限多个(点,过两点的直线)且该点不在该直线上的组合中,选出距离严格最小的一组;若这条最近的直线上还有第三个点,几何论证会构造出一组更近的组合,这与最小性矛盾。

证明

第一步(设置极端选择)。 设 PP 为给定的有限点集,共有 n≥3n \ge 3 个点且并非全部共线。考虑由所有满足下述条件的组 (Q,ℓ)(Q, \ell) 组成的有限集合:ℓ\ell 是过 PP 中至少 22 个点的直线,且 Q∈PQ \in P 是不在 ℓ\ell 上的点。由于 PP 并非全部共线,该集合非空,又因其有限,由极端原理可以选出使点到直线的距离 d(Q0,ℓ0)d(Q_0, \ell_0) 最小的一组 (Q0,ℓ0)(Q_0, \ell_0)。

第二步(假设矛盾)。 为得出矛盾,假设 ℓ0\ell_0 上至少有 33 个 PP 中的点。设 FF 为从 Q0Q_0 向 ℓ0\ell_0 所作垂线的垂足。由于 ℓ0\ell_0 上有 ≥3\ge 3 个 PP 中的点,而它们只能位于沿 ℓ0\ell_0 从 FF 出发的至多 22 条射线上,由鸽笼原理可知其中有两点 BB 与 CC 位于同一条射线上,且 BB 位于 FF 与 CC 之间(允许 B=FB = F)。

第三步(通过相似三角形构造更近的一组)。 从 BB 向直线 Q0CQ_0C 作垂线,垂足为 GG。直角三角形 △BGC\triangle BGC 与 △Q0FC\triangle Q_0FC 在 CC 处共享同一角,因而相似,由此得到 BGQ0F=BCQ0C\dfrac{BG}{Q_0F} = \dfrac{BC}{Q_0C}。由于 BB 位于 FF 与 CC 之间,有 BC≤FCBC \le FC;又因 △Q0FC\triangle Q_0FC 在 FF 处为直角,其斜边满足 FC<Q0CFC < Q_0C;综合两者得 BC<Q0CBC < Q_0C,从而 BG<Q0F=d(Q0,ℓ0)BG < Q_0F = d(Q_0, \ell_0)。

第四步(矛盾)。 直线 Q0CQ_0C 经过 PP 中的 22 个点(即 Q0Q_0 与 CC),而 BB 是不在其上的 PP 中的点,因此 (B,Q0C)(B, Q_0C) 是我们有限集合中的一组合法组合,且满足 d(B,Q0C)=BG<d(Q0,ℓ0)d(B, Q_0C) = BG < d(Q_0, \ell_0),这与 (Q0,ℓ0)(Q_0, \ell_0) 的最小性矛盾。

第五步(结论)。 该矛盾表明 ℓ0\ell_0 不可能包含 33 个或更多 PP 中的点;既然它被选定为至少包含 22 个点,那么它恰好包含 22 个点,故 ℓ0\ell_0 即为所求的寻常直线。

在任意 nn 个顶点上的锦标赛(对每一对不同顶点 u,vu, v,弧 u→vu \to v 或 v→uv \to u 恰有一条存在的完全有向图)中,都存在恰好经过每个顶点一次的哈密顿路径 v1→v2→⋯→vnv_1 \to v_2 \to \cdots \to v_n。

为什么成立?

取一条长度最大的有向路径;若存在某个被遗漏的顶点,锦标赛的性质(每一对都存在一条有向边)就能让我们在某一端延长该路径,或把缺失的顶点插入中间,这与最大性矛盾。

证明

第一步(极端选择)。 在锦标赛的所有有向路径中,选出顶点数 kk 最大的一条 P:v1→v2→⋯→vkP: v_1 \to v_2 \to \cdots \to v_k;由于顶点只有有限多个,这个最大值必定存在。为得出矛盾,假设 k<nk < n,并设 uu 为不在 PP 上的一个顶点。

第二步(在两端分类讨论)。 由于锦标赛中 u→v1u \to v_1 与 v1→uv_1 \to u 恰有一个成立:若 u→v1u \to v_1 成立,把 uu 加到最前面就得到更长的路径 u→v1→⋯→vku \to v_1 \to \cdots \to v_k,与 kk 的最大性矛盾;因此 v1→uv_1 \to u 成立。同理,vk→uv_k \to u 与 u→vku \to v_k 恰有一个成立:若 vk→uv_k \to u 成立,把 uu 加到最后面就得到更长的路径,与最大性矛盾;因此 u→vku \to v_k 成立。

第三步(确定插入位置)。 现在已知 v1→uv_1 \to u 与 u→vku \to v_k。设 jj 为 {1,…,k−1}\{1, \dots, k-1\} 中使 vj→uv_j \to u 成立的最大下标;由于 j=1j = 1 满足条件,该下标集合非空,故由极端原理 jj 存在。由 jj 的最大性,弧 vj+1→uv_{j+1} \to u 不成立,于是锦标赛的性质迫使 u→vj+1u \to v_{j+1} 成立。

第四步(通过插入得到矛盾)。 结合 vj→uv_j \to u 与 u→vj+1u \to v_{j+1},把 uu 插入 vjv_j 与 vj+1v_{j+1} 之间,得到路径 v1→⋯→vj→u→vj+1→⋯→vkv_1 \to \cdots \to v_j \to u \to v_{j+1} \to \cdots \to v_k,它有 k+1k + 1 个顶点,与 kk 的最大性矛盾。

第五步(结论)。 这样的顶点 uu 不可能存在,故 k=nk = n,PP 即为一条哈密顿路径。

进阶实际应用与典型例题

在体育数据分析与排名算法中,雷代定理保证任意循环赛的结果——即便出现像 AA 胜 BB、BB 胜 CC、CC 胜 AA 这样的循环爆冷——总能被排成至少一种线性名次,使每位选手都战胜排在其后的下一位,这恰好就是“插入落单者”式排期启发法所产生的顺序。在代数复杂性理论中,西尔维斯特—加莱定理的定量版本限制了两两满足受限共线条件的线性型个数,是证明计算线性型幂之和的算术电路下界的关键工具。在算法设计与程序验证中,以“取最小反例”形式出现的极端原理,正是贪心算法与交换算法的无穷递降正确性证明背后的标准引擎。

例题: 通过分类讨论枚举 x2−y2=45x^2 - y^2 = 45 的所有解

求所有满足 x2−y2=45x^2 - y^2 = 45 且 x>yx > y 的正整数对 (x,y)(x, y)。

解答

分解左边:x2−y2=(x−y)(x+y)=45x^2 - y^2 = (x - y)(x + y) = 45。由于 x,yx, y 是满足 x>yx > y 的正整数,d1=x−yd_1 = x - y 与 d2=x+yd_2 = x + y 都是 4545 的正因数,且 d1<d2d_1 < d_2、d1d2=45d_1 d_2 = 45;二者还必须奇偶性相同(因为 d1+d2=2xd_1 + d_2 = 2x 是偶数),而这里 4545 是奇数,故 4545 的每个因数都是奇数,这一条件自动满足。

45=32×545 = 3^2 \times 5 的正因数为 1,3,5,9,15,451, 3, 5, 9, 15, 45,把每个小于 45\sqrt{45} 的因数与其对应的较大因数配对,恰好得到 33 种穷举的情形:(d1,d2)∈{(1,45),(3,15),(5,9)}(d_1, d_2) \in \{(1, 45), (3, 15), (5, 9)\}。由于 4545 的每个因数恰好出现在这三对中的一对里,不存在其他情形。

对每种情形解 x=d1+d22x = \dfrac{d_1 + d_2}{2} 与 y=d2−d12y = \dfrac{d_2 - d_1}{2}:(1,45)(1, 45) 给出 (x,y)=(23,22)(x, y) = (23, 22);(3,15)(3, 15) 给出 (x,y)=(9,6)(x, y) = (9, 6);(5,9)(5, 9) 给出 (x,y)=(7,2)(x, y) = (7, 2)。穷举检验了所有情形后,这 33 组即为完整解集。

例题: 用极端原理(无穷递降)证明 2\sqrt{2} 是无理数

不使用通常的最简分数论证,而用极端(良序)原理证明 2\sqrt{2} 是无理数。

解答

为得出矛盾,假设 2\sqrt{2} 是有理数。于是集合 A={ q∈Z>0:q2∈Z>0 }A = \{\, q \in \mathbb{Z}_{>0} : q\sqrt{2} \in \mathbb{Z}_{>0} \,\} 非空,由良序原理它存在最小元 q0q_0;令 p0=q02∈Z>0p_0 = q_0\sqrt{2} \in \mathbb{Z}_{>0}。

由于 1<2<21 < \sqrt{2} < 2,两边乘以 q0q_0 得 q0<p0<2q0q_0 < p_0 < 2q_0。令 q1=p0−q0q_1 = p_0 - q_0 和 p1=2q0−p0p_1 = 2q_0 - p_0;由上述两个不等式可得 0<q1<q00 < q_1 < q_0 与 0<p1<q00 < p_1 < q_0,故 q1q_1 是严格小于 q0q_0 的正整数。

计算 q12=(p0−q0)2=p02−q02=p02−p0q_1\sqrt{2} = (p_0 - q_0)\sqrt{2} = p_0\sqrt{2} - q_0\sqrt{2} = p_0\sqrt{2} - p_0。而由 p0=q02p_0 = q_0\sqrt{2} 可得 p02=q02⋅2=2q0p_0\sqrt{2} = q_0\sqrt{2}\cdot\sqrt{2} = 2q_0,于是 q12=2q0−p0=p1q_1\sqrt{2} = 2q_0 - p_0 = p_1 是一个正整数。

因此 q1∈Aq_1 \in A 且 q1<q0q_1 < q_0,这与 q0q_0 是 AA 的最小元矛盾。该矛盾说明 AA 实际上必须为空集,所以 2\sqrt{2} 是无理数。

西尔维斯特—加莱定理保证:对于平面上任意有限的 n≥3n \ge 3 个点的集合,只要满足以下条件,就一定存在一条寻常直线(恰好经过 22 个点):

66 支队伍进行一场循环赛(无平局)。根据雷代定理,在 6!=7206! = 720 种可能的队伍排序中,有多少种被保证是有效的哈密顿路径(即每支队伍都战胜排在其后一支队伍的完整排名)?

利用对模 33 余数的穷举分类讨论,从 11 到 300300 的整数中有多少个不能被 33 整除?

“最小反例法”的证明先假设命题为假,取出使命题不成立的最小实例,再由此导出一个更小的失败实例以得到矛盾。要使这一论证有效,潜在反例组成的集合必须具有什么性质?

参考文献

  1. Martin Aigner, Günter M. Ziegler (2018). Proofs from THE BOOK · DOI:10.1007/978-3-662-57265-8
  2. Thomas Schweser, Michael Stiebitz, Bjarne Toft (2025). The Tournament Theorem of Rédei revisited · arXiv:2510.10659 [预印本,未经同行评审]