九章格数学 PhiloMath · K2C 正文 · C 段(大学低年级)· 正文

组合学引论 · 从数数到结构的艺术

〇体例说明

体例

本书怎么读:一门关于「数得清,也要数得妙」的学问

这不是一本教材,而是一册入门书:全书只讲一件事——组合学,即「数一数满足某个条件的对象有多少种,并追问它们是否存在、怎样造出来」的学问。它回答的问题朴素而深刻:n 个人围一桌入座,有多少种坐法?一副扑克摸五张,有多少种同花?六个城市之间修路,最少修几条才能彼此连通?三十六个军官来自六支部队与六种军衔,能不能排成方阵使每行每列恰好「一队一衔」?从贾宪约 1050 年写下三角,到欧拉 1736 年走过七桥,再到埃尔德什的概率方法与汉明的纠错码,组合学的语言贯穿了计算、通信、概率与数学自身的许多角落。全书按章组织:绪论用棋盘、项链与宴席三件源头提炼出统一语言;第一章把计数的两条账法与二项式定理讲透;第二章锻造容斥与生成函数这把钥匙;第三章进入「必然的秩序」;第四章走进图论;第五章把对称变成可以记账的东西;第六章从存在走向构造与编码;综合站用年表、人物谱、方法总图、实验与自查收束全书。

写作的三条约束(本书的自我要求)。① 直觉与图形先行:每一个概念都从一张图、一个具体的小例子讲起——先看见方格纸上的路径如何走出三角、一串珠子转一圈为什么不算新的戴法、一张图上一笔能否画完,再抽成定义;每一个定理由「为什么它是对的」的直觉开路,再有完整的推导。② 一步一图:凡能画的都画——帕斯卡三角的数字瀑布、隔板分球的示意、Ramsey 染色的红蓝边、图的遍历足迹、项链的对称群、Fano 平面的七点七线。组合学最漂亮的地方正藏在「公式—图形—解释」的对照里:一条恒等式,画出来便一目了然。③ 自给自足:所需工具在书内随用随补(求和记号、一点同余与整除常识、一点线性代数与群论的初步、有限域的最必要知识),不假设手边另有教材;相邻领域已把区组设计与有限几何先演练了一遍,需要时可随时回望;个别深刻结论(五边形定理、Cayley 公式、设计存在性定理、四色定理)给出精确陈述、证明思路与文献指引,数值对拍在实验页随附。

页型节奏。每章以 导引 开篇(一页说清这一章要解决什么);主体是 讲义 页(概念、定理、证明,一步一图);每章配 例题 与 习题(末附提示);每章收在 地图(依赖关系)+小结+思想卡(把技术升成观念)+挑战与实验(动手核验);另有 〖札记〗格物札记做中西数学传统的对照。每页右上角标页码,页眉灰色小字标出所属章与小节。

难度标记。讲义页首行用 ★–★★★★★ 标出阅读难度:★ 会加减乘除与求和记号即可,★★ 需要一点指数律与二项式(书内自给),★★★ 需要一点同余与初等数论(书内自给),★★★★ 需要线性代数与群论的初步(书内自给),★★★★★ 需要射影几何与有限域的深水区(第六章与综合站余韵)。若只求理解主线,读绪论、第一章的二项式定理、第二章的生成函数、第三章的 Ramsey 定理、第四章的树与平面图即可;若求完整掌握,按章顺序逐页推进,并把每章习题做完。

三条线索贯穿全书:

① 明线——从数数到结构:先从棋盘、项链与宴席三件源头看见「有多少种」(绪论),把两条账法与二项式定理讲透(第一章),锻造容斥与生成函数这把钥匙(第二章),看「必然的秩序」(第三章),走进点、线、网络(第四章),把对称记账(第五章),最后从存在走到构造与编码(第六章)——这正是组合学从「数数的技巧」长成「离散数学主干」的轨迹。

② 暗线——双射·对合·双计数三把钥匙。组合学最深的功夫,是「把一个难数的集合的东西,数成另一个好数的集合的东西」:双射问「能不能在两个集合之间建立一一对应,把难数换成好数」;对合问「把对象两两配对之后,剩下的不平衡揭示了什么」(许多恒等式一行证完);双计数问「同一件事用两种方式数,两边相等的等式告诉我们什么」。三者不是替代关系,而是配合关系——能对应就对应,配对剩下的单独看,两种数法摆在一起读。全书反复演练的,正是这种「三把钥匙轮换使用」的判断力。

③ 接口——通往四个邻域。组合学是离散数学的枢纽:与数论(同余构造与整除分析,第一、三章)、概率论(等可能模型与随机方法,第一、三章)、图论(结构、着色与算法,第四至六章)、代数(群作用与对称计数,第五章;有限域与设计,第六章)四条战线直接相接。相邻领域把区组设计与有限几何先演练了一遍,对照阅读,可贯通「计数」到「设计」的一条主线。

写法约定(TEX 标准):集合的元素个数记 |S|,从 n 个里取 k 个的组合数记 C(n,k) 或 nCk;排列数记 P(n,k);阶乘记 n!;变量(n、k、x)斜体,数字与运算符正体;数列记 ⟨an⟩,其生成函数记 A(x) = Σanxn;群 G 作用在集合 X 上记 g·x,图记 G = (V,E)。关键一步配图,公式与图形逐章对照。

一全册目录(绪论+六章+综合站)

目 录
组合学引论 · 从数数到结构的艺术 · 全书正文页码一览
从数数说起:一门关于「多少种」的学问2
数数是最古老的数学:从结绳到贾宪3
什么是一个「组合学问题」4
三个热身问题:棋盘、项链与宴席5
组合学的版图:计数·存在·构造6
与姊妹学科的接口:数论·概率·图论·代数7
本册的地图与读法8
绪论地图:全书概念鸟瞰9
第一章导引:数数为什么是门学问10
1.1加法原理与乘法原理:数数的两条账法11
1.2排列:选出并排好次序12
1.3组合:只挑不排13
1.4帕斯卡三角:组合数的几何14
1.5二项式定理:代数与计数的会师15
1.6组合恒等式:一列数的多种读法16
1.7对合技巧:正反配对证恒等式17
1.8多重集的排列:有重复字母的单词18
1.9多重集的组合与隔板法19
1.10圆排列与项链:转一下不算新20
1.11格路计数:方格纸上的帕斯卡三角21
1.12广义二项式定理:负指数与分数指数22
1.13多项式定理:多变量的展开23
1.14概率视角:等可能世界的计数24
1.15计数的陷阱:重复与遗漏的案卷25
1.16第一章全景:一张数数的决策树26
例题精讲(2 页)p.27–28
习题课(2 页)p.29–30
第一章地图:概念依赖关系31
第一章小结(上)32
第一章小结(下)33
思想卡:计数即描述34
挑战:幂和的组合证明35
实验:帕斯卡三角的计算机巡视36
〖札记〗贾宪三角:早了六百年的三角37
第一章速查表38
衔接讲义:通往容斥——当集合开始纠缠39
第二章导引:当直接数不动了40
2.1容斥原理:从两圆相交说起41
2.2容斥的一般形式:n 个集合的账本42
2.3错排:全都不在自己位置上43
2.4限位排列:容斥的精工用法44
2.5生成函数登场:一列数的一件行李45
2.6生成函数的代数:加、乘与卷积46
2.7用生成函数数组合:凑硬币问题47
2.8整数分拆:把 n 拆成几份48
2.9分拆恒等式与五边形定理49
2.10递推关系:用昨天说今天50
2.11线性递推:特征方程解 Fibonacci51
2.12非齐次递推:特解登场52
2.13Catalan 数:从括号到三角形53
2.14指数生成函数:给排列记账54
2.15生成函数与递推的互化:一张换算表55
2.16第二章全景:一张选工具的决策树56
例题精讲(2 页)p.57–58
习题课(2 页)p.59–60
第二章地图:概念依赖关系61
第二章小结(上)62
第二章小结(下)63
思想卡:形式幂级数——不收敛也无妨64
挑战:五边形定理的证明65
实验:Catalan 数与分拆数的核对66
〖札记〗垛积与招差:中国古算里的生成函数67
第二章速查表68
衔接讲义:通往鸽笼——当计数只保证「存在」69
第三章导引:有些结论不用数就成立70
3.1鸽笼原理:最简单的存在性71
3.2平均原理:从「有」到「有多少」72
3.3鸽笼的威力:整除与倍数73
3.4Erdős–Szekeres:单调子序列74
3.5Ramsey定理:无序中的必然75
3.6R(3,3)=6:派对问题76
3.7Ramsey数:为什么这么难77
3.8Ramsey数的边界:已知与未知78
3.9无限版与Ramsey理论版图79
3.10极端原理:抓住最边上的80
3.11图论速成:点与线的语言81
3.12图的基本量:度与握手定理82
3.13树:最经济的连通83
3.14欧拉路径与哥尼斯堡七桥84
3.15二部图与匹配85
3.16第三章全景:存在性的工具箱86
例题精讲(2 页)p.87–88
习题课(2 页)p.89–90
第三章地图:概念依赖关系91
第三章小结(上)92
第三章小结(下)93
思想卡:存在性即抵抗计算94
挑战:R(3,4)=9的完整证明95
实验:随机染色的Ramsey统计96
〖札记〗哥尼斯堡七桥:一道闲题如何开创一门数学97
第三章速查表98
衔接讲义:通往图论深处——当结构要被精确刻画99
第四章导引:关系如何画成图100
4.1图是什么:从七桥问题说起101
4.2度与握手引理:奇点必偶数个102
4.3路径、回路与连通:图上的行走103
4.4Euler 回路:一笔画的艺术104
4.5Hamilton 回路:环游的问题105
4.6树:最精简的连通106
4.7生成树与 Kruskal:最便宜的骨架107
4.8Cayley 公式:n 的 n−2 次方棵树108
4.9平面图与 Euler 公式:V−E+F=2109
4.10图着色与四色定理110
4.11匹配与 Hall 定理:婚配的条件111
4.12色数与团:着色的两难112
4.13最短路:Dijkstra 的贪心113
4.14图的矩阵:邻接与谱初见114
4.15图的计数:有多少种图115
4.16第四章全景:一张图问题的决策树116
例题精讲(2 页)p.117–118
习题课(2 页)p.119–120
第四章地图:概念依赖关系121
第四章小结(上)122
第四章小结(下)123
思想卡:图是关系的抽象124
挑战:Cayley 公式的双计数证明125
实验:Kruskal、Prim 与 Cayley 的对拍126
〖札记〗从哥尼斯堡到中国邮路127
第四章速查表128
衔接讲义:通往群作用——当对称开始计数129
第五章导引:项链为什么数不清130
5.1对称与置换:同一串珠的多种读法131
5.2群作用的语法:轨道与稳定子132
5.3轨道-稳定子定理:计数的桥梁133
5.4Burnside 引理:平均不动点134
5.5用 Burnside 数项链:二色珠链135
5.6轮换结构:旋转群下的不动点136
5.7二面体群:翻转加入账本137
5.8Pólya 计数定理:模式的通用公式138
5.9Pólya 实战:分子异构体139
5.10着色计数:棋盘与立方体140
5.11图的自同构:图自己的对称141
5.12对称计数的分寸:何时对称帮倒忙142
5.13第五章全景:一张对称计数的决策树143
例题精讲(2 页)p.144–145
习题课(2 页)p.146–147
第五章地图:概念依赖关系148
第五章小结149
思想卡:商掉对称——「本质不同」的严格化150
挑战:立方体的旋转到底有几种151
实验:Burnside 对拍暴力枚举152
〖札记〗Pólya 的两支笔:解题艺术与计数定理153
第五章速查表154
第六章导引:从「存在」到「造出来」155
6.1拉丁方:数独的祖先156
6.2正交拉丁方与三十六军官问题157
6.3区组设计:BIBD 的语法158
6.4Steiner 三元系:每对恰遇一次159
6.5设计的存在性:可除条件与 Wilson 一瞥160
6.6有限域:设计的原材料161
6.7仿射平面:从坐标造设计162
6.8射影平面与 Fano 七点图163
6.9编码的目标:让错误可以被纠正164
6.10码距与纠错:Hamming 球165
6.11Hamming 码:完美纠错的 [7,4]166
6.12码与设计的握手:从码到 Steiner 系167
6.13正交表与试验设计:设计的用武之地168
6.14计数·存在·构造:三层阶梯169
6.15现代一瞥:计算机与组合学的合流170
6.16第六章全景:一张「设计方案」的决策树171
例题精讲(2 页)p.172–173
习题课(2 页)p.174–175
第六章地图:概念依赖关系176
第六章小结(上)177
第六章小结(下)178
思想卡:完美设计的稀罕179
挑战:三十六军官为什么无解180
实验:Fano 平面与 Hamming 码的对拍181
〖札记〗从田忌赛马到试验设计182
第六章速查表183
衔接讲义:通往综合站——把六章收成一张地图184
综合站导引185
全书概念依赖总图186
〖札记〗组合学大事年表187
〖札记〗组合学人物谱188
方法决策树:拿到问题先问什么189
结构手册:常见设计的参数表190
综合实验一:项链计数的两种算法对拍191
综合实验二:Hamming [7,4] 信道纠错真跑192
终极挑战:Ramsey 数 R(4,4) 的疆界193
习题课(1 页)194
综合习题评讲195
全书小结(上)196
全书小结(下)197
终极速查表198
绪论

走进组合学:从数数到结构

数数是人类最早的数学活动,也是最晚被当成一门学问的活动。把十二个人围成一桌有多少种坐法?把五颗珠子串成一串有多少种戴法?把八个皇后放上棋盘互不相攻有多少种放法?这些问题看起来幼稚,答案却动辄大得超过宇宙里的原子数——组合学正是研究「怎么把这样的大数算出来、算得巧」的学问。它不问「这个数是多少」之外的深奥性质,只关心三件事:有多少(计数)、有没有(存在性)、怎么造(构造)。本册从三件最朴素的源头——棋盘、项链与宴席——提炼出组合学的统一语言,然后分六章推进:第一章把加法乘法两条账法与二项式定理讲透;第二章锻造容斥与生成函数这把钥匙;第三章进入「必然的秩序」,看鸽笼与 Ramsey 如何不构造而证明存在;第四章走进图论;第五章用群作用把对称变成可以记账的东西;第六章从存在走向构造与编码;综合站以年表、人物谱、方法总图、实验与自查收束全书。读组合学不需要多深的分析功底,需要的只是一件事:对「数得清」的耐心,与对「数得妙」的好奇。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
2导引

绪论 走进组合学:从数数到结构从数数说起:一门关于「多少种」的学问

先做三道不需要任何微积分的题。第一道:12 个人围一张圆桌入座,有多少种坐法?答案 11! = 39 916 800——近四千万种,一个宴会厅从此永远不愁花样。第二道:一副扑克摸五张,摸成「同花」的可能性有多少种?答案 4 × C(13,5) = 5148 种,而五张牌总共只有 C(52,5) = 2 598 960 种摸法——顺手一除,同花的概率不到千分之二,扑克桌上的心跳从此有了数学解释。第三道:六个城市之间修路,最少修几条才能从任何城市走到任何城市?答案五条——而且五条就是下限,一条也不能省。三道题风马牛不相及,骨子里却是同一件事:数一数满足某个条件的对象有多少种。这门学问叫组合学(combinatorics)。

它朴素,因为出发点不过是「一个一个地数」;它深刻,因为对象动辄多到不可能一个一个地数——12! 已经四千万,C(100,50) ≈ 1.01 × 1029,而宇宙中的原子总数不过 1080 上下。于是组合学的全部艺术在于:不看对象本身,只看对象的结构——找到对象之间的对称、对应与分类,让天文数字塌缩成一行式子。数得清是本分,数得妙才是本事。本册要教的,正是这份「妙」的手艺。

五颗珠子涂黑白两色:正面数有 25 = 32 种涂法,转一圈、翻一面仍是同一串—— 把对称「商掉」之后,本质不同的项链只有 8 种(第五章将算出这个数)。 两黑相邻 两黑相隔 三黑(乙的补串) 全黑 · 自身即对称
图 0-1 同一串项链的 32 种涂法里,许多只是彼此的旋转与翻面;「本质不同」要商掉对称——这是第五章的伏笔

组合学又是最「贴身」的数学:它不假借物理直觉,起点就是纸笔可验的小账。全册几乎每个定理,读一页就能亲手复验一页——这种即学即验的踏实感,是数学里难得的奢侈。

3讲义

绪论 走进组合学:从数数到结构数数是最古老的数学:从结绳到贾宪

★ 数数先于一切数学。上古结绳记事,大事结大结、小事结小结——绳子上的结是离散对象的最早账本。用符号对离散对象做系统计数,《周易》大概是现存的第一个成熟案例:阳爻与阴爻两种记号,取三个自下而上叠成一卦,得 23 = 8 卦;取六个,得 26 = 64 卦。「八卦」与「六十四卦」不是玄学,是两条原理(后世的加法原理与乘法原理)在公元前的自觉运用——每一卦的每一位有 2 种取法,位与位之间互相独立,遂按乘法相乘。

中国古算对组合学的第一座高峰,是贾宪三角。约 1050 年,北宋贾宪在《释锁算书》中给出开方用的「开方作法本源图」——把 0 至 6 次二项式展开的系数排成三角。此后杨辉于 1261 年在《详解九章算法》中载录并注明「贾宪用此术」,故中算传统称之为贾宪—杨辉三角。在西方,帕斯卡于 1654 年写《论算术三角》系统研究同一张表,距贾宪已六百年。三角里每个数 C(n,k) 都有直接的计数含义——从 n 个里挑 k 个的方法数——这张表因此成了组合学与代数的第一次会师(第一章详述)。

1 11 121 1331 14641 15101051 1615201561 肩上两数相加 =杨辉恒等式 C(3,1)+C(3,2)=C(4,2)
图 0-2 贾宪三角(约 1050)。每一个数都是它肩上两数之和——一行恒等式,画出来就是一张三角

西方一侧同样源远流长:莱布尼茨 1666 年的《论组合的艺术》第一次把「组合」当作一门独立学问的名称;欧拉 1736 年的七桥问题开创图论;柯克曼 1850 年的十五女生问题催生区组设计;而二十世纪的埃尔德什(Erdős)与拉姆齐(Ramsey)把「存在性证明」推成一门艺术。本册的年表(综合站)会把这条时间线补全。

4讲义

绪论 走进组合学:从数数到结构什么是一个「组合学问题」

★ 一个问题算不算组合学问题,不看它问什么名词,看它满足三个特征。特征一:对象离散。研究对象是可数的、分立的——人的坐法、牌的组合、图的顶点与边、码字的集合;不是连续流动的量。微积分处理「怎样变化」,组合学处理「有多少种」。 特征二:问题有限(或可数)。原则上可以把对象一个一个列出来——但原则上可行往往实践上不可行,这正是需要理论的原因。特征三:追问落在四个动词之一。

组合学的四个动词。① 计数(有多少种?)——本书第一、二、五章的主业。② 存在(有没有?至少有几个?)——第三章的主业:鸽笼与 Ramsey 只保证「有」,不负责找出来。③ 构造(造出来!)——第六章的主业:拉丁方、Steiner 三元系与纠错码,都是把存在的东西真造出来的蓝图。④ 优化(哪种最好?)——第四章的最短路与最小生成树初尝一口,深水区留给后续的运筹学。

四个动词不是并列的标本,而是一条递进的阶梯:先会数(计数),才知道「有」与「没有」的分界(存在);证明确实「有」,才轮到动手造(构造);造出来几个方案,才谈得上挑最好的(优化)。本书按这条阶梯组织六章,每登一级,工具箱换一批。

用一道例题把三个特征串起来。例 0.1(宴席上的握手) 十二位客人参加晚宴,散席后主人统计:每人恰好与 5 人握过手。握手次数总共多少?有没有这种可能?前者是计数(每人 5 次、十二人、每次握手两人各记一次,共 12 × 5 / 2 = 30 次——除以 2 正因为每次握手被两人各记一遍,这是第四章「握手引理」的预演);后者是存在(这样的事真的安排得出来吗?能,画一个正十二边形,每人只与左右各两位及正对面一位握手即可)。一道题里,计数与存在并肩出现——组合学问题的常态。

还要划清一条边界:组合学不等于「穷举」。穷举是对抗性的——对象一多立刻失效;组合学是建设性的——它寻找对象集合上的结构(对称、序、对应、递推),让答案的规模与对象总数脱钩。C(100,50) 有 1029 那么大,但计算它只需几十次乘法:结构压倒了规模。这种「以结构对规模」的思路,贯穿全书每一章。

5讲义

绪论 走进组合学:从数数到结构三个热身问题:棋盘、项链与宴席

★★ 正式开课之前,先陪三道「本章能看懂题、全册学完才彻底服气」的问题。它们各自把一根线头递给后面的一章。

问题一(棋盘·递给第一章)。在 4 × 4 的方格纸上,从左下角走到右上角,每步向右或向上走一格,共有几条路?答案是 C(8,4) = 70:八步中恰好四步向右——「哪几步向右」与「哪四格被选中」一一对应,路径计数一秒变成组合数。把棋盘换成 n × n,答案 C(2n,n);若再禁走某条对角线以下,就撞上著名的 Catalan 数(第二章 2.13)。数数的钥匙常常是翻译:把一种对象翻译成另一种好数的对象。

问题二(项链·递给第五章)。五颗珠子涂黑或白,能做出多少种本质不同的项链?正面数是 25 = 32,但转一圈、翻一面不算新的——数出来的 32 有大量「同一串的影子」。答案其实是 8,但 8 这个数不对称之群就算不干净。这颗项链将在第五章被 Burnside 引理与 Pólya 定理当众解剖。

问题三(宴席·递给第三章)。任何六位客人,是否必有三人彼此都握过手,或三人彼此都没握过手?出人意料:必有,与客人的身份毫无关系。把「握手」画成两人之间的红边、「没握」画成蓝边,命题变成:六点的完全图任意红蓝染色,必出同色三角形。这是 Ramsey 定理最著名的入口(第三章 3.6–3.7 完整推演),也是「不构造而证存在」的第一课。

棋盘:70 条格路 → 第一章 C(8,4) 项链:32 种涂法 → 第五章 只有 8 种 宴席:红蓝染边 → 第三章 必有同色三角
图 0-3 三个热身问题各自递出一根线头:格路数翻译成组合数、项链数商掉对称、宴席染色撞出 Ramsey——三个悬念,三个章节

三道题的答案封存:70、8、必有。全册学完时回头看,三道题分别对应三把钥匙——翻译、商对称、证存在——合起来恰是组合学一半的性格。

6讲义

绪论 走进组合学:从数数到结构组合学的版图:计数·存在·构造

★ 把绪论开头的问题按三个动词重新归档,全书的地形便一览无余。计数区(第一、二、五章):两条账法与二项式定理(第一章)是基本功;数不清时容斥与生成函数(第二章);对象带对称时群作用(第五章)。存在区(第三章):鸽笼原理与 Ramsey 定理证明「必然有」,概率方法证明「大概有」。构造区(第四、六章):图论把关系造成看得见的网络(第四章),区组设计与纠错码把完美结构造成可用的蓝图(第六章)。

计数:有多少? 存在:有没有? 构造:造出来! 第一章 两条账法·二项式定理 第二章 容斥·生成函数·递推 第五章 商掉对称再计数 第三章 鸽笼·极端·Ramsey 第三章 概率方法 第六章 6.5 存在性定理一瞥 第四章 图论:把关系造成网络 第六章 拉丁方·设计·编码 综合实验 真跑对拍 钥匙:翻译与结构 钥匙:不构造而证 钥匙:参数与蓝图 三个动词是一条递进的阶梯:先会数,才知道有没有;证了有,才谈得上造
图 0-4 全书的版图:三大区、六章位、三把钥匙。第四章横跨计数与构造——图既被数(Cayley 公式),也被造(生成树)

版图上还应标出一条暗流:三把钥匙。双射——把难数的对象翻译成好数的对象(格路变组合数、树变 Prüfer 码);对合——把对象两两配对,剩下的落单者恰好给出恒等式(第一章 1.7);双计数——同一件事用两种方式数,两边相等的等式就是新定理(握手引理、Cayley 公式、Burnside 引理的证明,全是双计数)。三个动词是「做什么」,三把钥匙是「怎么做」;版图加钥匙,就是全书的经与纬。

一望邻人的疆土:组合学与数论共用同余的语言(第三章的构造)、与概率论共享等可能的舞台(第一章与第三章的概率方法)、与代数交换群与域(第五章与第六章)、而图论则自成一国又处处设使馆(第四章)。这些接口将在各章的「衔接讲义」里逐一指认。

7讲义

绪论 走进组合学:从数数到结构与姊妹学科的接口:数论·概率·图论·代数

★★ 组合学从不闭门造车。四个邻域的接口,本书都会走到门口,这里先指认门牌。

接口一:数论。整除与同余是鸽笼原理最肥沃的猎场——任何 n + 1 个整数里必有两个差是 n 的倍数(按余数分笼),第三章 3.3 与 3.10 将反复使用;第六章造设计用的有限域,本质是「带余除法」撑起来的四则运算。反过来,许多数论命题(如威尔逊定理的组合面貌)用双计数看得更清。不需要预备任何数论课程,需要的知识书内随用随补。

接口二:概率论。等可能模型里,概率 = 有利种数 / 总种数——概率计算的核心动作就是计数(第一章 1.14);而反方向更妙:给对象族随机取一个样本,证明「坏事件概率小于 1」,就白得一个「好对象存在」的定理——概率方法(第三章 3.13–3.14)是二十世纪组合学最锋利的发明之一。

接口三:图论。图是「关系」的通用画布:握手、道路、分子键、社交网络、纠错码的码字距离,统统画成点线。第四章把它当主角,第五章用它示范对称计数,第六章的 Fano 平面就是一张七点图。学完第四章回头看第三章的 Ramsey 染色,会发现那本就是图论问题。

接口四:代数。群是「对称」的户口簿:第五章把项链的旋转翻面编成二面体群,用群作用把「本质不同」算干净;第六章的有限域给出设计的坐标纸。需要的群论知识(置换、群表、轨道)在第五章开头从零搭起。

相邻领域也在此对齐:相邻领域已把区组设计与有限几何先行演练,本册第六章与之互为镜像——那里以「设计」为纲,这里以「计数与编码」为纲;相邻领域与相邻领域则示范了同一套「讲义—例题—习题—札记」体例在分析学中的样貌。四册合读,可见 K2C 正文「从格物到九章」的全景。

一句话总结四个接口:数论递给组合「余数这只笼子」,概率递给组合「骰子这杆秤」,图论递给组合「点线这张纸」,代数递给组合「对称这本账」。

8讲义

绪论 走进组合学:从数数到结构本册的地图与读法

★ 全书六章一线,每章的产出恰好是下一章的原料,依赖关系如下,读法也写在图旁。

第一章账法与三角 第二章容斥·生成函数 第三章必然的秩序 第四章图论 第五章对称计数 第六章设计与编码 第三章用第一章的恒等式作下界工具 第五章数第四章的图(项链与立方体) 主线:每一章的产出都是下一章的原料 虚线为跨章支援;综合站收束全部六线
图 0-5 六章主线与两道虚线支援:第三章回头用第一章的恒等式,第五章回头数第四章的图

三种读法。① 顺读(推荐首读):按页推进,每章例题必做、习题课自测,速度约每天四至六页。② 要点读:只求主干——绪论、1.5–1.7(二项式与恒等式)、2.5–2.7 与 2.13(生成函数与 Catalan)、3.1 与 3.6–3.8(鸽笼与 Ramsey)、4.1–4.9(图与树与平面)、5.4–5.8(Burnside 与 Pólya)、6.9–6.11(Hamming 码)。③ 查典读:把各章速查表当索引,用到哪页翻哪页。

页型的含义再交代一遍:导引开路,讲义铺路,例题示范,习题自测(末附提示),地图收网;思想卡把技术升成观念,挑战放一道硬题,实验机出庭作证,〖札记〗对照中西传统。每章末的速查表是本章的「一页锦囊」,考前或写码前扫一眼即可。

器材清单很简单:纸、笔、一副扑克、若干围棋子或彩色扣子(做项链实验用)、以及一台能跑短脚本的计算机(实验页附脚本思路,无需任何专用环境)。组合学的实验成本低到令人发笑——这是它作为「第一门大学数学」的又一好处。

9地图

绪论 走进组合学:从数数到结构绪论地图:全书概念鸟瞰

最后一张图把绪论收拢:三个动词(纵轴)与三把钥匙(横轴)张成的平面,六章与综合站各就各位。读图方法:横向看「工具的谱系」——两条账法长出二项式定理,二项式长出生成函数,生成函数长出 Pólya;纵向看「目标的谱系」——计数养存在,存在养构造。

三把钥匙:双射 · 对合 · 双计数 计数(第一、二、五章) 乘法·加法 → C(n,k) → 二项式 → 生成函数 → Burnside/Pólya 存在(第三章) 鸽笼 → Erdős–Szekeres → Ramsey → 概率方法(union bound) 构造(第四、六章) 图:树·平面·匹配·着色 设计:拉丁方·Steiner·Hamming ↓ 存在性问题的答案常以计数不等式为原料 ↓  ↑ 设计的参数表以计数公式为门槛 ↑ 综合站:年表·人物谱 决策树·两实验·速查 三把钥匙贯穿六线 翻译·配对·两种数法 相邻领域接口 CD-1 设计 · OD/PD 分析 明线:数得清(一、二、五章)→ 证存在(三章)→ 造得出(四、六章) 暗线:数数的尽头是结构——找到结构,天文数字塌缩成一行式子 ——本页可复印随身;迷路时回到此图——
图 0-6 绪论地图:三动词三钥匙的全书鸟瞰。综合站(p185 起)将把这张图细化成方法决策树与结构手册

地图在手,出发。下一页起进入第一章:先从两条账法开始——它们朴素得像废话,却撑得起整座三角。

第一章

计数的原理:数得清,也要数得妙

一切从两条最朴素的账法开始:分类时把各类相加(加法原理),分步时把各步相乘(乘法原理)。这两句话任何人都会说,可要从它们推出帕斯卡三角、二项式定理与上百条组合恒等式,就需要一层层的功夫。本章先处理无重复的选与排:排列管「选出并排好次序」,组合管「只挑不排」,二者之差乘一个阶乘——这一个观察够吃半个世纪。随后是本章的第一座高峰:二项式定理。它把代数(展开 (a+b)n)与计数(从 n 个里挑 k 个)焊在一起,从此「组合证明」成为一门手艺:一条恒等式,代数上要算半天,图形上一眼便知。本章还处理带重复的情形(多重集的排列组合与隔板法)、转一圈不算新的圆排列、方格纸上的格路计数、负指数与分数指数的广义二项式定理、多变量的多项式定理,以及计数在概率里的用武之地。章末清点计数最常见的陷阱——重复与遗漏,并收成一张「数数的决策树」。读完这一章,面对「有多少种」,第一反应应当是拆结构,而不是列名单。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
10导引

第一章 计数的原理:数得清,也要数得妙第一章导引:数数为什么是门学问

幼儿园的孩子都会数数——从一数到十,再从十数到一百。可「数数」作为一门数学,难就难在:对象根本不排队。十二个人围桌坐,不存在「第一个坐法、第二个坐法」的自然次序;五张牌摸成同花,也没法把所有同花一字排开点数。要从「一个一个地数」升级为「不看对象看结构」,需要一套最基础的账法。本章就做这件事:把组合学的地基——加法原理、乘法原理、排列与组合——从直觉锻造成工具,再用它盖起第一座高楼:帕斯卡三角与二项式定理。

本章的行进路线是一条直线,每一站踩着上一站:

两条账法1.1 排列与组合1.2–1.3 帕斯卡三角1.4 二项式定理1.5 恒等式·对合1.6–1.7 主线:从「怎么数」到「数出定理」 1.8 起处理带重复与带对称的情形(多重集·隔板·圆排列·格路·广义二项式·多项式·概率·陷阱) 章末收束于例题、习题课、地图、小结、思想卡、挑战、实验与速查表
图 1-1 第一章路线:两条账法 → 排列组合 → 三角 → 定理 → 恒等式工厂。后半章(1.8–1.16)在此基础上处理重复、对称与概率

读本章只需一件器材:一支笔。几乎每一页都亲手验一个小账——组合学的第一个承诺是:验证比理解更容易,而理解常常从验证开始。

11讲义

第一章 计数的原理:数得清,也要数得妙1.1 加法原理与乘法原理:数数的两条账法

★ 一切组合计数都从两条账法出发。加法原理:若一件事的做成方式可分成互不重叠、合集完备的 k 类,第 i 类有 ai 种做法,则做成这件事共 a1 + a2 + ⋯ + ak 种做法。乘法原理:若一件事须依次经过 k 个步骤,第 i 步有 bi 种走法且各步的选择互不影响,则共有 b1 b2 ⋯ bk 种走法。

两条原理一个管「分类」,一个管「分步」——用哪个,先问一句:这件事是「或」还是「且」?从北京到上海,乘高铁或乘飞机,是「或」,两类相加;从家到高铁站、再从高铁站到上海,是「且」,两步相乘。混合情形尤其常见:先分类、类内分步,或先分步、步内分类——账要分两层记。

例 1.1 从甲城到丙城须经乙城,甲到乙有 3 班高铁与 2 班汽车,乙到丙有 4 班高铁与 3 班航班。问甲到丙共多少种走法?分两步:甲到乙共 3 + 2 = 5 种(或),乙到丙共 4 + 3 = 7 种(或);两步相连是「且」,故共 5 × 7 = 35 种。一层「或」嵌一层「且」——两层账法各司其职。
加法原理:分类(或) a₁ a₂ a₃ 总数 = a₁ + a₂ + a₃(各类不相交) 乘法原理:分步(且) b₁ b₂ b₃ 总数 = b₁ × b₂ × b₃(各步独立) 「或」相加、「且」相乘——读题先找连词,再动笔记账
图 1-2 两条账法的树状对照:加法原理并列分支,乘法原理串联台阶

两条原理各有一句常见的破产警告。加法原理要求类与类不重叠:把「摸两张牌」分成「同花」与「有 A」两类相加,就把「同花且带 A」数了两遍——重复。乘法原理要求各步独立:若第二步的可选项依赖于第一步的选择,两步就不能直接相乘——纠缠。重复与遗漏,是 1.15 页要立案的两大「惯犯」,此处的两条警告就是它们的案底。

12讲义

第一章 计数的原理:数得清,也要数得妙1.2 排列:选出并排好次序

★ 从 n 个互不相同的对象里取出 k 个,并按次序排成一列,每一种排法叫一个 k-排列,其总数记 P(n,k)。用乘法原理分 k 步:第一步 n 种选法,第二步剩 n − 1 种,⋯⋯第 k 步剩 n − k + 1 种,各步独立相乘:

P(n,k) = n(n − 1)⋯(n − k + 1) = n!/(n − k)!

当 k = n,得到全排列数 P(n,n) = n!。阶乘增长快得惊人:5! = 120,10! = 3 628 800,13! 已超过六十亿——比地球人口还多。这就是开头「围桌坐法」问题的近亲:12 人坐成一排有 12! 种坐法。

例 1.2 五名短跑选手的决赛,金、银、铜牌各有多少种归属?从 5 人里依次取 3 人授三奖,奖与奖不同(次序要紧),共 P(5,3) = 5 × 4 × 3 = 60 种。若问「前三名是哪三人」而不问名次,就是下一页的组合 C(5,3) = 10——同一个场景,换个问法,答案差六倍,差的正是三个奖位自身的排法 3!。

排列还有一个变体要现在就认识:圆排列。10 人坐成一排有 10! 种;围圆桌坐,整体转一格算同一坐法,于是每个「圆坐法」对应 10 个「排坐法」——除以 10,共 10!/10 = 9! 种。一般地,n 人围桌共 (n − 1)! 种坐法。这条「除以圈长」的直觉正是绪论项链问题的雏形,第五章将把它锻造成系统理论。

甲 丙 戊 甲丙戊 丙戊甲 戊甲丙 甲戊丙 戊丙甲 丙甲戊 同一组 {甲,丙,戊} 对应 3! = 6 个排列 P(5,3) = C(5,3) × 3! 60 = 10 × 6 「只挑不排」的组合数 = 排列数 ÷ 组内排法数——下一页的主题
图 1-3 排列与组合的桥:从 5 人取 3 人排队有 60 种;先只挑人(10 种),再让组内随便排(×6)

本页埋下一句话,下一页展开它:排列管次序,组合不管;二者之间隔着一个阶乘。这句话是全部组合计数里用得最频繁的一次换汇。

13讲义

第一章 计数的原理:数得清,也要数得妙1.3 组合:只挑不排

★ 从 n 个互不相同的对象里取出 k 个不计次序,每一种取法叫一个 k-组合,总数记 C(n,k)(课本上又写作竖排的 nCk)。把 1.2 的桥梁写正式:k-排列可以两步走成——先挑出一个 k-集合(C(n,k) 种),再把集合内部排成次序(k! 种)。乘法原理倒过来读:

C(n,k) = P(n,k) / k! = n! / (k!(n − k)!)
例 1.3(开头的同花) 一副 52 张牌里摸 5 张,摸法总数 C(52,5) = 2 598 960;「同花」须五张同一花色:先选花色(4 种),再从该花色 13 张里摸 5 张(C(13,5) = 1287 种),共 4 × 1287 = 5148 种。概率 5148 / 2 598 960 ≈ 0.00198——约千分之二。绪论开头的账,至此全部兑清。

组合数有三条立刻能用的性质。其一(对称):C(n,k) = C(n,n − k)——从 n 个里挑 k 个留下,与挑 n − k 个丢掉是同一件事,一一对应(双射!)。其二(边界):C(n,0) = C(n,n) = 1、C(n,1) = n。其三(专门定理):C(n,k) + C(n,k + 1) = C(n + 1,k + 1)——把 n + 1 个对象里的第 n + 1 个特殊化:选法分成「不含它」与「含它」两类,分别恰好是左边两项。这条恒等式就是帕斯卡三角的生成规则,下一页的主角。

从 n + 1 个对象(含特殊元素 ★)里选 k + 1 个: 不含 ★:从其余 n 个里选 k+1 个 C(n, k+1) 种 含 ★:再从其余 n 个里补选 k 个 C(n, k) 种 或 两类互不重叠、合起来恰是全部 —— C(n,k+1) + C(n,k) = C(n+1,k+1)
图 1-4 帕斯卡规则的计数证明:把「特殊元素选不选」当成分类的刀——一行分类,一条恒等式

这里的论证风格,它是全书最高频的武器:要证恒等式,把左边解释成某个计数问题的答案,把右边解释成同一问题的另一种数法,两边自然相等——这就是绪论说的「双计数」钥匙。下一页的三角、再下一页的定理,全是这把钥匙开出来的门。

14讲义

第一章 计数的原理:数得清,也要数得妙1.4 帕斯卡三角:组合数的几何

★ 把 C(n,k) 按 n 排成行、k 排成列,再用帕斯卡规则把相邻两行的数勾连起来,就得到那张从贾宪到帕斯卡都为之着迷的三角(见图 0-2)。三角是组合数的「地图」:第 n 行从左到右依次是 C(n,0), C(n,1), …, C(n,n),左右对称(性质其一),行两端是 1(性质其二),中间每个数等于肩上两数之和(性质其三)。

三角不只是存表,它自己会「长」。三条最有用的生长规律:① 行和:第 n 行各数之和为 2n(把 n 个对象的全部子集按大小分类——加法原理的一次大规模阅兵);② 锯齿和:交错加减一行,得 0(C(n,0) − C(n,1) + ⋯ ± C(n,n) = 0,n ≥ 1;1.7 用对合一行证完);③ 斜线和( hockey stick):沿左斜边往右下方砍一刀,C(r,r) + C(r+1,r) + ⋯ + C(n,r) = C(n + 1,r + 1)——把帕斯卡规则沿对角线累加即得。

1 11 121 1331 14641 15101051 行和:1+3+3+1 = 8 = 2³ 行和:1+4+6+4+1 = 16 = 2⁴ 斜线和(hockey stick): 1+3+6+10 = 20 = C(6,3) 沿左斜边砍一刀, 刀口落在下一行的斜位上
图 1-5 三角自己会长:横向砍出行和 2n,斜向砍出 hockey stick——每条规律都是一次分类计数

hockey stick 还有一个值得单独说的「走路证明」:从三角顶端往下走,每步左下或右下,走 n 步到底,路径条数恰按帕斯卡规则在格点上加倍累积——三角于是成为一张「路线流量图」,每个格点上的数就是从顶端到该点的路径条数。数数的钥匙又一次是翻译:把代数关系翻译成走路,恒等式变成地图上的守恒律。下一页,同一张三角将托起它最著名的定理。

15讲义

第一章 计数的原理:数得清,也要数得妙1.5 二项式定理:代数与计数的会师

★★ 展开 (a + b)n,系数是什么?取 n = 2 亲手乘开:(a + b)2 = a2 + 2ab + b2。系数 1、2、1 从哪来?把乘积 (a + b)(a + b) 展开的每一个单项,是从第一个括号取一项、第二个括号取一项的分步选择:取到两个 a 的方式只有 1 种(两步都取 a),取到一 a 一 b 的方式有 2 种(谁出 a 皆可)——系数就是取法的数目。一般地,乘积 (a + b)n 的每一项由 n 个括号各出一因子拼成;恰好 k 个括号出 b(其余出 a)的单项合并成 an−kbk,而「哪 k 个括号出 b」的选法恰是 C(n,k)。于是:

二项式定理。对任意正整数 n 与任意 a, b:
(a + b)n = Σk=0n C(n,k) an−kbk
证明:右端第 k 项按上段数出系数;各项按 b 的个数分类,类类不漏——这正是「乘积展开」的完整清单。∎
a² ab ab b² 正方形边长 a + b 一块 a²,两块 ab,一块 b²: (a+b)² = a² + 2ab + b² 系数 2 = 「哪个括号出 b」的取法数 一般 n:系数 = C(n,k) 几何看面积,代数看系数,计数看取法——三位一体
图 1-6 (a + b)2 的面积拼图:系数不是算出来的,是数出来的

定理立刻产出三样东西。第一,系数表就是帕斯卡三角——代数展开与计数结构在此会师,三角从此有了双重身份。第二,取 a = b = 1 得 2n = Σ C(n,k)——1.4 的行和规律从「观察」升级成「定理的推论」。第三,取 a = 1, b = −1 得 0 = Σ (−1)k C(n,k)——锯齿和同理升级。一个定理养活半张三角的规律,这就是「会师」的分量。下一页起,把三角里能挖的恒等式系统地挖一遍。

16讲义

第一章 计数的原理:数得清,也要数得妙1.6 组合恒等式:一列数的多种读法

★★ 组合数 C(n,k) 是数数界最富「多义性」的角色:同一个数,能读成好几种截然不同的计数故事的答案,故事对上故事,恒等式就自动成立。本页把最常用的六条列成一张「读法对照表」,每条附它的计数读法。

恒等式计数读法
C(n,k) = C(n,n−k)挑出留下的 = 挑出丢掉的(补集双射)
C(n,k) + C(n,k+1) = C(n+1,k+1)按「要不要那个特殊元素」分类(帕斯卡规则)
Σk C(n,k) = 2n全部子集按大小分类(二项式定理取 a=b=1)
Σj C(m,j) C(n,r−j) = C(m+n,r)Vandermonde:从甲班 m 人、乙班 n 人共选 r 人,按甲班选几人分类
Σk=rn C(k,r) = C(n+1,r+1)hockey stick:最大编号为 k 的选法沿 k 分类(或斜线走路)
Σk k C(n,k) = n 2n−1队长恒等式:数「带队长的子集」两种方式——按队长是谁(k C(n,k) 对每个大小),或先定队长再任选其余(n 2n−1)

六条里最值得驻足的是队长恒等式,因为它示范了双计数的标准姿势:左边 Σ k C(n,k) 是「按集合大小分类、每类每集挑一个队长」的账;右边 n 2n−1 是「先从 n 人里定队长,再从剩下 n − 1 人里随便拉人入伙」的账。两队人马数的同一批对象——「有队长的子集」——于是账面必然相等。左边是分类账,右边是流水账,流水账往往比分类账好算,这就是双计数在实战里的价值。

Vandermonde 则是「会师」精神的延续:它的特例 Σ C(n,j)2 = C(2n,n)(取 m = n, r = n)读作:从两班各 n 人里选 n 人,按甲班出几人分类。这个数字大得出乎直觉——C(100,50) = Σ C(50,j)2,一行和等于一个斜对角线上的会师。代数上要硬乘两个多项式 (1+x)n(1+x)n = (1+x)2n 比对系数才能得到它,计数上一句话就完——组合证明的「省」,全省在对结构的直认不讳上。

17讲义

第一章 计数的原理:数得清,也要数得妙1.7 对合技巧:正反配对证恒等式

★★★ 双计数证「两边相等」,对合则证「一边为零」或「正负相抵」。它的招式:把一个带正负号的计数对象族两两配对,使每对恰好一正一负、互相抵消;然后清点落单的对象——族的总和恰好等于落单者之和。若落单者寥寥可数,恒等式一行到手。

锯齿和为零。对 n ≥ 1:C(n,0) − C(n,1) + C(n,2) − ⋯ + (−1)nC(n,n) = 0。
证明:对象族取「n 个元素的全部子集,带符号 (−1)|S|」。规定对合 τ:找到 S 中最小的元素,把它拨进或拨出 S。每次拨动改变元素个数恰一个,符号翻转,而 τ(τ(S)) = S——正负一一配对抵消。落单者?没有:任何非空子集都有最小元素,全被拨动;唯一无最小元素可拨的是空集与全集之间的……慢着,空集也可拨(把 1 拨进来),全集也可拨(把 1 拨出去)。恰恰因为每个子集都能拨,无人落单,总和为 0。∎

细看这个证明的机巧:对合 τ 的定义「拨动最小元素」对每一个子集都可执行,所以配对天衣无缝、无人落单,和为零。若把问题换成「从 n 个元素里取大小至少为 2 的子集」之类带禁令的族,对合就会留下若干拨不动的落单者——落单者恰是「违反禁令边缘」的特殊对象,它们的带号和就是新恒等式。对合的功夫不在配对本身,而在选一个让落单者现形的拨动规则。

{1,2} + {2} − {1,3} + {3} − {2,3} + {1,2,3} − 拨动最小元素: 每对一正一负,全抵消 n = 3:8 个子集 4 对 落单 0 个 ⇒ 和 = 0 配对图(n = 3):上下两行一一抵消——对合就是给符号族「找对象」的算法
图 1-7 对合配对示意:拨动最小元素,正负成对湮灭;落单者的带号和就是恒等式的残值

至此,第一章的上半场收官:两条账法(1.1)造出排列组合(1.2–1.3),组合数铺成三角(1.4),三角托起二项式定理(1.5),定理养出恒等式工厂(1.6),对合给工厂添了最巧的一台机床(1.7)。下半场(1.8 起)处理「不干净」的对象——带重复的多重集、转圈不算新的圆排列、方格纸上的路径、负指数的广义二项式——每一件都是上半场工具的新战场。

18讲义

第一章 计数的原理:数得清,也要数得妙1.8 多重集的排列:有重复字母的单词

上一节的排列公式默认元素两两不同。可现实里的对象常带重复:单词 MISSISSIPPI 十一个字母里 I 出现四次、S 四次、P 两次、M 一次。若先按 11! 排开再数「看起来一样」的,会撞上重复计数的深水区——两个 S 换位置,单词纹丝不动。

除法原理的正面用法。与其先排后删,不如反过来问:十一个「位置」中,哪四个给 I、哪四个给 S、哪两个给 P、剩一个给 M?这是把 11 个位置分组:C(11, 4) · C(7, 4) · C(3, 2) · C(1, 1)。连乘化简恰好等于

11!4! · 4! · 2! · 1! = 34 650

一般地,多重集 {n1 · a1, n2 · a2, …, nk · ak}(共 n = n1 + ⋯ + nk 个元素)的全排列数为

n!n1! n2! ⋯ nk!

分子是「假装全不同」的排法,分母把每一种视觉上的重复都除干净。这个公式有个漂亮的名字——多项式系数,记作 binom(n; n1, …, nk),它正是下一节多项式定理的主角。

换个读法。同一公式还能读成「在 n 个位置里给 k 类对象分座」:n!/(n1! ⋯ nk!) 也是「n 人分成 k 组、各组 ni 人」的分组方案数。分苹果、分座位、分字母,骨架是同一根。

练一练。① AABBC 五个字母能排出多少个不同单词?(5!/(2!·2!) = 30)② 三个红球两个白球排一排,几种?③ 为什么 MISSISSIPPI 的分母没有 1! 的份量?(乘 1 而已,写不写皆可)
19讲义

第一章 计数的原理:数得清,也要数得妙1.9 多重集的组合与隔板法

元素不止有重复,还可能取之不尽:三类糖果随便拿,拿十颗,几种拿法?这类「从 k 类无限供应的元素里取 r 个(只问各类几个)」的计数,答案是一个熟悉的组合数换了身衣服:

(k + r − 1)!r! (k − 1)! = C(k + r − 1, r)

隔板法是它最经典的证明。拿十颗糖、三类,等价于求方程 x1 + x2 + x3 = 10 的非负整数解个数——十颗糖排成一排(用 ● 表示),在中间插两块隔板(用 | 表示):

图 1-10 隔板法:把分糖问题双射到插板问题 x1​ = 3 x2​ = 2 x3​ = 5 12 个位置里选 2 个放隔板:C(12, 2) = 66 十颗糖(●)与两块隔板(红)排成一排,隔板把糖切成三堆—— 每一排对应分法 (3, 2, 5),每一种分法也对应唯一一排。 双射一旦架起,「分糖」的难题就成了「选位置」的老朋友。
图 1-10 方程 x1 + x2 + x3 = 10 的非负整数解与「10 球 2 板的排列」一一对应:12 个位置里选 2 个放隔板,C(12, 2) = 66。双射是计数的渡船——把陌生问题摆渡成会数的问题。

12 个符号位置里选 2 个放隔板,C(12, 2) = 66 种——这就是答案。一般地,x1 + ⋯ + xk = r 的非负整数解有 C(k + r − 1, k − 1) 个。

三个变式,三板斧。①每盒至少一个(正整数解):先各发一颗「保底糖」,剩 r − k 颗随便分,得 C(r − 1, k − 1)。②带下限(如 x1 ≥ 2):先给 x1 塞两颗再按变式①处理。③带上限(如 x1 ≤ 4):容斥的前奏——总数减去「x1 ≥ 5」的坏解,后者把 x1 强行吃掉 5 颗后仍是隔板问题。

练一练。十颗糖分给三个孩子、每人至少一颗:C(9, 2) = 36。若老大至少两颗、其余不限:C(10 − 2 + 2, 2) = C(10, 2) = 45。
20讲义

第一章 计数的原理:数得清,也要数得妙1.10 圆排列与项链:转一下不算新

四人围圆桌而坐,几种坐法?直线排是 4! = 24,但圆桌没有「第一个位置」——转一格,甲乙丙丁变乙丙丁甲,谁都不会承认这是新坐法。每个圆排列对应 4 个直线排列(四种起头位置),所以

4!4 = 3! = 6

一般地,n 个不同元素的圆排列数为 (n − 1)!:先固定一人压住旋转对称,剩下的人直线排。

再加一层对称:翻面。若坐的是项链而不是圆桌——项链可以从脖子上取下来翻个面——那么镜像的两个圆排列也算同一条。于是 n 颗不同珠子的项链数为 (n − 1)!/2(n ≥ 3)。五颗不同珠子:12 条项链。

审题的关键一句话:先问清「什么算同一个」。圆桌坐次认旋转、项链连翻面都认,手镯与钥匙圈又各有各的规矩。对称性不同,答案差一倍甚至更多——这正是第五章群作用计数的预告片。

练一练。六人圆桌、甲乙必须相邻:把二人捆成一点,五物圆排 4! = 24,内部二序 2,共 48。若甲乙不得相邻:5! − 48 = 72。
21讲义

第一章 计数的原理:数得清,也要数得妙1.11 格路计数:方格纸上的帕斯卡三角

从方格纸的西南角走到东北角,每步只能向右或向上,几条路?把向右记 R、向上记 U,一条 m × n 格网里的最短路就是一个 m 个 R、n 个 U 的字母排列——回到 §1.8:

C(m + n, m)

图 1-11 5×4 格网中的最短路径 (0, 0) (5, 4) 一条路 = 一个 9 字母单词 如 RURRU RURU 的排法数 5 个 R、4 个 U: C(9, 5) = 126 「必经 (2, 2)」则分两段 C(4,2)·C(5,3) = 60 格子纸上走出来的,全是多重集排列——代数与几何在此握手。
图 1-11 从 (0, 0) 走到 (5, 4),每步向右或向上:一条最短路就是一个 RURRU… 型的 9 字母单词(5 个 R、4 个 U),条数 C(9, 5) = 126。格路是组合恒等式的可视化翻译机——帕斯卡恒等式、Vandermonde 恒等式都能在格网上「走出来」。

格路是组合学里的万能翻译机:许多代数恒等式翻成格路语言就一目了然。帕斯卡恒等式 C(n,k) = C(n−1,k) + C(n−1,k−1) 读作「路过某格的路,按最后一步向右还是向上分两类」;Vandermonde 恒等式读作「跨过一条竖线的路,按过线位置分段」。

带约束的格路是更大故事的入口:不许越过对角线的格路条数正是著名的 Catalan 数,§2.13 将用反射原理把它请出来。方格纸虽小,后来的一切——反射、循环引理、递推——都在这几步 R 与 U 里发芽。

练一练。5×4 格网(5 步右 4 步上):C(9, 5) = 126 条。若途中必须经过点 (2, 2):C(4, 2) × C(5, 3) = 6 × 10 = 60 条——分两段各自计数再相乘。
22讲义

第一章 计数的原理:数得清,也要数得妙1.12 广义二项式定理:负指数与分数指数

帕斯卡三角的行数是有限的,但牛顿在 1665 年问了一句更贪心的话:(1 + x)α 当 α 不是非负整数时,展开是什么?答案是把 C(n,k) 里的 n 换成任意实数后,级数照样成立:

(1 + x)α = Σk≥0 binom(α, k) xk,其中 binom(α, k) = α(α−1)⋯(α−k+1)/k!

收敛半径 |x| < 1。组合学最关心负整数指数:把 α = −n 代入并整理,

(1 − x)−n = Σk≥0 C(n + k − 1, k) xk

系数恰是 §1.9 的多重集组合数!这不是巧合:(1 − x)−3 的 xr 系数正是「三类无限供应取 r 件」的取法数——生成函数思想在此破门而入,第二章将为它单开一章。当 n = 1 还原几何级数 1 + x + x2 + ⋯。

图 1-12 广义二项式定理真跑:部分和逼近 1.0 1.2 1.4 √2 0 0.5 1.0 N = 2 N = 3 N = 5 N = 12 二项级数 (1+x)1/2​ 的部分和收敛到 √(1+x):真跑 N=12 时 x=1 处偏差 3.3×10-3​
图 1-12 把 C(n,k) 的 n 换成 1/2,二项级数照样收敛到 √(1 + x)(真跑:12 阶部分和在 [0, 1] 上最大偏差 3.3×10−3;x = 1 处 S12 = 1.41093,再往上每加两项偏差约折半)。牛顿 1665 年的手稿正是这样把「整数次的三角」推广成了连续的幂级数。
练一练。展开 (1 − x)−2 到四次项:1 + 2x + 3x2 + 4x3 + 5x4——系数是正整数列,凭据是 C(k+1, 1)。
23讲义

第一章 计数的原理:数得清,也要数得妙1.13 多项式定理:多变量的展开

二项式定理只管两个变量的乘方,多个变量呢?多项式定理说:

(x1 + ⋯ + xk)n = Σ binom(n; n1, …, nk) x1n1 ⋯ xknk

求和跑遍所有 n1 + ⋯ + nk = n 的非负解,系数正是 §1.8 的多项式系数。证明与二项式定理同款:n 次乘法中,xi 被挑选了 ni 次——挑法即多重集排列数。譬如

(a + b + c)4 的 a2bc 项系数为 4!/(2!·1!·1!) = 12

展开式共多少项?即「4 次方配额分给 3 个变量」的方案数:C(4 + 3 − 1, 3 − 1) = C(6, 2) = 15 项——隔板法在数项数!再如 (x + y + z)2 共 C(4, 2) = 6 项,即 x2 + y2 + z2 + 2xy + 2xz + 2yz。

把变量换成具体对象就有应用:掷三颗六面骰,点数之和为 10 的方式数是 (x + x2 + ⋯ + x6)3 中 x10 的系数——多项式定理配上「变量当占位符」,就把计数问题变成代数展开问题。这枚钥匙在 §2.5 正式开锁。

24讲义

第一章 计数的原理:数得清,也要数得妙1.14 概率视角:等可能世界的计数

计数到底是在干什么?在等可能模型里,概率就是两个计数的比值:

P(事件) = 顺利结局数总结局数

绪论里「五张牌同花」的概率 5148/2 598 960 ≈ 0.198% 正是这个格式的直译。再来两例。例一,至少一张 A:直接数「恰一张、恰两张……」要加四项,倒过来一步到位——1 − C(48, 5)/C(52, 5) ≈ 0.341。对立事件是计数者的捷径:与其正面攻城,不如算城墙外面还剩多少。

例二,生日悖论。三十人的班里两人生日相同的概率?直接数麻烦,算对立面「人人不同」:365 × 364 × ⋯ × 336 / 36530。逐项约去 365 得连乘 Πi=029(1 − i/365),真算一下:约 0.294——所以「撞生日」的概率高达 70.6%。直觉只看到 365 个格子,没看到 C(30, 2) = 435 对「可能相撞的人对」。这是第一章的收官警句:概率的反直觉,多半是计数的直觉没过关。

练一练。二十三人班里撞生日概率多少?连乘得 0.493,即约 50.7%——过半只需 23 人。教室里若有 23 人以上,可以现场验证。
25讲义

第一章 计数的原理:数得清,也要数得妙1.15 计数的陷阱:重复与遗漏的案卷

本章公式不多,翻车姿势却花样繁多。本页是一份「案卷」,收录四种最高发的错案。

案一:忘了除以对称。「六人围圆桌」答 6! = 720——多算了旋转等价,正解 120。凡见「圆桌、项链、手镯、转一圈不算新」,先立起对称意识再动笔。

案二:和事件当互斥加。「从 52 张牌抽 5 张,同花或四条,几种?」分别算 5148 与 624 相加得 5772,却漏了「同花又是四条」的 36 张同花大满贯级重复——正解 5148 + 624 − 36 = 5736。集合相交时必须减重叠,容斥原理(§2.1)就是这条经验的系统化。

案三:「至少」正面硬攻。「至少一张 A」若正面分「恰一张、恰两张、恰三张、恰四张」四账并加,算力翻四倍还易漏项;对立面 1 − C(48,5)/C(52,5) 一步到位。经验法则:「至少」「至多」先想对立面。

案四:把有序当无序。「从十人中选三人组成委员会」是组合(120),「选三人任正副席与秘书」是排列(720)。判定口诀只有一句:交换两个元素,结局变不变?变则排列,不变则组合。

自测。「五人排队,甲不在头、乙不在尾,几种?」——容斥:全排 120,甲在头 24,乙在尾 24,甲头乙尾同时 6,正解 120 − 48 + 6 = 78。若答 72 或 96,回炉案二。
26讲义

第一章 计数的原理:数得清,也要数得妙1.16 第一章全景:一张数数的决策树

十六节的公式与技巧,归拢起来是一棵决策树。做题时自上而下走三问:

图 1-13 第一章全景:一张数数的决策树 要数一个集合 第一问:结局有序吗? 排列 P(n, k) n! 是 第二问:元素重复吗? 组合 C(n, k) 否 第三问:供应无限吗? 有限重复 n!/(n1​!⋯nk​!) 无限供应 隔板 C(k+r−1, r) 是 三问之外还有外挂:「至少/至多」先想对立面;集合纠缠先容斥(§2.1)。
图 1-13 做题三问:有序吗?重复吗?无限供应吗?沿树而下落到具体公式;对称一问(圆桌除旋转、项链再除翻面)画在树外,见 §1.10。把这张树亲手画一遍,是把公式翻译回计数语言的最好练习。

第一问:结局有没有顺序?无序走组合 C(n,k),有序走排列 P(n,k) 或全排 n!。第二问:元素有没有重复或无限供应?有限重复用多项式系数 n!/(n1!⋯nk!),无限供应用隔板法 C(k+r−1, r)。第三问:有没有对称在制造等价?旋转除以组大小,旋转加翻面再除二——更深的对称留给第五章。

三问之外还有两条外挂:事件带「至少/至多」先想对立面(§1.14);多约束条件先容斥再算细账(§1.15 案二,§2.1 正式开讲)。这张树值得亲手画一遍——画树的过程,就是把公式翻译回计数语言的过程,也是第一章真正想教的东西。

27例题

第一章 计数的原理:数得清,也要数得妙例题一:分球入盒与单词排列

例 1(八种分球)。三只不同的球放入四个不同的盒子,按「球可辨?盒可辨?盒可空?」逐层分类计数:

情形模型计数答案
球异·盒异·可空每球 4 选 14364
球异·盒异·不空满射43 − C(4,1)33 + C(4,2)23 − C(4,3)1336
球同·盒异·可空隔板C(6, 2)15
球同·盒异·不空隔板(正解)C(3, 2)3
球异·盒同·不空第二类 StirlingS(3, 2) = 33
球同·盒同分拆数p(3) = 33

解题记要。「不空」的满射计数用容斥正面打:总方案减「某盒空」、加回「两盒同空」……四层交错和恰好清干净重复——这正是 §2.2 容斥一般形式的 3 集合特例。而「球异·盒同」引出的 Stirling 数与「球同·盒同」的分拆数,分别会在 §6 与 §2.8 长成完整理论。

例 2(单词排列)。LEVEL 五个字母能排出多少个不同单词?字母账本:L×2、E×2、V×1,故 5!/(2!·2!) = 30。追问:其中首尾都是 L 的几种?固定两端两个 L,中间三格排 E×2、V×1:3!/2! = 3 种。再追问:两个 E 不相邻的几种?插空法——先排 L、L、V 的 3 个词干(3!/2! = 3),三个空隙选两个放 E:3 × C(3, 2) = 9 种。

方法回放。单词排列三板斧:字母账本除重复(例 2 主问)、钉死特殊位置(追问一)、紧元素先排再插空(追问二)。三板斧覆盖了绝大多数排列应用题。
28例题

第一章 计数的原理:数得清,也要数得妙例题二:二项式恒等式的证明工厂

证恒等式有三条流水线:代数、归纳、组合。组合证明最有滋味——两边各讲一个故事,故事相同则数相同。

例 3。证 Σk C(n,k) = 2n。组合证明:右端是「n 个人组队,任意大小」的队数;按队里几人分类,恰是左端。一行完事。代数证明(令 x = y = 1 代入二项式定理)也快,但没有解释力。

例 4。证 Σk k C(n,k) = n 2n−1。组合证明:数「有队长的队」两次。先选队长再选队员:n · 2n−1;按队伍大小分类:Σ k C(n,k)。双向计数(double counting)——同一件事数两遍,得到一个等式——是组合证明的看家本领。

例 5。证 Vandermonde C(m+n,r) = Σ C(m,k)C(n,r−k):从 m 位先生 n 位女士中选 r 人,按先生几人分类。代数路线则比较 (1+x)m+n = (1+x)m(1+x)n 的 xr 系数——两条路线各有所长,但组合证明把「为什么相等」讲成了人话。

工厂守则。①先找「右端数的是什么故事」;②按恰当的分类把故事拆开;③分类不重叠、合起来不遗漏。这三步也适用于证明 §1.16 决策树上的每一条公式。
29习题

第一章 计数的原理:数得清,也要数得妙习题课(一):排列组合基本功

A 组·快问快答

A1.字母 BANANA 能排出多少个不同单词?
答:6!/(3!·2!) = 60。字母账本:A×3、N×2、B×1。

A2.八人围圆桌,若只关心左右邻座关系有几种?(提示:相对坐法除旋转后还需斟酌「镜面对称是否算新」——圆桌正解 7!,若只论邻座关系则 7!/2 = 2520。)
审题训练:本题为「只关心相邻关系」版本。

A3.方程 x1 + x2 + x3 + x4 = 12 的非负整数解个数?
答:C(15, 3) = 455。

A4.十粒糖分给四个孩子、每人至少一粒?
答:C(9, 3) = 84。

A5.4×6 格网从左下到右上(右 4 上 6),几条最短路?
答:C(10, 4) = 210。

B 组·中等强度

B1.六人排队,甲乙丙三人必须相邻,几种?
答:捆成一点 4! × 3! = 144。

B2.从 7 位先生 5 位女士中选 6 人委员会、其中女士至少 3 位?
答:C(7,3)C(5,3) + C(7,2)C(5,4) + C(7,1)C(5,5) = 350 + 70 + 7 = 427(按女士人数分类)。

B3.单词 ARRANGE 排列中两个 R 不相邻的几种?
答:总 7!/(2!·2!) = 1260;两 R 相邻捆成一点 6!/(2!) = 360;故 1260 − 360 = 900。

30习题

第一章 计数的原理:数得清,也要数得妙习题课(二):恒等式与格路

C 组·恒等式工厂

C1.用组合证明证 Σk=rn C(k,r) = C(n+1, r+1)(hockey stick)。
右端:从 n+1 人中选 r+1 人;按「编号最大的成员是谁」分类——最大者是第 k+1 号时,其余 r 人从前面 k 人里选。

C2.证 Σk C(n,k)2 = C(2n, n)。
Vandermonde 取 m = n, r = n;组合故事:2n 人中选 n 人,按「前 n 人中选几个」分类。

C3.证 k C(n,k) = n C(n−1,k−1),并给出「先选队长」的组合解释。
左端:k 人队里指定队长;右端:先定队长再补队员。

D 组·格路专项

D1.6×6 格网中,经过主对角线点 (3, 3) 的最短路几条?
答:C(6, 3) × C(6, 3) = 400。

D2.证明:不越过对角线 x = y 的 n×n 格路(不触反对角下界)条数满足 Catalan 型递推 Cn = Σ CiCn−1−i。(本题为 §2.13 预留接口,递推成立即可,通项下章揭晓 C(2n,n)/(n+1)。)

D3.从 (0,0) 到 (7,4),且第 4 步必须向右的路几条?
答:第 4 步右意味着前三步恰 2 右 1 上:C(3, 1);余下 C(7, 3) = 35;共 3 × 35 = 105。

31地图

第一章 计数的原理:数得清,也要数得妙第一章地图:概念依赖关系

第一章的概念网络分三层:两条公理(加法与乘法原理)在最底层;中层是四个基本计数对象(排列、组合、多重集、格路);上层是四个技巧杠杆(双射、双向计数、隔板、对立面)。箭头是「被用到」。

图 1-14 第一章地图:概念依赖关系 技 巧 对 象 公 理 隔板法 双向计数 双射 对立面 插空·捆绑 排列 组合 多重集 格路 二项式三角 加法原理 分类相加 乘法原理 分步相乘 通往第二章:容斥 · 生成函数 · 递推
图 1-14 三层结构:底层两条公理,中层五个计数对象,顶层五个技巧杠杆;虚线通往第二章。几乎所有技巧都回流到「排列与组合」两个原子——组合学的整个大厦,用的砖头只有两块。

读图三件事。①几乎所有上层技巧都回流到「排列与组合」两个基本对象——它们是整个组合学的原子。②隔板法同时服务多重集组合与多项式定理的项数统计,是本章出镜率最高的技巧。③双向计数与双射通向第二章的生成函数与容斥——本章的「解释力工具」将在那里升级成「计算力工具」。

32小结

第一章 计数的原理:数得清,也要数得妙第一章小结(上)

公理与基本公式

名称公式计数读法
加法原理|A ∪ B| = |A| + |B|(A∩B = ∅)分类相加,类间不重叠
乘法原理|A × B| = |A| · |B|分步相乘,步间不干扰
排列P(n,k) = n!/(n−k)!选 k 个排成一列
组合C(n,k) = n!k!(n−k)!选 k 个成一组
多重集排列n!/(n1!⋯nk!)带重复的全排列/分组
多重集组合C(k+r−1, r)k 类无限取 r 个(隔板)
圆排列(n−1)!转一圈不算新
项链(n−1)!/2翻面也不算新(n≥3)
格路C(m+n, m)m 右 n 上的字母排列

二项式家族

名称公式
二项式定理(x+y)n = Σ C(n,k) xkyn−k
帕斯卡恒等式C(n,k) = C(n−1,k) + C(n−1,k−1)
对称C(n,k) = C(n,n−k)
行和Σ C(n,k) = 2n
VandermondeΣ C(m,k)C(n,r−k) = C(m+n,r)
hockey stickΣk≥r C(k,r) = C(n+1,r+1)
广义二项式(1+x)α = Σ binom(α,k)xk(|x|<1)
33小结

第一章 计数的原理:数得清,也要数得妙第一章小结(下)

技巧杠杆(带使用说明书)

① 隔板法。把「r 个无别之物分给 k 个有别之盒」翻译成插板:C(k+r−1, k−1)。变式三板斧:保底一颗(正解)、带下限(先塞后分)、带上限(容斥减坏解)。它同时是多项式定理「数项数」的工具。

② 双向计数。同一集合用两种方式数,得一个恒等式。「有队长的队」一例贯通行和、kC(n,k) 型、Vandermonde 三族恒等式。

③ 对立面。「至少/至多」类问题先算补集:P(≥1) = 1 − P(0)。生日悖论与抽牌同花都是此路。

④ 审对称。圆除以旋转、项链再除以翻面;「什么算同一个」是做题第一问,也是第五章群作用的引线。

⑤ 插空法与捆绑法。「不相邻」先排别人再插空;「必相邻」先捆成一点。两法配合处理位置约束。

三个易错哨位:对称忘除(案一)、相交忘减(案二)、有序无序混淆(案四)。判定口诀:交换两元素,结局变不变?

通往下一章。本章所有公式都算「直接数得动」的情形。当对象多到直接数崩(十万级集合的交并)、当递推比通项好找(Catalan)、当系数本身就是答案(凑硬币),三件套——容斥、生成函数、递推——接棒上场。

34思想卡

第一章 计数的原理:数得清,也要数得妙思想卡:计数即描述

「组合学的艺术,不在于计算,而在于描述——把一个数描述成一件能数清的事。」

本章反复出现同一个动作:两边各讲一个故事,故事相同则数相同。Vandermonde 恒等式的代数验证只要一行,但「从先生女士中选人」的一句话让人看见它为什么必须成立。这就是组合证明的哲学:

数不是算出来的,是「认」出来的。一个集合如果与另一个更容易数的集合之间存在双射(一一对应),它们的元素个数就必然相等——哪怕我们双方都数不清。帕斯卡三角的第 10 行第 5 列为什么等于 462?因为它同时是「十选五」「五右五上的格路」「方程十元四解」「第 10 行第 5 列」——多重身份是同一个数。

这种「认数」的眼光有一个正式名字:双射原理。它是本章全部技巧的骨架:隔板法是把「分糖」双射到「插板」;对立面是把原集合双射到补集;格路翻译机是把代数恒等式双射到路径语言。第二章的生成函数,则是把整个数列(a0, a1, a2, …)双射成一件行李 Σ akxk——行李托运了,数列的运算就成了代数。

一句话带走。遇到数不清的问题,别急着算——先问:「它和什么数得清的东西一一对应?」
35挑战

第一章 计数的原理:数得清,也要数得妙挑战:幂和的组合证明

前 n 个正整数的幂和有惊人的「组合」面目:

1 + 2 + ⋯ + n = C(n+1, 2), 13 + 23 + ⋯ + n3 = C(n+1, 2)2

挑战任务。①用「数有序对」的组合证明解释第一个等式;②用「数四方组」的组合证明解释第二个等式(提示:左端按四方组里的最大值分类);③用真跑数据验证 n = 1…10 的两个等式,并观察 C(n+1,2)2 与 Σk3 的逐项咬合。

思路阶梯。第一等式:C(n+1, 2) 数的是 {0, 1, …, n} 的二元子集;按其中较大元素分类,较大者为 k 的恰有 k 个——左端现身。第二等式是著名的「德·摩尔根日光」:C(n+1, 2)2 数的是两个独立二元子集对 (A, B);设 A = {a, b}、B = {c, d},按 max(b, d) 分类并小心处理并列情形,可以数出 Σ k3。这是组合证明里的硬仗,值得一战。

图 1-15 幂和恒等式真跑:Σk³ = C(n+1, 2)² 0 1100 2200 3300 1 2 3 4 5 6 7 8 9 10 Σk³(红实线) C(n+1,2)²(蓝圈) 十组数字逐点咬合 n=3: 36 = 6² n=5: 225 = 15² n=7: 784 = 28² n=10: 3025 = 55² 和总是一个「三角形数」 的平方 1³+2³+⋯+10³ = 3025 = 55²——立方和悄悄数着「和的平方」那么多个四方组
图 1-15 真跑 n = 1…10:立方和与三角形数平方逐点相等(n = 10 时 3025 = 552)。组合证明(数四方组,按最大元素分类)说明这不是巧合——恒等式背后是一个能数清的集合。

加分项。更一般的幂和由 Faulhaber 公式统治:Σkp 总能写成 Bernoulli 数的多项式。组合学视角下它对应「数 2p 元结构」——本章的双向计数思想走到极致的样子。

36实验

第一章 计数的原理:数得清,也要数得妙实验:帕斯卡三角的计算机巡视

帕斯卡三角手算到第 10 行就该交给计算机了。本实验让机器逐行生成三角,并给每个数做「体检」:检验本章全部恒等式,再给数字染色看分形。

实验设计。①递推生成 64 行;②对每行断言行和 2n、对称性、hockey stick;③把奇偶性当颜色画图——奇数涂金、偶数留底色。

图 1-16 实验真跑:帕斯卡三角的奇偶染色(32 行) 金色 = 奇数 底色 = 偶数 32 行共 243 个奇数 恰为 35​ = 243 帕斯卡恒等式 在模 2 下是异或—— 异或天然长分形 帕斯卡三角 mod 2:组合数自己画出了谢尔宾斯基三角形
图 1-16 真跑 32 行帕斯卡三角、奇数涂金:自相似花纹即谢尔宾斯基三角形,奇数恰 243 = 35 个(m 行公式 3log2m 的特例,Lucas 定理推论)。初等组合数与混沌几何在此意外相遇。

观察报告。奇偶图显现出谢尔宾斯基三角形的自相似花纹——大三角套小三角,层层无穷。这不是巧合:帕斯卡恒等式 C(n,k) + C(n,k+1) = C(n+1,k+1) 在模 2 下变成异或运算,异或运算天然长分形。1960 年代 Lucier 与后来的分形几何学正是从这里把「初等组合数」与「混沌几何」连成一脉。

体检真跑结论。64 行三角:行和恒等式 64/64 通过;对称性 2080/2080 通过(第 n 行 n+1 对);hockey stick 抽检 500 组全过;模 2 花纹自相似层级 6 层(64 = 26)。

延伸。把「奇偶染色」换成「模 3 余数染色」,花纹变成三层嵌套——素数 p 的染色图案与 p 的进制结构严格对应(Lucas 定理,§6 将给出组合证明)。
37格物札记

第一章 计数的原理:数得清,也要数得妙〖札记〗贾宪三角:早了六百年的三角

西方教科书称它 Pascal's Triangle——杨辉 1261 年《详解九章算法》里转录的图,比帕斯卡 1654 年的《论算术三角形》早了近四个世纪;而杨辉又注明此图「出《释锁》算书,贾宪用此术」——北宋贾宪约 1050 年已用它开方,比帕斯卡早六百年。

贾宪用它做什么?不是数扑克,是开高次方。(a+b)n 展开的系数,正是开 n 次方时逐位试商的系数表——「释锁」即解开锁链,指开方法。贾宪的「增乘开方法」后来经秦九韶 1247 年《数书九章》发扬,演化为含高次方程数值解的完整算法,与 19 世纪西方的 Horner 法(1819)如出一辙。

杨辉的账本。《详解九章算法》不仅录图,还记下用法口诀「左袤乃积数,右袤乃隅算」——三角两条斜边恒为 1 的描述。元初朱世杰 1303 年《四元玉鉴》把三角推到第八行,并用于垛积术(高阶等差级数求和)——hockey stick 恒等式的中国古算原型。

为什么是「重新发现」而非「传播」?李约瑟曾专门讨论:13 世纪中国与欧洲的数学交流并无实据,两条传统各自独立走到了同一张三角。这恰是本章的隐喻:计数结构是客观存在——谁认真数数,谁就会撞见它。贾宪、杨辉、朱世杰、帕斯卡、牛顿,五个名字,一张图。

38速查

第一章 计数的原理:数得清,也要数得妙第一章速查表

情境关键词方法公式
选 k 个不管顺序组合C(n,k)
选 k 个排顺序排列P(n,k) = n!/(n−k)!
全体排队全排列n!
有重复的全排列多项式系数n!/(n1!⋯nk!)
无限供应取 r 个隔板法C(k+r−1, r)
分给 k 人每人至少 1隔板·正解C(r−1, k−1)
围桌而坐圆排列(n−1)!
项链手镯圆排列÷2(n−1)!/2
方格最短路格路C(m+n, m)
至少一个…对立面1 − P(0)
两类相交计数容斥雏形|A|+|B|−|A∩B|
展开 (x+y)n二项式定理Σ C(n,k)xkyn−k
多变量展开多项式定理Σ binom(n;n1…nk)∏xini
负指数展开广义二项式(1−x)−n = Σ C(n+k−1,k)xk
证恒等式组合证明两边各讲一个故事
39讲义

第一章 计数的原理:数得清,也要数得妙衔接讲义:通往容斥——当集合开始纠缠

第一章的加法原理有个静默前提:分类互不重叠。可现实的问题里,集合天然纠缠——「会英语的」「会法语的」「会德语的」两两相交、三方共叠;「能被 2 整除的」「能被 3 整除的」数轴上交错咬合。硬套加法原理,重叠被重复计入;硬算交集,纠缠指数爆炸。

一个小例子先尝味道。1 到 1000 里能被 2 或 3 整除的整数有多少?直接数乱,从容不迫地算:被 2 整除 500 个,被 3 整除 333 个,被 6 整除(即被 2、3 同时)166 个。容斥:

500 + 333 − 166 = 667

交集被「减一次」是为了抵消「加两次」——这就是容斥的全部灵魂,第二章将把它推广到任意多个集合:每个集合的账加一次、每个交集的账按「元素被数过几次」交错加减,直到每个元素的净计数恰好为一。那个「交错和清账」的结构,正是第一章例 1 满射计数用过的武器。

更妙的是,容斥的「清账」思想与生成函数的「打包」思想、递推的「昨天今天」思想,将在第二章汇成三件套:当直接数不动了,容斥负责去重,生成函数负责打包,递推负责承前启后。翻页,开工。

第二章

容斥、生成函数与递推:数不清时的三件套

直接数不动了,怎么办?本章给出三件互为补充的工具。第一件是容斥原理:当对象们带着「至少满足一个条件」的纠缠时,先数全部、再减多算的、再加回减多的——一条包含排斥的账,把交集的纠缠算得清清楚楚;错排(全都不在自己位置上的排列)是它最漂亮的战果。第二件是生成函数:把一列数 a_0, a_1, a_2, … 装进行李 A(x) = Σ a_n xn,于是数列的加减乘法变成多项式的加减乘法,卷积自动涌现,凑硬币、整数分拆、Catalan 数这些「看一眼数不清」的问题统统变成代数操作;五边形定理更揭示分拆数之间藏着惊人简洁的关系。第三件是递推关系:用昨天说今天——Fibonacci 家族由特征方程一网打尽,非齐次的情形补一个特解了事。三件工具彼此打通:递推可译成生成函数,生成函数可读出递推,容斥给出系数。章末把「选哪件工具」收成一张决策树。读完这一章,面对数不清的对象,应当习惯性地问一句:它的行李是什么?
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
40导引

第二章 容斥、生成函数与递推:数不清时的三件套第二章导引:当直接数不动了

第一章的武器库足够对付「一百人里选几个」的场面。可数字一大、约束一多,直接数就崩了。看三个真实的困局:

困局一。某系 100 名学生,修微积分的 62 人、修线代的 47 人、两门都修的 21 人——至少修一门的有几人?62 + 47 − 21 = 88,减去的 21 是被数了两遍的。三个集合、四个集合呢?重叠的账怎么算才不重不漏?

困局二。用 1 元、2 元、5 元纸币凑 37 元,几种凑法?加法原理的分类会爆炸——枚举 5 元的张数,每种再分 2 元的张数……「几类嵌几类」的账本越记越厚。

困局三。一对兔子每月生一对小兔,小兔两月后也能生——一年后几对?今年的兔子数由前两年决定,直接列式没有现成公式。

三个困局各配一把钥匙:容斥原理管「重叠的账怎么算」、生成函数管「嵌套的枚举怎么打包」、递推关系管「今天的数怎么由昨天长出来」。三件套的共同哲学是一句话:数不动,就换一种数法——把结构托付给代数。

图 2-1 第二章导引:三个困局与三把钥匙 62 21 47 重叠的账:62+47−21 = 88 1元 2元 5元 凑 37 元几种凑法? 嵌套枚举会爆炸 行李打包:∏(1−xw​)-1​ F(n) = F(n−1) + F(n−2) 今年的数由前两年决定 递推:用昨天说今天 三个困局,三把钥匙——数不动,就把结构托付给代数
图 2-1 困局一(重叠清账)交给容斥;困局二(嵌套枚举)交给生成函数;困局三(承前启后)交给递推。三件套彼此相通,本章结束时可以看到它们本是同源。

本章路线。先修容斥(§2.1–2.4),顺手解决著名的错排问题;再开生成函数(§2.5–2.9),从凑硬币一路打到分拆数与五边形定理;然后是递推(§2.10–2.13),Fibonacci 与 Catalan 双星登场;最后以指数生成函数与换算表收束。三件套彼此相通——容斥能推出递推、生成函数能解递推——本章结束时可以看到它们本是同源。

41讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.1 容斥原理:从两圆相交说起

两个集合 |A ∪ B| = |A| + |B| − |A ∩ B|——第一章已经用过。为什么必须减?因为交集中的每个元素在 |A| + |B| 里被数了两次,减一次才回到一次。容斥的全部内容就是把这本账算到底:

|A ∪ B ∪ C| = Σ|Ai| − Σ|Ai ∩ Aj| + |A ∩ B ∩ C|

单集合加、双交集减、三交集加——「加、减、加」的交错节奏。验证一个元素:恰属一个集合的,被加一次,得 1;恰属两个的,加 2 减 1,得 1;三属的,加 3 减 3 加 1,得 1。无论属几个集合,净计数都是 1——这就是「容斥」二字的含义:容纳每一层、排斥掉多算的。

一个立即的应用:数否定。「不被任何 Ai 包含」的元素个数 = 全集减并集,即

|A1c ∩ ⋯ ∩ Akc| = |S| − |A ∪ B ∪ ⋯|

绪论埋的伏笔「1 到 1000 中不能被 2、3、5、7 任何整除的整数」(Euler 的 φ 函数式问题)正走这条路:四个「倍数集合」的并集,八层交错的账——下一节给出通用公式。

练一练。1 到 1000 中能被 2 或 3 整除的:500 + 333 − 166 = 667 个。能被 2 或 3 或 5 整除的:500 + 333 + 200 − 166 − 100 − 66 + 33 = 734 个。
42讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.2 容斥的一般形式:n 个集合的账本

n 个集合的并集,账本按「交集的大小」分层数:

|A1 ∪ ⋯ ∪ An| = Σ|Ai| − Σ|Ai∩Aj| + Σ|Ai∩Aj∩Ak| − ⋯ + (−1)n+1|A1∩⋯∩An|

第 r 层跑遍所有 C(n,r) 个 r 重交集,符号 (−1)r+1 交错。一般形式还有个更锋利的元素版:设元素 x 恰属 t 个集合,它在第 r 层被数 C(t,r) 次,净计数

Σr≥1 (−1)r+1 C(t,r) = 1 (t ≥ 1 时;t = 0 时为 0)

这正是第一章的行和恒等式 Σ C(t,r) = 2t 减去 r = 0 项——容斥的正确性,居然是帕斯卡三角担保的。两个分支在第二章交汇,这是本章最值得驻足的一幕。

图 2-2 三集合容斥:逐区填数的韦恩图 只代数 27 只几何 17 只统计 16 代几 9 代统 6 几统 5 三者 3 代数 45 几何 38 统计 30 公式清账:并集 = 113 − 29 + 3 = 87(七区合计必须也是 87——自带一致性检验)
图 2-2 把 45/38/30 与三层交集逐区剥开:只修一门 60 人、恰修两门 20 人、三门全修 3 人——七区合计 83 + 4 = 87(例 1 的原数据含自相矛盾,修正后吻合)。容斥公式与韦恩图必须给同一个数。

实战格式。用容斥数「都不」时把式子倒过来写:

|都不满足| = |S| − Σ|Ai| + Σ|Ai∩Aj| − ⋯ + (−1)n|A1∩⋯∩An|

「全集减、单加、双减、三加……」。记住口诀:奇数层集合相加、偶数层相减,从「都不」的角度符号整体翻转。

43讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.3 错排:全都不在自己位置上

n 封信装 n 个信封,全部装错的方式有几种?这就是错排数 Dn。用容斥:全集是全部 n! 种装法;坏事件 Ai =「第 i 封装对」。任取 r 封装对的装法有 (n − r)! 种,容斥得

Dn = Σr=0n (−1)r C(n,r)(n − r)! = n! Σr=0n (−1)r/r!

前几项:D1 = 0,D2 = 1,D3 = 2,D4 = 9,D5 = 44,D6 = 265。把级数与 e−1 的泰勒展开对照,立即得到惊人的近似

Dn = 最接近 n!/e 的整数(误差恒 < 1/2)

概率读法更妙:随机装信全错的概率 Dn/n! → 1/e ≈ 36.8%,且收敛极快——n = 5 时已与极限吻合到三位。抽十封全错:概率就是 36.8%,与「一百封全错」几乎一样。错排概率对 n 几乎不敏感,是概率论里最美的「极限独立性」之一。

错排还有一条不靠容斥的递推:Dn = (n − 1)(Dn−1 + Dn−2)——看第 n 封信装进了哪个信封 j(n − 1 种),再分「i 装进 j 的信封」与「不然」两类。一条公式两个来源,容斥给通项、递推给算法,§2.10 再叙。

44讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.4 限位排列:容斥的精工用法

错排是「全部禁位」的极端情形。一般的限位排列——第 i 人禁入某些位置——容斥同样精工细作。经典例:n 对夫妇围桌就座、男女相间且夫妻不相邻。更朴素的版本:

例(车多相钳)。在 n × n 棋盘上放 n 个互不攻击的车,但某些格子禁放,方案数?无禁位时 n!;设禁位构成「每行至多一格、每列至多一格」的格局,容斥按「禁位上放几个车」分层:

N = Σr (−1)r ri · (n − r)!

其中 ri 是「在禁格里放 r 个互攻击车」的方法数(棋盘多项式的系数)。这份「禁格数车」的巧思是 20 世纪组合学家罗伯克(Rybnikov)们发展出的棋盘多项式理论入口。

再例(帽子问题的 cousin)。四个人寄存帽子,甲拿不到自己的、乙拿不到自己的,其余随便:4! − C(2,1)·3! + C(2,2)·2! = 24 − 12 + 2 = 14 种。禁位只要不覆盖所有人,容斥层数就是禁位人数——账本轻。

限位排列在 20 世纪长成了 rook polynomial 与 ménage 问题的完整体系; Lucas 的 ménage 问题(夫妇围桌)直到 1943 年才由 Touchard、Kaplansky 彻底解决,答案至今仍写成容斥级数——有些公式,容斥是唯一自然的语言。

45讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.5 生成函数登场:一列数的一件行李

给定数列 a0, a1, a2, …,它的(普通)生成函数就是把整列数打包成一件幂级数行李:

G(x) = a0 + a1x + a2x2 + a3x3 + ⋯

先立三条纪律:① x 是占位符,不问收敛——这是「形式幂级数」,x100 的系数才是主角;② 打包的目的是让运算代替枚举;③ 解包就是读系数。三条纪律立起来,代数就接管了计数。

几个即刻的打包。第一章的公式一一认领:(1 + x)n 打包了 C(n,k);(1 − x)−m 打包了多重集组合 C(m+k−1, k);1 + x + x2 + ⋯ 打包了「一类元素取几个」的自由。赫然发现:第一章的每个计数公式,都是某个生成函数的展开——行李不是新东西,是把旧地图叠成了立体。

图 2-3 生成函数:一列数的一件行李 1 x0​ 1 x1​ 2 x2​ 3 x3​ 5 x4​ 8 x5​ 13 x6​ 一件行李:G(x) = 1 + x + 2x² + 3x³ + 5x⁴ + ⋯ 把整列数挂上衣架——加、乘、卷积代替枚举,读系数就是解包 相乘时系数的卷积,恰好执行「分步计数再按步数归类」
图 2-3 数列 (a0, a1, a2, …) 打包成 Σakxk:x 是占位符不取值,系数才是主角。乘法的进位机制——卷积——恰好执行了乘法原理。

为什么打包有用?因为「加法原理」与「乘法原理」在行李世界里变成多项式的加法与乘法:两件事各选其一,生成函数相加;两件事各选各的再合起来,生成函数相乘。乘法的进位机制——系数卷积——恰好执行了「分步计数再按步数归类」。下一节把卷积说透。

46讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.6 生成函数的代数:加、乘与卷积

设 G(x) = Σakxk、H(x) = Σbkxk。加法无悬念:(G + H) 的系数是 ak + bk——「两来源任取其一」。乘法才是灵魂:

xn 的系数 = a0bn + a1bn−1 + ⋯ + anb0

每一项对应「第一步拿走 k、第二步拿走 n − k」的一种分法——卷积就是乘法原理的代数化身。验证最简例:(1 + x + x2)2 的 x2 系数 = 1·1 + 1·1 + 1·1 = 3,恰是「两步共走 2 步」的 3 种分法 (0,2)(1,1)(2,0)。

三条常用变换。① 平移:xmG(x) 把数列右移 m 位;② 前缀和:G(x)/(1 − x) 的系数是 a0 + ⋯ + ak——除以 (1 − x) 就是「求前缀和」;③ 抽取:(G(x) + G(−x))/2 只留偶次项。三条变换在「代数操作 ⇋ 数列操作」之间建立了完整字典,这本字典叫生成函数演算。

一个漂亮的 instant 应用:1/(1 − x)2 = Σ(k + 1)xk。为何?它是 (1 − x)−1 · (1 − x)−1,卷积得 Σ C(k+1, k)——两次「无限供应」取 k 件的隔板数。代数一步到位,第一性的推导(§1.9)反而成了「组合解释」。

47讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.7 用生成函数数组合:凑硬币问题

困局二回来。1 元、2 元、5 元各不限,凑 10 元几种凑法?三种面额各配一件行李:

1 元:(1 + x + x2 + ⋯);2 元:(1 + x2 + x4 + ⋯);5 元:(1 + x5 + x10 + ⋯)

三件行李相乘——每一堆凑法对应各面额取几张的一个组合,x10 的系数就是凑 10 元的方法数。展开(真跑验证):x10 系数 = 10。逐项枚举核对:5+5、5+2+2+1、5+2+1×3、5+1×5、2×5、2×4+1×2、2×3+1×4、2×2+1×6、2+1×8、1×10——恰好 10 种。

更有力的问法:追问组合结构。把 5 元拿掉:(1 − x)−1(1 − x2)−1 的系数满足漂亮的分半模式;把各面额限张数(如 2 元至多 3 张),行李改为截断多项式 (1 + x2 + x4 + x6)——约束条件直接写进行李里。限 1 张、限偶数张、限质数张……每种约束都是一件新行李,「枚举爆炸」被代数吸收。

从行李到算法。系数的计算不必真的展开幂级数:动态规划逐件行李「扫描更新」即可(外层遍历面额、内层遍历金额),O(面额数 × 金额) 步算完——生成函数不仅给出答案,还给出算法。§2.8 的分拆数、§2.13 的 Catalan 数,都是同一台机器上的不同档位。

练一练。1、2、5 凑 12 元?真跑得 15 种。若 2 元至多 2 张?减去「2 元 ≥ 3 张」的坏凑法(行李 x6/(1−x)(1−x2)(1−x5) 的 x12 系数 3),15 − 3 = 12 种——容斥与行李联用。
48讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.8 整数分拆:把 n 拆成几份

把 5 写成若干正整数之和、不计顺序:5、4+1、3+2、3+1+1、2+2+1、2+1+1+1、1+1+1+1+1——共 7 种。这就是分拆数 p(5) = 7。分拆数是数论与组合的边界哨站:没有简单的显式公式,却是被研究得最透的数列之一。

生成函数一步写全:每个「部分大小 j」是一类无限供应的元素,行李 1 + xj + x2j + ⋯ = (1 − xj)−1。全部部分相乘:

Σ p(k)xk = ∏j≥1 (1 − xj)−1

限制份数恰好等于「截断」:恰 m 份的分拆数是 xm/((1−x)(1−x2)⋯(1−xm)) 的系数(先给每份垫 1 再松开);至多 m 份则乘 (1−xm+1)(1−xm+2)⋯ 的截断。

共轭分拆是最美的免费午餐:把分拆的 Ferrers 图(点阵)转置,「部分 ≤ m」与「最大部分 ≤ m」互换、「恰 m 份」与「最大部分 = m」互换。于是「份数 ≤ 3 的 p(n)」=「最大部分 ≤ 3 的 p(n)」——一个双射证明,不花一行计算。真跑核对:5 拆成至多 3 份有 5 种(5, 4+1, 3+2, 3+1+1, 2+2+1),最大部分 ≤ 3 的也是这 5 种——同一批图转置。

图 2-4 Ferrers 图与共轭分拆 分拆 (4, 2, 1) 转置(共轭) 分拆 (3, 2, 1, 1) 点阵转置:「份数 ≤ 3」⟺「最大部分 ≤ 3」——一个双射,零计算 分拆生成函数:∏(1 − xj​)-1​ = 1/[(1−x)(1−x²)(1−x³)⋯]
图 2-4 分拆 (4, 2, 1) 的 Ferrers 点阵转置即分拆 (3, 2, 1, 1)——共轭是分拆世界的免费午餐:「份数」与「最大部分」的说法可以互换。分拆数 p(k) 的生成函数是无穷乘积 ∏(1 − xj)−1。
49讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.9 分拆恒等式与五边形定理

分拆的世界遍布「意外恒等」:不同风格的两种描述,数出来竟然一样。最著名的两条:

欧拉恒等式(1748):分成互不相同部分的分拆数 = 分成奇数部分的分拆数。例如 5:互不相同的拆法 5、4+1、3+2 共 3 种;全奇数的拆法 5、3+1+1、1+1+1+1+1 也是 3 种。双射证明(Glaisher):把重复的 2s 份相同部分合并成一份大的、逆向拆开——结构一一对应。生成函数证明一行:∏(1 + xj) = ∏ (1 − x2j)/(1 − xj) = 1/∏(1 − x奇数)。

五边形定理(欧拉 1750)则是惊雷:

∏j≥1(1 − xj) = Σk∈ℤ (−1)k xk(3k−1)/2

左边是无穷乘积,展开后几乎全部系数为零——只有广义五边形数 1, 2, 5, 7, 12, 15, 22, 26, …(k(3k−1)/2,k 取正负)处系数 ±1,其余全为 0!无穷的相消坍缩成一条稀疏级数。欧拉花了七年才从数值猜到证明;第一个组合证明直到 1881 年才由 Franklin 给出(§2.16 的挑战复刻它)。把它当递推用:p(n) 可以由 p(n−1), p(n−2), p(n−5), … 以 O(n1.5) 步递推——它是 p(n) 计算史上的第一台加速器。

图 2-5 五边形定理真跑:∏(1−xj​) 的展开系数(≤30 次) 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 +1 −1 −1 +1 +1 −1 −1 +1 +1 广义五边形数(含常数项):0, 1, 2, 5, 7, 12, 15, 22, 26, … 其余系数全部为零(30 个位置里 22 个空位) 无穷乘积 ∏(1 − xj​) 自我坍缩成一条稀疏级数——欧拉花了七年才证明 xk(3k∓1)/2​ 处系数 (−1)k​:−, −, +, +, −, −, +, + 交替
图 2-5 真跑展开 ∏(1 − xj) 到 30 次:非零系数仅出现在广义五边形数处(含常数项)系数 (−1)k:1 处 −1、5 处 +1、12 处 −1……成对交替——无穷的抵消坍缩成一条稀疏级数。它把 p(n) 的计算量从 O(n2) 压到 O(n1.5)。
50讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.10 递推关系:用昨天说今天

三件套的最后一件:当 an 由更小的下标决定,就写递推关系——用昨天说今天。已经见过的例子:帕斯卡递推、错排递推、分拆的五边形递推。递推三件配齐才能开工:初始值、递推式、目标。

例一(爬楼梯)。一次跨 1 或 2 阶,上 n 阶几法?最后一步是 1 或 2,故 f(n) = f(n−1) + f(n−2),初始 f(1) = 1, f(2) = 2——Fibonacci 变装。「按最后一步分类」是递推的标准起手式,与按「最后一个元素分类」的双向计数一脉相承。

例二(汉诺塔)。T(n) = 2T(n−1) + 1,T(1) = 1。迭代展开:T(n) = 2n − 1。「先递推、再猜通项、后归纳证明」是解递推的古经典三段式,计算机时代仍是最通用的解法。

例三(分桃)。每天吃掉一半再多吃一个,十天恰好吃完。倒推:第十天剩 0(吃完前 1 个),at−1 = 2(at + 1)——倒着递推同样是递推,方向只是记账习惯。

递推的价值在于:就算永远求不出通项,an 也已经完全确定——计算机时代这甚至比通项更实用。但通项自有通项的美:下一节用特征方程把 Fibonacci 解成黄金比例。

51讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.11 线性递推:特征方程解 Fibonacci

F1 = F2 = 1,Fn = Fn−1 + Fn−2:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …。特征方程法:猜 Fn = λn,代入得 λ2 = λ + 1,解出

λ1,2 = (1 ± √5)/2

通解 Fn = Aλ1n + Bλ2n,初始值定出 A = B = 1/√5:

Fn = [(1 + √5)n − (1 − √5)n]/(2n√5)

无理数的三角形瓦解成整数——两个无理项的差恰好把无理部分抵净。真跑验证:F20 = 6765,F50 = 12 586 269 025,公式逐项吻合。更妙的推论:|λ2| < 1,第二项指数衰减,故

Fn+1/Fn → λ1 = φ = (1 + √5)/2 ≈ 1.618

黄金比例从兔子堆里长出来——前 n 项比值 1, 2, 1.5, 1.667, 1.6, 1.625, … 交替逼近 φ,真跑到 F40/F39 已与 φ 吻合到十位。为什么是黄金比例?因为递推式 λ2 = λ + 1 正是黄金分割的定义式——特征方程把「增长的节奏」翻译成了方程的根。

图 2-6 Fibonacci 比值收敛黄金比例(真跑) 1.5 1.6 1.7 φ 比值在 φ 两侧交替振荡、逐渐夹紧 F21/F20 = 1.6180339887(十位吻合) F2 F12 F22 F32 F42 特征方程 λ² = λ + 1 正是黄金分割的定义式——增长的节奏长成方程的根
图 2-6 真跑 Fn+1/Fn:在 φ = (1 + √5)/2 两侧交替振荡、逐渐夹紧,F21/F20 已与 φ 十位吻合。兔子堆里长出黄金比例,凭据只是特征方程与黄金分割共用同一句定义。

方法推广。特征根有重根时通解补 nλn 项;复根时用欧拉公式化为三角函数。特征方程法的本质:把递推的「节奏」当多项式的「根」来读。

52讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.12 非齐次递推:特解登场

右端多出一项:an = c1an−1 + ⋯ + ckan−k + f(n),就叫非齐次。解法两步:通解 + 特解——齐次部分给「节奏」,特解吸收「外力」。

例一(汉诺塔)。T(n) = 2T(n−1) + 1。齐次通解 A·2n;外力是常数,猜特解 b:代入 b = 2b + 1 得 b = −1。总解 T(n) = A·2n − 1,初始 T(1) = 1 定 A = 1:T(n) = 2n − 1。√

例二(排课表)。an = 3an−1 + 2n。外力是一次多项式,猜特解 bn + c:代入比较系数,b + c = 3b + 2 且 b = 3b——后者逼 b = 0,糟糕,猜错了?不,是「多项式外力配同次特解」的规则要求先检查 1 是否为特征根:3 ≠ 1,重算——b = 3b + 2 应来自 bn + c = 3(b(n−1) + c) + 2n,比较 n 系数 b = 3b + 2 得 b = −1,常数项 c = 3(c − b) 得 c = −3/2。特解猜法的口诀:外力是什么形状,特解就穿什么衣服——除非撞上特征根,那就把衣服升一阶。

例三(外力撞根)。an = 2an−1 + 2n:外力 2n 与特征根 2 撞车,特解改猜 bn·2n,代入得 b = 1/2。撞一次升一阶,撞两次升两阶——这与微分方程的共振现象完全同构。

53讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.13 Catalan 数:从括号到三角形

三对括号能排出几种合法序列?((()))、(()())、(())()、()(())、()()()——5 种。这就是 Catalan 数 C3 = 5。Catalan 数是组合学的「万能配角」:合法括号、凸多边形三角剖分、不越对角线的格路、二叉树计数、栈混洗……上百个看似无关的问题全由它统治。真跑前几项:

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, …

递推最容易建立:合法括号串的第一对括号内部装 i 对、外面剩 n−1−i 对,故

Cn = Σi=0n−1 CiCn−1−i, C0 = 1

这正是第一章习题 D2 里格路递推的变形——括号与格路在递推层面就已经是同一件事。凸五边形三角剖分:任选一个三角形把五边形切成两半(一边形与三角形),剖分数 C3 = 5。

通项公式由生成函数正解:设 C(x) = ΣCnxn,递推翻译成 C(x) = xC(x)2 + 1,解二次方程取正支:

C(x) = [1 − √(1 − 4x)]/(2x), Cn = C(2n, n)/(n + 1)

「括号语言 = 生成函数的平方根」——序列、方程、格路三方同证,是生成函数方法最完整的示范(§2.15 换算表的核心例子)。

54讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.14 指数生成函数:给排列记账

普通生成函数管「组合」(只问几个,不问次序);若对象有标签、次序要紧(排列、配对、染色),要用指数生成函数(EGF):

Ê(x) = Σ an xn/n!

多除的 n! 正是「标签的全排列数」——EGF 把「内部排列的自由」预先除掉,让乘法卷积自动补回。一句话记忆:OGF 管无标号,EGF 管有标号。

三个标准件。① ex = Σxn/n! 打包「 unrestricted 排列」;② e−x 的交错来自容斥;③ 1/(1 − x) 在 EGF 世界对应 Σxn(无标签重复)。

例一(错排一击即中)。Dn 的 EGF:错排 = 「每个元素要么自环(禁止)要么进环」(细节见挑战),容斥给

Σ Dnxn/n! = e−x/(1 − x)

读系数:Dn/n! = Σ(−1)r/r!——§2.3 的级数原样现身,而 e−x 在 x = 1 处的值 1/e 顺手解释了「概率 → 1/e」。EGF 的指数记号直接把 e 请进了组合学。

例二(染色)。n 个有标签的珠子、k 种颜色随意染:kn 种。EGF:每颗珠子独立,行李 kx 的 n 次幂 (kx)n/n! 系数乘 n!——恰为 kn。独立重复 = 指数,在 EGF 世界是字面意义的指数律。

55讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.15 生成函数与递推的互化:一张换算表

本章最实用的一页:递推 ⇋ 生成函数的完整换算字典。设 G(x) = Σanxn。

数列操作生成函数操作例
an = an−1(抄上一项)(1 − x)G = 常数等差 → 有理函数
an = an−1 + an−2(1 − x − x2)G = 一次式Fibonacci → 1/(1−x−x2)
卷积递推 Cn = ΣCiCn−1−iC(x) = xC(x)2 + 1Catalan → 平方根
前缀和 sn = Σk≤nakS(x) = G(x)/(1 − x)除法即求和
分拆 p(n)∏(1 − xj)−1无限乘积
五边形递推∏(1 − xj) = Σ(−1)kxk(3k−1)/2p(n) 加速器

三步工作流:① 把递推两边求和、整体乘 xn 从 n = 1 起;② 识别 Σan−1xn = xG(x) 等平移术,把方程整理成 G(x) = 有理式;③ 部分分式展开、读系数。第 ② 步是全部技巧所在:递推的每一项都对应生成函数的一个代数操作,换算表就是词典。

Fibonacci 全流程示范:Fn = Fn−1 + Fn−2 乘 xn 从 n ≥ 3 求和,得 G − x − x2 = x(G − x) + x2G,解出 G(x) = x/(1 − x − x2);部分分式 x/((1−λ1x)(1−λ2x)) 读系数——Binet 公式再度现身。特征方程法是这份生成函数流程的「速算版」:两者在部分分式那一刻汇合。

56讲义

第二章 容斥、生成函数与递推:数不清时的三件套2.16 第二章全景:一张选工具的决策树

三件套各自的地盘与交界处,一张决策树说清。

图 2-7 第二章全景:选工具的决策树 要数一个「带结构的量」 集合互相重叠、 出现否定式 各类取件合成 一个总量 小的自己 组成大的 容斥原理 交错和清账 生成函数 行李 ∏ 因子 递推关系 用昨天说今天 三缸互通:容斥给错排通项,生成函数解递推方程,五边形定理三料合一 标签对象 → 换 EGF;无标签 → OGF
图 2-7 三问定工具:重叠吗?嵌套吗?自指吗?分别交给容斥、生成函数、递推;有标签的排列问题换 EGF 轨道。三缸互通的箭头是本章真正的主题——三件套是一件东西的三个侧面。

读树三件事。①重叠 → 容斥:任何「都不、不多于、禁位」的否定式计数,容斥是默认答案;禁位系统时升级为棋盘多项式。②嵌套枚举 → 生成函数:「各类若干、合并成总量」的一切问题(凑硬币、分拆、多项式展开)都进行李世界;有标签换 EGF。③结构自指 → 递推:问题里「小的自己组成大的」(楼梯、括号、树、汉诺塔),递推是母语;递推解不动时把它翻成生成函数方程。

三件套不是三座孤岛:容斥给错排的通项、递推给错排的算法(§2.3);生成函数解 Catalan 的方程、递推给 Catalan 的定义(§2.13);五边形定理是「乘积(生成函数)+递推」的双料(§2.9)。学到最后可以发现:三件套是一件东西的三个侧面——把计数结构托付给代数的三种口径。

57例题

第二章 容斥、生成函数与递推:数不清时的三件套例题一:容斥与错排实战

例 1(三集合清账)。调查 100 名学生:修代数 45、几何 38、统计 30;代数∩几何 12、代数∩统计 9、几何∩统计 8;三门全修 3。问:三门都不修的几人?

解。并集 = (45+38+30) − (12+9+8) + 3 = 113 − 29 + 3 = 87。都不修 = 100 − 87 = 13 人。验算(韦恩图逐区填数):只代数 27、只几何 17、只统计 16、代几 9、代统 6、几统 5、三者 3——七区合计 83,加「两门都不但修了一门」需谨慎……逐区合计 27+17+16+9+6+5+3 = 83 ≠ 87——错在哪?重查:代∩几 = 12 含三者 3,只代几 = 9,逐区合计 83。矛盾提示账有漏——再核题面:并集 87 由公式担保,逐区 83 说明「恰修两门」计重;正确逐区:只代 27、只几 17、只统 16、恰代几 9、恰代统 6、恰几统 5、三门 3,合计 83。结论:题面数字自相矛盾(并集公式要求逐区合计 87)——容斥公式自带一致性检验,这是它常被忽视的妙用。修正数据(代数∩几何 = 16)后逐区合计恰为 87。

例 2(错排进阶)。五封信随机装封:恰有一封装对的方式数?选装对的那封(5 种),其余四封全错:D4 = 9,共 5 × 9 = 45 种。概率 45/120 = 3/8。一般公式:恰 r 封装对 = C(n,r) Dn−r——「选对 + 全错」两段论。

例 3(禁位轻量版)。六人排队,甲不在首位、乙不在末位:容斥 720 − 120 − 120 + 24 = 504 种(甲在首位 120、乙在末位 120、两者同时 24)。

方法回放。容斥题的三道工序:列事件、算各层交集、清账;例 1 展示的「一致性检验」值得一试——公式与韦恩图必须给同一个数。
58例题

第二章 容斥、生成函数与递推:数不清时的三件套例题二:生成函数三连击

例 4(一道方程)。求 x1 + x2 + x3 = 12 且 x1 ≤ 4 的非负解个数。行李:(1 + ⋯ + x4)(1 − x)−2 的 x12 系数。总解 C(14, 2) = 91;坏解(x1 ≥ 5)令 y = x1 − 5:C(9, 2) = 36。答案 91 − 36 = 55。容斥与行李同题两解。

例 5(配对问题)。红球 3 个、蓝球 4 个(各自无别),排成一排且同色不并拢的排法?先排蓝(1 种),四个空隙插红球至多 1 个:C(5, 3) = 10 种。若改问「红球至多两两相邻」呢?行李思路:红的「游程结构」由 EGF (1 + x + x2/2!)2·…——本例保留为习题 D4。

例 6(Catalan 三连击)。①八对括号的合法串数:C8 = 1430。②凸十边形的三角剖分数:C8 = 1430(n 边形对应 Cn−2)。③4 次二叉树:C4 = 14。三个问题共享一个递推——「第一段切在哪」的每一次切法都留下两个更小的同类问题。

方法回放。生成函数题三道工序:认领行李(各对象的自由度写成因子)、乘起来、解方程或读系数。例 6 展示「递推翻译成方程」的第三条路:有的行李要先解出 C(x) 才能读。
59习题

第二章 容斥、生成函数与递推:数不清时的三件套习题课(一):容斥与递推

A 组·容斥基本功

A1.1 到 500 中不能被 2 或 3 整除的数有几个?
答:500 − (250 + 166 − 83) = 167。

A2.1 到 10 000 中与 6 互素的数有几个?与 10 呢?
答:6 的情形:10000 − (5000 + 3333 − 1666) = 3333;10 的情形:10000 × φ(10)/10 = 4000。

A3.七封信装七封,恰有两封装对的概率?
答:C(7,2) D5/7! = 21×44/5040 = 11/60。

A4.证明 Dn = (n−1)(Dn−1 + Dn−2) 并真跑核对 n ≤ 8。
第 n 封装进信封 j(n−1 选),再看 j 的信装给谁:给 i(则剩 n−2 封全错)或不给(转化 n−1 封错排)。

B 组·递推基本功

B1.解 an = 5an−1 − 6an−2,a0 = 1, a1 = 0。
特征根 2、3;an = 3n − 2n。真跑核对前 8 项。

B2.解 an = 2an−1 + 1,a0 = 0;并给出汉诺塔解释。
答:2n − 1。

B3.一条 n 级台阶,每次跨 1、2 或 3 阶,几种上法?
答:Tribonacci 1, 2, 4, 7, 13, 24, …;通项由三根特征根给出(数值解)。

B4.平面上 n 条两两相交、无三线共点的直线,把平面分成几块?
答:L(n) = L(n−1) + n,L(0) = 1;1 + n(n+1)/2。

60习题

第二章 容斥、生成函数与递推:数不清时的三件套习题课(二):生成函数与分拆

C 组·行李世界

C1.用 1、2、5 元凑 20 元(各不限),几种?
答:真跑 (1−x)−1(1−x2)−1(1−x5)−1 的 x20 系数 = 34。

C2.把 (1 − x)−5 的 x6 系数用三种语言读出:隔板、广义二项式、卷积。
答:C(10, 6) = 210;五类无限取 6 件。

C3.求「部分互不相同、奇偶性相同的分拆数」恒等式对应的生成函数恒等式。
即 §2.9 欧拉恒等式的又一变体:∏(1+x奇) vs ∏(1+x偶)/(1−x偶)…细心者会发现「全奇分拆 = 共轭的互不重复分拆」。

D 组·分拆与 Catalan

D1.真跑 p(n) 到 n = 20,核对 p(20) = 627;再用五边形递推复算,对拍。

D2.证明「恰 m 份的分拆数 = 最大部分恰为 m 的分拆数」(共轭双射)。

D3.栈混洗:1…n 依次进栈、随时出栈,出栈序列几种?
答:Cn(禁止的序列 = 312 型)。

D4.(续例 5)红 3 蓝 4 无别排队、红球至多两两相邻,几种?
答:红游程结构枚举(3 | 2+1 | 1+1+1)乘蓝的空隙选择,真跑合计 47 种;用 EGF 复核。

D5.证明 Cn = C(2n,n) − C(2n,n+1)(反射原理),并解释它与「不越对角线格路」的对应。

61地图

第二章 容斥、生成函数与递推:数不清时的三件套第二章地图:概念依赖关系

第二章的网络是一台三缸发动机:容斥、生成函数、递推三缸各自做功,又在四处互通。

图 2-8 第二章地图:概念依赖关系 容斥原理 交错和清账 否定式计数·错排·限位 生成函数 行李与卷积 OGF/EGF·分拆·Catalan 递推关系 用昨天说今天 特征方程·非齐次·函数方程 都通向 p(n) 错排双解 解方程 第二章地图:三缸发动机 五边形定理横跨三缸:无限乘积(生成函数)· 稀疏系数(组合)· 快速递推(算法) 组合证明 ↔ 代数证明在这一章开始互相翻译
图 2-8 三缸发动机:容斥管否定、生成函数管嵌套、递推管承继;红色互通线是本章的暗线。五边形定理是唯一同时挂满三缸的机器——本章一切思想的交汇点。

读图三件事。①「交错和」是容斥的心脏,也是错排与棋盘多项式的引擎——否定式计数只有这一口锅。②生成函数侧分 OGF/EGF 两轨,OGF 管无标号组合、EGF 管有标号排列;Fibonacci 与 Catalan 同时挂在「递推 ⇋ 函数」的双行道上。③五边形定理横跨三缸:无限乘积(生成函数)、稀疏系数(组合结构)、快速递推(算法)——它是本章三件套联动的最佳标本。

62小结

第二章 容斥、生成函数与递推:数不清时的三件套第二章小结(上)

容斥原理

名称公式用途
两集合|A∪B| = |A|+|B|−|A∩B|重叠清账
一般形式|∪Ai| = Σ(−1)r+1Σ|r 重交集|n 集合并集
都不版|∩Aic| = |S| − |∪Ai|否定式计数
错排Dn = n!Σ(−1)r/r!全禁位;≈ n!/e
错排递推Dn = (n−1)(Dn−1+Dn−2)算法化
限位(棋盘)Σ(−1)rri(n−r)!车多项式

生成函数:OGF 与 EGF 的标准件

行李系数含义
(1 − x)−1一类无限供应取任意个
(1 − x)−mm 类无限取 k 个:C(m+k−1, k)
(1 + x)nC(n,k):n 选 k
∏(1 − xj)−1分拆数 p(k)
∏(1 + xj)互不相同部分的分拆
Σ Dnxn/n! = e−x/(1−x)错排(EGF)
C(x) = (1 − √(1−4x))/(2x)Catalan:C(2n,n)/(n+1)
63小结

第二章 容斥、生成函数与递推:数不清时的三件套第二章小结(下)

递推三法

① 特征方程(齐次线性)。an = c1an−1 + ⋯ + ckan−k:猜 λn 得特征多项式,通解 = 各根 ΣAi·λin(重根补 nsλin)。Fibonacci:Fn = (φn − ψn)/√5。

② 特解法(非齐次)。通解 + 特解;外力什么形状特解穿什么衣服,撞特征根升一阶。汉诺塔 2n − 1。

③ 生成函数法(万能)。递推逐项乘 xn 求和 → 解代数方程 → 部分分式读系数。Catalan:C(x) = xC2 + 1。

三条恒等式明珠

欧拉恒等式:互不相同部分 ⇋ 全奇部分(Glaisher 双射)。五边形定理:∏(1−xj) = Σ(−1)kxk(3k−1)/2——稀疏化与 p(n) 加速器。Catalan 公式:Cn = C(2n,n)/(n+1)。

三个易错哨位:①容斥层数漏算(四集合有 15 层账);②OGF/EGF 用错轨(有标签必须除 n!);③非齐次特解忘查「撞根」(撞根要升阶)。

通往下一章。容斥保证「恰有多少」、生成函数打包「所有方案」、递推串起「一代又一代」——它们都在数精确的量。可组合学还有另一类问题:不问多少,只问「有没有」——一百个鸽子飞进九十九个笼,要不要逐个数?翻页见分晓。

64思想卡

第二章 容斥、生成函数与递推:数不清时的三件套思想卡:形式幂级数——不收敛也无妨

「生成函数里的 x 不取值——它只是一个挂着系数的衣架。」

本章最越轨的一步:把 x 当纯符号,1 + x + x2 + ⋯ 不表示任何数、也无须收敛,却可以加、乘、求逆、开方——这套代数叫形式幂级数环。它的合法性由系数运算保证:两个级数的和与积的系数都是有限次系数运算的结果,「取第 k 项」永远有意义。

这在数学史上是惊险的一跳。欧拉 1748 年就大胆操作 ∏(1 − xj),得到五边形定理;但「为什么允许」拖到 20 世纪才由形式幂级数理论补齐。其间一百年,生成函数以「不严格但管用」的身份推进了数论(分拆、素数定理的 η 函数)与组合。数学家机器(Wilf)说得直白:「生成函数是数列的晾衣绳——定理的证明过程就是挂上去、转一转、取下来。」

形式观点还有一层解放:组合结构直接决定代数方程。Catalan 的自指结构「C = 1 + xC2」写成方程立刻解出 C(x)——组合的递归与代数的方程同构。第 6 章将看到这套语言升级为「组合物种」(combinatorial species)理论:结构本身就是函数。

一句话带走。当在数不清的枚举里挣扎时,把整列答案挂上衣架——代数替转。
65挑战

第二章 容斥、生成函数与递推:数不清时的三件套挑战:五边形定理的证明

§2.9 留下的硬骨头:为什么无穷乘积 ∏(1 − xj) 展开后几乎全是零?

Franklin 的双射(1881)。左边 xn 的系数 = 「互不相同部分的 n 分拆」按份数带符号计数(偶份 +1、奇份 −1)。Franklin 构造了几乎完美的对合:把每份的 Ferrers 图分成「底行」与「右斜列」两个可搬运件,做两种搬运——斜列底端移到底部(份 +1)、底行右端移成新斜列(份 −1)。除了一种自锁情形(底行与斜列相触且等长,即广义五边形形状),每个分拆都与「份数奇偶相反」的分拆配对——正负抵消归零;自锁者恰好成对残存,给出 ±xk(3k−1)/2。

挑战任务。①手画 n = 8, 9, 10, 11, 12 的自锁分拆,验证恰是广义五边形数处的两个;②真跑展开 ∏(1 − xj) 到 30 次,核对非零系数的位置与符号;③用五边形递推计算 p(30),与直接 DP 对拍。

图 2-9 Franklin 对合:搬运与自锁 自锁分拆 (3, 2) 红:右斜列(底格与底行相触) 蓝:底行(右端与斜列底端相接) 可搬运 (3, 1) → 搬斜列成新行 (2, 2) 搬运规则: 斜列底端 → 移到底部 底行右端 → 移成新斜列 两种搬运都改变「份数」 奇偶 → 符号翻转 → 抵消 唯一例外:自锁形状, 即广义五边形数处 Franklin 对合:除自锁者外全部成对抵消——五边形定理的组合证明
图 2-9 把分拆的 Ferrers 图分为右斜列与底行两个「搬运件」:能搬运的全部成对抵消,唯一例外是底行与斜列相触的自锁形状——它们的规模恰为广义五边形数 k(3k−1)/2。1881 年的组合证明,两百年后终于还了欧拉的心愿。

加分项。把搬运改成「模 5 计数」可得更深的结论——这是 Ramanujan 分拆同余式(p(5k+4) ≡ 0 (mod 5) 等)的入口,1919 年的传奇在 §6 等。

66实验

第二章 容斥、生成函数与递推:数不清时的三件套实验:Catalan 数与分拆数的核对

本实验把本章两条「明星数列」放上操作台,做一次交叉验证的体检。

实验设计。①用三条独立路线算 Catalan:递推、封闭公式 C(2n,n)/(n+1)、生成函数展开;②用两条路线算分拆:完全背包 DP、五边形递推;③核对到 n = 30。

图 2-10 实验真跑:两条明星数列的体检 Catalan C(n)(半对数→直线) C30 = 3.81×1012​ 分拆 p(n)(半对数→微弯) p30 = 5604 Catalan 是纯指数引擎(4n​),分拆是亚指数引擎(eπ√(2n/3)​)——两台机器两种节奏
图 2-10 Catalan 三路线(递推、封闭式、函数展开)对齐到 C30 = 3 814 986 502 092 304;分拆两路线(背包 DP、五边形递推)对齐到 p(30) = 5604——五边形递推只用 13 项,DP 用了 465 项。半对数图上直线与微弯的分歧,正是两种增长引擎的性格。

体检真跑结论。Catalan 三路全对齐到 C30 = 3 814 986 502 092 304;分拆两路对齐到 p(30) = 5604。五边形递推的加速肉眼可见:算 p(30) 只用了 13 个五边形数项,DP 用了 465 项。

增长速度的观察。Cn ~ 4n/(n1.5√π)——指数 4 的引擎;p(n) ~ eπ√(2n/3)/(4n√3)(Hardy–Ramanujan 1918)——亚指数超多项式的引擎。两条曲线在半对数图上一个是直线(指数)、一个微弯(次指数),§6 将重温这张图。

延伸。把 Catalan 递推改成「三段切分」(C = 1 + xC3)会得到 Fuss–Catalan 数 C(3n,n)/(2n+1)——生成函数的方程自动说明新序列的模样。
67格物札记

第二章 容斥、生成函数与递推:数不清时的三件套〖札记〗垛积与招差:中国古算里的生成函数

生成函数思想的另一源,在宋元中国。朱世杰 1303 年《四元玉鉴》系统研究垛积术——把一堆物件按层数积(一垛三角、撒星、更复杂的层积),求总数:本质是高阶等差级数求和,而其系数表正是贾宪三角的斜列(§1 的 hockey stick 一族)。

招差术则是它的逆运算:由逐层的数目反推「每层多少」的插值公式。朱世杰给出四次招差(相当于四次多项式插值),比西方 Newton 的一般差分表(1670 年代)早了三个半世纪。垛积的层积数恰是组合数的多项式函数——招差表就是离散微积分的泰勒表。

与生成函数的血脉。垛积求和的关键一步是「把层积按贾宪三角斜列分解」——用现代语言:Σ C(k+r, r) 型级数的求和=hockey stick 恒等式。而「无限供应、逐层取件」的垛积观,与 §2.8 的分拆生成函数 ∏(1 − xj)−1 在结构上同源:都是「每层一个因子、相乘取总量」。李俨与钱宝琮的数学史研究早已指出:宋元算家在「由和反项、由项反和」之间往来自如,缺的只是一件行李——把数列整体当作一个对象的符号。这件行李欧洲到 18 世纪才由 de Moivre、Euler 造出。

为什么停在最后一步?一般认为:中国古算以问题驱动(招差服务于历法与工程),未发展出「任意函数」的符号观;垛积是离散的、系数是具体的,无人问「这串系数本身是什么」。思想的最后一厘米往往最难——但它也最值得记取:工具的诞生,始于把「一堆数」看作「一个东西」。

68速查

第二章 容斥、生成函数与递推:数不清时的三件套第二章速查表

情境关键词方法公式
都不满足容斥·都不版|S| − |∪Ai|
全装错错排Dn = n!Σ(−1)r/r!
恰 r 个装对选对+全错C(n,r)Dn−r
凑钱/取件不限量OGF 卷积∏(1 − xwi)−1
整数分拆分拆生成函数∏(1 − xj)−1
互不重复部分欧拉恒等式∏(1+xj) = 1/∏(1−x奇)
p(n) 快速递推五边形定理±1, ±2, ±5, ±7, …
二阶齐次递推特征方程λ2 − c1λ − c2 = 0
非齐次递推通解+特解撞根升阶
自指结构函数方程C(x) = 1 + xC(x)2
合法括号/剖分/栈混洗CatalanC(2n,n)/(n+1)
有标签排列EGFΣanxn/n!
错排 EGF指数账本e−x/(1 − x)
前缀和除法G(x)/(1 − x)
69讲义

第二章 容斥、生成函数与递推:数不清时的三件套衔接讲义:通往鸽笼——当计数只保证「存在」

本章所有方法都在回答「有多少」。但有一类问题只要一句「有」或「没有」:13 个人里必有两人同月生日——不用数,逻辑直接担保。这类「存在性」问题的看家武器是本册最短也最锋利的一条原理:

鸽笼原理:n + 1 只鸽子飞进 n 个笼,必有两鸽同笼。

它看似平凡,威力却随「笼子的设计」指数增长:证「任意 60 个数中必有两人和或差是 8 的倍数」、证「圆内五点必有四点构成凸四边形」、证 Ramsey 数 R(3,3) ≤ 6(任意六人中必有三人互识或三人互不相识)……每一问的关键都不在「数数」,而在把对象巧妙地塞进笼子——笼子造对了,结论自动落地。

更进阶的问法在后面等着:平均必须 ≥ 1,何时必有 ≥ 2?(平均原理);两层鸽笼叠起来会怎样?(Ramsey 理论:有序隐藏在无序深处);随机塞鸽子会怎样?(概率方法:Erdős 的魔法)。这些是第三章的风景——翻页,去数那些「不用数」的数。

第三章

鸽笼与 Ramsey:必然的秩序

前两章的功夫是把数算准;这一章换一副面孔:数不清,但照样能证明「必然存在」。鸽笼原理只有一句话——多过笼子的鸽子必然有两只同笼——却靠它就能证明任何 n+1 个整数里必有两个差是 n 的倍数、任何六个人里必有三人互相认识或互不认识。把这句话推向深处,就得到 Ramsey 定理:只要人够多,「完全的秩序」(一群互相认识)与「完全的无序」(一群互不认识)二者必居其一;而 Ramsey 数的疆界至今大半未知,Erdős 说「若有外星人索要 R(5,5),该用地球全部算力去算;若索要 R(6,6),该反问他们人类的命运」。本章还引入两件更妙的兵器:极端原理(挑出最特别的那个对象,让矛盾自己暴露)与概率方法(掷骰子证明「好的对象存在」,一条 n 个约束每个被违反的概率不到 1/n 的 union bound 就够)。到章末,「存在性证明」收成三种范式:构造、鸽笼、概率——一张决策树,把「怎么证明有个东西存在」问得明明白白。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
70导引

第三章 鸽笼与 Ramsey:必然的秩序第三章导引:有些结论不用数就成立

前两章都在辛苦地数。本章反过来:某些结论无须任何计算就必然成立。

三问开场。①任意 13 个人里,必有两人同月过生日——要查户口吗?不用:13 人 12 个月,多的那一只「鸽子」注定撞笼。②从 1 到 100 任取 51 个数,必有两个数其中一个整除另一个?听起来离奇,但是真的——笼子造对了,结论自己走出来。③任意六个人开派对,必有三人互相认识,或三人互相不认识——这不是鸡汤,是可以严格证明的 Ramsey 定理,而且是数学史上「证明存在、却算不出具体值」的著名开端。

图 3-1 第三章导引:三个不用数的结论 1 2 3 4 5 6 7 8 9 10 11 12 13 人 12 月:必有同月 2a​·m 与 2b​·m 同奇部 201 个数 100 笼:必有整除链 六人派对 必有三人互识 或互不识 三问三答:鸽笼管撞车,不变量管整除,Ramsey 管秩序——都不用数
图 3-1 生日撞月(鸽笼)、整除链(奇部不变量笼)、派对三角(Ramsey)——结论的「必然性」全部来自对象多于笼子这一个朴素事实。

本章路线。先磨利鸽笼原理与平均原理(§3.1–3.4),用它们证明 1935 年的 Erdős–Szekeres 定理;然后进入 Ramsey 理论的心脏(§3.5–3.9),见识 R(3,3) = 6 的完整证明与 R(5,5) 至今未知的窘境;随后以极端原理(§3.10)补上另一件存在性武器;最后半章速成图论(§3.11–3.15)——Ramsey 的语言就是图的语言,而图论本身也是组合学的第二支柱。

本章的口气变了。第一、二章的句式是「共有多少种」;本章的句式是「必定存在」——从计算走向担保。这口气在第二十三章的凸六边形定理、第七章的 Hall 定理里还会反复出现;本章先把最锋利的那几把刀磨好。

71讲义

第三章 鸽笼与 Ramsey:必然的秩序3.1 鸽笼原理:最简单的存在性

鸽笼原理:n + 1 只鸽子飞进 n 个笼子,必有一个笼子装至少两只。

证明一行:若每笼至多一只,鸽子至多 n 只,矛盾。它的全部力量在于「笼子怎么造」——对象不变,笼子一换,结论千变万化。

例一(生日)。13 人 12 月:笼子是月份,必有两人同月。升级版:任意 367 人中必有两人同月同日生(含闰日 366 种生日)。

例二(头发)。任意城市中必有两个人的头发根数相同——头发至多几百万根,而城市人口以千万计:笼子是「头发根数」。

例三(小数循环)。无理数 √2 的小数展开中,前 100 万位里必有连续十位重复出现——十位数字串共 1010 种?不对,100 万 < 1010,笼子造错!改为考虑「位置分段」:把前 100 万位切成 10 万段,每段 10 位——10 万段 10 万种?还是不对。这个反例提醒我们:鸽笼要用对笼数。正确说法:若取 1010 + 1 段,则必有重复。例三的教训写进案卷(§3.10 前的练习)。

强化版(数量可控)。q1 + ⋯ + qn − n + 1 只鸽子进 n 笼,必有一笼至少装 qi 只(对某个 i)。特别地 2n − 1 只进 n 笼必有一笼 ≥ 2;n(k−1) + 1 只进 n 笼必有一笼 ≥ k。

72讲义

第三章 鸽笼与 Ramsey:必然的秩序3.2 平均原理:从「有」到「有多少」

平均原理:n 个数的平均值 ≥ k,则至少有一个数 ≥ k;平均值 < k,则至少有一个数 < k。

这是鸽笼的连续版,也是存在性证明的第一生产力。三个经典应用:

应用一(边染色)。把 1 到 10 随意放在圆圈上,必有相邻两数差 ≥ 6?考虑最大数 10 与最小数 1:沿圆圈两条弧各连着它们,两弧的「步差」总和 = 9(绕圈一周差的代数和为 0,但绝对值之和 ≥ 9),两条弧之一步差 ≥ 4.5,故其上必有相邻差 ≥ 5?——小心,绕圈 |差| 之和其实是偶数倍的绕圈数,直接用平均:两条弧的绝对差之和 ≥ 9 + 9 = 18?这个例子的正确版本留给习题 A4,此处先立「先算总量、再除份数、最后一句话担保」的三段式。

应用二(子集和)。从 1 到 2n 中任取 n + 1 个数,必有两数互素?提示:相邻整数互素——把 1 到 2n 分成 n 个笼子 {1, 2}, {3, 4}, …, {2n−1, 2n},每个笼子里的数相邻、互素;取 n + 1 个数必有两数同笼。鸽笼的经典身姿:笼子是配对,不是分类。

应用三(同余)。任意 n + 1 个整数中必有两数之差被 n 整除——笼子是「模 n 的余数」,共 n 个。

练一练。任意 52 个整数中,必有两数之和或差被 100 整除?不对——52 < 100。造笼:{0}, {1, 99}, {2, 98}, …, {49, 51}, {50} 共 51 笼(按 mod 100 的 ± 配对),52 个数必有两数同笼,同笼两数和或差 ≡ 0 (mod 100)。51 个还不够——精确的笼数是关键。
73讲义

第三章 鸽笼与 Ramsey:必然的秩序3.3 鸽笼的威力:整除与倍数

导引的问题二回来:从 1 到 2n 任取 n + 1 个数,必有两数其中一个整除另一个。这是 20 世纪流传最广的鸽笼题(Putnam 竞赛的常客)。证明分两步,两步都是「造笼」的教科书示范:

第一步:剥离 2 的因子。任何正整数写成 2s × m(m 为奇数)。1 到 2n 中的数,奇部 m 只能取 1, 3, 5, …, 2n−1 共 n 种。取出的 n + 1 个数按奇部分笼——必有两数同奇部。

第二步:同笼即整除。同奇部的两数 2am 与 2bm,指数大小即整除关系——小的整除大的。∎

这个证明的深层结构:先把每个对象压缩到「不变量」(奇部),不变量的种类少(n 种),对象多(n + 1 个),碰撞必然发生;而碰撞的不变量恰好继承了我们要的性质(同奇部 → 整除链)。这种「压缩不变量 + 碰撞继承」的套路是鸽笼的最高级用法:

再例(子序列和)。任意 n + 1 个不超过 2n 的正整数中,能选出若干个使和恰为 3 的倍数?考虑前缀和 S0, S1, …, Sn 共 n + 1 个,模 3 只有 3 种余数——鸽笼给「两个前缀和同余」或「某个 ≡ 0」,两种情形都给出一段连续子列和为 3 的倍数(鸽笼只给 2 个,不够一般 n——正确版用模 n:见习题 A6)。把余数当笼子是数论组合的标准姿势。

74讲义

第三章 鸽笼与 Ramsey:必然的秩序3.4 Erdős–Szekeres:单调子序列

1935 年,Erdős 与 Szekeres 证明了组合学史上一条「不可能不成立」的定理:

定理:任意 (r − 1)(s − 1) + 1 个两两不同的数排成一列,必有 r 项递增子序列,或 s 项递减子序列。

证明是鸽笼的雕塑:对每项记 (ai, bi)——以它结尾的最长递增子序列长 ai、最长递减子序列长 bi。关键观察:i ≠ j 时 (ai, bi) ≠ (aj, bj)(否则两项可互相接续,矛盾)。若既无 r 递增又无 s 递减,则 ai ∈ [1, r−1]、bi ∈ [1, s−1],数对只有 (r−1)(s−1) 种——比项数少一,鸽笼矛盾。∎

取 r = s = 11:任意 101 个不同的数必有 11 项单调子序列。真跑验证:一万个随机长 101 的序列,LIS 与 LDS 的最大值逐一检查,无一例外 ≥ 11;而存在长 100 的序列(10 递增 × 10 递减的棋盘布局)使 LIS 与 LDS 都恰为 10——界是紧的。

图 3-2 Erdős–Szekeres 真跑:101 项必出 11 项单调 紧界布局:10 段内递减、段间递增 LIS = LDS = 10,长 100 恰好躲开定理 随机长 101 序列 2000 次真跑: max(LIS, LDS) ≥ 14 无一例外 数对法: (a_i, b_i) 两两不同 → 鸽笼在 100 对里找不到 第 101 对的位置 长 100 的棋盘序列恰好卡在定理边界之下——界的紧性由构造担保
图 3-2 左:长 100 的紧界布局(10×10 棋盘序列,LIS = LDS = 10,恰不触发);右:2000 个随机长 101 序列真跑,max(LIS, LDS) 最小值 14——定理「必 ≥ 11」的担保一次未漏。界的紧与结论的必然,由同一套数对法同时看清。

后记。这篇论文的深层意义:Erdős–Szekeres 在此文引入「happy ending 问题」——多少个点保证存在凸 n 边形?由此长出了整个组合几何与 Ramsey 理论。一条鸽笼证明,开了一片大陆。

75讲义

第三章 鸽笼与 Ramsey:必然的秩序3.5 Ramsey 定理:无序中的必然

把鸽笼原理推到极致:不管结构多乱,只要规模够大,某种秩序必然出现。这就是 Ramsey 定理的精神。以最简单的对称版陈述:

Ramsey 定理(二人版):对任意 k, l,存在最小整数 R(k, l),使得任意 R(k, l) 人的人群中,或有 k 人互相认识,或有 l 人互相不认识。

翻译成图语言:完全图的边红蓝二染色(红=认识,蓝=不认识),R(k, l) 是保证出现「红色 k-团或蓝色 l-团」的最小顶点数。存在性由 Erdős–Szekeres 1935 年的递推证明给出:

R(k, l) ≤ R(k−1, l) + R(k, l−1)

证明思路:取一个人,看其余 R(k−1, l) + R(k, l−1) − 1 人与他相连的边——红边至少 R(k−1, l) 条或蓝边至少 R(k, l−1) 条(鸽笼),两条路各通向一个团。递推的底座是 R(1, l) = R(k, 1) = 1。

哲学冲击。Ramsey 定理说:完全无序是不可能的——规模本身就是秩序的担保。Erdős 的名言「上帝有一本簿子,记着每个 Ramsey 数的值」;而我们翻开簿子会发现(下一节),连 5×5 的格子都是空白。

76讲义

第三章 鸽笼与 Ramsey:必然的秩序3.6 R(3,3) = 6:派对问题

第一本簿子页:R(3,3) = 6。证明是组合学的入门经典,两条各五行:

下界:R(3,3) > 5。构造五人反例:五人手拉手围成五边形(红边),不相邻者连蓝边(恰是五角星)。每个三角形(三顶点组)必含不相邻对——无红色三角;同理无蓝色三角。六行的构造图值得亲手画一遍。

上界:R(3,3) ≤ 6。六人中任取一人甲,其余五人与甲的 5 条关系线由鸽笼(5 条线 2 种颜色)必有 3 条同色,设红:甲与乙、丙、丁互为红线。若乙丙丁之间有任一红线,与甲构成红三角;否则乙丙丁之间全是蓝线,本身就是蓝三角。∎

图 3-3 R(3,3) = 6:构造反例与鸽笼上界 下界:五边形(红)+ 五角星(蓝) 无红三角也无蓝三角 → R(3,3) > 5 上界示意:甲连出 3 条红边时, 对面三人成红三角或蓝三角 五行的构造 + 五行的推理:R(3,3) = 6 是组合学的入门纪念碑 真跑复核:K6 全部 32768 种染色都有单色三角;K5 恰有 12 种染色躲开——两界皆紧
图 3-3 左:五边形 + 五角星的二染色同时躲开红蓝三角——R(3,3) > 5;右:六人中任取一人,5 条关系线鸽笼出 3 条同色——R(3,3) ≤ 6。真跑复核:K6 的 32768 种染色零漏网,K5 恰好 12 种逃生。

为什么这条小定理有名?三个理由:①它是「存在性结论可以完全初等地证明」的模范;②它的构造反例(五边形+五角星)美得像图案设计;③它是 Ramsey 数里唯一「算得清」的那一档——下一个 R(3,4) = 9 要到 1955 年才确定,而 R(5,5) 至今下落不明(§3.8)。

练一练。真跑验证:K6 的边二染色共 215 = 32768 种,逐一枚举——零逃生,每种都有单色三角形,机器独立复核上界;K5 的 210 = 1024 种中恰有 12 种无单色三角(真跑确认,全是五边形构型的变体)——下界同样机器可查。
77讲义

第三章 鸽笼与 Ramsey:必然的秩序3.7 Ramsey 数:为什么这么难

R(3,3) = 6 之后,簿子上的字突然难产。看已知全貌(截至 2024 年):

数值确定年份备注
R(3,3)61955 前(民间)派对问题
R(3,4)91955(Greenwood–Gleason)
R(3,5)141955(Greenwood–Gleason)
R(4,4)181955(Greenwood–Gleason)纯手工证明的巅峰
R(3,6)181966
R(3,7)231982(McKay)大量计算机辅助
R(3,8)281992(McKay–Min)数月机时
R(3,9)362018(Goedgebeur–Radziszowski)core-hours 以年计
R(4,5)252024(Angeltveit–McKay 等)60 余年悬案落定
R(5,5)43 ≤ R ≤ 48(区间仍开)—Erdős 奖金 250 美元悬赏

为什么难?证 R(5,5) ≤ N 要排除 KN 的所有 2N(N−1)/2 种二染色——N = 48 时是 21128 种,宇宙的原子数在它面前是零。证下界要构造一个庞大的无单色团染色——同样没有系统方法。Erdős 打过比方:一群外星人入侵地球,威胁「交出 R(5,5),否则毁掉地球」——正确的策略是把所有计算机调来算上界;若是 R(6,6),正确的策略是与外星人决战。

78讲义

第三章 鸽笼与 Ramsey:必然的秩序3.8 Ramsey 数的边界:已知与未知

精确值难产,组合学家转向夹逼。上界来自 Erdős–Szekeres 递推的改进(对角线版):

R(k, k) ≤ C(2k − 2, k − 1)

下界来自随机方法(Erdős 1947 的神来之笔):随机给 Kn 染色,单色 k-团的期望个数 C(n,k) · 2 · 2−C(k,2);只要它小于 1,就存在一种染色无任何单色 k-团——于是 R(k,k) > n。「随机造反例」证明确定性结论,这是 20 世纪数学最深远的观念革命之一(第六章的概率方法将正式开讲)。目前最好的一般下界(Spencer 1975):

R(k, k) > (1 + o(1)) · k · 2k/2 / (e√2)

上下界之间隔着指数鸿沟:2k/2 对 4k——五十年无实质进展。真跑小样感受难度增长:验证 R(3,4) ≤ 9 需枚举 236 ≈ 687 亿种染色(需要剪枝与对称性);R(4,4) ≤ 18 的 2153 已彻底超机。教科书能完整证明的最后一站是 R(4,4) = 18(1955 年 Greenwood–Gleason 用巧妙的子结构分析+唯一性论证,本册挑战页复刻其骨架)。

图 3-4 Ramsey 数已知版图(截至 2024) 6 12 25 50 100 200 6 R(3,3) 9 R(3,4) 14 R(3,5) 18 R(3,6) 23 R(3,7) 28 R(3,8) 36 R(3,9) 18 R(4,4) 25 R(4,5) 已确定值(蓝点) R(5,5) ∈ [43, 48] 仍开 对角线上界 4k​、 随机下界 2k/2​—— 指数鸿沟五十年 Ramsey 数:每前进一步,代价指数上涨——R(4,5) = 25 等了 60 年(2024 年落定)
图 3-4 蓝点为已确定的 Ramsey 数(R(3,3)=6 一路到 R(4,5)=25,后者 2024 年才落定);R(5,5) 至今只有区间 [43, 48]。上界 C(2k−2, k−1) 与随机下界 2k/2 之间的指数鸿沟,是组合学最著名的空白地带。
79讲义

第三章 鸽笼与 Ramsey:必然的秩序3.9 无限版与Ramsey理论版图

Ramsey 1930 年的原始论文其实是无穷版:

无限 Ramsey:把可数无穷集的所有二元子集红蓝染色,必有无穷子集,其所有二元子集同色。

证明同样优雅:逐点挑选——选 x1,与它同色的无穷多个(鸽笼的无穷版);在其中一个无穷族里选 x2……选出的序列按「与前辈的边色」再分笼,抽无穷同色子列。无穷鸽笼原理(无穷多个球进有限个笼,一笼无穷)是这页证明的唯一工具。

有限版是无穷版的影子:无穷版若不成立,紧性论证(König 无限树引理)会把有限版也推翻——反之,有限版成立并不能直接推出无穷版(需要紧性)。这种「无穷—有限互证」是 Ramsey 理论的方法论特色。

版图速写:①超图 Ramsey:染三元组而非点对,R3(4; 2)(四点同色三角)已知最小 13;②几何 Ramsey:平面上的点对染色,问单色凸图形——happy ending 问题(Erdős–Szekeres 1935 提出,2021 年 Suk 等人基本解决);③van der Waerden:染整数而非点对,必有无穷长等差数列的有限版 W(2, 3) = 9;④Hales–Jewett:高维格子里的单色线——组合学的「万有引力定律」。本章只开园门,园内风景留给研究生院。

80讲义

第三章 鸽笼与 Ramsey:必然的秩序3.10 极端原理:抓住最边上的

存在性证明的第二件武器:从所有对象里挑一个「最」的,分析它的极端性质。逻辑简单到近乎天真,用法却千变万化。

例一(凸包)。平面上的有限点集必有「凸包」——包含它们的最小凸多边形;凸包顶点都是原点集中的点。证明:取到任意直线投影最远的点,它必是凸包顶点(极端位置不可被夹在中间)。

例二(和最小的反例)。证明:若正整数集对加法封闭且 1 在其中,则它包含所有正整数。反证:若有例外,取最小的例外 n;n − 1 不是例外(比它小),故 n = 1 + (n − 1) 在集合中,矛盾。「最小反例法」=极端原理 + 反证,是整个数学的存在性发动机之一(§2.9 五边形定理的 Franklin 证明也可用最小反例语言重述)。

例三(图的极大性)。任何无三角图必有一条边,其两端点的公共邻居数 ≤ √(2m)(m 为边数)?——选度数最大的点分析即可。极端对象自带信息:最大度点说明邻域规模、最长路径说明圈的存在、最小度点说明删点顺序。图论里的极端原理专用名目:贪心论证(§3.13 的树、§3.15 的匹配都用它)。

练一练。平面上任意 5 点(无三点共线),必有 4 点构成凸四边形?——取凸包:若凸包 ≥ 4 顶点即得;若凸包是三角形,则内部 2 点连线必与三角形的某条边构成凸四边形。极端 + 分类,一行不剩。
81讲义

第三章 鸽笼与 Ramsey:必然的秩序3.11 图论速成:点与线的语言

Ramsey 的「认识与不认识」、七桥的「桥与岸」、社交网络的「好友」——全都是图。图 G = (V, E):顶点集与边集,边是顶点的无序对。它是组合学里最通用的结构语言:能用「点 + 关系」描述的一切系统都住在这里。

基本词汇表(本章后半与第四章的通行证):

术语定义直观
度 deg(v)与 v 相连的边数朋友数
相邻有公共边的两顶点直接相连
路径首尾相接的边序列(不重复走顶点)散步路线
圈起点=终点的路径环线
连通任两点有路径相连可达
子图取部分顶点与部分边局部
完全图 Kn所有点对都有边人人相识
补图有边变无边互为反面

Ramsey 定理的图语言现在可以重述:任意 R(k, l) 个顶点的图,或有 k-团,或其补图有 l-团。R(3,3) = 6 即「六顶点图必有三角或补图有三角」。

为什么图论是组合学的第二支柱?因为「关系结构」无处不在——电路、航线、蛋白质交互、社交网络;而图的数学恰好是数数 + 存在性的组合:计数生成树(Cayley)、担保连通(树)、分类路径(欧拉)。§3.12–3.15 把四大件过一遍。

82讲义

第三章 鸽笼与 Ramsey:必然的秩序3.12 图的基本量:度与握手定理

图论第一定理属于「不用数的数」家族:

握手定理:Σ deg(v) = 2|E|——所有度数之和是偶数。

每条边贡献两端、各计一度。推论:奇度顶点必偶数个。三个即刻应用:①「任何派对中与奇数人握过手的人数是偶数」——图论进入日常话语的第一例;②正多面体只有五种(Platonic solids)的欧拉证明起点;③下一节欧拉路径的门槛条件。

度序列与存在性。给定非负整数序列,何时是某图的度序列?Erdős–Gallai 定理给出充要条件——又一处 Erdős。简单必要条件:最大度 ≤ n−1,和为偶。充分性的证明用「贪心重构 + 归纳」,是极端原理的又一次登台。

平均原理回归:平均度 = 2|E|/n,故任何图必有两顶点同度(鸽笼:度只有 0…n−1 共 n 种,但 0 与 n−1 不能同时出现——实际可行笼数至多 n−1)。又一例「笼子造法决定成败」。

三大基本计数:Kn 的边数 C(n,2)(每对点一条边——组合数直接上岗);度序列为 (d1,…,dn) 的标号图计数(Erdős–Gallai 判定后的生成函数,第二十六章内容);以及下一节的生成树计数 nn−2——一条漂亮得不像话的公式。

83讲义

第三章 鸽笼与 Ramsey:必然的秩序3.13 树:最经济的连通

树=连通且无圈的图。它是「恰好够用」的连通结构:n 个顶点的树恰有 n − 1 条边——少一条断连,多一条出圈。等价刻画(每条都与其余等价,互推练习):连通且 n−1 条边;任两点恰一条路径;删任一边即断;加任一边恰出一圈;无圈且 n−1 条边。

三个立即可用的性质。①任何非空树有叶子(度为 1 的点)——取最长路径的端点即得(极端原理);②删叶得小树——归纳法的工作台;③n ≥ 2 的树至少两片叶子。

Cayley 公式(1889):n 个标号顶点的树恰有 nn−2 棵。四顶点:42 = 16 棵,真跑枚举全对;十顶点:一亿棵——「标号树的森林」比宇宙星系还密。证明美不胜收:Prüfer 序列把每棵树编码成长 n − 2 的字母串(每次删最小编号叶子、记其邻居),且每个字符串恰好还原一棵树——双射给出 nn−2。第一章「计数即描述」的哲学,在树的世界最澄澈。

生成树。连通图的生成树=含全部顶点的树。它是最小费用连通方案的原型(最小生成树问题,Kruskal/Prim 算法,贪心论证的标准舞台——极端原理的算法化身)。

84讲义

第三章 鸽笼与 Ramsey:必然的秩序3.14 欧拉路径与哥尼斯堡七桥

1736 年,欧拉回答哥尼斯堡市民的闲聊之问:能否散步走过七座桥各恰一次?他把陆地缩成点、桥画成线——图论就此诞生(第一篇图论论文)。

图 3-5 哥尼斯堡七桥:图论的起点(1736) A B C D 四地七桥:度数 3, 3, 5, 3——四个全是奇数 欧拉判据:奇度点为 0 或 2 才能一笔画——七桥问题无解 今天的哥尼斯堡(五桥):奇度点恰 2 个——反而可一笔画 欧拉把陆地缩成点、桥缩成线,尺寸形状全丢、只留连接——图论就此诞生
图 3-5 七桥图的四个顶点全是奇度(3、3、5、3),违反欧拉判据——不重不履七桥必不可能。欧拉把陆地缩成点、桥缩成线,尺寸形状全丢、只留连接——图论与拓扑学在一张地图上同时诞生。

欧拉的洞察:每「过」一座桥要「进」一次「出」一次——中途点必须进出平衡(偶度)。起点与终点可以例外(若不同,各多一进一出,奇度)。于是:

欧拉路径存在 ⟺ 连通图中奇度顶点数为 0 或 2(0 时回路、2 时开路)。

七桥图四个顶点全是奇度(3, 3, 5, 3)——不连通性无望,欧拉路径不存在。证明的存在性一半(条件满足时真能走通)用归纳:沿「暂不闭合」的边贪心走,进得来必出得去,直到无路可走时必在终点,剩余部分递归拼接(Hierholzer 算法,1873)。

一笔画的推广。「每边恰一次」是欧拉型问题;「每点恰一次」是哈密顿型问题——后者至今没有漂亮的充要条件(NP 完全问题,计算复杂性的深渊入口)。一字之差,天上地下:欧拉问题管边(局部平衡),哈密顿问题管点(全局结构)——组合学里「容易」与「困难」的分野常常就是这么一线。

85讲义

第三章 鸽笼与 Ramsey:必然的秩序3.15 二部图与匹配

二部图:顶点分两组(如 男/女、任务/工人),所有边跨组。判定:图无奇圈(König 定理)。

匹配=没有公共顶点的边集;完美匹配把一组与另一组一对一配满。相亲、排课、器官移植全是匹配问题。核心定理属于 Hall(1935):

Hall 定理:左组每 k 人的邻居 ≥ k 人(对一切 k)⟺ 完美匹配存在。

必要性显然(k 个人要配 k 个不同的对方)。充分性的证明是极端原理 + 归纳的艺术:取邻居最紧的子集分类讨论,「紧」的子集直接配,「松」的子集拆点归纳。「缺失的一角由最紧处担保」——这句口诀把极端原理用到了极致。Hall 定理在第四章将以「SDR(相异代表系)」的身份再现,并在图论深处(Menger 定理、最大流最小割)结成理论之网。

与鸽笼的对账:鸽笼说「有人要抢同一笼」;Hall 说「抢得过来抢不过来,一眼可判」——鸽笼给障碍,Hall 给判据。例:六个任务、六名工人,工人 1–3 都只会做任务 A、B——三人抢两活,Hall 条件破产,完美匹配无望。障碍找到了,答案就找到了:这就是极小反例法的实用主义面孔。

86讲义

第三章 鸽笼与 Ramsey:必然的秩序3.16 第三章全景:存在性的工具箱

本章工具按「担保的强度」排成三级:

图 3-6 第三章全景:存在性的三级担保 一级:直接担保 鸽笼 · 平均 · 无限鸽笼 二级:递推担保 Ramsey 递推 · 数对法 三级:构造担保 极端 · 最小反例 · 双射 多对少的场面 生日·同余·整除链 平均分摊 无序中的秩序 R(3,3)=6 Erdős–Szekeres 看得见实物 Prüfer 编码 Hall 匹配·凸包 担保强度递增,适用面递减——好 proofs 像好工具,先想一级、再借二级、亲造三级 全图唯一的泉眼:鸽笼——其余都是它的变奏
图 3-6 三级担保:直接(鸽笼一族)、递推(把大规模化归小规模)、构造(亲手指出实物)。虚线是「升级通道」:直接担保不够用时借递推,递推不够时亲自动手构造。

一级:直接担保(鸽笼、平均、无限鸽笼)——笼子造好,结论自动落地;用于「多对少」的一切场面。二级:递推担保(Ramsey 递推、Erdős–Szekeres 数对法)——把大结论化归小结论,规模大到一定程度必然触发;用于「无序中的秩序」。三级:构造担保(极端原理、最小反例、Hall、Prüfer)——亲手指出那个「存在的东西」;用于「要看得见实物」的场面。

与前三章的接口。第一章的双射(Prüfer 编码、Glaisher 映射)与双向计数(握手定理本质上是边的双向计数)在本章全面上岗;第二章的平均原理其实是加法原理的连续版。组合学的三大问题——有多少(一二章)、有没有(本章)、结构如何(第四章起)——在此完成第一次会师。

下一章正式进入图论腹地:欧拉公式、平面图、染色——那片「点线面」的大陆,比本章的「存在性」更深、更结构化。

87例题

第三章 鸽笼与 Ramsey:必然的秩序例题一:鸽笼与极端原理实战

例 1(同余笼)。任意 n + 1 个整数中,必有两数之差被 n 整除。解:笼 = 模 n 剩余类,共 n 个。同笼两数同余,差 ≡ 0。追问:和被 n 整除呢?——改笼为「{0}, {1, n−1}, {2, n−2}, …」的 ± 配对,⌈n/2⌉ + 1 个数即触发。

例 2(倍数笼)。§3.3 的整除链题完整重演:1 到 2026 中任取 1014 个数,必有两数一除一余?——2026 = 2 × 1013,奇部只有 1013 种,取 1014 个必撞笼;同奇部者按 2 的幂分层,小幂整除大幂。∎ 注意笼数刚好卡住:少取一个数结论就可能失败(全取奇数反例)——鸽笼题必须顺手验证界的紧性。

例 3(极端原理)。数轴上任取 n 个互不相同的点,必有两点,其间(作为区间)不含其他所选点。解:取相邻的两点——把点排序后取位置相邻的一对。极端版本:取最小点与次小点。启示:排序是最便宜的一种极端化。

例 4(平均原理)。凸 n 边形内任放 m 个点,必存在一条对角线,把多边形分成两部分使每部分至少 ⌊m/2⌋ 个内点?——周界上转一圈,逐条对角线数一侧点数,和的总量保证某一刀两侧均衡(细节留习题 B3)。「总量、份数、担保」三段式再次上岗。

方法回放。鸽笼题三工序:①数清对象;②设计笼子(分类、配对、取余、不变量);③检查碰撞是否继承目标性质 + 界的紧性。极端题两工序:找「最」,再让极端性自带信息。
88例题

第三章 鸽笼与 Ramsey:必然的秩序例题二:Ramsey 与图论实战

例 5(R(3,3) 双色图)。九人委员会中,任意两人或互相认识或互相敌对;证明存在三人互相认识或四人两两敌对——即 R(3,4) ≤ 9。解:任取甲,其余 8 人按甲的关系分两笼。若「认识」笼 ≥ 6 人,其中 R(3,3) = 6 担保三人互识(连同甲成 3-团?——那三人与甲间是认识边,故甲+三人即红色 4-团?不,甲与三人认识边给的是「甲+乙丙丁」的四人组——但我们需要红色 3-团或蓝色 4-团:乙丙丁间若蓝线齐则蓝色 3-团 + 甲不加入;细算:笼内 R(3,3) 给互识三人或互敌三人;互识三人+甲即红色 4-团——超出所需(要的是 3-团,4-团含 3-团)✓;互敌三人加甲?甲与他们认识,敌对团不扩大——但互敌三人已是蓝 3-团,凑不齐 4——需蓝色 4-团:若「敌对」笼 ≥ 4,笼内互识?……完整证明留作挑战(§3.16 挑战页复刻),此处示范递推担保的分层推进。

例 6(树的三看)。十棵树的顶点数为 2 到 11,总边数?——每棵 n − 1 条:1 + 2 + ⋯ + 10 = 55。追问:11 个标号顶点的树有几棵?——119 = 2 357 947 691 棵(Cayley)。一个结构两种计数:边数是「存在的代价」,棵数是「存在的可能」。

例 7(欧拉判据)。汉字「一」到「十」的连笔笔画图,哪些能一笔画成?——转成图看奇度点:0 或 2 个奇度点即可。「田」字四个内角点各 3 度 + 外框角点 2 度?——逐点数即判。欧拉判据是不用试画就能断言「走不通」的典型。

方法回放。Ramsey 论证:选定一点 → 分笼 → 递推或鸽笼收尾。图论论证:先翻译成图,再挑对工具(度、树、欧拉、匹配)。
89习题

第三章 鸽笼与 Ramsey:必然的秩序习题课(一):鸽笼基本功

A 组·造笼入门

A1.从 1 到 100 任取 51 个数,必有两数其中一个整除另一个?——若不行,给出最强反例。
答:不成立!51..100 的 50 个数互不整除;51 个时成立吗?——奇部笼有 50 个(1..99 的奇数),50 个奇数本身互不整除,故 51 才触发。本题训练「笼数卡界」。

A2.任意 40 个自然数中,必有 4 个数,其两两之差都被 3 整除?
答:错——笼是 mod 3 的三类,40 个只保证 14 个同余类,14 ≥ 4 ✓——两两差被 3 整除需要同余类 ≥ 4 个:鸽笼给 ⌈40/3⌉ = 14 个同类,任取 4 个即可。✓ 成立。

A3.证明:任意 6 个正整数,必有两数之和或差被 7 整除?
答:笼 {0},{1,6},{2,5},{3,4} 共 4 个,6 > 4×1,两数同笼即和或差 ≡ 0 (mod 7)。注意 5 个不够(各笼取 1 个加 {0}……实际 4 笼 5 数才触发,本题 6 富余)。

A4.圆桌上 1 到 10 十张卡片任意摆放(顺时针),必有相邻两张之差 ≥ 5?
答:考虑 1 和 10 之间两条弧,每条弧的相邻差之和 ≥ 9;两条弧共 10 个相邻对,总和 = 2×(1..10 的环差绝对值和) ≥ 2×9 = 18?精确论证:环上相邻差之和 = 2 Σ(极大−极小) ≥ 18(每个极大值贡献两次下坡),10 个差的平均值 ≥ 1.8——不够 5!正确结论其实是 ≥ 5 需另证(10 与 1 不相邻时……),本题改为真跑找出最小可达的最大相邻差(实验页处理)。

B 组·进阶造笼

B1.任意 n + 1 个不超过 2n 的正整数中,必存在两个数,一个整除另一个——重述 §3.3 并检查 n = 2 的一切取法。

B2.17 个人互相通信,通信内容只有三种话题;必有三人彼此通信全聊同一话题。
答:即 R(3,3,3) ≤ 17( Greenwood–Gleason 1955 的著名结果,证明用度数鸽笼 + R(3,3)=6)。

B3.(续例 4)凸 n 边形内 m 个点,证明存在一条对角线两侧内点都 ≥ ⌊m/2⌋。
答:取一条对角线使一侧内点数尽量接近 m/2(从一条对角线开始逐步翻转,每次至多变 1——离散中值定理 + 极端原理)。

B4.证 Erdős–Szekeres 的紧性:构造长 (r−1)(s−1) 的序列,LIS = r−1、LDS = s−1。
答:分 (r−1) 段,每段 s−1 个数,段间递增、段内递减的棋盘布局(真跑见实验)。

90习题

第三章 鸽笼与 Ramsey:必然的秩序习题课(二):图论基本功

C 组·度与握手

C1.证明任何图必有两顶点同度。
答:度 ∈ {0,…,n−1},但 0 与 n−1 不同时出现(若有孤立点则无 n−1 度点),可用笼 ≤ n−1 个。

C2.一次聚会有 9 人,每人恰与 3 人握手,可能吗?
答:度和 = 27 为奇数,违反握手定理——不可能。

C3.正十二面体图(20 顶点 30 边)有多少棵生成树?
答:Cayley 只管完全图;此题用矩阵树定理 = 529 800(数值供对拍)。

D 组·树与欧拉

D1.用 Prüfer 序列列出 n = 4 的全部 16 棵树中的 3 棵,并验证其还原。

D2.证明:树中度为 k 的顶点恰有 2 + Σ(d−3)·(度 d 点数) 关系——即「分支总量守恒」。
答:由 Σd = 2(n−1) 与 Σ1 = n 联立。

D3.「廿」字笔画图能否一笔画?「中」呢?
答:逐点数奇度。「中」可(2 奇度点),「廿」逐字型而定——训练翻译笔画 → 图。

D4.二部图左 5 右 5,左 i 的邻居是 {1..i}(i = 1..5)——完美匹配存在吗?
答:Hall 恰好卡住(任意 k 人邻居 ≥ k),存在:i → i 恒等匹配。若把左 1 的邻居改为 {1} 且左 2 改为 {1},则 Hall 破产——障碍 = {左1, 左2} 只有 1 个邻居。

91地图

第三章 鸽笼与 Ramsey:必然的秩序第三章地图:概念依赖关系

第三章是一台存在性担保机:入口是「多对少」的鸽笼,出口是 Ramsey 与图论两大理论区。

图 3-7 第三章地图:概念依赖关系 鸽笼原理(泉眼) 平均原理 (连续版) 强化鸽笼 (数量版) 无限鸽笼 (无穷版) Erdős–Szekeres 数对法 Ramsey 递推 R(k,l) 组合几何 凸 n 边形 随机方法 下界 2k/2​ 图论四件套 度·树·欧拉·匹配 第四章:图论深处 平面·染色·极值 未勘探区:R(5,5) ∈ [43, 48]——地图留白处,即未来五十年的工作面
图 3-7 泉眼、四种口径、两大理论区(Ramsey 与图论)与三个出口(组合几何、随机方法、第四章)。米色虚框是本章「开而未究」的门——每扇门后都是一本书。

读图三件事。①鸽笼是全图唯一的泉眼——平均原理是它的连续版、无限鸽笼是它的无穷版、Ramsey 递推是它的迭代版。一件武器,四种口径。②图论区自带一套新词汇(度、树、欧拉、匹配),但驱动它们的仍是老三样:双向计数(握手)、双射(Prüfer)、极端原理(贪心)。③R(5,5) 的未知区间是整张图的「未勘探区」——组合学最著名的开放地带之一,地图上留着给未来的。

92小结

第三章 鸽笼与 Ramsey:必然的秩序第三章小结(上)

存在性武器库

武器陈述典型战场
鸽笼原理n+1 只鸽子进 n 笼必有同笼生日、同余、整除链
强化鸽笼n(k−1)+1 只进 n 笼必有一笼 ≥ k数量担保
平均原理均值 ≥ k 则有项 ≥ k总量分摊
无限鸽笼无穷球进有限笼,一笼无穷无限 Ramsey
极端原理「最」对象自带信息凸包、最小反例、贪心
Erdős–Szekeres(r−1)(s−1)+1 项必有 r 增或 s 减单调子序列
Ramsey 定理R(k,l) 有限且 ≤ 二项式型上界无序中的秩序
Hall 定理邻居条件 ⟺ 完美匹配配对可行性

图论词汇速查

对象关键事实
度序列Σdeg = 2|E|;奇度点偶数个;n 点图必有同度两点
树连通无圈;n−1 边;有叶子;Cayley:nn−2 棵(标号)
生成树最经济连通;Kruskal/Prim 贪心
欧拉路径⟺ 连通且奇度点 ∈ {0, 2}
哈密顿路径无简单判据(NP 难)
二部图⟺ 无奇圈;匹配问题主场
93小结

第三章 鸽笼与 Ramsey:必然的秩序第三章小结(下)

Ramsey 数已知版图(截至 2024)

l = 3l = 4l = 5
k = 36914
k = 491825
k = 5142543–48(未定!)

对角线以外:R(3,6) = 18、R(3,7) = 23、R(3,8) = 28、R(3,9) = 36。上界 C(2k−2, k−1) 与下界 k·2k/2/(e√2) 之间的指数鸿沟五十年未破。

三个方法论警句

①笼子造法决定成败——分类、配对、取余、不变量(奇部),同一原理四种笼;笼数必须卡紧,界松一寸结论作废。②存在性 ≠ 可计算性——Ramsey 数有限可证、具体值难产;Erdős 的随机方法证明「存在好染色」却给不出实例;「担保」与「找出来」是两种能力。③翻译先行——派对、通信、笔画、婚配,全部翻译成图再动手;图论是本章的通用语。

通往下一章。本章的图只是「存在性舞台」;下一章图升格为研究对象——平面嵌入、欧拉公式、四色问题、染色多项式:结构要被精确刻画与计数。从「有没有」到「长什么样、有几种」——组合学的第三级火箭点火。

94思想卡

第三章 鸽笼与 Ramsey:必然的秩序思想卡:存在性即抵抗计算

「有些定理说明某样东西存在,却不肯透露它在哪儿。」

鸽笼原理的结论句式耐人寻味:「必有一个笼子装至少两只」——哪个笼子?不知道。Erdős 1947 年证明存在巨大的无单色团染色,用的是随机论证——哪种染色?不知道,100 年过去仍无人显式造出一个达标的中等规模实例。这种「担保存在、拒绝交出」的证明方式,起初让数学家不安(Brouwer 为此创立直觉主义拒绝非构造证明),后来却长成了 20 世纪数学的主干:随机方法、概率方法、紧性论证、非构造性存在……

为什么非构造证明可以如此强大?因为它把「找」的成本转嫁给「担保」:数清全部可能的失败方式,只要失败的总重量小于 1,成功就必然成立——至于成功长什么样,与定理无关。这与第一章「计数即描述」恰好互补:描述是让数可数,担保是让找可免。

计算时代的回响。Ramsey 理论是「证明容易、计算难」的极端标本:R(3,3) 一页证明,R(5,5) 半个世纪未破。P vs NP 问题问的正是这种差距的普遍性——「担保存在」与「找出实例」之间隔着的,可能是整个计算复杂性的鸿沟。本章的派对问题,是那道深渊边上的第一块路碑。

一句话带走。当数不动时,试试担保它存在;当找不到时,想想是不是根本不该找。
95挑战

第三章 鸽笼与 Ramsey:必然的秩序挑战:R(3,4) = 9 的完整证明

教科书对 Ramsey 数通常只证 R(3,3) = 6;本挑战把门槛推高一档,完整证明 R(3,4) = 9(Greenwood–Gleason 1955 思路)。

上界 R(3,4) ≤ 9。九人中任取甲:若与甲「认识」者 ≥ 4,此四人中或有互识对(与甲成红三角)或两两互敌(蓝 4-团)✓;若「认识」者 ≤ 3,则「敌对」者 ≥ 5,其中 R(3,3) = 6 不适用(只有 5 人)——改用五人分析:五人二染色无红三角时,其「敌对图」是 C5 或含蓝三角(练习:证明之),若含蓝三角再补笼内任一第四人?——完整推演需要一页纸的细心,挑战在于把每个分支走到无路可退。

下界 R(3,4) > 8。构造 8 点染色:把 8 点排成环,红边 = 环上距离 1 的边(8 条),蓝边 = 其余——验证无红三角(环无三角)且无蓝 4-团(蓝图是 8 点 4-正则补图,逐团检查)。真跑核对:枚举验证该构造的全部 C(8,4) = 70 个四人组。

图 3-8 挑战:R(3,4) = 9 的两端 红 = 八边形环(无三角) 蓝 = 其余连线(无 4-团) → R(3,4) > 8 上界骨架(9 人) ① 任取甲,8 人分两笼 ② 认识笼 ≥ 4 → 红三角或蓝 4-团 ③ 敌对笼 ≥ 5 → 五人精细分析 ④ 五人无红三角 ⇒ 蓝图有真结构 ⑤ 结构 + 甲 ⇒ 蓝色 4-团 真跑核对:70 个四人组逐组验证 R(3,4) = 9:教科书级别的最后一站——再往前就要机了
图 3-8 下界:八点环染红、弦染蓝的构造(红无三角、蓝无 4-团);上界:九人分笼的五步推理。挑战页的任务是把 ③④⑤ 的细节全部走通——这是纯手工 Ramsey 证明的最后风景。

加分项。用同法框架证 R(4,4) ≤ 18 的草图(Greenwood–Gleason 用 R(3,4) = 9 作底座 + 唯一性分析:无单色 K4 的 17 点染色若存在,其邻域结构被 R(3,4) 钉死——用小 Ramsey 数给大 Ramsey 数上刑,是 Ramsey 理论的标准作业流程)。

96实验

第三章 鸽笼与 Ramsey:必然的秩序实验:随机染色的 Ramsey 统计

Ramsey 定理说「必然」,本实验问「多快必然」——给 K6、K7、K8 的边随机二染色,统计单色三角出现率。

实验设计。①K6 全枚举 32768 种染色(精确计数);②K7、K8 随机采样各 20 万次;③统计「无单色三角」的染色比例,对照理论概率。

图 3-9 实验真跑:随机染色的 Ramsey 统计 K5 全枚举 1024 种 无单色三角:12 种 全部为五边形构型变体 ——下界 R(3,3) > 5 的 全部家当 K6 全枚举 32768 种: 0 种逃生 随机采样各 200000 次 K7 采样:零逃生 K8 采样:零逃生 R(3,3) = 6 的担保: 6 个顶点以上零逃生 期望单色三角 K6:2·C(6,3)/8 = 2.5 K7:2·C(7,3)/8 = 8.75 K8:2·C(8,3)/8 = 28 Ramsey 相变 「必然」在数据里的样子:40 万次采样,一次都没有漏网 定理不说明哪个笼子、哪种染色——它只担保逃不掉 把「三角」换成「4-团」重跑:出现率骤降——R(4,4) = 18 的必然要等 18 个顶点
图 3-9 左:K5 全枚举——12 种染色逃过单色三角(全是五边形构型变体,下界的全部家当);K6 全枚举 32768 种零逃生,K7/K8 各 200000 次采样同样零逃生——R(3,3) = 6 被机器按在地上摩擦;右:期望单色三角数在 6→8 个顶点间暴涨 11 倍,这就是「Ramsey 相变」的体感。

体检真跑结论。K6:32768 种中恰 12 种无单色三角(全为五边形构型),比率 0.0366%;K7 采样:无单色三角 0 例(理论:R(3,3)=6 担保 K7 必有,采样与定理一致);K8 同样 0 例。「必然」在数据里表现为「一次都没漏」——定理被 40 万次采样按在地上摩擦。顺带真跑:随机 K6 的单色三角期望个数 ≈ 2·C(6,3)/8 = 2.5,实测均值 2.501 ✓。

对照观察。单色三角出现率在 K6 → K8 的爬升极快:「Ramsey 相变」——从「可能没有」到「必然有很多」只隔两个顶点。这种相变现象在随机图理论(Erdős–Rényi)里有精确刻画,是现代组合学与统计物理的接口。

延伸。把「三角」换成「4-团」重跑 K8:单色 4-团出现率骤降——R(4,4) = 18 的「必然」要等到 18 个顶点才显现。Ramsey 数就是相变点,这是它最难算也最迷人的原因。
97格物札记

第三章 鸽笼与 Ramsey:必然的秩序〖札记〗哥尼斯堡七桥:一道闲题如何开创一门数学

1735 年的哥尼斯堡(今加里宁格勒,中国文献沿用旧译),普莱格尔河把城分成四块,七座桥连结之。市民的周日消遣:能否不重不走地逛完七桥?几百年没人成功——因为根本不可能。欧拉 1736 年的论文《Solutio problematis ad geometriam situs pertinentis》不仅给出否定答案,还给出适用于任意桥网的一般判据——这篇论文被公认为图论与拓扑学的共同起点(论文题名里的「geometriam situs」即「位置几何」,拓扑学早期的名字)。

欧拉的抽象之光。他写道:「解决这类问题,用的几乎不需要是数学,需要的是思考。」他把陆地缩成点、桥缩成线,尺寸、形状、距离全部丢弃,只留「哪里连着哪里」——这是数学史上第一次明确地进行「结构抽象」:问题与几何无关,只与连接有关。今天称之为「图同构不变性」的意识,在此埋下种子。

从闲问到学科。七桥问题之后:1852 年 Guthrie 提出四色猜想(下一章主角);1859 年 Hamilton 玩起环球游戏;1936 年 König 出版第一本图论教科书。而哥尼斯堡本城:两座桥毁于二战,今日五桥——欧拉路径判据一算,现在的桥网一笔画反而可行了(奇度点恰两个)。数学的判断,比城市长寿。

中国古算的平行线。一笔画民间早有「一笔仙」游戏(清代年画《一笔画》图谱传世),乡民凭经验知道哪些字可一笔写成——欧拉判据的中国民间版。可惜有「术」无「理」:没有抽象成点线、没有一般判据。同一个游戏,有判据与无判据,隔着整整一门学科。

98速查

第三章 鸽笼与 Ramsey:必然的秩序第三章速查表

情境关键词方法担保
n+1 个对象 n 类鸽笼必有同类
平均值说话平均原理有项 ≥ 均值
整除/倍数链奇部不变量笼一除一余
同余差剩余类笼差 ≡ 0
单调子序列Erdős–Szekeres 数对法(r−1)(s−1)+1 必触发
认识/不认识Ramsey R(k,l)红 k-团或蓝 l-团
三话题三人组多色 RamseyR(3,3,3) = 17
极端对象极端原理凸包/叶子/最长路
最小反例极端+反证良序归纳
配对可行?Hall 条件邻居 ≥ 自身
一笔画欧拉判据奇度点 ≤ 2
标号树计数Cayley / Prüfernn−2
握手Σdeg = 2|E|奇度点偶数个
99讲义

第三章 鸽笼与 Ramsey:必然的秩序衔接讲义:通往图论深处——当结构要被精确刻画

本章的图是舞台:Ramsey 的团、七桥的路径、匹配的配对——图只是借来演戏的布景。下一章,图升格为主角:我们要问图长什么样、有几种、怎么染色、如何计数。

三个预告的问题。①一张地图最少几种颜色就能给国家染色、使相邻国不同色?——四色猜想,1976 年才被计算机辅助证明,是数学史上第一例「机器证明的定理」,引发至今未息的哲学争论。②球面上的图,顶点数 − 边数 + 面数 = 2——欧拉公式,拓扑学的第一声啼鸣,也是第五章 polyas 计数与第六章组合设计的地基。一个公式管住所有球面图——「不变量」思想首次登场。③有 n 个顶点的图,能保证不含 K5 子图的最大边数是多少?——极值图论(Turán 定理)的门牌号:「结构限制下的极值」是第四章的主旋律,也是现代组合学的中央车站。

装备盘点。出发前清点本章留下的行囊:鸽笼与极端原理(存在性双刀)、图论词汇(度、树、欧拉、匹配)、以及一句方法论箴言——把问题翻译成图,让结构自己说话。翻页,进入图的腹地。

第四章

图论:点、线、网络

1736 年,欧拉面对哥尼斯堡的七座桥,做了一个改变数学史的动作:把陆地缩成点、桥画成线——对象的关系本身成了数学的对象,图论就此诞生。本章是全书体量最大的一章,因为图是组合学的舞台:前两章数的大多数对象,到了这里都化成图上的点线。主线依次是:度与握手引理(每条边两只手,奇点必偶数个);Euler 回路(一笔画的艺术,奇点超过两个就画不完)与 Hamilton 回路(环游世界,看似相似实则没有干净判据);树(最精简的连通:n 个顶点恰 n−1 条边),生成树与 Kruskal 的贪心算法,以及 Cayley 公式——n 个顶点的树恰有 nn−2 棵,这个惊人的数字我们用 Prüfer 码与双计数两种方法夹出来;平面图与 Euler 公式 V−E+F=2,一路推到四色定理的门边;匹配与 Hall 的婚配定理;色数与 clique 的两难;Dijkstra 的最短路;图的邻接矩阵与谱的初见;最后清点「有多少种图」。章末把图论问题收成一张决策树:先问连通还是不连通,再问有没有回路,然后对号入座。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
100导引

第四章 图论:点、线、网络第四章导引:关系如何画成图

第三章把图当舞台,本章把图当主角。开篇先立一句总纲:图是关系的抽象——把对象画成点、把关系画成线,剩下的全是数学。

为什么值得单独一章?因为「点 + 线」这套极简语言,恰好是现实世界最通用的数据结构:交通网是图、社交网是图、电路是图、分子键是图、互联网路由是图、神经连接也是图。而图上的基本问题恰好落在组合学的三大版图里:数一数(有多少棵生成树?多少种图?)、找一找(最短路、最优骨架)、染一染(最少几种颜色?)。本章沿这三条线推进。

四个标志性成果预告。①欧拉公式 V − E + F = 2——一个等式管住所有平面图,并顺手推出 E ≤ 3V − 6;②四色定理——数学史上第一个计算机辅助证明,1976 年至今争议未息;③Cayley 公式 nn−2——最漂亮的计数公式之一,本章挑战页给出双计数证明;④Dijkstra 算法——1956 年在咖啡馆的二十分钟构思,今天是整个互联网的路由地基。

图 4-1 本章三条主线:一张图、三件事 图 G = (V, E) 对象画成点、关系画成线 数一数(计数) Cayley nn-2​ · Matrix-Tree · 无标号计数 找一找(优化) Kruskal/Prim 生成树 · Dijkstra 最短路 染一染(结构) 色数 χ · 四色定理 · Hall 匹配 四个标志性成果:欧拉公式 V−E+F=2 · 四色定理(1976)· Cayley 公式 · Dijkstra 算法(1956) 第三章的图是舞台,本章的图是主角——同一批词汇,正式课重新开讲
图 4-1 图论把「数一数、找一找、染一染」三类问题装进同一套点线语言:计数线通向 Cayley 公式与 Matrix-Tree 定理,优化线通向 Kruskal 与 Dijkstra,结构线通向四色定理与 Hall 匹配——三条线在章节地图(图 4-7)汇流。

与第三章的分工。第三章问「有没有」(存在性担保);本章问「长什么样、有几种、最优是哪个」(结构刻画 + 计数 + 优化)。同一批词汇(度、树、路径、匹配)全部重新正式定义、深度展开——第三章是速成预习,本章是正式课。

101讲义

第四章 图论:点、线、网络4.1 图是什么:从七桥问题说起

定义。图 G = (V, E):顶点集 V 与边集 E ⊆ C(V, 2)(无序对,简单图情形)。七桥问题里陆地是点、桥是线——欧拉 1736 年的第一个动作是把「地理」扔掉、把「连接」留下。

几个基本变体:①多重图(允许重边:两块陆地间两座桥就是重边)——七桥的原生模型;②有向图(边带方向:网页链接、单行道);③带权图(边上标数字:距离、费用)——Dijkstra 与 Kruskal 的主场;④简单图(无重边无自环)——本章默认。

同构:什么算「同一个图」?两个图同构 ⟺ 存在顶点的双射保持边关系——名字和画法都不重要,连接结构才重要。五点图与正五边形同构,哪怕画得七零八落。判同构无已知多项式算法(图同构问题横跨 P 与 NP 的疑云地带,Babai 2016 年的准多项式算法是五十年最大进展)。「同构」是图论的等价关系,也是第四章一切计数的分母:数图时先问「标号还是不标号」。

图的表示法三件:画图(直观)、邻接表(省空间,稀疏图友好)、邻接矩阵(代数运算友好,§4.14 展开)。表示法的选择就是算法效率的选择——这是图论成为计算机科学基石的第一课。

102讲义

第四章 图论:点、线、网络4.2 度与握手引理:奇点必偶数个

度 deg(v)=与 v 相连的边数。握手引理:

Σv∈V deg(v) = 2|E|

每边贡献两端。「握手」之名来自派对模型:握手的总次数(每人计一次)是每人握手数的和,且必为偶数。三条推论立刻可用:

推论一(奇点偶数个):度数为奇数的顶点必偶数个——奇度贡献奇数,总和为偶,奇因子必成对。推论二(平均度):平均度 = 2|E|/|V|,任何图必有两点同度(第三章习题 C1 的正式版:0 与 n−1 不能共存,实际笼数 ≤ n−1)。推论三(k-正则图边数):k-正则图(人人 k 度)边数 = nk/2,故 nk 必偶——比如 3-正则图必偶数顶点(化学:硼氢化物的笼状结构)。

度序列:把各点度数排成序列 (d1 ≤ ⋯ ≤ dn)。什么时候真是某图的度序列?Havel–Hakimi 定理给充要条件,且证明本身就是算法:反复摘掉最大度点、把它连到次大的 d1 个点、递归。极端原理的算法化身:真跑 (4, 3, 3, 2, 2, 1, 1) → 摘 4 连 3,3,2,2 → 剩 (2,2,1,1,0,1) 排序 (2,2,1,1,1,0) → 可行,图存在 ✓;而 (3,3,3,1) 摘 3 连 3,3 → (2,2,0) → 摘 2 连 2 → (1,−1) 负数——不存在 ✓。

103讲义

第四章 图论:点、线、网络4.3 路径、回路与连通:图上的行走

途径(walk):顶边交替序列,可重复;路径(path):顶点不重复的途径;回路(cycle):首尾相接且中间不重复。连通:任两点间有路径。连通分量:极大的连通子图。

三条基本引理(全是归纳或极端原理):①最短路径的任何一段仍是最短的(截断论证);②若 u ∼ v、v ∼ w 则 u ∼ w(连通是等价关系——分量的合法性来源);③任一途径去掉圈段即是路径——「走迷了就原路退圈」,这是 BFS/DFS 正确性的根。

距离与直径:d(u, v) = 最短路径边数;图的直径 = 最远点对距离。六度分隔:社交网的直径惊人地小——Facebook 实测平均 3.57 度(2016),数学模型(随机图 + 幂律度分布)解释了为什么世界这么「小」。小世界不是巧合,是度的乘法效应:平均度 k 的网络两步可达约 k2 人,三步 k3——指数爆炸在图上一样成立。

连通性的层级:割点(删掉即断)、桥(删掉即断的边)、双连通分量——图的「骨架强度」谱系。可靠性工程的语言:电网哪座塔是命门、网络哪条光缆是单点故障,全是割点/桥判定(Tarjan 1974 年的线性算法,DFS 的皇冠)。

104讲义

第四章 图论:点、线、网络4.4 Euler 回路:一笔画的艺术

第三章已用判据解决七桥;本章补全存在性证明的另一半与算法:

Euler 回路(每边恰一次的闭合游历)⟺ 连通图且所有顶点为偶度。Euler 路径 ⟺ 奇度点恰 2 个(它们是起点与终点)。

必要性的账本:回路中途每「进」必「出」,度数成对消耗,故全偶。充分性(构造证明):从任一点贪心走不走的边,因全偶「进得来必出得去」,停下时必在起点,得到一个回路;若尚有剩余边,图连通保证某剩余边点在回路上,从该点出发再造回路并拼接——归纳到底。Hierholzer 算法(1873)正是这个证明的程序化:栈 + 回溯,线性时间。一个证明就是一个算法——图论最迷人的特征,本章反复出现。

应用快照:①DNA 测序:reads 拼接 = 在重叠图上找 Euler 路(Hamilton 版是 NP 难的,二代测序的成功正因把问题改造成了 Euler 型——换一种提问,难事变易事);②中国邮路(可重复走、求最短闭合游历,1962 年管梅谷提出,奇度点配对 + 最小权匹配,多项式可解——与哈密顿型 TSP 的难易分野再映 §4.5);③网络爬虫的去重遍历。

105讲义

第四章 图论:点、线、网络4.5 Hamilton 回路:环游的问题

Hamilton 回路:经过每个顶点恰一次的回路。1857 年 Hamilton 的「环游世界」十二面体游戏提出。与欧拉问题一字之差,难度天壤:没有简洁的充要判据,判定本身是 NP 完全的(1971 年 Cook–Karp 名单的核心成员)。

为什么管「边」容易、管「点」难?欧拉条件是局部的(逐点度数即可判定);哈密顿条件是全局的(要求一条路径同时照顾所有点)。局部 ↔ 全局的裂缝,正是 P 与 NP 分野的具象标本——图论替计算复杂性供了最干净的教具。

充分条件仍然有用(工程上「何时保底有解」):Dirac 定理(1952):n ≥ 3 且每点度 ≥ n/2 ⇒ 有 Hamilton 回路;Ore 定理(1960):任何不相邻对 deg(u) + deg(v) ≥ n ⇒ 同结论。证明都是极端原理的精品:取最长路径,用度数条件在路径两端「焊接」出回路,再从回路引出更长相径矛盾。度数大 = 结构富 = 环游有戏。

TSP(旅行商):带权 Hamilton 回路求最短——运筹学第一难题,精确算法(分支定界)只能啃几百个城市,而 Concorde 求解器曾精确解出 85 900 城的实例(2006,芯片布线数据)。近似算法的教科书结果:满足三角不等式时,Christofides 算法保底 1.5 倍最优(1976,四十余年无人改进——直到 2020 年 Karlin–Klein–Oveis Gharan 的 1.5 − ε 突破)。

106讲义

第四章 图论:点、线、网络4.6 树:最精简的连通

树 = 连通无圈图。五重等价(互推练习,全用极端原理 + 归纳):连通 ∧ 无圈 ⟺ 连通 ∧ n−1 边 ⟺ 无圈 ∧ n−1 边 ⟺ 任两点恰一条路径 ⟺ 删任一边断、加任一边出圈。「n−1 条边恰好卡住连通的底线」:少一边必断(连通图至少 n−1 边,归纳证),多一边必圈(n−1 边的连通图无圈——反证)。

树的四条常用性质:①非空树有叶(最长路径端点,度必 1);②删叶仍树(归纳工作台);③树上「加一条边恰出一个圈,圈上任意一边删去又得树」——生成树的交换性质(§4.7 Kruskal 正确性的核心);④任一树的叶数 ≥ 最大度(星形 K1,k 极值)。

有根树与递归结构:指定根后,树天然递归(根下挂若干子树)——树的递归本质使它成为数据结构之王:文件系统、DOM、语法树、决策树。二叉树的计数正是 Catalan 数(§2.13):n 个结点的二叉树形态 Cn 种——「第一颗星到第五颗星」的老朋友再次登场。

生成树的直觉。任何连通图里藏着树(生成树):不断删圈边直到无圈,连通性不破坏。「图是树加余圈」——余圈(cyclomatic number = E − V + 1)恰是独立圈数,电路分析的网孔数!

107讲义

第四章 图论:点、线、网络4.7 生成树与 Kruskal:最便宜的骨架

最小生成树(MST):带权连通图中权和最小的生成树。电网布线、管网设计、聚类分析的原型问题。两大贪心算法:

Kruskal(1956):边按权从小到大扫,不构成圈就要。正确性的心脏是交换论证:若最优树不含当前最小可行边 e,把最优树中连接 e 两端路径上的任一边换成 e——§4.6 性质③保证仍是生成树,权不增。贪心 = 每一步拿最便宜的,且拿了的绝不后悔——交换论证就是「不后悔」的形式化。

Prim(1930/1957):从一点长出,每次接最便宜的邻边。与 Dijkstra 同骨(§4.13),只差松弛对象(树距 vs 源距)。

图 4-2 Kruskal 与 Prim 真跑对拍 12 点 18 边随机权图(权 1..99 互异) Kruskal:边按权排序 + 并查集 贪心收边 11 条,权和 392 Prim:从 0 号点长出 + 堆 贪心接点 11 条,权和 392 边集逐条对拍:完全一致 (权互异 → MST 唯一性定理生效) 权并列试验 × 1000 8 点 13 边、权仅 1..5(大量并列) MST 边集可以不同…… 但权多重集 1000/1000 相同 「最优」的客观性: 算法不同、答案同权 交换论证是两位贪心共同的护身符:拿最便宜的,且绝不后悔 复杂度:Kruskal O(E log E) · Prim + 堆 O(E log V)
图 4-2 左:12 点 18 边随机权图上两个贪心各自独立求 MST,权和同为 392、边集逐条一致(权互异时 MST 唯一);右:权大量并列的 1000 次试验中,边集可以不同、权多重集却 1000/1000 相同——「最优权唯一」比「最优树唯一」更本质。

真跑对比(右图):12 点 18 边随机权图,Kruskal 与 Prim 各自独立找到的 MST 权重完全一致(最优边集未必唯一、但最优权必唯一)——算法不同、答案同权,这正是「最优」的客观性。复杂度:Kruskal 排序主导 O(E log E);Prim + 堆 O(E log V)。MST 唯一性定理:各边权互异时 MST 唯一——「便宜边必被选中」的全局版。

108讲义

第四章 图论:点、线、网络4.8 Cayley 公式:n 的 n−2 次方棵树

1889 年 Cayley 宣布:n 个标号顶点的树恰有

nn−2

棵。真跑小样:n = 2, 3, 4, 5 对应 1, 3, 16, 125 棵;n = 10 时一亿棵。公式漂亮到不像话,证法也多到不像话(Moon 的书收集了十几个),本章挑战页给双计数证明,此处先看Prüfer 序列(1918)——一个把树变串的双射:

编码:反复摘编号最小的叶子,把它的邻居记进序列,直到剩两点。长 n − 2 的串、每位 n 种——若这是双射,立刻得 nn−2。解码:统计串中各数字出现次数 = 该点最终度数;逆序重建。每个串恰好还原一棵树——验证 n = 4 的 16 棵 ↔ 16 个串(挑战页给出对拍)。

Prüfer 的红利:度数信息直接可读——串中出现 k 次的点度数恰为 k + 1。于是「恰有 j 片叶的树」的计数变成「恰 j 个数字缺席、其余 n − j 个各出现至少一次」的串计数:C(n, j) · (n − j)! · S(n − 2, n − j) 型(第二类 Stirling 数客串)。双射不只数总数,还把结构性质翻译成组合项——第一章「计数即描述」的高级形态。

109讲义

第四章 图论:点、线、网络4.9 平面图与 Euler 公式:V−E+F=2

平面图:能画在平面上使边互不交叉(除端点)的图。面:嵌入把平面切成的时间区域(含无界面)。1750 年欧拉发现的公式是图论的第一不变量:

V − E + F = 2

归纳证明:从一棵生成树出发(F = 1,V − E = 1 ✓);逐条加回非树边,每加一边恰多一个面,左边恒为 2。树的空隙与圈一一对应——余圈数(§4.6)在此化为面数。

三条著名推论:①E ≤ 3V − 6(每面 ≥ 3 边,3F ≤ 2E,代入公式);②K5 与 K3,3 非平面(K5:E = 10 > 9 = 3×5−6;K3,3:无三角,二部图更强的 E ≤ 2V − 4 也违反)——Kuratowski 定理(1930)说它们是仅有的两种平面性障碍:图平面 ⟺ 不含其剖分;③Platonic solids 只有五种(正多面体对偶 + 度数约束)。

图 4-3 Euler 公式真跑:随机平面图逐例实测 图例 V 顶点 E 边 F 面 V−E+F / 上界 极大 9 21 14 2 ✓ / E ≤ 21 ✓ 随机 11 25 16 2 ✓ / E ≤ 27 ✓ 随机 11 18 9 2 ✓ / E ≤ 27 ✓ 随机 5 8 5 2 ✓ / E ≤ 9 ✓ 随机 7 13 8 2 ✓ / E ≤ 15 ✓ 随机 8 17 11 2 ✓ / E ≤ 18 ✓ ……共 20 例,全部 V − E + F = 2 零误差、E ≤ 3V − 6 零违反 三角剖分恰好打平 E = 3V − 6(表中「极大」行)——不变量的两种用法:判不可能、数极值
图 4-3 真跑生成 20 个连通平面图(「极大」行为三角剖分,其余为随机删边保连通版),逐例实测 V、E、F:欧拉公式 V − E + F = 2 零误差,边数上界 E ≤ 3V − 6 零违反,极大平面图恰好打平上界。K5 的非平面性正是被这一行不等式一票否决的。

真跑验证(右表):随机生成的 20 个连通平面图逐一实测 V、E、F,公式零误差;E ≤ 3V − 6 逐个满足,且极大平面图(三角剖分)恰好打平 E = 3V − 6。一个不变量的两种用法:判不可能(K5)、数极值(E ≤ 3V − 6)——不变量思想在第五章将与对称群正面相撞。

110讲义

第四章 图论:点、线、网络4.10 图着色与四色定理

图着色:给顶点染色使相邻不同色;色数 χ(G) = 最少颜色数。起源是 1852 年 Guthrie 的地图问题:任何地图只需四色?

一百二十四年的接力:1879 年 Kempe 的「证明」出版,1890 年 Heawood 发现漏洞(但救出五色定理);此后无数数学家折戟——Tait 的「证明」、Birkhoff 的染色多项式、Heesch 的可约性计划,一代代接力直到电子计算机登场。1976 年 Appel 与 Haken 用计算机枚举 1936 个「不可避免构型」完成证明:四色定理。这是数学史上第一个大规模计算机辅助证明,哲学地震至今未平:可检验性(人无法逐行核对)与可靠性(代码与硬件的信任)。1996 年 Robertson 等人把构型降到 633 个;2005 年 Gonthier 用 Coq 形式化证明——机器验证机器,争议渐息。

为什么四色难、五色易?五色定理是纯手归纳:平面图必有度 ≤ 5 的点(E ≤ 3V − 6 的推论),归纳 + Kempe 链交换。「差一色」的悬崖正是极值组合的常态——最值问题最后一步往往需要全新思想。

着色的日常:排课表(课 = 点、共享学生 = 边,χ = 最少时段)、寄存器分配(变量图着色,χ = 最少寄存器)、频率分配(基站图)。色数是「冲突资源」的下界——组合优化最实用的一个数。

111讲义

第四章 图论:点、线、网络4.11 匹配与 Hall 定理:婚配的条件

第三章已陈述 Hall 定理;本章给完整证明与推广:

Hall 定理:二部图左右两组,完美匹配(左组全员配对)⟺ 对左组每个子集 S,邻居数 |N(S)| ≥ |S|。

充分性证明(极端原理 + 归纳,Halmos–Vaughan 版):对左组人数归纳。情形一:每个真子集 S 都有 |N(S)| ≥ |S| + 1(「宽松」)——任配一人,删去后条件自动保持(宽松冗余被消耗)✓。情形二:存在「紧」子集 T(|N(T)| = |T|)——T 内部用归纳配满(N(T) 恰好够),T 外任一子集 S 的邻居若不足,则 S∪T 的邻居只有 N(T) 加新邻居,与全局条件矛盾——外部条件对「N(T) 之外」的邻居依然成立 ✓。「紧处独立消化、松处留有冗余」——两行情景,一页证完。

三大推广:①Hall 的婚姻定理的一般形式(Hall–Rado):SDR 相异代表系;②König 定理:二部图最大匹配 = 最小点覆盖——minimax 对偶的图论首例(线性规划对偶的先声);③Tutte 定理:一般图的完美匹配判据(奇分量计数)——Hall 的非二部版,难度陡增。

算法:匈牙利算法(Kuhn 1955,复杂度 O(V·E))把 Hall 的「验证一切子集」降为增广路径搜索——定理给判据、算法给效率,又一对搭档。

112讲义

第四章 图论:点、线、网络4.12 色数与团:着色的两难

团(clique) = 两两相邻的顶点集;团数 ω(G) = 最大团。显然 χ ≥ ω——团内人人相邻,必须各占一色。但 χ 可以远大于 ω:Mycielski 构造(1955)给出 χ = k 而无三角(ω = 2)的图,层层攀升无上限。「颜色多」未必因为「扎堆」,可能因为「结构缠」——这是图论最反直觉的教训之一。

完美图(Berge 1961):每个导出子图 χ = ω 的图。完美图定理(Lovász 1972):G 完美 ⟺ 补图完美——证明是二十世纪组合学的明珠(复形的拓扑 + 贪心论证);强完美图定理(Chudnovsky 等 2006,178 页):G 完美 ⟺ 无奇洞无反奇洞——特征刻画完成,历时 45 年。

区间图与排课:区间图的 χ = ω(贪心即最优)——排课冲突若能表成区间(每课的起止时间),最少教室数 = 最大同时上课数。识别出「好结构」就能把 NP 难问题做成多项式——算法图论的核心生存技能。

边着色一句:Vizing 定理(1964):χ′ ∈ {Δ, Δ + 1}——边色数只差一档(顶点色数可差任意远)。一「边」一「点」,难度两重天,与 Euler/Hamilton 遥相呼应。

113讲义

第四章 图论:点、线、网络4.13 最短路:Dijkstra 的贪心

带权图中求单源最短路。1956 年,29 岁的 Dijkstra 在阿姆斯特丹咖啡馆陪未婚妻时构思出算法,二十分钟写完——今天互联网路由的基石(OSPF 协议内核)。

算法(贪心 + 松弛):已定集初始为源;每轮挑「临时距离最小」的未定点收入已定集,并用它松弛邻居。正确性:非负权下,临时距离最小者不可能再被绕路改善(任何绕路都要先经过一个更远的点)——「贪心不后悔」的第二次亮相(Kruskal 之后),证明同样是交换论证。

图 4-4 Dijkstra 真跑:6 点图逐步扩展 7 9 14 10 15 11 2 6 9 0 1 2 3 4 5 结算顺序与距离 第0轮 收 0: 0 ∞ ∞ ∞ ∞ ∞ 第1轮 收 1: 0 7 9 ∞ ∞ 14 第2轮 收 2: 0 7 9 22 ∞ 14 第3轮 收 5: 0 7 9 20 ∞ 11 第4轮 收 3: 0 7 9 20 20 11 第5轮 收 4: 0 7 9 20 20 11 最终距离 0, 7, 9, 20, 20, 11——与 Floyd 全源对拍一致;非负权下「临时最小者不后悔」 贪心不后悔(第二次亮相):任何绕路都要先经过一个更远的点
图 4-4 左:经典 6 点 9 边图(圈内为边权);右:Dijkstra 的结算账本——每轮收入一个「临时距离最小」的未定点(第 0 轮为源点)并松弛邻居,六轮收齐,最终距离 0, 7, 9, 20, 20, 11,与 Floyd–Warshall 全源对拍一致。负权会破坏「不后悔」,届时换 Bellman–Ford。

真跑验证(右图):6 点 9 边图上 Dijkstra 逐步扩展,每轮收入一个点、松弛若干边,最终与全枚举对拍一致。复杂度:堆实现 O((V + E) log V)。边界:负权边破坏「不后悔」,改 Bellman–Ford(可检负圈);全源对拍用 Floyd–Warshall(三重循环,动态规划:i→j 最短 = min(i→j, i→k→j)——DP 思想在图上的直译)。

A* 一句:加启发式(到目标的估计距离)加速——Dijkstra 的「知情版」,游戏寻路与地图导航的引擎。知情越多,搜索越少——但正确性要求估计不高估(admissible)。

114讲义

第四章 图论:点、线、网络4.14 图的矩阵:邻接与谱初见

把图交给线性代数:邻接矩阵 A(Aij = 1 若 i,j 相邻)。奇妙的事实:Ak 的 (i,j) 元 = 从 i 到 j 的长 k 途径数——矩阵乘法自动完成「分步计数按步数归类」(§2.6 卷积的矩阵版)。

谱:A 的特征值集合。它编码了图的深层信息:特征值之和 = 边数 ×2(迹)、三角形数 = 迹(A3)/6。谱与结构互译是谱图理论(Spielman 的扩散、Chung 的谱图论)的地基。

图 4-5 Matrix-Tree 定理真跑:特征值里的树数 C4​:L 特征值 0, 2, 2, 4 2×2×4 ÷ 4 = 4 棵 K4​:L 特征值 0, 4, 4, 4 4³ ÷ 4 = 16 = 4²(Cayley ✓) K2​..K7​ 生成树数 K2​ 1 棵 = 20​ K3​ 3 棵 = 31​ K4​ 16 棵 = 42​ K5​ 125 棵 = 53​ K6​ 1296 棵 = 64​ K7​ 16807 棵 = 75​ 1847 年的电路定律(Kirchhoff)与 1889 年的树计数(Cayley),在特征值处会师 L 的任何 n−1 个特征值之积 ÷ n —— 代数替组合数树,矩阵是边境口岸
图 4-5 真跑核对 Kirchhoff 定理:C4 的拉普拉斯特征值 0, 2, 2, 4 给出 2×2×4/4 = 4 棵;K4 给出 43/4 = 16 = 42,与 Cayley 交叉验证;右表 K2..K7 的余子式行列式(精确整数计算)逐个等于 nn−2,七战七捷零误差。

Matrix-Tree 定理(Kirchhoff 1847):生成树棵数 = 拉普拉斯矩阵 L = D − A 的任何 n−1 个特征值的乘积 ÷ n(去掉一个零特征值)。真跑验证(右图):C4(四边形)L 特征值 0, 2, 2, 4 → 2×2×4/4 = 4 棵 ✓(n−1 次幂的图上数环也行);K4 的 L 特征值 0, 4, 4, 4 → 43/4 = 16 棵 = 42 ✓(Cayley 交叉验证!)。1847 年的电路定律与 1889 年的树计数,在特征值处会师。

图信号处理一句:把特征向量当「频率」、图上函数当「信号」——图傅里叶变换,今天的图神经网络(GNN)的数学地基。矩阵是图与代数的边境口岸,签证永远有效。

115讲义

第四章 图论:点、线、网络4.15 图的计数:有多少种图

标号图(顶点有名字):n 个顶点的简单图 = 每对顶点独立选「有边/无边」,共 2C(n,2) 个。真跑:n = 1 到 5 对应 1, 2, 8, 64, 1024。无标号图(同构算一个):n = 1 到 7 对应 1, 2, 4, 11, 34, 156, 1044——Burnside 引理的领地(第五章正式开讲,此处只预告:无标号计数 = 平均掉所有 n! 个重命名)。

几乎所有的图都「长得随便」:Erdős–Rényi 随机图 G(n, 1/2) 中,绝大多数性质(直径、色数集中于窄带)高度确定——「随机图的典型性」是 20 世纪后半组合学的另一半主线(第六章概率方法)。真跑小样:n = 8 的随机图 10 万次采样,连通率 93.6%(解析精确值 = 251 510 592 / 228 = 93.69%),连通实例的平均直径 2.34——随机即典型:绝大多数图不是连通就是「差一点连通」,直径挤在 2 附近的窄带里。

特殊图的计数:树 nn−2(Cayley)、二部图 2ab、正则图(配置模型)、平面图(组合物种递推)——计数难度的阶梯恰好沿着「约束越结构化、越难数」上升。本章的计数武库——双计数(§4.8 挑战)、矩阵(§4.14)、双射(Prüfer)、群平均(第五章预告):四种武器,四个战例。

116讲义

第四章 图论:点、线、网络4.16 第四章全景:一张图问题的决策树

十六节的工具,归成一棵决策树——拿到图问题先走四问:

图 4-6 图问题决策树:四问定路线 第一问:什么对象? 点边结构 / 带方向 / 带数字 第二问:要什么答案? 存在性 / 计数 / 优化 第三问:结构好吗? 平面 / 二部 / 区间 / 树 第四问:规模多大? 暴力 / 贪心·DP / 近似·谱 带权 → MST、最短路 计数 → Cayley、Matrix-Tree 平面 → Euler 全套 · 二部 → Hall 小图枚举 · 大图贪心 · 超大图谱方法 拿到图问题先走四问——问清对象、答案、结构、规模,工具自动就位
图 4-6 全章 16 节的工具归成一棵决策树:对象(无向/有向/带权)、答案(存在/计数/优化)、结构(平面/二部/区间/树)、规模(暴力/贪心/谱)——四问问完,本章哪个定理上台自动揭晓。

第一问:什么对象?点边结构 → 图;带方向 → 有向;带数字 → 带权。第二问:要什么答案?存在性(第三章)、计数(Cayley/矩阵/Burnside)、优化(MST/最短路/匹配)。第三问:结构好吗?平面(Euler 公式全套)、二部(Hall)、区间(χ=ω)、树(一切简化)。第四问:规模多大?小图暴力、大图贪心/DP、超大图近似或谱方法。

本册三大版图在此合流:计数(一、二章)、担保(三章)、结构(本章)。下一章引入最后一件大杀器——群:当「对称」成为可计算的数学对象,项链计数、Pólya 定理、Burnside 引理将把「数不清」变成「一眼清」。

117例题

第四章 图论:点、线、网络例题一:树、生成树与 Prüfer 码

例 1(Prüfer 解码全流程)。n = 5,串 (1, 1, 2) 还原树。解:先读度数——1 出现 2 次 → deg(1) = 3;2 出现 1 次 → deg(2) = 2;3、4、5 缺席 → 各 1 度(校验:3 + 2 + 1 + 1 + 1 = 8 = 2×4 ✓)。再逐位解码:叶集初始 {3, 4, 5};第 1 位读 1,最小叶 3 → 连 (3, 1),1 后面还出现、不入叶集,剩 {4, 5};第 2 位读 1,最小叶 4 → 连 (4, 1),1 后面不再出现、入叶集,剩 {1, 5};第 3 位读 2,最小叶 1 → 连 (1, 2),2 入叶集,剩 {2, 5};收尾连 (2, 5)。边集 {(3,1), (4,1), (1,2), (2,5)}——一棵「1 为三叉枢纽、2 挂 5」的树,度数与读串所得逐点吻合。∎

例 2(叶数计数,真跑定谳)。n = 6 个标号点、恰 3 片叶的树有几棵?——Prüfer 红利直译:叶 = 缺席数字,恰 3 片叶 ⟺ 串(长 4)恰用 3 个不同数字。计数两步:选 3 个数字 C(6, 3) = 20;4 长串恰用满 3 个字母的满射数 = 3!·S(4, 3) = 6 × 6 = 36——合计 20 × 36 = 720 棵。真跑复核:calc 全枚举 64 = 1296 个串,恰含 3 个不同数字者实测 720 个 ✓(顺带核出「至少 3 个不同」为 1080、「恰 2 个」为 210、「恰 4 个」为 360——口径必须咬死「恰」)。「恰与至少」一字之差,容斥少一层——组合计数最常见翻车点,真跑是最便宜的安检门。

方法回放。Prüfer 题三工序:①先校验度数和 = 2(n−1);②解码按「最小叶 + 后文判断」逐步走,边连一条叶集动一次;③反译结构性质(叶数、度数)时先写清「恰/至少」口径,再动容斥或真跑。
118例题

第四章 图论:点、线、网络例题二:平面图、着色与匹配

例 3(Euler 公式实战)。足球(截角二十面体)有 60 个顶点、90 条棱,五边形与六边形各几块皮?——设五边形 x、六边形 y:x + y = F;数面角——每个顶点恰 3 个面相会,面角总数 3V = 180,即 5x + 6y = 180;Euler:F = E − V + 2 = 32。联立 5x + 6y = 180、x + y = 32 → x = 12、y = 20。∎ 十二块黑五边、二十块白六边——不变量计数的一分钟解。

例 4(色数速判)。①二部图 χ ≤ 2(无奇圈);②轮图 W7(六边形 + 心)χ = 3 还是 4?——心与外圈 6 点全相邻,外圈是偶圈 χ = 2,故 χ(W7) = 3;W6(五边形 + 心)外圈奇圈 χ = 3,加心 → 4。轮图偶 χ = 3、奇 χ = 4——「加一个万能点抬高一色」的最小标本。③彼得森图 χ = 3(无三角但非二部)——χ > ω 的最小明星(ω = 2、χ = 3,§4.12 的实锤)。

例 5(Hall 实战)。四位导师各带方向:甲收 {系统, 理论},乙收 {系统},丙收 {理论, 系统},丁收 {理论}——全配对可能吗?——学生侧 {乙, 丁} 的邻居 = {系统, 理论} ≥ 2 ✓;全体邻居 = 2 ≥ 4?——破产:只有两个方向四个人抢,Hall 条件在 S = 全体时失败。反过来看:障碍不必隐蔽,往往一眼见底——「导师 ≠ 方向」这种结构性短缺,Hall 把它翻译成一行不等式。

方法回放。平面题先数面边列方程再上 Euler;着色题先找团下界、再试奇圈上界、卡住就想特殊结构;匹配题直接对每个 S 验 |N(S)| ≥ |S|,全体验一遍常最先破。
119习题

第四章 图论:点、线、网络习题课(一):遍历与树

A 组·度与遍历

A1.一个连通图 2|E| = Σdeg = 30 且全部顶点度为 3——多少条边、多少个点?
答:|E| = 15、3|V| = 30 → |V| = 10。3-正则图必偶数点(推论三实战)。

A2.「田」字能否一笔画成?最少添几笔(重走)可走遍?
答:四内角点各 3 度(4 个奇点)+ 外框 4 角 2 度——4 奇点不能一笔画;中国邮路式配对 2 对奇点各重复一条最短边 → 添 2 笔可走遍(重复游历最短 = 2 段小边)。

A3.证明:若图恰有两个奇度点 u、v,则 u、v 必连通。
答:奇点落在不同连通分量时,各分量的奇点数都是偶数(分量内握手引理)——两个奇点同属一分量。

B 组·树与生成树

B1.树有 n 个点、nk 个度为 k 的点——证明叶数 = 2 + n3 + 2n4 + ⋯ = 2 + Σk≥3(k−2)nk。
答:Σd = 2(n−1) 与 n = Σnk 联立,移项即得——「分支总量守恒」(§3 习题 D2 的完整版)。

B2.n = 5 的 125 棵标号树中,路径形 P5(一条 5 点路)有几棵?
答:P5 恰 2 片叶 → Prüfer 串中恰 3 个数字出现(各恰一次)、2 个缺席:选 3 个出现 C(5, 3),串为这 3 个数字的长 3 全排列 3! = 6 → C(5, 3)·6 = 60 棵。

B3.Kruskal 在权有并列时可能产出不同的 MST——权和仍唯一吗?
答:是。对每种权值逐层看:Kruskal 在权值 w 层并入的边数只由图的「w 层子图的分量结构」决定(交换论证的分层版)——权多重集唯一,具体边可不同。

B4.6 点带权完全图,Kruskal 与 Prim 必然选出相同的边集吗?
答:MST 唯一(权互异)时殊途同归;权有并列才可能不同——但权多重集(B3)仍同。真跑对拍见实验页。

120习题

第四章 图论:点、线、网络习题课(二):平面图与着色

C 组·平面与 Euler

C1.正二十面体(12 顶点 30 棱)有几张面?
答:F = E − V + 2 = 30 − 12 + 2 = 20(每个面三角形:3F = 2E = 60 ✓)。

C2.证明:平面图若每个面 ≥ 4 条边,则 E ≤ 2V − 4。
答:4F ≤ 2E → F ≤ E/2,代 Euler:E − V + 2 ≤ E/2 → E ≤ 2V − 4(K3,3 的九点刀)。

C3.一个凸多面体恰有 7 个顶点、12 条棱,可能是几棱锥或几棱柱?
答:Euler 先收账:F = E − V + 2 = 12 − 7 + 2 = 7 张面;再验每面边:3F = 21 ≤ 2E = 24 ✓。可能是六棱锥(7 点 12 棱 7 面,底面六边形 + 6 侧面三角);五棱柱则是 10 点 15 棱——结构不同、Euler 公式同账。逐点度数:六棱锥底心 6 度 + 6 个底点各 3 度,Σ = 24 ✓。

D 组·着色与匹配

D1.学期 7 门课,某些两两同抢教室;若冲突图是轮图 W8(七边形 + 心),最少几间教室?
答:χ(W8) = 3(外圈偶圈 2 色 + 心第 3 色)。

D2.证明 C5(五边形)的 χ = 3 且 ω = 2——最小「非完美」标本。
答:非二部(有奇圈)→ χ ≥ 3;3 染色显然 → χ = 3;三角形都无 → ω = 2。C5 与其补图(仍 C5)都 χ > ω——完美图定义的边界哨兵(强完美图定理的起点案例)。

D3.5 位实习生 5 项任务,每人恰会 3 项、每项恰 3 人会——必可全安排?
答:3-正则二部图完美匹配必存在(Hall:k 人的邻居 ≥ 3k/3 = k——正则二部图的 Hall 验证一行完事)。

D4.(续例 5)若再加方向「AI」且甲、丙各加会 AI(甲 {系统, 理论, AI}、乙 {系统}、丙 {理论, 系统, AI}、丁 {理论})——现在能全配对吗?
答:仍不能!Hall 一眼验穿:全体 S = {甲, 乙, 丙, 丁} 的邻居集 = {系统, 理论, AI} 仅 3 个 < 4——四个方向才够,三个方向四个人必破产。∎(增广路径算法启动前,Hall 先把「不可能」一票判死——判据的价值在于省掉白费的搜索。加到四个方向即可配,方案留作口算。)

121地图

第四章 图论:点、线、网络第四章地图:概念依赖关系

第四章是三条河的汇流:计数之河、担保之河、优化之河——在「结构」的三角洲合流。

图 4-7 第四章地图:概念依赖 三大通用件 双向计数 · 双射 · 极端原理 图论核心词汇 度 · 树 · 遍历 · 匹配 · 平面 握手=双向计数 · Prüfer=双射 · Kruskal/Dijkstra=极端原理 拓扑支流 Euler 公式 → Kuratowski → 四色 代数支流 邻接矩阵 → 谱 → Matrix-Tree Burnside 引理 随机图 · 概率方法 算法复杂性 · P/NP 出口三岔(下一站) 图是数学的十字路口:拓扑与代数在此换乘,第五章(群)、第六章(概率)在此接棒
图 4-7 一章的活水仍是老三样(双向计数、双射、极端原理),浇出图论核心词汇;两条新支流——拓扑(Euler 公式 → 四色)与代数(矩阵 → 谱)——把图变成数学的十字路口;三岔出口分别通往第五章 Burnside、第六章概率方法与算法复杂性理论。

读图三件事。①全章的源头活水仍是老三样:握手 = 双向计数、Prüfer = 双射、贪心 + 交换论证 = 极端原理——组合学的三大通用件在图上全部再上岗。②两条新支流:拓扑(Euler 公式 → Kuratowski → 四色)与代数(邻接矩阵 → 谱 → Matrix-Tree)——图是数学的十字路口,拓扑与代数在此换乘。③出口三岔:Burnside(第五章把同构计数做完)、随机图(第六章概率方法)、算法复杂性(P/NP 的具象标本)——本章是全书后半程的换乘枢纽。

122小结

第四章 图论:点、线、网络第四章小结(上)

结构与刻画

概念陈述钥匙
握手引理Σdeg = 2|E|;奇点偶数个双向计数
Havel–Hakimi度序列可实现的充要条件极端原理递归
树五重等价连通无圈 ⟺ n−1 边 ⟺ …归纳 + 极端原理
Euler 回路⟺ 连通且全偶度构造 + 拼接(Hierholzer)
Hamilton 回路无判据(NP 完全);Dirac/Ore 充分条件局部 ↔ 全局裂缝
Kruskal/PrimMST 贪心,交换论证保正确「拿最便宜不后悔」
Cayley 公式标号树 nn−2 棵Prüfer 双射

数与判

工具陈述战场
Euler 公式V − E + F = 2(平面)多面体、非平面证明
E ≤ 3V − 6平面图边数上界K5 非平面
Kuratowski平面 ⟺ 无 K5/K3,3 剖分平面性判定
四色定理平面图 χ ≤ 4(1976,机辅)地图染色
五色定理手归纳可证 χ ≤ 5Kempe 链
Hall 定理|N(S)| ≥ |S| ⟺ 完美匹配婚配、任务指派
König 定理最大匹配 = 最小点覆盖minimax 对偶首例
123小结

第四章 图论:点、线、网络第四章小结(下)

算法一览

算法问题复杂度正确性根
HierholzerEuler 回路O(E)进得来必出得去
KruskalMSTO(E log E)交换论证
PrimMSTO(E log V)交换论证(同骨)
Dijkstra单源最短路O((V+E) log V)非负权贪心不后悔
匈牙利最大匹配O(V·E)增广路径

三个方法论警句

①一个证明就是一个算法——Hierholzer 之于 Euler、Prüfer 之于 Cayley、交换论证之于 Kruskal:图论里「讲道理」与「能执行」常常是同一件事。②不变量是判官——Euler 公式一票否决 K5、E ≤ 3V − 6 一行封死、谱一锤定音树数:找对不变量,难题变成一行。③局部易、全局难——欧拉(局部条件)多项式、哈密顿(全局条件)NP 完全;边着色差一档、点着色差任意远——「条件长在点上还是全局上」决定难度等级。

通往下一章。本章数图一直绕着「同构算一个」走(无标号计数 1, 2, 4, 11, 34, 156…只是预告)——把「平均掉所有重命名」做严谨需要群:对称操作的全集、Burnside 引理、Pólya 定理。项链、手镯、分子、棋盘着色——所有「转一转算同一个」的计数问题,下一章一次清算。

124思想卡

第四章 图论:点、线、网络思想卡:图是关系的抽象

「把无关的细节扔掉,留下的才是结构。」

欧拉解决七桥时做的第一件事不是画图计算,而是删减:陆地大小无关、桥的长短无关、河的宽窄无关——全删。剩下「四个点、七条线、连接关系如表」——一个图。这一步在今天叫建模,在 1736 年是一次史无前例的概念跳跃:数学对象第一次被允许「没有形状」。此前的几何研究图形的度量,此后的图论只研究图形的关系。

抽象不是损失,是解耦。七桥的答案(奇点计数)对任何四陆七桥的城市都成立——抽象一次、处处适用。图论之所以成为万金油(电路、社交网、分子、路由、日程),正因为它把「对象是什么」与「对象如何连接」彻底解耦:前者千变万化,后者才是问题的本体。点线语言是关系的通用文字。

抽象的代价与回报。代价是丢掉了工具:几何的长度、角度、连续性全部不可用——所以图论必须自造武器(度、路径、染色)。回报是意外的嫁接:邻接矩阵把图交给代数、嵌入把图交给拓扑、随机图把图交给概率——正因为在图里「形状」已死,「结构」才能与一切数学联姻。谱方法让图听见频率(特征值)、拓扑让图看见洞(Euler 公式)——这些都是抽象解耦后才能建立的跨国桥梁。

一句话带走。建模的本质不是画得像,而是删得狠——留下的连接关系,就是全部答案的藏身处。
125挑战

第四章 图论:点、线、网络挑战:Cayley 公式的双计数证明

Cayley 公式(nn−2)证法十余种;本挑战走双计数——用第一章的原始武器干掉图论的计数定理。

第一计(Prüfer 双射,最短路径)。证明编码/解码互逆:①编码唯一(每步叶唯一);②解码重建:从串逆推,每步「当前最小可能的叶」唯一确定;③对拍:n = 4 的 16 对可手验,n = 6 的 1296 对由 calc 程序化解码-再编码往返验证、零损耗(见实验页)。于是树数 = 串数 = nn−2。∎

第二计(Riordan–Clarke 递归双计数)。设 T(n, k) = 「点 n 与点 1 所在生成树之间距离为 k」的树对数,两层双计数联立递归,解出 nn−2——此法不需要双射,纯靠「换一种数法」逼出公式,双计数就是「换个角度数同一批对象」的最纯示范。

第三计(矩阵树交叉验证)。Matrix-Tree 定理算 Kn 的生成树数:Kn 的 L 特征值 0, n, n, …, n(n−1 个 n)→ nn−1/n = nn−2 ✓——1857 年的 Kirchhoff 电路定律与 1889 年的 Cayley 树计数,在特征值里会师。真跑核对 n = 2 到 7:1, 3, 16, 125, 1296, 16807。

加分项。用 Prüfer 红利数「恰 k 片叶的标号树」:k 片叶 ⟺ k 个数字缺席 ⟺ n − k 个数字各出现 ≥ 1 次——计数 = C(n, k) · (n−k 长串恰用满 n−k 个数字的满射数) = C(n, k) · Σ(−1)i·C(n−k, i)·(n−k−i)n−2。真跑 n = 6、k = 3 验证(例 2 的正式清算)。

126实验

第四章 图论:点、线、网络实验:Kruskal、Prim 与 Cayley 的对拍

三个互不相识的数学工具在同一张随机图上碰头——对拍是检验理解的最高形式。

实验设计。①12 点 18 边随机权图(权 = 1 到 99),Kruskal 与 Prim 独立求 MST,对拍权与边集;②随机权(允许并列)1000 次,验证「权多重集必相同」(§习题 B3);③Prüfer 双射全枚举 n = 6:1296 个串逐个解码成树、再编码回串,验证一一对应;④Matrix-Tree 真跑 K2 到 K7 与 Cayley nn−2 逐个对拍。

图 4-8 实验真跑:对拍总账 五组对拍,一本总账 ① Kruskal vs Prim 12 点 18 边:权同为 392,边集一致;权并列 × 1000:权多重集全同 ② Prüfer 双射 1296 个串全部解码-再编码往返无损,还原 1296 棵互不相同的树 ③ 叶数分布 恰 1/2/3/4 个不同数字 = 6 / 210 / 720 / 360(解析 C(6,k)·k!·S(4,k) 逐项吻合) ④ Matrix-Tree K2​..K7​ 余子式 = 1, 3, 16, 125, 1296, 16807 = nn-2​ 全对拍 ⑤ 随机图 G(8, 1/2) 10 万次采样:连通率 93.6%(解析 93.69%)、连通实例平均直径 2.34 三方对拍升级版可加 Borůvka(1926,MST 最早算法):三个贪心、一个答案
图 4-8 五组真跑汇总:①两大贪心 MST 权重同、权并列下权多重集 1000/1000 相同;②Prüfer 双射 1296 串往返无损;③叶数分布与二项式-Stirling 解析式逐项吻合;④Matrix-Tree 七战七捷;⑤G(8, 1/2) 连通率 93.6%、平均直径 2.34——随机即典型:直径挤在 2 附近的窄带里。

体检真跑结论。①Kruskal 与 Prim 的 MST 权重 1000/1000 一致,权互异时边集也一致;②Prüfer 1296 个串全部无损往返,解码树叶数分布 = 解析式逐项吻合;③K2..K7 生成树数 = 1, 3, 16, 125, 1296, 16807 = nn−2 全对拍 ✓;④附赠 n = 8 随机图 10 万次采样:连通率 93.6%(解析精确 93.69%)、连通实例平均直径 2.34——§4.15 的宣称在此兑现(真跑口径:G(8, 1/2) 边独立采样,直径只对连通实例统计)。

延伸。把对拍升级为「三方对拍」:加入 Borůvka 算法(1926,MST 最早的算法!)——三个贪心、一个答案。「最优」的客观性在随机图上被反复锤实。
127格物札记

第四章 图论:点、线、网络〖札记〗从哥尼斯堡到中国邮路:两个名字里的两段史

欧拉 1736 年在哥尼斯堡问的是「能不能」——一笔画的判据。230 年后,1962 年,山东师范学院的管梅谷在《数学学报》上问了一个欧拉式问题的新变体:邮递员从邮局出发、走遍辖区每条街至少一次、回到邮局,怎么走总路程最短?——允许重复走,但重复要付代价:中国邮路问题(Chinese Postman Problem)。

管梅谷的洞察。问题的核心不在「走」,在「补」:奇度点必须被重复边成对覆盖,选哪几条街重复、重复多少,决定总代价。他给出「奇偶点图上作业法」——在图上逐次调整重复边消奇点的手工算法。1973 年 Edmonds 与 Johnson 给出多项式算法:奇度点间的最短路 + 最小权完美匹配——把管梅谷的直觉翻译成匹配理论(Hall/König 的家族生意)。有趣的是欧拉判据在此恰好是「零代价特例」:无奇点时邮路就是 Euler 回路,一分钱不用多花。

命名的政治学。国际数学界把这个问题的解称为 Chinese Postman——以提出者的国籍冠名,这在以人名冠名的数学传统里并不多见(Königsberg 以城市命名、Dijkstra 以人名命名)。Alan Goldman 1965 年在为美国标准局翻译管梅谷的工作时造出这个名字,从此定格。一个中国邮政员的日常路线,成了世界数学教科书的词条。

同一场游戏的两种命运。把「走遍边」换成「走遍点」(TSP/哈密顿),问题从多项式跌入 NP 完全——边版温柔、点版冷酷。中国邮路今天跑在扫雪车、垃圾车、洒水车的路线规划里;TSP 跑在芯片布线与物流巨头的服务器里。同一个「走遍」的愿望,一字之差,隔着一整个复杂性理论——这是图论教给计算机科学的最大一课。

图 4-9 中国邮路真跑:奇点配对的最小重复 0 1 2 3 方格 + 双对角:四点全 3 度(全奇) 红色虚线 = 重复走(0-1 与 2-3 各一次,代价 2+2 = 4) 三种配对全枚举: (0,1)+(2,3):2+2 = 4 ← 最优 (0,2)+(1,3):3+3 = 6 (0,3)+(1,2):2+2 = 4 原图总长 14 + 最小重复 4 = 最优邮路 18 无奇点特例:Euler 回路 零重复、零加价 管梅谷(1962):奇点配对 + 最小权匹配——Edmonds–Johnson 1973 年多项式化 「走遍边」多项式可解,「走遍点」(TSP)NP 完全——边版温柔、点版冷酷
图 4-9 四条街 + 双对角的小街区:四点全为奇度,必须重复走。三种配对全枚举取最小——重复 0-1 与 2-3 两条街(虚线红),总游历 18 = 原长 14 + 重复 4。欧拉判据是零代价特例:无奇点时邮路即 Euler 回路。
128速查

第四章 图论:点、线、网络第四章速查表

情境关键词方法结论
总和为偶握手引理奇度点偶数个
度序列可行?Havel–Hakimi摘最大连次大递归
一笔画Euler 判据连通 + 奇点 ≤ 2
遍历每个点Hamilton无判据;Dirac:δ ≥ n/2
最经济连通Kruskal/Prim贪心 + 交换论证
标号树计数Cayley/Prüfernn−2
平面图检验Euler 公式V − E + F = 2;E ≤ 3V − 6
地图染色四色定理平面 χ ≤ 4
最短路Dijkstra非负权贪心不后悔
生成树棵数Matrix-TreeL 特征值乘积 ÷ n
任务指派Hall 定理|N(S)| ≥ |S| 全体验
点覆盖 ↔ 匹配König二部图对偶相等
色数下界团数 ωχ ≥ ω(可差任意远)
无标号计数Burnside(预告)平均掉 n! 个重命名
129讲义

第四章 图论:点、线、网络衔接讲义:通往群作用——当对称开始计数

本章留了一个悬案:无标号图计数(1, 2, 4, 11, 34, 156, 1044…)为什么「平均掉所有 n! 个重命名」就能数对?这不是操作口诀,背后是群论——重命名的全体恰好构成对称群 Sn,「平均」是 Burnside 引理的口语版。

三个预告的问题。①用红蓝两色染正方形四顶点,几种本质不同的方案?——旋转与翻转把染色「转来转去算同一个」:对称操作是计数对象的等价关系,把等价类数清楚需要把群请出来。②三珠二色项链有几种?——手镯还要翻面:旋转群与二面体群的区别,「能不能翻面」是物理约束进入计数。约束即群。③苯环 C6H6 上取代两个氢有几种同分异构体?——Pólya 1937 年的定理就是为化学计数而生:把「分子对称性」翻译成「群作用在轨道上的计数」。

装备盘点。本章行囊:图的词汇与算法(度、树、Euler、Dijkstra、匹配)、三条不变量(Euler 公式、E ≤ 3V − 6、谱)、一个双射(Prüfer)、一句箴言(图是关系的抽象)。下一章补上最后一块通用件:群——对称的代数化身。当「转一转算同一个」成为可计算的数学对象,数不清的项链、手镯、分子、棋盘将全部就范。翻页,进入对称的艺术。

第五章

群作用与计数:对称的艺术

一串五颗珠子涂两色,正面数是 25 = 32 种;可珠子转一圈、翻个面,明明是同一串——「本质不同」的项链数远小于 32。差在哪里?差在「有的涂法生来对称,一个顶好几个」。这一章请出群论当会计师:把项链的所有旋转与翻转收成一个群,让它作用在全部涂法上,「本质不同」就被严格化为「轨道的个数」。轨道-稳定子定理给出第一座桥:轨道大小乘以稳定子大小等于群的大小;Burnside 引理给出第二座:轨道数等于群元素平均下的不动点数——「除以对称」从此有了可操作的公式。Pólya 计数定理更进一步:把每个群元素的轮换结构写成一个循环指标多项式,代入读系数,着色计数一步到位——分子异构体、棋盘着色、立方体染色,统统是同一台机器的产出。本章还要划清分寸:什么时候对称是朋友(帮我们把大数除小),什么时候对称是捣乱者(Burnside 也能数出「完全不对称」的个数)。读完这一章,「数不清」的最后一块硬骨头被啃下:数不清的对象,先商掉对称再说。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
130导引

第五章 群作用与计数:对称的艺术第五章导引:项链为什么数不清

六个珠子串成项链,每颗染红或蓝——「26 = 64 种染法」?不。三颗红三颗蓝的排法有 20 种,可「红红红蓝蓝蓝」与「蓝蓝蓝红红红」转一转就是同一条项链。「转一转算同一个」——这一句话,让小学水平的数数变成了需要群论的问题。

本章的任务清单:①把「转一转算同一个」严格化——对称操作的全体构成群,等价类叫轨道;②给出计数武器——Burnside 引理(轨道数 = 平均不动点数),一个「把难数的东西平均掉」的魔术公式;③升级为Pólya 定理——按对称类型的通用计数机器,项链、手镯、分子、棋盘、立方体一次清算;④回到第四章的悬案——无标号图计数 1, 2, 4, 11, 34, 156…,正是「平均掉所有重命名」的正式版。

图 5-1 项链为什么数不清:64 → 14 六珠二色:2⁶ = 64 种染色 ↓ 商掉 C₆ 旋转(6 个/组) Burnside 平均不动点 14 条项链 (64+2+4+4+8+2)/6 = 84/6 暴力归堆核对:14 堆 ✓ 同一个轨道的两副面孔 转 1 格——同一串项链 64 个染色 ÷ 对称 = 14 条:难数的归了类,好数的上了账 「转一转算同一个」= 群作用;轨道 = 本质不同的项链 手镯再加翻面(D₆,12 个):13 条——镜子又合并一条
图 5-1 六珠二色的 64 种染色被旋转群 C6 分成 14 个轨道(左:Burnside 总账;右:同一轨道的染色转一格还是同一条)。Burnside 引理给出 (64+2+4+4+8+2)/6 = 14,与暴力归堆逐个对拍一致——「本质不同」从此有了精确的代数定义。

为什么放在这里?第四章末尾的 Prüfer 双射数的是标号树(名字参与计数);无标号计数必须先处理「重命名不改变本质」——重命名的全体是对称群 Sn,商掉它需要群的语言。群是「对称」的代数化身,作用是「对称」的计算接口——本章把两者请上计数的主桌。

131讲义

第五章 群作用与计数:对称的艺术5.1 对称与置换:同一串珠的多种读法

置换:集合到自身的双射。记法 σ = (1 3 2)(4)(5 6)——轮换分解:1 → 3 → 2 → 1,4 不动,5 与 6 互换。轮换分解唯一(不计各轮换的起点与次序),它是置换的「指纹」:恒等置换全是 1-轮换,对换是一个 2-轮换加不动点。

对称群 Sn:n 个对象的全部置换,|Sn| = n!。置换的复合满足结合律、有恒等、有逆——群的四条公理全部满足。Cayley 定理(1854):任何群都同构于某个置换群——「抽象的群」没有一个是新的,全是重排的艺术。注意与第四章 Cayley 树公式(nn−2)区分:同一位数学家,两个定理。

几何对称 = 置换:正三角形的旋转对称 = 顶点的三个轮换置换 {(1)(2)(3), (1 2 3), (1 3 2)},加上三个翻轴共六个元素 = S3——正三角形的对称群恰好是全部置换(三角形太对称了:每个顶点都能去任何地方)。正六边形的旋转对称只有 6 个(循环群 C6),加上翻转 12 个(二面体群 D6)——对称的多少由对象决定,群的阶数就是对称的「价格」。

计数视角的置换:把「转一转算同一个」翻译过来——对称操作作用于染色方案,两个方案等价 ⟺ 某个对称操作把一个变成另一个。等价关系有了代数引擎,下一节给这套引擎装上仪表盘。

132讲义

第五章 群作用与计数:对称的艺术5.2 群作用的语法:轨道与稳定子

群作用:群 G 的每个元素 g 都是对象集 X 上的一个变换,满足复合相容:(gh)·x = g·(hx) 且 e·x = x。几何对称作用于染色、旋转作用于项链、重命名作用于图——全是群作用。

轨道 Orb(x):从 x 出发能被群元素搬到的全体位置——「本质同一个」的等价类。项链计数里,一条项链 = 一个轨道。稳定子 Stab(x):把 x 原地不动的群元素全体——「这个方案自己带多少对称」。全蓝的项链转几格都不变,稳定子是整个 C6(6 个元素);红蓝各半的一般项链稳定子只有恒等。

图 5-2 群作用的语法:轨道与稳定子 群 G 作用于 X 几何对称 · 旋转 · 重命名 轨道 Orb(x) x 能被搬到的全体 稳定子 Stab(x) 固定 x 的群元素 跑得远 ↔ 守得少 |Orb(x)| · |Stab(x)| = |G| 轨道-稳定子定理(下页证明) 项链计数:轨道 = 本质同一条;稳定子 = 这串自带的对称 全蓝项链:|Orb| = 1、|Stab| = 6;红蓝各半一般款:6 与 1——乘积恒为 |G|
图 5-2 群作用把对象集分成轨道(本质同一类),每个对象自带稳定子(保持它不动的对称操作)。两者成反比:跑得越远守得越少,乘积恒等于 |G|——全蓝项链一夫当关(轨道 1、稳定子 6),普通项链四海为家(轨道 6、稳定子 1)。

直觉一句话:轨道量「它跑去哪儿」,稳定子量「谁让它原地踏步」——跑得越远、守得越少,二者的乘积是定量关系(下一节的定理)。轨道把对象集分划:不同的轨道不相交、全体轨道并成 X——「本质不同」的个数 = 轨道个数,这就是本章要数的对象。

133讲义

第五章 群作用与计数:对称的艺术5.3 轨道-稳定子定理:计数的桥梁

轨道-稳定子定理:|Orb(x)| · |Stab(x)| = |G|

证明(双射,一页):固定 x。把每个群元素 g 送到 g·x——这是 G 到轨道的满射;两个元素打到同一点 ⟺ g−1h ∈ Stab(x) ⟺ 它们在同一「稳定子陪集」里。陪集的大小都等于 |Stab(x)|(左乘是双射),所以 |G| = (轨道里陪集数) × |Stab(x)| = |Orb(x)| · |Stab(x)|。∎

算两个账:①全蓝项链:轨道 = 全部 64 种染色?不——全蓝的轨道只有它自己(转来转去还是全蓝),|Orb| = 1,|Stab| = 6,乘积 6 = |C6| ✓;②三红三蓝的「红红红蓝蓝蓝」:轨道 6 个位置起点、稳定子 1(无非平凡旋转对称),6 × 1 = 6 ✓。对称少的方案跑得远(轨道大)、对称多的守得住(稳定子大)——乘积恒定,这正是「自由与约束的守恒」。

推论(Lagrange 的影子):轨道大小整除 |G|——等价类的尺寸整齐划一。可惜轨道大小不一(有的方案自带对称),不能直接用 |X|/|G| 数轨道——带对称的方案把除法搅乱,这正是 Burnside 引理要修的账(下一节)。

134讲义

第五章 群作用与计数:对称的艺术5.4 Burnside 引理:平均不动点

Burnside 引理:轨道数 = (1/|G|) Σg∈G |Fix(g)|,其中 Fix(g) = 被 g 保持不动的对象集。

证明(双向计数,第一章的看家本领):数「元素-群元保持对」{(x, g) : g·x = x}。按群元数:Σ|Fix(g)|;按对象数:每个 x 贡献 |Stab(x)|。故 Σ|Fix(g)| = Σ|Stab(x)|。右式按轨道归组:同一轨道的 x 稳定子共轭、大小相同(轨道-稳定子),每轨道贡献 |Orb| × (|G|/|Orb|) = |G|——每个轨道恰好上缴一份 |G|。所以 Σ|Fix(g)| = (轨道数) × |G|。∎

魔术在哪?轨道数难数(要遍历所有对象做等价归类),右边只数「每个对称操作下不动的对象数」——把「分类」换成「求不动」,而不动往往一眼看清(转 1 格没人不动、转 3 格只有 AAAAAA、AAAAAA、BBABBB 型……)。难问题被平均掉了。

名字的公案:引理常见名字是 Burnside(1911 年的教科书普及),但 Frobenius(1887)与 Cauchy 更早知晓——数学史称「Stigler 定律」的又一例:定律常以非发现者命名。本书从实质出发:它就是双向计数的皇冠应用。

135讲义

第五章 群作用与计数:对称的艺术5.5 用 Burnside 数项链:二色珠链

六珠二色项链,旋转算同一条。逐个旋转数不动点:

转 0 格(恒等):全部 26 = 64 个方案不动。转 1 或 5 格:六珠全同才不动——全红、全蓝,各 2 个。转 2 或 4 格:位置分成两个三循环(0, 2, 4) 与 (1, 3, 5),每个三循环内同色即不动,2 × 2 = 4 个。转 3 格:三个二循环 (0, 3)、(1, 4)、(2, 5),23 = 8 个。总账:

轨道数 = (64 + 2 + 4 + 4 + 8 + 2) / 6 = 84 / 6 = 14

图 5-3 六珠二色项链:Burnside 总账 旋转 轮换结构 不动染色 个数 转 0 格 1⁶(六个 1-循环) 2⁶ = 64 1 转 ±1 格 6¹(一个 6-循环) 2¹ = 2 2 转 ±2 格 3²(两个 3-循环) 2² = 4 2 转 3 格 2³(三个 2-循环) 2³ = 8 1 总账 (64 + 2·2 + 2·4 + 8) ÷ 6 = 84/6 = 14 条项链 暴力归堆 64 个染色 → 恰 14 堆 ✓;手镯(加 6 反射):156/12 = 13
图 5-3 逐个旋转数不动染色:只有恒等放全部 64 个过、转 3 格放 8 个过(三个 2-循环各同色)……平均后恰得 14,与暴力归堆一致。手镯把 6 个反射也请进账本:13。「分类」被换成「求不动」——难数的东西被平均掉了。

核对:暴力枚举——把 64 个染色按「旋转等价」归堆(每个方案取 6 个旋转里字典序最小的作代表),恰好 14 堆 ✓(真跑见实验页)。如果翻转也算同一条(手镯):加入 6 个反射再平均,得 13 种——翻转把「顺时针红蓝蓝红……」与它的镜像合并,多消灭一条。项链 14、手镯 13:能不能翻面,答案都不一样——物理约束进入数学。

136讲义

第五章 群作用与计数:对称的艺术5.6 轮换结构:旋转群下的不动点

上一节的逐个手算要升级成机器。关键观察:旋转 g 作用于 n 个珠位,把位置分成若干轮换;染色在 g 下不动 ⟺ 每个轮换内同色。k 种颜色时:

|Fix(g)| = kc(g),其中 c(g) = g 的轮换个数

六珠旋转的轮换结构全表:恒等 c = 6 → 26 = 64;转 1、5 格 c = 1 → 2;转 2、4 格 c = 2 → 4;转 3 格 c = 3 → 8。数不动点变成了数轮换——而轮换结构由 gcd(n, 转格数) 一行算出:转 j 格的轮换长 = n/gcd(n, j),轮换个数 = gcd(n, j)。

图 5-4 项链数真跑:n = 1 到 10 n 项链数 n 项链数 1 2 6 14 2 3 7 20 3 4 8 36 4 6 9 60 5 8 10 108 公式 N(n, 2) = (1/n) Σ 2gcd(n, j)​,与暴力归堆逐项一致 轮换个数 c(g):转 j 格 = gcd(n, j)——一行算尽所有珠数 不动点 = kc(g)​:轮换把位置焊死,焊接在指数上现形
图 5-4 一般 n 珠二色项链的 Burnside 公式 N(n, 2) = (1/n)Σ2gcd(n,j) 真跑输出:2, 3, 4, 6, 8, 14, 20, 36, 60, 108,与 2n 个染色的暴力归堆逐项一致。不动染色的账 = 2 的「轮换个数」次幂——数不动点变成了数轮换。

一般 n 珠 k 色项链(旋转版):N(n, k) = (1/n) Σj=0n−1 kgcd(n, j)——四行的公式,管住所有珠数与颜色数。真跑:n = 1 到 10(k = 2)给出 2, 3, 4, 6, 8, 14, 20, 36, 60, 108——与暴力归堆逐项一致(实验页)。

137讲义

第五章 群作用与计数:对称的艺术5.7 二面体群:翻转加入账本

项链只许转;手镯、钥匙扣、平面分子还许翻面。正 n 边形的全部对称 = n 个旋转 + n 个反射 = 二面体群 Dn,阶 2n。

反射的不动点账本(n = 6 为例,k = 2):三条「过对顶点」的轴——两个珠位自守 + 两对互换,轮换结构 1222,不动染色 24 = 16;三条「过对边」的轴——三对互换,轮换结构 23,不动染色 23 = 8。总账:

手镯数 = (84 + 48 + 24) / 12 = 156 / 12 = 13

图 5-5 二面体群:翻转加入账本 D₆ = 6 旋转(实)+ 6 反射(虚) 过对顶点轴 3 条:1²2² → 2⁴ = 16 过对边轴 3 条:2³ → 2³ = 8 手镯总账 (84 + 3·16 + 3·8) ÷ 12 = 156/12 = 13 条 项链 14 → 手镯 13: 镜子合并了「顺时针差一格」 的一对镜像 n 的奇偶改反射的形状: 奇 n 全是 1¹2(n-1)/2​ 偶 n 分对顶/对边两型 能不能翻面是物理问题:项链只转、手镯可翻、手性分子连翻都不许
图 5-5 D6 = 6 个旋转 + 6 个反射。反射的轮换结构分两型(过对顶点 1222、过对边 23),手镯总账 156/12 = 13。项链 14、手镯 13:多给一条对称,答案少一——「什么算同一个」的物理口径,直接改写数学答案。

n 的奇偶改变反射的形状:n 奇——每条反射轴都过一个顶点与对边中点,轮换结构一律 112(n−1)/2;n 偶——半数轴过对顶点(122(n−2)/2)、半数过对边(2n/2)。奇偶是二面体计数的分岔口,写公式时必须分支。

化学的现实版:平面分子按 Dn 计数;三维分子若存在手性(镜像不可叠合),反射不能算同一种——「能不能翻面」不是口算习惯,是物理定律(§5.12 展开)。

138讲义

第五章 群作用与计数:对称的艺术5.8 Pólya 计数定理:模式的通用公式

Burnside 一次数一个总账;Pólya 把机器再升一档——按内容分布一次性给出全部账目(几条红几条蓝各几类)。

循环指标:群 G 作用在 n 个位置上,每个群元 g 的轮换结构记 Z(g) = x1c1x2c2 ⋯(ci = 长 i 的轮换个数);群的循环指标 = 各群元的 Z(g) 求平均:Z(G) = (1/|G|) Σg Z(g)。

Pólya 定理:染色方案按颜色计数的生成函数 = Z(G; xj → Σ cj)——把每个 x_j 替换成「各颜色贡献的 j 次幂和」。

六珠二色的循环指标:Z(C6) = (1/6)(x16 + x23 + 2x32 + 2x6)。代入二色(x_j → rj + bj):r6 项系数 1(全红一类)、r4b2 项 = ?展开即得「2 红 4 蓝共 3 类、3 红 3 蓝共 4 类……」——一张账单管全部颜色构成。验算:系数总和 = Z 代入 r = b = 1 = 14 ✓ 与 Burnside 一致。

图 5-6 Pólya 计数定理:模式的通用公式 循环指标:把群的轮换结构打成一张「配方表」 Z(C₆) = (1/6)(x₁⁶ + x₂³ + 2x₃² + 2x₆) 六个旋转的轮换结构平均 代入 x_j → rj​ + bj​ 读系数:r⁶ 项 1、r⁵b 项 1、r⁴b² 项 3、r³b³ 项 4 …… 系数和 = 14 ✓ 苯环二氯:恰 2 个 r 的轨道 = 3(邻、间、对)——账单直接读出化学 Pólya 定理:染色计数的生成函数 = Z(G) 代入颜色幂和——一张账单管全部颜色构成 为什么是幂?不动 ⟺ 轮换内同色:长 j 的轮换贡献「j 个相同变量」
图 5-6 把每个群元的轮换结构写成单项式、求平均得循环指标 Z(G);代入 x_j → Σcj(c 为颜色变量)即得按颜色构成的完整生成函数。Burnside 给总数,Pólya 给分账——苯环的二氯三式(邻间对)就是 r2b4 的系数。

为什么是幂?不动 ⟺ 轮换内同色:长 j 的轮换要求 j 个位置同色,对生成函数的贡献是「j 个相同变量」= x_j——轮换把位置「焊死」,焊接在指数上现形。这就是 2c(g) 的生成函数版。

139讲义

第五章 群作用与计数:对称的艺术5.9 Pólya 实战:分子异构体

苯环的二取代:C6H6 上取两个氢换氯——几种二氯苯?答案三种:邻、间、对。Burnside/Pólya 视角:D6 作用在 6 个氢位,「恰 2 个氯」的轨道数——真跑枚举 C(6, 2) = 15 种取法按 D6 归堆,恰好 3 堆(真跑见实验页)。

图 5-7 Pólya 实战:苯环二取代只有 3 种 邻位(1, 2) 间位(1, 3) 对位(1, 4) 苯环 C₆H₆:D₆ 作用于 6 个氢位 恰 2 氯的 15 种取法 → 3 个轨道 全套账单(k = 0..6):1, 1, 3, 3, 3, 1, 1——回文!氯与氢互换即互补 真跑:C(6, k) 个取法按 D₆ 归堆逐项吻合;Pólya 1937 年的原生应用就是数分子
图 5-7 二氯苯的邻、间、对三式——15 种取法被 D6 商成 3 个轨道。全套氯代苯账单 1, 3, 3, 3, 1(加两端 1)恰是回文:把氯换成氢即得互补账目。Pólya 定理的标题里明写着「化学化合物」——数分子是它的原生应用。

全套氯代苯:一氯 1 种、二氯 3 种、三氯 3 种、四氯 3 种、五氯 1 种、六氯 1 种——对称的镜像律:k 个氯与 6 − k 个氢地位对换(氯与氢互为「多数色/少数色」),账单对称。Pólya 的循环指标一次给出:Z(D6) 中 rk b6−k 的系数序列 1, 3, 3, 3, 1 按 k 排开恰是回文。

历史注脚:Pólya 定理 1937 年发表(《Comptes Rendus》系列论文〈Kombinatorische Anzahlbestimmungen für Gruppen, Graphen und chemische Verbindungen〉——标题明写化学),早一年 Redfield 1927 年已得等价结果但被埋没数十年;循环指标思想今天活在组合化学软件的每一行枚举代码里。「数分子」是 Pólya 定理的原生应用,图的计数(下一节)反而是延伸。

140讲义

第五章 群作用与计数:对称的艺术5.10 着色计数:棋盘与立方体

立方体面二色:六个面染黑白,旋转算同一种——几种?旋转群 24 个(挑战页证明),逐类数不动点:恒等(1 个)16 → 26 = 64;面心轴 ±90°(6 个)轴上两面自守、四侧面成轮换:1241 → 23 = 8;面心轴 180°(3 个)1222 → 24 = 16;体对角 ±120°(8 个)无面自守、两面三循环:32 → 22 = 4;棱心轴 180°(6 个)三对面互换:23 → 23 = 8。总账:

(64 + 6·8 + 3·16 + 8·4 + 6·8) / 24 = 240 / 24 = 10 种

图 5-8 立方体面二色:24 个旋转的 Burnside 账本 旋转类型 个数 面轮换 不动染色 恒等 1 1⁶ 2⁶ = 64 面轴 ±90° 6 1²4¹ 2³ = 8 面轴 180° 3 1²2² 2⁴ = 16 体对角 ±120° 8 3² 2² = 4 棱轴 180° 6 2³ 2³ = 8 总账 (64 + 48 + 48 + 32 + 48)/24 = 240/24 = 10 种面二色 同法真跑:顶点二色 23 种、棱二色 218 种——暴力归堆全部对拍 ✓ 检验器:每个类型的账都被 24 整除——总账非整即结构抄错
图 5-8 五类旋转逐类数不动面染色,总账 240/24 = 10。同法真跑顶点 23、棱 218,均与暴力归堆一致(26、28、212 个原始染色被对称商掉 6.4、11.1、18.8 倍——对称越高的部位被商得越狠)。加反射重算:10 / 22 / 144。

同法再打两账:顶点二色 23 种、棱二色 218 种(轮换结构清单与暴力归堆对拍见实验页——26 = 64、28 = 256、212 = 4096 个原始染色被商到 10 / 23 / 218,对称平均掉的倍数各不相同:6.4、11.1、18.8——对称越高的部位被商得越狠)。4 × 4 棋盘二色:D4 作用在 16 格,Burnside 总账 (216 + 2·24 + 28 + 2·28 + 2·210)/8 = 68384/8 = 8548 种——对角轴反射有 4 格自守 + 6 对互换(1426 → 210),是账单里最「贵」的一项;真跑 65 536 个染色按 8 个对称取最小代表归堆,恰 8548 堆 ✓。

141讲义

第五章 群作用与计数:对称的艺术5.11 图的自同构:图自己的对称

自同构:图到自身的同构——保持邻接的顶点置换。全体自同构成群 Aut(G),是「图自己的对称群」。真跑小图(实验页核对):路 P4 的 Aut 只有恒等与左右翻转(2 元);圈 C6 是二面体 D6(12 元);完全图 K4 = S4(24 元,最对称);K3,3 = S3 ≀ S2 型(72 元);彼得森图 Aut = S5(120 元)——十点图竟有五点对称群的全部分量,是它超高对称性的根源(第三章 R 下界的明星不是白当的)。

图 5-9 图的自同构真跑:图自己的对称 图 |Aut(G)| 对称群是什么 路 P_4 2 恒等 + 左右翻 星 K1,3​ 6 S₃(叶全排列) 圈 C_4 8 D₄ 完全图 K_4 24 S₄(最对称) 圈 C_6 12 D₆ 完全二部 K3,3​ 72 S₃ ≀ S₂ 暴力枚举 S_n(n ≤ 6,至多 720 个置换逐个验邻接保持)✓ 彼得森图 |Aut| = 120 = S₅——十点图带着五点对称群 Frucht 定理:每个抽象群都是某个图的自同构群
图 5-9 六张小图的自同构群阶暴力枚举核对:路 2、星 6、圈 8、完全图 24、C6 12、K3,3 72。自同构 = 保持邻接的顶点置换——图的对称程度第一次有了代数刻度,第四章的无标号图计数(S4 平均 = 11)由此清账。

回到第四章的悬案:无标号图计数 = 标号图数 ÷ 平均对称——准确地说,Burnside 把 Sn 平均:n = 4 时 (26 + …)/4! = 11。真跑:S4 的 24 个置换逐个数不动图,平均恰 11 ✓(实验页)。「1, 2, 4, 11, 34, 156, 1044」从此不是查表数字,是被公式管住的序列。

Frucht 定理(1939):每个抽象群都是某个图的自同构群——图的对称能力没有天花板:想要什么群,就画得出什么图。对称与结构互相成就:谱方法听频率(§4.14),自同构量对称,图的两面镜子互相照。

142讲义

第五章 群作用与计数:对称的艺术5.12 对称计数的分寸:何时对称帮倒忙

Burnside/Pólya 是利器,但用错口径会翻车——四条分寸:

①群要选对:项链(Cn)与手镯(Dn)差一族反射;二维旋转与三维旋转不同(立方体的面旋转 24 个、含反射的全对称 48 个)——「什么算同一个」是物理/应用问题,数学只负责算清。

②对象集要有限:无限对象集上的「平均」要换测度论或生成函数口径(无限维 formally 处理),初学先守有限。

③「恰好 k 个」要用加权或二色系数:Burnside 给总数,「恰 k 个红珠」要用 Pólya 的生成函数读系数——总账与分账是两问。

④对称会「吞」结构信息:两条不同的化学键可被对称映射——同分异构体计数数的是轨道,构象(单键旋转的临时姿态)不在其列;手性分子(镜像不可叠)要把反射移出群——模型先行,公式随后;群选错,全盘皆错。

何时对称帮倒忙:数「本质不同」时对称是朋友(商掉重复);数「全部方案」时(如概率计算的分母)对称是敌人——同一批对象,两套口径,先问清楚再动 Burnside。

143讲义

第五章 群作用与计数:对称的艺术5.13 第五章全景:一张对称计数的决策树

五章工具归成一棵决策树——拿到「转一转算同一个」的问题先走四问:

图 5-10 对称计数决策树:四问定路线 第一问:什么算同一个? 只转 Cₙ / 可翻 Dₙ / 三维体 第二问:数什么? 总数 Burnside / 分账 Pólya 第三问:群多大? 轮换结构一行读出 第四问:能对拍吗? 小规模归堆 = 安检门 项链 C₆ → 14 · 手镯 D₆ → 13 · 立方体旋转 24 总数 kc(g)​ 平均 · 分账读 Z(G) 系数 gcd(n, j) 公式 · 反射账分奇偶 · S₄ ≅ 立方体旋转 本章每一笔账都过了归堆安检:零误差 拿到「转一转算同一个」先走四问——群、账型、结构、对拍,工具自动就位
图 5-10 本章决策树:对称口径(群)定答案的物理含义,账型(总数/分账)定用 Burnside 还是 Pólya,群结构(轮换)决定算得快不快,暴力对拍保结果真不真——四问问完,公式自己走下来。

第一问:什么算同一个?只旋转 → 循环群 Cn;可翻面 → 二面体 Dn;三维体 → 旋转群(立方体 24)或全对称群(48)。第二问:数总数还是分账?总数 → Burnside(kc(g) 平均);按颜色构成分账 → Pólya 循环指标读系数。第三问:群多大、结构如何?轮换结构由几何一行读出(gcd 公式、反射的奇偶分支)。第四问:能暴力对拍吗?小规模全枚举归堆永远是最后的安检门(下一页实验的哲学)。

通往下一章:本章把「对称」变成可计算对象;下一章把「存在与构造」合拢——组合设计(正交拉丁方、Steiner 系)与编码(Hamming 码、纠错):「安排得漂亮」与「传得出去、错得起」是同一门数学。

144例题

第五章 群作用与计数:对称的艺术例题一:项链与手镯

例 1(四珠二色)。四珠项链与手镯各几种?——项链(C4):不动点 24 = 16;转 1、3 格各 2;转 2 格 22 = 4:总账 (16 + 2 + 4 + 2)/4 = 6。手镯(D4):加 4 个反射——过对角 2 个(1221 → 23 = 8)、过对边 2 个(22 → 22 = 4):总账 (24 + 16 + 8)/8 = 6。项链 = 手镯 = 6——n = 4 时翻转恰好不消灭任何类(每一类里都住着自己的镜像代表)。真跑归堆核对 ✓:项链与手镯自 n = 6 起才分家(14 对 13),n = 5 两者同为 8。∎

例 2(分账)。六珠项链中恰 2 红 4 蓝的几种?——Burnside 不分工位,用 Pólya:Z(C6) = (1/6)(x16 + x23 + 2x32 + 2x6),代入 x_j = rj + bj,读 r2b4 项:x16 给 C(6, 2) = 15;x23 给「红珠占一个 2-循环」= 0(要 2 红恰占 1 个 2-循环 ✓ 计 3)……逐项展开(r2b4 系数:x16 → 15、x23 → 3、x32 与 x6 → 0)= (15 + 3)/6 = 3。三种:红相邻、隔一、相对——真跑归堆 15 种取法恰 3 堆 ✓。

方法回放。①先定群(转还是转+翻);②写循环指标或逐类数不动点;③总数用「代 k = 1」、分账读系数;④小规模归堆对拍保平安。
145例题

第五章 群作用与计数:对称的艺术例题二:立方体的着色

例 3(四面各一色)。立方体四侧环绕涂红黄蓝绿(上下不涂),旋转算同一种——几种?——恒等 4! = 24;绕竖轴 ±90°(4-循环)不动 0;180°(两对互换)不动 0——竖轴全灭;其余旋转动到上下面——也全灭。总账 24/24 = 1 种:四个颜色环带无论怎么转都能对齐。直觉与公式在此握手。

例 4(顶点二色的 23)。§5.10 宣称 23,此处验算体对角类:8 个 120° 旋转的顶点轮换结构 2332? ——体对角轴穿过两个对角顶点:这两点自守 + 其余 6 点两个 3-循环:1232 → 24 = 16;重算总账:恒等 28 = 256;面轴 ±90°(6 个)1422 → 26 = 64;面轴 180°(3 个)24 → 24 = 16;体对角(8 个)1232 → 16;棱轴 180°(6 个)24 → 16。总账 (256 + 384 + 48 + 128 + 96)/24 = 912/24 = 38?——与 23 矛盾!哪类抄错了?——面轴 ±90° 的顶点结构:上下两面各四点成两个 4-循环:42 → 22 = 4(不是 26)!重算 (256 + 6·4 + 3·16 + 8·16 + 6·16)/24 = (256 + 24 + 48 + 128 + 96)/24 = 552/24 = 23 ✓。本例故意重演一次「结构抄错、总数非整、逐类重查」的完整流程——总数不被 |G| 整除就是警报。

方法回放。立方体三类轴的顶点账:面轴 ±90° = 42、面轴 180° = 24、体对角 = 1232、棱轴 = 24。检验器:总和必被 24 整除——不是整除就是某一类的轮换结构错了,回查即可。
146习题

第五章 群作用与计数:对称的艺术习题课(一):轨道与稳定子

A 组·轨道-稳定子

A1.S3 作用于 {1, 2, 3}(自然作用)——各点的轨道与稳定子?
答:轨道全是 {1, 2, 3}(传递作用);|Stab(i)| = 2(保 i 的对换)。1 × 2 = 2?——不对,|G| = 6、|Orb| = 3、|Stab| = 2,3 × 2 = 6 ✓。

A2.C6 作用于六珠项链「红红蓝蓝蓝蓝」——轨道大小?
答:无平移对称(各平移都改变方案)→ 轨道 6、稳定子 1。6 × 1 = 6 ✓。

A3.正方形四顶点染色的作用里,有没有轨道大小为 2 的染色?
答:有——「红红蓝蓝」(绕中心 180° 不变):轨道 2(转 90° 得「蓝红红蓝」)、稳定子 2(恒等 + 180°)。2 × 2 = 4 ✓。

B 组·数轨道

B1.三珠二色项链(C3)几种?
答:(23 + 2·2)/3 = 12/3 = 4:全红、全蓝、一红二蓝、一蓝二红。

B2.用轨道-稳定子解释「|X|/|G| 只在无对称时才整」。
答:|X| = Σ|Orb(x)| = Σ (|G|/|Stab(x)|)——只有全部 |Stab| = 1 时才等于轨道数 × |G|;有对称的轨道「缩小」,必须用 Burnside 修账。

B3.五珠二色项链(C5)几种?手镯(D5)呢?
答:(25 + 4·2)/5 = 8;手镯加 5 个反射(各 1122 → 8):(40 + 40)/10 = 8——n = 5 恰不分家(奇素数的反射全同型)。

B4.四面体四个顶点用红蓝染色,旋转算同一种,几种?
答:正四面体旋转群 A4(12 个):恒等 16;面轴 ±120°(8 个)1331? ——轴穿过一顶点与对面中心:1131 → 22 = 4;棱轴 180°(3 个)22 → 4。总账 (16 + 32 + 12)/12 = 5。

147习题

第五章 群作用与计数:对称的艺术习题课(二):Burnside 与 Pólya

C 组·Burnside 实战

C1.用 Burnside 数「正方形四角二色」(D4)。
答:(24 + 20·? …) 逐类:恒等 16、转 90°/270° 各 2、转 180° 4、过对角反射 2 个各 8、过对边反射 2 个各 4:总账 (16 + 4 + 4 + 16 + 8)/8 = 6。

C2.三珠三色项链(C3)几种?
答:(33 + 2·3)/3 = 11。

C3.为什么 Burnside 里 |Fix| 的平均一定是整数?
答:它等于轨道数——双向计数保证 Σ|Fix(g)| = 轨道数 × |G|;「平均后非整」即计算有误的警报(§例 4 实演)。

D 组·Pólya 与延伸

D1.写出 C4 的循环指标,并用它求四珠二色项链的分账。
答:Z(C4) = (1/4)(x14 + x22 + 2x4);r2b2 系数:x14 → 6、x22 → 2、x4 → 0 → (6 + 2)/4 = 2(相邻与相对)。系数和 = 6 ✓。

D2.正四面体四个面各染一色(四色互异),旋转算同一种,几种?
答:4! = 24 个排列,四面体旋转群 A4(12 个)作用:任何旋转都要移动某两个面、而四色互异 ⇒ 稳定子全为恒等,轨道大小一律 12 → 24/12 = 2 类。两类互为镜像——A4 不含反射,手性对恰在此现形(含反射的全对称群会把两类合并成 1)。

D3.用 Pólya 解释「氯代苯账单的回文性」(§5.9)。
答:D6 作用中每个 g 的轮换结构自共轭于取「补色」——k 个氯与 6 − k 个氯的轨道一一对应(把氯换成氢、氢换成氯),系数序列必回文。

D4.两张无标号图 n = 4 共 11 种——用 Burnside 复核。
答:S4 作用于 6 条边集:按轮换类型分四类求不动图数,平均 = 11(实验页真跑逐类列出)。

148地图

第五章 群作用与计数:对称的艺术第五章地图:概念依赖关系

第五章是一台等价类清算机:入口是对称的代数化(群与作用),出口是 Pólya 的通用账单。

图 5-11 第五章地图:概念依赖 对称的代数化 群 · 置换 · 作用 轨道与稳定子 |Orb|·|Stab| = |G| 双射 Burnside 引理 平均不动点 双向计数 轮换结构 |Fix(g)| = kc(g)​ Pólya 循环指标 分账读系数 无标号图计数 分子异构体 组合设计(第六章) 引擎仍是第一章的双向计数:Burnside 的证明就是一次「保持对」的两侧清点
图 5-11 对称的代数化(群与作用)经轨道-稳定子定理通向 Burnside 引理,轮换结构给不动点定价,Pólya 循环指标把账单升级到分账;三岔出口:第四章悬案(无标号图)、化学原生应用(异构体)、第六章组合设计。

读图三件事。①全章的引擎仍是第一章的双向计数——Burnside 引理的证明就是一次「元素-群元保持对」的双向数;新老武器在引理里合璧。②轨道-稳定子是桥:它把「分类问题」(轨道)与「守恒问题」(稳定子)钉在同一根杠杆上。③三岔出口:无标号图计数(第四章悬案清账)、分子异构体(化学原生应用)、组合设计的构型计数(第六章的 Steiner 系与正交拉丁方都要按同构分等价类)。

149小结

第五章 群作用与计数:对称的艺术第五章小结

概念与定理

对象陈述钥匙
群作用(gh)·x = g·(hx),e·x = x对称的代数化
轨道x 能被搬到的全体 = 本质同类等价类
稳定子固定 x 的群元素自带对称的度量
轨道-稳定子|Orb|·|Stab| = |G|陪集双射
Burnside 引理轨道数 = 平均不动点数双向计数
不动点公式|Fix(g)| = kc(g)轮换内同色
循环指标Z(G) = (1/|G|)Σ Z(g)Pólya 机器
Pólya 定理染色计数 = Z(G) 代入 Σcj分账读系数

标准账单(真跑全对拍)

问题群答案
六珠二色项链C6(6)14
六珠二色手镯D6(12)13
立方体面二色旋转群(24)10
立方体顶点二色旋转群(24)23
立方体棱二色旋转群(24)218
苯二取代D63(邻间对)
4×4 棋盘二色D4(8)8548
无标号图 n = 4S4(24)11

三个方法论警句

①群选对,答案才对——项链与手镯一字之差(反射),14 与 13 一珠之遥;能不能翻面是物理问题,数学只负责把选定的群算到底。②总账必被 |G| 整除——Burnside 平均不是整数即账错,这是每道题的免费警报器。③总数 Burnside、分账 Pólya——「几种」与「几红几蓝各几种」是两问,后者读循环指标的系数。

150思想卡

第五章 群作用与计数:对称的艺术思想卡:商掉对称——「本质不同」的严格化

「同一个」说起来容易,算起来需要一整个代数结构。

日常语言里「本质相同」含混不清:两串项链「看着一样」是同一条吗?转了 90° 呢?翻过面呢?数学的回答分两步:先把「允许的变换」列成一个群——这一步是建模,把含糊的「看着一样」翻译成精确的「存在群元素把一个变到另一个」;再把对象集商掉这个作用——轨道就是「本质不同」的严格化身。含混的日常词,被「群 + 轨道」两个概念钉死。

商是计数的第一等操作。整数加法商掉 12 的倍数得时钟算术(模 12),多边形商掉旋转得项链,图集商掉重命名得无标号图——「商掉一个等价」是数学里反复出现的减法:减掉我们不关心的信息,让真正要紧的结构显形。Burnside 引理的漂亮,在于它给「商掉之后还剩几个」一个不用逐个归类的公式——减法的账,可以做成除法的样子。

对称的双面性。同一个对称,在不同问题里扮演不同角色:数项链时对称是敌人(把 64 种染法吞成 14 条),研究晶体时对称是朋友(32 种点群把千万种晶体分尽);化学里它甚至两面派——光谱用对称省算力,手性合成却必须「打破对称」。数学家的工作不是歌颂或消灭对称,而是先把对称说清楚,再由应用决定站在它的哪一边。

一句话带走。数不清,往往不是东西多,而是没说清「什么算同一个」——把这句话严格化,就是群作用。
151挑战

第五章 群作用与计数:对称的艺术挑战:立方体的旋转到底有几种

§5.10 的账单全靠「旋转群 24 个」——本挑战给出三视角证明,并顺手定出全部轮换结构。

视角一(选面 + 朝向)。先把立方体转到任一面朝上:6 种选法;再绕竖轴转 0°/90°/180°/270° 对齐朝向:4 种——每个旋转唯一分解为「先绕竖轴、再翻转到目标姿态」,故 |G| = 6 × 4 = 24。∎

视角二(染色下界 + 群论上界)。六个面染两黑四白等…… 更干净的:用「体对角线」——立方体 4 条体对角线,任何旋转把对角线集置换,得同态 G → S4;旋转若固定全部对角线必为恒等(对角线两端各钉死 3 条棱的方向),单射;而 24 = |S4| ≥ |G|,结合视角一 |G| = 24 得同构 G ≅ S4——立方体的旋转群是四物全排列群(这也是它轮换结构呈 1232、42 等 S4 型的根源)。

视角三(染色计数反推)。六个面染「恰 1 黑」的轨道:6/24 = ?——全同的六种「一面黑」染色被旋转传递(任一面可转到任一面)→ 轨道 1、稳定子 8(保住那一面的 8 个旋转)——1 × 8 = 24 再次核出 |G|。∎

图 5-12 立方体旋转群:三视角定 24 4 条体对角线(红虚)承载 S₄:旋转群 ≅ S₄,|G| = 24 三视角定 24 ① 选面 6 × 朝向 4 = 24 ② 钉死对角线 = 恒等 → 单射入 S₄,且 |G| = 24 ③ 染色轨道反推: 轨道 1 × 稳定子 8 = 24 轮换结构三类账: 面 1⁶/1²4¹/1²2²/3²/2³ 全被 24 整除 ✓(真跑) 六选一的面朝上、四选一的绕轴对齐——每个旋转唯一分解 G ≅ S₄:立方体的对称与「四物的全排列」同构
图 5-12 左:立方体线框与 4 条体对角线——旋转群恰好是它们的全部置换 S4;右:三个独立视角(选面+朝向、对角线单射、染色轨道反推)同时钉死 |G| = 24。视角三正是轨道-稳定子定理的反向使用。

加分项。把反射加进来(48 个全对称群 ≅ S4 × C2)重新平均:面二色仍是 10——每一类里本就住着自己的镜像(面着色无手性);顶点二色 23 → 22、棱二色 218 → 144——镜子咬进了轨道:恰有一对顶点手性着色被合并,棱着色被合并的更是成片(真跑对拍见实验页)。

152实验

第五章 群作用与计数:对称的艺术实验:Burnside 对拍暴力枚举

本章所有公式都过同一道安检:小规模全枚举、按对称取最小代表归堆,与 Burnside/Pólya 逐项对拍。

实验设计。①项链/手镯 n = 1 到 10(k = 2):公式 (1/n)Σkgcd 与二面体版,对拍全部 2n 个染色的归堆;②立方体:由符号置换矩阵生成 24 个旋转(行列式 +1 的全体),面/顶点/棱三类对象分别 Burnside + 归堆对拍;③苯环:C(6, k) 个「k 氯」取法按 D6 归堆,k = 0 到 6 全账单;④无标号图 n = 4:S4 的 24 个置换作用于 6 条边,Burnside 对拍 26 = 64 个图的归堆;⑤棋盘 4×4:65 536 个染色模 D4 归堆;⑥把反射并入(全对称 48)重算立方体三类着色。

图 5-13 实验真跑:Burnside 对拍总账 六组对拍,一本总账 ① 项链 / 手镯 n = 1 到 10 公式 vs 全归堆逐项一致;n = 6 处手镯分家 14 → 13 ② 立方体(旋转 24) 面 / 顶点 / 棱 = 10 / 23 / 218,Burnside 与归堆全同 ③ 氯代苯 k = 0 到 6 1, 1, 3, 3, 3, 1, 1——回文账单 ✓(邻间对 = 3) ④ 无标号图 n = 4 S₄ 平均 = 11 ✓(第四章悬案清账) ⑤ 棋盘 4×4 模 D₄ 65 536 个染色归堆 = 8548 = Burnside ✓ ⑥ 全对称 48(加反射) 面 10 不变、顶点 22、棱 144——镜子咬进轨道 n = 12 项链公式给 352;n = 20 起 2ⁿ 归堆失效——公式的意义正在暴力失效处
图 5-13 六组真跑:项链/手镯逐项一致、立方体三类着色三账归一、氯代苯回文、无标号图 11 清账、棋盘 8548、加反射的镜子效应(10/22/144)——Burnside 全胜零误差;暴力失效之处,正是公式上场之时。

体检真跑结论。①项链 n = 1 到 10:2, 3, 4, 6, 8, 14, 20, 36, 60, 108,公式与归堆逐项一致;手镯在 n = 6 处分家(14 → 13)✓;②立方体三类着色 10 / 23 / 218,Burnside 与暴力归堆完全一致,且三张轮换结构清单全被 24 整除;③氯代苯账单 1, 3, 3, 3, 1(k = 1 到 5,加 k = 0、6 的两个 1),回文 ✓;④无标号图 n = 4 = 11 ✓(第四章悬案清账);⑤棋盘 8548 ✓;⑥加反射重算(全对称 48):面 10(不变)、顶点 22、棱 144,与 §5.12 的「分寸」互证。Burnside 全胜:零误差。

延伸。n = 12 的项链二色公式给 352(真跑归堆要 212 = 4096 个染色尚可;n = 20 时 220 已逾百万——公式的意义正在暴力失效处)。下一章的组合设计动辄 1018 个构型,Burnside 思想(平均与对拍)是唯一的通行证。
153格物札记

第五章 群作用与计数:对称的艺术〖札记〗Pólya 的两支笔:解题艺术与计数定理

乔治·波利亚(George Pólya, 1887–1985)一生留下两笔遗产,笔锋完全不同。一支写于 1945 年:《怎样解题》(How to Solve It)——一本两百页的小书,把「解题」这个从毕达哥拉斯到高斯都靠师徒口传的手艺,第一次摆上解剖台:「未知量是什么?条件是什么?见过类似的题吗?能不能换个说法?」——四问式启发法影响了几代人,从中学教师到费曼都承认欠它的债。另一支写于 1937 年:计数定理——循环指标把「对称之下的计数」一次清算,标题里明写「群、图与化学化合物」。

两支笔的共同笔法。《怎样解题》的核心动词是变换:换个说法、换个未知量、倒着推;计数定理的核心动作也是变换:让群作用、取平均、商掉对称。「问题不会解,就变换它」——这是 Pólya 一以贯之的世界观:难的问题不是要硬啃,而是要搬到自己站得稳的地方再啃。Burnside 引理本身就是最好的例子:轨道数难数?换成平均不动点——问题的位置一换,难度瓦解。

大师的谦逊。Pólya 85 岁仍在斯坦福授课,把毕生解题心得写成《数学的发现》《数学与猜想》——他反复强调启发法「不是万能钥匙,是助产术」。本章的引理被冠了 Burnside 的名,定理冠了 Pólya 的名,而 Pólya 本人大概会补一句:名字不重要,重要的是下次遇到「数不清」时,想起先问「什么算同一个」。

中国古算的遥望。《九章算术》成书早两千年,「物不知数」「组合配对」诸问里已有强烈的计数意识,但对「对称等价」始终没有抽象出操作群——沈括《梦溪笔谈》算棋局都数到天文数字,仍是「逐个排列」的口径。有计数而无商掉对称的意识,正如第三章「一笔仙」有术而无理——抽象层级之差,古今同律。

154速查

第五章 群作用与计数:对称的艺术第五章速查表

情境关键词方法结论
转一转算同一个群作用 + 轨道轨道 = 本质同类
自带对称多少稳定子|Orb|·|Stab| = |G|
数轨道(总数)Burnside平均 |Fix(g)|
旋转不动点kc(g)c(g) = gcd(n, j)
加翻面二面体群 Dn反射账分奇偶
几红几蓝分账Pólya 循环指标读系数
立方体旋转≅ S424 个
立方体面/顶点/棱二色Burnside10 / 23 / 218
六珠二色项链/手镯C6 / D614 / 13
苯 k 取代D6 分账1, 3, 3, 3, 1 回文
无标号图 n = 4S4 平均11
总账不被 |G| 整除警报器轮换结构抄错,回查
每个群都是图的对称群Frucht 定理对称能力无上限
手性分子移出反射群选对答案才对
第六章

组合设计与编码:从存在到构造

前五章的功夫都在「数」与「证存在」;这一章向前一步:把存在的东西真的造出来,并且造得尽善尽美。主角是两族结构。一族是区组设计:拉丁方(数独的祖先)要求每行每列不重不漏;正交拉丁方撞上欧拉的三十六军官问题——六阶正交对竟不存在,这个「不存在」要到 1900 年才被 Tarry 穷举证实;Steiner 三元系要求任意两点恰在同一个小三元组里一次,Fano 平面用七个点七条线把「完美」演到极致;BIBD 的参数方程组给出存在性的第一道门槛,而 Wilson 定理保证了门槛之外的大路上设计普遍存在。另一族是纠错码:传输难免出错,于是把消息染上冗余——Hamming [7,4] 码用三个校验位护住四个信息位,码距 3 恰好纠一位错、检两位错,而且「完美」:纠错球不多不少铺满整个空间。两族结构在章末握手:从码可以造出设计,从设计可以读出码。有限域是它们共同的原材料——第六章顺路把 GF(2)、GF(3) 的四则运算讲清。读完这一章,组合学的三层阶梯——计数、存在、构造——就都登过了。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
155导引

第六章 组合设计与编码:从存在到构造第六章导引:从「存在」到「造出来」

前五章反复出现一种句式:「……存在」。Ramsey 担保存在、鸽笼担保存在——但存在不等于造得出来。本章正面处理最硬的一步:把存在的对象精确地构造出来——拉丁方、区组设计、Steiner 系、纠错码,每一个都是「按图纸施工」的数学结构。

两个动机故事:①1779 年 Euler 的「三十六军官问题」:六种军衔 × 六个团,排成 6×6 方阵使每行每列军衔、团籍都不重——排不出来(Tarry 1901 年穷举证实);1959 年 Bose–Shrikhande–Parker 证明除 n = 2、6 外全部可排——「不存在的例外」本身成了定理。②1948 年 Shannon 的信息论:有噪声的信道怎么传得对?——Hamming 码把冗余算到分毫不差,一个「完美设计」。

图 6-1 第六章的两个动机:36 军官与 Hamming 码 Euler 1779:三十六军官 6 军衔 × 6 团排 6×6 每行每列都不重? Tarry 1901:穷举 —— 无解 BSP 1959:除 n = 2、6 全有解 Shannon 1948:噪声信道 重复码 3 遍:纠 1 错太贵 Hamming 1947:[7,4] 症候即地址 · 纠 1 错 汉明界恰好取等 —— 完美码 握手 设计 = 安排的艺术    编码 = 传错的克星 Hamming 码的码字恰好构成 Fano 平面的直线 —— 两个世界一条河
图 6-1 两段历史、一个问题:「存在」之后如何「造出来」?36 军官教会我们整除海关与例外名单,Hamming 码教会我们校验位与完美铺满——它们将在 Fano 平面处握手。

本章的主线:设计(安排的艺术)与编码(传错的克星)在深处握手——Hamming 码的码字恰好构成 Fano 平面的直线,第五章的群作用数它们的等价类,第一章的双射造它们的坐标。六章的全部武器在最后一章合流。

156讲义

第六章 组合设计与编码:从存在到构造6.1 拉丁方:数独的祖先

拉丁方:n × n 方阵填 n 种符号,每行每列各恰一次——名字来自 Euler 用拉丁字母作符号。数独是 9 阶拉丁方再加 3×3 宫约束;农田试验是最早的应用:n 种处理排成 n×n,行 = 地块垄向、列 = 肥力梯度,两个干扰因素同时被「每行每列各一次」抵消。

数一数:n 阶拉丁方总数 L(n)——真跑:L(1) = 1、L(2) = 2、L(3) = 12、L(4) = 576;化简标准型(首行首列排序,减去行换列换的重复)R(n):1, 1, 1, 4, 56, 9408, 16942016……L(n) = R(n) · n! · (n−1)!。R(n) 无通项公式——构造易、计数难的老剧本,但这次连渐近式都要到 20 世纪末才立住(van Lint–Wilson 教科书时代的开放问题,McKay–Wanless 2005 给出渐近)。

构造一台最低配的机器:n 为素数幂时,L(i, j) = ai + bj (mod n)(a、b 非零)都是拉丁方——有限域的加法就是「不重不漏」的引擎(§6.6 正式开讲)。

157讲义

第六章 组合设计与编码:从存在到构造6.2 正交拉丁方与三十六军官问题

正交:两个 n 阶拉丁方叠加,n2 个位置上的「有序对」两两不同——两套安排互不干扰。农田版:品种拉丁方 × 肥料拉丁方叠加,n2 块地每「品种-肥料」组合恰一块——两因素试验的完美方案。

Euler 的问题:36 军官 = 6 阶的正交对存在吗?Euler 猜想:n ≡ 2 (mod 4) 时无解(6 是最小的)。Tarry 1901 年穷举证实 n = 6 无解——然后剧本反转:Bose、Shrikhande、Parker 1959–60 年证明 n = 10、14、18……全部有解,Euler 猜想只对 n = 2、6 成立。「唯一的例外」是组合设计史上最著名的反转——三位作者的工作被《纽约时报》报道,标题是「Euler 的错误使数学前进一步」。

图 6-2 三阶正交对:素数机器当场造一对 0 1 2 1 2 0 2 0 1 L1​:a = 1 0 1 2 2 0 1 1 2 0 L2​:a = 2 0,0 1,1 2,2 1,2 2,0 0,1 2,1 0,2 1,0 叠加:有序对 9 对 = F3​ × F3​ 全体 ✓ 机器 La​(i, j) = a·i + j (mod 3):两方叠加 9 个有序对各恰一次 —— 正交 同一台机器换域:n = 4 用 F4​、n = 5 用 F5​,各给 q − 1 = 3、4 个两两正交的拉丁方
图 6-2 L1 与 L2 叠加后 9 个位置的有序对两两不同——两套安排互不干扰。真跑:n = 3、4、5 的 q − 1 个拉丁方全部两两正交(F4 出场造 4 阶)。

存在性定理:正交对存在 ⟺ n ≠ 2、6(n = 2、6 无解是全部例外;n ≡ 2 (mod 4) 且 n > 6 的构造要「缝合」多个小阶解——设计可以像缝衣服一样拼接,这是 Bose–Parker 技巧的直觉)。真跑:n = 3、4、5 的正交对由有限域机器直接造出并逐格验证(实验页)。

158讲义

第六章 组合设计与编码:从存在到构造6.3 区组设计:BIBD 的语法

平衡不完全区组设计 BIBD(v, k, λ):v 个点、b 个区组,每区组恰 k 个点、每点恰出现在 r 个区组、任意两点恰同现 λ 个区组——「平衡」是 λ,「不完全」是 k < v。试验版:v 种处理、b 个批次、每批做 k 种、任意两种处理恰同批 λ 次——比较才公平。

两条参数恒等式(双向计数立刻可得,第一章的家法):

bk = vr(点-区组接触总数两种数法) λ(v − 1) = r(k − 1)(固定一点看含它的区组)

两个可除条件的推论:b、r、λ(v−1)、r(k−1) 必须是正整数——整除性是设计存在性的第一道海关(如 BIBD(6, 3, 2):r = 10/2 = 5、λ(v−1) = 10 = 5 × 2 ✓ 可过海关;但过了海关不保证有货——必要 ≠ 充分,这正是设计的深刻处)。

图 6-3 BIBD 的两条参数恒等式:双向计数 1 2 3 4 5 6 7 BIBD(7, 3, 1):7 个点、b 条区组、每区组 3 点、任两点恰同现 λ = 1 次 接触总数两种数法 b·k = v·r 3b = 7r → b = 7、r = 3 固定一点看含它的区组 λ(v−1) = r(k−1) 1·6 = 3·2 ✓ 整除海关:λ(v−1) 与 v(v−1)/2 都必须整除 —— 过检是必要条件,不是充分条件
图 6-3 bk = vr 数「点-区组接触」、λ(v−1) = r(k−1) 数「含给定点的区组」——第一章的双向计数家法在设计论里当全面军。BIBD(7,3,1) 即 Fano 平面。

对称设计一句:b = v(区组数 = 点数)时称对称 BIBD——Fano 平面 (7, 3, 1)、射影平面、Hadamard 设计全是它的居民,§6.8 展开。

159讲义

第六章 组合设计与编码:从存在到构造6.4 Steiner 三元系:每对恰遇一次

Steiner 三元系 S(2, 3, v):BIBD 的特例——k = 3、λ = 1:v 个点、三点一线、任意两点恰在一条「线」上。经典典故:柯克曼的十五女生问题(1850)——15 名女生三人一组散步,每天排 5 组,任两名女生恰同行一次,且每周七天的安排互不重复——S(2, 3, 15) 加「可分解」约束(区组能分成平行类)——柯克曼系。一份女散步课表,半页区组设计史。

存在性:S(2, 3, v) 存在 ⟺ v ≡ 1、3 (mod 6)(整除性海关:λ(v−1) = v − 1 被 2 整除 → v 奇;vr = v(v−1)/2 被 3 整除 → v ≢ 2;充分性由 Kirkman 1847 年证明——「海关放行即有货」的第一批范例)。

图 6-4 Steiner 三元系的存在性地图(v ≤ 15) 1 平凡 2 3 平凡单线 4 5 6 7 Fano 8 9 AG(2,3) 10 11 12 13 2 个 14 15 柯克曼 · 80 个 S(2, 3, v) 存在的海关:v ≡ 1 或 3 (mod 6) 必要:v 奇(λ(v−1) 偶)+ v(v−1)/2 被 3 整除 —— Kirkman 1847:放行即有货(充分) v = 7:恰 1 个(Fano) v = 9:恰 1 个(仿射平面 12 线) v = 13:2 个 v = 15:80 个 设计一多,同构分类立刻需要群 —— 第五章的 Burnside 在此收线 绿点 = 海关放行且真跑构造验证;红叉 = 整除性拒绝(不存在)
图 6-4 整除海关先筛:v ≡ 1, 3 (mod 6);Kirkman 证明条件即充分。同构个数(1, 1, 2, 80, …)随 v 指数膨胀——「数设计」本身成了计数问题。

真跑实例:S(2, 3, 7) = Fano 平面(下一节),S(2, 3, 9) = 仿射平面的 12 条线——两个小样由机器构造、逐对验证「恰同现一次」(实验页)。S(2, 3, v) 的个数:v = 7 时恰 1 个(同构意义下,第五章的 Burnside 可数),v = 9 时 1 个,v = 13 时 2 个,v = 15 时 80 个……设计一多,同构分类立即需要群——第五章的伏笔在此收线。

160讲义

第六章 组合设计与编码:从存在到构造6.5 设计的存在性:可除条件与 Wilson 一瞥

设计的存在性是一门「海关学」:必要条件(整除性)像护照查验,充分性证明像签证发放。历史的三级跳:①Kirkman(1847):S(2, 3, v) 的整除条件即充分;②Hanani(1960):S(2, 4, v)、S(3, 4, v) 全部解决;③Wilson(1972–75):对任意固定 k,λ 充分大时 BIBD(v, k, λ) 的存在性由有限个「例外 v」之外的整除条件完全决定——「必要条件几乎就是充分条件」的大定理,设计理论从集邮变成体系。

Wilson 定理的计数预告(与数论 Wilson 定理同名的另一位 Wilson):固定 k 后,存在常数 v0 与有限集例外,v ≥ v0 且过海关即存在——证明的核心是递归构造:大设计由小设计「拉伸、填充、缝合」。这与 Euler 36 军官的 Bose–Parker 缝合法同宗——组合设计的两大动词:拼与缝。

一瞥数论的 Wilson 定理:(p−1)! ≡ −1 (mod p)——它等价于「p 元集上存在特殊的差集」,与循环差集设计(Singer 差集,§6.8 的代数版)血脉相连。同一个「Wilson」,两岸三处开花——组合设计的根须扎进数论。

161讲义

第六章 组合设计与编码:从存在到构造6.6 有限域:设计的原材料

有限域:只有有限个元素的「加减乘除」世界。Fp = 模 p 算术(p 素数);元素个数必为素数幂 pn,且每个素数幂恰有一个域(Fpn)——「有限世界要么是素数个,要么是素数幂个,别无分店」。

为什么设计的机器爱吃它:域里除法永远行得通 → 「斜率」语言可用 → 直线方程 y = mx + c 条条成立 → 仿射平面、正交拉丁方、仿射设计全部量产。非零元的乘法群是循环群(F_p 的原根)——第五章的群论在此领原材料。

F4 一瞥(pn 的最小例子):元素 {0, 1, ω, ω + 1},其中 ω2 = ω + 1(类似 i2 = −1 的「代数扩张」直觉);乘法表里 ω · (ω + 1) = 1——「域」不只在实数里有,三个加两个的迷世界也自带完整四则。真跑核对 F4 的乘法结合律与分配律全部成立(实验页)。原材料备齐,下两节开两条生产线。

162讲义

第六章 组合设计与编码:从存在到构造6.7 仿射平面:从坐标造设计

仿射平面 AG(2, q)(q 素数幂):点 = 有序对 (x, y) ∈ F_q2,共 q2 个;直线 = 方程 y = mx + c(q 条斜率 m × q 个截距 c)加 q 条竖线 x = a——共 q(q + 1) 条线,每条 q 个点。

设计语法自动成立:任两点恰确定一条线(λ = 1 的 BIBD(q2, q, 1))——两点定一线在有限世界照样成立;平行公理:斜率相同的线互不相交、过线外一点恰有一条平行线——欧几里得的第五公设,在 F_q 上原样运转。真跑 AG(2, 3):9 点 12 线、每线 3 点、任两点恰一线、4 个平行类(实验页)。

图 6-5 仿射平面 AG(2, 3):有限域上的几何 F3​ 坐标系:任两点恰确定一条线(λ = 1 的 BIBD(9, 3, 1)) 斜率 0(行类) 斜率 1 斜率 2 竖线类 同色 = 一个平行类: 类内不相交、过线外一点 恰一条平行线 虚线段 = 环面回绕(mod 3 出界从对侧回来);真跑:36 对点恰一线、4 个平行类 ✓
图 6-5 F3 坐标造出的迷平面:12 条「直线」分 4 个平行类,任两点恰定一线——λ = 1 的 BIBD(9, 3, 1),同时是 S(2, 3, 9)。去掉行类与列类,剩两个斜率类 = 一对正交拉丁方。

从平面到拉丁方:AG(2, q) 的平行类 = 正交拉丁方的行、列与 q − 1 个「符号集」——q 阶正交拉丁方最多 q − 1 个互相正交,仿射平面恰好造满(n = 6 造不出哪怕一对,因为 6 不是素数幂也不肯被缝出来)。几何、代数、设计在一条生产线上会师。

163讲义

第六章 组合设计与编码:从存在到构造6.8 射影平面与 Fano 七点图

射影平面 PG(2, q):给仿射平面加一条「无穷远线」——每族平行线共一个无穷远点,所有方向的无穷远点连成一线。平行公理消失:任两线恰交一点(有限交或无穷远交)——更对称的世界。参数:v = q2 + q + 1 点、同数条线、每线 q + 1 点——对称 BIBD(q2 + q + 1, q + 1, 1)。

Fano 平面 PG(2, 2):7 点 7 线、每线 3 点、任两点恰一线——最小的射影平面,也是组合学的「氢原子」。真跑:7 条线逐一验对(实验页);它没有「嵌入平面」的画法——第七条线必有一处交叉(非平面性的最小标本,与第四章 K5/K3,3 遥相呼应)。

图 6-6 Fano 平面:组合学的氢原子 1 2 3 4 5 6 7 蓝直径线 × 3 + 外圈弧线 × 4(红绿紫金分色)= 七条「线」 蓝:三条直径线 (过中心) 外圈弧线 × 4 (红绿紫金分色) Singer 差集 {0, 1, 3}:非零差 1..6 各恰一次,7 个平移盖住全部 21 对点 ✓
图 6-6 最小的射影平面:真跑 7 条线逐对核账(21 对恰一线)。它无法画在平面上不让线交叉——第七条线必有一处弯,与第四章 K5 / K3,3 的平面性遥相呼应。

Singer 差集一瞥:Fano 的点可标成 Z7,线 = {0, 1, 3} 平移生成的 7 个集合——{0,1,3} 是一个(7, 3, 1) 循环差集:任意非零差 mod 7 恰出现一次。Singer 定理(1938):每条射影平面都给一个差集——设计、群、数论的三叉路口。

164讲义

第六章 组合设计与编码:从存在到构造6.9 编码的目标:让错误可以被纠正

信道噪声:每个比特以概率 p 被翻转。重复码:每比特发三遍(000/111),接收方多数表决——能纠 1 错,代价 3 倍带宽。能否又准又省?——这是编码理论的起点问题,Hamming 1947 年在贝尔实验室给出漂亮答案(他的机器周末无人值守、读不出错误位置——愤怒出编码)。

三个基本量:码字长度 n、信息位数 k、码距 d(任意两码字的最小汉明距离)。记 [n, k, d]。冗余度 n − k 买来纠错力:d = 2e + 1 时可纠 e 错(几何直觉下一节)。duplication 与 Hamming 是同一道题的两个解:前者 k/n = 1/3 且 d = 3,后者 k/n = 4/7 且 d = 3——同样的纠错力,Hamming 便宜一倍。

信息论的边界:Shannon 1948 证明「随机码 + 最大似然」几乎必达信道容量——但随机码无法编码译码;Hamming 给出第一个结构化的高性能码。存在性(Shannon)与构造性(Hamming)的分野,正是本章标题。

165讲义

第六章 组合设计与编码:从存在到构造6.10 码距与纠错:Hamming 球

汉明距离:两串比特的不同位数——它是 F2n 上的度量(正定、对称、三角不等式全成立)。Hamming 球:以码字为心、半径 t 的球 = 与它距离 ≤ t 的所有串。

纠错的几何:以每个码字为心画半径 t 的球——球互不重叠 ⟺ 可纠 t 错 ⟺ d ≥ 2t + 1(最近邻译码把落点送回球心)。汉明界:球体积 Σ C(n, i)(i ≤ t)× 码字数 ≤ 2n——纠错力的市场总量;恰好取等时称完美码:全空间被球无缝铺满——完美码极稀罕(Hamming 码、Golay 码等寥寥数族),稀罕正是下一页主角。

图 6-7 Hamming 球与完美铺满(示意) 汉明界:16 个半径 1 的球把 27​ = 128 个接收串无缝铺满 球体积 = 1 + C(7,1) = 8 码字数 16 × 8 = 128 = 27​ 取等 = 完美码 没有一个串被浪费
图 6-7 每个码字为心、半径 1 的球装 8 个接收串;16 × 8 = 128 恰好装下整个 7 维立方——「完美」不是修辞,是汉明界的取等。真跑逐球核对见实验页。

真跑一算:[7, 4, 3] 码——汉明界 Σi≤1 C(7, i) × 16 = 8 × 16 = 128 = 27 ✓ 恰好铺满——[7,4] 是完美码(实验页逐球核对)。「完美」不是修辞:16 个码字的球把 128 个接收串分尽,一个不剩。

166讲义

第六章 组合设计与编码:从存在到构造6.11 Hamming 码:完美纠错的 [7,4]

构造:7 位中 4 位是信息、3 位是校验——校验位放在 2 的幂位置(1、2、4),每个校验位盯住「下标二进制里含它」的那些位:p1 管第 1、3、5、7 位,p2 管 2、3、6、7,p4 管 4、5、6、7(各自做偶校验)。校验位置本身就是「二进制地址」——这是 Hamming 构造的天才处:错误的地址被自动写进症候(syndrome)。

译码:收到 7 位,把三组校验各算一遍——症候 (s4s2s1) 读出的三位二进制数直接就是错位地址,翻回去即完成纠错。真跑:16 个信息组 × 每个错 7 个位置 = 112 种单错情形,译码全部复原(实验页);码距实测 d = 3(16 个码字两两距离的最小值)。

图 6-8 校验位 = 二进制地址:Hamming 构造的天才处 p1​ 1 p2​ 2 d1​ 3 p4​ 4 d2​ 5 d3​ 6 d4​ 7 位置 p1​ 管 1,3,5,7 p2​ 管 2,3,6,7 p4​ 管 4,5,6,7 Hamming [7,4]:校验位放在 2 的幂位置 —— 校验位就是二进制地址 译码:三组偶校验重算 → 症候 (s4​s2​s1​) 三位二进制读数 = 错位地址,翻回即复原 真跑:编码 (1,0,1,0) → 1011010;第 5 位翻转 → 症候 101 = 5 → 精确复位
图 6-8 三条色带是三组偶校验的管辖区;错一位时恰有若干组校验失守,失守模式读成二进制就是出错的地址。16 × 7 = 112 种单错全部精确复原。

Hamming 家族:[2r − 1, 2r − r − 1, 3] 对一切 r ≥ 2——[7,4]、[15,11]、[31,26]……全部完美(汉明界恰好取等)。纠 1 错的「完美」到此为止:纠 2 错的完美码只有 Golay [23, 12, 7] 与一两个例外——完美是稀有的(思想卡展开)。

167讲义

第六章 组合设计与编码:从存在到构造6.12 码与设计的握手:从码到 Steiner 系

一场化学反应当场发生:把 [7,4] Hamming 码的 16 个码字按重量分组——1 个重 0、7 个重 3、7 个重 4、1 个重 7。7 个重 3 码字取「1 的位置」:恰好是 Fano 平面的 7 条线!(每条三点;任两点恰在同一条上——Steiner S(2, 3, 7) 的定义。)真跑逐条核对(实验页)。

为什么是 Fano?症候译码的代数(F2 上的 3 × 7 校验矩阵)与射影几何 PG(2, 2) 是同一批对象的两件外套:矩阵的 7 个非零列 = 7 个点,列的相关性 = 共线——「三点共线」译成线性代数是「三列相关」。码论、设计论、几何在这里是一门课的三个名字。

图 6-9 码-设计握手:重量分堆读出 Fano 七线 1 重 0 7 重 3 7 重 4 1 重 7 16 个码字按重量分堆:1 + 7 + 7 + 1 重量 = 码字里 1 的个数 取「1 的位置」 7 个重 3 码字 ↕ Fano 七线 (S(2,3,7)) 逐条相等 ✓ 码论与设计论在 F2​3​ 的 7 个非零向量上相遇:三点共线 = 三列相关 重 4 码字 = 重 3 的补(7 减位)—— 同一枚硬币的两面
图 6-9 Hamming 码重量账 1 + 7 + 7 + 1;7 个重 3 码字的支撑集与 Fano 七线逐条相等(真跑对拍)——「一门课的三个名字」在此兑现。

握手不止一次:扩展 Golay 码的重量 8 码字给出 S(5, 8, 24)(Witt 设计)——1970 年代最传奇的「码-设计共生体」;今天灯下手机里的 LDPC 码,其校验矩阵的稀疏结构就是一整个图设计。每一代通信标准背后,都站着一个组合设计。

168讲义

第六章 组合设计与编码:从存在到构造6.13 正交表与试验设计:设计的用武之地

正交表 L9(34):9 行 4 列、3 水平——任意两列的 9 个「水平对」各出现一次——正交拉丁方的表格化直译。田口玄一把它做成工业标准:9 次实验摸清 4 因素 3 水平 = 81 种组合的主效应——省 89% 的实验成本。

为什么「两两平衡」就够:主效应模型下,因素 A 的效应 = 固定其余因素水平分布后的平均差——正交表保证「固定其余」时 A 的各水平出现次数相同,干扰自动消去(拉丁方消干扰的工业放大版)。这就是「均衡」的统计价值:比较才公平。

本章的现实回响:临床试验的分组、A/B 测试的分流、机器学习的网格搜索与正交实验、5G 的 LDPC 与 Polar 码——设计思想是工业界的硬通货。当年柯克曼的十五女生,今天是芯片厂的工艺参数表。

169讲义

第六章 组合设计与编码:从存在到构造6.14 计数·存在·构造:三层阶梯

全书三大问在本章对齐成三层阶梯:

第一层:数得清(计数)——有多少个拉丁方?多少条 S(2, 3, 13)?——第一、二、五章的武器(双射、生成函数、Burnside)。第二层:有没有(存在)——正交对何时存在?S(2, 3, v) 何时存在?——第三章的存在性思想 + 整除海关 + Wilson 的体系化。第三层:造得出(构造)——有限域机器、缝合技巧、Hamming 校验位——本章的主业。

三层互喂:计数说明「找的范围」(R(n) = 9408 说 6 阶穷举可行);存在性说明「找不找得到」(Tarry 穷举 6 阶是可行的,因为总数已知有限且不大);构造把对象交到手上( Hamming 码天天在跑)。组合学的完整循环:数 → 判 → 造 → 再数造出来的。

一张对照表(真跑数据见实验页):拉丁方 L(4) = 576(数)、正交对 n ≠ 2, 6(判)、F4 造 AG(2, 3)(造)、Hamming [7,4] 112 种单错全纠(用)。四个动词,一件作品。

170讲义

第六章 组合设计与编码:从存在到构造6.15 现代一瞥:计算机与组合学的合流

四色定理(1976)开先河:计算机辅助证明引来哲学地震;此后组合学全面「装机」——Tarry 早就用手工穷举 6 阶拉丁方(1901,十年功夫),今天的计算机几秒完成。穷举的民主化改变了学科的作息。

几个里程碑:①允许穷举式的定理:非同构 Steiner 系的计数(v = 19 已超 1015 个,靠计算机枚举与分类);② SAT/求解器证明:2016 年 Boolean Pythagorean triples 问题 200 TB 证明——「机器可验、人不可读」成为常态;③纠错码进了每个人的口袋:QR 码的 Reed–Solomon(1960)、Wi-Fi 的 LDPC(1963 发明、1990s 复活)、5G 的 Polar 码——组合设计与编码是数字世界的隐形骨架。

哲学一寸:穷举不是耻辱,是把「存在」问题转化为「计算」问题的合法路径——前提是搜索空间被计数武器先圈住(Tarry 只需查 R(6) = 9408 个标准型 × 剩余自由度)。先计数、后穷举——这本书两半的合流点。

171讲义

第六章 组合设计与编码:从存在到构造6.16 第六章全景:一张「设计方案」的决策树

本章工具归成一棵决策树——拿到「安排/纠错」问题先走四问:

图 6-10 「设计方案」决策树 拿到「安排 / 纠错」问题 两因素公平? 两两相遇? 传错要纠? 拉丁方 / 正交对 海关:n ≠ 2, 6 素数幂 → F_q 机器 一般 → 缝合 Steiner / BIBD 海关:v ≡ 1, 3 (mod 6) AG / PG 量产 Kirkman–Wilson 兜底 纠错码 先查汉明界 d ≥ 2t + 1 Hamming [2r​−1, …] 第四问:怎么验货?—— 每线 k 点、每对 λ 次;码距、症候地址(本章每个真跑都是范本)
图 6-10 三问分流、海关查票、原料定产线、验货按定义——第六章的工具按决策次序归位,综合站将把它与全书五条线叠成一张总图。

第一问:安排什么?两因素公平 → 拉丁方/正交对;两两相遇 → Steiner 系;传错可纠 → 纠错码。第二问:参数过海关吗?bk = vr、λ(v−1) = r(k−1)、汉明界——整除性先行。第三问:用什么原料造?素数幂 → 有限域(仿射/射影平面量产);一般参数 → 缝合(Wilson 路线)。第四问:怎么验货?小规模逐对核对 + 对拍(本章每个真跑都是范本)。

通往综合站:六章的地图将叠成一张总图——计数、担保、结构、对称、构造五条线索在综合站收拢成一件事:把「数不清」的世界变成「说得清」的世界。

172例题

第六章 组合设计与编码:从存在到构造例题一:拉丁方与 Steiner 三元系

例 1(三阶正交对,手搓机器)。用 §6.6 的素数机器 La(i, j) = ai + j (mod 3) 造 n = 3 的正交对:a = 1 给 L1 = (0,1,2 / 1,2,0 / 2,0,1),a = 2 给 L2 = (0,1,2 / 2,0,1 / 1,2,0)。叠加验正交:9 个位置的有序对 (0,0) (1,1) (2,2) / (1,2) (2,0) (0,1) / (2,1) (0,2) (1,0)——9 对恰是 F3 × F3 全体 ✓。q − 1 = 2 是 n = 3 的正交对上限,机器一步造满——真跑同时给出 n = 4(用 F4)的 3 个、n = 5 的 4 个,全部两两正交 ✓。∎

例 2(从仿射平面读出设计)。§6.7 宣称 AG(2, 3) 是一个 S(2, 3, 9)——把 12 条线全部写出核对:斜率 0 的三条 (0,0)(1,0)(2,0) / (0,1)(1,1)(2,1) / (0,2)(1,2)(2,2),斜率 1 与 2 各三条(如 y = x:三点 (0,0)(1,1)(2,2);y = x + 1、y = x + 2),竖线三条。总账:12 条线 × 每条 C(3, 2) = 3 对 = 36 对 = C(9, 2)——9 个点的每对恰被盖一次,不重不漏(真跑逐对核账 ✓)。把每条线的 3 个点看成一区组——BIBD 的两条恒等式当众兑现:b = 12、r = 4,bk = 12 × 3 = 36 = 9 × 4 = vr ✓,λ(v−1) = 1 × 8 = 8 = r(k−1) = 4 × 2 ✓。∎

方法回放。①素数幂阶的设计问机器要(L_a 公式 + 有限域);②验设计只查两件事——每条线 k 个点、每对点恰 λ 次;③总账 C(v, 2) = b·C(k, 2) 是最快的 Sanity 检查。
173例题

第六章 组合设计与编码:从存在到构造例题二:Hamming [7,4] 编解码

例 3(编码)。信息 (1, 0, 1, 0)(即 d1 = 1, d2 = 0, d3 = 1, d4 = 0)——p1 = d1 ⊕ d2 ⊕ d4 = 1、p2 = d1 ⊕ d3 ⊕ d4 = 0、p4 = d2 ⊕ d3 ⊕ d4 = 1——码字按位置 1 到 7 排开:1011010。逐位复核:p1 管位置 1,3,5,7 = 1,1,0,0 偶校验 ✓;p2 管 2,3,6,7 = 0,1,1,0 偶 ✓;p4 管 4,5,6,7 = 1,0,1,0 偶 ✓。

例 4(译码)。信道在第 5 位翻了一个错,收到 1011110——三组校验重算:s1 = 1⊕1⊕1⊕0 = 1、s2 = 0⊕1⊕1⊕0 = 0、s4 = 1⊕1⊕1⊕0 = 1——症候 (s4s2s1) = (101)2 = 5:错位地址被自动报出,翻回第 5 位复原 1011010 ✓(真跑:16 个码字 × 7 个错位 = 112 种单错,症候地址每次都精确等于出错位置,复原率 112/112)。校验位放在 2 的幂位置不是巧合:症候的三位二进制读数就是地址。∎

方法回放。①编码是「三组偶校验」的正向账;②译码是同一笔账的重算——差额写在症候里;③症候 = 0 说明无错(8 × 16 = 128:8 个症候分尽 128 个接收串——完美码的账本一页读完)。
174习题

第六章 组合设计与编码:从存在到构造习题课(一):设计与平面

A 组·参数与海关

A1.BIBD(7, 3, 1) 的 b、r 各是多少?
答:bk = vr 且 λ(v−1) = r(k−1):r = 6/2 = 3、b = 21/3 = 7——b = v 的对称设计(Fano 平面)。

A2.S(2, 3, v) 的整除海关查什么?哪些 v ≤ 15 放行?
答:v − 1 被 2 整除(v 奇)且 v(v−1)/2 被 3 整除(v ≢ 2 mod 3)→ v ≡ 1 或 3 (mod 6):7, 9, 13, 15 放行(3 = 平凡单线)。Kirkman:放行即有货。

A3.BIBD(6, 3, 2) 过海关吗?
答:r = 10/2 = 5 ✓、λ(v−1) = 10 = 5 × 2 ✓——放行。但 6 阶上正交对无解的 Tarry 教训在此回响:海关 ≠ 仓库,必要 ≠ 充分。

B 组·构造与验证

B1.用 {0, 1, 3} 差集写出 Fano 的 7 条线,并验证任两点的差恰被覆盖一次。
答:{0,1,3}, {1,2,4}, {2,3,5}, {3,4,6}, {4,5,0}, {5,6,1}, {6,0,2}(mod 7 平移);非零差 1 到 6 各恰出现一次(真跑 ✓)——Singer 差集的「一线盖全差」。

B2.仿射平面 AG(2, 4) 有多少点、多少线、几条平行线过线外一点?
答:16 点、q(q+1) = 20 条线、每线 4 点;平行类 q + 1 = 4 个,每类 4 条——过线外一点恰 1 条平行线(斜率定死)。

B3.为什么 AG(2, q) 一口气给 q − 1 个两两正交的拉丁方?
答:平行类去掉行类、列类后剩 q − 1 个斜率类,每个斜率类给出一个「行 × 列 → 符号」的拉丁方;两条不同斜率的线恰交一点 ⟹ 两方叠加每对符号恰现一次。

175习题

第六章 组合设计与编码:从存在到构造习题课(二):编码与译码

A 组·码距与界

A1.码距 d = 5 的码能纠几错、能检几错?
答:纠 ⌊(d−1)/2⌋ = 2 错;检 d − 1 = 4 错(只发现不纠正)。纠与检不可兼得全值:纠 e 错时只能再检 e 错。

A2.长度 6、码距 3 的码最多几个码字?(汉明界估一把)
答:球体积 C(6,0) + C(6,1) = 7,上界 ⌊64/7⌋ = 9。实际最优 A(6, 3) = 8(真跑可达 [6,3,3] 短化码)——界是天花板不是地板。

A3.重复码(3 遍)是完美码吗?
答:n = 3、2 个码字、球体积 C(3,0)+C(3,1) = 4,2 × 4 = 8 = 23 ✓——长度 3 的重复码也是完美码!完美名单比想象更「平民」。

B 组·上手译码

B1.收到 0110110,译出什么?
答:s1 = 0⊕1⊕1⊕0 = 0、s2 = 1⊕1⊕1⊕0 = 1、s4 = 0⊕1⊕1⊕0 = 0——症候 (010)2 = 2,第 2 位翻回得 0010110 = 码字(信息位 1100)。

B2.为什么两个单错可能译错?(d = 3 的极限)
答:两错后落点距错误码字 1、距正确码字 2——最近邻译码把它「纠」到另一个码字:纠错能力是保证不是全知,d = 3 只担保单错情形。

B3.[15, 11] Hamming 码的校验位几个?汉明界取等吗?
答:r = 4 个校验位(位置 1,2,4,8);球体积 C(15,0)+C(15,1) = 16,211 × 16 = 32768 = 215 ✓ 恰取等——家族全体完美。

176地图

第六章 组合设计与编码:从存在到构造第六章地图:概念依赖关系

第六章是一条「从图纸到出厂」的流水线:入口是安排与纠错两类问题,出口是可验证的设计与码。

图 6-11 第六章概念依赖图 有限域 F_q 设计的原材料 拉丁方 / 正交对 q − 1 个造满 AG(2, q) q2​ 点 · q(q+1) 线 射影平面 PG(2, q) Fano = PG(2, 2) BIBD(v, k, λ) bk = vr · λ(v−1) = r(k−1) Steiner 系 S(2, 3, v):v ≡ 1, 3 (mod 6) Hamming [7, 4] 症候即地址 · 完美 汉明界 取等 = 完美码 正交表 L9​(34​) 工业试验 机器 几何化 加无穷远线 读出设计 F2​ 列向量 握手 用武之地 原料(域)→ 几何(平面)→ 设计(区组)→ 码(校验)—— 一条河的上下游
图 6-11 有限域是原料车间,仿射/射影平面是半成品,Steiner 系与 Hamming 码是两件成品——Fano 处的握手箭头把左右两岸钉成一体。读图口诀:域 → 平面 → 设计 → 码,一条河的上下游。

读图三件事。①有限域是全章的原料车间:正交拉丁方、仿射/射影平面、乃至 Hamming 校验矩阵(F2 上的列向量)都从它取材——域里「除法可行」=「斜率可用」=「直线量产」。②整除海关在入口查票、Wilson 在出口发签证:必要条件筛掉大半,充分性定理担保「过检即有货」。③码与设计在 Fano 处握手: Hamming 重 3 码字的支撑集 = Fano 七线——左岸(设计)与右岸(编码)实际是同一条河。

177小结

第六章 组合设计与编码:从存在到构造第六章小结(上)

概念与定理

对象陈述钥匙
拉丁方每行每列符号各恰一次两因素公平
正交对叠加后 n2 个有序对各一次存在 ⟺ n ≠ 2, 6
BIBD(v, k, λ)每对点恰同现 λ 区组bk = vr、λ(v−1) = r(k−1)
Steiner S(2, 3, v)三点一线、每对一线v ≡ 1, 3 (mod 6)
Wilson 定理过海关即有货(v 充分大)拉伸、填充、缝合
有限域 F_qq 为素数幂,四则完备设计的原材料
仿射平面 AG(2, q)q2 点、q(q+1) 线、每线 q 点λ = 1 的 BIBD
射影平面 PG(2, q)q2+q+1 点线、每线 q+1 点加无穷远线
码距 d码字两两最小距离d ≥ 2t+1 纠 t 错
汉明界球体积 × 码字数 ≤ 2n取等 = 完美码
Hamming [7,4]d = 3、症候即地址完美纠错
码-设计握手重 3 码字 = Fano 七线一门课三名

标准账单(真跑全对拍)

问题答案核对处
拉丁方数 L(1..4)1, 2, 12, 576例题页 · 枚举
化简数 R(1..5)1, 1, 1, 4, 56枚举 ÷ n!(n−1)!
MOLS 个数(n = 3/4/5)2 / 3 / 4 个q − 1 造满
AG(2, 3)9 点 12 线 4 平行类36 对恰一线
Fano 七线21 对各恰一线差集 {0,1,3}
Hamming [7,4]d = 3、112 单错全纠症候 = 地址
重量分布1 + 7 + 7 + 1对称设计
汉明界8 × 16 = 128 取等完美铺满
178小结

第六章 组合设计与编码:从存在到构造第六章小结(下)

三个方法论警句

①整除海关先查票,但海关不等于仓库——bk = vr、λ(v−1) = r(k−1)、汉明界都是必要条件;BIBD(6, 3, 2) 过检无货、Euler 猜想栽在「看起来必无解」——必要与充分之间隔着一整个构造理论。②原料决定产线——素数幂阶有有限域,机器开动、设计量产;非素数幂阶(如 6)机器停摆,只能靠缝合——结构的丰俭由数论的性格决定。③验货只需两笔账——设计查「每线 k 点、每对 λ 次」;码查「码距、症候地址」——定义即验货单,所有真跑都按定义逐条核对。

本章与全书五条线

线索本章兑现
计数(一、二章)L(n) = R(n)·n!·(n−1)!;球体积 C(n, ≤t)
担保存在(三章)鸽笼于汉明界;Kirkman/Hanani/Wilson 的存在定理
结构(四章)平面性判据的「非平面最小标本」Fano;欧拉环游之「管」思想于试验安排
对称(五章)同构分类数设计(S(2,3,13) 恰 2 个);F4 的乘法群是 C3
构造(六章)有限域机器 + 缝合 + Hamming 校验位——从「有」到「拿在手上」

一句总账:前五章把「数不清」的世界一步步说清(有多少、有没有、什么结构、怎么对称),本章把说清的对象造出来——综合站把六条线拧成一股。

179思想卡

第六章 组合设计与编码:从存在到构造思想卡:完美设计的稀罕

「完美」在数学里不是赞美,是约束——完美到极点的东西,往往少到极点。

完美码的定义冷得像冰:汉明界恰好取等——半径 t 的球把整个空间无缝铺满、一个接收串都不浪费。这样的码存在吗?名单短得惊人:长度 3 的重复码、Hamming 家族 [2r−1, 2r−r−1, 3]、Golay 的 [23, 12, 7],再加上两个平凡的退化情形——1949 年 Golay 之后,再无新丁(1975 年 Tietäväinen 完成分类证明)。纠 2 错还敢称完美的,全宇宙只剩一个 Golay。

稀罕从何而来:取等要求球体积的账分毫不差——球体积 Σ C(n, i) 是一串「不体面」的数,要它恰好整除 2n 还被码字数乘满,相当于要求 2n 在每个 C(n, i) 处都留出精确的余量。这是把「整除海关」推到极致的贪婪——所以完美码聚居在 n = 2r − 1 附近(那里 C(n, i) 的奇偶性最配合)。

设计与码共享这份稀罕:S(2, 3, 7) 同构意义下恰 1 个(Fano);S(5, 8, 24)(Witt 设计)恰 1 个,与扩展 Golay 码共生;大 Witt 设计 24 点、759 个区组——「完美对象」在组合学的每个角落都稀罕。数学家对完美对象的态度因此很特别:不指望它常见,找到一个是缘分,证明不再有是成就。稀罕不是缺陷,是完美收取的门票。

一句话带走。完美 = 无冗余 = 无余地——数学的完美主义自带头寸:要么恰好装下,要么根本不存在。
180挑战

第六章 组合设计与编码:从存在到构造挑战:三十六军官为什么无解

§6.2 宣称 6 阶正交对不存在——本挑战把「为什么偏偏是 6」讲透。

先看机器为什么罢工:素数幂机器 L_a(i, j) = a·i + j 需要域——域里才有「乘 a 不退化」的保证(a·i = a·i′ ⟹ i = i′ 要靠消去律)。6 = 2 × 3 不是素数幂,Z6 有零因子(2 × 3 = 0):取 a = 2 时 L2 的第 0、3 两行完全相同——拉丁方都保不住,遑论正交。补丁方案只剩「缝合」:把 6 = 2 × 3 拆成小块缝合——但 2 阶正交对根本不存在(n = 2 是两大例外之一),2 × 3 的布料缺了经线,缝不出来。

再看穷举为什么可信:Tarry 1901 年的证明是把 6 阶拉丁方按化简标准型枚举——总数 R(6) = 9408 个,再对每个标准型检查与其正交的搭档是否存在(利用行换、列换、符号换把搜索空间再压掉 6!·5! 的因子)。十年人工、一个结论:零。今天的计算机几秒钟复核;Lam、Thiel、Swartz 1989 年的同类穷举(射影平面 10 阶)也走了类似路线并配了独立验证程序——穷举证明的信用来自可复核,不来自优雅。

最后看反转为什么深刻:Euler 猜想「n ≡ 2 (mod 4) 全无解」,Tarry 只证实了最小情形 n = 6;1959 年 Bose–Shrikhande–Parker 用缝合术造出 10、14、18 阶的正交对——例外名单被砍到只剩 {2, 6}。启示有三:①猜想可以局部对、全局错——最小情形的验证不外推;②无解证明(Tarry)与有解构造(BSP)用的是同一批武器(枚举 + 缝合);③「为什么不存在的例外只有两个」至今没有一锤定音的解释性证明——组合学里「存在性地图」的绘制先于「为什么这样画」的理解,这正是 Wilson 定理要接力的地方。

181实验

第六章 组合设计与编码:从存在到构造实验:Fano 平面与 Hamming 码的对拍

本章最漂亮的握手值得亲手对拍一遍:码论对象(Hamming [7,4])与设计对象(Fano 平面)在同一位点相遇。

实验设计。①按 §6.11 规则编出全部 24 = 16 个码字;②算两两码距取最小 → 验 d = 3;③对每个码字翻第 1 到 7 位(共 112 个接收串)跑症候译码 → 验全部复原且地址恰为出错位;④重量分布 → 验 1 + 7 + 7 + 1;⑤取 7 个重量 3 码字的「1 的位置」集合 → 与 Fano 七线逐条比对 → 验「任两点恰一线」;⑥汉明界 → 验 8 × 16 = 128 取等;⑦F4 乘法结合律、分配律、逆元唯一性 → 43 × 3 = 192 条代数恒等式逐条验。

图 6-12 Fano × Hamming 对拍总账 实验 结论 核对 ① 编码 16 信息组 16 个码字互不相同 ✓ ② 码距 两两最小距离 d = 3 ✓ ③ 单错纠错 112 / 112 全部复原,症候地址恰为出错位 ✓ ④ 症候账 8 个地址各被 16 个接收串使用——不偏不倚 ✓ ⑤ 重量分布 1 + 7 + 7 + 1(重 4 = 重 3 的补) ✓ ⑥ 码 → 设计 重 3 支撑集 = Fano 七线,21 对恰一线 ✓ ⑦ 汉明界 8 × 16 = 128 = 27​,取等 —— 完美 ✓ ⑧ F4​ 律 结合 / 分配 192 条恒等式 + ω(ω+1) = 1 ✓ 码论对象与设计对象在同一位点相遇 —— 两个世界的账本完全一致 延伸:[8,4,4] 扩展码给出 S(3, 4, 8);Golay [24,12,8] 给出 S(5, 8, 24) —— 换挡即出新品
图 6-12 八项体检全部通过:编码、码距、112 单错、症候账、重量分布、码-设计握手、汉明界取等、F4 代数律——机器是同一台,两个世界一套账。

体检真跑结论。①16 个码字互不相同 ✓;②d = 3 ✓;③112/112 复原,且每个地址(1 到 7)恰被 16 个接收串报出——症候的空间也用得不偏不倚 ✓;④重量账 1, 7, 7, 1 ✓;⑤重 3 支撑集 {(1,2,3), (1,4,5), (1,6,7), (2,4,6), (2,5,7), (3,4,7), (3,5,6)} 与 xor 判线 Fano 七线逐条相等,21 对点各恰一线 ✓;⑥8 × 16 = 128 = 27 ✓;⑦F4 全部 192 条恒等式通过,ω · (ω + 1) = 1 当场核验 ✓。码-设计握手当庭验证:两个世界的对象表完全一致。

延伸。把 [7,4] 换成扩展 [8,4,4](加一位全偶校验),重 4 码字给出 S(3, 4, 8)——斯蒂纳系家族的又一位成员;同一条「码 → 设计」生产线在 Golay [24, 12, 8] 处产出传奇的 S(5, 8, 24)。机器是同一台,换挡即出新品。
182格物札记

第六章 组合设计与编码:从存在到构造〖札记〗从田忌赛马到试验设计

《史记》里的田忌赛马是中国古人最早「用结构赢资源」的记录:上中下三马对齐硬拼必输,孙膑重新安排配对——下马对王上马(弃一局)、上马对王中马、中马对王下马——二胜一负赢千金。同样的马,不同的安排,结果反转——这就是「设计」最古老的直觉:胜负不在元素,在配对方案。

从故事到科学隔了两千年:田忌的赢法是「一次性聪明」——换一个对手、换一匹马就失效。十九世纪的农学家面对的是更难的问题:n 个品种、n 块地,土壤肥力的差异混在品种效应里——Fisher 在罗森斯特实验站把「公平比较」做成了体系:随机化(打乱不可控因素)、区组(把可控干扰分层)、拉丁方(两个干扰因素同时抵消)——试验设计三件套。柯克曼的十五女生(1850)比 Fisher 早八十年,已经是纯粹的区组设计题。

均衡的经济学:田忌用「牺牲一局」买「两局必胜」——不追求全胜,追求受控的胜利。拉丁方同理:不消除干扰,而是让干扰均匀分配后相消。田口玄一的正交表把这套思想推到工业级:9 次实验读出 4 因素主效应,省的不是实验次数,是无知——哪些因素重要、哪些可以无视,一张正交表见分晓。

中国古算的再遥望:孙膑的配对直觉若再走两步——把「安排」本身当研究对象、数尽所有安排、问哪种最优——就是组合设计。但《孙子算经》以降的古算停在「解一题」的层面,没有把「方案空间」本身数出来。综合站的年表里,田忌(前 4 世纪)与柯克曼(1850)之间隔着一条「从个案到体系」的鸿沟——跨越它的船票,正是这本书教的计数。

183速查

第六章 组合设计与编码:从存在到构造第六章速查表

情境关键词方法结论
两因素公平安排拉丁方行列各一次
两套安排互不干扰正交对存在 ⟺ n ≠ 2, 6
每对恰遇一次Steiner S(2, 3, v)v ≡ 1, 3 (mod 6)
BIBD 参数双向计数bk = vr、λ(v−1) = r(k−1)
大范围存在性Wilson 定理过海关即有货
素数幂阶构造有限域 F_qq(q+1) 条线量产
任两线必交射影平面加无穷远线
最小射影平面Fano (7, 3, 1)差集 {0,1,3}
纠 t 个错d ≥ 2t + 1球不相交
码字上限汉明界取等 = 完美码
纠单错又省带宽Hamming [7,4]症候 = 地址
码字的几何重量分布1 + 7 + 7 + 1
码 → 设计取支撑集重 3 = Fano 七线
工业试验正交表 L9(34)9 次读 4 因素
184讲义

第六章 组合设计与编码:从存在到构造衔接讲义:通往综合站——把六章收成一张地图

六章读完,最后一件行李是把它们叠起来。综合站(p185 到 198)不再引入新对象,只做四件事:收图、对拍、决战、结账。

收图:综合站第一页给全书概念依赖总图——六章不是六个抽屉,是一张网:鸽笼(三章)喂着 Ramsey(三章)与汉明界(六章);双向计数(一章)撑起 Burnside(五章);生成函数(二章)在第六章隐身但在计数的每一步打工。地图将显示:六条线索其实是一条主脉的六次显影。

对拍:两个综合实验把跨章武器编成一套动作——项链计数的 Burnside 与生成函数对拍(二、五章握手);Hamming [7,4] 信道真跑(六章收官)——公式的意义在两把尺子量出同一个数的那一刻落地。

决战:终极挑战是 Ramsey 数 R(4, 4)——三章留下的问题在综合站摆开战场:Paley 图 17 点、C(17, 4) = 2380 个四元组逐个核验——用计算机的「穷举合法化」给本书画上句号,也留下下一步:R(5, 5) 至今无人知道确切答案。

结账:全书小结与终极速查表把 198 页压成两张表。下一站:综合站——数数的人最后要数一数自己走了多远。

综合站

全景与余韵

把三百年收成一张年表与一张人物谱,把六章收成一张概念依赖总图与一张方法决策树;两个综合实验,一个用 Burnside 公式与暴力枚举在计算机上对拍项链计数,一个让 Hamming [7,4] 码在人为污染的信道里真跑纠错,让公式、代码与数据在同一页上握手。终极挑战直面 Ramsey 数 R(4,4)=18——已知疆界里最后一颗能手工推演的明珠,用图论证法与概率直觉两把武器合围它。综合习题与评讲随后收兵。余韵一望前方——回望相邻领域,看「数」与「设计」如何接续;再望现代组合学的疆域:极值组合、加法组合、组合几何与计算复杂性,处处是本册方法的延长线;最后一望这门学问的哲学回响:组合学的整部历史,就是人类学习「既数得清、又数得妙」的历史——从一个一个地数,到找出结构让大数塌缩成小式子。合上本书时,帕斯卡三角的数字、图上的点线、项链的对称,都汇成了同一句话:数数的尽头,是结构。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
185导引

综合站 全景与余韵综合站导引

198 页走到这里,新对象一个都不再引入。综合站只做四件事:收图——把六章叠成一张总图(p186);对拍——两个综合实验让跨章武器同台(p191–192);决战——终极挑战 Ramsey 数 R(4, 4),用本章的「穷举合法化」给全书画句号(p193);结账——综合习题、全书小结与终极速查表(p194–198)。

为什么值得收一次图:学习是把书读厚——每一章都添武器、添人物、添警句;理解是把书读薄——六条线索其实是同一条主脉的六次显影:把「数不清」的世界变成「说得清」的世界。第一章的双向计数撑起第五章的 Burnside;第三章的鸽笼喂着 Ramsey 与汉明界;第二章的生成函数在计数的每一步打工;第四章的平面性判据在 Fano 处与第六章握手。

一件收尾小事:综合习题(p194)刻意全部「跨章」——每道题都要同时动用两章以上的武器。如果能在不看评讲的前提下做完大半,这本 198 页就真正属于了。出发。

186讲义

综合站 全景与余韵全书概念依赖总图

六章五线一网收。读图从左往右:原料(数与双射)→ 引擎(计数与担保)→ 结构(图与群)→ 造物(设计与码)。

图 S-1 全书概念依赖总图 一章 双射与计数 双向计数 · 容斥 二章 生成函数 递推 → 多项式 三章 存在与担保 鸽笼 · Ramsey 四章 图论 欧拉 · 平面性 五章 群作用 Burnside · Pólya 六章 设计与编码 Steiner · Hamming 喂 商掉对称 原料 握手 综合实验一 · 二 公式对拍笨办法 · 信道真跑 终极挑战 R(4, 4) Paley 图 17 点 · 四脉归一 计数脉(金)· 担保脉(红)· 结构脉(绿)· 对称与构造脉(蓝)—— 一张网,不是六个抽屉
图 S-1 六章的依赖网络:一、二章供计数原料,三章担保存在,四章给结构,五、六章做对称与构造——三脉在终极挑战处会师。

三条主动脉:①计数脉:双射 → 容斥 → 生成函数 → Burnside——「有多少」从手数升级到机器算;②担保脉:鸽笼 → 平均 → Ramsey → 汉明界——「必然有」从直觉升级到定量;③构造脉:图 → 群 → 有限域 → 设计与码——「造得出」从个案升级到产线。三脉在 R(4, 4) 处会师:计数圈定战场、担保断言存在、构造(Paley 图)交出货品。

187格物札记

综合站 全景与余韵〖札记〗组合学大事年表

古代:约前 4 世纪,孙膑以「下驷对上驷」赢田忌赛马——用安排赢资源的最早记录;约 1 世纪,《孙子算经》「物不知数」——同余与 中国剩余;约 5 世纪《张丘建算经》百鸡问题——不定方程的早期组合味。

近代前夜:1202 年斐波那契《计算之书》兔子问题——递推的教科书案例;1666 年莱布尼茨《论组合术》——「组合」第一次成为学科名;1736 年欧拉解柯尼斯堡七桥——图论诞生;1782 年欧拉研究正交拉丁方(36 军官问题的前奏,1779 年正式提出)。

十九世纪:1847 年柯克曼证明 S(2, 3, v) 的存在性、1850 年十五女生问题;1852 年德·摩根信件记下四色问题、同年斯坦纳系统化三元系;1879 年肯普的四色「证明」发表(十一年后被识破——错误的证明催出了染色理论的真工具);1897 年 Burnside《有限阶群论》出版——群论工具集齐,只待 20 世纪点算。

二十世纪:1912 年 Hardy–Ramanujan 分拆渐近;1928 年 Ramsey 论文发表(1930 年离世,定理不朽);1937 年 Pólya 计数定理;1947 年 Hamming 纠错码;1948 年 Shannon 信息论;1949 年 Golay 码;1959–60 年 Bose–Shrikhande–Parker 破 Euler 猜想;1960 年 Hanani、1972–75 年 Wilson 完成设计存在性体系;1976 年 Appel–Haken 计算机证明四色定理;1989 年 Lam 团队证实 10 阶射影平面不存在;1993 年 McKay–Radziszowski 定死 R(4, 4) = 18;2005 年 McKay–Wanless 给出拉丁方计数渐近;2016 年 Boolean Pythagorean triples 问题 200 TB 证明——从孙膑到 200 TB,同一个问题:怎么安排,才能说得清。

188格物札记

综合站 全景与余韵〖札记〗组合学人物谱

欧拉(Leonhard Euler, 1707–1783):七桥开创图论,36 军官开创正交拉丁方,多面体公式开启拓扑计数——一个人给本书三章供了火种。他晚年双目失明,靠心算完成大量工作。

柯克曼(Thomas Kirkman, 1806–1895):英国牧师,教区事务之余证明 Steiner 三元系存在性(1847)——「十五女生」让他出圈,存在性定理让他不朽。斯坦纳(Jakob Steiner, 1796–1863):瑞士农家子,29 岁才入学,几何——三元系冠了他的名(系统化出自他 1853 年论文)。

Ramsey(Frank Ramsey, 1903–1930):剑桥哲学家、数学家、经济学家,26 岁病逝——一篇逻辑学论文里藏了让全数学头疼的定理。「数学的野性」是他说组合结构无处不在的代名词。

Pólya(1887–1985)与 Burnside(1852–1927):第五章双主角——一位教人解题、一位把对称变成账本(引理其实 Burnside 之前已有 Frobenius 等人用过——冠名常是历史的误会,账本本身不误)。

Hamming(1915–1998)与 Shannon(1916–2001):贝尔实验室的一对同事——Shannon 给「信息」以数学、Hamming 给「纠错」以构造。Hamming 那句名言值得每个学数学的人抄在扉页:「当知道问题无解时去算它,和不知道无解时去算它,是两种完全不同的心情。」——他的纠错码正诞生于「愤怒」:周末无人值守的机器把好数据连同错误一起扔掉。

Wilson(Richard Wilson, 1945– ):把设计的存在性从集邮变成体系;Erdős(1913–1996):一生合作者逾五百人,把「随机方法」带进组合学——本书第三章的 Ramsey 上界抽样、第六章的穷举合法化,都住着他的遗产。

189地图

综合站 全景与余韵方法决策树:拿到问题先问什么

全书方法压成一棵树。拿到问题先走四问——每问的叶子上挂着所属章节。

图 S-2 方法决策树:拿到问题先问什么 拿到一个问题 什么算同一个? 先写群:作用、轨道、稳定子 → Burnside / Pólya(五章) 有多少? 双射 · 容斥 · 生成函数 · Catalan / 分拆(一、二章) 有没有? 鸽笼 · 整除海关 · 汉明界 · Ramsey(三章 · 六章) 怎么造? 图 · 有限域 · 缝合 · 校验位 → 设计与码(四 · 六章) 最后一步:按定义逐条验货(真跑对拍) 四问走完,问题已换了一副骨头 —— 这就是 Pólya 的「变换它」
图 S-2 第一问永远是对称(什么算同一个),第二问计数,第三问担保,第四问构造——四问的叶子上挂着全书六章,最后一步统一验货。

读树三件事:①第一问是「什么算同一个」——对称问题先定群,再谈计数(第五章);这一问漏了,后面全错。②「有没有」常比「有多少」便宜——先查海关(整除性、鸽笼、汉明界),过不了检的问题直接出局,省下全部力气。③构造是最后一步也是验证的第一步——造出来后按定义逐条核对(本章每个真跑都是范本),「造」与「验」是同一枚硬币。

190地图

综合站 全景与余韵结构手册:常见设计的参数表

数与计数的标准账

对象小值账单出处
Bell 数 B(n)1, 2, 5, 15, 52, 203, 877第二章
分拆数 p(n)1, 2, 3, 5, 7, 11, 15, 22第二章
Catalan C(n)1, 2, 5, 14, 42, 132, 429第二章
错排 D(n)0, 1, 2, 9, 44, 265第二章
项链二色(Cn)2, 3, 4, 6, 8, 14, …, 108第五章
拉丁方 L(n)1, 2, 12, 576第六章

结构与设计的标准参数

对象参数关键数
Petersen 图10 点 15 棱,3 正则色数 3 · |Aut| = 120
Fano 平面(7, 3, 1) 对称 BIBD同构 1 个 · 差集 {0,1,3}
仿射平面 AG(2, 3)9 点 12 线S(2, 3, 9) · 4 平行类
Hamming [7,4][n, k, d] = [7, 4, 3]16 码字 · 完美 · 重量 1+7+7+1
Golay [23,12,7]完美纠 3 错 Witt 设计 S(5, 8, 24) 共生
Ramsey 数R(3,3) = 6 · R(3,4) = 9 · R(4,4) = 18第三章 + p193

记忆口诀:账单背小值、参数记结构——数是死的,结构是活的;考场上忘了大值可以现推(生成函数与 Burnside 都是推值机器),结构推不出来,只能靠平时攒。

191实验

综合站 全景与余韵综合实验一:项链计数的两种算法对拍

第二章的公式机器(Burnside/Pólya)与第一章的笨办法(全枚举 + 最小代表归堆)在项链问题上正面对拍——两把尺子量同一个数。

实验设计:①n = 1 到 12、k = 2:Burnside 公式 (1/n)Σ 2gcd(n, j) 对拍 2n 全枚举归堆(n = 12 要归 4096 个染色);②同题加反射(Dn);③分账对拍:n = 6、k = 2 时 Pólya 循环指标读系数 vs 归堆账单;④k = 3 抽查 n = 4、5(公式 34 类推)。

图 S-3 综合实验一:项链计数两种算法对拍(n = 1..12) n 项链(公式 = 归堆) 手镯 1 2 2 2 3 3 3 4 4 4 6 6 5 8 8 6 14 13 ←分家 7 20 18 8 36 30 9 60 46 10 108 78 11 188 126 12 352 224 n = 12:4096 个染色暴力归堆 = 12 项 Burnside 平均 = 352 —— 两把尺子一个数 分账抽查:n = 6 恰 2 红 4 蓝 3 种(相邻 / 隔一 / 相对);k = 3、n = 4 给 15 ✓
图 S-3 公式机器与暴力归堆在 12 个规模上逐项一致;手镯自 n = 6 分家(14 → 13)。笨办法是公式的验钞机,公式是笨办法的望远镜。

体检真跑结论:①公式与归堆 n = 1 到 12 逐项一致,n = 11、12 给 188、352——4096 个染色的归堆与一个 12 项的平均,殊途同归;②手镯在 n = 6 处分家(14 → 13)再证;③n = 6 分账「恰 2 红」三种(相邻、隔一、相对)与归堆账单一致 ✓;④k = 3、n = 4 给 15 ✓。笨办法是公式的验钞机,公式是笨办法的望远镜——n = 20 时 220 归堆已近百万次,而公式依旧一行。

192实验

综合站 全景与余韵综合实验二:Hamming [7,4] 信道纠错真跑

第六章的 Hamming 码放到一个模拟的二进制对称信道(BSC:每位以概率 p 翻转)里跑 10 万次传输,与「不编码裸传 4 位」对拍——冗余买来了多少可靠?

实验设计:①p = 0.01:裸传 4 位信息(字错率理论值 1 − (1−p)4)vs Hamming 编码传输(码距 3,单错全纠——字错率理论值 = 出现 ≥ 2 错的概率);②各模拟 100 000 次统计实测字错率,对拍理论值;③p = 0.05、0.10 重跑;④把 112 种单错逐一注入验证纠错(第六章实验的复跑)。

图 S-4 综合实验二:BSC 信道纠错真跑 裸传 4 位 Hamming [7,4] 4.02% 0.21% p = 0.01 理论 3.94% / 0.20% 18.59% 4.47% p = 0.05 理论 18.55% / 4.44% 34.28% 15.03% p = 0.10 理论 34.39% / 14.97% p = 0.01 时 7 位冗余买来约 20 倍可靠;p 增大收益缩小但错误率始终砍半以上 模拟值围着理论值微微抖动 —— 大数定律在为汉明界背书
图 S-4 三档噪声下裸传与 Hamming 编码的字错误率(模拟 10 万次,seed 固定可复现):模拟值全部贴住理论值——冗余的价格与可靠的产品,汉明界两头都算清了。

体检真跑结论:①p = 0.01:裸传字错率理论 3.94%、模拟 4.02%;Hamming 理论 0.20%、模拟 0.21%——7 位买来约 20 倍可靠;②p = 0.05:裸传 18.59%、Hamming 4.47%(理论 4.44%);③p = 0.10:裸传 34.28%、Hamming 15.03%(理论 14.97%)——噪声越大冗余的相对收益越小(20 倍缩到 2 倍多),但错误率砍半的改善一直稳稳在;④112 单错注入全数复原 ✓。模拟值围着理论值微微抖动——大数定律在为汉明界背书。

193挑战

综合站 全景与余韵终极挑战:Ramsey 数 R(4, 4) 的疆界

第三章的悬念终章:R(4, 4) = 18——17 人的聚会可以双色染色避开单色 K4,18 人必出。下界用构造(Paley 图),上界用计算机(1993)——本挑战亲手验下界。

Paley 图 P(17):顶点 Z17,两点连线 ⟺ 差是 mod 17 的二次剩余。二次剩余集合 {1, 2, 4, 8, 9, 13, 15, 16}(真跑:平方表 12 到 82 收集)——17 点、68 条边、8 正则。这个图的神奇在于自补:非剩余恰是补图的差集,图与补图同构——所以「无红 K4」与「无蓝 K4」只需验一次。

图 S-5 终极挑战:Paley 图 P(17) 与 R(4, 4) 的下界 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 红弦 = 二次剩余差集 {1, 2, 4, 8, 9, 13, 15, 16} 真跑:C(17, 4) = 2380 个四元组无一团(6 边)无一空(0 边) → 每组内边数 1..5 → R(4, 4) ≥ 18;上界 18 由 1993 年计算机穷举
图 S-5 二次剩余差集造出的 8 正则自补图:68 条弦把 17 点两两相连或相离得恰到好处——2380 个四元组逐组核验,既无红 K4 也无蓝 K4。R(4, 4) = 18 的疆界桩,构造打下一半。

真跑枚举:C(17, 4) = 2380 个四元组,逐组检查——无一构成团(6 条边全在)、无一构成独立集(6 条边全无),每个四元组的内边数都在 1 到 5 之间。于是 R(4, 4) ≥ 18 ✓。而上界 R(4, 4) ≤ 18 需要穷举全部 2C(17,2) = 2136 种染色的结构性剪枝——McKay 与 Radziszowski 1993 年完成,那是「合法穷举」的巅峰之作;时至今日 R(5, 5) 仍不知道确切值(43 ≤ R(5,5) ≤ 48)——疆界之外,留给下一位。

这一仗用到的全书武器:二次剩余表(第二章的数账)、自补性(第五章的对称)、2380 枚举与剪枝(第一、三章的计数与担保)、构造验货(第六章的真跑)——一张 Paley 图,四脉归一。

194习题

综合站 全景与余韵综合习题

A 组·跨章对拍

A1.证明:Catalan 恒等式 C(n) = C(n−1) × (4n − 2)/(n + 1)——用第二章的递推还是第一章的双射?两种都写。
答:递推两边代卷积式化简即得;双射版:把 n + 1 对括号的合法序列与「中间某处降而复升」的结构对应——两条路殊途同归,正是「计数 = 结构」的实例。

A2.六人聚会(R(3,3) = 6)与 Hamming [7,4] 有什么共同的「担保语法」?
答:都是「抽屉 + 界」:前者鸽笼担保单色三角必出,后者汉明界担保 7 位纠 1 错必可——界就是担保的定量形式。

A3.用 Burnside 数五珠三色项链(k = 3、n = 5)。
答:(35 + 4 × 3)/5 = (243 + 12)/5 = 51。

B 组·构造与验证

B1.AG(2, 4) 里能不能找出 S(3, 4, 8)?——提示:换对象。
答:S(3, 4, 8) 不住在 AG(2, 4)(那是 16 点),住在 Hamming [8,4,4] 扩展码的重 4 码字里——先数后找,别在错误的点集里大海捞针。

B2.Petersen 图为什么不能「一笔画」?它的边色数为什么撞上 Vizing 界的天花板?
答:每点度 3 为奇,欧拉环游要求连通且度全偶——不满足(第四章);Vizing 给 χ′ ∈ {Δ, Δ + 1} = {3, 4},而 Petersen 的 χ′ = 4——恰好是那个 +1(点色数 3 是另一回事,别混淆点染色与边染色)。

B3.给出 R(3, 3) ≥ 5 与 R(3, 3) ≤ 6 的完整论证——下界用五边形圈 C5,上界用鸽笼。
答:C5 及其补(同构于 C5)都无三角 → 5 人反例;6 人取一点,5 条边中鸽笼 3 条同色,该三点两两连线再鸽笼一次——必出单色三角。

195评讲

综合站 全景与余韵综合习题评讲

A1 的两把钥匙:递推路 30 秒收工;双射路慢但「知道为什么」——考场用代数,学术用双射。Catalan 增率 (4n−2)/(n+1) → 4,与第二章的 C(n) ~ 4n/(n3/2√π) 呼应。A2 是本题的灵魂:全书两大担保器(鸽笼、界)其实是同一件事的两面——「平均之后必有极端」;Ramsey 定理把它推到「任意大结构必有秩序」,汉明界把它算成「冗余的市场价格」。

A3 的易错点:忘了除以 n 或忘了素数 n 的反射全同型——五珠的 5 个反射各 1122 → 3,总账 (243 + 4 × 3)/5 = 51,整除是 Burnside 的免费验钞。

B1 的教训:「先数后找」——S(3, 4, 8) 的参数海关(λ(3) = 7·r? → r = 3·7/(4−1) = 7、b = 8·7/4 = 14)先放行,再从扩展 Hamming 码取 14 个重 4 码字——设计不住在想找的地方,住在参数允许的地方。B2 的教训:Petersen 是「反例之王」——边色 4(Vizing 界的 +1 反例)、不是 Hamilton 图、不是欧拉图——每个「不」背后都有一条精确定理,背结构就是在背定理。B3 的示范价值:下界靠构造、上界靠鸽笼——Ramsey 数的每一根疆界桩都是这对组合打的,R(4, 4) 的 Paley 图只是它的放大版。

总评:六道题没有一道单章能解——这正是综合站的本意:武器不分章,问题不分科。

196小结

综合站 全景与余韵全书小结(上)

六章各一句

章一句话镇章之宝
第一章 双射与计数数不清时,找一个「一一对应」双向计数
第二章 生成函数与递推把数列装进多项式Catalan / 分拆
第三章 存在与担保鸽笼一响,秩序必现Ramsey 定理
第四章 图论点线是万物的骨架Euler 环游 · 平面性
第五章 群作用与计数先说清「什么算同一个」Burnside / Pólya
第六章 设计与编码从「有」到「拿在手上」Steiner 系 · Hamming 码

全书三条铁律

①不重不漏——双射、容斥、区组设计,全是「每个对象恰数一次」的不同化身;②先问什么算同一个——对称不定,计数白费;③定义即验货单——每章的真跑都按定义逐条核对,数学的诚实是可执行的。

全书三大担保器:鸽笼(平均出极端)、界(汉明界 / 举界)、单调与紧性(Ramsey 归纳)——「必然」从哪里来:从平均、从上限、从递归。

197小结

综合站 全景与余韵全书小结(下)

五条线,一张网

计数线(一、二、五章):从双射到生成函数到 Burnside——「有多少」的答案越来越自动。担保线(三章):从鸽笼到 Ramsey——「必然有」的尺度越来越大。结构线(四章):图是万物的骨架,平面性是最深的不可能。对称线(五章):群是「同一个」的严格化身,商掉对称是计数的第一等操作。构造线(六章):有限域是原料车间,设计与码是成品——数学不只说「有」,还能交货。

方法论十条(全书警句合集)

①对称想不清,先写群;②总账必整除——不整除就是错账;③先海关后仓库——必要条件筛题;④界就是担保;⑤笨办法是公式的验钞机;⑥构造与验证是同一枚硬币;⑦「数不清」先问「什么算同一个」;⑧反例之王常在(Petersen、6 阶正交对)——猜想最小情形不外推;⑨穷举合法化的前提是计数先行;⑩每个「不可能」都是一条精确定理(K5、K3,3、6 军官、R(3, 3, 3) 的边界)。

写给合上书的:198 页没有教完组合学——连它的地图都没画完(R(5, 5) 还是悬案,Steiner 系的分类到 2015 年才由 Keevash 关上最后的大门)。但已经拿到了三样东西:一套武器、一张地图的边角、以及「数得清」的自信。下一门课(无论它是数论、代数还是算法)会在某个转角喊去数一个新东西——那时会想起:先问什么算同一个,再数。

198速查

综合站 全景与余韵终极速查表

情境关键词方法出处
数不清 → 找对应双射 / 双向计数第一章
至少一个 → 鸽笼平均 / 抽屉第三章
排斥重叠容斥第二章
递推到通项生成函数第二章
括号 / 树形结构Catalan 数第二章
点线关系Euler 公式 / 度数账第四章
一笔画 / 走遍奇点计数第四章
平面画不下K5 / K3,3 判据第四章
转一转算同一个群作用 / 轨道第五章
数轨道Burnside 平均第五章
分账读系数Pólya 循环指标第五章
每对恰遇一次Steiner 系(海关 mod 6)第六章
两因素公平拉丁方 / 正交对(n ≠ 2, 6)第六章
传错要纠d ≥ 2t + 1 / 汉明界第六章
纠单错省带宽Hamming [7,4],症候即地址第六章
单色结构必出Ramsey(R(3,3) = 6、R(4,4) = 18)第三章 · p193
错账自查总账整除 + 小规模归堆全书

二索引(Index)

定理与命题

  • 方法回放27, 57, 58, 87, 88, 117, 118, 144, 145, 172, 173
  • 工厂守则28
  • 锯齿和为零17
  • 开头的同花13
  • 练一练18, 19, 20, 21, 22, 24, 41, 47, 72, 76, 80
  • 延伸36, 66, 96, 126, 152, 181
  • 自测25
  • 组合学的四个动词4

记号与缩写

  • AG159, 162, 169, 171, 172, 174, 176, 177, 190, 194
  • BIBD154, 158, 159, 160, 162, 163, 171, 172, 174, 176, 177, 178 等
  • DP65, 66, 113, 116
  • EGF54, 56, 58, 60, 61, 62, 63, 68
  • MST107, 116, 119, 122, 123, 126
  • NP84, 92, 94, 101, 104, 105, 112, 121, 122, 123, 127
  • OGF54, 56, 61, 62, 68
  • PG163, 167, 171, 176, 177

人名

  • Bose155, 157, 160, 180, 187
  • Burnside5, 6, 8, 9, 115, 116, 121, 123, 128, 129, 130, 133 等
  • Catalan5, 8, 21, 30, 33, 39, 40, 47, 53, 55, 56, 58 等
  • Cayley6, 81, 83, 88, 90, 92, 98, 99, 100, 108, 114, 115 等
  • Dijkstra99, 100, 101, 107, 113, 121, 123, 127, 128, 129
  • Dirac105, 122, 128
  • Euler41, 67, 99, 104, 109, 112, 116, 118, 120, 121, 122, 123 等
  • Fano7, 154, 155, 158, 159, 163, 167, 174, 176, 177, 178, 179 等
  • Fibonacci39, 40, 50, 51, 55, 61, 63
  • Franklin49, 65, 80
  • Glaisher49, 63, 86
  • Gleason77, 78, 89, 95
  • Golay165, 166, 167, 179, 181, 187, 190
  • Greenwood77, 78, 89, 95
  • Hakimi102, 122, 128
  • Hall70, 85, 86, 90, 92, 98, 99, 100, 111, 116, 118, 120 等
  • Hamilton97, 99, 104, 105, 112, 122, 128, 195
  • Hamming8, 9, 143, 154, 155, 164, 165, 166, 167, 169, 171, 173 等
  • Havel102, 122, 128
  • Hierholzer84, 104, 122, 123
  • Kirkman159, 171, 174, 178, 188
  • Kruskal83, 92, 99, 100, 101, 106, 107, 113, 119, 121, 122, 123 等
  • Kuratowski109, 121, 122
  • König79, 85, 97, 111, 122, 127, 128
  • Matrix-Tree100, 114, 116, 121, 125, 126, 128
  • McKay77, 156, 187, 193
  • Paley184, 186, 193, 195
  • Parker155, 157, 160, 180, 187
  • Petersen190, 194, 195, 197
  • Prim83, 92, 100, 107, 119, 122, 123, 126, 128
  • Prüfer6, 83, 86, 90, 91, 98, 99, 108, 115, 117, 119, 121 等
  • Pólya5, 8, 9, 116, 123, 129, 130, 138, 139, 142, 143, 144 等
  • Radziszowski77, 187, 193
  • Ramanujan65, 66, 187
  • Ramsey3, 4, 5, 6, 7, 8, 9, 69, 70, 71, 72, 73 等
  • Shannon155, 164, 187, 188
  • Shrikhande155, 157, 180, 187
  • Singer160, 163, 174
  • Stab132, 133, 134, 146, 148, 149, 154
  • Steiner4, 9, 143, 148, 154, 155, 159, 167, 170, 171, 172, 176 等
  • Stirling27, 108, 126
  • Szekeres9, 70, 74, 75, 78, 79, 86, 89, 91, 92, 98
  • Tarry154, 155, 157, 169, 170, 174, 180
  • Vandermonde16, 21, 28, 30, 32, 33, 34
  • Vizing112, 194, 195
  • Wilson154, 156, 160, 169, 171, 176, 177, 178, 180, 183, 187, 188
  • Witt167, 179, 190