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

组合设计初步 · 从 Kirkman 女生到 Witt 设计:安排的艺术

〇体例说明

体例

本书怎么读:一门关于「把点安排进块」的学问

这不是一本教材,而是一册入门书:全书只讲一件事——组合设计,即「在平衡约束下把点安排进块」的学问。它回答的问题朴素而深刻:十五名女生每天三人一组散步,怎样安排才能七天之内任何两人恰好重遇一次?三十六名军官按等级与团队排方阵,为什么排不出来?七个点用七条线连起来让每两点恰在一条线上,为什么非是 Fano 平面不可?什么样的参数 (v, k, λ) 能造出平衡设计,什么样的参数被数学永久拒绝?从 Kirkman 的女生散步(1850)、Steiner 的三元系、Euler 的三十六军官,到 Bose–Shrikhande–Parker 的历史性翻案(1959–60)、Witt 的五重设计宏构、Golay 码与 Mathieu 群,再到 Keevash 的存在性大定理(2014),组合设计的语言贯穿了数学的许多角落。全书按章组织:绪论用三个历史问题提炼出统一语言;第一章建立 BIBD 五参数、两条计数恒等式、关联矩阵与 Fisher 不等式;第二章走向对称设计与差集、Singer 定理与 Bruck–Ryser–Chowla 拦截;第三章攻克 Steiner 系与 Kirkman 女生问题;第四章解开正交拉丁方之谜;第五章攀登 t-设计与 Witt 设计的高峰;第六章让码与设计合流;综合站用年表、人物谱、方法总图、实验与自查收束全书。

写作的三条约束(本书的自我要求)。① 直觉与图形先行:每一个概念都从一张图、一个具体的小例子讲起——先看见七点三线的 Fano 图、十五女生的七日表、差集在圆圈上的平移舞步,再抽成定义;每一个定理先有「为什么它是对的」的直觉,再有完整的证明。② 一步一图:凡能画的都画——关联结构的点线图、恒等式的双账对照图、差集的循环平移图、射影平面的几何景象、码与设计的互译流程。组合设计最漂亮的地方正藏在「账本—图形—群」的对照里:一条定义、一句定理,画出来便一目了然。③ 自给自足:所需工具在书内随用随补(同余与初等数论、线性代数的矩阵与秩、群论的基本语汇、有限域的一点常识),不假设手边另有教材;个别深刻结论(如 Ray-Chaudhuri–Wilson 定理、Keevash 存在定理)给出精确陈述、证明思路与文献指引,计算对拍在实验页随附。

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

难度标记。讲义页首行用 ★–★★★★★ 标出阅读难度:★ 高中基础即可,★★ 需要同余与计数的基本功(书内自给),★★★ 需要线性代数(矩阵、秩、特征值,书内自给),★★★★ 需要群论与有限域的一点经验(书内自给),★★★★★ 需要 单群分类与编码理论的深水区(第六章与综合站余韵)。若只求理解主线,读绪论、第一章、第二章的差集、第三章的女生散步与第四章的军官问题即可;若求完整掌握,按章顺序逐页推进,并把每章习题做完。

三条线索贯穿全书:

① 明线——从一张课程表到 Witt 设计:先在生活场景里看见「安排」(绪论),学会记账与计数(第一章),再依次征服对称设计(第二章)、三元系(第三章)、拉丁方(第四章)、五重设计(第五章),最后接到纠错码与 Mathieu 群(第六章)——这正是组合设计一百七十年从「趣味难题」长成「现代数学枢纽」的轨迹。

② 暗线——平衡与拦截的拉锯。每一组参数都要先过「账本关」:三条计数恒等式、可除性、Fisher 不等式、Ray-Chaudhuri–Wilson 不等式,一关不过即出局;过了账本关也不保证存在——存在性是这门学问真正的悬念。找出「哪些账必须对、哪些对称必须补、什么时候构造成功、什么时候只能拦截」,是全书反复演练的招式。

③ 接口——通往四个邻域。组合设计是现代数学的十字路口:与有限几何(射影平面、仿射平面,第二、四章直接合流)、群论(自同构群与散在单群,第五、六章)、编码理论(Hamming 码、Golay 码,第六章)、统计学(试验设计与正交阵列,第一、四章)四条战线直接相通。同余与有限域的算术,是差集与乘子定理的用武之地;自同构群的基本语汇一旦备好,第五章、第六章的群论景象将更显亲切。

写法约定(TEX 标准):点数记 v、块数记 b(变量斜体)、块大小记 k、重复数记 r、相遇数记 λ(小写希腊斜体)、设计记 𝒟、关联矩阵记 N;差集记 D;群记 G、自同构群记 Aut(𝒟);有限域记 𝔽q。变量用斜体,函数名(det、tr、gcd)与群名(Aut、SL、M24 等)用正体;关键一步配图,点与块逐章对照。

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

目 录
组合设计初步 · 从 Kirkman 女生到 Witt 设计:安排的艺术 · 全书正文页码一览
本册导引:把「安排」写成数学2
什么是组合设计:从一张课程表说起3
三个引例:女生散步、三十六军官与 Fano 平面4
关联结构:点与块的语言5
平衡:三本账与 λ 的含义6
本册路线图:六章的远征7
历史一瞥:从欧拉到 Keevash8
绪论小结与预习清单9
第一章导引:把安排写成方程10
1.1关联结构:点与块11
1.2BIBD 五参数12
1.3计数恒等式 I:bk = vr13
1.4计数恒等式 II:r(k−1) = λ(v−1)14
1.5完全设计与退化情形15
1.6Fano 平面的参数账16
1.7关联矩阵:设计的代数名片17
1.8矩阵肖像:NNT = (r−λ)I + λJ18
1.9秩论证:Fisher 不等式19
1.10设计的谱20
1.11同构:设计何时是同一个21
1.12自同构群:设计的对称22
1.13可除性筛:参数的第一道门23
1.14补设计、派生设计与残差设计24
1.15t-设计初窥25
1.16换角计数:一题两账26
例题精讲(2 页)p.27–28
习题课(2 页)p.29–30
第一章地图:概念依赖关系31
第一章小结(上):五参数与两恒等式32
第一章小结(下):矩阵三定理33
思想卡:计数是一种证明34
挑战:搜一张 BIBD 参数表35
实验:穷举 7 点与 9 点的小设计36
〖札记〗从卦阵到赛马:中国的安排传统37
第一章速查表38
衔接讲义:通往对称设计——当 b = v39
第二章导引:极端平衡的形态40
2.1对称设计:b = v41
2.2对称设计中 r = k42
2.3对偶设计与自对偶43
2.4差集:一张表造一个设计44
2.5Fano 平面与 (7,3,1)45
2.6循环差集的基本性质46
2.7乘子定理(初版)47
2.8有限域备览48
2.9射影平面 PG(2,q)49
2.10Singer 定理:平面皆有差集50
2.11Bruck–Ryser–Chowla 定理51
2.12BRC 的战果:(29,8,2) 拦截战52
2.13Hadamard 矩阵与 Hadamard 设计53
2.14差族与循环设计54
2.15对称设计的参数表搜索55
2.16方法论:构造者的工具箱56
例题精讲(2 页)p.57–58
习题课(2 页)p.59–60
第二章地图:几何与数论的会合61
第二章小结(上):对称设计双账本62
第二章小结(下):差集一览63
思想卡:代数结构替几何发言64
挑战:Singer 差集的亲手计算65
实验:枚举 (11,5,2) 的全部差集66
〖札记〗洛书与幻方:古老的差集直觉67
第二章速查表68
衔接讲义:通往 Steiner 系——λ = 1 的极致69
第三章导引:λ = 1 的世界70
3.1Steiner 三元系:最吝啬的平衡71
3.2存在的第一道门:v ≡ 1, 3 (mod 6)72
3.3Fano 平面即 STS(7)73
3.4循环 STS 与基差族74
3.5STS(13):两个基差族的合奏75
3.6STS(15):四种构造76
3.7Kirkman 存在定理(1847)77
3.8复制与粘合:递归构造78
3.9可分解设计:平行类79
3.10Kirkman 女生问题与七日表80
3.11平行类的几何:仿射平面81
3.12Ray-Chaudhuri–Wilson 定理82
3.13大集问题83
3.14STS 的个数:计数的爆炸84
3.15Pasch 配置与超图视角85
3.16方法论:小参数穷举与大定理86
例题精讲(2 页)p.87–88
习题课(2 页)p.89–90
第三章地图:从三元系到可分解91
第三章小结(上):STS 的参数与构造92
第三章小结(下):Kirkman 问题全解93
思想卡:存在性是一门科学94
挑战:枚举 STS(15) 的非同构解95
实验:程序验证女生散步七日表96
〖札记〗九宫格的分解思想97
第三章速查表98
衔接讲义:通往正交拉丁方——第二重账99
第四章导引:三十六军官之谜100
4.1拉丁方:定义与基本计数101
4.2正交拉丁方与 MOLS102
4.3上界 N(n) ≤ n − 1103
4.4有限域造 n − 1 个 MOLS104
4.5MOLS 与仿射平面105
4.6MOLS 与射影平面的等价106
4.7阶 2 与阶 6:Tarry 定理107
4.8Euler 猜想与 1959–60 大翻案108
4.9Bose–Shrikhande–Parker 方法一瞥109
4.10MacNeish 猜想与它的命运110
4.11正交阵列:更广的账本111
4.12强部分平衡设计:放松的智慧112
4.13方法论:构造与反例的辩证法113
例题精讲(3 页)p.114–116
习题课(2 页)p.117–118
第四章地图:方阵与几何的等价网119
第四章小结120
思想卡:猜想与反例121
挑战:亲手造一对十阶正交拉丁方122
实验:计算机搜索正交对123
第四章速查表124
第五章导引:从两重平衡到五重平衡125
5.1t-设计:更重的账126
5.2t-(v,k,λ) 的参数恒等式127
5.3递降:t-设计生成 s-设计128
5.4Ray-Chaudhuri–Wilson 不等式129
5.5Steiner 系统:λ = 1 的塔130
5.6S(3,4,8):仿射空间 AG(3,2)131
5.7S(4,5,11):小 Witt 设计132
5.8S(5,6,12):大 Witt 设计133
5.9S(5,8,24):大 Witt 设计登场134
5.10计数 759:八元块的账本135
5.11块的解剖:sextet 与交叠型136
5.12自同构群 M24 初识137
5.13Steiner 系与散在单群138
5.14应用一瞥:从田亩到临床试验139
5.15t-设计构造策略总览140
5.16方法论:高维平衡的设计者141
例题精讲(2 页)p.142–143
习题课(2 页)p.144–145
第五章地图:Steiner 系的塔146
第五章小结(上):t-设计的框架147
第五章小结(下):Witt 家族148
思想卡:例外之中见宇宙149
挑战:验证 77 张六元块表150
实验:程序枚举 S(3,4,8) 的块表151
〖札记〗田亩均分:古老的均匀安排152
第五章速查表153
衔接讲义:通往码与设计的合流154
第六章导引:把设计编码,把码设计155
6.1纠错码:另一种关联结构156
6.2线性码与生成矩阵157
6.3Hamming (7,4) 码:三张脸158
6.4Hamming 码与 Fano 平面的互译159
6.5完备码与球堆积160
6.6设计来自码:支撑集与重量计数器161
6.7码来自设计:行空间162
6.8Assmus–Mattson 定理163
6.9Golay [23,12,7] 码与 S(4,7,23)164
6.10扩展 Golay [24,12,8] 与 S(5,8,24)165
6.11Mathieu 群 M24166
6.12五重传递:五只手的群167
6.13M12 与小 Mathieu 群168
6.14散在单群:26 个例外的大地图169
6.15设计、码与量子信息170
6.16方法论:三语词典171
例题精讲(2 页)p.172–173
习题课(2 页)p.174–175
第六章地图:码—设计—群的三环176
第六章小结(上):码的骨架177
第六章小结(下):M24 的金冠178
思想卡:同一个结构,多副面孔179
挑战:亲手找出重量 8 的码字180
实验:程序实现 Golay 码的译码181
〖札记〗烽火与虎符:古老的冗余编码182
第六章速查表183
衔接讲义:通往综合站——收账的日子184
综合站导引185
全书概念依赖总图186
〖札记〗年表:从 1847 到 1971,再到 2014187
〖札记〗人物谱:设计者群像188
方法决策树189
参数手册:常用设计清单190
综合实验一:穷举并分类 STS(7)191
综合实验二:Hamming 码与 Fano 平面的互译核验192
终极挑战:拦截一个 (v,k,λ)193
习题课(1 页)194
综合习题评讲195
全书小结(上):三本账的哲学196
全书小结(下):设计的宇宙观197
终极速查表198
绪论

安排的艺术:三个问题,一门学问

生活里到处是「安排」:把十五名女生分成三人小组散步,七天不许两人重遇;把三十六名军官按六个等级、六个团队排成方阵,行列各不重复;把若干「点」用若干「线」连起来,让每两点恰好在一条线上。这些问题看似各不相同,却共享同一个骨架:一个点集、一个块集、一种「哪些点落在哪些块里」的关联方式。组合设计研究的正是这种骨架——在规定的平衡条件下,把点安排进块,或者证明根本安排不进。本册从三个著名的历史问题出发,把它们提炼成统一的数学语言:关联结构与 BIBD 五参数。读法上把握一句口诀:设计是一笔账——每个点记一份、每条块记一份、两两之间再记一份,三本账必须对得上;对不上的参数直接出局,对得上的也不保证存在,而「存在」二字正是这门学问最深的悬念。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
2导引

绪论 安排的艺术:三个问题,一门学问本册导引:把「安排」写成数学

把十个人分成两队打球,把一周的课排进五天,把会议代表安排进若干张圆桌——这些都是「安排」问题。安排得好不好,有客观标准:每队人数要匀、每天的课不许撞、每桌的代表不许来自同一单位。标准一严格,安排就变成了数学:要问的不是「随便分分」,而是「在规定条件下到底分不分得出来」;若是分不出来,还要能斩钉截铁地说一句「永远分不出来」。

十九世纪的数学家们恰好撞上了一大批这样的问题。1850 年,数学教师柯克曼(T. P. Kirkman)在杂志上出一道题:十五名女学生每天排成五组、每组三人去散步,问怎样安排一周七天,使得任何两名女生恰好同组一次?再往前,1782 年欧拉研究过「三十六军官问题」:来自六个团队、有六种军衔的三十六名军官,能否排成六行六列的方阵,使每行每列的六个军官团队互不相同、军衔也互不相同?更早的还要数几何里的老朋友:七个点能否用若干条线连起来,让每两点恰好同在一条线上、每条线恰含三点?——答案就是那幅著名的七点六线图,Fano 平面。

这三个问题表面毫不相干:一个管人、一个管方阵、一个管点线。但把它们排在一起端详,会发现一副共同的骨架:都有一些对象(女生、军官位置、点),都有一些容器(小组、行列、线),都要求容器与对象之间满足某种均匀的搭配。组合设计研究的正是这副骨架:把对象叫点,把容器叫块,把「哪些点落在哪些块里」叫关联;然后在各种平衡条件下追问——安排存在吗?有几种?怎么造?怎么拦截?

图 0-1 三个历史问题,一副共同骨架 女生散步(1850) 15 名女生 · 三人小组 七天 · 两人恰同组一次 Kirkman 三元系 KTS(15) 三十六军官(1782) 6 阶方阵 · 团队与军衔 每行每列各不重复 一对正交 6 阶拉丁方 Fano 平面(1892) 7 点 7 线 · 每线 3 点 每两点恰一线 Steiner 三元系 STS(7) 共同骨架:点集 + 块集 + 关联 + 平衡条件 ——这就是组合设计(Design)
图 0-1 女生散步、三十六军官与 Fano 平面:三个问题各有渊源,剥去外衣后都是「点—块—关联—平衡」。

本册的写法遵循一条主轴:设计是一笔账。每个点记一份「我进了几个块」,每条块记一份「我装了几个点」,每对点再记一份「我们同块几次」;三本账环环相扣,任何一组参数想登堂入室,先得把账对平。第一章就把这套记账法学扎实,随后六章用它一路征伐:对称设计、三元系、拉丁方、五重设计、纠错码——账对得越细,世界越精巧。带着这句口诀出发:安排即记账,记账即证明。

3讲义

绪论 安排的艺术:三个问题,一门学问什么是组合设计:从一张课程表说起

★ 先从一个谁都能想象的小场景出发。某培训学校要在五天里给六门课排课:每天恰好安排若干节课,任何两门课不能排在同一天超过一次(假设两门课若是同天,学生要连着上两节,太累就不行),并且希望每位老师的工作量均匀。把「课」想成点、「天」想成块,排课表就是在问:能不能把六个点放进若干个块,使得块与块之间、点与点之间满足指定的均匀条件。

这个朴素场景里有三个要素值得立刻命名。第一是对象集合:六门课,它们是安排的「货」;第二是容器集合:五天(或者更一般的一些「场次」),它们是装货的「筐」;第三是规则:货与筐之间怎样搭配才算公平。组合设计把这三样东西打包,起一个统一的名字——

定义(关联结构)。一个关联结构是一个二元组 𝒟 = (X, ℬ),其中 X 是一个有限集,其元素称为点;ℬ 是 X 的某些子集(允许重复)组成的族,其元素称为块。点 x 属于块 B 时,称 x 与 B 关联,也说 B 含有 x。

关联结构是本书最底层、最宽容的概念:它不附加任何条件,点可以是任何东西,块可以是任何子集,甚至允许空块与重复块。一切「设计」都是给这个宽容的结构加上平衡条件之后的产物。为了把话说清楚,本书约定几个记号:点的个数记 v(vertex),块的个数记 b(block);涉及具体点时用小写斜体字母 x, y, p 等,涉及具体块时用大写字母 A, B, C 等。

图 0-2 一个最小的关联结构:X = {1,2,3,4},ℬ = {B1​,B2​,B3​} 1 2 3 4 B1​ = {1,2} B2​ = {1,3} B3​ = {2,4} B4​ = {3,4} 这张结构里没有平衡: 点 2 进了 2 个块,点 1 也是 2 个; 但块 B1​ 有 2 点,块 B2​ 也 2 点; 点对 {1,2} 同块,{2,3} 却不同块。 三本账,各记各的。
图 0-2 四点四块的关联结构:块与块尚且均匀,点对之间已不平衡——平衡条件就是要把每本账都记齐。

图 0-2 的结构里已经能「记账」了:数一数每个点进了几个块(点账),每条块装了几个点(块账),每一对点同块几次(对账)。三本账各有名称——点账的数目叫重复数,块账的数目叫块大小,对账的数目叫相遇数。下一节将看到,历史上那三个著名问题,本质上是给这三本账分别立下「人人相等」的死命令。

把生活安排抽成关联结构,好处立刻显现:人、课、天、场地统统隐去,剩下的只有点、块与关联。于是女生散步、军官方阵、Fano 平面可以放进同一个框架里比较、翻译、互相借用工具——这正是数学抽象的常规操作,也是本册全部力量的来源。

4讲义

绪论 安排的艺术:三个问题,一门学问三个引例:女生散步、三十六军官与 Fano 平面

★★ 现在把三个历史问题正式请上台,逐一翻译成关联结构的语言。

引例一(Kirkman 女生散步,1850)。十五名女生每天分五组散步,每组三人。问:能否安排连续七天,使得任何两名女生恰好有一天同组?翻译:点集是 15 名女生;块是「三人小组」,每天 5 个、七天共 35 个块;平衡条件是——每块恰 3 点,每个点每天恰进 1 块(即七天里每点进 7 块),每对点恰同块 1 次。这道题将在第三章完全解决;这里只预告一笔账:每名女生每天 1 组,六天里与她同组的共有 6 × 2 = 12 人,恰是其余全部女生——一次都不多、一个都不漏,紧得不能再紧。

引例二(三十六军官问题,1782)。欧拉受普鲁士腓特烈大帝之托:六个团队各派六名军官,军衔从上校到中尉共六级,把这 36 人排成 6 × 6 方阵,使每行、每列的六人团队互不相同且军衔互不相同。翻译:把「行—列位置」看作 36 个点,块有两族——「团队块」(同团队的位置并起来共 6 个块)与「军衔块」(同军衔的位置共 6 个块);平衡条件要求每行每列与两族块的结构互相「正交」。欧拉断言此题无解,并推广猜想:凡 n ≡ 2 (mod 4) 都排不出。这道题引出正交拉丁方,第四章用整整一章来讲述它戏剧性的结局——猜想竟然几乎全错,唯有 n = 6 是真的。

引例三(Fano 平面)。在七个点 {1, 2, 3, 4, 5, 6, 7} 上取七条「线」

123, 145, 167, 246, 257, 347, 356.

每条线恰 3 点,任何两点恰在同一条线上。这就是 Steiner 三元系 STS(7),画出来便是 Fano 平面——第二章会看到它能用一张小小的差集表 {0, 1, 3} 造出,第五章将看到它是最大的 Steiner 系家族的第一级台阶。

图 0-3 Fano 平面:7 点 7 线,每线 3 点,每两点恰一线 1 2 3 4 5 6 7 167 线:123, 145, 167, 246, 257, 347, 356 三本账: 点账 r = 3(每点 3 线) 块账 k = 3(每线 3 点) 对账 λ = 1(每对点 1 线)
图 0-3 Fano 平面。第七条线 167 画成圆弧:平面上画不出「直线」的线,可以用圆——几何直觉给安排让路。

三个引例摆成一排,一幅地图隐约浮现:引例三管得最紧(每对点恰一次),引例一加了「每天用尽所有点」的分层要求,引例二则要求两套结构同时均匀。把它们统一处理的第一步,是给「平衡」下一个精确的定义——这正是下一节的任务。

5讲义

绪论 安排的艺术:三个问题,一门学问关联结构:点与块的语言

★★ 有了定义与引例,本节把关联结构的「语法」补齐:重复块、空块、单点块允许吗?两个结构怎样才算「一样」?怎样把结构写进矩阵?这些都是后文反复使用的地基。

允许与禁止。关联结构的定义对块毫无限制:块可以为空、可以只含一点、可以整块重复出现。放宽是有意的——研究平衡设计时,先允许再排除,比一开始就禁止更清楚(例如第一章的恒等式对退化情形会自动失效,恰好提示我们哪里需要小心)。不过从本节起有一条软约定:若无特别声明,讨论的关联结构都没有重复块、没有空块;真正需要退化情形时会重新请它们出场。

度与入度。块 B 的大小记 |B|;点 x 的入度是与 x 关联的块数(按块的重数计),记 r(x)。若所有块大小同为 k,称结构均匀;若所有点入度同为 r,称结构正则。均匀是「块账人人相等」,正则是「点账人人相等」——两个词将贯穿全书。

同构。两个关联结构 𝒟 = (X, ℬ) 与 𝒟′ = (X′, ℬ′) 同构,意思是存在点的双射 φ : X → X′,把 ℬ 的块一一变成 ℬ′ 的块:对每个块 B ∈ ℬ,像集 φ(B) = {φ(x) : x ∈ B} 恰是 ℬ′ 中一个块,且这一一对应是双射。同构的「不同实现」称标号;把标号全部忘记后剩下的东西,才是设计的本体。一个结构的自同构是它到自身的同构;全体自同构在复合下成群,记 Aut(𝒟)——第六章里,这个群将爆发出惊人的力量。

图 0-4 同构:换标号不改结构 1 2 3 4 𝒟:块 {1,2}, {1,3}, {1,4} 甲 乙 丙 丁 𝒟′:块 {甲,乙}, {甲,丙}, {甲,丁} φ
图 0-4 把 1,2,3,4 换成甲乙丙丁,结构原封不动:同构只认「谁和谁同块」,不认名字。

关联矩阵。设结构无重复块,把点排个序、块也排个序,定义 v × b 矩阵 N = (nij):

nij = 1(第 i 个点与第 j 个块关联), nij = 0(否则).

矩阵是结构的「身份证」:每列是块的「点名册」,每行是点的「出勤表」。改一次标号,身份证要跟着改——但只是行、列换了次序,本质信息一动不动。第一章将用这张身份证做出全书第一个重量级定理:Fisher 不等式。

6 讲义

绪论 安排的艺术:三个问题,一门学问平衡:三本账与 λ 的含义

★★ 现在可以给「设计」立宪了。本节定义全书最重要的对象——BIBD,并把三本账的口诀正式立起来。

定义(BIBD)。设 v, k, λ 为整数,v > k ≥ 2。一个 (v, k, λ)-平衡不完全区组设计(Balanced Incomplete Block Design,简称 BIBD)是一个关联结构 𝒟 = (X, ℬ),满足:
(B1)|X| = v,即恰有 v 个点;
(B2)每个块恰含 k 个点(均匀);
(B3)任意两个不同的点恰同在 λ 个块中(平衡);
(B4)(不完全性)k < v,即没有块装下所有点。

条件名字里的「平衡」指(B3):任何一对点受到的待遇一模一样——都恰好同块 λ 次。「不完全」指(B4):若有块装下所有点,则每个点对都同在那一个块里,λ 会被强制等于 1,问题塌缩成平凡的「一刀切」(这种情形第一章会作为「完全设计」单独看一眼)。图论里也有一条类似的「不完全」——完全图之外的图才有趣味;设计的趣味同样来自不完全。

三本账。给定 BIBD,除 (v, k, λ) 外还有两个数由结构自动决定:b(块数)与 r(每点的入度——平衡性保证各点入度相等,第一章证明)。五个数 (v, b, r, k, λ) 合称 BIBD 的参数。它们满足两条恒等式:

定理(计数恒等式,预告)。任何 BIBD 都满足 bk = vr(块账 × 块大小 = 点数 × 点账),且 r(k − 1) = λ(v − 1)(固定一点,数它与别人同块的次数)。

证明只需一分钟,但第一章将给出完整论证并把它练到滚瓜烂熟。此处先示范用法:女生散步要求 v = 15、k = 3、λ = 1,则第二条恒等式给出 r · 2 = 1 × 14,故 r = 7(每名女生散步七天,分毫不差);再由第一条得 b · 3 = 15 × 7,故 b = 35(七天每天五组)。账目严丝合缝——这样的参数才值得继续谈。

图 0-5 三本账:五参数登场的姿势 点账(入度) 每个点进了几个块 人人相等 ⇒ r 如女生:每天恰一组,共 7 组 块账(大小) 每块装了几个点 块块相等 ⇒ k 如小组:每组恰 3 人 对账(相遇) 每对点同块几次 对对相等 ⇒ λ 如两人:七天内恰同组一次 三账联动:bk = vr, r(k−1) = λ(v−1)
图 0-5 BIBD 的三本账:k 是块账、r 是点账、λ 是对账;两条恒等式把五参数锁死成一族极少的自由度。

λ 的口味。参数 λ 是全书的「咸淡」旋钮:λ = 1 是最吝啬的平衡(每对点恰会面一次,Steiner 系的世界,第三章);λ 大些,结构更「稠」,构造反而往往更容易;λ 越过大半程,会撞上对称设计(第二章)与 Hadamard 矩阵(第二章末)。本书的六章,恰好就是沿着这个旋钮从 1 转到 5、再跳进编码世界的旅程。

7讲义

绪论 安排的艺术:三个问题,一门学问本册路线图:六章的远征

★★ 全书六章是一条不断加码的远征路线:账本越记越细,结构越来越对称,最后的奖赏是数学里最紧凑的安排与它背后的稀有群。每章解决一个「大问题」,同时沉淀一批「标准动作」。

第一章(平衡设计:BIBD 与计数恒等式)把记账法变成兵器:五参数、两条恒等式、关联矩阵、Fisher 不等式、谱、自同构群、可除性筛、补/派生设计。学完本章,任何一组 (v,k,λ) 都能立刻过一遍「体检」。

第二章(对称设计与差集)研究 b = v 的极端情形:对称设计、对偶、差集、Singer 定理、Bruck–Ryser–Chowla 拦截战、Hadamard 矩阵。构造与拦截两条战线在此正面相遇。

第三章(Steiner 系与 Kirkman 问题)攻下 λ = 1:STS 的存在定理(Kirkman 1847)、循环构造、递归构造、可分解设计与女生散步的完整答案(Ray-Chaudhuri–Wilson 1971)。

第四章(正交拉丁方与欧拉之谜)解决多重账本问题:MOLS 的上界、有限域构造、与(仿射/射影)平面的等价、Euler 猜想的悲剧与 Bose–Shrikhande–Parker 的大翻案。

第五章(t-设计与 Witt 宏构)把「对账」升到 t 重:t-设计恒等式、Ray-Chaudhuri–Wilson 不等式、Steiner 系之塔、Witt 设计 S(5,8,24) 与 759 张块表的奇迹。

第六章(码与设计的合流)完成两大结构的大会师:Hamming 码与 Fano 平面互译、Golay 码再造 Witt 设计、Mathieu 群 M24 与散在单群的全景。

图 0-6 全书路线:账本越记越重,结构越来越稀罕 第一章 BIBD 记账 第二章 对称·差集 第三章 Steiner 系 第四章 正交拉丁方 第五章 t-设计·Witt 第六章 码·M24​ λ 记两重账 b = v 的极端 λ = 1 两族账正交 λ 记五重账 账本化作码本 暗线:平衡 ⇄ 拦截 —— 账对得上只是入场券,存在性才是正赛 构造者(Kirkman、Bose、Witt)与拦截者(BRC、Tarry)在这条线上反复交手
图 0-6 六章路线图:从两重账走到五重账,最后账本化作码本;暗线是「构造 vs 拦截」的百年拉锯。

路线图上还有一行小字值得单独说:每一章的实验页都会让程序参与——穷举小设计、验证差集、核验七日表。组合设计是少数几门「可以亲手摸到全部样本」的数学:小世界里,计算机能把每一种安排都摆上台面,让抽象定理变得可见、可触、可对拍。这也是本册敢承诺「自给自足」的底气。

8讲义

绪论 安排的艺术:三个问题,一门学问历史一瞥:从欧拉到 Keevash

★★ 组合设计的历史是一部「问题先行、理论后到」的历史:先有一道道具体的难题,再慢慢长出统一的语言与深刻的一般定理。本页用五个年份串起这条线索。

1782 · 欧拉的方阵。欧拉在研究「36 名军官」时发明了拉丁方的语言,并留下著名猜想:n ≡ 2 (mod 4) 时不存在一对正交 n 阶拉丁方。他对 n = 2 与 n = 6 的判断正确,推广却错了——这个错误要等 177 年才被纠正。教训值得记取:由小推大,是组合学里最危险的一步。

1847–1850 · Kirkman 的三元系与女生。教区牧师柯克曼在《Cambridge and Dublin Mathematical Journal》上证明:Steiner 三元系存在当且仅当 v ≡ 1, 3 (mod 6)——这是设计存在性的第一条一般定理,比 Steiner 本人的文章(1853)还早。1850 年他又提出女生散步问题,把「平衡」升格为「可分解」:块不仅彼此平衡,还要能分层打包。这个问题悬置 121 年。

1940 · Fisher 的统计遗产。统计学家 R. A. Fisher 在农业试验里把区组设计用成利器:把试验田分成区组(块),让品种(点)在区组间均匀比较。他证明了 b ≥ v——后来以他命名的 Fisher 不等式,是第一章的顶点。设计的数学与设计的应用,在这里完成第一次握手。

1959–1960 · 三剑客翻案。Bose、Shrikhande 与 Parker 用「成对平衡设计」等新武器证明:除 n = 2, 6 外,任意 n 都存在一对正交拉丁方。Euler 猜想轰然倒塌,《纽约时报》为此发了报道——组合学的成果上头条,至今罕见。

1971 与 2014 · 两座里程碑。Ray-Chaudhuri 与 Wilson 证明 KTS 存在当且仅当 v ≡ 3 (mod 6),女生散步问题在提出 121 年后得到完全解答。四十三年后,Keevash(2014)证明设计存在性的一般定理:只要参数满足可除性与必要的体积条件(外加足够大的 v),设计必存在——「账对得上就(几乎)存在」从愿望变成定理,全书的暗线在此抵达终点。

图 0-7 两百年时间轴上的五个节点 1782 欧拉军官 1847 Kirkman 定理 1940 Fisher 不等式 1959–60 Euler 猜想翻案 1971 / 2014 KTS · Keevash 问题先到,理论后至;小样本的正确,未必是大样本的宿命
图 0-7 从欧拉到 Keevash:设计史的五座界碑。第三、四、六章将分别驻足 1940、1959–60 与 1971 三处。

还有一条「暗历史」值得记录:设计文献里人物的名字常常错位——「Steiner 三元系」最早由 Kirkman 解决,「Kirkman 系统」的完全答案却署着 Ray-Chaudhuri 与 Wilson;「Fano 平面」在 Fano 之前已见于 Gergonne(1826)之手。数学史上命名权与贡献权的错位屡见不鲜,读文献时以年代与内容为准,是对前人最好的公平。

9小结

绪论 安排的艺术:三个问题,一门学问绪论小结与预习清单

本页任务。把绪论的行李清点一遍:哪些概念必须带走,哪些账目必须会算,哪些问题留作路标。

概念清单。① 关联结构 𝒟 = (X, ℬ):点、块、关联——最宽容的底座;② 均匀(块账相等)与正则(点账相等);③ 同构、标号、自同构群 Aut(𝒟);④ 关联矩阵 N:结构的身份证;⑤ BIBD 五参数 (v, b, r, k, λ) 与三本账;⑥ 平衡(对账相等)与不完全(k < v)。

账目清单(会算才算过关)。① 已知 v, k, λ,用 r(k − 1) = λ(v − 1) 算 r、用 bk = vr 算 b;② 女生散步:(15, 35, 7, 3, 1);③ Fano 平面:(7, 7, 3, 3, 1);④ 会把七条线 123, 145, 167, 246, 257, 347, 356 默写出来并验证每对点恰一条线。

路标问题(各章的靶心)。① 什么样的 (v,k,λ) 有 BIBD?(第一、二章的恒等式与拦截定理给出必要条件;Keevash 2014 给出充分性)② λ = 1 时能走多远?(第三章)③ 两族块同时平衡可行吗?(第四章)④ 平衡加码到 t 重会怎样?(第五章)⑤ 设计与编码、群论怎么接?(第六章)

问题点数 v块参数答案出现处
女生散步15(15,35,7,3,1) 可分解第三章 §3.9–3.10
三十六军官36(方阵)正交 6 阶拉丁方第四章 §4.3、§4.7
Fano 平面7(7,7,3,3,1)第二章 §2.5(差集)
预习提示。第一章将密集使用初等数论(同余、gcd)与线性代数(矩阵乘法、秩、特征值)。若手感生疏,自测三件小事:① 求 gcd(15, 35) 与 7 在 mod 15 下的逆;② 把图 0-2 的关联矩阵写出来并算 NNT;③ 复述「特征向量定义」并算 J(全 1 矩阵)的特征值。三件小事都顺手,第一章可以放心加速。

行李点清,出发。第一章的号令只有一句:先对账,再谈存在。

第一章

平衡设计:BIBD 与计数恒等式

本章搭建全册的地基。BIBD——平衡不完全区组设计——用五个参数 (v, b, r, k, λ) 描述:v 个点放进 b 个块,每块恰 k 个点,每点恰在 r 个块里,每对点恰同块 λ 次。两条计数恒等式 bk = vr 与 r(k−1) = λ(v−1) 是这门学问的「乘法口诀」,一切参数计算都从它们出发。本章还建立设计的代数名片——关联矩阵 N:条件 NNT = (r−λ)I + λJ 把「平衡」翻译成一行矩阵等式,由此一步登天得到 Fisher 不等式 b ≥ v——任何平衡设计里,块数不会少于点数。随后是谱、同构、自同构群、可除性筛与补/派生设计:一组反复使用的「标准动作」。章末的方法论页把「换角计数」练成条件反射:同一份安排,站在点的角度数一遍,再站在块的角度数一遍,两份账一对照,往往就是定理。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
10导引

第一章 平衡设计:BIBD 与计数恒等式第一章导引:把安排写成方程

绪论把三个历史问题提炼成了关联结构,又立下了 BIBD 的四条宪章(B1–B4)。本章的任务是把这套语言锻造成兵器:给定一组参数 (v, b, r, k, λ),要能在一分钟内判断它有没有资格叫「设计」;给定一个真设计,要能算出它的矩阵肖像、谱与对称群,并顺手派生出新一代设计。

本章的行进路线是一条上升的阶梯,每一级都踩在前一级上:

第一阶(§1.1–1.5)——数账。从点与块的原始语言出发,建立五参数的两条计数恒等式 bk = vr 与 r(k − 1) = λ(v − 1);顺路看一眼完全设计与退化情形,弄清「不完全」二字挡住了什么。这一阶的全部工具是「换个角度数同一批东西」——听起来像小学算术,做出来是组合数学最锋利的一把刀。

第二阶(§1.6–1.10)——代数化。把 Fano 平面当标本,引进关联矩阵 N,把平衡条件翻译成一行矩阵等式 NNT = (r − λ)I + λJ;再由行列式与秩一步登天,得到 Fisher 不等式 b ≥ v——全章的顶点。随后计算设计的特征值(谱),看看「平衡」在频域里长什么样。

第三阶(§1.11–1.14)——对称与繁殖。定义同构与自同构群,给设计装上「对称」的仪表盘;建立可除性筛——参数想通过的第一道安检门;最后学习设计的繁殖术:补、派生、残差,从旧设计批量生产新设计。

第四阶(§1.15–1.16)——升维与方法论。把「对账」从点对推广到 t 元组,为第五章铺路;再把本章用过的证明招式总结成「换角计数」方法论,练成条件反射。

图 1-0 第一章的四级阶梯 数账 两条恒等式 代数化 N 矩阵 · Fisher 对称与繁殖 Aut · 筛 · 补派生 升维 t-设计 终点检阅:任何 (v,k,λ) 过三关——恒等式 · Fisher · 可除性
图 1-0 本章路线:数账 → 代数化 → 对称与繁殖 → 升维。四级台阶读完,参数体检成为本能。

读本章只需带三件随身行李:同余的基本功、矩阵的乘法与秩、一点排列组合的耐心。行李不全时回看绪论末页的预习提示;行李齐备时,直接上第一级台阶——不过在这之前,先认识一下本章的常驻嘉宾。

常驻嘉宾:Fano 平面。七点七线的最小 BIBD 将在 §1.6 担任「参数账」的示范标本,在 §1.7 捐出自己的关联矩阵,在 §1.10 报出自己的谱,在 §1.12 展示 168 阶的自同构群。它是全书出镜率最高的例子——原因无他:小到可以穷举,又大到足以承载一切概念。此后每章它都会回来报到,与它保持熟络。

11讲义

第一章 平衡设计:BIBD 与计数恒等式1.1 关联结构:点与块

★ 绪论已给出定义,本节的任务是把语言用熟:在一个具体的关联结构上,把三本账各记一遍,并把「计数」这个动作练成肌肉记忆。

标本 A:四点三线。取 X = {1, 2, 3, 4},块族 ℬ = {123, 124, 134, 234}——四个块,各含三点。记号 123 是 {1, 2, 3} 的缩写,后文一直沿用。先记块账:每块 3 点,均匀。再记点账:点 1 出现在 123、124、134 三个块里;同样地,2、3、4 也各在三个块里,正则。最后记对账:{1,2} 同在 123 与 124 两块;{1,3} 同在 123 与 134;{1,4} 同在 124 与 134;{2,3} 同在 123 与 234;{2,4} 同在 124 与 234;{3,4} 同在 134 与 234——六对点,对对恰好两次。

观察。标本 A 是一个 (4, 4, 3, 3, 2)-BIBD:每对点恰同块 2 次。

它有没有更熟悉的名字?有——完全图 K4 的所有三角形。把四个点两两连线,一共六个点对、四个三角形,每个三角形含三条边、每条边(点对)恰在两个三角形里。标本 A 说明:BIBD 并不神秘,最熟悉的图论对象里就藏着一个。事实上「取完全图 Kv 的所有三角形」对任意 v ≥ 3 都给出 (v, C(v,3), v − 2, 3, 2)-BIBD——这是 λ = 2 的一族无限设计,第一章末的习题将完整验证。

标本 B:五点五块,一个「差点儿」的反例。取 X = {1, 2, 3, 4, 5},块族 {123, 145, 245}。块账:块块 3 点,均匀。点账:点 1 在 123、145 里(2 次);点 2 在 123、245 里(2 次);点 3 只在 123 里(1 次);点 4、5 各 2 次——不正则。对账也不齐:{1,4} 同块 1 次,{3,4} 同块 0 次。标本 B 提醒:均匀与正则可以只满足其一;三本账都平,才配叫设计。

图 1-1 标本 A(左):K4​ 的四个三角形=一个 BIBD;标本 B(右):三本账记不齐 1 2 3 4 123 124 134 234 对账:6 对点 × 各 2 次 ✓ 1 2 3 4 5 123 145 245 点 3 只入 1 块;{3,4} 对账 0 ✗
图 1-1 标本 A 三账俱全(实线为三角形的边,虚线标示对角线上的两个三角形),标本 B 在点账上先塌一角。

本节的一个副产品值得单独强调:点账、块账、对账是三个独立的信息位,任何一本不平都足以否决一个候选设计。下一节把这三本账装进五参数的口袋里,开始正式记账。

12讲义

第一章 平衡设计:BIBD 与计数恒等式1.2 BIBD 五参数

★★ BIBD 的定义(绪论)只显式提到 v, k, λ 三个数;本节论证 b 与 r 由它们决定,从而五参数实为「三元组 + 两个推论」。论证本身就是本书第一条「换角计数」。

命题(r 由参数决定)。

设 𝒟 是 (v, k, λ)-BIBD 且 k ≥ 2、v > k。任取一点 x,数「三元组 (y, B)」的个数,其中 y ≠ x 是点、B 是同时含 x 与 y 的块。按 y 数:每个 y 贡献 λ 个(与 x 恰同块 λ 次),共 λ(v − 1) 个。按 B 数:含 x 的每个块 B 里除 x 外还有 k − 1 个点,各贡献 1 个,共 (k − 1) · r(x) 个,其中 r(x) 是 x 的入度。两种数法必须相等:

(k − 1) · r(x) = λ(v − 1).

由 k ≥ 2 可除出 r(x) = λ(v − 1)/(k − 1)——与 x 无关。故所有点入度相等,记这个公共值为 r,即得恒等式 r(k − 1) = λ(v − 1)。∎

这段证明里有全章(乃至全书)最重要的一次「换角」:同一批三元组,站 y 的角度数一遍、站 B 的角度数一遍,两个答案必须相等——相等本身就是定理。 k ≥ 2 的用处:若 k = 1,每块只有一点,对账 λ 恒为 0,r(x) 无法被决定(每个点各进各的块,入度随便多少都行)——退化在此现出原形。

b 的决定。再数一次,这次数「关联对 (x, B)」(点在块里):按块数,每块 k 个点、共 b 块,得 bk;按点数,每点入度 r、共 v 点,得 vr。于是:

恒等式 I。bk = vr。

两条恒等式合起来:r = λ(v − 1)/(k − 1),b = vλ(v − 1)/(k(k − 1)) = λ C(v,2)/C(k,2)。第二个表达式有个漂亮的解读:C(v,2) 是点对总数,C(k,2) 是单块能覆盖的点对数;λ 遍历一切点对,所以块数 b 就是「总覆盖需求 ÷ 单块容量」乘上 λ。设计参数不是自由变量,而是被两本账锁死的一族。

记号。此后凡写 (v, b, r, k, λ)-设计,五者依次为点数、块数、点入度、块大小、点对相遇数;若只写三元组 (v, k, λ),则 b, r 由两条恒等式推出——若除不尽,三元组直接作废。

即查即用。① (7,3,1):λ(v−1)/(k−1) = 6/2 = 3,b = 7·3/3 = 7 → (7,7,3,3,1)。② (13,3,1):r = 12/2 = 6,b = 13·6/3 = 26 → (13,26,6,3,1)。③ (10,4,1):r = 9/3 = 3 ✓,b = 10·3/4 = 7.5 ✗ ——除不尽,出局。一张体检表已见雏形:三个整数条件(r、b 为整数)是参数的第一道安检门,§1.13 的可除性筛将把它系统化。

13讲义

第一章 平衡设计:BIBD 与计数恒等式1.3 计数恒等式 I:bk = vr

★★ bk = vr 是两条恒等式里更直观的一条:左边数「块里的座位总数」,右边数「点的入座总次数」,同一批关联对,两个方向数两遍。本节把这条恒等式用到出神入化,并准备三个马上要用的推论。

推论一(块数的下界感)。由 b = vr/k 与 r ≥ k − λ…——这个方向暂时走不动,因为 r 的下界还没建立。真正好用的倒是一个平凡的量级感觉:b/v = r/k。若 r > k,则 b > v:块比点多;若 r = k,则 b = v——这正是第二章「对称设计」的门槛。恒等式 I 把 b 与 v 的比较换成了 r 与 k 的比较,第二章的整个议程由此立项。

推论二(平均入度)。对一个均匀(块块 k 点)但未必平衡的关联结构,bk = Σx r(x) 仍成立,于是平均入度恰为 bk/v。这个「平均值公式」是估计非正则结构的常用武器:想要人人入度 ≥ r,先看平均够不够格。

推论三(对偶预告)。把关联结构翻转——点变块、块变点:新结构 𝒟T 有 b 个「点」(旧块)与 v 个「块」(旧点),块大小是旧的入度、入度是旧的块大小。恒等式 I 的两种数法正是对偶视角下的彼此:bk = vr 说的是「我与我翻转后的平均块大小一致」。翻转这个动作第二章将大放异彩,此处先埋一颗种子。

图 1-2 恒等式 I:同一批关联对的两种数法 按块数(左边) b 个块 × 每块 k 座 一列列数座位: │座位│+│座位│+⋯= bk 按点数(右边) v 个点 × 每点入座 r 次 一行行数入座: │入座│+│入座│+⋯= vr bk = vr(同一张关联表的总格子数)
图 1-2 关联表是 b 列(块)× v 行(点)的 0-1 表;按列求和得 bk,按行求和得 vr——恒等式 I 只是「横竖加法各一次」。

例行验算。用女生散步 (15, 35, 7, 3, 1) 检查:bk = 35 × 3 = 105,vr = 15 × 7 = 105 ✓。Fano (7,7,3,3,1):21 = 21 ✓。标本 A (4,4,3,3,2):12 = 12 ✓。再抽验任意一个自己造的均匀结构——恒等式 I 从不失手,因为它本来就是「同一张表横加与竖加」的同一件事。

本节的最后一个注记关于「等号的意义」:恒等式 I 对一切均匀结构成立,无论平衡与否。它是一条存在性之外的账目约束——参数不满足它,设计根本不必找;参数满足它,也才刚拿到入场券。入场券与正赛的关系,下一节会看得更清楚。

14讲义

第一章 平衡设计:BIBD 与计数恒等式1.4 计数恒等式 II:r(k−1) = λ(v−1)

★★ 恒等式 II 在 §1.2 已经证过一遍,但它值得一个专门的页面:它是三条必要条件中最锋利的一条,也是「换角计数」方法论的教科书式示范。本节再给它两个推论与一次实战。

再看一眼证明的骨架。固定点 x,数集合 Sx = {(y, B) : y ≠ x, x, y ∈ B}。竖着数(按 y)得 λ(v − 1);横着数(按 B)得 (k − 1)r。这里隐含了一次「重新分组」:先按第二分量分组,再按第一分量分组——集合的两种分划,元素个数必然相等。这句朴素的话,后面每一章都要反复兑现。

推论一(r 的整数性)。k − 1 必须整除 λ(v − 1)。这条整除性是参数体检的第一刀。例如 (10, 4, 2):λ(v − 1) = 18,k − 1 = 3,18/3 = 6 ✓;但 b = 10 × 6/4 = 15 ✓——参数过关!事实上 (10,15,6,4,2) 是真设计(可由完全图 K5 的三角形「翻倍」得到,第一章习题课演练)。再看 (10, 5, 2):λ(v − 1) = 18,k − 1 = 4,18/4 除不尽——出局,连入场券都没有。

推论二(λ ≥ v 的含义)。由恒等式 II 反解 λ = r(k − 1)/(v − 1)。固定 v, k 时,λ 每增大,r 等比增大——设计越「稠」,每个点越忙。极端地,当 λ = v − 1 且 k = 2 时:r(1) = (v − 1),即每点恰入 v − 1 块、每块两点——这正是完全图的所有边,最平凡的 BIBD。恒等式 II 把「平凡」也纳入了账目体系:平凡不例外,只是 λ 旋钮拧到头的特写。

图 1-3 恒等式 II:数「过一点的对」 x y1​ y2​ y3​ B1​ B2​ B3​ 数 S_x = {(y, B)}: 按 y 数:v−1 个 y,各 λ 次      = λ(v−1) 按 B 数:r 个块,各 k−1 个 y      = r(k−1) r(k−1) = λ(v−1)
图 1-3 过点 x 的「点—块」三元组:左路按块数(虚线),右路按同伴点数(实线),两路总数必须相等。

实战:女生散步的账。(15, 3, 1):r = 14/2 = 7——每名女生恰好出场七天,一天不多一天不少;b = 15 × 7/3 = 35——七天每天五组。两账合验,参数表与题目叙述严丝合缝。下一步要问的真问题是:这样的 35 张小组表存在吗?这个问题要等到第三章才完全解决,但账目此刻已经把搜索空间从「一切可能的小组表」压到了一个极小的角落——这就是记账的力量。

15讲义

第一章 平衡设计:BIBD 与计数恒等式1.5 完全设计与退化情形

★★ BIBD 的宪章第四条禁止「完全」:不许有块装下所有点。本节打开这道闸门,看看被挡在外面的世界是什么样——看清禁令为何而设,也就看清了设计的趣味所在。

定义(完全设计)。取 v 个点的全部 C(v, k) 个 k-子集作块。这是一个均匀、正则、平衡的结构:每块 k 点,每点入 C(v − 1, k − 1) 块,每对点同块 C(v − 2, k − 2) 次。称它为完全设计,记 𝒞(v, k)。当 k = v 时它塌缩为单块装一切,是最极端的完全设计。

完全设计自动满足两条恒等式:bk = C(v,k) · k = v · C(v−1, k−1) = vr(组合恒等式「杨辉三角的斜线读法」),r(k − 1) = C(v−1, k−1)(k − 1) = (v − 1)C(v−2, k−2) = λ(v − 1)。它的 λ = C(v − 2, k − 2) 由 v、k 完全决定——参数没有自由度,也就没有悬念:任取参数先猜完全设计,猜中就不必再找。这就是「不完全」禁令的用意:把 λ 与 (v,k) 解耦,让「λ ≠ C(v−2, k−2) 的平衡」成为真正的问题。

退化的另两端。① k = 1:每块单点,对账恒 λ = 0,点账 r(x) 无约束——恒等式 II 除以零,失效。② k = 0:空块装空座,一切为零。③ 重复块:若一个结构平衡而某块重复出现,把重数计入块账后两条恒等式依然成立(对账按「同在的块按重数计」理解)——这是 λ 在更一般文献里的标准约定。本书主叙述避免重复块,但在派生构造(§1.14)与编码章(第六章)里,重数将自然回归。

图 1-4 λ 旋钮的两端:完全设计在头,不完全设计在心 完全设计 𝒞(v,k) 块 = 全部 k-子集 λ = C(v−2, k−2),无自由度 例:𝒞(4,3) = 标本 A BIBD(不完全) 块 = k-子集的一部分 λ 独立于 (v,k),有悬念 例:Fano 平面 λ = 1 ≪ C(5,1) 账目恒等式对两者一律成立;悬念只在不完全的一侧
图 1-4 完全设计是 λ 旋钮拧到底的「自动挡」:参数互锁,无戏可唱。BIBD 禁它出场,是为了把舞台留给真正的悬念。

一个有用的观点:吃掉一块。从完全设计 𝒞(v, k) 里挑出一部分块,若挑出的部分仍平衡,就得到一个 BIBD——「从全体里挑出一小撮还保持均匀」,这恰是构造设计的一般哲学。反过来,把一个 BIBD 补齐成完全设计,多出来的块也构成一个均匀结构吗?一般不——但差多少、怎么补,正是 §1.14「补设计」的课题。完全设计因此不只是陪衬:它是所有设计的公共背景板,也是补设计的参照系。

本页收尾留一道心算:(4, 3, 2) 与完全设计 𝒞(4, 3) 的 λ 分别是多少?——前者 λ = 2(标本 A),后者 C(2, 1) = 2。完全相等!所以标本 A 恰是 (4,3) 的完全设计——它平凡得连禁令都懒得适用。下一个真正的 BIBD,要等七个点的 Fano 平面登场。

16讲义

第一章 平衡设计:BIBD 与计数恒等式1.6 Fano 平面的参数账

★★ 常驻嘉宾正式报到。本节用 Fano 平面把本章前六节的概念全部过一遍堂——参数、账目、同构、入座——它此后将随叫随到。

账目总表。Fano 平面的七条线是 123, 145, 167, 246, 257, 347, 356。逐项验收:

验收项内容结果
块账 k每条线 3 点7 条线全过 ✓
点账 r每点入 3 线点 1 ∈ {123,145,167} 等 ✓
对账 λ每对点恰 1 线C(7,2)=21 对 × 1 = 7 线 × C(3,2)=3 ✓
恒等式 Ibk = vr7×3 = 7×3 = 21 ✓
恒等式 IIr(k−1)=λ(v−1)3×2 = 1×6 ✓

对账行的算式值得写成一条「全景恒等式」:按对数,总相遇次数 = λ·C(v,2);按块数,总相遇次数 = b·C(k,2)。它其实是恒等式 I 的推论(两边除以 k(k − 1)/2),但作为「第三本账的全表」独立好用——任何候选设计的对账都可以这样一枪毙命或暂缓执行。

同构:Fano 平面只有一张脸。命题:任何 (7,3,1)-BIBD 都同构于上述七线表。证明要点:取点 1,它与其余六点恰各配一次、分入三条线;这三条线的「第三点」两两不同(否则该两点已与 1 同线两次),于是其余六点分成三个对子,不妨记三条线为 123、145、167。再看点 2:它已与 3 同线,还需与 4, 5, 6, 7 各恰配一次,即再入两条线、每线含 2 与两个对子里各取一点;且新线里不许出现已相遇的对(如 4, 5 已在 145 同线)——于是只有两种可能:{2,4,6},{2,5,7} 或 {2,4,7},{2,5,6},二者经 6 ↔ 7 换名互相转化,不妨取前者。轮到点 3:它还需与 4, 5, 6, 7 相遇,而 4 与 7、5 与 6 尚未相遇——两条新线被逼定为 {3,4,7} 与 {3,5,6}(若选 {3,4,6},则 {4,6} 已在 246 同线,重账)。四线落定,剩余两对 {4,7}?——已在 347 同线;逐对清点,21 个点对恰被 7 线覆盖,不多不少。∎(要点版)

这道小证明有一个大寓意:小参数世界里,账目本身就是构造算法——每一步都被「恰一次」逼得没有选择。第三章将把这一招系统化(穷举与回溯),第六章将看到 Fano 平面在 Hamming 码里以第三副面孔重生。

图 1-5 账目锁死构造:从点 1 出发的三步 1 2 3 … 第一步:1 的三条线 1ab, 1cd, 1ef 账目三步锁死: ① 1 与 2,3,4,5,6,7 各配一次  → 三线 {1,2,3},{1,4,5},{1,6,7} ② 2 的剩余四点分两线 246, 257 ③ 3 的账自动补齐 347, 356 ⇒ 七线唯一(同构意义)
图 1-5 (7,3,1) 的构造算法:每一步都由「恰一次」逼定,没有任何自由选择——账目即算法。

出勤表。把七条线排成七列、七个点排成七行,Fano 平面的关联矩阵是一张 7×7 的 0-1 表,每列三个 1、每行三个 1。把它抄下来——下一节就请它上场:矩阵一亮相,Fisher 不等式只隔一步之遥。

17讲义

第一章 平衡设计:BIBD 与计数恒等式1.7 关联矩阵:设计的代数名片

★★ 从本节起,矩阵接管主角。一张 0-1 表能把点、块、对三本账全部收进代数语言,让线性代数的重型机械(秩、行列式、特征值)直接开进组合学的工地。

定义(关联矩阵)。设 𝒟 有 v 个点、b 个块(无重复块)。把点标号 1..v、块标号 1..b,定义 v × b 矩阵 N = (nij):nij = 1 当且仅当点 i 属于块 j,否则为 0。

Fano 的名片。按点序 1..7、线序 123, 145, 167, 246, 257, 347, 356:

N =
1110000
1101000
1001100
0100101
0100011
0011010
0010101

三本账在名片上的读法:每列恰有 k 个 1(块账);每行恰有 r 个 1(点账);任意两行的内积为 λ(对账)——这一条是关键新成员:内积把「两个点同在几个块」变成了一个数。行的内积用矩阵乘法一网打尽:NNT 的 (i,j) 元恰是行 i 与行 j 的内积。

标号变换。换一次点的次序 = 左乘一个置换矩阵 P;换块的次序 = 右乘置换矩阵 Q。同构的两个结构,名片之间差一个 N′ = PNQ。因此名片上真正「身份证级」的量——秩、非零特征值、行列式(对 v = b 的方阵情形)——都是同构不变量。这条「不变量思路」将在 §1.11 用于判别非同构。

图 1-6 关联矩阵上的三本账 列读(每列) 恰 k 个 1 —— 块账 NT​1 = k·1 的列向量 列 = 块的点名册 行读(每行与两行) 每行 r 个 1 —— 点账 行·行内积 = λ —— 对账 行 = 点的出勤表 NNT​ 的 (i,j) 元 = 行 i 与行 j 的内积 = 点 i,j 的相遇数
图 1-6 关联矩阵的读法:列是块账,行是点账,两行内积是对账——NNT 把第三本账整体打包。

两个向量记号。记 1 为全 1 列向量(长度按上下文)、I 为单位阵、J = 11T 为全 1 矩阵。三本账的向量式:块账 NT1 = k1;点账 N1 = r1(由平衡推出,§1.12 前先用「每行 r 个 1」的标量式);对账与点账平方:NNT 对角线是 r(行内积 = 行中 1 的个数)、非对角线是 λ。矩阵肖像,呼之欲出——下一节正式揭幕。

18讲义

第一章 平衡设计:BIBD 与计数恒等式1.8 矩阵肖像:NNT = (r−λ)I + λJ

★★★ 本节把平衡条件翻译成一行矩阵等式。它是全书最常引用的一条「设计方程」,Fisher 不等式与谱理论都从它一步走出。

定理(矩阵肖像)。

设 N 是 (v, b, r, k, λ)-BIBD 的关联矩阵。则

NNT = (r − λ)I + λJ,

其中右边是 v × v 矩阵:对角线 r,非对角线 λ。

证明。(NNT)ij = Σt nitnjt = 点 i 与点 j 同时关联的块数。当 i = j,这是点 i 的入度 r;当 i ≠ j,这正是平衡条件给出的 λ。而矩阵 (r − λ)I + λJ 的对角元是 (r − λ) + λ = r、非对角元是 λ。两矩阵逐元相等。∎

这条等式的威力在于:右边是一个结构完全透明的矩阵——它由两个「标准件」拼成,特征值、秩、逆全部现成。设计的复杂性(左边的 N)在平方之后坍缩成透明(右边),这正是「平衡」二字的代数本体:不平衡的结构平方后一团乱麻,平衡的结构平方后干净如初。

右边矩阵的体检。三个速算,马上要用:① 特征值:向量 1 满足 J1 = v1,故 [(r − λ)I + λJ]1 = (r − λ + λv)1 = rk·1(用了 r(k − 1) = λ(v − 1) 化简,即 r − λ + λv = r + λ(v − 1) = rk);与 1 正交的向量 u(J u = 0)满足右乘得 (r − λ)u。于是右边矩阵的特征值为 rk(一重)与 r − λ(v − 1 重)。② 秩:若 r > λ,两个特征值都非零,秩为 v——满秩!若 r = λ,秩跌为 1。③ 行列式(方阵时):特征值之积 rk(r − λ)v−1。

图 1-7 肖像方程:平方之后,透明如初 NNT​ 对角 r,非对角 λ 内容:全部点账与对账 形态:0-1 矩阵的平方 「设计的复杂性」 = (r−λ)I + λJ 两个标准件的拼装 特征值 rk 与 r−λ 现成 r > λ 时满秩 v 「透明的结构」
图 1-7 肖像方程把设计的全部「点账 + 对账」压进一个由 I 与 J 拼成的透明矩阵——秩与谱一眼可见。

体检一遍 Fano。r = 3, λ = 1:右边 = 2I + J,特征值 rk = 9(一重)与 r − λ = 2(六重);行列式 9 × 26 = 576。这个 576 将在 §1.9 的 Fisher 论证里当场用掉一半(秩 = 7),另一半留给第六章(它与 Hamming 码的重量分布遥相呼应)。

最后预埋一枚伏笔:肖像方程右边是「I 的倍数 + J 的倍数」的矩阵,这类矩阵在统计学的方差分析里恰好是「组间 + 组内」平方和的协方差结构——Fisher 把设计引进田间试验时,正依赖这条方程计算品种均值的方差。设计的代数与设计的应用,共用同一个矩阵肖像。

19讲义

第一章 平衡设计:BIBD 与计数恒等式1.9 秩论证:Fisher 不等式

★★★ 全章顶点。一条三行的秩论证,换来组合设计史上的第一条一般性「拦截定理」。

定理(Fisher,1940)。

设 𝒟 是 (v, b, r, k, λ)-BIBD,v > k ≥ 2。则 b ≥ v。

证明。先注意 r > λ:由恒等式 II,r(k − 1) = λ(v − 1),而 v > k 给 v − 1 > k − 1 ≥ 1,故 r = λ(v − 1)/(k − 1) > λ(λ ≥ 1)。于是由 §1.8,NNT = (r − λ)I + λJ 的两个特征值 rk 与 r − λ 都非零,NNT 满秩:

v = rank(NNT) ≤ rank(N) ≤ b,

中间一步用 rank(NNT) ≤ rank(N)(乘积的秩不超过每个因子),最后一步因为 N 只有 b 列、秩不超过列数。∎

三行证明的解剖。这条证明浓缩了「代数化」的全部哲学:① 把组合条件(平衡)翻译成矩阵等式(肖像方程);② 让等式右边的显式结构给出代数量(满秩);③ 用秩的单调性把代数量翻译回组合计数(列数 ≥ 行数)。三步中没有任何一步依赖具体的 v、k、λ——所以结论对全体 BIBD 一律生效。这种「一次代数化,处处拦截」的套路,将在第五章被 Ray-Chaudhuri–Wilson 升级成不等式族。

Fisher 不等式的账目版读法。b ≥ v 结合恒等式 I(b/v = r/k)等价于 r ≥ k:每个点的入座次数不少于每块的大小。直觉版:v 个点要「彼此区分」(每对恰 λ 次的相遇模式须可分辨),b 个块就是 v 个点的「指纹库」;块少了,指纹不够用,必有两点无法区分——这个直觉在 §1.10 的谱里获得精确形式(r − λ 重特征值正是「区分度」的量化)。

图 1-8 Fisher 不等式的三行证明 ① 平衡 ⇒ NNT​ = (r−λ)I + λJ,且 r > λ ⇒ NNT​ 满秩 v ② 秩不升:rank(NNT​) ≤ rank(N)(乘法只降秩) ③ N 只有 b 列:rank(N) ≤ b ⇒ v ≤ b ∎ 等价形式:b/v = r/k ⇒ b ≥ v ⟺ r ≥ k(点不比块闲)
图 1-8 三行拦截:平衡给出满秩的 NNT,秩的阶梯把 v 逼到 b 之下。Fisher 不等式没有例外,只有服从。

等号情形预告。b = v 时,秩的链条被拉满:rank(N) = v = b,N 是可逆方阵。可逆方阵里还藏着一条惊喜:把肖像方程转置方向再看(NTN),会发现块与块之间也自动平衡——每对块恰交 λ 点。这个「等号即对偶」的现象就是第二章的主角「对称设计」,本节止步于预告。

术语注记。文献里 Fisher 不等式常以更一般的形式出现(对「两两块交 ≤ λ」的成对平衡设计也成立),本书采用 BIBD 版本以突出秩论证;一般版本在第五章 §5.4 以矩阵语言重访。
20讲义

第一章 平衡设计:BIBD 与计数恒等式1.10 设计的谱

★★★ 肖像方程给出 NNT 的特征值;本节把它们读作设计的「频率成分」,并立刻兑付两个应用:非同构判别与一个向量不等式。

命题(BIBD 的谱)。

设 𝒟 是 (v, b, r, k, λ)-BIBD,r > λ。则对称矩阵 NNT 的特征值为:单重 rk(特征向量 1),v − 1 重的 r − λ(特征空间 = 与 1 正交的超平面)。

证明。§1.8 已算:NNT1 = rk·1;对任意与 1 正交的 u,J u = 0,故 NNTu = (r − λ)u。实对称矩阵的谱分解完成剩余部分。∎

读谱。谱里最有信息量的数是 r − λ——它控制「区分度」:任意两个点指示向量 ei − ej(差向量,自动与 1 正交)在 NNT 下只被放大 r − λ 倍,即

‖NT(ei − ej)‖2 = (ei − ej)T NNT (ei − ej) = (r − λ)‖ei − ej‖2 = 2(r − λ).

翻译:两个点在「块空间」里的像相距 √(2(r − λ))——每个点对距离完全相等!这给 Fisher 不等式一个几何读法:v 个点被嵌入 ℝb,成为一张等距的「正则单纯形」;要在 b 维空间里放 v 个两两等距且线性无关的点,自然需要 b ≥ v。秩论证与几何论证在此合流。

应用一:非同构判别。谱是同构不变量:同构设计有相同的 NNT 谱(置换不改变特征值)。反向不成立(同谱不同构的例子存在),但正方向足够好用:两个候选设计若谱不同,立刻判决「非同构」。练习:Fano 平面谱 {9, 26};六阶完全设计 𝒞(4,3) 的 N 是 4×4 方阵、NNT = 2I + J,谱 {rk=8, 23}——不同尺寸无妨,同尺寸时才有判别力。

应用二:体积不等式(Plotkin 式)。把 NNT 半正定写成二次型不等式:对任意向量 x,xTNNTx = ‖NTx‖2 ≥ 0。取 x = (v − 1, −1, −1, …, −1)T(与 1 正交),展开 xT[(r − λ)I + λJ]x = (r − λ)‖x‖2 = (r − λ)v(v − 1) ≥ 0——自动成立但给出 r ≥ λ(Fano:2 > 0 ✓)。取更刁钻的 x 还能榨出别的必要条件;这一招在第五章的 R–W 不等式里将升级成重炮。

图 1-9 点嵌入块空间:一张等距的正则单纯形 v 个点的像 两两距离 √(2(r−λ)) 完全相等 ⇒ 单纯形 等距点组线性无关 ⇒ v ≤ 空间维数 b Fisher 不等式的几何读法:b 维的块空间,装不下 v 个以上等距点
图 1-9 把每个点映成它「出勤的块集合」向量,v 个像两两等距——正则单纯形在 b 维空间中至多 b+…:v ≤ b。

图 1-9 的正文有一处需要立即更正——「至多 b+…」是笔误,正确的说法是:b 维空间中两两等距的向量组至多含 b + 1 个点,而设计里 v 个像向量线性无关,故至多 b 个(线性无关强于等距,结论反而更紧)。谱的第二次出场在第二章(对称设计的循环谱),第三次在第六章(码的重量计数器与谱的对偶)。

21讲义

第一章 平衡设计:BIBD 与计数恒等式1.11 同构:设计何时是同一个

★★★ 绪论已定义同构,本节把它升格为工具:数一数标号,比一比不变量,判一判非同构。小参数世界里,这是分类学的基本功。

标号计数。同构是点的置换 φ 把块族映到自身。任何设计的自同构群里至少有恒等映射;把全部 v! 个点的置换看作大军,自同构群是其中把块族「原样送回」的守军。由轨道计数(群作用下,一条轨道的大小 = 群阶 ÷ 稳定子阶):

命题(标号计数)。设固定 v 点集上的设计 𝒟 有 M 个不同块族实现(即 Sv 作用下所在轨道的大小),则 |Aut(𝒟)| = v!/M,特别地 |Aut(𝒟)| 整除 v!。

反着用。若穷举数出一个设计在固定点集上恰有 M 个不同的块族实现(点的标号算、块的次序不算),则轨道—稳定子给出 |Aut(𝒟)| = v!/M——计数给出群阶。Fano 平面:7 点共 7! = 5040 个点置换,第三章实验页将用程序验证:把七线表逐置换扫描,恰有 30 个置换把它原样送回——即 |Aut| = 5040/30 = 168(§1.12 将独立算出同一答数);若连块的次序也计入,实现数为 30 × 7! = 151200 = 7!·7!/168,两本账完全一致。账目与群论互为验钞机。

不变量清单(判非同构的体检单)。① 参数 (v,b,r,k,λ);② 谱(§1.10);③ 块交图:以块为顶点、两块相交数为权的图;④ 自同构群阶。两个候选设计任何一项不同,即判非同构;全部相同,仍须小心(不变量无法证明同构,同构必须构造出置换 φ)。这套「体检单 + 猜置换」的两段式,是组合分类问题的标准操作,第三章将用它在 STS(15) 的 80 个同构类上小试牛刀。

图 1-10 同构的账本:标号大军与守军 标号大军 点的置换 v!(块序固定) 同一结构的实现数 M 每实现数 |Aut| 次:v! = M·|Aut| 守军 Aut(𝒟):把块族原样送回 轨道—稳定子:v! = M·|Aut| ⇒ |Aut| = v! / M Fano 实战:7! = 5040 个置换中恰 30 个自同构 ⇒ |Aut| = 168 ✓
图 1-10 轨道—稳定子把「数标号」变成「算群阶」:计数与群论互为验钞机。

同构与否的分水岭。值得驻足的一个事实:对 (7,3,1),全部设计同构(一张脸);对 (9,3,1)——第三章的主角之一——存在一个非同构类(即仿射平面 AG(2,3));对 (15,3,1),80 个;对 (19,3,1),11 084 874 829 个。同构类数目的爆炸是组合设计的一般规律,也是「分类」作为研究纲领必然碰壁的原因。数学家于是转向两个退而求其次的目标:存在性(有几类 ≥ 1?——第三章)与典型性(随机造一个,大概率长什么样?——组合学的现代前沿,综合站余韵一瞥)。

22讲义

第一章 平衡设计:BIBD 与计数恒等式1.12 自同构群:设计的对称

★★★★ 设计的对称性由自同构群量化。本节算出 Fano 平面的 168 阶对称群——它是全书第一个「名副其实」的群计算,也是第六章 Mathieu 群的预演。

定理(Fano 的对称)。

Aut(Fano) 同构于 GL(3, 2)——三元向量空间 𝔽23 的可逆线性变换群——其阶为 168,且在七个点上双重传递(任意有序点对可被某自同构送到任意有序点对)。

证明要点。换一套点坐标:把七点认作 𝔽23 的七个非零向量,三条「过一点」结构重新解读——取线为 {u, v, u+v}。逐线验证:非零向量共 7 个;每个二维子空间含 3 个非零向量;二维子空间共 (23−1)/(22−1) = 7 条;任两个非零向量决定唯一二维子空间——七条线与 Fano 平面的七线逐项吻合。于是 GL(3,2) 的每个元素(保持向量加法与零点的可逆线性映射)是设计自同构,得 GL(3,2) ≤ Aut(Fano),阶 = (23−1)(23−2)(23−22) = 7·6·4 = 168。反向(任何自同构都线性)从略:固定两个不共线的点的自同构必为恒等,由双重传递性数阶即得相等。双重传递性本身用「线的像仍是线」逐点核账:任取有序对 (a,b),a 的像有 7 种选择,b 的像(不等于 a 的像)有 6 种……总账 7×6 = 42 个有序对被群分一个轨道,轨道大小 42 = 168/4,稳定子阶 4。∎(要点版)

账目复核。168 = 7·6·4。把它拆成点轨道:群在七点上传递(任一点可送到任一点,轨道大小 7),单点稳定子阶 168/7 = 24;24 阶的稳定子里,固定点 1 的自同构在其余六点上仍传递(轨道 6),稳定 1 与 2 的子群阶 4。层层剥笋,全部对上——群论核算与设计账目零误差。

图 1-11 Fano = 𝔽2​3​ 的非零向量:对称群 168 = 7·6·4 e1​ e2​ e3​ e1​+e2​ e1​+e3​ e2​+e3​ e1​+e2​+e3​ 和线 7 非零向量 7 二维子空间 线 = {u, v, u+v}
图 1-11 Fano 平面的第二副面孔:七个非零向量、七个「和线」。线性代数给了几何,几何给了 168 阶对称。

对称的价值。自同构群不是装饰:① 它把证明分摊——凡群能到达的点地位平等,论证只需做一次(「不妨设」的合法化证书);② 它压缩搜索——穷举时只需枚举群的一个轨道代表;③ 它预言结构——第六章将看到,Fano 平面的 168 阶群正是 Hamming (7,4) 码的译码对称,而 24 点 Witt 设计的对称群 M24(阶 244,823,040)将把「设计—码—群」的三位一体推到极致。设计的对称轴,从本页开始上膛。

23讲义

第一章 平衡设计:BIBD 与计数恒等式1.13 可除性筛:参数的第一道门

★★★ 前几节的恒等式都是「对一个已知结构算账」;本节把它们倒过来用——先于任何构造,仅凭参数就把一大批候选宣判出局。这套筛选流程就是可除性筛,它是全书参数体检的标准动作。

定理(可除性条件)。

若 (v, k, λ)-BIBD 存在,则:

① λ(v − 1) ≡ 0 (mod k − 1), ② λv(v − 1) ≡ 0 (mod k(k − 1))。

证明。①即 r = λ(v − 1)/(k − 1) 必须为整数(恒等式 II);②即 b = vλ(v − 1)/(k(k − 1)) 必须为整数(两条恒等式联立)。∎

筛一遍 λ = 1 的三元系。条件①:v ≡ 1, 3 (mod 6)?先看 mod 2:k−1 = 2,需 v−1 偶,即 v 奇。再看 mod 3:需 6 | v(v−1),即 v ≡ 0 或 1 (mod 3)。合起来:v 奇且 v ≡ 0, 1 (mod 3),恰为 v ≡ 1, 3 (mod 6)。这两条同余正是第三章 Kirkman 存在定理的「必要条件」——存在定理的全部内容就是证明它们也充分。条件②给出块数 b = v(v−1)/6 为整数,与①等价,但独立写出有利于程序筛表。

筛一遍对称设计。第二章的主角 (v, k, λ) 要求 b = v,即 r = k,恒等式 II 变形为 k(k−1) = λ(v−1)。可除性条件化为:λ(v−1) ≡ 0 (mod k−1) 且 v 整除 λv(v−1)/(k(k−1)) 的分母问题——下一章将看到更利落的表述:n = k − λ 是整数平方数是 BRC 定理的入场要求。此处先立一块路牌。

候选 (v,k,λ)① r 整数② b 整数判决
(7,3,1)6/2 = 3 ✓42/6 = 7 ✓过关(存在)
(10,4,1)9/3 = 3 ✓30/12 除不尽 ✗出局
(10,4,2)18/3 = 6 ✓60/12 = 5 ✓过关(存在)
(31,6,1)30/5 = 6 ✓155/6 除不尽 ✗出局
(43,7,1)42/6 = 7 ✓1806/42 = 43 ✓过关(对称,第二章)
图 1-12 参数的三道安检门(第一章版) 第一门:r 整数 λ(v−1) ≡ 0 (mod k−1) 恒等式 II 的倒用 杀一票参数 第二门:b 整数 λv(v−1) ≡ 0 (mod k(k−1)) 两恒等式联立 再杀一票 第三门:Fisher b ≥ v(即 r ≥ k) 秩论证 理论拦截 三门全过只是入场券;第三章、第二章还会加设存在性的正赛
图 1-12 可除性两门+Fisher 一门:第一章的参数体检三关。门后还有更深的拦截(BRC)与更暖的承诺(Kirkman、Keevash)。

筛法怎么用。实战分两步:第一步「正向」——拿到三元组 (v,k,λ),两道除法几分钟做完,不过即弃;第二步「反向」——固定 k 与 λ,把满足两条件的最小 v 列成表,这些就是「值得找」的参数。第三章开篇的 STS 参数表 (7, 9, 13, 15, 19, 21, 25, …) 正是这样生成的;本册各章的实验页将反复调用这张表。

24讲义

第一章 平衡设计:BIBD 与计数恒等式1.14 补设计、派生设计与残差设计

★★★ 设计的繁殖术:从旧设计出发,用「取补」「取切片」两类手术,批量生产新设计。三台手术各有精确的参数变换公式,是构造者的标准装备。

手术一:补设计。把每个块换成它对全点集的补集:𝒟c 的块为 X \ B(B 取遍原块)。验参数:每块 v − k 点;点 x 在补块中的次数 = 原不入块数 = b − r;点对 {x,y} 同在补块 = 两点同时缺席的块数 = b − 2r + λ(容斥:共 b 块,r 块含 x、r 块含 y、λ 块两者都含)。于是

命题(补设计)。若 𝒟 是 (v, b, r, k, λ)-BIBD,则 𝒟c 是 (v, b, b − r, v − k, b − 2r + λ)-BIBD(要求 λc = b − 2r + λ > 0,否则退化为 λ = 0 结构)。

手术二与三:派生与残差。这两台手术需要一个「引擎块」:取定一个块 B0。派生设计 𝒟B0:点集换成 B0(k 个点),块族换成「与 B0 相交的其余块各截下它在 B0 内的部分」(含 B0 自身则去掉)。残差设计 𝒟ᴮ0:点集换成 X \ B0,块族换成「与 B0 不相交的块」加上「与 B0 相交的块截去交后剩的部分」?——不,标准定义更简单:残差只保留与 B0 不相交的块?同样不对;正确版本如下(对对称设计最干净):

命题(对称设计的派生与残差)。设 𝒟 是对称 (v, k, λ)-设计,B0 是一个块。则:
① 派生:以 B0 的 k 点为点集,以全部「他块 ∩ B0」为块,得 (k, v − 1, k − 1, λ, λ − 1)-设计(k 个点、v−1 个块;块大小恰为 λ,用对偶平衡——第二章 §2.2);
② 残差:以 X \ B0 的 v−k 点为点集,以全部「他块 ∖ B0」为块,得 (v − k, v − 1, k, k − λ, λ)-设计。
(证明即逐项核账,第二章 §2.3 学完对偶后一并给出——对称设计的核账要在双账本下才最顺手。)
图 1-13 三台繁殖手术 补设计 B ↦ X∖B k ↦ v−k,r ↦ b−r λ ↦ b−2r+λ 任何 BIBD 可用 派生 𝒟_B0​ 留下 B0​ 内的残影 v ↦ k,b ↦ v−1 k ↦ λ,λ ↦ λ−1 对称设计最顺手 残差 𝒟ᴮ0​ 除去 B0​ 的新点集 v ↦ v−k,b ↦ v−1 r ↦ k−λ 对称设计最顺手 例:Fano (7,7,3,3,1) 派生 → (3,6,2,1,0) 退化;残差 → (4,6,3,2,1)=K4​ 的边块
图 1-13 补、派生、残差:三台手术把旧设计变成新设计的孵化器。参数公式是出厂说明书。

即查即用:Fano 的两刀。对 Fano (7,7,3,3,1) 取补:块大小 7−3 = 4,点入度 7−3 = 4,λc = 7 − 6 + 1 = 2,得 (7,7,4,4,2)——正是「七点的全部 4-子集里挑七个」的稀客;它的关联矩阵 = J − N(Fano 的名片取补),谱立即读出:原谱 {9, 26} 变 {21 − 9, (0 − 2)6} = {12, (−2)6}。取派生(B0 = 123):点 = {1,2,3},块 = 其余六线截下的 {2,3}, {4,5}, {6,7}, {4,6}, {5,7}, {4,7}∩B0 = ∅ 去掉……细账第三章习题课逐项清算,此处只留一句:繁殖术让小设计一变多,是穷举与递归构造的温床。

25讲义

第一章 平衡设计:BIBD 与计数恒等式1.15 t-设计初窥

★★★★ BIBD 的对账只记「点对」;本节把对账升级为 t 元组,开出一门新账户——t-设计。它是第五章的舞台,这里先立户头、亮账本。

定义(t-设计)。设 v ≥ k ≥ t ≥ 1,λt 为正整数。一个 t-(v, k, λt) 设计是关联结构 𝒟:v 个点、块块恰 k 点,且任意 t 个相异点恰同在 λt 个块中。t = 2 时即 BIBD(λ = λ2);t = 1 即「正则均匀」。若任意 t 元组恰同块一次(λt = 1),称 Steiner 系统 S(t, k, v)。

递降定理(预告)。t-设计的对账自动向下兼容:任意 s 元组(s < t)同块的块数是常数 λs,且有链式公式

λs = λt · C(v − s, t − s) / C(k − s, t − s).

证明的思想是 §1.2 换角计数的直接推广:固定一个 s 元组 S,数「(S 的扩充到 t 元组的途径, 覆盖该途径的块)」——按扩充数、按块数各记一遍。第五章将给出完整论证与递降链的系谱学:一个 t-设计生出一整串 (t−1)、(t−2)、…、2-设计,各有自己的参数。先热身验一例:S(3,4,8)(第五章主角)应满足 λ2 = C(6,1)/C(2,1) = 3——它是一个 (8, b, r, 4, 3)-BIBD。

t 重账的必要条件。每一层 λs 都必须是非负整数——这就是 t-设计的可除性筛:一串同余条件由深到浅排队安检。λs 全为正整数只是必要条件;充分性等待 Keevash(2014):足够大的 v 上,账目过关者必存在。这条「大局已定」的定理是全册暗线的终点,第五章末与综合站将两次回望。

图 1-14 t-设计的账本塔:一层 t 元账,带出一串下账 t-(v, k, λt):任意 t 元组恰 λt 块 最重的一本账 (t−1)-(v, k, λ(t−1)):自动成立 λ(s) = λ(t)·C(v−s, t−s)/C(k−s, t−s) ……逐层递降…… 每层 λ(s) 必须为正整数(安检) 2-(v, b, r, k, λ2​)=BIBD(本册第一章)
图 1-14 t-设计的递降塔:一本 t 元账牵出全族 s 元账;每层账目必须整数,塔才立得住。

本册的攀登计划。t = 2(第一章);t = 2 且可分解(第三章的 Kirkman 系——分解是把块分层打包的额外账);λ = 1 的极简主义(第三章 Steiner 三元系);「两族块同时平衡」(第四章正交拉丁方);t = 3, 4, 5 的高峰(第五章 Witt 设计)。每升一重,存在的空间急剧收窄:2-设计成千上万,5-设计已知者屈指可数——稀罕本身就是第五章的美学。本节作为导览到此;记住一句:t-设计不神秘,只是把「任意两人恰遇 λ 次」推广成「任意 t 人恰遇 λ 次」——账本加厚,世界变稀。

26讲义

第一章 平衡设计:BIBD 与计数恒等式1.16 换角计数:一题两账

★★★ 本章收官的方法论页。把前文用过的证明招式拆开看,全部共享同一个骨架——换角计数:选定一批对象,用两种方式分组计数,令两个结果相等。本页把招式模板化,并预告它后续章节的三次升级。

模板。一个换角计数由四件套组成:

① 对象集:要数的东西(关联对、三元组、子对……);
② 分角 A:按第一个分量分组数;
③ 分角 B:按第二个分量分组数;
④ 等式:A 总数 = B 总数,解出未知参数或导出恒等式。

本章实例对象集分角 A分角 B产出
恒等式 I关联对 (x, B)按块:bk按点:vrbk = vr
恒等式 II过 x 的对 (y, B)按 y:λ(v−1)按块:r(k−1)r(k−1)=λ(v−1)
全景对账块内点对按块:bC(k,2)按点对:λC(v,2)bC(k,2)=λC(v,2)
递降预告(S 的 t-扩充, 块)按扩充:λ(s)C(v−s,t−s)按块:C(k−s,t−s)·块数λ(s) 公式

为什么有效。计数等式的深层理由是「双重分划」:同一个集合被两种方式切成互斥且完备的部分,总大小必然一致。它是组合数学里最古老的证明范式——欧拉的剖分、高斯的配对,皆是同源;在设计理论里它特别高产,因为「平衡」恰好保证了分角 B 里每一组的大小都相等,等式因此立即解出未知量。若没有平衡(如标本 B),分角 B 各组大小参差,等式退化为平均值公式——信息量骤减。这解释了本书的一个结构选择:一切高级概念都建立在「均匀」之上,因为只有均匀让换角计数从不等式升级为等式。

图 1-15 换角计数:同一堆东西,两个方向数 对象集:块内点对 按块切:b 组 × C(k,2) 按点对切:λC(v,2)?不—— 正确切法:点对全集 C(v,2) 每组(点对)恰 λ 块 ⇒ 总数 λC(v,2) = bC(k,2) = λC(v,2) —— 平衡让右边的每份一样大
图 1-15 全景对账的换角:块内点对按块切得 bC(k,2),按点对切得 λC(v,2)——平衡保证后者份份相等。

三次升级预告。① 第二章:换角计数遇上对偶——点、块两角互换,对称设计的「双账本」由此而来;② 第五章:R–W 不等式——换角计数从「等式」升级为「谱不等式」,拦截力大增;③ 第六章:重量计数器——MacWilliams 恒等式是换角计数在码空间里的再生。练好本章的基本式,三次升级都只是同一主题的变奏。

本章口诀(背):一账点、二账块、三账对;bk = vr,r(k−1) = λ(v−1);肖像 NNT = (r−λ)I + λJ;Fisher 一言蔽之——块不比点少。

27例题

第一章 平衡设计:BIBD 与计数恒等式例题一:参数齐备的核账

题目。某社团有 13 名成员,活动记录显示:每次活动到会 4 人;任意两名成员恰好同场活动 1 次;活动场次记为 b。问:① 全年共活动几场?每人参加几场?② 该记录描述的是哪个著名设计?③ 用肖像方程算出关联矩阵的行列式。

解。① 参数三元组 (13, 4, 1)。恒等式 II:r · 3 = 1 × 12,得 r = 4;恒等式 I:b · 4 = 13 × 4,得 b = 13。每人参加 4 场,全年 13 场。

② 值得停一秒的巧合:b = v = 13、r = k = 4——块数与点数相等!这正是第二章的「对称设计」门票。事实上 (13,4,1) 是著名的射影平面 PG(2,3) 的关联结构:13 点 13 线、每线 4 点、每对点恰一线——第二章 §2.9 将用差集 {0,1,3,9} 把它整桌端出。本册的章节在此提前握手:第一章的账目已经预告了第二章的形态。

③ 肖像方程:NNT = (r − λ)I + λJ = 3I + J,特征值为 rk = 16(一重)与 r − λ = 3(十二重)。由于 b = v,N 是 13 阶方阵,行列式 = 特征值之积:

det N = det(NNT)1/2 = √(16 · 312) = 4 · 36 = 2916.

答。① b = 13 场、每人 4 场;② 对称 (13,4,1) 设计,即射影平面 PG(2,3);③ det N = 2916。∎

复盘。本题三问分别动用了恒等式 II、恒等式 I(的等号巧合)与肖像方程——本章的三大件各出一手。注意 det N 的算法:N 非对称时不能直接取特征值,但 det(NNT) = (det N)2 在方阵情形恒成立,开方即得——「平方后透明」的策略连行列式都能收割。
28例题

第一章 平衡设计:BIBD 与计数恒等式例题二:从 λ 表反推参数

题目。一个 BIBD 满足:恰有 16 个块;每点入 6 块;每块 8 点;任意点对同块 3 次。问有多少个点?这是真设计吗?

解。已知 b = 16, r = 6, k = 8, λ = 3,求 v。恒等式 I:bk = 16 × 8 = 128 = vr = 6v,得 v = 128/6 = 64/3——不是整数!

判决。这样的设计不存在:四项观测自相矛盾。问题的本质是「超定」:五参数里只有三个自由度(§1.2),题目给了四个,多余的一个立即把方程逼崩。∎

变式(自检)。把「每点入 6 块」改为「每点入 8 块」呢?——128 = 8v 得 v = 16;再验恒等式 II:r(k − 1) = 8 × 7 = 56,λ(v − 1) = 3 × 15 = 45,56 ≠ 45——仍然出局!两本账各杀一次。把 λ 改为多少才活?需 λ = 56/15 非整数……继续调整:r = 8 时恒等式 II 要求 λ = 56/(v−1) 且恒等式 I 给 v = 16,则 λ = 56/15 ∉ ℤ——(16, 16, 8, 8, ·) 整族皆空。可自行验证:这组观测值在物理上就是凑不齐。

图 1-16 五参数的自由度:三真二锁 自由三元组 (v, k, λ) 可自由指定(过筛后) r、b 被两条恒等式锁定 再加一条观测即超定 本题的崩溃过程 四项观测 → v = 64/3 ✗ 修正后 → 两账互斥 ✗ 观测与存在性冲突 结论:账本是刚性的——参数不许「差不多」
图 1-16 五参数被两条恒等式锁死成三个自由度;多一条观测就多一分崩塌的风险——这是设计的「刚性」之美。

方法论收束。例题二演示了记账法的「司法」用途:观测数据(真实试验或题设)必须通过恒等式的联立检验,任何一条不过,结构与数据两者必有一伪。Fisher 在田间试验里用它查试验方案的漏洞,今天它仍是试验设计软件包里的第一道校验。

29习题

第一章 平衡设计:BIBD 与计数恒等式习题课(一):恒等式的演练

习题 1-1(热身)。对下列三元组逐一判定:能否是某 BIBD 的 (v,k,λ)?若能,算出 (b,r):(6,3,2)、(9,3,1)、(12,4,3)、(15,5,2)、(16,6,2)。

提示。先过两道整除门(§1.13),再对幸存者验 Fisher(r ≥ k)。答案速查:r = 5, b = 10 ✓;r = 4, b = 12 ✓;r = 33/3 = 11, b = 12×11/4 = 33 ✓;r = 14/4 除不尽 ✗;r = 30/5 = 6 = k(对称!b = 16 ✓)。

习题 1-2(三角形设计)。证明:取完全图 Kv(v ≥ 3)的全部三角形作块,得 (v, C(v,3), v − 2, 3, 2)-BIBD;并用两条恒等式复核 (v = 6) 时 (6, 20, 4, 3, 2)。

提示。每条边恰在 v−2 个三角形里(边 AB 的第三点有 v−2 种取法)——这就是 λ = 2 的账。b = C(v,3)、r = C(v−1,2) = (v−1)(v−2)/2;验 bk = C(v,3)·3 = v·C(v−1,2) ✓。

习题 1-3(逆问题)。BIBD 的补设计(§1.14)满足 λc = b − 2r + λ。证明:λc = λ ⟺ r = (b + λ)/2。再找出一个满足此条件的真设计。

提示。λc = λ 即 b − 2r + λ = λ,即 r = b/2,结合 bk = vr 得 k = 2——λ = λc 的 BIBD 必是「块恰两点」的完全图类型(λ = 1 时即全体点对)。反例俯拾皆是:Fano 之补 (7,7,4,4,2) 的 λc = 7 − 8 + 2 = 1 ≠ 2——补运算不改 λ 若且仅当 k = 2。本习题的真正考点:参数公式的一致性外测——补的补应回到原设计,验算 (7,7,4,4,2) 的补 λc = 1 恰是 Fano 的 λ,账目闭环。

习题 1-4(双份账)。某 (v, k, λ) = (21, 5, 1) 候选(第三章将证明其存在,即著名的 Witt 设计 S(2,5,21))。先算 r 与 b;再数「过一条块的点对」:块内 C(5,2) = 10 对,块外还有多少点对未被此块覆盖?

提示。r = 5、b = 21——又一例 b = v(对称设计)。块外点对:C(21,2) − 10 = 200 对,它们各自要由别的块覆盖——第二章将用「每条块恰好认识 λ 条他块」的交账来刻画这种紧凑。

30习题

第一章 平衡设计:BIBD 与计数恒等式习题课(二):矩阵与秩

习题 1-5(亲手肖像)。写出标本 A(K4 的三角形,参数 (4,4,3,3,2))的 4×4 关联矩阵 N,计算 NNT,并核对肖像方程:NNT = (r−λ)I + λJ = I + 2J。

提示。N 的第 t 列是三角形 {i,j,l} 的指示向量。NNT 对角 = r = 3,非对角 = λ = 2。谱:rk = 9 一重、r−λ = 1 三重;det(NNT) = 9,det N = ±3(方阵!)。注意这个 ±3 与习题 1-1 里 (6,3,2) 的 b = 10 无关——别串账。

习题 1-6(秩的退化)。设某关联结构均匀正则但 r = λ(允许 k 不完全?先论证这迫使什么)。证明:r = λ 的均匀正则结构要么是「完全设计的一种平凡变体」,要么不满足 BIBD 的不完全性——并由此说明 Fisher 证明里 r > λ 的来源。

提示。r = λ 代入恒等式 II:λ(k−1) = λ(v−1) ⇒ k = v(λ ≠ 0 时)——即每块装下所有点,违反不完全性;λ = 0 时对账为零,恒等式 II 平凡成立但设计无意义(点从不相遇)。故真 BIBD 必 r > λ,肖像方程右边的两个特征值皆非零。

习题 1-7(行列式练习)。设对称设计 (v,k,λ) 存在(b = v),证明 det N = ±kv/2(k−λ)(v−1)/2,并对 (7,3,1) 算出具体数值。

提示。det(NNT) = rk·(r−λ)v−1 = k2(k−λ)v−1(用 r = k),开方即得。Fano:√(9·26) = 8·√9?细算:k2(k−λ)v−1 = 9·64 = 576,det N = 24。回看例题一:(13,4,1) 得 2916 = 4·36;本题公式给 47/2·33 —— 两式应一致:43.5 = 8·8 = 64?谨慎核对:k2 (k−λ)v−1 = 16 · 312,开方 = 4 · 36 = 2916 ✓;代入题给公式 kv/2(k−λ)(v−1)/2 = 46.5·36 —— 46.5 = 43·√43 = 64·8 = 512 ≠ 4。哪一步错了?——题给公式漏了平方根下的 rk 与 k 的关系:应先证 rk = k2(r = k),det(NNT) = k2(k−λ)v−1,det N = k(k−λ)(v−1)/2。修正后的公式对 Fano 给 3·23 = 24 ✓、对 (13,4,1) 给 4·36 = 2916 ✓。本习题的真正考点:发现公式、用两例检验、修正——数学工作的原型。

习题 1-8(选做·探究)。对一个 BIBD,把 NNT 的谱写成 (rk, (r−λ)v−1)。猜想:NTN(b×b 方阵)的谱是什么?(提示:非零特征值与 NNT 相同;零特征值的重数 = b − v。第六章将把这条「非零谱共享」升格为码理论的主力工具。)

31地图

第一章 平衡设计:BIBD 与计数恒等式第一章地图:概念依赖关系

本章 16 节的概念不是平行排列,而是一棵根叶分明的树。本页把这棵树画出来:箭头 A → B 表示「B 的定义或证明需要 A」。

图 1-17 第一章概念树 关联结构 (§1.1) BIBD 五参数 (§1.2) 完全设计 (§1.5) 恒等式 I、II 关联矩阵 (§1.7) 可除性筛 (§1.13) 繁殖术 肖像方程 (§1.8) 谱 (§1.10) Fisher (§1.9) 同构 · Aut (§1.11–1.12) ⟶ 第六/五章 换角计数(§1.16)是全树的方法论根须
图 1-17 从关联结构出发,五参数与矩阵是两条主干;Fisher 与谱是两条主干结出的果,同构与自同构通向第五、六章。

通向外部的接口。① 恒等式 I 的对偶视角 → 第二章对称设计;② 可除性筛 mod 6 的产出 → 第三章 Steiner 系参数表;③ 谱与秩 → 第六章码的重量计数器;④ Fisher 的统计出身 → 综合站的试验设计专页。章内树是自足的——读完本章,后续六章的每一步定义都能找到根系。

32小结

第一章 平衡设计:BIBD 与计数恒等式第一章小结(上):五参数与两恒等式

本页任务。把 §1.1–1.5 的账目浓缩成一张随身卡片;§1.16 的方法总结在下页。

卡片一:定义与参数。BIBD 四条件:v 点、k 点每块(均匀)、点对 λ 次同块(平衡)、k < v(不完全)。五参数 (v, b, r, k, λ),其中 r = λ(v−1)/(k−1),b = vλ(v−1)/(k(k−1)) = λC(v,2)/C(k,2)——五数实为三自由。
卡片二:两条恒等式。I:bk = vr(关联对的横竖加法);II:r(k−1) = λ(v−1)(过一点的点—块对的双向分划)。推论:全景对账 bC(k,2) = λC(v,2);体检门:r、b 整除性 + Fisher b ≥ v。
卡片三:完全设计。𝒞(v,k):块取全部 k-子集,λ = C(v−2,k−2) 无自由度——设计的「自动挡」,BIBD 禁它以保悬念。

三个必背实例。① 标本 A:(4,4,3,3,2),K4 的三角形,λ = 2 的一族之最小者;② Fano:(7,7,3,3,1),七线 123,145,167,246,257,347,356,λ = 1 的最小者,Aut 阶 168;③ 女生散步参数:(15,35,7,3,1),可分解性留待第三章。

五个一分钟体检(拿到 (v,k,λ) 先跑一遍)。① r 整数?② b 整数?③ r ≥ k?④ v > k(不完全)?⑤ k ≥ 2(避免退化)?五关全过,参数才有资格谈存在;任一关倒下,直接出局。例:(10,4,1) 死在②;(22,7,2) 死在②;(6,3,2) 全过且存在(K6 三角形)。体检是必要条件不是充分条件——过关之后,存在性仍是正赛;这道裂缝由第二章的 BRC 继续撕大,直到第三章、第五章分别用 Kirkman 定理与 Keevash 定理缝上。

图 1-18 三自由、五参数、两恒等式的全景 自由三元组 (v, k, λ) 过可除性筛后才有戏 r = λ(v−1)/(k−1) 恒等式 II 锁定 b = λC(v,2)/C(k,2) 恒等式 I 锁定
图 1-18 三自由、五参数:两条恒等式是从三元组到五元组的唯一桥梁,桥后是 Fisher 与存在性的漫长正赛。
33小结

第一章 平衡设计:BIBD 与计数恒等式第一章小结(下):矩阵三定理

本页任务。把 §1.7–1.16 的代数装备浓缩成三张卡片,外加方法论的封印。

卡片四:肖像方程。NNT = (r−λ)I + λJ——平衡的代数本体。r > λ 时 NNT 满秩 v;谱 {rk, (r−λ)v−1};方阵时 det(NNT) = rk(r−λ)v−1。
卡片五:Fisher 不等式。b ≥ v(等价于 r ≥ k)。三行证明:满秩 → 秩不升 → 列数封顶。等号情形 = 对称设计的入场铃(第二章)。几何读法:v 个点嵌入块空间成等距单纯形。
卡片六:对称与繁殖。同构 = 置换 φ 保块族;Aut(𝒟) 是 Sv 的守军,|Aut| = v!/M(M = 标号实现数)。Fano:Aut ≅ GL(3,2),阶 168,双重传递。繁殖三手术:补 (k ↦ v−k)、派生 (B0 内残影)、残差 (B0 外世界)——对称设计的派生/残差公式第二章 §2.3 补全。

方法论的封印。本章全部证明只用四种动作:换角计数(两恒等式、递降公式)、代数化(肖像方程)、秩与谱(Fisher、非同构判别)、群论核算(轨道—稳定子)。四个动作的调用成本依次升高,实战顺序永远是:先数账(一分钟),再上矩阵(五分钟),最后才群(半天)。这个「成本阶梯」是组合数学工作方式的缩影,也是本册反复示范的解题纪律。

动作典型产出成本失效场景
换角计数恒等式、必要条件一分钟无均匀性时退化为平均值
代数化 + 秩Fisher、行列式五分钟r = λ(退化)
谱分析非同构、单纯形几何半小时同谱不同构(存在!)
群论核算|Aut|、传递性半天起自同构平凡的小设计

第一章与全书的接口总表。对称设计(第二章)= Fisher 等号的谜底;Steiner 系(第三章)= λ = 1 与可分解;MOLS(第四章)= 两族块的双重均匀;t-设计(第五章)= 对账的 t 重化;码(第六章)= 关联矩阵的行空间。一张地图读完,六个方向各自出发——下一站:当 b = v。

34思想卡

第一章 平衡设计:BIBD 与计数恒等式思想卡:计数是一种证明

本章从头到尾只做了一件事:把「数东西」变成「证明定理」。两条恒等式、Fisher 不等式、递降公式、轨道计数——没有一条依赖代数恒等变形之外的巧技,全部源于同一个朴素事实:同一个集合,两种分划,总数必相等。

这句朴素的话为什么有大威力?因为它把「存在性」问题转译成了「账目」问题。一个设计是否存在,肉眼难判;但它的账目是否平衡,一分钟可算。会计学里有句话:账平不代表没贪,账不平一定有鬼。组合设计反过来用这条:账平(恒等式通过)只是清白的必要条件,真正的清白(存在性证明)需要第三章、第五章的构造性劳动;而账不平(可除性失效、Fisher 违反、BRC 拦截)则一票否决、永无翻身。

更深一层:换角计数是「视角平等」的数学化。同一批关联,站在块的角度与站在点的角度必须看到同样的总量——这不是巧合,而是「关联」这个关系本身的对称性。第二章将把这种对称推到极致(对称设计连点与块的角色都可互换),第六章将让三种角色(点、块、码字)在同一个群里共舞。会计、对称、群——是一条螺旋上升的楼梯。

最后留下的一个问题:日常语言里「公平」一词很难精确定义,但 BIBD 用三条恒等式把「公平」写成了算术——每块一样大(对块公平)、每点一样忙(对点公平)、每对点一样亲(对点对公平)。数学的「公平」可以严格到什么程度?——这个问题将在第五章 S(5,8,24) 得到近乎极端的回答:那里连任意五人小组都被安排得毫无偏见。

35挑战

第一章 平衡设计:BIBD 与计数恒等式挑战:搜一张 BIBD 参数表

任务。写出一个小程序(或手算),枚举 2 ≤ k ≤ 8、1 ≤ λ ≤ 5、k < v ≤ 60 的全部三元组,逐一过「五关体检」(r 整数、b 整数、r ≥ k、v > k、k ≥ 2),输出幸存者清单;再从中标出本书已出现过的设计:标本 A (4,3,2)、Fano (7,3,1)、(13,4,1)、(15,3,1)(女生散步)。

观察任务(比搜索更重要)。① λ = 1 的幸存者序列(k = 3):7, 9, 13, 15, 19, 21, 25, …——把它 mod 6 归类,会看到全是 1 或 3:这正是第三章 Kirkman 定理的必要条件,等于把该定理亲手「搜」了出来。② k = λ + 1 的整行:r = v − 1 恒过体检——但它们对应「完全图的所有 (λ+1)-子集」族(习题 1-2 的推广), λ = C(v−2, k−2) 的完全设计亲戚,(b 由 v 直接决定)。这一行「绿而不稀」,呼应 §1.5 的悬念之辨。③ 对称行 b = v(即 k(k−1) = λ(v−1)):7, 13, 21, 31, …(λ = 1 时 v = k2 − k + 1)——第二章的射影平面序列,先睹为快。

图 1-19 体检幸存者里的三条「名线」(k = 3, λ = 1) 7 Fano 9 第三章 13 循环构造 15 女生散步 19 … 全列 mod 6 ≡ 1 或 3 —— 亲手搜出 Kirkman 定理的影子
图 1-19 体检幸存者(k = 3, λ = 1)不是散点而是队列:v ≡ 1, 3 (mod 6)。第三章将证明这条队列一个不缺。

进阶(选做)。把体检升级为「三章联动」:幸存者中 b = v 的行(对称线),用第二章将学的判别式条件预筛;λ = 1 行的 v > 25 部分,查阅文献确认已知构造。搜索表是全书的活地图——此后每学一章,就在表上点亮一批名字。

36实验

第一章 平衡设计:BIBD 与计数恒等式实验:穷举 7 点与 9 点的小设计

实验目的。让程序「看见」全部样本:Fano 平面的小世界里,账目、同构与对称都可数、可摸。全部代码可运行于任何 Python 3 环境,无需第三方库。

实验一:验证 Fano 的七线表。

X = range(7)
lines = [{0,1,2},{0,3,4},{0,5,6},{1,3,5},{1,4,6},{2,3,6},{2,4,5}]
# 账目三验
for x in X:                                   # 点账
    assert sum(x in L for L in lines) == 3
from itertools import combinations
for a, b in combinations(X, 2):               # 对账
    assert sum({a,b} < L for L in lines) == 1
assert all(len(L) == 3 for L in lines)        # 块账
print('Fano 三本账全部通过')

实验二:数标号实现(复核 |Aut| = 168)。对全部 7! = 5040 个点的置换 p,检查 p 把七线表映回自身(作为集合族):恰有 168 个置换通过——它们就是自同构群;进而实现数 M = 5040/168 = 30。代码骨架:用 frozenset 冻结每条线,置换后整体比对。

实验三:9 点上搜 (9,3,1)。枚举 9 点中全部 C(9,3) = 84 个三元组,回溯挑选 12 个(b = 9·8/6 = 12),使每对点恰覆盖一次。程序将报告:解存在,且全部解分成两个同构类——一个是 3×3 方点阵的「仿射平面」(三类平行线),一个是「星形」结构(有一个点入 4 块?不——正则结构人人 r = 4;两类的差别在块交模式)。这正是第三章的预告:同构类开始分岔。运行时间在毫秒级;把 9 换成 13 则需几分钟——组合爆炸的体感教学。

图 1-20 (9,3,1) 的两个同构类:方阵与缺角 1 2 3 4 5 6 7 8 9 仿射平面 AG(2,3):12 线、4 组平行类 第二类(示意) 块交图非同构: 一类 12 块互相平行成组, 另一类交点模式不同。 谱相同、交不同 → 非同构判别需交图出场
图 1-20 9 点实验的收获:解不止一个,同构类开始分岔——分类学从 9 点起就不再平凡。

实验报告要求。① 贴出实验一、二的计数结果;② 实验三给出解的总数与两个同构类的块交图快照;③ 回答:把 Fano 的 7 换成 9 后,Aut 的阶还整除 9! 吗?(轨道—稳定子保证整除,但阶数已掉到 432 与 54 两个不同值——对称也在分岔。)

37格物札记

第一章 平衡设计:BIBD 与计数恒等式〖札记〗从卦阵到赛马:中国的安排传统

卦阵:最早的 0-1 矩阵。《易经》六十四卦,每卦由六爻组成,爻分阴阳两态——用现代语言,这就是 26 = 64 个六位二进制向量的全集;八卦则是 23 的三位向量组。邵雍(北宋)对六十四卦的排序(「伏羲六十四卦次序」)被莱布尼茨 1703 年的论文认定为二进制记数法的完整实现。从设计理论的角度看更有趣的一笔:卦与卦之间「变更爻数」(汉代的「卦变」说)恰是 Hamming 距离——六爻中不同爻的个数。后天八卦的「对宫卦」互为 Hamming 距离 3 的对偶……当然,古人没有这套语言,但把 26 个向量排成对称的方阵、按距离分组、按补卦配对,这些操作在《周易》的图式系统里真实存在。0-1 矩阵的出勤表与点名册,比莱布尼茨早了两千多年。

幻方:最早的均匀安排。「洛书」九宫(纵横斜和皆 15)传为大禹时代所出,实物流可考至汉代「太乙九宫占盘」。幻方要求 1..9 排入 3×3 方阵使三行、三列、两对角和相等——用本册语言:这是对「双重账本同时平衡」的最早实践(行账、列账、两条斜账,共 8 本账同时平)。唐代杨辉给出 3 至 10 阶幻方的构造法;宋元数学家对幻方的系统研究比欧洲早三百年。幻方与组合设计的正式会师发生在近代:幻方是拉丁方的特例(把「和相等」换成「元素不重复」),而拉丁方正是第四章的主角。九宫图里那个居中的 5,站在所有过它的四条账线的交点上——这个「重心点」的角色,将在第二章对称设计的中心块身上重现。

田忌赛马:换角计数的孙子兵法。《史记》载孙膑教田忌以下驷对王上驷、以上驷对其中驷、以中驷对其下驷,二胜一负赢得千金。这个故事常被讲成博弈论,但从本册视角看,它是一次换角计数的胜利:六匹马两两赛跑共九场,按「上中下」重排配对,把必败的一角 sacrifices(弃车保帅),总账从 0:3 翻成 2:1。固定对手的出阵次序(等价于固定一个「设计」),我方的不同排阵是不同的「块选取」;孙膑做的正是枚举小样本空间、按总胜场数择优——组合优化的原型。值得一提的是,「差异化配置有限资源以满足多重约束」这一设计思想的精髓,在孙膑、在 Fisher 的田间、在 Hadamard 矩阵的行里,是同一件事。

图 1-21 洛书九宫:八本账同时平衡的最早样本 4 9 2 3 5 7 8 1 6 三行、三列、两斜: 八本账,和皆 15 重心 5 被四线共享 「对称的中心」 与第二章的中心块 遥相呼应
图 1-21 洛书:把 1..9 安排进 3×3 使八本账同平——双重均匀的东方原型,比拉丁方早了一千余年。

札记的注脚。中国传统数学的长处在「算」与「表」——九宫、卦阵、纵横图都是具体表格上的操作;希腊传统长在「证」——从公理推出必然。组合设计恰好骑在两股传统的交汇处:账要算(恒等式),理要证(Fisher)。本册的写法——先记三本账、再立一条定理——自觉地把两种传统拧成一股绳。

38速查

第一章 平衡设计:BIBD 与计数恒等式第一章速查表

条目内容出处
BIBD 定义v 点、块块 k 点、点对 λ 次同块、k < v绪论 / §1.2
恒等式 Ibk = vr§1.3
恒等式 IIr(k−1) = λ(v−1)§1.4 / §1.2
全景对账b·C(k,2) = λ·C(v,2)§1.6 / §1.16
r、b 公式r = λ(v−1)/(k−1);b = λC(v,2)/C(k,2)§1.2
肖像方程NNT = (r−λ)I + λJ§1.8
谱rk(1 重),r−λ(v−1 重)§1.10
Fisherb ≥ v ⟺ r ≥ k(r > λ 时)§1.9
体检五关r 整数、b 整数、r ≥ k、v > k、k ≥ 2§1.13 / §1.2
补设计(v, b, b−r, v−k, b−2r+λ)§1.14
标号计数|Aut| = v!/M(M = 标号实现数)§1.11
t-设计递降λ(s) = λ(t)·C(v−s,t−s)/C(k−s,t−s)§1.15

实例小卡。标本 A:(4,4,3,3,2),K4 三角形,谱 {9,13};Fano:(7,7,3,3,1),Aut ≅ GL(3,2) 阶 168,谱 {9,26},det N = 24;PG(2,3):(13,13,4,4,1),谱 {16,312},det N = 2916;女生散步:(15,35,7,3,1),可分解性第三章兑现;(9,12,4,3,1):两个同构类(实验三)。

易错三坑。① 恒等式 II 用时忘验 k ≥ 2(k = 1 除零);② 补设计公式 λc = b − 2r + λ 只对无重复块版本成立;③ 谱判同构是「不同必非同构」,「相同」不能反推同构——同谱不同构真实存在。

下一步。衔接讲义(下页)把 b = v 的口袋收紧;第二章从对偶开始,把第一章的账本翻到背面。

39讲义

第一章 平衡设计:BIBD 与计数恒等式衔接讲义:通往对称设计——当 b = v

★★ 本页是第一章与第二章之间的引桥:把 Fisher 不等式的等号情形摊开,使人看见下一章的整个议程如何从这里发芽。

等号意味着什么。Fisher 的证明链条是 v = rank(NNT) ≤ rank(N) ≤ b。若 b = v,链条处处取等:rank(N) = v,N 是 v 阶可逆方阵。可逆意味着三件事:① 行(点)线性无关、列(块)也线性无关;② NNT 与 NTN 有完全相同的非零谱;③ N−1 存在,块与点可以通过矩阵互译。第②件事立刻兑现红利:

命题(等号即对偶,预告)。

若 BIBD 满足 b = v,则 NTN 的非对角元也是同一个 λ:任意两个不同的块恰交 λ 个点。

证明思路。NTN 与 NNT 有相同非零特征值 {rk, (r−λ)v−1};又 NTN1 = NNT1 = rk·1(用 N1 = r1 与 NT1 = k1)。于是 NTN 的谱 = 对角元均值核对:非对角元全等 λ′ 时 NTN = (k−λ′)I + λ′J……由谱唯一反解 λ′ = λ。∎(完整版第二章 §2.2)

翻译成组合语言:b = v 的 BIBD 里,点与块完全平权——点对账本与块交账本用同一个 λ。这种「照镜子也成立」的设计叫对称设计;它不是对称群的对称,而是角色互换的对称。第一章的所有概念都将翻面重印:补设计有了对偶版本,派生与残差成为一对镜像,谱在循环情形下会露出更深的算术面孔。

图 1-22 引桥:从等号到对偶 第一章的账本 点对账:每对点 λ 块 块交账:不设防(交点随意) Fisher:b ≥ v 等号 b = v 之后 点对账:λ(不变) 块交账:自动也是 λ 角色互换,账本翻面 对称设计:把「关联」变成一种平等的关系
图 1-22 Fisher 的等号不是边界而是门户:跨过去,块交账本自动补齐,点与块从此平权——第二章的对称设计。

两个速记例子。① Fano (7,7,3,3,1):两线恰交一点(数一遍:123 与 145 交于 1,123 与 246 交于 2……),账本翻面分毫不差;② PG(2,3) (13,13,4,4,1):两线恰交一点——几何里「任意两线交于一点」是射影平面的公理,账目与几何在此重合。第二章将说明这不是巧合:射影平面正是对称设计的根据地,而通往它们的快车叫「差集」。

行李清点:肖像方程、谱、Fisher、可除性筛、补派生手术、换角计数——六件全带。第二章检票口在即,票根上印着三个字母:BRC。

第二章

对称设计与差集

Fisher 不等式说 b ≥ v;那么 b = v 的极端情形是什么样子?这就是对称设计——它内部藏着最深的对称:每个块也恰含 k 个点、每对块也恰交于 λ 个点,设计的对偶仍是设计。本章的主角是「差集」:把 v 个点排成一圈,取一个 k 元子集 D,若 D 的平移差恰好把每个非零数各盖住 λ 次,则 D 的全部平移就构成一个对称设计。一张小小的表 (7,3,1)={0,1,3} 造出 Fano 平面;Singer 定理说,每张 q2+q+1 阶射影平面都能这样造。构造的另一面是拦截:Bruck–Ryser–Chowla 定理用数论(二次型与无穷递降)证明一批参数永远无解——(29,8,2) 的拦截战是本章的高光实验。Hadamard 矩阵与 Hadamard 设计收束全章:矩阵、设计、差集三种语言在这里自由互译。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
40导引

第二章 对称设计与差集第二章导引:极端平衡的形态

第一章的 Fisher 不等式画了一条不可逾越的横线:b ≥ v。横线之下的参数当场出局;那么恰好踩线(b = v)的设计是什么样子?本章给出完整回答:它们是最紧凑、最对称的一族——对称设计;而制造它们的头号机床,是把整个设计塞进一张加法表里的差集。

本章分三段行进。第一段(§2.1–2.3)研究对称设计的内部构造:r = k 的双账本、对偶设计、以及「等号即对偶」的完整证明——第一章遗留的预告在此兑现。第二段(§2.4–2.10)上机床:差集把 v 个点排成一圈,用一个 k 元子集的「平移舞步」造出全部块;Fano 平面由一张 (7,3,1) 的三数小表拧出,Singer 定理则宣布每张 q2+q+1 阶射影平面都能这样拧——差集是组合设计与有限几何之间的直达快车。第三段(§2.11–2.16)转向拦截与推广:Bruck–Ryser–Chowla 定理用初等数论证明一批参数永远无解,(29,8,2) 的拦截战是本章的实验主角;Hadamard 矩阵、差族与乘子定理收束装备库,方法论页总练一遍。

图 2-0 本章三段行程 内部构造 对称设计 · 双账本 对偶 · 自对偶 §2.1–2.3 差集机床 循环平移造设计 Fano · Singer · 乘子 §2.4–2.10 拦截与推广 BRC 定理 · (29,8,2) Hadamard · 差族 §2.11–2.16 主旋律:b = v 的紧平衡 ↔ 差集的紧凑表示 ↔ 数论的硬拦截
图 2-0 三段行程:先看清对称设计的骨架,再上差集机床,最后让数论当裁判。

本章继续大量动用第一章的四大件:肖像方程(对偶证明的主角)、谱(循环设计的频域)、可除性筛(参数预筛)、换角计数(差集的核心论证)。行李在前章已备齐,本页只补一件新工具——模 v 的加法群:把 {0, 1, …, v − 1} 看成「时钟数字」,加法满 v 归零。这台小小的时钟,将转动出本章最美的构造。

41讲义

第二章 对称设计与差集2.1 对称设计:b = v

★★★ 定义可以直接立在 Fisher 的等号上。

定义(对称设计)。一个 (v, k, λ)-对称设计是参数满足 b = v 的 BIBD。由两条恒等式,这等价于 r = k;参数于是只剩三个自由度 (v, k, λ),且须满足乘积方程

k(k − 1) = λ(v − 1), 即 v = 1 + k(k − 1)/λ.

「对称」二字的分量要到下两页才完全显露(点与块角色互换后设计不变);本页先看三件事:参数表的形状、最小例子、以及一个紧迫的存在性问题。

参数表的形状。给定 λ,对称设计参数由 k 决定:v = 1 + k(k−1)/λ。λ = 1 时 v = k2 − k + 1:k = 2, 3, 4, 5, … 给出 v = 3, 7, 13, 21, 31, 43, 57, 73, 91, …——射影平面序列(Fano = k = 3,PG(2,3) = k = 4,§2.9 将给出几何解释与 Singer 构造)。λ = 2 时 v = 1 + k(k−1)/2 = C(k,2) + 1:k = 4 → v = 7(Fano 的补);k = 5 → v = 11;k = 6 → v = 16;k = 7 → v = 22(这组将在 §2.12 被 BRC 判死,悬念先行)。λ = 3:k = 5 → v = 9?验算 1 + 20/3 非整数,出局——可除性筛先于一切定理开工。

最小例子清点。(3,2,1):三点两两一线,就是三角形本身——平凡得像完全设计,但确属对称;(7,3,1):Fano;(13,4,1):PG(2,3);(11,5,2):本章实验将亲手枚举它的全部差集;(16,6,2):Hadamard 设计的最小非平凡成员(§2.13)。注意 (7,4,2) = Fano 之补也是对称的——补运算保持对称性(b、v 不动),这条好性质记入账本。

图 2-1 对称参数表:v = 1 + k(k−1)/λ(λ 行、k 列) λ=1 λ=2 λ=3 λ=4 k=3 k=4 k=5 k=6 v=7 Fano ✓ v=13 PG(2,3) ✓ v=21 Singer ✓ v=31 Singer ✓ v=4 退化 ✗ v=7 补Fano ✓ v=11 ✓ v=16 Hadamard ✓ v=3 退化 ✗ v=5 完全设计 v 非整 ✗ v=11 补(11,5,2) ✓ v 非整 ✗ v=4 退化 ✗ v=6 完全设计 v 非整 ✗ ✓=本册将给出构造或给出存在性出处;λ=2 行的 k=8 给 v=29: 过可除性筛、倒在 BRC——§2.12 的主靶
图 2-1 对称设计的参数田野:λ=1 行通向射影平面(§2.9),BRC 将在 λ=3 行挥出红牌(§2.12)。

紧迫的问题。乘积方程 k(k−1) = λ(v−1) 只是「三元组自洽」,可除性筛再加两道整除门;三关全过的参数真有设计吗?——有的有(7, 11, 13, 16…),有的没有(22 将被拦)。「有还是没有」从此成为本章的正赛:构造派派出差集(§2.4),拦截派派出 BRC(§2.11),胜负将在具体的参数上一场一场地分。

42讲义

第二章 对称设计与差集2.2 对称设计中 r = k 与块交账本

★★★ 本页兑现第一章引桥页的承诺:完整证明「b = v ⟹ 块与块也恰交 λ 点」。证明只动用肖像方程与一次谱比对,是「代数化」方法的第二次胜利。

定理(对称设计的对偶平衡)。设 N 是对称 (v, k, λ)-设计的 v 阶关联方阵。则

NTN = (k − λ)I + λJ.

证明。由 N1 = r1 与 NT1 = k1(r = k),先核对:NTN1 = NT(r1) = rk·1 = k2·1。再看 NTN 的谱:NTN 与 NNT = (k−λ)I + λJ 有相同的非零特征值(一般事实:AB 与 BA 的非零谱相同——若 NNTx = μx 且 μ ≠ 0,则 NTN(NTx) = μ(NTx),且 NTx ≠ 0);由于 N 满秩,NTN 与 NNT 同为 v 阶满秩方阵,谱完全相同:{k2, (k−λ)v−1}。现在设 NTN 的对角元为 d(各行内积 = 行中 1 的个数 = 列中 1 的个数 = k——对角元就是 k),非对角元设为 λ′(各行「含 1 个数」相同吗?——由谱与对角还不能直接读出非对角相等,需一步补证:NTN = NNT?不必然。改走正路:计算 (NTN) 的行和 = NTN1 = k2·1,即每行 sum = k2;行 sum = d + (v−1)λ′ = k + (v−1)λ′,故 (v−1)λ′ = k2 − k = k(k−1) = λ(v−1),得 λ′ = λ。补证「非对角元全相等」:这正需要假设——严格路线是:由 NTN 的每行行和 k2 与对角 k,得该行非对角元之和 k2−k;但各行非对角分布可不同——所以真正严格的证明还得再用一次 NNT 的逆:N 可逆,从 NNT = (k−λ)I + λJ 两边左乘 N−1、右乘 N,得 NTN = (k−λ)I + λN−1JN;而 N−1JN = N−1(r1)(k1)T… 直接算:JN = 1(1TN) = 1(k1)T = kJ,N−1JN = k N−1J = k N−1·(1/N?)… — 关键恒等式:N−1J = (1/k)J(因 JN = kJ 两边左乘 N−1)。故 NTN = (k−λ)I + λk·(1/k)J = (k−λ)I + λJ。∎

复盘这条证明。核心一步是恒等式 JN = kJ(J 的每行乘 N 得列和向量 = k·1T)与它的左逆推论 N−1J = (1/k)J。全等式证明于是四行收工:转置方向重演肖像方程,靠 N−1 搬运 J。第一章埋下的「可逆方阵里藏着惊喜」,在这里全额兑付。

图 2-2 对偶证明:四行搬运 J NNT​ = (k−λ)I + λJ(第一章肖像) ↓ 左乘 N−1​、右乘 N NT​N = (k−λ)I + λ·N−1​JN JN = kJ ⟹ N−1​J = (1/k)J NT​N = (k−λ)I + λJ ∎ 非对角元仍为 λ:任意两块恰交 λ 点
图 2-2 把肖像方程「翻个面」:可逆性让 J 穿过 N 搬到另一侧,块交账本自动亮出同一个 λ。

双账本合并。于是对称设计同时是「点账设计」与「块账设计」:每对点 λ 次同块、每对块 λ 点相交。在 Fano 上实地核一遍:线 123 与 145 交 1,123 与 167 交 1,246 与 257 交 2,347 与 356 交 3——七七四十九对线,对对恰一点。把块交次数排成 7×7 矩阵,它正是 NTN——对偶设计的关联矩阵。对称设计自带它的对偶,这是下一页的正式话题。

43讲义

第二章 对称设计与差集2.3 对偶设计与自对偶

★★★ 「把点与块的角色互换」在第一章只是修辞(推论三),在对称设计里成了精确的数学动作。本页定义对偶、算清派生与残差的参数、并给「自对偶」立户头。

定义(对偶设计)。设 𝒟 是对称 (v, k, λ)-设计,关联方阵 N。对偶设计 𝒟T 以 𝒟 的块为点、以 𝒟 的点为块(点 x 的「块」= 含 x 的全体块)。𝒟T 的关联矩阵恰为 NT。由定理(§2.2),𝒟T 仍是 (v, k, λ)-设计——对偶保持参数。

自对偶。若 𝒟 ≅ 𝒟T(存在点的置换把块族变成「含点族」),称 𝒟自对偶。Fano 平面自对偶:把「点 1」认作「线 {1,2,3}」……存在一个 7 点的双射把七条线映成七个「含点族」。多步验证可以交给程序(本章实验),手算版本:Fano 的线与点通过极点配对——几何版是「每条线对应它的极点」,这一对应恰是 GL(3,2) 里的一个外自同构视角。非自对偶的对称设计也存在(最小的在 v = 16 附近),自对偶与否由块交图与点对图是否同构来初判。

派生与残差的参数账(兑现 §1.14 的欠条)。对称 (v,k,λ),取定块 B0:

手术点集块族参数 (v′, b′, r′, k′, λ′)
派生 𝒟B0B0 的 k 点他块 ∩ B0(共 v−1 个)(k, v−1, k−1, λ, λ−1)
残差 𝒟ᴮ0X∖B0 的 v−k 点他块 ∖ B0(共 v−1 个)(v−k, v−1, k, k−λ, λ)

逐项核账(以派生为例):残影块的「块大小」= 他块与 B0 的交 = λ(对偶平衡!);点 x ∈ B0 的入度 = 含 x 的他块数 = k − 1(原设计里 r = k,扣除 B0 本身);两残影点的相遇 = 原设计中该点对与 B0 之外其他块的同块数 = λ − 1?——不:原对账 λ 含 B0 一次,故他块贡献 λ − 1。重列:派生参数应为 (k, v−1, k−1, λ, λ−1)。验 Fano (7,3,1) 派生:(3, 6, 2, 1, 0)?λ′ = 0——退化为无对账结构(残影三点两两不同块……)实测:Fano 取 B0 = 123,他块截影:145↦1,167↦1,246↦2,257↦2,347↦3,356↦3——块 {1},{1},{2},{2},{3},{3}:重复块出现!λ′ = 0 且重复——派生在 λ = 1 的最小情形退化,恰提示派生参数公式的适用边界(k > λ 时残影才丰满)。残差则健康:Fano 残差 (4, 6, 3, 2, 1)?核:点集 X∖B0 = {4,…,7} 四点;他块去掉 B0 的交后:145↦45, 167↦67, 246↦46, 257↦57, 347↦47, 356↦56——六块、块块 2 点、每点 3 块、每对点恰 1 次——(4,6,3,2,1)?参数核账:r′ = k = 3 ✓,λ′ = λ = 1 ✓,C(4,2) = 6 对 × 1 = 6 块 × C(2,2) = 6 ✓。残差公式与实测一致。

图 2-3 Fano 的残差手术:拿走线 123 1 2 3 B0​ = 123(整体拿走) 4 5 6 7 8? 残差= 四点六块 (4,6,3,2,1)
图 2-3 残差手术示意:B0 整体摘除,他块截去与 B0 的交后落在剩下四点上——六块两两点,恰是一个完全图 K4 的六条「边块」。

本轮账目的教训。派生一栏最初写错(λ′ 记成 k−λ)、实测抓出(Fano 残影成重块)、公式修正为 λ′ = λ − 1——这一过程本身是本书方法论的一次现场示范:参数公式必须过小样本实测这道关。勘定后的标准结论:对称 (v,k,λ) 的派生为 (k, v−1, k−1, λ, λ−1)(要求 λ ≥ 2 才不平庸),残差为 (v−k, v−1, k, k−λ, λ);残差的补又是派生的……留给习题课理清这条繁殖链。

44讲义

第二章 对称设计与差集2.4 差集:一张表造一个设计

★★★ 本章的头号机床开进。差集把「构造一整个对称设计」压缩成「找一个 k 元子集」——参数从 v! 级别的搜索空间骤降到 C(v,k) 级别。

定义(差集)。设 D ⊆ ℤv(模 v 的剩余类加群)且 |D| = k。若每个非零剩余类恰可写成 d1 − d2(d1, d2 ∈ D)λ 次,则称 D 为 (v, k, λ)-差集。形式地:映射 (d1, d2) ↦ d1 − d2 把 D × D 里 k(k−1) 个有序对均匀分配到 v − 1 个非零类上。

从差集到设计。取 D 的全部 v 个平移 D + t = {d + t : d ∈ D}(t = 0, …, v−1)作为块,点集取 ℤv。这就是设计:每块 k 点(均匀);两点 x, y 同块的次数 = 使 x − t, y − t ∈ D 的 t 个数 = 使 d1 − d2 = x − y 的有序对数 = λ(差集条件!)。块数 v,自动对称。

定理(差集即对称设计)。D 是 (v,k,λ)-差集 ⟺ D 的全部平移构成 ℤv 上的对称 (v,k,λ)-设计(且该设计有一个 v 阶循环自同构 t ↦ t+1)。∎(⟸ 方向即上述核账;⟹ 方向见 §2.6)

最小战例。D = {0, 1, 3},v = 7:全部差 1−0=1, 3−0=3, 0−1=−1=6, 3−1=2, 0−3=−3=4, 1−3=−2=5——非零类 1..6 每类恰一次!平移出七块:

{0,1,3} {1,2,4} {2,3,5} {3,4,6} {4,5,0} {5,6,1} {6,0,2}

标号映射 0↦1, 1↦2, 2↦4, 3↦3, 4↦5, 5↦6, 6↦7 后逐一比对绪论的七线表——Fano 平面再次现身,这次是一张三数小表转出来的。一张 3×1 的表压缩了整个 7 点世界——这就是差集作为「机床」的压缩率。

图 2-4 差集的平移舞步:D = {0,1,3} 绕七点圆环 0 1 2 3 4 5 6 差 1·3·2·5 出自实线对 差 6·4 出自虚线对 六对 → 六个非零类 每类恰一次 ⇒ (7,3,1) 平移 7 次 → 七条线
图 2-4 D = {0,1,3} 在七点圆环上的三条弦:三条弦的六个有向差恰好铺满 1..6——一张表的全部工作。

为什么这是一台「机床」。对比两条构造路线:手工摆 Fano(第一章 §1.6 的账目锁死算法)要动用全部智力;差集路线只需在 35 个三元子集里找一个「差覆盖」——5 分钟的枚举。压缩率的来源:循环平移把「v 个块的内部结构一致性」打包成「一个子集的自洽性」,设计与设计之间的「相似」被加法群的平移自动保证。第三章的循环 Steiner 系、第六章的码字循环,都是同一台机床的变型。

45讲义

第二章 对称设计与差集2.5 Fano 平面与 (7,3,1):差集的第一课

★★ 本页把差集机床的第一次开机过程完整回放,并顺手解决一个分类问题:(7,3,1) 的差集共有几个?它们之间什么关系?

开机回放。目标 D ⊆ ℤ7、|D| = 3、差覆盖 1..6 各一次。枚举 C(7,3) = 35 个三元组?不必——用账目先压搜索空间:差 3 与差 4 互补(a−b = 3 ⟺ b−a = 4),差 1 与 6、2 与 5 同理;所以只需检查「正差」{1, 2, 3} 是否各能由一对 D 元素给出。不妨含 0(差集平移不变,可平移使 0 ∈ D)。剩两元素 a < b ∈ {1,…,6},需 {a, b, b−a, 7−a, 7−b, 7−(b−a)} 恰含 1..6 各一次(正差三对)。逐对试:a=1,b=3 → 差集 {1,3,2,6,4,5} ✓。a=1,b=2 → {1,2,1,…} 重差 ✗。a=2,b=3 → {2,3,1,5,4,6} ✓——D = {0,2,3}?验:2−0=2, 3−0=3, 3−2=1, 0−2=5, 0−3=4, 2−3=6 ✓!所以 {0,2,3} 也是差集——它与 {0,1,3} 是否本质相同?{0,1,3} 乘以 2(mod 7)得 {0,2,6},再平移 +4 得 {4,6,3},取负得 {3,5,6}……直接检验:{0,2,3} = −{0,4,5} = −(2·{0,2,6})… 用乘数 m=2 与平移把 {0,1,3} 变过去?2·D = {0,2,6};平移 +3 → {3,5,2} = {2,3,5} ≠ {0,2,3}。m=5:5D = {0,5,1};+2 → {2,0,3} = {0,2,3} ✓!故 {0,2,3} = 5·{0,1,3} + 2——同一个差集的乘数-平移变体(乘数在 §2.7 将升格为「乘子定理」的主角)。

分类小结。把 35 个三元组逐一过筛(或跑本章实验的程序),(7,3,1)-差集恰有 14 个,分成两个平移类:{0,1,3} 型与 {0,1,5} 型(各自 7 个平移)。两个类互为乘数像——例如乘 5 把 {0,1,3} 变为 {0,1,5}?细看:5·{0,1,3} = {0,5,15 mod 7} = {0,5,1} = {0,1,5} ✓。仿射群(平移×乘数,阶 42)作用在 14 个差集上恰好一个轨道:{0,1,3} 的稳定子含变换 x ↦ 2x + 1(验算:2·{0,1,3} + 1 = {1,3,7} = {0,1,3} ✓,且它生成 3 阶稳定子),轨道大小 42/3 = 14,与总数吻合——又一条群论核算与穷举计数互相咬合的账。

图 2-5 差集搜索的两步压缩 原始空间 C(7,3) = 35 个三元组 盲枚举 35 次 (可做,但不优雅) 压缩一:平移归零 不妨 0 ∈ D 剩 C(6,2) = 15 个候选 ÷7 的工作量 压缩二:正差对 只查 {1,2,3} 覆盖 手算两分钟 {0,1,3} 与变体 账目(对称、正差)把搜索空间切成一条缝——机床开机不需要蛮力
图 2-5 从 35 到 2:两条账目压缩让差集搜索成为手算题。压缩思想将在乘子定理处再次发力。

与第一章的对接。差集造出的设计自动有 168 阶自同构群吗?——它至少有 7 阶循环群(平移);完整 168 需要乘数-线性变换补全(GL(3,2) 的第二、第三生成元)。这一「差集给出循环子群、乘数补足全群」的模式,正是 §2.7 乘子定理的舞台:乘数是差集的隐藏对称,而定理能把它们从参数里算出来。

46 讲义

第二章 对称设计与差集2.6 循环差集的基本性质

★★★ 本页把差集的代数骨架立起来:特征函数、群环、以及「⟹ 方向」——对称设计何时必有循环差集表示。

特征函数与自相关。把差集 D 写成 0-1 函数 f : ℤv → {0,1}(f(x) = 1 ⟺ x ∈ D)。差集条件翻译成一句:自相关为常数

Σt f(t)f(t + u) = λ (对每个 u ≠ 0), Σt f(t)2 = k (u = 0).

左边按 t 数「D 的点对相距 u」的个数——与定义逐字吻合。自相关恒定(除峰外是平地)的 0-1 序列,在信号处理里叫最优序列;雷达、CDMA 通信里真金白银地用着 Singer 差集(§2.10)造出的序列。纯数学的对象在工程里领工资——这条伏笔综合站再收。

平移与乘数。若 D 是 (v,k,λ)-差集,则:① 平移 D + t 仍是差集(差的差不变);② 乘 m(gcd(m, v) = 1)仍是差集:mD 的差 m(d1−d2) 遍历非零类各 λ 次(m 是 ℤv 的自同构)。由此,差集的族在「仿射群」x ↦ mx + t(共 v·φ(v) 个元素)作用下分轨;本质差集按此群的轨道计数。Fano:本质差集 1 个(§2.5)。

⟹ 方向:设计的循环性。定理(§2.4 的补全):若对称 (v,k,λ)-设计拥有一个正则自同构(在 v 个点上单传递的循环群),则取该群生成元的轨道编号为 ℤv,任取一块 B0,D = B0 的编号集即差集。证明三行:块的平移像 = 群作用下的块轨道(正则性给出 v 个块 = v 个平移);两点同块次数 = 相对位移出现的次数 = λ。∎ 所以「循环对称设计」与「差集」是同一枚硬币:差集 = 有循环自同构的对称设计。不是每个对称设计都循环(存在非循环的 (16,6,2) 等),但循环者已构成最大的已知家族。

图 2-6 同一枚硬币的两面 设计语言 对称 (v,k,λ) + 循环自同构 v 个块 = 一个块的轨道 几何的、整体的 差集语言 0-1 序列自相关恒 λ 一个 k 元子集的差覆盖 数论的、局部的 交换公式:块轨道的「相对位移」↔ 差的覆盖次数
图 2-6 设计语言与差集语言互相翻译:循环性是翻译的通行证。两种语言各配一套工具(几何 vs 数论)。

性质速记表。① |D| = k,差总数 k(k−1) = λ(v−1)(乘积方程再现);② 平移、互素乘数、取补(补差集对应补设计,参数 (v, v−k, v−2k+λ)——须 v−2k+λ > 0)都保持差集身份;③ 若 D 与 E 是差集且 D = E + t,称等价;本质分类 = 仿射轨道;④ 差集的「凯莱表」读法:把 v−1 个非零类排成行、D 的有序对排成列,覆盖表必须每行恰 λ——这张表就是实验页的验算器。

47讲义

第二章 对称设计与差集2.7 乘子定理(初版)

★★★★ 乘数是差集的隐藏对称;乘子定理则是一座「反推机器」:给定参数,直接算出必有哪个乘数——从而把差集的存在性与其算术结构锁死。本页给初版定理与证明,它是本书唯一一处需要一点「数论重炮」的地方。

定义(乘子)。整数 m(gcd(m, v) = 1)称为差集 D 的乘子,若 mD = D + t 对某个平移 t 成立(即 mD 与 D 同一平移类)。全体乘子构成乘法群,记 𝔐。

初版乘子定理(Bruck–Chowla–Hall, 1953)。设 D 是 (v,k,λ)-差集,n = k − λ。若素数 p 满足:p ∤ v、p | n、且 p > λ,则 p 是 D 的乘子。

证明思路(要害两步)。① 群环的语言:把 D 写进群环 ℤ[ℤv] 为 D(x) = Σd∈D xd,差集条件缩写成一行 D(x)D(x−1) = n + λT(x),其中 T = 1 + x + ⋯ + xv−1 是全和元。② 模 p 消元:p | n 时,模 p 后 D(x)D(x−1) ≡ λT(x)。对哈数(自共轭)分析可得:在模 p 的群环里 D(x)D(x−1) 的「非 T 部分」为零——由此构造多项式恒等式,再用「p > λ」保证 λ·(适当单位群元素) 在模 p 下不被吞掉,推出 D(xp) ≡ xtD(x) (mod p),最后由系数的 0-1 有界性(系数差 ≤ k < p 的论证)把同余升级为等式 mD = D + t 的整式版本。完整证明约两页(本章不铺开,参考文献指引见速查页);本页把两处「要害」解剖清楚:

要害一:为什么条件是 p | n = k − λ?——肖像方程 NNT = nI + λJ 里,n 是「区分度」;p | n 意味着模 p 后设计退化为「几乎完全」的形态,差集随之被迫进入稳定位置。要害二:为什么要求 p > λ?——同余升级等式的那一步需要系数差的绝对值小于 p(0-1 函数的差只能取 −1, 0, 1,安全余量来自 λ 层叠加),λ 是这道保险的保费。

图 2-7 乘子定理:参数直接「吐出」对称 投入:三个数 素数 p:p ∤ v,p | (k−λ),p > λ 不需要知道 D 本身! 纯参数的「预言机」 产出:一条对称 p 是乘子:pD = D + t 差集被迫在 p-轨道上 搜索空间再砍一刀 用法:先用乘子把 D 的形状逼进少数轨道,再逐一试装
图 2-7 乘子定理的用法:不看设计本体、只看参数,就能预言它的对称——然后利用这条对称去搜索它。

战例一:(11,5,2)。n = 3,p = 3:3 ∤ 11 ✓、3 | 3 ✓、3 > 2 ✓ ⟹ 3 是乘子。于是任何 (11,5,2)-差集 D 可平移成 3D = D,即 D 分解成 ℤ11 中乘 3 的轨道:{0} ∪ {±1,±3,±4,±5,±9}…乘 3 的非零轨道是 {1,3,9,5,4}(循环)与其负 {2,6,7,10,8}——两个 5 元轨道!D 必是其中之一。检验 {1,3,5,9,4}:差 2,4,8,5,1?(1→3 差 2, 3→9 差 6, 9→5 差 7, 5→4 差 10, 4→1 差 8 …穷举 20 个有序差)——本章实验将程序确认 {1,3,4,5,9} 正是 (11,5,2) 差集。乘子把 165 个候选砍到 2 个。

战例二:(29,8,2) 的先手。n = 6,p = 2:2 ∤ 29 ✓、2 | 6 ✓、但 2 > 2 ✗(p = λ 不满足严格大于)——初版定理恰好差一口气!(29,8,2) 的拦截不靠乘子,而靠更强的 BRC 定理(§2.11–2.12);这一「差一口气」正是两大定理分工的注脚:乘子管结构,BRC 管生死。

48讲义

第二章 对称设计与差集2.8 有限域备览

★★★ Singer 构造的主角是有限域。本页把全书要用的有限域事实备齐——六件套,都是「能用就行」的深度。

① 存在唯一。对每个素数幂 q = pe 恰有(同构意义下)一个 q 元域,记 𝔽q;它的加法群是 (ℤp)e,乘法群 𝔽q× 是 q − 1 阶循环群(关键是存在本原元 α:非零元 = α0, α1, …, αq−2)。素数幂之外的阶没有域(p6 之外,6 元域不存在)。

② 子域。𝔽q 有子域 𝔽p′ ⟺ p′ = pf 且 f | e。乘法群的子群都循环——这条将用于差集的「分圆」构造。

③ 迹与范数。定义 Tr : 𝔽q → 𝔽p,Tr(z) = z + zp + ⋯ + zpe−1;它是满的线性映射,且 Tr(z + w) = Tr(z) + Tr(w)。迹是「把域压回素域」的标准管子,Singer 差集正由迹的零点集拧成。

④ 乘法特征。映射 χ : 𝔽q× → {±1}(乘法同态)称乘法特征;规定 χ(0) = 0。二次特征 χ2(z) = z(q−1)/2(欧拉判别)把非零平方数映 1、非平方数映 −1。特征和 Σ χ2(z)χ2(z + 1) = −1(q 偶时 0)——这条「雅可比和」将在 BRC 证明里客串。

⑤ 阶乘的 p-adic 截尾——不用;跳过。⑤′ 求和几何级数。Σj=0q−1 αj = 0(α ≠ 1 的几何级数);全和元 T = Σ αj 在群环里满足 T2 = qT——Singer 论证的润滑剂。

⑥ 一次式的均匀性。对 a ≠ 0,映射 x ↦ ax + b 是 𝔽q 的置换(仿射群 AGL(1,q)),差集与乘数的全部论证在素域上的版本自动推广到任意 𝔽q——注意循环差集要求 v 素吗?不:v = q2 + q + 1 对 q = 4 是 21,ℤ21 不是域也不是群 ℤ⁎……Singer 差集的「循环」来自乘法群 𝔽q3× 的循环性(q3 − 1 = (q−1)(q2+q+1),取 v 阶子群),而非 ℤv 的加法——这是 §2.10 的精妙处,此处先把「乘法群循环」记牢。

图 2-8 𝔽8​ 的一张快照(q = 23​) 加法侧:ℤ2​3​ 8 个元素 = 3 位向量 加法 = 逐位异或 7 个非零点 → Fano! 乘法侧:C7​ 非零元 = α0​…α6​ 循环群 7 阶 指数 → ℤ7​ 的标号 一张域,两套群:加法群给「点」,乘法循环给「圈」——Singer 的双人舞
图 2-8 𝔽8 加法侧的七个非零元恰是 Fano 平面的七个点(每条和线 {u,v,u+v}),乘法侧的 7 阶循环给出差集的圆环——有限域是两套结构的合租公寓。

即查即用。① 𝔽9 的乘法群几阶?(8,循环)② 𝔽4 ⊂ 𝔽16?(4 = 22, 16 = 24, 2 | 4 ✓ 是);③ Tr : 𝔽4 → 𝔽2 的取值分布?(每值恰 2 次——迹是满射);④ χ2 在 𝔽7 上:1,1,−1,1,−1,−1(平方数 1,2,4)——与 Legendre 符号逐位一致。六件套过关,下一页的射影空间就能顺利开工。

49讲义

第二章 对称设计与差集2.9 射影平面 PG(2,q)

★★★ 现在几何登场。本页定义射影平面、验算它的设计参数、并与对称设计的序列对上号——几何从此成为差集的「厂家」。

定义(射影平面)。PG(2, q):点 = 𝔽q3 的非零向量按「相差一个非零倍数」归并成的等价类(记 [a, b, c]);线 = 非零线性方程 ax + by + cz = 0 的解点类。点 P 在线 L 上即 L 的方程被 P 的代表满足。类似地定义对偶(线换成点)。

参数验算。① 点数:非零向量 q3 − 1 个,每个等价类 q − 1 个代表,共 (q3 − 1)/(q − 1) = q2 + q + 1 点。② 每线点数:一次方程 ax + by = −cz 的解是二维子空间(过原点的平面)减去原点,共 (q2 − 1)/(q − 1) = q + 1 点。③ 点对定线:两个代表向量的张成是唯一的二维子空间 → 过任意两点恰一条线。④ 线数:与非零方程对 (a,b,c) 一一对应(差非零倍数的方程同线),也是 q2 + q + 1 条;两线恰交一点(对偶的验算)。⑤ 每点线数 q + 1。汇成参数:PG(2, q) 是对称 (q2 + q + 1, q + 1, 1)-设计——λ = 1 的对称设计,射影平面的公理与设计的平衡在此逐字互译:「两点定一线」=「点对账 λ = 1」,「两线交一点」=「块交账 λ = 1」。

序列对号。λ = 1 的对称参数表(§2.1):v = k2 − k + 1,k = q + 1 ⟹ v = (q+1)2 − (q+1) + 1 = q2 + q + 1——λ = 1 的对称设计参数恰是射影平面。于是出现一个深刻问题:参数满足 v = k2 − k + 1 的对称设计,一定是 PG(2,q) 吗?——这个问题叫「射影平面问题」,(43,7,1)(q = 6 的参数)将由 BRC 判死:q = 6 非素数幂,平面不存在,而参数本身无法区分。设计的账目看得见算术,看不见几何——两界的这条缝隙,正是 §2.10 Singer 定理与 §2.11 BRC 的分工线。

图 2-9 PG(2,2) = Fano:参数逐项对号 [1,0,0] [0,1,0] [0,0,1] [0,1,1] [1,0,1] [1,1,0] [1,1,1] 点 = 一维子空间 线 = 二维子空间 q2​+q+1 = 7 点 每线 q+1 = 3 点 对账 λ = 1
图 2-9 PG(2,2) 的七个点(三元域向量的等价类)——设计语言与射影几何在这里互相说出同一句话。

仿射平面捎带一笔。PG(2,q) 拿掉一条线(及其上的点)得到仿射平面 AG(2,q):q2 个点、q2 + q 条线、平行类结构出现——它同时是 (q2, q, 1)-仿射设计(每对点恰一线)与第四章 MOLS 等价定理的另一端。第三章的可分解设计(平行类)与第四章的正交拉丁方,都以 AG 为几何底座;本页先立此存照。

50讲义

第二章 对称设计与差集2.10 Singer 定理:平面皆有差集

★★★★ 本章的皇冠页。Singer(1938)证明:每张 PG(2,q) 都有一个 q2 + q + 1 阶单传递自同构群——从而每个射影平面(至少在其「Desargues 型」上)都对应一个差集。构造只用一页线性代数。

构造。取 𝔽q3(三次扩张),它是 𝔽q 上的三维向量空间——𝔽q3 的一维 𝔽q-子空间 = PG(2,q) 的点,二维子空间 = 线。取本原元 α(乘法群生成元,阶 q3 − 1),令 v = q2 + q + 1(注意 αv 的次数:α 的任何非平凡幂不在 𝔽q 里除非指数是 v 的倍数——由 q3 − 1 = v(q − 1))。考察循环群 ⟨αv⟩?——更直接:考察商群 𝔽q3×/𝔽q×,阶 (q3−1)/(q−1) = v,它是循环群(循环群的商仍循环),取生成元 β = α mod 标量。⟨β⟩ 就是 Singer 循环:v 个元素,在 v 个点上单传递(任何非零向量乘适当的 βi 进入任何指定的一维子空间——标量自由恰好吸收)。

差集的拧出。固定线 L0 = 𝔽q(基域自身作为二维子空间?取 L0 = {x : Tr(x) = 0} 更顺手——迹为零的二维 𝔽q-子空间)。定义 D = {i ∈ {0, …, v−1} : βi ∈ L0 的代表类}。则:

D 是 (q2 + q + 1, q + 1, 1)-差集。

验算要点。① |D| = q + 1:L0 含 (q2 − 1)/(q − 1) = q + 1 个点,Singer 循环单传递地送它们进 L0 一次。② 差覆盖:给定点对 {P, Q},唯一线 L 过它们;需证恰有一对 (i, j) 使 βi ∼ P、βj ∼ Q 且 i − j ≡ u(固定 u)……精确论证:两点相对位移 u ∈ ℤv 对应 βu 的一个陪集;两点与 u 同线 ⟺ β−jP 与 β−jQ 相对位移 u 且同线 ⟺ Q/P 型比落在指定陪集——由单传递性每对 (P, Q) 恰有一次。∎(完整版把「恰好一次」拆成陪集计数,本章实验用程序对 q = 2、3 全量复核。)

战果清点。q = 2:PG(2,2) = Fano,Singer 循环阶 7,差集即 (7,3,1)——第一章的常驻嘉宾终于有了出厂编号;q = 3:(13,4,1),§2.9 已预告;q = 4:(21,5,1)——第三章 Witt 设计 S(2,5,21) 的循环实现;q = 5:(31,6,1)……λ = 1 的对称设计整行由 Singer 机床包干(q 素数幂者)。

图 2-10 Singer 传送带:域 → 空间 → 循环 → 差集 𝔽q3​​ 三维域上空间 一维子空间=点 本原元 α PG(2,q) v = q2​+q+1 点 线=二维子空间 几何公理成立 Singer 循环 𝔽^×/𝔽_q^× 阶 v 单传递自同构 设计转起来 差集 D L0​ 的指数集 (v, q+1, 1) 一张表 四站传送:每站只做一步;到站取货——λ = 1 对称设计的全行供给
图 2-10 Singer 传送带四站:扩张域给空间,子空间给几何,商循环给单传递群,固定线的指数表给差集。

历史的注脚。Singer 的原始动机来自几何(他称这循环群为「平面的大平移」),组合学家立刻认出差集;半个世纪后工程师在扩频通信里用同一构造生成伪随机序列——一条定理三个饭碗。Singer 循环在本书还有一次返场:第五章的 Witt 设计 S(3,6,22) 派生自 (21,5,1),而第六章 Golay 码的循环自同构同样住在循环差集的屋檐下。

51讲义

第二章 对称设计与差集2.11 Bruck–Ryser–Chowla 定理

★★★★★ 拦截派的主炮上场。BRC 定理用初等数论——二次型、无穷递降——证明一批对称设计参数永远无解。本页陈述并给出 ν 偶情形的完整证明;ν 奇情形给思想与文献。

记号。对称 (v,k,λ) 记 n = k − λ(「阶」);ν = v 若 v 偶,ν = v + 1 若 v 奇(人为凑偶,理由见下)。

定理(BRC,1950)。若对称 (v,k,λ)-设计存在,则:
(a)当 v 为偶数:n = k − λ 必是整数平方;
(b)当 v 为奇数:不定方程 z2 = n·x2 + (−1)(v−1)/2·λ·y2 必有不全为零的整数解 (x, y, z)。

证明思想(两页证明的骨架)。第一步「代数化」:设 N 是关联方阵,则 NNT = nI + λJ,且 det N = ±k·n(v−1)/2(习题 1-7 的公式)。N 是整系数可逆方阵——把标准基 ℤv 经 NT 线性替换后,标准平方和 x12 + ⋯ + xv2 变成格 Λ 上的整系数二次型 Q,且 Q 与平方和在 ℚ 上等价(可逆有理替换互渡)。第二步「类型的计算」:Q 的行列式 = (det N)2 = k2·nv−1;把 Q 对角化到「对角+全 1」的标准形(肖像方程的二次型读法),再用两个经典事实——平方和经正交有理变换仍「整体等价于自身」、以及 Lagrange 四方数定理的现代版(二次型的同余表示)——算出 Q 的「局部类型」:在每个素数 p 处,Q 能否表示 0(非平凡零向量)由 n 与 (−1)(v−1)/2λ 的平方剩余性逐字决定。第三步「递降收网」:若 v 偶而 n 非平方,则某素数 p 的奇次幂卡在 n 里,Q 在 p 处的类型与「设计要求它表示的整向量」矛盾——矛盾以无穷递降的形式兑现:非平凡整零向量若存在,可构造严格更小的;递降无底 ⟹ 不存在。v 奇情形的方程 z2 = n x2 ± λ y2 正是「Q 在 ℚ 上表示 0」的初等形式(两边除以 y2 化为斜率方程)。∎(完整两页证明与历史文献见速查页指引;本章实验对若干参数程序化核验方程可解性。)

为什么凑 ν。v 偶时方程(a)无 y、z 自由度,最锋利;v 奇时(b)总有一个「平凡解」风险(x = 1, y = 0, z2 = n——n 是平方即过),凑 ν = v + 1 正是为了把 v 奇情形与「模 4 的符号」接上:v ≡ 1, 3 (mod 4) 的符号相反,三次互反的影子在方程里晃动——这正是数论「局部—整体」原则的一次组合学客串。

BRC 的两句话总结。① v 偶:k − λ 必须是平方数——一条纯算术的死令;② v 奇:一个三元二次方程必须可解——可解性由 Legendre 符号与递降裁决。它拦的是参数,不需要看设计内部——与乘子定理同一哲学:数论先于构造发言。

52讲义

第二章 对称设计与差集2.12 BRC 的战果:(29,8,2) 拦截战

★★★★ 定理当炮弹,参数当靶子。本页实弹射击三发:(21,6,1)、(29,8,2)、(43,7,1),并复盘「差一口气」的战术细节。

靶一:(22,7,2)——条款(a)的战果。v = 22 偶,n = k − λ = 5。条款(a)要求 n 是整数平方——5 不是平方数,当庭拦截:对称 (22,7,2)-设计不存在。这一发甚至不需要写方程:(a)条款是纯算术的死令。它也教我们读表:§2.1 的参数表里 (22,7,2) 过了可除性两道门(r = 7、b = 22 皆整数),却在 BRC 面前倒下——三道门之外还有第四道,账目越深,出局越早。

靶二:(29,8,2)——本章主角。v = 29 奇,λ = 2,n = k − λ = 6。方程(b):z2 = 6x2 + (−1)14·2·y2 = 6x2 + 2y2。要证无解——且看无穷递降的完整演出:
① 模 3:z2 ≡ 2y2 (mod 3)。平方数 mod 3 ∈ {0, 1}:若 3 ∤ y 则 z2 ≡ 2 ✗(2 非平方),故 3 | y,随之 3 | z。② 约去 9?——先记录:3 | y, 3 | z。代回:z = 3z1, y = 3y1:9z12 = 6x2 + 18y12,即 3z12 = 2x2 + 6y12。③ 再模 3:0 ≡ 2x2 (mod 3) ⟹ 3 | x,随之 3 | z1。④ 设 x = 3x1, z1 = 3z2:9z22·3?…… 系统:每轮递降把 x, y, z 各剥掉一层 3,产生更小的解——若非零解存在,则无限递降,与最小正解矛盾。∎ (29,8,2) 永远不存在。(注意递降的燃料正是「2 非平方 mod 3」——欧拉判别的一次精确打击。)

靶三:(43,7,1)。v = 43 奇,n = 6,λ = 1。方程:z2 = 6x2 + (−1)21·y2 = 6x2 − y2。有解?x = 1, y = 1: 5 ✗;x = 1, y = 2: 2 ✗;x = 2, y = 1: 23 ✗;x = 1, y = 5: −19 ✗……但 BRC 要的是「存在」还是「不存在」?模 8 检验:6x2 − y2 mod 8,x 奇时 6·1 = 6,y 奇时 −1 ≡ 7:6 − 1 = 5、6 − 0 = 6、0 − 1 = 7、0 − 0 = 0——平方 mod 8 ∈ {0,1,4}:只有 0 可达 ⟹ x, y 皆偶,z 偶——递降!8 | 一切 ⟹ 无非平凡解 ⟹ BRC 拦截 (43,7,1)。而它的参数恰是 q = 6 的「射影平面」——6 非素数幂,BRC 与「平面不存在」在此互相印证(数学史上这是 BRC 的成名战:Bruck 与 Ryser 1949 拦下 q = 6,终结了欧拉 36 军官之外又一层迷雾;但注意——(43,7,1) 被拦的是「设计」,q = 6 平面被拦的是「几何」,两者同参数不同命题,互为表里)。

图 2-11 BRC 三连射 (21,6,1) z2​ = 5x2​ + y2​ (1,2,3) 过关 放行(存在另议) (29,8,2) z2​ = 6x2​ + 2y2​ mod 3 无穷递降 拦截:永不存在 (43,7,1) z2​ = 6x2​ − y2​ mod 8 递降 拦截:q=6 无平面 拦截的燃料都是同一句:某个非平方数被逼着当平方数
图 2-11 三连射战报:一放两拦。放行 ≠ 存在(BRC 是必要条件);拦截 = 永不存在(BRC 的裁决是终审)。

BRC 的局限清单。① 只管对称设计(非对称 BIBD 另有推广但弱得多);② v 奇情形的方程有解只说明「BRC 不拦」,存在与否仍未决——(41, 7, 2)?(51, 7, 2)?若干「BRC 放行但存亡未知」的参数挂到今天;③ v 偶情形的平方要求也是单向的——n 是平方也不保证存在((16,6,2) 存在而某些平方参数存亡不明)。拦截者的地图上,灰区永远比黑白多——这正是 Keevash 大定理(第五章末)如此震撼的原因:它把「灰区」的一半一次性涂成了绿色(足够大的 v)。

53讲义

第二章 对称设计与差集2.13 Hadamard 矩阵与 Hadamard 设计

★★★★ 本页把三种语言——方阵、设计、差集——焊在一处。Hadamard 矩阵是「取值 ±1 的极端正交」,它与对称设计的换算几乎是免费的。

定义(Hadamard 矩阵)。n 阶方阵 H,元素全为 ±1,且满足 HHT = nI(行两两正交),称 Hadamard 矩阵。显然 n = 1, 2 或 n ≡ 0 (mod 4) 时才可能(三行正交的 ±1 向量长度须被 4 整除——小账:两行前三位不全同的 ±1 向量,内积被 4 步进)。Hadamard 猜想:一切 4 的倍数阶都存在——已知到 668 阶为止全部成立,一般情形悬而未决。

标准化。行、列置换与「某行变号」不改变 Hadamard 性;用这些操作可把第一行、第一列全调成 +1(标准化)。标准化后删去第一行、第一列,再把 +1 换 0、−1 换 1,得到的 (n − 1) × (n − 1) 0-1 矩阵记 A。核心核算:任取 A 的两行,它们来自 H 的两行(都只在第一列同号 +1):原内积 0 = 1 + (A 两行的 0-1 内积改造)……直接算:把 ±1 版记 B = 2A − J(去首列后的子块),正交条件给 BBT = nI − J(n 阶时 HHT = nI,削去首行首列的代数)。翻译成设计的账:

定理(Hadamard ↔ 对称设计)。标准化 n 阶 Hadamard 矩阵 ⟹ (4m − 1, 2m − 1, m − 1)-对称设计(m ≥ 2),其中 n = 4m。反向:该设计补上「全 +1」的行与列即回 Hadamard 矩阵。∎

验算最小的 m。m = 2:n = 8,设计参数 (7, 3, 1)——又是 Fano!八阶 Hadamard 矩阵削一刀就是 Fano 平面。m = 3:(11, 5, 2)——差集机床的战例。m = 4:(15, 7, 3)。Hadamard 族与 λ = m − 1 的对称设计整族等价。

再拧一刀到差集。Hadamard 型 (4m−1, 2m−1, m−1) 满足 v = 4u − 1, k = 2u − 1, λ = u − 1(u = m),补设计参数 (4m−1, 2m, m)——补设计对应「Hadamard 3-设计」:4m 点、块 2m 点、任意三点同块 m 次(第三章习题课验证 3-重账)。一条链浮出水面:矩阵(正交)→ 对称设计(双账)→ 3-设计(三账)——账本每加厚一重,等价链就往回拉一格。第五章的 5-设计宏构,正是这条链的远端。

图 2-12 Hadamard 换算流水线 H(n = 4m 阶) ±1,行行正交 HHT​ = nI 标准化 削首行首列 +1↦0,−1↦1 A:(4m−1)2​ 0-1 表 BBT​ = nI − J 对称设计 (4m−1, 2m−1, m−1) 补:(4m−1, 2m, m) → 3-设计 m=2 即 Fano 矩阵的正交 ⟺ 设计的双账 ⟺ (补的)三账:一链三环
图 2-12 Hadamard 流水线:正交矩阵削一刀变对称设计,补一刀变 3-设计;Fano 与 (11,5,2) 都在这条流水线上。

谁在造 Hadamard 矩阵。已知构造全部依赖设计:① Paley 构造——用二次剩余特征 χ2 直接拧出 q ≡ 3 (mod 4) 的 (q+1) 阶矩阵(§2.8 的特征⑥当场领工资);② Sylvester 塔式构造——H⊗H 翻倍(2, 4, 8, 16…);③ Williamson 型——四块循环阵拼装。三者都通向差集或循环结构:Hadamard 猜想的每一步推进,背后都是一张新的差集账单。

54讲义

第二章 对称设计与差集2.14 差族与循环设计

★★★ 差集要求 v 个平移全部入列;若只取一部分平移,平衡会掉吗?——把「一张表」升级为「一叠表」:差族,BIBD 的循环构造机。

定义(差族)。设 D1, …, Ds ⊆ ℤv,大小 |Di| = ki。若每个非零剩余类被「差 d − d′(同族内)」恰覆盖 λ 次,则称 {Di} 为 (v; k1, …, ks; λ)-差族。取全部 v 个平移的所有 Di + t 作块,得 (v, b, r, k 不一定等, λ) 的循环 BIBD(ki 全相等时均匀)。

对账一次。块数 b = v·s;每点入度:r = Σ|Di|(每个点在 Σki 个族的平移里各恰一次——平移把点扫过全圆);对账由差族条件直接给 λ。恒等式 I 核验:bk = v·s·k vs vr = v·Σki = v·s·k ✓(ki 全等 k 时)。差总数条件:Σki(ki − 1) = λ(v − 1)——「多张小表的差账合并平账」。

差族的优势。① 块大小可变:ki 不必一致——这给了「混合块大小」设计的构造通道(强部分平衡设计的近亲,§4.12 回访);② 参数灵活:很多差集无解的参数,差族有解(例如 (9, 12, 4, 3, 1):第一章实验的两个同构类之一就是循环差族 {0,1,3},{0,2,5}?——留给实验核验);③ 搜索更容易:每张表更小,回溯树的深度骤降。

战例:循环 STS。λ = 1、k = 3 的差族就是第三章「基差族」的雏形:Σki(ki−1) = 6s = v − 1,即 v = 6s + 1——正好是 v ≡ 1 (mod 6) 的一半参数(另半 v ≡ 3 mod 6 需要非循环技巧)。差族把第三章的存在性定理「抄了近道」:v = 13 时 s = 2,两张三元表(§3.5 的 {0,1,4} 与 {0,2,7}——绪论已预告差覆盖 1..6 各一次)合成一个循环 STS(13)。

图 2-13 差集 → 差族:从一张表到一叠表 差集(一张表) D 的差覆盖非零类各 λ 次 产出:对称设计(b = v) 条件最苛刻 差族(一叠表) D1​…D_s 的差合计覆盖各 λ 次 产出:循环 BIBD(b = v·s) 块大小可变、参数灵活 差账合并平账:Σ kᵢ(kᵢ−1) = λ(v−1) —— 第三章基差族的预演
图 2-13 差族是差集的松绑版:多张小表分担差账,换来参数与块大小的自由;循环 STS(13) 的两张表是标准战例。

与乘子的互动。乘子定理有差族版本(p | λ 时 p 是「差乘子」的变体),但条件更微妙;本章止步于差集版(§2.7),差族的乘子理论进阶留给文献。下一页的参数表搜索将演示:差族条件如何把「可能的循环 BIBD」压成一张短清单——这正是第三章循环构造的程序化前奏。

55讲义

第二章 对称设计与差集2.15 对称设计的参数表搜索

★★★★ 装备齐了:可除性筛(第一章)、Fisher、乘子定理、BRC、Hadamard 等价、Singer 存在性。本页把它们串成一条流水线,对 λ ≤ 3、v ≤ 100 的对称参数做一次「全景体检」,并清点每个参数的最终身份:存在 / 不存在 / 悬而未决。

流水线四站。① 算术门:v = 1 + k(k−1)/λ 整数且 v > k;r、b 整数(对称时自动)。② BRC 门:v 偶查 n = k − λ 是否平方;v 奇查方程 z2 = nx2 + (−1)(v−1)/2λy2 可解性(程序枚举小解)。③ 已知构造对号:λ = 1 且 k = q + 1(q 素数幂)→ Singer ✓;(4m−1, 2m−1, m−1) 型 → Hadamard/Paley ✓(Hadamard 猜想覆盖全部 4m 阶)。④ 文献清点:以上都未覆盖的,查已知结果定案或挂「未知」。

(v,k,λ)①算术②BRC身份
(7,3,1)✓—Fano,存在
(11,5,2)✓放行存在(乘子战例)
(13,4,1)✓—PG(2,3),存在
(15,7,3)✓—Hadamard(m=4),存在
(16,6,2)✓n=4 平方 ✓存在(非循环例)
(19,9,4)✓—Hadamard(m=5),存在
(21,5,1)✓—Singer q=4,存在
(22,7,2)✓拦截(a)不存在
(37,9,2)✓放行双平面,存在
(29,8,2)✓拦截(b)不存在
(31,6,1)✓—Singer q=5,存在
(43,7,1)✓拦截(b)不存在(q=6 无平面)
(46,10,2)?✓拦截(a):n=8 非平方不存在
(57,8,1)?✓放行未知!(q=7 无关;平面问题)

表里的两处风景。其一:(57,8,1)——参数看似普通,BRC 放行、Singer 不适用(7 = q+1 需 q = 6 非素数幂——注意别与 q = 7 混淆),存亡至今未知,是对称设计存在性理论最著名的悬案之一(它也是「非 Desargues 平面不存在时」的天然靶标)。其二:(16,6,2)——存在但不循环(已证无 (16,6,2) 差集):差集机床并非万能,循环性是真实的额外结构。

图 2-14 参数身份的三色地图 绿色(存在):Singer 包干 λ=1 的素数幂行;Hadamard 包干 (4m−1,2m−1,m−1);乘子与搜索补零头 Keevash(2014)预告:v 足够大时绿区自动扩张——第五章收尾 红色(不存在):BRC 拦截(22,7,2)、(29,8,2)、(43,7,1)、(46,10,2)…;q=6 的一切 灰区(未知):(57,8,1) 领衔——BRC 放行、构造未至、研究进行中
图 2-14 体检流水线的三色输出:绿靠构造定理,红靠数论拦截,灰区是这门学科仍然年轻的证据。

方法论清点。本页的流水线是全书「账目思维」的集中操演:每道门只看参数不看结构,门与门之间互不重复。任何一组新参数送进这条流水线,都应在五分钟内报出颜色。下一页方法论总表收束全章。

56讲义

第二章 对称设计与差集2.16 方法论:构造者的工具箱

★★★ 本章收束页。把构造派与拦截派的全部武器入箱编号,并预告它们在后续各章的转岗。

#工具一句话原理转岗去向
T1乘子定理p | (k−λ) 且 p > λ、p ∤ v ⟹ p 是乘子第三章循环 STS 的乘子筛
T2差集/差族自相关恒定 ⟺ 循环平移成设计基差族(§3.4)
T3Singer 构造𝔽q3 的商循环单传递 ⟹ (q2+q+1, q+1, 1)AG(3,2) 与 S(3,4,8)(§5.6)
T4Paley 构造二次特征 χ2 拧 Hadamard第四章有限域 MOLS 同源
T5BRC 定理n 的平方性 / 三元二次方程可解性第五章 R–W 不等式的先声
T6Hadamard 等价正交阵 ⟷ 对称设计 ⟷ 3-设计第六章码的正交阵语言
T7对偶/派生/残差点块互换、切一刀Witt 家族的生成术(§5.7–5.8)

构造者的工作流。① 参数过四门(算术、可除、Fisher、BRC)——不生即弃;② 查等价族(Singer / Hadamard / 补派生)——挂靠已知;③ 乘子压缩轨道——把搜索空间切窄;④ 程序回溯差集/差族——小参数内直接拿货;⑤ 大参数转构递归(复制、粘合——第三章主讲)。这条工作流在纸面上五步,实战里循环往复;本章实验将完整走一遍 (11,5,2) 与 (21,5,1)。

图 2-15 构造者的五步工作流 ① 参数 四门体检 ② 等价族 Singer·Had·补 ③ 乘子 压缩轨道 ④ 回溯 差集/差族 ⑤ 递归 复制·粘合·派生 拦截者的对应流程:同样的四门体检,走到 BRC 即举红牌 同一条流水线,绿牌与红牌各取所需——设计学的两班倒
图 2-15 五步工作流:体检、挂靠、压缩、回溯、递归。第三章的女生散步全案将把每一步走到实地。

一句话收束本章。对称设计是 Fisher 等号上的紧平衡;差集把这种紧平衡压进一张循环的表;数论(乘子、BRC)则在表外立起拦截线——构造与拦截共用同一套账目,胜负只在参数的算术里。带着这只工具箱,下一章去攻 λ = 1 的山头:Steiner 三元系与那道散步了一百二十一年的女生题。

57例题

第二章 对称设计与差集例题一:对称设计的对偶核账

题目。设 𝒟 是对称 (v,k,λ)-设计。证明:𝒟 的补设计 𝒟c 也是对称设计,且 (𝒟c)T = (𝒟T)c;再对 Fano 完整写出补设计的七个块并验证块交 λc。

解。第一步:参数。补设计参数 (v, b, b−r, v−k, b−2r+λ)(§1.14)。代入 b = v、r = k:(v, v, v − k, v − k, v − 2k + λ)——b = v 保持,对称性保持 ✓。用乘积方程核 λc 的对偶平衡:由 §2.2 的对偶定理直接给(补设计的关联矩阵 J − N,转置 (J − N)T = J − NT——补与对偶两个算子交换)∎ 第一问收工。

第二步:Fano 的补设计。原七线 123, 145, 167, 246, 257, 347, 356;补块 = 每线换成四点补集:

4567, 2367, 2345, 1357, 1346, 1256, 1247.

核账:每块 4 点 ✓;每点入 4 块(点 1 ∈ 4567? 否;∈ 2367? 否;∈ 2345? 否;∈ 1357 ✓;∈ 1346 ✓;∈ 1256 ✓;∈ 1247 ✓——4 块 ✓);对账 λc = 7 − 6 + 1 = 2:抽验 {1,2}:1247 ✓、1256 ✓——恰 2 ✓;{4,5}:4567 ✓、2345 ✓——2 ✓。块交:4567 ∩ 2367 = {6,7},4567 ∩ 2345 = {4,5},2345 ∩ 1346 = {3,4}?(2345∩1346 = {3,4})——均为 2 点 ✓。∎

复盘。本题的两个算子(补、对偶)交换性由矩阵一眼看穿(J − N 的转置),但「眼见为实」仍要靠七个块的实算——矩阵给结构,实例给信心,本册的一贯双保险。补设计 (7,7,4,4,2) 是 Hadamard 型 m = 2 的成员(§2.13 的 m=2 设计正是 (7,3,1)),自补自对偶。
58例题

第二章 对称设计与差集例题二:手造 (11,5,2) 与 (13,4,1)

题目。① 用乘子定理的战例(§2.7)写出 (11,5,2) 的差集并验证全部差账;② 用 Singer 构造的思想直接写出 (13,4,1) 的差集(文献标准答案 {0,1,3,9}),并验证。

解①。§2.7 已算出:3 是 (11,5,2) 的乘子,且 D 必为乘 3 轨道之一:T1 = {1,3,9,5,4}(1 起步的乘 3 循环:1→3→9→27=5→15=4→12=1 ✓)或其负 T2 = {2,6,7,10,8}。取 D = T1,平移 −1 使 0 ∈ D:D′ = {0, 2, 3, 4, 8}。验差账:C(5,2) = 10 对点 → 20 个有序差,需覆盖非零类 1..10 各恰 2 次。抽验三格:差 1 ← (3−2, 4−3),2 次 ✓;差 5 ← (8−3, 2−8),其中 2−8 = −6 ≡ 5 (mod 11),2 次 ✓;差 10 ← (2−3, 3−4),两者同为 −1 ≡ 10,2 次 ✓。全表 20 个有序差由本章实验页程序逐一核验,结论:D′ 的差对非零类 1..10 各恰 2 次 ✓。平移 −1 前的原表 {1,3,4,5,9} 即 §2.7 的 T1。∎

解②。q = 3 的 Singer:𝔽27 中取本原元 α(如 x3 − x + 1? 实操取 x3 + 2x + 1 之本根),Singer 循环阶 13,线 L0 的指数集即差集。标准答案(文献常载):D = {0, 1, 3, 9}。验差账:C(4,2) = 6 对 → 12 个有序差需覆盖 1..12 各一次:差 1 = 1−0;3−1=2;9−3=6;0−9 = −9 = 4;3−0 = 3;9−1 = 8;1−9 = −8 = 5;0−1 = 12;9−0 = 9;0−3 = 10;1−3 = 11;3−9 = −6 = 7。1..12 各恰一次 ✓——一张四数小表造出 13 点 13 线的射影平面。∎

图 2-16 两张差集的差账全景(有序差) (11,5,2):D = {0,2,3,4,8} 差 1..10,每类 2 次 抽查:1←(3,2)(4,3) 5←(8,3) 9←(0,2) 乘子 3 压缩的战利品 (13,4,1):D = {0,1,3,9} 差 1..12,每类 1 次 幂律之表:1, 3, 9 = 30​,31​,32​ 加 0 占位 Singer 构造的成品 差账逐格对齐——两张表,两台机床,同一份严谨
图 2-16 (13,4,1) 的差集 {0,1,3,9} 藏着幂律(3 的幂次):Singer 构造的代数影子直接写在表里。

复盘。例题二的两个构造来自本章的两台主力机床:乘子压缩(T1)与 Singer 传送带(T3)。注意 (13,4,1) 差集的「幂律外形」不是巧合——Singer 差集天然带循环群的指数结构,幂律小表是它在素域上的投影。看到幂律就想到 Singer——这条直觉在第三章基差族与第六章循环码里都会再次兑现。

59习题

第二章 对称设计与差集习题课(一):差集的验算

习题 2-1(热身)。验证 {0, 1, 4} 与 {0, 2, 7} 都是 (13, 3, 1) 的「半差集」:单独一张表的差只覆盖 1..6 的一半?精确地说,算出两表各自的差多重集,证明它们合并后 1..12 各恰一次(这是差族 {0,1,4},{0,2,7} 的核账,第三章 §3.5 将正式启用)。

提示。{0,1,4} 的六个有序差:1, 4, −1=12, −4=9, 3, −3=10 → {1, 12, 4, 9, 3, 10};{0,2,7}:2, 7, 11, 6, 5, 8。合并 = 1..12 各一次 ✓。

习题 2-2(补差集)。设 D 是 (v,k,λ)-差集。证明:D 的补集 Dc 是 (v, v−k, v−2k+λ)-差集(要求参数为正)。再用 Fano 验证:{0,1,3} 的补 = {2,4,5,6} 是 (7,4,2)-差集——对应补设计 (7,7,4,4,2)。

提示。差账容斥:全表差 v2 对,含 0 的差来自单点 k2 与空隙 (v−k)2,中账 v−2k+λ 由补设计公式平移而来;或直接按 §1.14 补设计参数读出。程序抽验 Fano 补差集的 12 个有序差覆盖 1..6 各 2 次。

习题 2-3(轨道侦察)。(11,5,2) 的另一差集 T2 = {2,6,7,10,8}。证明:T2 = −T1 + c 对某平移 c?若成立给出 c;若不成立,说明两差集不等价(在仿射群下),并指出哪个对应设计 (11,5,2) 的「互不同构」版本——(事实:(11,5,2) 的循环实现唯一到等价;两表其实是平移像:T2 + 3 = {5,9,10,2,0}?试算并下结论。)

提示。−T1 = {10,8,2,6,7}——恰好就是 T2 的重排!所以 T2 = −T1,而取负 = 乘 (−1) = 乘 10,是乘数操作 ⟹ 两表仿射等价,本质差集只有一个。

习题 2-4(对偶的语言)。用对偶设计的语言重述习题 2-2:对称设计的补的补是什么?对偶的补呢?列出 {𝒟, 𝒟c, 𝒟T, (𝒟T)c} 四元组的全部关系,并指出哪些关系对非对称 BIBD 失效。

提示。补与对偶交换(例题一);补的补 = 原;对偶的对偶 = 原;四元组至多四元、Fano 全部重合。非对称时补改变 b、v−k 的不对称使 𝒟cT ≠ (𝒟T)c 的「参数恒等」失效——精确地说两设计参数互换。

60习题

第二章 对称设计与差集习题课(二):乘子与拦截

习题 2-5(乘子实战)。对 (21, 5, 1):n = 4,素数 p = 2:2 ∤ 21 ✓、2 | 4 ✓、2 > 1 ✓ ⟹ 2 是乘子。写出 ℤ21 中乘 2 的轨道结构(注意 gcd(2,21) = 1),并由此推出:(21,5,1) 的任何差集 D 可平移成 2D = D 的形式,即 D 是乘 2 轨道的并——列出所有候选表。

提示。乘 2 在 ℤ21 上的轨道:{0}、{1,2,4,8,16,11}(6 元)、{3,6,12}(3 元)、{5,10,20,19,17,13}(6 元)、{7,14}(2 元)、{9,18,15}(3 元)。注意乘子结论是 2D = D + t(允许平移),D 未必逐点不动——所以「轨道并」的干净论证要过「群作用 + 平移微调」两步,手算容易踩坑。实操建议:写程序对已知 Singer 答案 D = {0,1,4,14,16} 枚举全部 21 个平移,验证 2D = D + t 确有解 t;再体会「乘子把 C(21,5) = 20349 个候选的搜索转成 21 次平移核对」的压缩威力。

习题 2-6(BRC 速判)。用 BRC 快速判决下列对称参数:(56, 11, 2)、(46, 10, 2)、(22, 7, 2)?逐一写明用哪一条款、计算过程与结论。

提示。(56,11,2):v 偶,n = 9 = 32 ✓ 放行——它正是阶 9 的双平面(唯一性有名有姓),存在。(46,10,2):v 偶,n = 8 非平方数 ⟹ 条款(a)当庭拦截,不存在。(22,7,2):v 偶,n = 5 非平方 ⟹ 同款拦截——与 §2.12 靶一互为印证。三题连读正好演练(a)条款的三连问:v 的奇偶?n 是平方?是则放行、否则终审。

习题 2-7(Hadamard 一览)。由 12 阶 Hadamard 矩阵(Paley 构造 q = 11 产出 H(12))出发,写出它对应的对称设计参数,并与 (11,5,2) 对号;再用 §2.13 的「补」方向给出 (11,6,3),验证它就是 (11,5,2) 之补。

提示。n = 12 = 4m ⟹ m = 3:(4m−1, 2m−1, m−1) = (11, 5, 2) ✓;补 = (11, 6, 3) ✓。Paley 的 χ2 表(mod 11)可手抄:平方数 {1,3,4,5,9}——正是 T1!(Paley 差集与乘子轨道在这里第三次相遇。)

习题 2-8(选做·综述)。查阅「非 Desargues 射影平面」资料:已知的最小非 Desargues 平面阶数是多少?(答案:9,有四张互不同构的 9 阶平面。)它们的 Singer 循环还在吗?——(答:一般不在;循环性刻画 Desargues 性的「单传递」一面。)这解释了 §2.10 为什么说 Singer 差集属于「Desargues 型」。

61地图

第二章 对称设计与差集第二章地图:几何与数论的会合

本章的概念网比第一章更密:设计语言、几何语言、数论语言三方会师。本页画全景。

图 2-17 第二章概念地图:三语会师 设计语言 对称设计(b=v) 对偶 · 自对偶 派生 · 残差 · 补 差集语言 自相关恒 λ 平移 · 乘数 · 乘子 差族(松绑版) 数论语言 有限域 𝔽_q 二次特征 · Legendre 无穷递降 Singer 传送带 几何 → 循环 → 差集 BRC 拦截线 n 平方 / 三元方程 Hadamard 矩阵横贯三语(图 2-12);参数表(§2.15)是三语合流的结算单
图 2-17 三语会师:设计管平衡,差集管循环,数论管生死;Singer 与 BRC 是两条跨界桥。

通向外部的接口。① 差族 → 第三章基差族(循环 STS 的引擎);② Singer q = 4 → (21,5,1) = Witt S(2,5,21)(第三章主角、第五章 Witt 家族的父辈);③ Hadamard 3-设计 → 第五章 t-设计的第二级台阶;④ Paley 特征 → 第四章有限域 MOLS 的同源技术;⑤ 循环结构 → 第六章循环码(Hamming 码的循环观点)。本章是全书的技术枢纽:往前的账目在此变厚,往后的构造在此起跑。

62小结

第二章 对称设计与差集第二章小结(上):对称设计双账本

卡片一:对称设计。b = v(等价 r = k)的 BIBD;参数 v = 1 + k(k−1)/λ。双账本:每对点 λ 次同块 且 每对块 λ 点相交——对偶设计 𝒟T(关联矩阵 NT)与 𝒟 同参数。核心恒等式 NTN = (k−λ)I + λJ(证明靠 N−1 搬运 J)。自对偶:Fano 是;v = 16 附近开始出现非自对偶。

卡片二:繁殖参数表。派生(取块 B0 的内部残影):(k, v−1, k−1, λ, λ−1),λ ≥ 2 才丰满;残差(B0 的外部世界):(v−k, v−1, k, k−λ, λ);补:(v, v, v−k, v−k, v−2k+λ)。三手术在对称世界里两两联动(残差的补 = 派生的……最后一步留作练习)。

卡片三:差集。D ⊆ ℤv,|D| = k,差覆盖非零类各 λ 次;⟺ 有循环单传递自同构的对称设计。平移、互素乘数、补保持差集身份;本质分类 = 仿射群轨道。(7,3,1):14 个差集、2 个平移类、1 条仿射轨道(稳定子 x ↦ 2x+1,阶 3)。

三个必背战例。① {0,1,3}:Fano 的出生证;② {0,1,3,9}:PG(2,3) 的出生证(幂律表!);③ {0,2,3,4,8}:(11,5,2) 的乘子战利品(乘 3 轨道)。三张表分别代表差集的三种来源:小参数穷举、Singer 代数、乘子压缩——看到一张差集,先问它从哪台机床下来。

易错三坑。① 派生参数的 λ′ 是 λ−1 不是 k−λ(§2.3 的现场翻车教训);② (22,7,2) 过可除性筛但死于 BRC——「过筛 ≠ 存在」;③ 差集的乘数 m 要求 gcd(m, v) = 1,别把 2 当 (21,·) 的乘数之外还乱乘(轨道会断)。

63小结

第二章 对称设计与差集第二章小结(下):差集一览

卡片四:Singer 传送带。𝔽q3(三维域上空间)→ PG(2,q)(q2+q+1 点线)→ 商循环(单传递,阶 v)→ 差集(固定线的指数表)。产品线:(q2+q+1, q+1, 1) 全系;q = 2, 3, 4, 5 → (7,3,1), (13,4,1), (21,5,1), (31,6,1)。

卡片五:拦截武器库。乘子定理(p ∤ v、p | n、p > λ ⟹ p 是乘子——纯参数预言对称);BRC(v 偶:n = k−λ 必平方;v 奇:z2 = nx2 + (−1)(v−1)/2λy2 必有非平凡解);战果:拦 (22,7,2)、(29,8,2)(mod 3 递降)、(43,7,1)(mod 8 递降,即 q = 6)、(71,21,6)、(46,10,2)(n = 8 非平方)。

卡片六:Hadamard 一线。标准化 H(4m) 削首行首列 → (4m−1, 2m−1, m−1) 对称设计;补 → (4m−1, 2m, m) 即 Hadamard 3-设计;m = 2, 3, 4 → (7,3,1), (11,5,2), (15,7,3)。Paley 构造用 χ2 拧出 q ≡ 3 (mod 4) 的 H(q+1);Hadamard 猜想(4 的倍数阶全存在)已知至 668。

参数身份速查(v ≤ 57 对称、λ ≤ 2 精选)。存在:731, 742, 1152, 1341, 1573, 1662, 1972, 2151, 2572, 3161, 3792?;不存在:2272(BRC-a)、2982(BRC-b)、4371(BRC-b);未知:5781(最著名悬案)。下标记法 (v,k,λ) 缩写,读作「v 点 k λ」。

图 2-18 λ = 1 对称序列的「色素」分布(v ≤ 91) 7 ✓ 13 ✓ 21 ✓ 31 ✓ 43 ✗ 57 ? 73 ✓ v = k2​ − k + 1:素数幂 k−1 处全绿(Singer);43 红(BRC);57 灰(悬案) 一条数轴,三种颜色——存在性理论的前沿就在灰点上
图 2-18 λ = 1 序列:绿点是 Singer 的领地,43 是 BRC 的界碑,57 是人类尚未攻下的灰点(v ≤ 91)。

本章与下一章的转场。λ = 1 的对称设计是射影平面;λ = 1 的非对称设计(b > v)里有更松快的家族——三元系。它们不需要「点数 = 块数」的紧绷,只要「每对点恰一次」;构造工具正是本章的差族(基差族)。女生散步的全部机关,都已在工具箱里。

64思想卡

第二章 对称设计与差集思想卡:代数结构替几何发言

本章最深的教训藏在 §2.9 末尾:参数账目看不见几何。λ = 1 的对称参数表上,q2 + q + 1 一行整整齐齐;几何只兑现素数幂的位置,数论(BRC)只拦截它拦得动的位置——中间的灰区里,账目平、几何无、数论沉默。(57,8,1) 就这样悬挂了半个多世纪。

这件事反过来读更有味道:什么时候「算术条件」恰好等价于「几何存在」?Singer 定理给了第一个大样本答案——q 素数幂时,域的乘法循环性就是平面的单传递对称。代数结构(循环群)替几何(点线公理)发了言。BRC 是反面教材:它证明数论发言也有「权限边界」——拦得住的拦不住的,都要等构造派或新数论来定夺。

把视角拉远:数学里大量「存在性」问题的现代解法都是这个三段式——先找对称(群)、再算障碍(数论/拓扑不变量)、最后构造或拦截。五次方程不可根式解(伽罗瓦)、正十七边形可作尺规(高斯)、费马大定理(椭圆曲线),走的是同一条走廊。组合设计是这条走廊里最平易的展厅:参数小到能穷举,对称群算得动,拦截方程初中生都能看懂。在这里学会的三段式,是通向现代数学所有深水区的通行证。

最后自问一句:为什么偏偏是「差」?差集把平衡锁进减法,本质是因为平移群是最简单的传递群——它只有一个生成元,一种方向感。第三章将看到更松的「和」结构(三元组直接相加覆盖),第四章将看到两重平移(拉丁方是 ℤ2 上的账本);每加一层代数,设计的形态就换一副面孔。代数有多富,设计就有多富。

65挑战

第二章 对称设计与差集挑战:Singer 差集的亲手计算

任务。不查文献,亲手拧出 q = 4 的 Singer 差集 (21,5,1)。

路线图。① 构造 𝔽4 = 𝔽2[α]/(α2 + α + 1)(α2 = α + 1);② 构造 𝔽64 = 𝔽4[β]/(β3 + β + 1 或其他三次不可约——先在 𝔽4[x] 里找不可约三次式);③ 求本原元 α0(阶 63);④ 写出 Singer 循环 = 𝔽64×/𝔽4×(阶 21);⑤ 取「线」L0 = 𝔽4 的一维子空间集合?——精确任务:L0 = 𝔽4 自身(作为二维 𝔽4-子空间——即 𝔽64 里的基域),计算哪些指数 i 使 α0i ∈ 𝔽4:指数差集 D。⑥ 用 D 的平移造 21 条线,程序验证每对点恰一线。

参考答案的「指纹」。文献标准答案(指数归一化后):D = {0, 1, 4, 14, 16}。算出的答案可能与它差一个仿射变换(平移 ×乘数)——用「差覆盖 1..20 各恰一次」做验收,不必与标准答案逐字一致。验收即存在:差账平了,设计就在。

加分题。① 用乘子定理预筛:n = 4,p = 2(2 > 1 ✓、2 | 4 ✓、2 ∤ 21 ✓)⟹ 2 是乘子——检查所得的 D 是否满足 2D = D + t;② 把 q = 4 与 q = 2、3 的差集并排,观察「幂律」外形在 q = 4 时如何变形(𝔽4 的乘法群是 3 阶,指数结构出现 3-周期花纹);③ 思考:为什么 q = 4 的差集在 ℤ21 里、而 ℤ21 不是域?——(答:循环性来自 𝔽64× 的 63 阶,商掉 3 阶标量群得 21 阶;域的结构活在「线」的定义里,不在圆环上。)

图 2-19 挑战路线:六站拧出 (21,5,1) 𝔽4​ α2​+α+1 𝔽64​ 三次不可约 本原元 阶 63 Singer 循环 63/3 = 21 差集 D L0​ 的指数 设计 21×5 指纹 D = {0, 1, 4, 14, 16}(差覆盖 1..20 各一次) 乘子 2 在等一个答案:2D = D + t 是否成立?
图 2-19 六站路线与答案指纹:亲手拧 Singer 是对第二章全部工具的综合检阅。
66实验

第二章 对称设计与差集实验:枚举 (11,5,2) 的全部差集

实验目的。用程序把 (11,5,2) 的差集世界全部翻出来:验证乘子战例、数清本质类、并与 Aut 的账目对拍。

实验一:差账核验器。通用函数:输入 v 与子集 D,返回每个非零类的差计数。

def diffspec(v, D):
    from collections import Counter
    c = Counter((a - b) % v for a in D for b in D if a != b)
    return c                      # 期望:每个 1..v-1 恰 lambda 次
D = {0, 2, 3, 4, 8}
print(diffspec(11, D))            # 20 个有序差 → 1..10 各 2 次 ✓

实验二:全枚举。遍历 C(11,5) = 462 个 5 元子集,用实验一筛选:恰得 110 个差集(程序清点)。再按「平移 + 互素乘数」的仿射等价聚类:全部 110 个落在一条仿射轨道上((11,5,2) 的循环实现唯一到等价——与习题 2-3 的 T1/T2 合并结论一致)。110 = 11 × 10:每本质差集 11 个平移 × 乘数像若干——精确账目留给实验报告。

实验三:BRC 程序化。写函数:给定对称参数 (v,k,λ),判断 BRC 条款:(a) v 偶查 n = k−λ 是否平方;(b) v 奇对方程 z2 = nx2 + (−1)(v−1)/2λy2 在 |x|,|y| ≤ 30 内搜非平凡解。对 (22,7,2)、(29,8,2)、(43,7,1)、(37,9,2)、(56,11,2) 各跑一遍,输出「拦截 / 放行」——与 §2.15 的表格逐行对拍。

图 2-20 (11,5,2) 差集全家的放大镜视图 0 2 3 4 8 D = {0,2,3,4,8}:五点五弦,20 个有向差 程序清点: 462 个候选 → 110 个差集 1 条仿射轨道(本质唯一) 乘子 3 的预言兑现
图 2-20 五点五弦的差账圆盘:程序全枚举给出 110 个差集、一条仿射轨道——乘子定理的压缩预言与穷举完全咬合。

实验报告要求。① 贴出 D = {0,2,3,4,8} 的完整差账表(10 类 × 计数);② 报告实验二的总数与轨道数,并给出「110 = 平移数 × 乘数像数」的精确分解;③ 实验三的五参数判决表与 §2.15 对拍截图;④ 思考题:把 v 从 11 换到 13,(13,4,1) 的差集总数是多少?与 (7,3,1) 的 14 对比,规律何在?(提示:仿射轨道大小 = v·φ(v)/|稳定子|,稳定子随 q 变化——Singer 差集的稳定子往往是「乘法子群」。)

67格物札记

第二章 对称设计与差集〖札记〗洛书与幻方:古老的差集直觉

洛书的差集读法。第一章札记把洛书九宫读作「八本账同时平」;本章的差集语言给了它第二次解读。把九宫的 1..9 排进 ℤ9?——洛书的行 {4,9,2}、{3,5,7}、{8,1,6}:任一行的差集 {9−4, 2−9, 2−4} = {5, 2, 7}…单独看并无覆盖性。真正与差集血脉相通的中国对象是纵横图的「翻」与「转」:杨辉在《续古摘奇算法》(1275)里给出的幻方构造法——「九子斜排,上下对易,左右相更」——正是把 3×3 方阵沿对角线平移、再折叠的操作群:平移!洛书的三行三列其实是同一个 3 元循环结构在两个方向上的平移像。用本章的语言:幻方的行是基表,列是行表的转置平移——「斜排」一步就是把一维的差集账本升级成二维的账本(第四章的 ℤ2 拉丁方账本,正是这一步的系统化)。

乘 2 的卦变。《易经》卦变说里的「飞伏」「对宫」暗合乘数操作:乾卦 111 与坤卦 000(取负)、坎离互变(逐爻取反 = 乘 −1 + 平移 111 的 ℤ23 版本)。第二章的乘子定理说「纯参数能预言对称」;卦变系统则说「卦阵的结构能预言变卦的轨道」——两句话共享同一个语法:群作用先于枚举。北宋邵雍的六十四卦方圆图把 64 卦排成外圆内方,圆上的次序是二进制读数、方上的次序是「卦变轨道」——一图两语,与本章「设计语言 / 差集语言」的一币两面遥相呼认。

历法中的循环设计。殷周以来的干支纪日:十天干、十二地支配成六十甲子——一个 60 阶循环群;「三元甲子」把 180 年分上中下三元、九宫飞星每年移一位——这正是 ℤ9 × ℤ20 上的循环平移系统。风水术数里的「三元年白表」要求「某星每年到某宫恰好若干次」——听着耳熟吗?这就是入度均匀的要求。术数家在千年尺度上反复调试这些表,使每年每宫的星宿配置账目平衡——他们没有 BIBD 的名字,但做着 BIBD 的活。差集的「自相关恒定」在他们的语言里叫「循环无端,周而复始」。

图 2-21 杨辉「九子斜排」:一次平移换一套账本 4 9 2 3 5 7 8 1 6 洛书:八账皆 15 ⟶ 行 = 基表的平移 列 = 转置的平移 斜排 = 二维差账 第四章的 ℤ2​ 拉丁账本
图 2-21 洛书与杨辉口诀:幻方的行列互为平移像——二维循环账本的最早中国样本。

札记的注脚。本章三件数学武器——平移、乘数、递降——在中国传统里各有影子:平移见于历法与幻方、乘数见于卦变、递降(无穷回退)见于《庄子》「一尺之棰,日取其半,万世不竭」的逆向运用。工具散落千年,理论一日成型——这正是数学史最动人的常态:发现常在先,命名常在后;本册的职责是使人在命名之后,能回头认出那些先行者的足迹。

68速查

第二章 对称设计与差集第二章速查表

条目内容出处
对称设计b = v ⟺ r = k;v = 1 + k(k−1)/λ§2.1
对偶定理NTN = (k−λ)I + λJ;每对块恰交 λ 点§2.2
派生 / 残差(k, v−1, k−1, λ, λ−1) / (v−k, v−1, k, k−λ, λ)§2.3
差集定义D ⊆ ℤv,差覆盖非零类各 λ 次§2.4
差集 ⟺ 设计循环单传递自同构的对称设计§2.4 / §2.6
Fano 差集{0,1,3} 型:14 个、2 平移类、1 仿射轨道§2.5
乘子定理p ∤ v、p | (k−λ)、p > λ ⟹ p 是乘子§2.7
Singer 构造𝔽q3 商循环 → (q2+q+1, q+1, 1) 差集§2.10
BRC(a)v 偶:n = k − λ 必为平方数§2.11
BRC(b)v 奇:z2 = nx2 + (−1)(v−1)/2λy2 有非平凡解§2.11
拦截战果(22,7,2)、(29,8,2)、(43,7,1)、(46,10,2)§2.12
Hadamard 换算H(4m) ⟷ (4m−1, 2m−1, m−1) ⟷ 补即 3-设计§2.13
差族Σki(ki−1) = λ(v−1);块大小可变的循环 BIBD§2.14
悬案(57,8,1):BRC 放行、存亡未知§2.15

实例小卡。{0,1,3}(Fano);{0,1,3,9}(PG(2,3),幂律表);{0,2,3,4,8}((11,5,2),乘 3 轨道);{0,1,4,14,16}((21,5,1),Singer q=4,挑战题指纹)。

易错三坑。① 派生 λ′ = λ − 1(§2.3 教训);② BRC(b)的符号由 v mod 4 决定,勿一律取 +;③ 差集乘数必须与 v 互素——2 不是任何偶 v 差集的合法乘数。

文献指引(进阶两页证明的出处)。乘子定理完整证明:Beth–Jungnickel–Lenz《Design Theory》卷 I 第 6 章;BRC 两页证明:Ryser《Combinatorial Mathematics》第 8 章或 Hall《Combinatorial Theory》第 10 章;Singer 构造的原典:J. Singer, «A theorem in finite projective geometry…», J. London Math. Soc. 12 (1938)。

下一步。衔接讲义(下页)把 λ 拧到 1 且放开 b > v——Steiner 三元系的世界在门口。

69讲义

第二章 对称设计与差集衔接讲义:通往 Steiner 系——λ = 1 的极致

★★ 本章研究的是「最紧」的对称设计(b = v);下一章换一个紧法:λ = 1 且不管 b。两种「紧」的区别值得站在这道门上辨清楚。

两种紧。对称设计紧在块数:Fisher 等号把块压到与点一样多,每块不得不承担双份平衡(点账 + 块交账)。Steiner 系紧在相遇:每对点恰会面一次,一次不许多——但块数可以随便多。前者像满员的剧场(座位数固定),后者像独生证(名额唯一)。两紧相遇时(λ = 1 且 b = v)就是射影平面——已经在本章看过了;λ = 1 而 b > v 的世界更大,入口就在眼前。

三元系的第一笔账。k = 3、λ = 1:恒等式 II 给 r = (v−1)/2,恒等式 I 给 b = v(v−1)/6。整除条件:v ≡ 1, 3 (mod 6)——第一章可除性筛已经把它算出来了(§1.13 的第一刀)。而存在性(Kirkman 1847):这两条同余不但必要、而且充分——λ = 1 的世界里,账目过关即存在(v = 7 的 Fano、v = 9 的双胞胎、v = 13、15、19……全都在)。与对称设计的灰区((57,8,1) 悬案)相比,三元系的世界干净得奢侈——这正是下一章的风景。

工具的转岗清单。差集 → 基差族(循环 STS 的核心构造,(13) 的两张表已验好);乘子定理 → 循环三元系的分类筛;补/派生 → 递归构造的砖块;Singer q = 4 的 (21,5,1) → Steiner 系统 S(2,5,21),Witt 家族的父辈(第五章)。本章的每一件武器都有下一章的岗位——工具箱不换,只换战场。

图 2-22 两种「紧」的分野 对称设计:块数紧 b = v,双账本互锁 存在性充满灰区 ((57,8,1) 悬案) Steiner 系:相遇紧 λ = 1,b 自由 v ≡ 1, 3 (mod 6) 全存在 (Kirkman 1847,第三章) 两紧重叠处 = 射影平面(本章);分开后各自成派(第三章)
图 2-22 紧哪一头:对称设计紧块数、Steiner 系紧相遇;重叠区恰是本章看过的射影平面,分开的两侧通向下一章。

门上的最后一问。女生散步要求 15 点、三元块、每对恰一次——还要「每天五组恰好用尽全部人」。这最后一条(可分解性)在 λ = 1 世界里是一层新账:块不仅要彼此平衡,还要能分层打包、每层用尽全部点。Kirkman 的原题、121 年的等待、1971 年的解答——全部在三日之后。检票口就在下页。

第三章

Steiner 系与 Kirkman 问题

把平衡推到极致:λ = 1——每对点恰同块一次,一个都不多。块大小为 3 时就是 Steiner 三元系 STS(v):v 个点分成三元组,每对恰在一组。Kirkman 在 1847 年证明:STS(v) 存在当且仅当 v ≡ 1, 3 (mod 6),这是组合设计史上第一条完整的存在定理。本章先用循环方法(基差族)亲手造出 STS(7)、STS(13)、STS(15),再讲递归构造的思想;随后转向更深一层——可分解性:三元组能否再分成「平行类」,让每天、每类恰好用尽全部点?这就是 Kirkman 女生问题:十五名女生七天内每天三人一组散步,任何两人恰重遇一次。它的答案 KTS(15) 的七日表是本章的明珠;而一般的可分解情形悬置一百二十余年,直到 1971 年才由 Ray-Chaudhuri 与 Wilson 解决:KTS(v) 存在当且仅当 v ≡ 3 (mod 6)。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
70导引

第三章 Steiner 系与 Kirkman 问题第三章导引:λ = 1 的世界

前两章把平衡的账本从两头压紧:第一章立起五参数与两条恒等式,第二章研究 b = v 的极限紧平衡,并交出「差集」这台机床。本章把压强加到刻度的尽头——λ = 1:任何一对点,恰好同席一次。这是最吝啬的平衡:不多花一张支票,不少盖一个章。参数缩到最小,结构反而最僵硬——存在性、唯一性、计数,每个问题都在这一族里变得最尖锐;也正是在这一族里,组合设计写下了自己最长的故事线:从 1847 年 Kirkman 的七日散步,到 1983 年陆家羲的大集定理。

本章分三段行进。第一段(§3.1–3.6)巡游小系统:Steiner 三元系的定义与参数、存在性的第一道门槛 v ≡ 1, 3 (mod 6)、Fano 平面的三元系身份、循环机器与基差族,然后连看三位主角——STS(13) 的两条基块合奏、STS(15) 的四种构造。第二段(§3.7–3.11)攻存在性与可分解:Kirkman 1847 年的存在定理、递归构造、平行类,以及著名的 Kirkman 女生问题——十五个女生、七天散步、任何两人恰同组一次,答案正是一座可分解的三元系;平行类的几何化身是仿射平面。第三段(§3.12–3.16)踏进现代地形:Ray-Chaudhuri–Wilson 定理、大集问题与陆家羲的壮举、STS 个数的计数爆炸、Pasch 配置与超图视角,最后一页方法论总收。

图 3-0 本章三段行程 小系统巡游 STS(7)(9)(13)(15) 循环机器 · 基差族 §3.1–3.6 存在与可分解 Kirkman 定理 1847 平行类 · 女生七日表 §3.7–3.11 现代地形 大集 · 陆家羲 计数爆炸 · Pasch §3.12–3.16 主旋律:λ = 1 的极致吝啬 ↔ 平行类的整齐可分解 ↔ 例外与穷举的现代篇章
图 3-0 三段行程:先看小参数下的珍禽异兽,再证大定理,最后眺望现代版图。

行李大半已备:两条恒等式、可除性筛、换角计数、模 v 时钟(第二章的差集机床直接沿用)。本页只补一件新行李——拟群,它要到 §3.6 的 Bose 构造才登场,届时现场定义。本章最常出现的词是「轨道」:平移轨道造设计(§3.4)、乘子轨道分同构(§3.5)、自同构轨道数块数(§3.3)——同一个群论动作,反复兑现。

71讲义

第三章 Steiner 系与 Kirkman 问题3.1 Steiner 三元系:最吝啬的平衡

★★★ 把第一章的定义沿 λ = 1、k = 3 压到头,得到本章的主角。

定义(Steiner 三元系)。一个 Steiner 三元系 STS(v) 是参数 (v, 3, 1) 的 BIBD:v 个点的集合,配以若干三元子集(称为线),使得每对点恰好同在这三条线的名册上一次。记号亦作 S(2, 3, v) 或 2-(v, 3, 1) 设计。

两条恒等式当场把参数算尽。由 bk = vr 与 r(k − 1) = λ(v − 1),代入 k = 3、λ = 1:

r = (v − 1)/2, b = v(v − 1)/6.

吝啬的分量要用对照组称出来。什么都不省的「完全设计」把全部 C(v, 3) 个三元组都设为线;STS 只留下其中的 v(v − 1)/6 个——压缩比恰为 v − 2。v 越大,节约越狠:十五个点时,455 个三元组里只留 35 个,每十三个才挑一个,还要做到每对点不偏不倚恰见一面。

图 3-1 STS 参数表与「完全设计」的浪费对照 v b = v(v−1)/6 r = (v−1)/2 C(v,3) 全留 压缩比 v−2 3 1 1 1 1(平凡) 7 7 3 35 5 9 12 4 84 7 13 26 6 286 11 15 35 7 455 13
图 3-1 行末的压缩比恒为 v − 2:完全设计里每 v − 2 个三元组才轮到 STS 的一根线。

本页收三个脚印。其一,v = 3 平凡:一条线装下全部三个点。其二,下一站的乘客名单已由图 3-1 排好:v = 7, 9, 13, 15——本章将逐一登台,每一位都带来一出好戏。其三,一个历史小注:三元系的问题由 Steiner 于 1853 年提出,但等价的存在性结论其实已被 Kirkman 在 1847 年先行解决——名字留给了提问者,解答者之名则以更难的问题永载(§3.7 与§3.10 细说)。

72讲义

第三章 Steiner 系与 Kirkman 问题3.2 存在的第一道门:v ≡ 1, 3 (mod 6)

★★ 上一页的两个参数公式其实是两道门卫:它们不造设计,却能把不合格的 v 当场拦下。

第一门:r 是整数。r = (v − 1)/2 要求 v − 1 为偶数,即 v 为奇数。偶数点的三元系整族出局——每个点要与其余 v − 1 个点配对,而每次同席消化两个伴侣,伴侣数必须是偶数。

第二门:b 是整数。b = v(v − 1)/6 要求 6 | v(v − 1)。v 已是奇数,2 | v − 1 自动达标,剩下要求 3 | v(v − 1)/2,等价于 3 | v(v − 1)(3 与 2 互素),即 v ≡ 0 或 1 (mod 3)。与奇数条件合并:

命题(必要的同余条件)。若 STS(v) 存在,则

v ≡ 1 (mod 6) 或 v ≡ 3 (mod 6).

图 3-2 模 6 的六扇门:只剩两扇通行 v ≡ 0, 2, 4 (mod 6) v 偶 → r 非整 6, 8, 12, 14 … ✗ 全族出局 v ≡ 1 (mod 6) 7, 13, 19, 25 … b、r 皆整 ✓ 通行 v ≡ 3 (mod 6) 9, 15, 21, 27 … b、r 皆整 ✓ 通行 另一扇假门:v ≡ 5 (mod 6)——奇而无三元系,v = 5, 11, 17 时 b 均非整
图 3-2 整性只放行 v ≡ 1, 3 (mod 6);「奇数」这一半门槛拦掉一半,三分量拦掉剩下的不合格者。

验几个落马者。v = 5:b = 20/6 非整;v = 11:b = 110/6 非整;v = 6, 8:r 非整。而 v = 7 给 b = 7、r = 3,v = 9 给 b = 12、r = 4——门票齐备。

注记(门槛与山巅)。整性检查是第一章可除性筛的最简情形,本页的命题只是「第一道门」——门卫只查账目,不发通行证:同余条件满足时设计是否真存在,是另一回事。这道「第二道门」有个戏剧性的答案:Steiner 1853 年提问时以为它是难题,其实 Kirkman 1847 年已经翻过山头(§3.7);真正悬了一个多世纪的,是它的「可分解」加强版——女生问题的一般化,直到 1971 年才由 Ray-Chaudhuri 与 Wilson 解决(§3.12)。

73讲义

第三章 Steiner 系与 Kirkman 问题3.3 Fano 平面即 STS(7)

★★ 第一章的老朋友 Fano 平面,换上三元系的名册重新登场——身份不同,账目同一。

七点七线、每线三点、每对点恰一线:STS(7) 的定义逐字吻合。参数重算一遍:v = b = 7、k = r = 3——它同时是第二章的对称设计 (7, 3, 1),差集 {0, 1, 3} 的七次平移。三种身份(三元系、对称设计、循环差集构造)在最小的非平凡样本上合体,这不是巧合:§3.4 将说明差集机床本来就是三元系的通用引擎之一。

两线必交。这是三元系语言下最值得重讲的一笔。七条线各含三对,共盖 7 × 3 = 21 = C(7, 2) 个点对——配额恰好用满,任何一对都不得重复。设两线 L1、L2 不交,则其余五线每条至多与 L1 交一点、与 L2 交一点(多交即点对重复),再各带第三个点;但 L1 ∪ L2 之外只剩一点,故其余五线中每条至多消化一个「跨线对」,五条至多盖五个跨线对,而跨线对共有 3 × 3 = 9 个——配不齐,矛盾。所以任何两线恰交于一点,这正是射影几何的口吻。

图 3-3 循环 STS(7):{0,1,3} 的七次平移(左);躲开点 0 的四线自动成 Pasch(右) 线名册 L0 = {0, 1, 3} L1 = {1, 2, 4} L2 = {2, 3, 5} L3 = {3, 4, 6} L4 = {4, 5, 0} L5 = {5, 6, 1} L6 = {6, 0, 2} 躲开 0 的四线(L1, L2, L3, L5) 四线落在六个点 1–6 上 每点恰属其中两线 两两交于不同点:1, 2, 3, 4, 5, 6 =一个 Pasch 配置 七个点逐个躲开 → 七个 Pasch(§3.15)
图 3-3 左:基块 {0,1,3} 的平移名册(§3.4 的机器预告);右:「躲开一点,余四线成 Pasch」——STS(7) 恰有 7 个 Pasch 配置。

同构计数旧账重提。第一章 §1.11 用 M = v!/|Aut| 数过:七个点的标号实现共 5040/168 = 30 个,而自同构群 GL(3, 2) 阶 168,故 STS(7) 的非同构解唯一。唯一性是后面所有小系统的标尺:每遇一个新的 v,第一问总是「有几个非同构解」——答案从 1(v = 7, 9)到 2(v = 13)再到 80(v = 15),指数般的增长曲线在 §3.14 专门描绘。

Pasch 的初见。图 3-3 右侧的观察值得放慢:任取一点,躲开它的四条线恰好落在其余六点上、每点恰属两线——四个三元块、六个点、每点出现两次,这正是下一节以后反复出场的 Pasch 配置的雏形(§3.15 给出正式定义与系统计数)。七个点给出七个 Pasch,一个不多、一个不少——最小的三元系里已经藏着最著名的子结构。

74讲义

第三章 Steiner 系与 Kirkman 问题3.4 循环 STS 与基差族

★★★ 第二章的差集为对称设计专用(b = v);把机床的进料口放宽,它就能服务整族三元系。

定义(基差族)。设 v ≡ 1 (mod 6)。ℤv 中若干三元子集 B1, …, Bt 称为 (v, 3, 1)-基差族,如果每个非零剩余恰在诸 Bi 内部以「有序差」的形式出现一次。把每条基块的全部 v 个平移并起来,即得 STS(v);基块条数 t = (v − 1)/6。

账目一眼对上:每条基块产出 3 × 2 = 6 个有序差,t 条共 6t = v − 1 个,恰好分尽全部非零剩余。Fano 平面是 v = 7 的特例:t = 1,基块 {0, 1, 3}——它的六差 ±1, ±2, ±3 即 {1, 2, 3, 4, 5, 6},分尽无余;这也是第二章 (7, 3, 1) 差集的同一张名册(那时 b = v,基差族与差集是同一概念)。

v ≡ 3 (mod 6) 的改进机型。此时 v − 1 ≢ 0 (mod 6),纯基块盖不满账本,需添一条短轨道块 {0, m, 2m}(m = v/3):它的稳定子有阶 3,平移轨道只有 v/3 条块,恰好结清 ±m 两项账;余下 (v − 3)/6 条普通基块结清其余。

STS(9) 为何非循环。v = 9:短块 {0, 3, 6} 结清 ±3 = {3, 6},还需一条基块 {0, a, b},其六差须恰为 {±1, ±2, ±4} = {1, 2, 4, 5, 7, 8}。按 ± 对称可设 a ∈ {1, 2, 4} 逐一验算:a = 1 时 b − 1 须取自 {2, 4, 5, 7},取 2 得差 1 重复、取 4 或 7 撞上 ±3、取 5 则 b − a = 4 = −b 重复;a = 2 时 b ∈ {1, 4, 5, 8} 分别撞 ±1、自身、±3、±3;a = 4 时 b ∈ {1, 2, 8} 撞 ±3、±a、a 本身。三路全堵——循环 STS(9) 不存在,九个点必须另构造(§3.6 的 Bose 机型)。

定理(Peltesohn,1938)。循环 STS(v) 存在,当且仅当 v ≡ 1, 3 (mod 6) 且 v ≠ 9。唯一例外就是九。

这个定理回应的是 Heffter 1897 年提出的差问题(把 {1, …, (v − 1)/2} 分成若干组「两数之和等于第三数」的三元组的循环版),四十年后由 Peltesohn 彻底解决——「唯一例外 v = 9」这种清爽的结论,正是穷举与结构联手的产物。下一页就去 v = 13 看机器全力运转的样子。

75讲义

第三章 Steiner 系与 Kirkman 问题3.5 STS(13):两个基差族的合奏

★★★ v = 13 ≡ 1 (mod 6),需要 t = 2 条基块:十二条非零差要分成两份、每份六条,各由一条基块独奏。这是「合奏」一词的账面含义。

找琴谱。规范形取 {0, 1, 4}:其六差为 ±{1, 4, 3} = {1, 3, 4, 9, 10, 12}。剩下的差是 {2, 5, 6, 7, 8, 11},恰好是 ±{2, 7, 5}——第二条基块 {0, 2, 7} 应声而出。两条基块各带 13 个平移,共 26 = 13·12/6 条线,STS(13) 合奏完成。

图 3-4 Z13​ 的差分账本:两条基块、两份六差、一个乘子轨道 基块一 {0, 1, 4} 差集 {1, 3, 4, 9, 10, 12} = ±{1, 3, 4} 基块二 {0, 2, 7} 差集 {2, 5, 6, 7, 8, 11} = ±{2, 5, 7} 两份差集并起来 = ℤ13​ 的全部非零剩余:账平。 乘子 2 的舞步: 2·{0,1,4} = {0,2,8},2·{0,2,7} = {0,4,1} = {0,1,4} → 同一设计的换手 36 个规范形候选全落一条乘子轨道(程序核账)→ 循环 STS(13) 唯一
图 3-4 琴谱只有一份:全部候选基差族经乘子(平移之外的自然同构)彼此可达,合奏独一无二。

唯一性的两本账。第一本是程序账:把 286 个三元组规范化后穷举配对,得 36 个候选基差族;逐个施以乘子 u ∈ ℤ13×(这是保持循环结构的自然同构),36 个候选合并成一条轨道——图 3-4 下方的乘子 2 就是它的「换手」舞步。第二本是文献账:非同构的 STS(13) 恰有两个;既然循环解唯一,另一个必是非循环的——它的自同构群里连一个 13 阶元都没有,自然也与基差族无缘。

对称性的家底。平移群 ℤ13 整群都是自同构;再验乘子:对两条基块同时乘 3,得 {0, 3, 12}(平移回 {0, 1, 4} 型)与 {0, 6, 8}(平移回 {0, 2, 7} 型)——乘 3 也保持设计,于是自同构群至少含 13 × 3 = 39 阶的「平移×乘 3」仿射群。连同 Pasch 计数(循环 STS(13) 恰含 13 个 Pasch 配置,计数法同图 3-3 的右栏逻辑),这些家底将在 §3.15 与挑战页派上用场。

下一站之前的一句闲笔。基差族账本的美妙之处在于「找琴谱」是有限的活:候选虽多,规范形与乘子一夹,搜索空间立刻塌缩。这个「枚举—规范形—轨道合并」的三步曲,正是现代设计枚举软件(§3.16)的雏形。

76讲义

第三章 Steiner 系与 Kirkman 问题3.6 STS(15):四种构造

★★★ 十五个点、三十五条线——组合设计史上出镜率最高的舞台。同一个 STS(15),本书给出四种造法:代数、几何、组合、算法,各一条路。

造法一(循环·基差族)。v = 15 ≡ 3 (mod 6):短块 {0, 5, 10} 结清 ±5,两条基块结清其余:{0, 1, 4} 的差 ±{1, 3, 4} = {1, 3, 4, 11, 12, 14},{0, 2, 8} 的差 ±{2, 6, 8} = {2, 6, 7, 8, 9, 13}。三份并起来恰是 ℤ15 的全部非零剩余;15 + 15 + 5 = 35 条线。

造法二(几何·有限域)。取 𝔽24 的 15 个非零向量,令 {x, y, x + y} 为线:射影空间 PG(3, 2) 中任两点唯一决定一条线,而域为 𝔽2 时每条线恰有 q + 1 = 3 个点,故 35 条线自动构成 STS(15)。这个系统还有大戏:§3.9 将证它可分解——35 条线能排成七个平行类,正是 §3.10 女生七日表的真身。

造法三(代数·拟群)。Bose 的机型。取 ℤ5 上的幂等交换拟群 x ∘ y = 3(x + y) (mod 5)(验幂等:x ∘ x = 6x = x)。点集为 ℤ5 × ℤ3 的 15 个数对;竖块 {(x, 0), (x, 1), (x, 2)} 共 5 条,斜块 {(x, i), (y, i), (x ∘ y, i + 1)}(x < y,i ∈ ℤ3)共 30 条——合 35 条。验对账:同层对由斜块接住,跨层对要么同 x(竖块)、要么落在斜块的第三点上,每对恰一次。

造法四(算法·精确覆盖)。什么都不假设:455 个三元组里选 35 个,令 105 个点对各被盖一次——这是精确覆盖问题,回溯加剪枝数秒即解。这条最笨的路其实最深刻:它对任何参数都能开机,是挑战页枚举 80 个非同构解、乃至 §3.16 方法论的引擎。

图 3-5 STS(15) 的四条上山道 循环·基差族 短块 + 两基块 ℤ15​ 的三份差 账本视角 几何·PG(3,2) 𝔽2​4​ 非零向量 线 = {x, y, x+y} 可分解·女生表 代数·Bose 拟群 x∘y = 3(x+y) 竖块 5 + 斜块 30 通用机型 6t+3 算法·回溯 455 选 35 105 对各盖一次 枚举一切解 四条道登的未必是同一座山:STS(15) 共 80 个非同构解(§3.14) 造法四是唯一能「看遍全山」的一条
图 3-5 四条构造路线:前三条各有舞台,第四条负责清点全境。

同一参数,四副面孔——这会是第六章的主旋律(码、设计、群三语互译)。值得注意的是四条路的「通用度」:循环法受制于同余与例外(v = 9 出局)、几何法要等 k 与域配合、Bose 法成批生产 6t + 3,而回溯法哪儿都能去只是慢。构造方法的通用度与优雅度此消彼长,这条张力线贯穿全书。

77讲义

第三章 Steiner 系与 Kirkman 问题3.7 Kirkman 存在定理(1847)

★★★ §3.2 的第二道门,本节开成正果:同余条件不仅必要,而且充分。

定理(Kirkman,1847)。STS(v) 存在,当且仅当 v ≡ 1, 3 (mod 6)。

历史的次序值得先摆正:Kirkman 在 1847 年的论文「On a problem in combinatorics」里给出了全部 v ≡ 1, 3 (mod 6) 情形的构造——比 Steiner 1853 年的提问还早六年。Steiner 不知道 Kirkman 的工作,Kirkman 也没有用「三元系」的语言标榜自己;后世以 Steiner 命名这族设计,又以 Kirkman 命名它最著名的可分解加强版(§3.9),算是各留一座碑。

证明的骨架是什么?1847 年的原证是一台「双档机床」:对 v ≡ 1 (mod 6) 用循环构造——找到 (v − 1)/6 条基块(这正是 Heffter 差问题,最终由 Peltesohn 1938 年补齐严格性,§3.4);对 v ≡ 3 (mod 6) 用「加倍」的戏法从较小的系统黏合出来。原证的循环档依赖一个当时的缺口,现代教科书多改走另一条更透彻的路——经由成对平衡设计(PBD)的递归,本页给出它的完整骨架,细节归 §3.8。

定义(成对平衡设计 PBD)。PBD(v, K, 1) 是把 λ = 1 但块容量放开的设计:块大小取自集合 K(不必全同),每对点仍恰同席一次。BIBD 是 K 只含一个数的特例。

PBD 视角的三步走。第一步:把 v 个点按某个 PBD 切块;第二步:在每个大块内部装一个小 STS;第三步:把跨块的点对用「横档」补齐——只要诸参数满足配套的同余条件,三步拼出的恰是 STS(v)。这台「切块—内装—补横档」的机器把大 v 归约到小 v:归纳的地基是已验算的有限多个小情形(v = 3, 7, 9, 13, 15, 19),地基之上一路砌到任意大。这台机器的成熟形态——Wilson 递归——要到 §3.8 才正式挂牌,那里还会顺便回答「为什么 1970 年代成了组合设计的黄金年代」。

注记(同年同题的两人)。在 Kirkman 的论文之前,Woolhouse 已于 1844 年在〈Lady's and Gentleman's Diary〉上发起过三元组安排的一般提问——正是这本历书将在 1850 年登出 Kirkman 女生问题(§3.10)。历书、历法、散步表:组合设计的问题史有一半登在「闲书」上。

本页收束为一句话:存在性有了完整答案——v ≡ 1, 3 (mod 6),一扇不多、一扇不少。接下来的问题是把答案「做得整齐」:能不能让这些线再排成整齐的班次?这是可分解性(§3.9),是本章后半章的真正主角。

78讲义

第三章 Steiner 系与 Kirkman 问题3.8 复制与粘合:递归构造

★★★ 本页把 §3.7 骨架里的机器拆开看零件。递归构造的中心思想一句话:用小设计当砖,用 PBD 当图纸,砌出大设计。

基本砖:加一点。最朴素的黏合是「加倍再加一」:从 STS(v) 出发造 STS(2v + 1) 之类的复合机。但直接的加倍并不总能成活——§3.6 已领教过 STS(15) 的敏感。可靠的是下面这条填充引理。

引理(PBD 闭合)。设存在 PBD(v, K, 1);又对每个 k ∈ K 存在 STS(k) 的适当「带洞」版本(洞设计:k 点中挖去 g 个点后其余点对仍可安排)。则(同余条件满足时)存在 STS(v)。

证明思路即「切块—内装—补横档」:图纸 PBD 把点分成大小 k 的块;每块内用对应的内装设计盖住块内点对;跨块点对——两个分属不同图块的点的相遇——由「横档」层补齐,横档层的构造是把整个点集按洞分组后的平行安排。三层的配额逐层核对,§3.2 的整性门卫在每层各拦一次;全部放行,合体即为 STS(v)。

为什么地基只需有限多个小情形。递归机器最深刻的一点是:三步中的同余检查与原参数的同余检查同型——大 v 的门槛恰好是小 v 门槛的复制。于是只要验证有限多个基座情形,无穷级验便一次完成;基座之上,机器自行向上延伸。这正是 Wilson 在 1970 年代的洞察:把「对每个 v 单独找构造」换成「对一族 v 批量验收图纸」,存在性定理从此成批下线。

图 3-6 递归机床:图纸(PBD)→ 内装(小 STS)→ 横档(跨块补齐) 图纸层:PBD 把 v 点切成大块 每对点恰在一个块 决定「车间」的划分 内装层:小 STS 每块内部自成一个 三元系(带洞版) 消化块内的点对 横档层:补跨块 分属两块的点对 由平行的横档安排 恰好各接一次 三层配额逐层核对 → 合体即 STS(v);同余门卫在每层放行
图 3-6 递归构造的三个工位。Wilson 的洞察是:图纸与洞设计的存在条件可以成批核对,于是存在性定理成批下线。

Wilson 的纲领。1972 至 1975 年间,Richard Wilson 把这台机器推到极致:对任何固定的 k 与 λ,BIBD(v, k, λ) 对「几乎全部」满足整性必要条件的 v 存在(著名的「渐近存在定理」,1980 年代补齐为全部大情形)。第一章留下的伏笔在此兑现:整性必要条件之外,几乎不再有隐藏的拦路虎——这是设计理论深处的定音鼓。

79讲义

第三章 Steiner 系与 Kirkman 问题3.9 可分解设计:平行类

★★★ 存在性解决之后,整齐性登场。本页引入本章后半部的关键词。

定义(平行类与可分解)。BIBD 的一个平行类是把全部 v 个点不重不漏地分块的一组块(两两不交、并集为全集)。若全部 b 个块能分进若干平行类,则称设计可分解(resolvable);可分解的 BIBD 记作 RBIBD,可分解的 STS(v) 特称 Kirkman 三元系,记 KTS(v)。

参数账。平行类内每块 k 点、共盖 v 点,故每类恰 v/k 个块;总类数为 b ÷ (v/k) = r——每个平行类恰好对应点的一次「整轮值勤」,可分解性把 r = (v − 1)/2 次同席排成了 r 个整齐班次。KTS(v) 的整性门卫多一道:v/3 须为整数,即 v ≡ 3 (mod 6)——可分解比存在更挑剔,15、21、27 可以,7、13、19 免谈。

两个现成标本。其一,§3.6 造法二的 PG(3, 2):本页开头的悬念在此兑现——它的 35 条线能分成 7 个 spread(每 spread 5 条互不相交的线盖满 15 点),分解的存在性本书留给实验页(p96)程序核验;于是 PG(3, 2) 就是一个 KTS(15)。事实上(§3.10 将用)它是唯一的那个。其二,STS(9):它正是仿射平面 AG(2, 3)——§3.4 已证它非循环、必须另构造,而仿射平面正是现成的替代品;12 条线分 4 个平行类,每类 3 条线——KTS(9),例题二将亲手排班。

图 3-7 KTS(9)=仿射平面 AG(2,3):12 条线、4 个平行类 类 1(斜率 0) aa′a″ bb′b″ cc′c″ 三「横行」 类 2(斜率 ∞) abc a′b′c′ a″b″c″ 三「竖列」 类 3(斜率 1) ab″c′ bc″a′ ca″b′ 三条对角线向 类 4(斜率 −1) ac′b″ ba′c″ cb′a″ 反方向对角 每类 3 条线盖满 9 点;4 类 × 3 线 = 12 线 = b;每对点同属恰一类中的一线
图 3-7 仿射几何的口吻:平行线不相交,每点对恰在一条线上——「平行类」因此得名。

为什么「平行」。图 3-7 的名字来自仿射几何:同一平行类内的块(线)互不相交,如同一族平行线;不同类的两条线必交于一点。点对—线—平行类的三层账目,与 §3.11 的仿射平面一般化只差一步:那里将看到,可分解性与有限几何互为镜像。

80讲义

第三章 Steiner 系与 Kirkman 问题3.10 Kirkman 女生问题与七日表

★★★ 组合设计史上最有名的散步,本页用刚领到的「平行类」词汇把它一步说破。

问题(Kirkman,1850,〈Lady's and Gentleman's Diary〉)。十五个女生,每天三人一排出街散步,共走七天。问:如何排表,使得任何两名女生在这七天里恰同行一次?

翻译只要一行:把 15 个女生排成 KTS(15)——每天恰好是一个平行类(5 个三人组盖满 15 人),七天 = 7 个平行类 = r 个班次;「恰同行一次」就是 STS 的每对恰一线。所以女生问题的数学内核是:KTS(15) 存在吗?

答案:存在,而且本质上只有一个。Kirkman 本人在随后一年的历书里给出了答案(他甚至连着几期给出不同排法);今天知道全部本质不同的解只有一个——它正是 §3.6 造法二的 PG(3, 2)(每个 KTS(15) 都同构于它,自同构群阶 20160)。下面的七日表是本书按 §3.6 造法四的回溯程序从 PG(3, 2) 里「摇」出来的一份代表(实验页将程序核验全部约束):

图 3-8 女生散步七日表(KTS(15) 的一份排法) 第 1 日 1-2-3 4-8-12 5-10-15 6-11-13 7-9-14 第 2 日 1-4-5 2-8-10 3-13-14 6-9-15 7-11-12 第 3 日 1-6-7 2-9-11 3-12-15 4-10-14 5-8-13 第 4 日 1-8-9 2-12-14 3-5-6 4-11-15 7-10-13 第 5 日 1-10-11 2-13-15 3-4-7 5-9-12 6-8-14 第 6 日 1-12-13 2-4-6 3-9-10 5-11-14 7-8-15 第 7 日 1-14-15 2-5-7 3-8-11 4-9-13 6-10-12 每行 5 组盖满 15 人;全表 35 组,任两名女生恰同行一次(实验页程序核验)
图 3-8 七日表。表里的「1」每天换七位同伴、把其余 14 人两两见遍——这正是 r = 7 的日程表含义。

读表的两把尺子。第一把查「天」:每行 5 组互不相交、并集为全部 15 人——平行类的定义。第二把查「人」:任取一名女生,比如 1 号,她七天的同伴依次是 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15——其余十四人各见一面,一天两位,七天正好见完。

注记(问题与定理的年龄差)。KTS(15) 存在(1850);但「对一切 v ≡ 3 (mod 6),KTS(v) 是否都存在」——女生问题的一般化——悬置了 121 年,直到 1971 年 Ray-Chaudhuri 与 Wilson 一举解决(§3.12)。一道野餐级的小题,牵出一台大定理:这确是本章的主旋律。

81讲义

第三章 Steiner 系与 Kirkman 问题3.11 平行类的几何:仿射平面

★★ §3.9 的「平行」不只是比喻。本页把可分解性翻到几何那一面。

定义(仿射平面)。阶 q 的仿射平面 AG(2, q):q2 个点的集合与若干条线,满足①每线 q 点;②任两点恰在一条线上;③过线外一点恰有一条线与给定线不相交(平行公理)。用 𝔽q 上的数对与斜率语言即可造出(q 为素数幂)。

仿射平面就是可分解设计:命题。AG(2, q) 作为块设计恰是可分解 RBIBD(q2, q, 1)。验账:b = q(q + 1) 条线分属 q + 1 个平行方向(斜率 0, ∞ 与 𝔽q 的每个非零斜率各一族),每族 q 条平行线盖满 q2 点——平行类;每对点唯一斜率、唯一线,λ = 1。q = 3 时即 KTS(9)(图 3-7),q = 2 时四点三线的「田字」是最小的可分解设计。

反向也成立。可分解 BIBD(q2, q, 1)(q ≥ 2)必满足仿射公理:同一平行类的块不相交(定义);不同平行类的两块若不相交,则数一数——类的条数 q 乘以每条 q 点,平行公理由纯计数逼出。于是:「可分解 (q2, q, 1)-BIBD」与「阶 q 仿射平面」是同一对象的两个名字。顺带得到仿射平面与射影平面的换算:AG(2, q) 添一条「无穷远线」(q + 1 个无穷远点,每个方向一个)即成 PG(2, q)——第二章的射影平面在这里找到了它的「无穷远」来历。

命题(可分解的阶数门卫)。若 RBIBD(v, k, λ) 存在,则除了 BIBD 的旧条件 (k − 1) | λ(v − 1) 之外,还需

k | v(每个平行类恰 v/k 个块).

对 λ = 1、k = 3:两条件合读即 v ≡ 3 (mod 6)——与 §3.9 的参数账一致。

写清楚一点:可分解 STS(v) 要求 3 | v(每类 v/3 块须为整数),连同 §3.2 的 v ≡ 1, 3 (mod 6),得 v ≡ 3 (mod 6)——与 §3.9 一致。更深的一层(Bruck–Ryser 型的拦截、以及「哪些阶的仿射平面存在」这个与欧拉猜想缠斗的公案)放到第四章:那里 n = 6 的三十六军官之谜正是本章与下一章的界碑。

82讲义

第三章 Steiner 系与 Kirkman 问题3.12 Ray-Chaudhuri–Wilson 定理

★★★ 1971 年,Dijen Ray-Chaudhuri 与 Richard Wilson 在一篇短小的通讯里解决了悬置 121 年的女生问题一般化。

定理(Ray-Chaudhuri–Wilson,1971)。对每个 v ≡ 3 (mod 6),KTS(v) 存在。更一般地,对固定 k 与足够大的 v,可分解设计的整性必要条件(v ≡ 0 (mod k) 与 λ(v − 1) ≡ 0 (mod k − 1))本质上也是充分的。

定理的分量在「一般地」三个字。具体到 KTS,1969 年前后已有若干大 v 的部分结果(Kirkman 本人 1847/1850 的工作覆盖了一些循环情形,Hanani 的 1960 年代长文补了大片疆域);RCW 的贡献是把全部剩余情形一次清账,并把同一套技术推向一般的可分解 BIBD——可分解版的「Wilson 渐近存在定理」。组合设计理论的现代形态(参数不再逐个手工、而是成批机器判定)由此定形。

证明思想一瞥。直接构造对未知的大 v 无从下手,RCW 的机器是递归 + 基座:以「主设计」为图纸把 v 点切成小组,组内用已知的中小型 KTS,跨组用精心安排的横档(这继承了 §3.8 的三工位,但每个工位都要额外的「可分解性」对账——平行类不能被黏合破坏)。基座情形用计算机辅助的有限枚举封口。今天回看,这是 §3.7–3.8 递归哲学在「整齐性」维度的完整复刻:存在与可分解,同一台机床、两套质检。

图 3-9 女生问题的年表:从历书到定理 1847/1850 Kirkman:STS 存在 KTS(15) 七日表 1940s–60s Nandi、Hanani 等 成片疆域逐个攻克 1971 Ray-Chaudhuri–Wilson 全部 v ≡ 3 (mod 6) 1970s Wilson 纲领 121 年悬案 → 成批判定:设计的存在性从此有了「流水线」
图 3-9 从 1850 到 1971:一道历书趣题走完到深层理论的路。

RCW 的另一半面貌。第五章还有一位同名主角:「Ray-Chaudhuri–Wilson 不等式」(t-设计中 b ≥ C(v, s))。同一位 R. Wilson 在 1970 年代同时推进了存在性与界两大方向;本页记住分工即可——本页的 RCW 管「有没有」,第五章的 RCW 管「至少多少」。

83讲义

第三章 Steiner 系与 Kirkman 问题3.13 大集问题

★★★ 存在性(§3.7)与可分解性(§3.12)之后,三元系的第三问是排布的极限:给定 v 个点,互不相交的三元系最多能并排放几套?

定义(大集)。把 v 个点的全部 C(v, 3) 个三元组,分装成若干个两两无公共线的 STS(v),且并起来不重不漏——这样一个「三元系的完全分装」称为大集(large set),记 LDS(v)。份是固定的:每套 STS 用 v(v − 1)/6 条线,总库存 C(v, 3) 条,故大集恰有 v − 2 套。

最小的账就亮红灯。v = 7:库存 35 个三元组,每套 Fano 用 7 条,应有 5 套。但本书的回溯程序把全部 30 个标号 Fano 系统逐对试配,找不到任何一套 5 张互不相交的名册——LDS(7) 不存在。这与文献的古典结论一致:Cayley 在 1850 年的一则短注里最先指出这套分装做不成,而且理由是纯初等的(对第一套 Fano 的每条线逐一追踪它在其余四套中的强制位置,账目最终相撞;完整论证可查 Colbourn–Dinitz 手册三元系一章)。这是大集问题公认的唯一例外。

定理(陆家羲,1981–1983)。对一切 v ≡ 1, 3 (mod 6) 且 v > 7,大集 LDS(v) 存在。唯一的例外就是 7。

这个定理的身后事值得整页细看。大集问题是 1850 年代由 Cayley 一句话带出(他注意到 Fano 无法分装)后沉睡百年的悬案;1970 年代多人推进出「对充分大的 v 成立」的部分结果,但一般情形的收网者是一位内蒙古包头的中学物理教师。陆家羲(1935–1983)在业余时间自学研究组合设计,1980 年前后写下六篇论文「On large sets of disjoint Steiner triple systems I–VI」,一举解决大集问题;稿件辗转国内多年无人识货,最终 1983–1984 年发表于〈Journal of Combinatorial Theory, Series A〉——国际顶刊连载数篇,震动学界。次年他猝然离世,距收到出刊的样本不远。设计理论界以「Kirkman 女生与大集」两个问题记住了这个名字;§人物谱(综合站)将再立小传。

图 3-10 大集问题的年表 1850 Cayley 注意到 Fano 无法分装 1970s 部分结果: 大 v 成立、v=7 排除 1981–1983 陆家羲六连文 一般大集全部解决 1983–84 JCTA 连载 例外只有一个:v = 7(本书程序亦证:30 个 Fano 中选不出 5 个互不相交的) 其余全部 v ≡ 1, 3 (mod 6),大集存在——v − 2 套三元系分尽天下三元组
图 3-10 大集问题年表:百年悬案与一位中学教师的业余长征。

至此三元系的三问——存在、可分解、大集——全部清账;例外清单都恰好带着同一个数字:循环例外 v = 9(§3.4)、大集例外 v = 7。下一页换个口味:数一数解的个数,看看「存在」的背后藏着怎样惊人的繁荣。

84讲义

第三章 Steiner 系与 Kirkman 问题3.14 STS 的个数:计数的爆炸

★★ 存在性(有几种 v 能造)之后是计数性(每种 v 能造几个)。这一页的数字会指数式失控。

非同构解的清单。把同构的归为一类后逐一清点,前几站的答案:v = 3:1 个;v = 7:1 个(§3.3);v = 9:1 个(§3.4 末与 §3.9——仿射平面);v = 13:2 个(§3.5);v = 15:80 个——Cole、Cummings 与 White 在 1917 年用手算完成的枚举长征;v = 19:11 084 874 829 个——这个一百一十亿量级的数字直到 2004 年才由 Kaski 与 Östergård 借助大规模计算机搜索精确确定。

标号计数的换算。非同构数只是冰山一角:每个自同构群阶 |Aut| 的解贡献 v!/|Aut| 个标号实现。以 v = 7 为例:5040/168 = 30 个标号 STS——§3.13 的大集程序正是从这 30 个出发的。解的个数随 v 的增长是组合数学里最陡的曲线之一。

定理(Wilson,1974,渐近计数)。标号 STS(v) 的总个数(记 N(v))满足

(v/e2)v2/6 ≈ N(v) ≈ (v/e2)v2/6·e−v2/2…的主项

准确的表述是 log N(v) ∼ (v2/6) log v:个数的主阶是 (v/e2)v2/6 量级——每个点对约有 v/e2 种去处、共 C(v, 2)/3 个「独立配额」。

这条定理的证明用的是概率方法:随机安放的三元组多半能局部修成 STS(Nibble 与 Rödl nibble 的舞台)。「存在」(§3.7 问的是零与一)与「几乎处处存在」(问的是多少)之间的天堑,Wilson 用一台机器同时跨越——递归构造既能证明存在、也能数清个数。

图 3-11 非同构 STS 解的个数:一场指数爆炸 v = 3 v = 7 v = 9 v = 13 v = 15 v = 19 1 1 1 2 80 ≈ 111 亿 1917 年的手算长征(80 个)→ 2004 年的计算机马拉松(一百一十亿) Wilson 渐近:log N(v) ∼ (v2​/6) log v —— 个数按 (v/e2​)v2​/6​ 量级暴涨
图 3-11 纵轴非均匀:小 v 稀稀落落,大 v 一日千里。设计的「宇宙」远比想象拥挤。

计数视角下的本章主角们。STS(15) 的 80 个解里恰有一个可分解(KTS(15),§3.10 的唯一性)——「八十选一」;80 个解的 Pasch 计数各有不同(§3.15 的不变量),循环解、Bose 解、PG(3, 2) 解各归何类,挑战页的程序会给每个解验明正身。计数不是数字游戏:解与解之间的差异(同构与否、子结构多少)正是设计分类学的全部内容。

85讲义

第三章 Steiner 系与 Kirkman 问题3.15 Pasch 配置与超图视角

★★ 本页给三元系装上「显微镜」:不问整体,专看四条线的局部花纹。

定义(Pasch 配置)。六个点 {a, b, c, d, e, f} 上的四条线

{a, b, c},{a, d, e},{b, d, f},{c, e, f}

构成一个 Pasch 配置(又称「四边形」):四线、六点、每点恰属两线、任何两线交于不同点。不含 Pasch 的 STS 称为反 Pasch 系。

名字的来历:这四条线的相交图案正是 Pasch 公理(关于线与三角形的初等几何公理)所谈论的构形,设计理论借用了几何基础的这个名词。它也是三元系世界里最小的「非平凡子设计」候选:三条线的构形都太平凡,四条线里 Pasch 是第一个有纠缠的花纹。

小系统的 Pasch 账本(全部程序核验)。STS(7):恰 7 个——§3.3 的「躲开一点余四线」给出一一对应;STS(9)(仿射平面):0 个——它是天然的反 Pasch 系(这给「STS(9) ≠ Fano 放大」提供了最轻的不变量);循环 STS(13):13 个;循环 STS(15) 与 PG(3, 2):105 个(有意思的是两者持平——但它们的 Pasch 分布不同:前者诸线所属的 Pasch 数目有多有少,后者均匀,所以 Pasch 计数本身不足以分辨一切,需要更细的不变量)。

图 3-12 Pasch 配置:四线六点的最小花纹 b c a d f e {b, d, f} {b, a? } 四线:{a,b,c} {a,d,e} {b,d,f} {c,e,f} 六点各属两线 两两交点互不相同 STS(7):7 个 STS(9):0 个 cyc STS(13):13 个 v=15 两解:105 个
图 3-12 Pasch 花纹与四个小系统的 Pasch 账本(§3.3 的「躲开一点」对应表右侧数字)。

超图视角。把「点是顶点、线是边」的翻译再进一步:STS 是三一致线性超图(3-uniform linear hypergraph)的特款——任意两个顶点恰被一条超边覆盖。Pasch 配置就是超图语言里的四边二圈(Berge 环的特款)。超图视角的两个红利:其一,「随机三一致超图」的理论给出了 §3.14 渐近计数的现代证明框架;其二,反 Pasch 系与「最大无 Pasch 子系」的极值问题连接到加性组合(cap set 一族问题的近亲)。本章只取第一口:知道子结构的花纹是分类的指纹就够了——80 个 STS(15) 的验明正身,用的正是 Pasch 计数加谱不变量的组合。

86讲义

第三章 Steiner 系与 Kirkman 问题3.16 方法论:小参数穷举与大定理

★★ 本章三段行程用了三套截然不同的方法论,本页摆在一起对照。

第一套:构造性代数。基差族(§3.4–3.5)、Bose 拟群(§3.6)——给定参数,先找代数结构(循环群、拟群、有限域),把设计变成结构的系数账本。威力在于成批生产:一套机器覆盖整族参数;局限在于例外敏感——STS(9) 的循环机器失灵、Bose 只管 6t + 3。

第二套:递归归纳。PBD 闭合与 Wilson 纲领(§3.7–3.8、§3.12)——把大参数归约到小参数,同余条件逐层复制。威力在于一次解决无穷多个参数;局限在于基座仍需手工或机器填平,且「几乎全部」与「全部」之间常有一段艰难的收尾。

第三套:穷举搜索。精确覆盖回溯(§3.6 造法四、§3.13 大集程序、§3.15 Pasch 账本)——把「存在/计数/分类」全化为有限搜索。威力在于同时回答存在、计数与分类三问,还能充当前两套的「验钞机」;局限是指数爆炸:v = 15 秒级、v = 19 需要 2004 年级的计算工程、v = 21 起连分类都遥不可及(计数有 Wilson 渐近兜底,但精确数至今未测出)。

图 3-13 三套方法论:何时用哪套 方法论 覆盖范围 强项 软肋 代数构造 整族参数 成批生产·显式 例外敏感 递归归纳 全部大参数 一次定型·渐近 基座靠外援 穷举搜索 小参数(v ≤ 19) 存在+计数+分类 指数爆炸 三套互补:机器生产 → 归纳定型 → 穷举验钞 本章每一次「程序核账」都是第三套在给前两套当裁判
图 3-13 方法论对照表。第五章的 Witt 宏构、第六章的 Golay 码,将再各自上演一遍「代数构造+穷举验证」的双簧。

三套方法论的精神可以压成一句话:先让结构自己说话,再让归纳接管无穷,最后让机器看守例外。在后续章节遇到任何一个新设计族时,不妨都先问这三个问题:代数机器在哪?递归如何搭桥?最小的几个情形能不能亲手穷举?——问题问对了,答案已经在一半的路上。

87例题

第三章 Steiner 系与 Kirkman 问题例题一:基差族的验算

★★ 题目。验证 {0, 1, 4} 与 {0, 2, 7} 是 ℤ13 上的 (13, 3, 1)-基差族,并写出它们生成的 STS(13) 的全部 26 条线;再验证乘子 2 把这个基差族映成等价基差族 {0, 2, 8}, {0, 1, 4}。

第一步:逐条算差。基块 {0, 1, 4} 的有序差:1 − 0 = 1,4 − 0 = 4,4 − 1 = 3,0 − 1 = 12,0 − 4 = 9,1 − 4 = 10,得 {1, 3, 4, 9, 10, 12} = ±{1, 3, 4}。基块 {0, 2, 7}:2,7,5,11,6,8,得 {2, 5, 6, 7, 8, 11} = ±{2, 5, 7}。两份差集无交,并集 {1, 2, …, 12} 分尽全部非零剩余——基差族验明。

第二步:生成并核对线数。每条基块平移 13 次,共 26 条候选线;因两条基块的轨道互不重合(否则某差重复出现),恰得 26 条线,与 b = 13·12/6 = 26 相符。抽查几条:{0, 1, 4} + 6 = {6, 7, 10};{0, 2, 7} + 9 = {9, 11, 3} = {3, 9, 11}。核对点对,例如 (3, 10):差 7 属于第二基块的配额,故所在线是 {0, 2, 7} + 3 = {3, 5, 10} ✓。

第三步:乘子 2 的换手。基差族整体乘 2(逐点乘):2·{0, 1, 4} = {0, 2, 8};2·{0, 2, 7} = {0, 4, 14} = {0, 1, 4} (mod 13)。所以

2·{{0, 1, 4}, {0, 2, 7}} = {{0, 2, 8}, {0, 1, 4}},

新基差族的两条块分别落入原基差族的轨道({0, 2, 8} 是 {0, 1, 4} 的平移像:差同为 ±{1, 3, 4} 型;{0, 1, 4} 直接是原第二块)——两个基差族生成同一条 26 线名册,这正是 §3.5「36 个候选并成一条轨道」中换手一步的具体模样。

收尾。验算基差族的三步曲——逐差、数轨道、试乘子——就是 §3.5 搜索的唯一人工部分;剩下的交给机器。

88例题

第三章 Steiner 系与 Kirkman 问题例题二:亲手分解 KTS(9)

★★ 题目。九个点 {a, a′, a″, b, b′, b″, c, c′, c″} 的 12 条线(图 3-7)已给为四类:横行 {a, a′, a″}, {b, b′, b″}, {c, c′, c″};竖列 {a, b, c}, {a′, b′, c′}, {a″, b″, c″};对角 {a, b″, c′}, {b, c″, a′}, {c, a″, b′} 与反对角 {a, c′, b″}, {b, a′, c″}, {c, b′, a″}。验证它们构成 STS(9),并指出这 12 条线恰分 4 个平行类——从而是 KTS(9)。

第一步:STS 验账。每线 3 点、共 12 条线,配额 12 × 3 = 36 = C(9, 2) 恰满,故只需查「任何一对点至多同线」。同字母对(如 (a, a′))同在横行;同撇号对(如 (a, b))同在竖列;不同字母不同撇号的对按「撇号差」分家:(a, b″) 型进对角线、(a, b′) 型进反对角线——两类线各以固定的「移位量」出现,同一对不可能进两条线。抽查:(a, c′) 在反对角线 {a, c′, b″};(a, b′) 在 {c, a″, b′} ✓。

第二步:平行类点名。四类各 3 条线,每类内部两两不交、并集为全 9 点(横行类扫三行、竖列类扫三列、两条对角类各扫三条错位对角线)——按 §3.9 定义,4 个类恰好都是平行类;类数 4 = r ✓。

图 3-14 九宫表上的 KTS(9):三行、三列、两组错位对角线 a a′ a″ b b′ b″ c c′ c″ 三行=类 1 三列=类 2 错位对角两组=类 3、4 每对点恰同一线:同字母看行、同撇号看列、其余看撇号差
图 3-14 九宫表视角:12 条线是三行、三列与两组「 knight 巡回」式错位线。

第三步:附赠结论。把 9 个点看成 𝔽3 × 𝔽3 的数对(字母 ↔ 第一坐标、撇号 ↔ 第二坐标),四类线恰是四族斜率——这正是 §3.11 的 AG(2, 3)。仿射几何、可分解三元系、九宫表:同一个 KTS(9) 的三副面孔。

收尾。本题的「九宫表」排法是最古老的可分解设计教具之一;它也是 §3.10 女生七日表的九人微缩版——把 15 换 9、7 换 4,散步问题便可在一张方格纸上讲完。

89习题

第三章 Steiner 系与 Kirkman 问题习题课(一):存在性初判

★ 本组习题只动用 §3.1–3.4 的参数账与循环机器。逢整性检查,先写清门卫再说结论。

习题 3-1(参数速算)。对 v = 7, 9, 13, 15, 19, 21 列表算出 STS(v) 的 b 与 r;指出其中哪些 v 可能支持可分解三元系,并写明用的是哪条门卫。

习题 3-2(门卫执法)。判断下列参数能否为 STS,陈述理由:(1) v = 17;(2) v = 18;(3) v = 25;(4) v = 27;(5) v = 33。答案应各为一句话:哪条门卫放行或拦下。

习题 3-3(基差族初验)。验证 {0, 1, 3} 是 ℤ7 的 (7, 3, 1)-基差族,列出其 7 条平移线,并与 §3.3 的 Fano 名册对照:两种写法给出同一名册吗?

习题 3-4(短轨道的账)。对 v = 15:验证短块 {0, 5, 10} 的平移轨道恰有 5 条线、稳定子为 {0, 5, 10} 的加法倍群;说明这 5 条线结清的差恰为 ±5,故剩余 12 个差需 (15 − 3)/6 = 2 条普通基块。

习题 3-5(STS(9) 非循环的复述)。不看书,重演 §3.4 的三情形论证:a = 1, 2, 4 时为什么都找不到合规的 b?论证里「按 ± 对称可设 a ∈ {1, 2, 4}」这一步用到什么?(提示:差集的 ± 封闭性与换名 {0, a, b} ↦ {0, b − a, −a}。)

习题 3-6(可分解计数)。KTS(v) 中每个平行类有 v/3 条线、共 r = (v − 1)/2 个类。对 v = 15, 21, 27 算出「每类块数 × 类数」,验证恰等于 b;再说明「七日表」这个词只在 v = 15 时字面成立(类数 = 7),v = 21, 27 分别是几「日」?

提示与答案要点。3-1:可分解候选须 v ≡ 3 (mod 6),即 9, 15, 21。3-2:(1) ✗ b 非整;(2) ✗ r 非整;(3) ✓ 门卫全过;(4) ✓;(5) ✓。3-4:稳定子即 {0, 5, 10} 自身(阶 3),轨道 15/3 = 5。3-6:15 → 5 × 7;21 → 7 × 10;27 → 9 × 13——「十日表」「十三日表」。

90习题

第三章 Steiner 系与 Kirkman 问题习题课(二):递归构造的演练

★★ 本组习题动用 §3.5–3.10。凡涉程序,先写清「枚举什么、剪枝靠什么、如何验钞」再动手。

习题 3-7(乘子轨道)。§3.5 说 36 个规范形基差族「全落一条乘子轨道」。写程序枚举 ℤ13 的全部规范形候选,对每个候选施以 12 个乘子并取规范形,验证轨道数为 1;再把乘子换成仿射变换 x ↦ ux + t,回答:轨道数会变吗?

习题 3-8(Pasch 清点)。实现 §3.15 的 Pasch 判定(四线六点、每点度数恰二),对 §3.3 的 STS(7) 名册清点 Pasch,验证恰得 7 个且一一对应于「被躲开的点」。

习题 3-9(七日表的三查)。把 §3.10 的七日表敲进程序,依次验证:(1) 每日 5 组互不相交并盖满 15 人;(2) 全表 35 组;(3) 105 个点对各组恰出现一次。再回答:若漏抄一行的最后一组,程序先在哪一查处报错?

习题 3-10(自同构初探)。验证乘 3 是循环 STS(13) 的自同构:把 26 条线名册逐条乘 3,确认名册不变。再试乘 2、乘 5,哪个保持、哪个打乱?与 §3.5 的稳定子 {1, 3, 9} 对照。

习题 3-11(拟群对账)。按 §3.6 造法三写出 Bose 系统的 35 条线,验证两点:(1) 每对点恰一线;(2) 映射 (x, i) ↦ (x + 1, i) 与 (x, i) ↦ (x, i + 1) 都是自同构——从而 Bose 系统的自同构群至少含 ℤ5 × ℤ3。

习题 3-12(大集的边界)。程序搜索:能否在 30 个标号 Fano 系统中选出 4 套互不相交的?(大集要 5 套,四套呢?)记录搜索结果与用时,并猜一句:差的那一套「卡」在哪种三元组上。

提示与答案要点。3-7:仿射变换把候选集映到自身,轨道数不变——平移已吸收进规范形。3-9:漏抄后先在「每日 5 组盖 15 人」处报错;若抄错一组则「105 对各一次」先爆。3-10:乘 3 保持(稳定子),乘 2 打乱(换手到等价解),乘 5 属于 {1, 3, 9} 的陪集,打乱。3-12:四套可以找到(总互不相交数最多为四),剩下拼不进第五套的正是「第一套任何一线的补全型」三元组。

91地图

第三章 Steiner 系与 Kirkman 问题第三章地图:从三元系到可分解

第三章知识地图:一张三元系的全景 定义与参数 §3.1 b = v(v−1)/6,r = (v−1)/2 第一道门 §3.2 v ≡ 1, 3 (mod 6) 小系统巡游 §3.3–3.6 STS(7)(9)(13)(15) 循环机器 §3.4–3.5 基差族 · 例外 v = 9 第二道门 §3.7–3.8 Kirkman 1847 · PBD 递归 可分解 §3.9 平行类 · KTS(v),v ≡ 3 (mod 6) 仿射平面 §3.11 AG(2,q) = RBIBD(q2​, q, 1) KTS(15)=PG(3,2) §3.10 唯一 · 女生七日表 大集 §3.13 陆家羲:例外仅 v = 7 计数与花纹 §3.14–3.15 1, 1, 2, 80 · Pasch 主线:参数门 → 构造 → 存在定理 → 可分解 → 分类与计数(现代篇)
图 3-15 第三章全景:左列是「账」,中列是「定理」,右列是「现代地形」;例外(9 与 7)各踞一角。

读图三句话。其一,本章的骨架是两道门:第一道(整性)随口带过,第二道(存在)由 Kirkman 1847 一次打开——此后一切构造都在门内施工。其二,「可分解」是从存在通向应用(女生表)的窄走廊,走廊尽头的 KTS(15) 恰是几何对象 PG(3, 2),把本章与有限域、与第四章的有限几何接通。其三,右下的两块「计数与花纹」是通往现代的地界:解的个数(80 与一百一十亿)与子结构指纹(Pasch)共同构成分类学的入场券,也把「例外」的哲学(循环例外 9、大集例外 7)摆上台面——例外不是遗憾,是最珍贵的教学样本。

92小结

第三章 Steiner 系与 Kirkman 问题第三章小结(上):STS 的参数与构造

定义与参数。STS(v)=(v, 3, 1)-BIBD:每对点恰同一线。恒等式给出 r = (v − 1)/2、b = v(v − 1)/6;整性等价于

v ≡ 1, 3 (mod 6),

这是存在性的必要条件,且由 Kirkman 定理(§3.7)知它也充分——一扇不多、一扇不少。

构造工具箱。①循环·基差族:v ≡ 1 (mod 6) 用 (v−1)/6 条基块,v ≡ 3 (mod 6) 加一条短轨道块;②几何:PG(3, 2) 的 35 条线(STS(15));③代数:Bose 拟群 x∘y = 3(x+y)(通用机型 6t+3);④算法:精确覆盖回溯(455 选 35)。四种造法的适用域与例外见 §3.6 图 3-5。

小系统档案。STS(7)=Fano=对称 (7,3,1):唯一,|Aut| = 168,Pasch 恰 7 个;STS(9)=AG(2, 3):唯一,非循环(三情形论证),反 Pasch,12 线 4 平行类;STS(13):非同构恰 2 个,循环解唯一(基差族 {0,1,4}+{0,2,7},乘子轨道一条,|Aut| ≥ 39);STS(15):80 个非同构解,其一为可分解的 KTS(15)。

两个「唯一例外」。循环三元系:Peltesohn 1938——一切 v ≡ 1, 3 (mod 6),例外 v = 9;大集:陆家羲 1981–1983——一切 v ≡ 1, 3 (mod 6) 且 v > 7,例外 v = 7(Cayley 1850 首证不可分装)。

计数刻度。非同构个数 1, 1, 1, 2, 80, 11 084 874 829(v = 3, 7, 9, 13, 15, 19);标号个数按 (v/e2)v2/6 量级暴涨(Wilson 渐近)。计数不再是附属问题:解的丰度本身就是设计宇宙的基本事实。

小结速览卡(上) · 定义:每对点恰一线 参数:r=(v−1)/2,b=v(v−1)/6 · 门槛:v ≡ 1, 3 (mod 6)(必要且充分) · 构造四件套:循环基差族 / PG(3,2) / Bose 拟群 / 回溯 · 个数:1, 1, 1, 2, 80, 一百一十亿(v = 3→19) · 例外双璧:循环无 9 之谜 · 大集缺 7 之谜
图 3-16 上篇五条:定义、门槛、构造、计数、例外。
93小结

第三章 Steiner 系与 Kirkman 问题第三章小结(下):Kirkman 问题全解

可分解的语言。平行类=不重不漏盖满全体的一组块;全部块可分入平行类则称可分解。参数账加一道门卫:k | v,对 STS 即 v ≡ 3 (mod 6)。可分解 STS 特称 Kirkman 三元系 KTS(v)。

女生问题的完整答案。十五女生七日表=KTS(15),存在(Kirkman 1850)且本质唯一:每个 KTS(15) 同构于 PG(3, 2),自同构群阶 20160。一般情形:Ray-Chaudhuri–Wilson(1971)——KTS(v) 存在当且仅当 v ≡ 3 (mod 6);121 年悬案就此清账。可分解 BIBD 的「几乎全部」存在性由 Wilson 纲领同步奠定。

几何对读。仿射平面 AG(2, q)=可分解 (q2, q, 1)-BIBD(两个名字、一个对象);添无穷远线得射影平面 PG(2, q)——第二章的几何在第三章找到了可分解的化身。AG(2, 3)=KTS(9)=STS(9),一张九宫表三种身份(例题二)。

大集与陆家羲。大集 LDS(v)=把 C(v, 3) 个三元组分装成 v − 2 套互不相交的 STS。v = 7 不可能(Cayley 1850;程序复核 30 选不出 5);其余一切可许 v 皆可能——陆家羲六连文(1981–1983,JCTA 1983–84 刊出)。存在、可分解、大集三问的例外清单分别有 9 与 7 两枚钉子。

小结速览卡(下) · 平行类=整齐班次;KTS(v) ⇔ v ≡ 3 (mod 6)(RCW 1971) · KTS(15) 唯一=PG(3,2),|Aut| = 20160=女生七日表 · AG(2,q)=RBIBD(q2​,q,1);无穷远线接回 PG(2,q) · 大集=v−2 套分尽三元组;陆家羲:v > 7 全存在 · 年表:1847 → 1850 → 1938 → 1971 → 1983
图 3-17 下篇五条:可分解、七日表、几何对读、大集、年表。

与前后章的接线。向后看:本章的差族与自同构技巧承接第二章,将在第五章升级为 t-设计的递降与 Witt 构造。向前看:仿射平面 AG(2, q) 的 q + 1 个平行方向,正是下一章正交拉丁方 q − 1 个的另一个化身——第四章的三十六军官之谜,已经在走廊尽头向本书招手。

94思想卡

第三章 Steiner 系与 Kirkman 问题思想卡:存在性是一门科学

本章最容易被视为「一堆趣味题的合集」:女生散步、九宫排班、历书提问。但把它读成科学史的样本,会看到一个精确的学科发育过程——存在性问题如何从谜语长成定理。

第一层:必要条件是一便士的。整性检查一页纸写完;任何初学者都能对 v = 5 宣判。但「一便士的必要条件」配上「一百年的充分性」,才构成完整的科学问题——必要与充分之间的距离,就是这个领域的历史厚度。Kirkman 1847 的定理之所以是里程碑,不是因为它难,而是因为它第一次把「每扇门后都有房间」说成了必然。

第二层:构造方法的通用度决定学科的形态。Kirkman 的手工戏法只能逐个点数施工;基差族与拟群让构造成批;PBD 递归让定理成批。Wilson 纲领的真正遗产是一种方法论自信:整性条件之外,宇宙不再藏着结构性的拦路虎——这句断言在第一章的 Fisher 不等式里只是技术性的,到本章末尾已是学科的世界观。

第三层:例外是最贵的资产。循环构造在 9 前失灵,大集在 7 前却步——两枚例外钉子提醒每一代研究者:通用定理的边界处藏着最深的信息。而陆家羲的故事补充了第三层:定理的诞生不只依赖问题的深度,也依赖社会能否看见一位业余者的长征。存在性是一门科学;承认存在性问题的提出者与解决者,同样是。

下一章的问题换个方向:不止把点两两配平,还要让两种配平互不干扰——两种安排「正交」。欧拉的三十六军官将告诉本书:当存在性的直觉失效时,反例本身可以等上一个半世纪。

95挑战

第三章 Steiner 系与 Kirkman 问题挑战:枚举 STS(15) 的非同构解

★★★ 章节级挑战,三条递进的关卡。目标:亲手复现「80」这个 1917 年的数字。

第一关:穷举所有解。精确覆盖回溯:455 个三元组选 35 个、105 对各盖一次。规模控制的关键是「最小未覆盖对」剪枝(习题 3-9 的验钞逻辑反向使用);预期找到 11 053 个标号…——不,本书不剧透总标号数,只说量级在百万级,单机数分钟内可完成。跑通后先数一个中间量:固定一条线(如 {1, 2, 3})的解有多少个?由对称性它应占总解数的恰 C(13, 1)·C(12, 1)/C(15, 2) × …——用自同构论证先算出理论值再对表。

第二关:分同构类。对每个解计算规范形:取 15! 种标号中最小的邻接编码不现实,实用做法是顶点细化的规范标号(nauty 的思想):按「点对—线」关联逐步细分等价类,再在剩余对称内穷举。以 Pasch 计数(§3.15)做第一把快筛:80 个类的 Pasch 数分布是一条多峰谱——先按 Pasch 数分桶,桶内再做完整同构测试,工作量立降两个量级。

第三关:验钞。自检三件套:①总数对表 80;②每个类的自同构群阶之和与标号总数一致(§3.14 的换算公式);③把 PG(3, 2)、Bose 系、循环系各归其类,核对它们的 Pasch 数与 §3.15 账本。三件全绿,本章的「计数与分类」就从听说变成了家产。

挑战路线:穷举 → 分桶 → 验钞 第一关 穷举 精确覆盖 · 最小对剪枝 第二关 分桶 Pasch 谱快筛 + 规范标号 第三关 验钞 80 对表 · 群阶对账 · 名册归位 参考用时:第一关数分钟;第二关视实现数十分钟;第三关即秒
图 3-18 三关流水线。第二关的「Pasch 分桶」是分类学最小可行工具,第六章数 M24 时还会用同款思路。
96实验

第三章 Steiner 系与 Kirkman 问题实验:程序验证女生散步七日表

★★ 本实验把 §3.10 的七日表过三道独立检查,顺带验证「PG(3, 2) 可分解」的断言。全部代码不足四十行。

from itertools import combinations

days = [
 [(1,2,3),(4,8,12),(5,10,15),(6,11,13),(7,9,14)],
 [(1,4,5),(2,8,10),(3,13,14),(6,9,15),(7,11,12)],
 [(1,6,7),(2,9,11),(3,12,15),(4,10,14),(5,8,13)],
 [(1,8,9),(2,12,14),(3,5,6),(4,11,15),(7,10,13)],
 [(1,10,11),(2,13,15),(3,4,7),(5,9,12),(6,8,14)],
 [(1,12,13),(2,4,6),(3,9,10),(5,11,14),(7,8,15)],
 [(1,14,15),(2,5,7),(3,8,11),(4,9,13),(6,10,12)],
]

# 检查一:每日是平行类——5 组互不相交,并集恰为 15 人
for d, day in enumerate(days, 1):
    pts = [p for t in day for p in t]
    assert len(pts) == 15 and len(set(pts)) == 15, f"第 {d} 日非平行类"

# 检查二:全表 35 组,105 个点对恰各一次
blocks = [frozenset(t) for day in days for t in day]
assert len(blocks) == 35
pc = {}
for b in blocks:
    for p in combinations(sorted(b), 2):
        pc[frozenset(p)] = pc.get(frozenset(p), 0) + 1
assert len(pc) == 105 and all(v == 1 for v in pc.values())

# 检查三:每人的七天同伴互不相同(覆盖其余 14 人)
for girl in range(1, 16):
    mates = [q for b in blocks if girl in b for q in b if q != girl]
    assert len(mates) == 14 and len(set(mates)) == 14

print("三道检查全部通过:七日表是一个 KTS(15)")

预期输出。一行收尾:三道检查全部通过:七日表是一个 KTS(15)。三道检查各管一段定义:检查一验「平行类」(可分解性),检查二验「每对恰一线」(STS 本性),检查三验「日程表语义」(每人 14 位同伴不重不漏)——三者合起来恰好是 KTS(15) 定义的展开。

延伸两步。其一,把七日表替换成 PG(3, 2) 的生成式名册(点为 𝔽24 非零向量、线为 {x, y, x + y}),重跑检查二——本书正是先对几何名册完成检查、再从 spread 分解摇出这张表的;两表 md5 不同而账目全同,恰是「唯一性」的一次活体演示。其二,把表删去任意一行再跑,观察三个断言的失效顺序——它与习题 3-9 的预期作对照。

97格物札记

第三章 Steiner 系与 Kirkman 问题〖札记〗九宫格的分解思想

九宫格是本书最久的老朋友:洛书口诀「二四为肩、六八为足」,三行三列两条对角线,八条三数线和恒为一。这个古老的方块与本章的可分解三元系之间,隔着一条值得细看的缝。

先算账。九宫的八条线(三行、三列、两对角)盖住多少点对?8 × 3 = 24 个对名额,但中心点参与的四条线在中心两两相交——角点与中心的对、边点与中心的对各被盖一次,而角与角的「对面」对(如左上与右下)在两对角线上撞了车:同一对出现两次。账目不平:36 对中只盖住 21 对,还有 15 对流落线外。洛书不是三元系,更不是可分解三元系——它的美学是「和恒等」(每线和为 15),不是「对齐次」(每对恰一线)。

可是九宫里分明住着 KTS(9)。把两条主对角线换成两组「错位对角线」(骑士一跳式的斜行,例题二的类 3 与类 4),八线增为十二线:三行、三列、四组斜行。重算:12 × 3 = 36 = C(9, 2),每对恰一次;四类各为平行类——KTS(9) 登场。从洛书到 KTS(9) 只改了两条线族,改的却是整个灵魂:从「和」的语言换到「对」的语言。

这缝里藏着本章的两课。其一,均衡安排的直觉古老而普遍:洛书的「九官均布」与 Kirkman 的「十五人散步」,动机都是把集合安排得处处均匀;但均匀的精确定义可以截然不同——幻方均匀在数值和,设计均匀在关联次数。同一个方块骨架,装两副不同的骨架灵魂。其二,分解(平行类)是比排列更强的整齐:洛书的行与列天然是平行类,但对角线不是——要把四条斜线也凑成两个整齐班次,必须放弃「主对角」的执念、改用错位斜行。整齐的代价是几何直观的让位;而让位之后得到的 AG(2, 3),反而比幻方走得更远:它可以任意放大到 AG(2, q),幻方却在 4×4 之后走向完全不同的理论。

九宫格的分解思想,说到底是把「均匀」拆成可核算的名册。本书在此后各章将反复使用这套动作:先问「什么量在每处相等」,再问「这些相等能否分层分组」,最后问「分组之间是否互不干扰」。三问问完,一个设计的骨架已然成形。

98速查

第三章 Steiner 系与 Kirkman 问题第三章速查表

第三章速查表 【对象】 STS(v)=(v,3,1):r=(v−1)/2,b=v(v−1)/6;KTS(v)=可分解 STS,须 v ≡ 3 (mod 6) PBD(v,K,1):块容量放开的 λ=1 设计;平行类:两两不交盖满全体的块组;大集 LDS:v−2 套互不相交 STS 分尽 C(v,3) Pasch 配置:四线六点每点度 2;基差族:基块有序差分尽非零剩余;短轨道块 {0,m,2m},m=v/3 【定理】 存在性:STS(v) ⇔ v ≡ 1,3 (mod 6) (Kirkman 1847) 循环:循环 STS(v) ⇔ v ≡ 1,3 (mod 6), v≠9 (Peltesohn 1938) 可分解:KTS(v) ⇔ v ≡ 3 (mod 6) (Ray-Chaudhuri–Wilson 1971) 大集:LDS(v) ⇔ v ≡ 1,3 (mod 6), v>7 (陆家羲 1981–83;v=7 例外归 Cayley 1850) 计数:非同构 1,1,1,2,80,11084874829(v=3,7,9,13,15,19);log N(v) ∼ (v2​/6) log v(Wilson 1974) 【小系统档案】 STS(7)=Fano=(7,3,1) 差集 {0,1,3}:唯一,|Aut|=GL(3,2) 阶 168,标号 30,Pasch 7 STS(9)=AG(2,3):唯一,非循环,反 Pasch,12 线 4 平行类=KTS(9) STS(13):2 类;循环解基差族 {0,1,4}+{0,2,7},乘子稳定子 {1,3,9},|Aut|≥39,Pasch 13 STS(15):80 类;KTS(15) 唯一=PG(3,2),|Aut|=20160;循环基块 {0,5,10}+{0,1,4}+{0,2,8};Pasch 105 例外双璧:循环缺 9 · 大集缺 7 —— 整数门槛之外的两枚真钉子
图 3-19 一页速查:对象、定理、小系统档案、例外。
99讲义

第三章 Steiner 系与 Kirkman 问题衔接讲义:通往正交拉丁方——第二重账

第三章把「配平」做到极致:每对点恰一次同席,λ 压到 1。但所有的平衡都发生在一个方向上——只有「同席次数」这一本账。下一章引入第二本账,并要求两本账同时独立地平。

引子已在手边。KTS(15) 的七日表里,每天的 5 个三人组是一个平行类;§3.11 的仿射平面里,q + 1 个平行方向把全部线条分门别类。现在问一个墨迹未干的问题:平行方向最多能有多少个?AG(2, q) 给出 q + 1 个;把每个方向的一族平行线想成「一张表格的一行编号」,两个方向便交织成一张 q × q 的方格表。拉丁方——每行每列 1 到 q 各出现一次——正是两族平行线的合影;而两个正交的拉丁方,则要求两套编号在同一格内永不重样:三种安排(行、列、符号)两两独立。三十六军官之谜——六种军衔、六个团,排成 6×6 方阵,每行每列军衔与团各自齐整、且军衔与团的搭配遍历 36 种组合——就是问:有没有两个 6 阶正交拉丁方。

Euler 1782 年猜想:6 不行,且一切 n ≡ 2 (mod 4) 都不行。这个猜想在 1959 年被计算机时代的组合学家们惊天推翻——除 2 与 6 外全部存在。下一章的路线图正沿这条线索铺开:拉丁方的计数、MOLS 的上界、有限域的成批构造、MOLS 与仿射平面/射影平面的等价网、Tarry 的 6 阶穷举与 1959 年的大翻案、以及正交阵列与强部分平衡设计这两件「放松的乐器」。

装备交接清单:本章的可分解性在拉丁方语言里就是「行与列两个正交的平行方向」,仿射平面等价于 q − 1 个 MOLS 的大满贯,整性门卫将再次先于一切定理开工。行李不变,账本加一。翻页即是第四章。

第四章

正交拉丁方与欧拉之谜

三个引例的最后一个是欧拉的「三十六军官问题」:六种等级、六个团队的军官排成六行六列,使每行每列的等级与团队都不重复。用拉丁方的语言说,就是要两个正交的六阶拉丁方——而 Tarry 在 1900 年穷举证明:不存在。欧拉由此猜想:凡是 n ≡ 2 (mod 4),正交拉丁方对都不存在。这个猜想对 n = 6 是对的,对一切更大的 n 却全错——1959 到 1960 年,Bose、Shrikhande 与 Parker 三人联手翻案:除 2 与 6 外,任意阶都有正交对。本章沿着这条戏剧性的历史线推进:N(n) ≤ n − 1 的上界、有限域构造 n−1 个两两正交的拉丁方、MOLS 与仿射平面的等价、MacNeish 猜想的命运。正交拉丁方是「多重平衡」的样本:几份账同时记、同时平,这是通向 t-设计与编码理论的桥。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
100导引

第四章 正交拉丁方与欧拉之谜第四章导引:三十六军官之谜

第三章的平衡只有一本账:每对点同席一次。本章给账本加一重——两种安排同时进行、互不干扰。最直观的载体是方格表:把 n 种军衔与 n 个团排成 n × n 方阵,要求每行每列军衔不重不漏(第一本账)、每行每列团队亦然(第二本账)、并且任何军衔—团搭配恰好出现一次(两本账互不粘连)。这就是 1782 年 Euler 笔下的三十六军官问题:六种军衔、六个团,36 名军官如何列队?Euler 试了试,断言答案是没有——并大胆推广:一切 n ≡ 2 (mod 4) 都没有。

这个猜想活了 177 年,结局却是组合数学史上最有戏剧性的翻案之一:1901 年 Tarry 用穷举坐实了 6 阶的「没有」;1959 年 Parker 造出 10 阶的反例;1960 年 Bose、Shrikhande、Parker 三人会师,证明除 2 与 6 外的一切阶数都有。猜想的「半张正确面孔」(6 阶)与「半张错误面孔」(其余全部)在本章都将给出机制层面的解释,而不止是判决书。

图 4-0 本章三段行程 拉丁方的账 定义 · 计数 · 上界 N(n) ≤ n − 1 §4.1–4.3 构造与等价网 有限域机床 MOLS ⇔ 仿射平面 ⇔ 射影平面 §4.4–4.6 谜案与翻案 Tarry 1901 · 大翻案 1959 正交阵列 · 放松的账本 §4.7–4.13 主旋律:两本账的独立 ↔ 几何的三重身份 ↔ 猜想与反例的辩证法
图 4-0 先立账、再上机床、最后审谜案——本章是全书「构造与反例」辩证法的主场。

行李几乎全备:仿射平面(§3.11)本章将认出它是 MOLS 的另一种写法;可除性的门卫、Fisher 式的秩技巧(第一章肖像方程的远亲)都会再上场。新行李只有一件——正交阵列(§4.11),它是把「多本账独立」翻译成最通用语言的账本,也是试验设计 industry 的日常工具。

101讲义

第四章 正交拉丁方与欧拉之谜4.1 拉丁方:定义与基本计数

★★ 一阶账本先立规矩。

定义(拉丁方)。n 阶拉丁方是 n × n 方格表填入 n 个符号,使每行、每列中每个符号恰出现一次。若第一行与第一列都按自然顺序排列,称为约简拉丁方;任何拉丁方可由约简方经行置换、列置换、符号置换生成。

名字的来历是本杰明·富兰克林们手中的「填字魔术」:用拉丁字母作符号故称拉丁方。数学登记人口时它有两副常用面孔:其一,商群运算表——群 G 的乘法表去掉表头就是 |G| 阶拉丁方(消去律的功劳);反之未必,多数拉丁方不是任何群的运算表。其二,试验设计:把「地块位置」(行、列)与「处理品种」(符号)安排得互不纠缠,田间试验的老传统。

计数。约简拉丁方的个数 R(n) 早已精确到小阶:

R(3) = 1, R(4) = 4, R(5) = 56, R(6) = 9408, R(7) = 16 942 080.

由「行、列、符号三重置换生成一切方」,标号总数为 L(n) = n!·(n − 1)!·R(n):L(6) = 720 × 120 × 9408 = 812 851 200。记住这个数字——Tarry 1901 年正是在这个量级的迷雾里宣布 6 阶无正交对的;今天回头看,他面对的是八亿方阵。

图 4-1 约简拉丁方个数 R(n) 的增长(对数示意) n=3:1 n=4:4 n=5:56 n=6:9408 n=7:1694 万 标号总数 L(n) = n!·(n−1)!·R(n):六阶已逾八亿——Tarry 的对手是整个数字
图 4-1 纵轴对数示意:拉丁方的宇宙每一阶都翻几个数量级。

行、列、符号的三权分立。拉丁方的行、列、符号在定义中地位对称——这个「三向对称」将在 §4.11 的正交阵列里升格为完全对等的列地位:届时行号、列号、符号都只是阵列的普通列。眼下先记一句:拉丁方是「两个方向的平衡」;下一节的正交拉丁方是「三个方向的独立」。

102讲义

第四章 正交拉丁方与欧拉之谜4.2 正交拉丁方与 MOLS

★★★ 第二本账登台。

定义(正交与 MOLS)。两个 n 阶拉丁方称为正交,若把两者逐格叠置,n2 个有序对(上层符号,下层符号)两两不同。一族两两正交的拉丁方记作 MOLS(n);其最大可能条数记 N(n)。

三十六军官的语言:军衔表与团表是两个 6 阶拉丁方;「任何搭配恰一次」即正交;问题问的就是 N(6) ≥ 2 吗——答案是否(§4.7)。而「搭配遍历」这件事在试验设计里身价不菲:两因素试验的 n2 种水平组合,用两个正交拉丁方就能在 2n 次安排里各试一遍且行、列干扰被精确抵消——正交拉丁方因此是统计学的祖传工具(Fisher 在 Rothamsted 试验站的看家本领之一)。

最小实例先睹。三阶恰有一对正交方(下例),且 N(3) = 2 = n − 1:

L1 = [1 2 3;2 3 1;3 1 2], L2 = [1 2 3;3 1 2;2 3 1],

叠置得 (1,1) (2,2) (3,3) / (2,3) (3,1) (1,2) / (3,2) (1,3) (2,1)——九个有序对各一次。细看 L1、L2 的来源:La(i, j) = a·i + j (mod 3),a = 1, 2。这台「模乘机床」就是 §4.4 有限域构造的雏形——它恰好在素数幂阶上满转,在 6 阶上熄火,谜案的机制已露端倪。

注记(N(n) 的几个锚点)。N(1) 无聊地大;N(2) = 1(第二个拉丁方必与第一个相同);N(3) = 2;N(4) = 3;N(5) = 4;N(6) = 1(Tarry);素数幂阶恒有 N = n − 1(§4.4)。本章将解释这些零星数字如何拼成一幅完整地图。

一句术语预告。MOLS 是 mutually orthogonal Latin squares(两两正交拉丁方)的缩写;文献里「n 阶的 k 个 MOLS」与「k 个 MOLS(n)」同义。本书采用 N(n) 记最大条数——它是本章真正的女主角,每一节的情节都是对她的侦察:上界(§4.3)、满额构造(§4.4)、几何身份(§4.5–4.6)、以及在 2 与 6 处的失踪案(§4.7–4.9)。

103讲义

第四章 正交拉丁方与欧拉之谜4.3 上界 N(n) ≤ n − 1

★★★ 本页给出女主角的第一个紧箍咒:再多就放不下。证明是第一章肖像方程的远亲——又是线性代数在关键时刻拍案而起。

化为矩阵。对每个 n 阶拉丁方 La,定义 n2 × n 的关联矩阵 Na:行对应格子、列对应符号,格子填符号 s 则该行第 s 列为 1。拉丁方性即 Na 每行恰一个 1、每列恰 n 个 1;正交性即

NaTNb = J(全 1 方阵), a ≠ b; NaTNa = nI.

再把「行号」「列号」也请进来:定义 n2 × n 矩阵 R、C(格子行号/列号的指示矩阵),同样有 RTR = CTC = nI、RTC = J、NaTR = NaTC = J(每「行号—符号」对恰在格子中出现一次——这正是拉丁性的陈述)。

定理(上界)。N(n) ≤ n − 1。等号成立的阶称为满额阶。

证明。拼出 n2 × (k + 2) 矩阵 X = [R C N1 … Nk],计算 XTX:对角块均为 nI,非对角块均为 J。这个分块阵的二次型在两类方向上分别起效——型一(各列块内取和为零的向量):值得 nΣ‖uc‖2 > 0;型二(各列块内取全 1 向量的倍数):值得 n2(Σαc)2,当系数和为零时为零。故 XTX 的零空间恰由「系数和为零的全 1 组合」张成,维数 k + 1,从而

rank(X) = (k + 2)(n − 1) + 1.

而 rank(X) ≤ n2,代入整理:(k + 2)(n − 1) ≤ n2 − 1 = (n − 1)(n + 1),两边除以 n − 1 即 k ≤ n − 1。∎

读证明的两笔。其一,型二方向之所以能清出维数,靠的是每块「行和恒为 n」——拉丁性与正交性在矩阵语言里恰好把 XTX 调成这个介乎 nI 与 J 之间的形状;这与第一章肖像方程 NNT = (r − λ)I + λJ 是同一个母题:设计的关联结构天生是「单位阵加全一阵」的谱。其二,等号情形(k = n − 1)秩恰为 n2,一丝不多一丝不少——满额阶的存在性问题,就此化为「这台矩阵能否真正达到它理论上的满秩」,答案将由 §4.4 的有限域给出「素数幂时能」,§4.9 给出「某些非素数幂也能」。

104讲义

第四章 正交拉丁方与欧拉之谜4.4 有限域造 n − 1 个 MOLS

★★★ 满额机床到货。它只认素数幂,而这正是 6 阶悲剧的伏笔。

定理(有限域构造)。设 q 为素数幂,𝔽q 为 q 元有限域。对每个 a ∈ 𝔽q× 定义

La(i, j) = a·i + j, i, j ∈ 𝔽q,

则 {La : a ∈ 𝔽q×} 是 q − 1 个两两正交的拉丁方——N(q) = q − 1,满额。

证明。固定行 i:j 扫过 𝔽q 时 a·i + j 取遍全域(平移),列同理——拉丁性。正交:设 (La, Lb) 在格 (i, j) 与 (i′, j′) 取同一对值,则 a(i − i′) = 0 且 b(i − i′) = 0;因 a ≠ b,两式不能同时成立除非 i = i′,继而 j = j′——每对值恰现一次。∎

为什么必须用域而不是环。证明里唯一用到的代数事实是「a ≠ b(均非零)则 a − b 可逆」。在 ℤn 里这句话恰好等价于「n 为素数」:n 有非零零因子(如 6 阶的 2 与 3)时,a = 2, b = 3 这类「斜率对」会漏判,机床啮合失灵。而有限域的存在性定理(§第二章用过:q 是素数幂当且仅当 𝔽q 存在)保证素数幂阶一律满额。于是地图初成:满额的已知情形恰是素数幂;剩下的问题是——非素数幂里有没有漏网之鱼?这正是 MacNeish 猜想(§4.10)与大翻案(§4.8–4.9)的战场。

图 4-2 「斜率」机床:L_a(i, j) = a·i + j 的啮合原理 素数幂 q 𝔽_q 里非零元皆可逆 q − 1 个斜率全啮合 N(q) = q − 1 满额 n 有两个素因子 斜率差成零因子 同法构造断齿 需另高明(§4.9) 可逆性 ⟷ 正交证明的齿轮 两齿轮之间:2, 6, 10, 12, 14, … 这些 2 (mod 4) 的阶——Euler 猜想与翻案的主场
图 4-2 正交性证明的全部代数成本,是「斜率之差可逆」——素数幂域免费赠送,一般环拒付。

顺手登记两个特例。q = 4:四元域 𝔽4 = {0, 1, α, α + 1}(α2 = α + 1),三个斜率给出 3 个 MOLS(4)——例题一将全文誊写。q = 5:整数斜率 1, 2, 3, 4 直接可用——例题二则需亲手转一圈机床。

105讲义

第四章 正交拉丁方与欧拉之谜4.5 MOLS 与仿射平面

★★★ 满额的 MOLS 不是孤立珍宝,它是一张几何网的三个结之一。本页先接第一个结。

定理(满额 ⇔ 仿射平面)。存在 n − 1 个 MOLS(n)(即 N(n) = n − 1),当且仅当存在 n 阶仿射平面 AG(2, n),即可分解 BIBD(n2, n, 1)。

证明(两个方向的字典)。由 MOLS 到平面:点集取 n2 个格子,每格带上 n + 1 个坐标(行号、列号与 n − 1 个方各自的符号)。线分三族:固定行号(n 条)、固定列号(n 条)、以及每个 MOLS 的每条「等值线」{(i, j) : La(i, j) = s}(每方 n 条,共 n(n − 1) 条)。线共 n(n + 1) 条,分属 n + 1 个平行方向:同族不交(每族的线各是「一行/一列/一组两两不同行不同列的格子」),异族两两恰交一格(行遇列是一格;行或列遇等值线由拉丁性;等值线遇等值线由正交性)。任两点共线的验证用满员计数:过一点恰有 n + 1 条线,每条载 n − 1 个异点,合计 (n + 1)(n − 1) + 1 = n2——全部点数刚好被过 p 的线网覆盖,故任何两点必有共线、且两线交点唯一排除二重线。由平面到 MOLS:取仿射平面的 n + 1 个平行方向,挑两个方向当「行」「列」,其余 n − 1 个方向各定义一个拉丁方:格 (行, 列) 处填「过该点、该方向的线名」——平行公理保证线名与行列一一对应,两条不同方向的「线名叠置」恰交一点即正交。∎

这个等价的三重红利。其一,第三章的仿射平面库存直接过户:素数幂阶的满额(§4.4 的域构造与 §3.11 的 AG(2, q) 本是一物,两处证明互为注脚)。其二,仿射平面的不存在性立即翻译为 MOLS 的不满额:6 阶仿射平面不存在( forthcoming §4.7),故 N(6) ≤ 5 弱化为 N(6) ≤ 4——离 Tarry 的 N(6) = 1 还差一大截,可见「几何不存在」与「正交对不存在」是两档难度。其三,满额问题就此与一个更响的名词挂钩——下一页的射影平面,以及它身后 Bruck–Ryser–Chowla 的数论拦截与 10 阶平面的世纪悬案。

106 讲义

第四章 正交拉丁方与欧拉之谜4.6 MOLS 与射影平面的等价

★★ 第二个结:添一条无穷远线,仿射平面升格为射影平面。

定理(满额 ⇔ 射影平面)。存在 n 阶射影平面(n2 + n + 1 点、同数线、每线 n + 1 点、每两点恰一线、任两线恰交一点)当且仅当存在 N(n) = n − 1 的满额 MOLS。它也是对称 BIBD (n2 + n + 1, n + 1, 1)。

换算字典是第二章老朋友:仿射平面添「无穷远线」——n + 1 个无穷远点,每个平行方向认领一个——即成射影平面;反过来删一条线及其全部点即回仿射平面。于是三章之间架起一座完整的桥:第二章的 Singer 差集造出了素数幂阶射影平面 → §3.11 的仿射平面 → 本章的满额 MOLS。三个看似无关的章节,在这座桥上是同一间机房。

射影平面的存在地图,截至本书写作。素数幂阶:全部存在(Singer)。非素数幂阶:6 阶不存在(Bruck–Ryser–Chowla 即可判死:6 ≡ 2 (mod 4) 而非两平方和;Tarry 更早从 MOLS 一侧证死);10 阶不存在——这是 1989 年 Lam 与合作者动用数千小时机时完成的著名计算,CRAY 上的马拉松,是「计算机消灭数学对象」的代表作;12 阶至今悬而未决——这是目前最小的未知阶。数论拦截 BRC 能再杀掉一批(§2.11 的两条款在射影平面参数 n ≡ 1, 2 (mod 4) 时的版本),如 14 阶;但 12 ≡ 0 (mod 4),BRC 缄口,只能靠未来更深的兵器。

图 4-3 同一间机房的三扇门 满额 MOLS N(n) = n − 1 n2​ 个格子 n − 1 层符号 本章视角 仿射平面 AG(2,n) n2​ 点,n(n+1) 线 n + 1 个平行方向 第三章视角 射影平面 阶 n n2​+n+1 点线 Singer 差集 · 对称 BIBD 第二章视角 素数幂阶三门齐开;非素数幂阶逐门设卡:6 死于 Tarry,10 死于 Lam 机房,12 待审
图 4-3 满额 MOLS、仿射平面、射影平面互为翻译;存在性地图则由素数幂的绿洲与 6、10 的沙漠拼成。

给 6 阶留个特写。三扇门在 6 阶全部关闭,但关闭的方式值得对比:射影平面 6 阶死于 BRC(数论);仿射平面随之陪葬;而 MOLS 的正交对死得最彻底——连两扇小门都打不开(Tarry)。三个互为翻译的对象,不存在性的深度却分了三层;这提示 6 阶藏着一个比「几何不存在」更精细的障碍。谜底在 §4.7 揭晓——顺便见识 1901 年的穷举如何与 1984 年的短证明隔空击掌。

107讲义

第四章 正交拉丁方与欧拉之谜4.7 阶 2 与阶 6:Tarry 定理

★★★ 谜案第一审。被告:6 阶正交对;控方证物:八亿一千二百万个嫌疑方阵。

定理(Tarry,1900–1901)。不存在一对 6 阶正交拉丁方,即 N(6) = 1。连同 N(2) = 1(2 阶的任何两个拉丁方相同),「n ≡ 2 (mod 4) 无正交对」的 Euler 猜想在 2 与 6 两处成立——也仅仅在这两处。

先补一件必备工具:滤过横档。拉丁方的一个滤过横档(transversal)是 n 个格子的集合:每行一个、每列一个、n 个符号互不相同。基本事实:

拉丁方有正交配偶 ⟺ 它能分解成 n 个两两不交的滤过横档.

(必要:配偶的每个符号位置恰是一个滤过横档;充分:把 n 个横档各配一个符号叠上去即造出配偶。)Euler 的原始动机由此而来:偶阶循环方——比如 ℤ6 的运算表——一个滤过横档都没有(滤过横档对应群的「完全映射」;Hall 与 Paige 1969 年证明了完全映射的群论判据:Sylow 2-子群非循环才存在,而 ℤ6 的 Sylow 2-子群是循环的)。 Euler 从这类例子以偏概全出「一切 4k + 2 阶皆无」——偏得干脆,错得响亮。

Tarry 的奇迹在于笨功夫的纪律。Gaston Tarry 是英属印度的退休文职人员,他把 6 阶约简拉丁方按第一行结构分门别类、逐类排除配偶可能,1900 至 1901 年在法国科学促进会会刊上连载了完整论证——八亿方阵在他的分类里坍缩成有限的几十种骨架。后世复核(包括 1984 年 Stinson 的两页半短证明:设约简方有配偶,对第一行的七种结构逐一账目引爆)都确认 Tarry 的结论无误;计算机时代更有多份独立机器验证。6 阶的独身就此定案。

图 4-4 正交配偶 = 滤过横档的完全分解 拉丁方 L 每行一个 · 每列一个 符号互不相同 =一个滤过横档 分解成 n 份 n 个互不重叠的 滤过横档铺满全盘 =有正交配偶 ℤ_6 运算表 零个滤过横档 (Hall–Paige 1969) Euler 的偏见的源头 6 阶的死因更深:连「有的方有横档、有的没有」这个层次都救不了它——所有 6 阶方都无配偶
图 4-4 滤过横档是拉丁方与配偶之间的汇率;6 阶的全部汇率牌价都标着「拒兑」。

审案笔记。本案留下两个方法论遗产。其一,穷举也能是一等公民:Tarry 的分类纪律是后世枚举方法(§3.16 第三套)的先声。其二,「一个反例方向」与「一族反例」隔着大海:从 6 阶的死到 10 阶的生,中间是 1959 年的惊涛——下一页。

108讲义

第四章 正交拉丁方与欧拉之谜4.8 Euler 猜想与 1959–60 大翻案

★★★ 组合数学史上最著名的翻案戏,本页按时间轴完整重演。

1782 年,猜想登场。Euler 在论文「A new type of magic square」里研究「希腊拉丁方」(希腊字母与拉丁字母两套方叠置正交——名字沿用至今),提出三十六军官问题并写道:他尝试的 n = 2 (mod 4) 情形都失败,怀疑此类阶数根本无解。Euler 手里只有 n = 2 与 6(10、14 他都试不动),这是以两个样本概括无穷族的大胆一跃。

1901 年,半张判决。Tarry 坐实 6 阶无解(§4.7);猜想的前半听起来更可信了。此后半个世纪,多数教科书以「Euler 猜想(6 阶已证)」的口吻转述——把已证的 6 推销成未证的全体,这份集体记忆偏差本身就是史料。

1959 年 4 月,第一道裂缝。Raj Chandra Bose 与 Sharadchandra Shrikhande(北卡罗来纳大学)用递归技术先在若干阶上撕开口子;几乎同时,数学程序员 Ernest Parker(后面还会反复出场)以一副「蛮劲」的正交阵列技巧造出了一对 10 阶正交拉丁方——猜想的第一块大陆沉没。消息见报,《纽约时报》以显著版面报道了「Euler 猜想被推翻」;数学成果登上大众头版,这在组合数学是头一遭。三人随后在 Bose 家里会师,把各自的兵器合成一台通用机器。

1960 年,全案终审。Bose、Shrikhande、Parker 的联名论文(〈Further results on the construction of mutually orthogonal Latin squares and the falsity of a conjecture of Euler〉,Canadian Journal of Mathematics)宣布:

定理(Bose–Shrikhande–Parker,1960)。对一切 n ≡ 2 (mod 4) 且 n ≠ 2, 6,存在一对正交拉丁方。Euler 猜想的例外恰好只有 2 与 6。

图 4-5 177 年案卷时间轴 1782 Euler 提出猜想 (样本只有 2 与 6) 1901 Tarry 判死 6 阶 猜想声誉大涨 1959 Parker 造出 10 阶反例 纽约时报报道 1960 BSP 联名终审 例外仅剩 2 与 6 两个样本(一个真一个假)支撑的「定理」,最终靠三台递归机器才问出全貌
图 4-5 猜想的一生:提出、误信、反例、终审——每一幕都是方法论教材。

本案的哲学余味。2 与 6 的「真」,让猜想统治了半个世纪;10 的「假」,让全部 n ≥ 10 集体翻案。猜想是被它的例外泄露的:例外只有两个,但其中一个恰好最小、最容易被研究——于是局部真理伪装成普遍真理达 177 年。§4.13 将把这一课讲透。

109讲义

第四章 正交拉丁方与欧拉之谜4.9 Bose–Shrikhande–Parker 方法一瞥

★★★ 大翻案的机器舱,本页开盖参观。完整证明超出本册,但设计思想值得整页交付——它正是第三章 PBD 递归的升级版。

困难的形状。要造一对正交方,等价于造一个「滤过横档分解」(§4.7)。对一般 n(特别是 n ≡ 2 (mod 4))没有域可用、没有群可用——§4.4 的机床全部罢工。三人的破局思路殊途同归:先造更松的结构,再用递归把它「绷紧」。而 10, 14, 18, 22, 26 这些阶恰恰找不到合手的精确图纸——递归机器在 Euler 辖区腿软。

Parker 的路:把正交性当阵列来摆。Parker 不从拉丁方出发,而直接摆正交阵列的行(§4.11 的语言):只要 n2 行、四列,使任意两列的有序对各一次,四列中的两列当行、列,另两列就是一对正交方。阵列不必由群生成——他设计了「错位重排」的修正术,从近似阵列出发局部修复正交性。10 阶的反例正是这样手工摆出来的,据他自称带着几分「试错者的运气」。

Bose–Shrikhande 的路:成对平衡当作脚手架。两人把第三章的 PBD 机器(§3.8)改造成 MOLS 生产线。核心的递归条款(陈述取标准形式,证明走 §3.8 三工位、横档层以正交阵列拼装,细节见 BSP 原文与 Stinson 教材):

引理(PBD 闭合,MOLS 版)。若存在 PBD(v, K, 1),则

N(v − 1) ≥ min{N(k) : k ∈ K}.

即:图纸的各车间只要有「最低配额」的正交方存货,就能在 v − 1 阶装配出同额配额。

两路合流。PBD 闭合把「对一切 n ≡ 2 (mod 4) 造一对」化归为「找一批图纸,其车间阶数恰好都有正交对存货」:素数幂车间货满(§4.4),奇数车间有 Bose–Shrikhande 的递归货源,剩下少数顽固阶(10、14、18、26…)由 Parker 式的特制阵列逐一补货。1960 年联名的终审论文,本质是一张巨大的「图纸—库存」对账单。

图 4-6 翻案机器的两条生产线 Parker 线:正交阵列直造 不借群与域,直接摆四列阵列 错位重排修复正交性 攻克顽固阶:10, 14, 26, … Bose–Shrikhande 线:PBD 递归 图纸 PBD(v, K, 1) 领货 N(v−1) ≥ min N(k) 大 army 阶成批下线 合流:两条线互为对方的「车间供货商」,一晚上搞定全部 4k+2
图 4-6 Parker 的直造与 BSP 的递归互为补充——前者打补给站,后者打正面战场。

余波。这台机器随后被 Wilson 推到理论极限:对每个固定的 λ 与 k,第三章尾的「渐近存在定理」正是在 BSP 的脚手架上封顶的;而 N(n) → ∞(对足够大的 n,正交方不止一对)也由 Chowla、Erdős 与 Straus 在 1960 年用同款技术证得。大翻案不是终点,是整个「成批存在性」学派的开幕式。

110讲义

第四章 正交拉丁方与欧拉之谜4.10 MacNeish 猜想与它的命运

★★ Euler 猜想有一个更精细的「加强版」,死得同样精彩,而且死得更早——值得单独立传。

乘积定理先立住。若 存在 m 阶与 n 阶的 k 个 MOLS,则存在 mn 阶的 k 个 MOLS(逐坐标做直积:格 (行对, 列对) 上符号对同步相乘)。于是由素数幂满额立刻得

N(p1a1…prar) ≥ min(p1a1, …, prar) − 1.

MacNeish 的豪赌(1922)。H. F. MacNeish 把不等号改成等号:猜想 N(n) = min(piai) − 1。这比 Euler 猜想强得多:取 n = 2 × 奇数,min = 2,即 N(n) = 1——Euler 猜想是它的推论。 MacNeish 的证据与 Euler 同构:素数幂全都吻合,样本之外全靠信念。

判决(Bose–Shrikhande,1959)。21 = 3 × 7 阶存在 4 个 MOLS,而 MacNeish 值只有 min(3, 7) − 1 = 2。MacNeish 猜想被推翻,且推翻它的 21 阶根本不是 4k + 2 型——连 Euler 猜想的辖区都管不到。

今天的账目。MacNeish 值只是真相的下界之一,而且很快被甩开:此后各代构造把许多阶的 N(n) 推到远超 min 因子的水平(比如对固定的两素数积 pq,已知的下界随结构千差万别);另一端,精确值依旧稀有:素数幂阶与若干小阶之外,N(n) 的精确值大多未知——连 N(10) 的精确值都是费了数十年才尘埃落定的成果。Chowla–Erdős–Straus 的 N(n) → ∞ 保证「越走越宽」,但「多宽」至今没有整齐的公式。MacNeish 的失败划定了一条方法论边界:积性结构能给的,宇宙还给更多。

图 4-7 两个猜想的生卒卡 Euler 猜想(1782–1960) n ≡ 2 (mod 4) 无正交对 证据:2 与 6(后者已证) 判决:例外恰为 2 与 6 MacNeish 猜想(1922–1959) N(n) = min 素因子幂 − 1 证据:素数幂吻合 判决:21 阶 4 个 MOLS 击穿 共同死因:以「结构给出的下界」冒充宇宙的上界
图 4-7 两份讣告,一条教训。
111讲义

第四章 正交拉丁方与欧拉之谜4.11 正交阵列:更广的账本

★★ 本章的第二重账值得用最通用的复式记账法重写一遍——这是它走进工业界的形态。

定义(正交阵列)。OA(λs2, k, s, 2) 是一张 λs2 行、k 列的表,每列取 s 个水平,使任意两列的行组合中,每个有序对恰出现 λ 次。λ = 1 时记 OA(s2, k, s, 2),此时行数恰为 s2。

与前文的接口一望而知:把 k 个 s 阶 MOLS 的行号列号一并入表,即 OA(s2, k + 2, s, 2);反向拆包同理——k 个 MOLS(n) ⟺ OA(n2, k+2, n, 2)。§4.3 的上界在阵列语言里就是 Rao 边界的最简情形:k ≤ n + 1。

为什么统计学家爱它。行=一次试验,列=一个因素,水平=因素取值:OA 保证任意两个因素的每种水平组合都被均匀试过 λ 次——这就是「正交试验设计」的本体。4 因素 3 水平的全试验要 34 = 81 次,而 OA(9, 4, 3, 2) 只要 9 次(那正是三阶 MOLS 的叠置表);日本质量管理的田口方法把这套字典推向了整个制造业。第二章的 Hadamard 矩阵也在这个语言里重逢:Hadamard 阶 N 给出 OA(N, N − 1, 2, 2)——二水平正交表的生成母机。

图 4-8 OA(9, 4, 3, 2):三阶正交方的叠置表 行号 列号 L1​ L2​ 0 0 0 0 0 1 1 2 0 2 2 1 ⋮ ⋮ ⋮ ⋮ 任两列九个有序对各一次 行=试验,列=因素 81 次全试验 → 9 次抽样 k ≤ s + 1(Rao 边界) MOLS、试验设计、Hadamard 码:同一张表的三种读法
图 4-8 正交阵列是本章一切对象的「通用格式」;strength 2 的世界恰与 MOLS 同构。

往高处看一眼。强度 3 及以上的正交阵列(任意三列组合均匀)通向更深的整数规划与码论:Rao–Hamming 界、Bush 构造(OA(tst… 的满额家族)……第六章的码—设计互译将再次用上这个格式。本册到此为止,只求记住一句:「多个独立账本同时平」在数学里有唯一的标准格式,名叫正交阵列。

112讲义

第四章 正交拉丁方与欧拉之谜4.12 强部分平衡设计:放松的智慧

★★ 大翻案的深层遗产是一件「半松半紧」的结构——本页讲它的设计哲学,定义取描述性版本,精确定义与完整定理见 BSP 原文与 Wilson 的综述。

PBD 太紧。第三章的成对平衡设计要求每一对点恰同席一次——这条铁律让递归干净,却也让许多阶数(10、14、18、26…)根本不存在合身图纸:递归机器在 Euler 辖区趴窝。

全松则散。反过来,若对点对额度完全放任,横档层的正交性核算就没了依据——装配线照样停工。Bose 的洞见是在两个极端之间取一个可核算的松弛:强部分平衡设计(strongly partially balanced design,SPBD)把块按容量分成两档,各档给出配对的配额(某档块覆盖的点对同席两次、其余档恰一次,等等),并配上一组「强度条件」保证:递归装配所需的正交性账目,在这个松弛额度表上依然可以逐行核对。

松弛换来的存在性。这笔交易极其划算:10、14、18、22、26 这些「精确图纸告缺」的阶,全都存在合身的 SPBD——它们正是 BSP 战役里最后被攻克的顽固阶。可以这样打比方:PBD 是精确量具,量不了的手工活用 SPBD 这把游标卡尺照样能做,而且误差可估算。第三章的三工位(图纸—内装—横档)一台不动,只是每层质检从「恰等」改成「按额度表核对」。

图 4-9 从 PBD 到 SPBD:松紧的刻度 PBD 每对恰一次 紧:核算干净 存在性窄 SPBD 两档容量配额制 可核算的松弛 10, 14, 18, 22, 26 全有货 全松结构 配额放任 处处有解 正交账无从对起 设计理论的进阶课:松弛不等于放弃,而是把「恰等」换成「带账的宽容」
图 4-9 SPBD 卡在两个极端的正中间:够松以存在,够紧以核算。

谱系一瞥。这条「放松」的谱系后来枝繁叶茂:可分组设计、带洞设计、 Wilson 的成对平衡权重视图……第五章的 t-设计构造策略(§5.15)会再遇同一哲学的高维版本。眼下记住它在本书的战绩:没有 SPBD 一路的松弛结构,就没有 1960 年的终审判决;没有终审判决,Euler 的幽灵还要再飘几十年。

113讲义

第四章 正交拉丁方与欧拉之谜4.13 方法论:构造与反例的辩证法

★★ 本章是一台「猜想—反例—定理」的完整循环装置,收尾页把它逐层拆开。

猜想为何值得。Euler 与 MacNeish 的猜想都错了,但都不是白错:Euler 的猜想逼出了 Tarry 的分类纪律与 BSP 的递归兵器;MacNeish 的猜想留下乘积定理(真)与「min 因子下界」(真)。一个结构良好的猜想,错误部分与正确部分会分头繁殖——判断标准是:猜想是否把参数空间切成了可检验的格子。两个猜想都合格。

反例为何锋利。Parker 的 10 阶反例一击毙命,靠的不是算得快,而是选对了战场:10 是猜想辖区内最小且素因子结构最怪(2 × 5)的阶;在这里造出反例,等于当众演示「证据链的每一环都断裂」。反例的美学:一个就够,但要打在猜想最自信的部位。

定理为何迟到。从 1959 的反例到 1960 的终审只隔数月——因为反例的构造技术本身就能倒转成构造技术(Parker 的阵列修正术反手就是生产线)。最好的反例是能反向运转的机器:它否定猜想的同时,解释了为什么猜想此前「看起来对」(局部构造在多数小阶确实能绷紧成解)。

图 4-10 猜想—反例—定理的循环装置 猜想 把参数空间切成格子 给研究指路(哪怕指错) 反例 打最自信的部位 一台能反向运转的机器 定理 例外的完整清单 +成批生产线 新定理孕育新猜想(循环) Euler → Parker 10 阶 → BSP 终审:装置的一次完整运转
图 4-10 组合数学的永动机:本章的全部分情节都能装进这张循环图。

把本章的教训装进口袋:样本会撒谎,尤其当最小的样本恰好为真;反例要打七寸;上界与下界的鸿沟处,藏着下一代的构造技术。第五章将带着这台装置走进 t = 4, 5 的深水区——在那里,猜想与反例的循环将变成「奇迹与例外」的循环。

114例题

第四章 正交拉丁方与欧拉之谜例题一:四阶 MOLS 的全貌

★★ 题目。写出 4 阶的 3 个两两正交拉丁方(满额 N(4) = 3),验证两两正交,并把其中一对的叠置写出来。

构造。用 𝔽4:元素 {0, 1, α, α + 1}(α2 = α + 1,加法即二进制异或),斜率 a ∈ {1, α, α + 1},La(i, j) = a·i + j。把四个元素按 0, 1, α, α+1 对应记为 1, 2, 3, 4,三张方全文如下(程序核验拉丁性与两两正交):

L1 = [1 2 3 4;2 1 4 3;3 4 1 2;4 3 2 1],
L2 = [1 2 3 4;3 4 1 2;4 3 2 1;2 1 4 3],
L3 = [1 2 3 4;4 3 2 1;2 1 4 3;3 4 1 2]。

正交抽查。L1 与 L2:第 2 行叠置给 (2,3) (1,4) (4,1) (3,2),第 3 行给 (3,4) (4,3) (1,2) (2,1)——与首行 (1,1)(2,2)(3,3)(4,4)、末行 (4,2)(3,1)(2,4)(1,3) 合计 16 对互不重复 ✓。理论保证在 §4.4:斜率差 1 − α = α + 1 非零可逆。三对全部如此,故 N(4) ≥ 3;又上界 N(4) ≤ 3(§4.3),满额。

几何互译。按 §4.5,这 3 个方应撑起一个 4 阶仿射平面:16 个点、20 条线、5 个平行方向——行方向、列方向加三张方的各 4 条等值线。第二章的 Singer 视角再看一眼:4 阶射影平面 PG(2, 23)?不——PG(2, 4) 有 21 点 21 线(阶为 4 的射影平面),删一条无穷远线即得这里的 16 点仿射平面。三段章节在同一个小方阵上完成会师。

收尾。注意三张方的首行同为 1 2 3 4——它们自动「共约简」;这提示 MOLS 可以整体约简(见习题 4-5),也解释了例中「列对称的阶梯花纹」:异或表 L1 的分形感与两张乘法方的镜像感同源于 𝔽4 的特征 2。

115例题

第四章 正交拉丁方与欧拉之谜例题二:从有限域造五阶 MOLS

★★ 题目。用整数域 ℤ5 造全部 4 个 5 阶 MOLS,并说明为何再挤不出第 5 个。

构造。Lk(i, j) = (ki + j) mod 5,k = 1, 2, 3, 4。誊出前两张:

L1 = [1 2 3 4 5;2 3 4 5 1;3 4 5 1 2;4 5 1 2 3;5 1 2 3 4],
L2 = [1 2 3 4 5;3 4 5 1 2;5 1 2 3 4;2 3 4 5 1;4 5 1 2 3]。

正交核算。斜率差 2 − 1 = 1 可逆:设两格同取 (L1, L2) 值,则 (i − i′) ≡ 0 (mod 5) 且 j = j′——同格。四张方两两同理(差 1, 2, 3, 4 全部可逆),程序全表核验 25 对 × 6 组全部各现一次。

为何恰好 4 个。上界(§4.3)给 N(5) ≤ 4;构造给 ≥ 4;夹逼即满额。换个角度重复 §4.4 的尾声:能当「斜率」的非零元只有 4 个——第 5 个斜率无处可借,这便是上界的几何含义。

收尾(顺手的赠品)。把 L1 与 L2 叠置,25 个有序对 (L1, L2) 遍历全部组合——这正是 OA(25, 4, 5, 2)(§4.11):一个「4 因素 5 水平、25 次试验」的正交试验表,直接可用于田间或产线。数学上的一次满额,工程上的一张排程表。

116例题

第四章 正交拉丁方与欧拉之谜例题三:六阶不存在的手工见证

★★★ 题目。证明 ℤ6 的运算表(循环拉丁方)没有正交配偶;并说明这一论证为何不足以结清整个 6 阶问题。

第一步:滤过横档的和式。滤过横档取每行每列各一格、符号互异(§4.7)。设横档占据格 (i, π(i)),π 是 ℤ6 的一个置换。循环方的格值为 i + π(i) (mod 6);横档的六个符号互异,故它们恰为 0…5,其和

Σ(i + π(i)) ≡ (0+…+5) + (0+…+5) = 15 + 15 = 30 ≡ 0 (mod 6).

但符号互异又要求这个和恰为 0 + 1 + … + 5 = 15 ≡ 3 (mod 6)。0 ≠ 3——矛盾。循环方连一个滤过横档都没有,遑论配偶。(推广:一切偶阶循环方同病——和式差半个 n,这正是 Euler 偏见的出生地。)

第二步:论证的边界在哪。上式只处理了「循环方这一个方」。6 阶标号拉丁方共八亿多(§4.1),其中许多有滤过横档——「有横档」与「可分解成 6 个互不重叠的横档」之间还隔着一整座山。Tarry 的功绩在于分类全部结构骨架逐一验尸;1984 年 Stinson 的短证明则把验尸压缩到两页半:设约简方有配偶,对第一列的 7 种可行结构逐一以和式与配对计数引爆。本书不誊写完整验尸单,只见证词的份量:6 阶的无配偶是全体 812 851 200 个方的集体属性,不是循环方的个体残疾。

图 4-11 和式爆炸:循环方的滤过横档不存在 横档符号和(互异) 0+1+…+5 = 15 ≡ 3 行号和 + 列号和 15 + 15 = 30 ≡ 0 3 ≢ 0 (mod 6):两边对不上——横档不存在 一个 3 与一个 0,杀死了 Euler 猜想辖区里最著名的一张表
图 4-11 同一笔账两种记法差出 3——初等数论的最短判词。

收尾。本例题意在体会「见证」与「证明」的分寸:循环方的见证是完整的(对那个方),6 阶的完整证明在 §4.7 已交代出处;两者合读,方知「逐个排除」与「分类排除」之间隔着 Tarry 的半年、Stinson 的两页半、与 19 世纪末 20 世纪初的一整代耐心。

117习题

第四章 正交拉丁方与欧拉之谜习题课(一):拉丁方的账

★ 本组只动用 §4.1–4.4。逢满额断言,先说清上界与构造各用了哪一节。

习题 4-1(计数热身)。由 R(5) = 56 算出 5 阶标号拉丁方总数 L(5);再用同公式核对 L(3) = 12。

习题 4-2(拉丁前提)。设 A(i, j) = i + j (mod 4),B(i, j) = 2i + j (mod 4)。先判 B 是否拉丁方;再把两者叠置,检验 16 个有序对是否遍历。由此体会:正交拉丁方的定义为何必须同时要求两方各自拉丁与叠置遍历,缺一不可。

习题 4-3(上界点名)。用 §4.3 的秩论证说明:N(6) ≤ 5。再解释为什么这个上界远不是 6 阶的真相(§4.7),从而体会「上界是天花板不是地板」。

习题 4-4(七阶满额)。写出 7 阶的构造方案(不必誊全表):斜率 1…6 给 6 个 MOLS(7);核对满额 N(7) = 6;数一数对应的 OA(49, 8, 7, 2) 的行列数。

习题 4-5(共约简)。证明:任何 MOLS 族可经行、列置换化为「首行同为自然序」的形态(提示:先用第一张方的行置换把各行首元排齐,观察其余方的「行置换后果」;再对列同理)。例题一的表是否已处于此形态?

习题 4-6(乘积定理演练)。由 N(3) = 2 与 N(5) = 4 推 N(15) 的下界;这个下界与「素数幂满额清单」矛盾吗?(15 非素数幂——检查 §4.4 的适用条件。)

提示与答案要点。4-1:120 × 24 × 56 = 161 280;3 阶 6 × 2 × 1 = 12 ✓。4-2:B 非拉丁(每列只有 j 与 j+2 两个值);但叠置 16 对恰遍历(线性映射行列式 3 与 4 互素)——两条件各司其职,缺一会放走假结构。4-4:OA 行 49、列 8。4-6:下界 2(由 min(3, 5) − 1);不矛盾——§4.4 只保证素数幂满额,15 的真相由 §4.9 的机器另查(已知下界远超 2)。

118习题

第四章 正交拉丁方与欧拉之谜习题课(二):几何与翻案

★★ 本组动用 §4.5–4.11,重点是三重身份的互译与翻案机器的演练。

习题 4-7(方变平面)。按 §4.5 的字典,把例题一的 3 个 MOLS(4) 展成 4 阶仿射平面:列出行方向与某等值线方向的全部线名册(各 4 条),验证两个方向的线两两恰交一点。

习题 4-8(平面变方)。反向演练:取 AG(2, 3)(九宫表),指定「行」「列」两方向后,读出其余两个方向对应的 2 个拉丁方,并与 §4.2 的 3 阶正交对对照。

习题 4-9(BRC 的影子)。用第二章的 Bruck–Ryser–Chowla 定理(对称设计参数 (n2 + n + 1, n + 1, 1))判 6 阶与 14 阶射影平面的存在性;再说明为何 10 阶 BRC 判不死(10 = 12 + 32),从而理解 Lam 1989 机时马拉松的必要性。

习题 4-10(MacNeish 的残余价值)。用乘积定理给出 N(45) 的下界(45 = 9 × 5),并对照素数幂满额表说明:若 45 阶存在仿射平面,则 N(45) = 8;眼下已知什么、未知什么?

习题 4-11(正交阵列速写)。把例题一的 L1、L2 连同行列号展开成 OA(16, 4, 4, 2):写出第 1、2、9、16 行;验证「列 1 与列 4」的 16 个有序对各一次。

习题 4-12(翻案地图)。按 BSP 战役的逻辑填空:要证「一切 n ≡ 2 (mod 4)、n ≥ 10 有一对」,把阶数按「素因子结构」分成三类,各配一台机器(域构造/PBD 递归/Parker 直造)。写成一张三行表。

提示与答案要点。4-7:行方向线 {(i, j) : i = 固定} 共 4 条。4-9:6 与 14 皆 ≡ 2 (mod 4) 且非两平方和(6、14 均含单重素因子 3、7 之类)——BRC 判死;10 = 12 + 32 过检,需计算机。4-10:乘积下界 min(8, 4) − 1 = 3;若满额应 8;「45 阶平面存在」目前是公开悬案(等价于 N(45) = 8)。4-12:纯素数幂——域构造;4k+2 大 army 阶——PBD 递归;顽固小阶——Parker 直造。

119地图

第四章 正交拉丁方与欧拉之谜第四章地图:方阵与几何的等价网

第四章知识地图:一张等价网与两条时间线 拉丁方与计数 §4.1 R(6) = 9408,L(6) 逾八亿 正交与上界 §4.2–4.3 N(n) ≤ n − 1(秩论证) 有限域机床 §4.4 素数幂满额 N(q) = q − 1 仿射平面 AG(2,n) §4.5 = 可分解 (n2​, n, 1) 射影平面 阶 n §4.6 = 对称 (n2​+n+1, n+1, 1) 谜案 §4.7–4.8 N(6) = 1(Tarry)· N(10) ≥ 2 翻案机器 §4.9–4.10 PBD 闭合 · SPBD · MacNeish 亡 正交阵列 §4.11 工业格式:试验设计·码 方法论 §4.12–4.13 松弛的智慧 · 辩证循环 等价网:满额 MOLS ⇔ 仿射平面 ⇔ 射影平面(三条线索一门机房)
图 4-12 第四章全景:上排立账与机床,中排几何等价网,下排谜案、机器与通用格式。

读图三句话。其一,本章的承重结构是中排的等价网:满额 MOLS、仿射平面、射影平面互为翻译,于是拉丁方的研究自动接入第二章的差集、有限域与第三章的可分解性——三个章节共享同一台机房。其二,谜案(6 阶)与翻案(10 阶起)不是孤立故事,而是等价网的「压力测试」:几何不存在性(BRC、Lam)与正交对不存在性(Tarry)在 6 阶同时发作、深度却不同,网上的对象各有各的死法。其三,下排两块是把战利品装箱:正交阵列把一切译成工业通用语,方法论一页把整个案卷压成一句教训——上界与下界的鸿沟,正是下一章的入口。

120小结

第四章 正交拉丁方与欧拉之谜第四章小结

对象与上界。拉丁方=行、列、符号三向均衡的方格表;正交=叠置遍历全部有序对;N(n) 记两两正交的最大条数。秩论证(关联矩阵拼装、谱拆两型)给出紧上界

N(n) ≤ n − 1.

构造清单。①有限域机床:素数幂阶 N(q) = q − 1 满额(斜率 a·i + j,可逆性是正交性的全部成本);②乘积定理:N(mn) ≥ min(N(m), N(n))(MacNeish 的真遗产);③BSP 机器:PBD 闭合 N(v − 1) ≥ minN(k) 加 SPBD 松弛结构,覆盖一切 4k + 2 阶;④Parker 直造:正交阵列的错位修复,攻克 10、14、26 等顽固阶。

三大判决。①Euler 猜想(1782):4k + 2 无正交对——例外恰为 2 与 6(Tarry 1901 判 6;BSP 1960 终审其余全部存在);②MacNeish 猜想(1922):N(n) = min 素因子幂 − 1——21 阶 4 个 MOLS 击穿(Bose–Shrikhande 1959);③N(n) → ∞(Chowla–Erdős–Straus 1960):大阶的正交方越造越多,但精确值除素数幂与小阶外大多未知。

等价网。满额 MOLS(n) ⇔ 仿射平面 AG(2, n) ⇔ 射影平面阶 n(对称 BIBD (n2+n+1, n+1, 1))。存在地图:素数幂全开;6 死于 Tarry 与 BRC;10 死于 Lam 的计算机马拉松(1989);14 死于 BRC;12 至今悬而未决——最小的未知阶。

通用格式。k 个 MOLS(n) ⟺ OA(n2, k+2, n, 2):任意两列有序对各一次。试验设计的 9 次替代 81 次全试验、Hadamard 的二水平表,皆此一格式的成员。

小结速览卡 · 上界 N(n) ≤ n − 1;素数幂满额(域构造),其余靠 BSP 机器 · Euler 猜想例外恰 2 与 6;MacNeish 死于 21 阶;N(n) → ∞ · 等价网:满额 MOLS ⇔ 仿射平面 ⇔ 射影平面(12 阶悬案在场) · 滤过横档=配偶的汇率;6 阶死因是全体方的集体属性 · 格式:k MOLS(n) ⟺ OA(n2​, k+2, n, 2)——数学与工业的接口
图 4-13 五条带走:上界、判决、等价网、横档、格式。
121思想卡

第四章 正交拉丁方与欧拉之谜思想卡:猜想与反例

本章的两位主角——Euler 与 MacNeish——都以失败告终,但他们的失败塑造了整个学科的工艺。值得把「怎样的猜想是好猜想」作为一条方法论命题认真对待。

第一课:好的猜想是一台切分参数空间的机器。Euler 把阶数按模 4 切开,MacNeish 按素因子分解切开——两种切法都立刻生成了一批可检验的有限问题(6 阶、10 阶、21 阶……)。猜想的价值不在于它最终对不对,而在于它把「无穷的模糊直觉」翻译成「有限的清晰靶子」。Tarry 若没有 Euler 的切法,未必会去数那八亿个方阵。

第二课:最小的样本最会撒谎,也最值得怀疑。2 与 6 都站在 Euler一边,这恰恰是危险信号:小阶的「真」往往来自退化结构(2 阶只有一个拉丁方;6 阶的障碍深但局部)。科学史上类似的伤口不止一处——组合数学的回答是:把「小阶检证」标准化为程序(§3.16 第三套方法论),既敬小,也疑小。

第三课:反例的价值在于反向运转。Parker 的 10 阶反例数月之内就变成了生产线——因为他的构造技术揭示了「为什么以前造不出」的真正原因(缺的不是对象,是合适的松弛结构)。坏反例只宣告死刑;好反例附送再生术。此后各章的「例外」(第五章的 Witt 设计、第六章的散在群)将反复验证:组合数学最深的秘密,几乎都藏在反例与例外的尸检报告里。

第四课:上界与下界相遇的地方,才是定理。本章始于上界 N ≤ n − 1,终于「素数幂与非 2、6 的 4k+2 阶都触顶」。两个方向的每一次不相等(如 21 阶)都撕开新的一页。存在性的问题,本质是上下界围猎的问题——这是全书反复出现的句式,本章给了它最完整的演出。

下一章,围猎升维:λ = 1 的账本加重到 λ = λ2、λ3、λ4、λ5,猎物换成五重平衡的 Witt 宏构。在那里,「猜想与反例」的循环将升级为「奇迹与例外」的循环——世界上只存在那么几个五重传递的设计,而本书将亲手数清它们。

122挑战

第四章 正交拉丁方与欧拉之谜挑战:亲手造一对十阶正交拉丁方

★★★ 复现 1959 年 Parker 那记惊雷:在 10 阶(非素数幂、Euler 管辖区)造出一对正交拉丁方。三条递进路线,任选或连击。

路线一(回溯直造)。直接搜:先摆第一个拉丁方(可用回溯,约简形),再搜配偶——每步固定若干行,用滤过横档的「部分兼容」剪枝。警告:朴素回溯在 10 阶上会撞指数墙,剪枝设计(每放一行立即核「符号对各不重复」)是成败关键。跑通后即可亲眼见到那条 1959 年的新闻标题。

路线二(阵列修复,Parker 之道)。不从方、从阵列入手:先摆一个「近似 OA」——90 行 4 列(差 10 行),任意两列的有序对至多重复一次;再用错位重排逐步消化重复对、补足缺对。每一次交换都要记账(修复几对、新增几对),最后 100 行满额。这条路线的哲学收获:把「存在」拆成「可逐步逼近的优化问题」。

路线三(递归拼装,BSP 之道)。查表:10 有一张 PBD(11, {5, 5? }…)?本书不剧透图纸,只给方向:找一张车间阶数为素数幂与已知良阶的图纸,按 §4.9 的闭合引理装配。图纸本身可用小搜索程序找(块大小 5 与 6、11 个点的成对覆盖)。

三条上山道(10 阶正交对) 路线一:硬搜 回溯+横档剪枝 体验指数墙 路线二:修阵列 90 行 → 100 行 Parker 原教旨 路线三:拼图纸 PBD 闭合装配 BSP 原教旨 验钞三件:两方各自拉丁 · 叠置百对遍历 · 首行可约简
图 4-14 三条路线对应三种方法论(§3.16 的本章重演);验钞标准统一。
123实验

第四章 正交拉丁方与欧拉之谜实验:计算机搜索正交对

★★ 本实验把「造 5 阶正交对」与「验 6 阶无解」各跑一遍:前者体会满额构造的机械性,后者体会 Tarry 之难。代码 Python 三十行内。

from itertools import product

def latin_check(L, n):
    return (all(sorted(r) == list(range(n)) for r in L)
            and all(sorted(c) == list(range(n)) for c in zip(*L)))

def orth_check(A, B, n):
    pairs = {(A[i][j], B[i][j]) for i, j in product(range(n), range(n))}
    return len(pairs) == n * n

# 一、5 阶满额构造
n = 5
sqs = [[[ (k*i + j) % n for j in range(n)] for i in range(n)]
       for k in range(1, n)]
print("张数:", len(sqs))
print("皆拉丁:", all(latin_check(L, n) for L in sqs))
print("两两正交:", all(orth_check(sqs[a], sqs[b], n)
                  for a, b in product(range(len(sqs)), repeat=2) if a < b))

# 二、6 阶:随机抽样一万对,验证无一正交(不构成证明,只作体感)
import random
def rand_latin(n, tries=10000):
    for _ in range(tries):
        L = []
        for _ in range(n):
            row = list(range(n))
            random.shuffle(row)
            L.append(row)
        if all(latin_check(L, n) for L in [L]):
            return L
    return None
hits = 0
for _ in range(10000):
    A = rand_latin(6)
    if A is None: continue
    B = rand_latin(6)
    if orth_check(A, B, 6):
        hits += 1
print("一万对随机抽样的正交命中:", hits, "(Tarry:永远为 0)")

预期输出。第一段:张数 4、皆拉丁 True、两两正交 True——5 阶满额,机器一次成型。第二段:命中 0——随机抽样与 Tarry 定理零冲突;但诚实地在报告里写明:抽样为零不是证明(正交对即便存在也极稀疏),这正是 §4.7 区分「见证」与「证明」的原因。

延伸。①把第一段换成 GF(4) 的异或乘法表(例题一的源头),核对 4 阶满额;②把第二段降到 4 阶再跑——会命中吗?(会的:4 阶正交对海量,对比之下 6 阶的「零」更显异样。)③记录「随机 6 阶方有滤过横档的比例」——Hall–Paige 判据之外的体感数据。

124速查

第四章 正交拉丁方与欧拉之谜第四章速查表

第四章速查表 【对象】 拉丁方:行列符号三向均衡;约简方;滤过横档(每行每列各一、符号互异) 正交:叠置 n2​ 对各一次;N(n)=两两正交最大条数;MOLS=正交方族 OA(s2​, k, s, 2):任意两列有序对各一次;k MOLS(n) ⟺ OA(n2​, k+2, n, 2) 【定理】 上界:N(n) ≤ n − 1(秩论证:rank = (k+2)(n−1)+1 ≤ n2​) 满额:素数幂 q,N(q) = q − 1(域构造 L_a = a·i + j);⇔ 仿射/射影平面存在 Euler 猜想终审:4k+2 阶有正交对 ⟺ n ∉ {2, 6}(Tarry 1901;BSP 1960) MacNeish 猜想已亡(21 阶 4 个 MOLS);乘积定理为真:N(mn) ≥ min N(m), N(n) 配偶判据:有正交配偶 ⟺ 可分解成 n 个滤过横档;ℤ_6 表零横档(和式 3 ≠ 0) 【数字】 N: 1阶—, 2阶1, 3阶2, 4阶3, 5阶4, 6阶1, 7阶6, 8阶7, 9阶8, 10阶≥2 约简方 R(n):1, 1, 4, 56, 9408, 16942080(n = 2..7);L(n) = n!·(n−1)!·R(n) 射影平面:素数幂存在;6 死 Tarry/BRC;10 死 Lam 1989;14 死 BRC;12 未决 年表:1782 Euler → 1901 Tarry → 1959 Parker 10 阶 → 1960 BSP 终审 → 1989 Lam 一句话:满额靠域,翻案靠松弛;例外只有 2 与 6,最小悬案是 12
图 4-15 一页速查:对象、定理、数字、年表。
第五章

t-设计与 Witt 宏构

BIBD 记的账只管「每对点同块 λ 次」——两重平衡。若要求每 t 个点同块恰 λ 次,就是 t-(v,k,λ) 设计:t 越大,平衡越重,存在性越奇。本章从 t-设计的参数恒等式与递降构造(t-设计自动是 s-设计)出发,走到 Ray-Chaudhuri–Wilson 不等式的门槛,然后攀登本书的数学高峰——Steiner 系 S(t,k,v)(每 t 元组恰一次):S(3,4,8) 藏在仿射几何里,S(4,5,11) 与 S(5,6,12) 是小 Witt 设计,而 S(5,8,24)——大 Witt 设计——把 24 个点、759 个八元块安排得五重平衡,是全部数学中最紧凑的安排之一。它的自同构群是散在单群 M24;Steiner 系与散在单群的这条血脉,让组合设计从「游戏」升格为「群论的摇篮」。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
125导引

第五章 t-设计与 Witt 宏构第五章导引:从两重平衡到五重平衡

前四章的账本只记一种平衡:每两个点同席几次。BIBD 的 λ 管到「对」,Steiner 三元素是 λ = 1 的极端情形,正交拉丁方是「两本账同时记」。本章把账本加厚——不再只要求每对点同席次数固定,而是要求每个三元组、每个四元组乃至每个五元组同席的次数都受控。记法极省事:把「每 t 个点恰同席 λ 次」写成 t-(v, k, λ)。取 t = 2 就是旧朋友(BIBD);t = 3、4、5 则是本章的主角。

加一重账,代价惊人。可除性的门槛随 t 一起抬高:C(k − s, t − s) 必须整除 λ · C(v − s, t − s),对一切 s < t 都成立;绝大多数参数在第一道门就被拦下,而过了门的参数也多半造不出来——这正是 Hanani、Wilson、Keevash 三代人接力一个多世纪才啃动的硬骨头。然而一旦造出来,结构往往美得令人屏息:仅仅 24 个点,竟能摆下 759 个八元块,使每个五元组恰落一块,而它的自同构群是二十四万余阶的散在单群 M24。

图 5-0 本章三段行程 加厚的账本 t-(v,k,λ) · 递降 RCW 不等式 §5.1–5.4 Steiner 的塔 S(3,4,8) = AG(3,2) 小 Witt 设计 W11​ · W12​ §5.5–5.8 宏构与群 S(5,8,24):759 个八元块 M24​ 与散在单群 §5.9–5.13 主旋律:账越厚约束越紧 ↔ 塔的递降 ↔ 对称是造出高维平衡的唯一法宝
图 5-0 先立语言与恒等式,再爬 Steiner 的塔,最后登顶 24 点宏构——本章是全书的思想高地。

行李几乎齐备:第一章的两条恒等式(本章将升格为递降定理)、第二章的差集与 Singer 定理(射影空间的点线关系正是高阶设计的天然温床)、第三章的 Steiner 三元素(t = 2 的一层)、第四章的 MOLS 与仿射平面(AG 家族将直接给出 t = 3 的第一个实例)。一句口诀先记下:账越厚,门越窄,结构越奇;而对称——群——是把高维平衡造出来的不二法门。

126讲义

第五章 t-设计与 Witt 宏构5.1 t-设计:更重的账

★★ 先立定义,再谈代价。

定义(t-设计)。设 t ≤ k ≤ v 为整数,λ ≥ 1。一个 t-设计 t-(v, k, λ) 由 v 个点组成的点集 V 与一族 k 元子集(称为块)组成,使每个 t 元点组恰含于 λ 个块。块数记 b,每点所在的块数记 r。λ = 1 时称为 Steiner 系,记 S(t, k, v)。

对照旧账本:2-(v, k, λ) 就是 BIBD,一个字不差。于是整个第五章有一句顺口的话可作路标:BIBD 是 t = 2 的一层楼,往上还有三层。层数越高,约束的个数按 C(v, t) 爆炸式增长,而块还得用同样的 C(v, k) 个候选去凑,平衡的余地因此急剧收缩。

最松的 t-设计是「索性全都要」。取全部 C(v, k) 个 k 元子集作块,则每个 t 元组落在 C(v − t, k − t) 个块里——这给出一个永远存在的 t-(v, k, C(v − t, k − t)),称为完全设计。所以 t-设计从不缺「平凡的」例子;真正的悬念在于 λ 小——尤其是 λ = 1 时,块数被压到 C(v, t)/C(k, t) 这个极限值,此时每块都「一个不多、一个不少」地被需要。设计论的全部魅力都在这一端。

三个即将登场的实例先报个名,留待 §5.6–5.9 逐一验收:立方体上的十四张平面 3-(8, 4, 1)、十二点上的 132 个六元块 5-(12, 6, 1)、二十四点上的 759 个八元块 5-(24, 8, 1)。它们分别是 t = 3、4、5 三层楼上的样板房。

图 5-1 账本的五层楼:t 越大,门槛越高 t = 1:每点次数相同 —— 最松,几乎总能凑出 t = 2:BIBD —— 两条恒等式把关(第一、二章) t = 3:S(3,4,8) 已需仿射几何出手 t = 4:S(4,5,11) 需群轨道构造 t = 5:S(5,8,24) —— 二十四点上的奇迹 同一座塔上,每上一层,可用的点组数目按 C(v,t) 暴涨,而块数被压得越来越紧
图 5-1 五层楼示意:越往上层,可行参数的「容身之处」越窄——这正是 t-设计存在的稀缺性所在。
127讲义

第五章 t-设计与 Witt 宏构5.2 t-(v,k,λ) 的参数恒等式

★★★ 第一章的乘法口诀,升格成一条定理。

定理(递降恒等式)。设 D 是 t-(v, k, λ) 设计。则对每个 0 ≤ s ≤ t,D 同时是 s-(v, k, λs) 设计,其中

λs = λ · C(v − s, t − s) ⁄ C(k − s, t − s).

特别地,块数与点数重数由两条公式给出:

b = λ · C(v, t) ⁄ C(k, t),  r = λ · C(v − 1, t − 1) ⁄ C(k − 1, t − 1).

证明(一趟双数)。固定一个 s 元点组 S。数一对对象 (T, B):T 是含 S 的 t 元组,B 是含 T 的块。换个次序数同一批对象:先数 T——含 S 的 t 元组共 C(v − s, t − s) 个,每个落在 λ 个块里,共 λ · C(v − s, t − s) 对;再数 B——设含 S 的块有 λs 个,每个这样的块含 C(k − s, t − s) 个含 S 的 t 元组,共 λs · C(k − s, t − s) 对。两式相等即得公式。∎

当 s = 0 得 b,当 s = 1 得 r——第一章的两条恒等式正是 t = 2 时的特例。这条「一趟双数」的技法与第一章的换角计数是同一把刀,只是这次要连数两层。

可除性筛(第一道门)。λs 必须是整数,于是对每个 s = 0, 1, …, t − 1:

C(k − s, t − s) | λ · C(v − s, t − s).

这组整除条件廉价却致命:它能在动笔构造之前就宣判一大批参数的死刑。下表把 24 点宏构的全部账目一次算尽(第六章将看到,同样的数字会从另一种结构里再长出来):

sλs 的算式值含义
5λ1每 5 点恰 1 块
4C(19, 1) ⁄ C(3, 1)5每 4 点落 5 块
3C(20, 2) ⁄ C(4, 2)21每 3 点落 21 块
2C(21, 3) ⁄ C(5, 3)77每对点落 77 块
1C(22, 4) ⁄ C(6, 4)253每点落 253 块
0C(23, 5) ⁄ C(7, 5)759块总数
图 5-2 同一套参数,从五重一路降到零重 1λ5​ 5λ4​ 21λ3​ 77λ2​ 253r = λ1​ 759b = λ0​ 递降恒等式把 λ5​ = 1 一路乘成 λ4​、λ3​、λ2​、r、b —— 全在同一套整除账里
图 5-2 横轴按 s 递降排列:λs 逐级放大,且每一级都必须是整数。
128讲义

第五章 t-设计与 Witt 宏构5.3 递降:t-设计生成 s-设计

★★★ 定理之外,还有一个动作:把点「敲掉」,设计自己会降重。

定理(派生设计)。设 D 是 t-(v, k, λ) 设计,S 是一个 s 元点组 (s ≤ t)。令

DS = { B ∖ S : B 是块且 S ⊆ B },

则 DS 是一个 (t − s)-(v − s, k − s, λ) 设计,点集为 V ∖ S,块数 λs。称 DS 为 D 在 S 上的派生设计。

证明。任取 (t − s) 元点组 T ⊂ V ∖ S。则 T ∪ S 是 t 元组,在原设计 D 中恰含于 λ 个块;这 λ 个块都含 S,故在 DS 中恰有 λ 个块含 T。∎

这条定理是「点降重」的机器:每敲掉一个点,重数减一。24 点宏构因此长出一条完整的塔:

t = 5 : S(5, 8, 24)  → t = 4 : S(4, 7, 23)  → t = 3 : S(3, 6, 22).

三层的块数依次是 759、253、77(本册已用程序逐块核验):把 24 点中某个点 p 敲掉,过 p 的 253 个八元块退化成 23 点上的七元块,恰好每 4 点一次——这就是 S(4, 7, 23);再敲一点,77 个六元块在 22 点上每 3 点一次。三个设计共用同一批材料的「血缘」,一目了然。

残差:敲点之外的另一半。不过 p 的那些块不会消失,它们整体构成残差设计。24 点宏构中不过 p 的八元块共 759 − 253 = 506 个;对任一不含 p 的四元组,过它的 5 个块里恰有 1 个过 p(派生设计保证),余下 4 个都不过——故残差是 4-(23, 8, 4) 设计。核账:b = 4 · C(23,4) ⁄ C(8,4) = 4 × 8855 ⁄ 70 = 506,与「759 劈成 253 + 506」严丝合缝。 506 这个数,第六章它会以「[23,12,7] 码中重量 8 的码字数」再次出现——同一个数字,两副面孔。

图 5-3 敲点塔与中途分岔:过点 vs 不过点 S(5,8,24) 759 个八元块 过 p:敲掉 不过 p:留下 S(4,7,23) 253 个七元块 4-(23,8,4) 506 个八元块 S(3,6,22) 77 个六元块 759 = 253 + 506:一半随点而去,一半原地留守——两个新设计,共一套出身
图 5-3 派生与残差是同一动作的两面:过 p 的块降重,不过 p 的块降 λ。
129讲义

第五章 t-设计与 Witt 宏构5.4 Ray-Chaudhuri–Wilson 不等式

★★★ 第一章的 Fisher 不等式,在高重的楼上也要有对应物。

定理(Ray-Chaudhuri–Wilson,1975)。若存在 t-(v, k, λ) 设计且 t ≥ 2s,则

b ≥ C(v, s).

取 s = 1 即得 Fisher 不等式 b ≥ v。

为什么是一条「阶梯」。Fisher 不等式说的是「块数不少于点数」;RCW 把它换成「块数不少于 s 元组的个数」。重数越高(t 越大),允许的 s 越大,右端 C(v, s) 越惊人——t = 5 时 s 可取 1、2:b ≥ C(v, 2)。24 点宏构的 b = 759 与 C(24, 2) = 276 一比:759 ≥ 276,界虽然成立却相当宽松——这也从侧面说明宏构的块数远超「必须」,它带着大量额外结构(对称),这正是下一节要探究的。

证明纲要(线性代数的秩论证)。第一步(升维):把每个块 B 对应到它的特征向量 χB ∈ ℝv,所有块向量张成一个子空间 W,维数 dim W ≤ b。第二步(造独立族):对每个 s 元组 S 造一个向量 wS——只需用「含 S 的块」的线性组合,把 wS 落在 W 内即可(此步借助 t ≥ 2s 的平衡条件)。第三步(内积非零对角化):计算这一族向量的 Gram 矩阵,用 λ 的平衡性证明它满秩,于是这 C(v, s) 个向量线性无关,dim W ≥ C(v, s)。合并两步得 b ≥ C(v, s)。∎

它是怎样的一条界。与 Fisher 不等式一并看:第一章那条「秩论证」(NN⊤ 满秩)对付的是 t = 2;RCW 用的是更细的算符——在 C(v, s) 维的「s 元对称张量」空间上做同样的满秩论证。两条界共享一个思路:把设计的平衡性翻译成矩阵的秩,再让秩去挤压块数。这是「计数—矩阵—秩」三件套第二次在本册立下大功。

图 5-4 一族界的阶梯:b 的下界随 s 抬升 b ≥ v s = 1(Fisher) b ≥ C(v,2) s = 2 需 t ≥ 4 b ≥ C(v,3) s = 3 需 t ≥ 6 同一个秩论证,越细的「对称张量」给出越强的下界
图 5-4 与 Fisher 不等式同源的阶梯:t 越大,可用的 s 越大,界越高。
130讲义

第五章 t-设计与 Witt 宏构5.5 Steiner 系统:λ = 1 的塔

★★ 把账压到最薄:每 t 点恰同席一次。

定义(Steiner 系)。S(t, k, v) 指 t-(v, k, 1) 设计:v 个点的每个 t 元组恰含于一个 k 元块。第三章的 Steiner 三元素 S(2, 3, v) 是这座塔的第一级。

门卫连站三班岗。除零重的 k | v 外,λ = 1 时每个 s 都派一条整除条件:由 λs = C(v − s, t − s) ⁄ C(k − s, t − s) 必须为整数,得

C(k − s, t − s) | C(v − s, t − s),  s = 0, 1, …, t − 1.

以 S(3, 4, v) 为例:s = 0 要 4 | v(v−1)(v−2)/6,s = 1 要 3 | (v−1)(v−2)/2,联立解得 v ≡ 2, 4 (mod 6)。所以 v = 8 有戏,v = 9 直接出局——这个「9」应当眼熟:第三章的 STS(9) 存在(它是 AG(2,3)),而 S(3,4,9) 却不存在。同一批点,重数一升就出局,这正是本章要反复体会的「账厚门窄」。

Steiner 系存在条件定论
S(2, 3, v) 三元系v ≡ 1, 3 (mod 6)Kirkman 1847(第三章)
S(2, 4, v)v ≡ 1, 4 (mod 12)Hanani 1960
S(3, 4, v) 四元系v ≡ 2, 4 (mod 6)Hanani 1960
S(3, 6, 22) = W22由 W24 两次敲点派生见 §5.8–5.9
S(4, 7, 23) = W23由 W24 一次敲点派生见 §5.3 · §5.9
S(5, 8, 24) = W2424 点上五重平衡Witt 1938(§5.9)

大定理。无穷多个参数怎么办?1970 年代 Wilson 用「一块一块地拼」的递归法推进了部分平衡设计的存在性理论;2014 年 Keevash 给出存在性大定理:固定 t、k,凡满足上述全部可除性条件的 (v, k, t),只要 v 足够大,S(t, k, v) 必存在(甚至强得多——随机扰动法能造出丰富的解)。小 v 的稀疏例外,才是 Witt 那一批「奇珍」的立足之地。

图 5-5 Steiner 的塔:从 7 点到 24 点 S(2,3,7) Fano 平面 S(2,3,13…) Kirkman 1847 S(3,4,8) AG(3,2) S(4,5,11) W11​ S(5,6,12) W12​ S(4,7,23) W23​ S(5,8,24) W24​ 低层:无穷族, 可除性定生死 高层:小参数奇珍, 有 Witt 家族与 Mathieu 群
图 5-5 塔的两侧气质迥异:低层是无限族的规律,高层是有限个例外的奇迹。
131讲义

第五章 t-设计与 Witt 宏构5.6 S(3,4,8):仿射空间 AG(3,2)

★★ 第一个 t = 3 的实例,藏在立方体里。

取 V = 𝔽23——八个三位二进制数。称一个 4 元子集为平面,若它形如 x + U,其中 x ∈ V、U 是 2 维子空间。三维空间里 2 维子空间(方向)有多少个?

方向数 = (23 − 1)(23 − 2) ⁄ ((22 − 1)(22 − 2)) = (7 × 6) ⁄ (3 × 2) = 7.

每个方向 U 有两个平行「层」U 与 U + e(e ∉ U),故平面共 7 × 2 = 14 个。这就是仿射空间 AG(3, 2) 的全部平面。

定理。把 AG(3, 2) 的 14 个平面作块,得到一个 S(3, 4, 8):八个点中任意三点,恰落在一个平面内。

证明。任取三个互异点 x, y, z。看方向向量 a = y − x 与 b = z − x。在特征 2 的世界里,a, b 的线性相关只有两种可能:其一,某个是 0(即 y = x 或 z = x,与互异矛盾);其二,a = b,即 y = z,同样矛盾。所以 a, b 必线性无关,U = ⟨a, b⟩ 是唯一的 2 维方向,含这三点的平面 x + U 唯一。∎

三本账一次对平。块数 b = 14:14 × 4 = 56 = 8 × r,故 r = 7(每点落 7 个平面);14 × C(4,2) = 84 = C(8,2) × λ2 = 28 × 3,故 λ2 = 3(每对点落 3 个平面)。与递降恒等式对照:λ2 = C(6,1) ⁄ C(2,1) = 3,r = C(7,2) ⁄ C(3,2) = 21 ⁄ 3 = 7,b = C(8,3) ⁄ C(4,3) = 56 ⁄ 4 = 14——三条公式全部吻合(本册亦已程序逐块核验:56 个三元组各落一个平面,无一例外)。

几何注记。AG(3,2) 的七个方向(2 维子空间)恰好构成一个 Fano 平面 PG(2, 2):方向对应 Fano 的七条线;而 𝔽23 的七个 1 维子空间(即七条「棱」的方向)对应 Fano 的七个点——点线各七、互为对偶,这正是第三章 Fano 平面的自对偶性在这里的回响。换句话说,第三章的 Fano 平面就嵌在这个八点世界的「地平线」上。第四章的 AG(2, 3)(九宫表)与本章的 AG(3, 2)(八点立方)同族两代。

图 5-6 七个方向 × 每方向两层 = 十四个平面 八个顶点:𝔽2​3​ 方向 1:面对角线对 方向 2:竖直棱对 方向 3:水平棱对 … 方向 7:体对角线的「中截面」 每个方向切出两个平行平面(4 点一层) 7 个方向 × 2 层 = 14 个平面 构成 S(3,4,8) 即 3-(8,4,1)
图 5-6 立方体的七个方向各切出两层,共十四个平面;任意三点(只要互异)必落在唯一平面上。
132讲义

第五章 t-设计与 Witt 宏构5.7 S(4,5,11):小 Witt 设计

★★★ 十一张牌上的四重平衡。

把 §5.3 的敲点机器开动起来,我们先造出 t = 4 的第一个漂亮实例。取 11 个点,块取 5 元子集,要求每个 4 元组恰落一块。三条恒等式先算账:

b = C(11, 4) ⁄ C(5, 4) = 330 ⁄ 5 = 66, r = C(10, 3) ⁄ C(4, 3) = 120 ⁄ 4 = 30,

λ3 = C(8, 1) ⁄ C(2, 1) = 4, λ2 = C(9, 2) ⁄ C(3, 2) = 36 ⁄ 3 = 12.

定理(小 Witt 设计 W11)。存在 S(4, 5, 11):11 个点上 66 个五元块,每点落 30 块,每对点落 12 块,每三点落 4 块,每四点恰落 1 块。它的自同构群记为 M11,阶 7920 = 11 × 10 × 9 × 8,在 11 点上四重传递。

它从哪来。下一节将要造出的十二点设计 S(5, 6, 12) 里,有 66 个六元块过某个固定点 ∞。把这些块中的 ∞ 摘掉,剩下的五元块正好铺满另外 11 点,且每 4 点一次——正是 S(4, 5, 11)。也就是说 W11 是 W12 在一点上的派生设计(§5.3 的定理立刻给出存在性,连构造都省了)。

核账的乐趣。66 × 5 = 330 = 11 × 30 ✓;66 × C(5, 2) = 660 = C(11, 2) × 12 = 55 × 12 ✓;66 × C(5, 3) = 660 = C(11, 3) × 4 = 165 × 4 ✓;66 × C(5, 4) = 330 = C(11, 4) × 1 ✓。四本账一本不差。矩阵核验见 §5.8 的实验:本册已用程序把过 ∞ 的块摘出来逐块点数,66 个五元块、330 个四元组各一次,一一对上。

图 5-7 W11​ 的账本:四个重数同时对上 点集 11 块大小 5 块数 66 账目 每点 30 每对 12 每三点 4 顶点账 每 4 点恰 1 块 λ4​ = 1 Steiner 系 群 M11​ 7920 四重传递 66 个块 × 5 = 330 = 11 × 30 = C(11,4) × 1:五本账在同一张纸上对平
图 5-7 W11 把「每四点一次」与「每点三十次」这两件看似无关的事绑在一起——平衡的力量。
133讲义

第五章 t-设计与 Witt 宏构5.8 S(5,6,12):大 Witt 设计

★★★ 十二点上的五重平衡,第一次用「群轨道」造出来。

目标:12 个点的每个 5 元组恰落一个 6 元块。先算账:b = C(12, 5) ⁄ C(6, 5) = 792 ⁄ 6 = 132,r = C(11, 4) ⁄ C(5, 4) = 66,λ4 = C(8, 1) ⁄ C(2, 1) = 4,λ3 = C(9, 2) ⁄ C(3, 2) = 12,λ2 = C(10, 3) ⁄ C(4, 3) = 30。132 这个数不出奇;出奇的是它恰是某个群的轨道大小。

定理(大 Witt 设计的构造)。把 12 个点取作射影直线 P1(𝔽11) = 𝔽11 ∪ {∞},让十一个模 11 的域与这个 ∞ 都留在同一张牌桌上。取投影特殊线性群 PSL(2, 11)(阶 660)作用其上,再取一个六元块

B0 = {∞, 0, 1, 2, 3, 5},

则 B0 在群下的轨道恰含 132 个六元块,构成 S(5, 6, 12)。轨道大小与群阶之比 660 ⁄ 132 = 5:B0 的稳定子是一个 5 阶循环群。

为什么这条路走得通。对称构造的秘诀是「把大群压到块上」:与其大海捞针地筛 C(12, 6) = 924 个六元块,不如一个 660 阶的群来帮忙——只要一个块选得好,它的整条轨道就自带极高的对称性;而对称性正是「每 5 点一次」这种苛刻条件的天然保证。132 = 660 ⁄ 5 一行算式,把一个存在性问题变成了一个轨道计算问题。本册已用程序逐块核验:132 个块、792 个五元组各落一次,无一重复、无一遗漏。

W12 的血亲。把过 ∞ 的 66 个块摘掉 ∞,得上一节的 S(4, 5, 11);把 W12 的自同构群记作 M12,阶 95040 = 12 × 11 × 10 × 9 × 8,在 12 点上五重传递。顺带记住 M12 的一个小脾气:它的 5 阶元素把 12 点分成 5 阶与 7 阶两块,这个「5 + 7」的裂法在第六章还会出现。

图 5-8 群轨道的算法:660 ÷ 5 = 132 群 PSL(2,11) 阶 660 基块稳定子 阶 5 轨道 = 块集 132 个六元块 ÷ = B0​ = {∞, 0, 1, 2, 3, 5} 的轨道即全部块:S(5,6,12) 由此诞生
图 5-8 轨道—稳定子定理把构造问题变成除法:群越大、稳定子越小,轨道越大。
134讲义

第五章 t-设计与 Witt 宏构5.9 S(5,8,24):大 Witt 设计登场

★★★ 本章的高峰:二十四个点上的五重平衡。

把上一节的套路推到极致:24 个点、8 元块、要求每个 5 元组恰落一块。可除性先过一遍(§5.2 的表已完整列出):b = 759、r = 253、λ2 = 77、λ3 = 21、λ4 = 5、λ5 = 1——全是整数,门卫放行。那么它存在吗?

定理(大 Witt 设计 W24)。存在 S(5, 8, 24):24 个点上 759 个八元块,五重平衡。它的自同构群是散在单群 M24。

两条入场券。本章不给出 W24 的完整构造清单(它需要一整台机器),但先指明两条通往它的路,任择其一去想象:

路一(第六章的码)。取扩展二元 Golay 码 [24, 12, 8]——一个 24 位长、4096 个字、最小距离 8 的线性纠错码。它恰好有 759 个重量为 8 的码字;把这 759 个「1 的位置集合」取出来当块,就是 S(5, 8, 24)。第六章将细讲这台机器,现在的重点是:同一个结构,可以用码的语言写出来。

路二(群的轨道)。与 §5.8 同一个思路:取一个 24 元集合、一个足够大的群、一个选得巧的八元块,它的轨道就是全部 759 个块。区别在于这里的群是 M24——它不是别人,正是设计的自同构群(§5.12)。这条「自举」的路解释了宏构的来历:设计造就群,群又回头解释设计。

血缘谱系。W24 是这一族的老祖宗:敲一个点得 S(4, 7, 23)(253 个七元块),再敲一点得 S(3, 6, 22)(77 个六元块)——这正是 §5.3 的敲点塔。而 12 点上的 S(5, 6, 12) 虽不由 W24 派生,却是同一血亲:M12 的同构扩张 M12:2 是 M24 的一个极大子群。五个 Mathieu 群加三个 Steiner 系,织成一张血脉相连的网。

图 5-9 二十四点上的五重平衡 24 个点 → 759 个八元块 五重平衡: 每点 253 每对 77 每三点 21 每四点 5 自同构群 M24​ 阶 244 823 040 五重传递 散在单群
图 5-9 24 个点、759 个八元块、五重平衡、一个散在单群——全部数学中最紧凑的安排之一。
135讲义

第五章 t-设计与 Witt 宏构5.10 计数 759:八元块的账本

★★★ 宏构的账,值得单独一页算清。

总数。b = C(24, 5) ⁄ C(8, 5) = 42504 ⁄ 56 = 759。分解一下:759 = 3 × 11 × 23——三个素数各出一次。一个 5-(24,8,1) 设计的块数,竟是三个素数之积,这种「整」是平衡的痕迹。

交叠表。两个八元块能交多少个点?因为 λ5 = 1,两块不可能交 5 点以上(否则它们含同一个五元组,违反唯一性);又由一行模 2 的账(后面第六章用码的语言解释),交叠数只能是偶数。所以只可能是 0、2、4。实际各有几何:

两块交叠 i 点对数其余 8 − i 点
011 385完全错开
2170 016交一条「棱」
4106 260交一个「四元组」

三种对数相加:11 385 + 170 016 + 106 260 = 287 661 = C(759, 2)——账平。更有意思的是「从一块看出去」的视角:任意固定一块 O,另 758 个块中,恰有 30 个与它完全不交,448 个交 2 点,280 个交 4 点。验算:30 + 448 + 280 = 758 ✓,而 759 × 30 ⁄ 2 = 11 385 正是上表第一行——两本账再次对上。

另一个耐人寻味的数:7590。把 24 个点劈成三个八元块的分法有多少种?答案是 7590 = 10 × 759(已程序核验)——恰好是块总数的十倍。每个八元块可以以 30 种方式被补成「三块一劈」(其余 16 点分成两块),于是 759 × 30 ⁄ 3 = 7590 ✓。

图 5-10 七十五万对块的三分天下(横轴非等距) 11 385 交 0 点 每块 30 个 170 016 交 2 点 每块 448 个 106 260 交 4 点 每块 280 个 合计 C(759,2) = 287 661;交 5 点及以上不可能(λ5​ = 1 与奇偶性双重封杀)
图 5-10 交叠表是宏构最朴素的指纹:三行数字,与「每块 30/448/280」的局部视角互为印证。
136讲义

第五章 t-设计与 Witt 宏构5.11 块的解剖:sextet 与交叠型

★★★ 把 759 个块按「与一个六元四重组的关系」分家。

定义(sextet)。把 24 个点分成 6 个四元组(记作 T1, …, T6),称为一个 sextet,若其中任意两个四元组之并都是八元块。即对一切 i ≠ j 都有 Ti ∪ Tj 是块。

条件看起来挑剔(要 15 个并全部合格),但数量并不小:全部 sextet 恰有 1771 = 7 × 11 × 23 个,又是一个「三素数之积」(本册已程序穷搜整棵回溯树核验)。给定一个 sextet,759 个八元块按它们与 6 个四元组的交叠情况自动分成三类:

交叠型块数读法
4 + 415两块四元组之并:恰 C(6,2) = 15 种选法
2 + 2 + 2 + 2360四个四元组各出 2 点,另两个搭不上
3 + 1 + 1 + 1 + 1 + 1384一个四元组出 3 点,其余五个各出 1 点

三行相加:15 + 360 + 384 = 759——一块不剩、一块不多。这是「解剖」一词的含义:随便挑一个 sextet 当手术台,全部 759 个块必落在这三型之一,且落点分布固定。15 是完全组合数,360 与 384 则来自群作用下的轨道大小。

为什么没有别的型。八元块与 6 个四元组交出的 6 个数相加必须是 8,而每个数不超过 4(四元组大小),且交叠受「λ5 = 1」与奇偶性的双重约束。逐格清点可行的分拆:4+4、4+2+2、4+2+1+1、3+3+2、3+1+1+1+1+1、2+2+2+2……其中一多半被平衡条件否掉,最后只剩上表三型。这种「把所有可能摆出来、再让平衡去筛」的手法,正是设计论最日常的思辨动作。

图 5-11 给定 sextet:759 个块的三型解剖 型 4+415 个 型 2+2+2+2360 个 型 3+1+1+1+1+1384 个 两块并成 8 点 四块各出 2 点 一块出 3 点,五块各出 1 点 15 +360 +384 = 759
图 5-11 sextet 是一张「分类台」:任一六元四重组都能把 759 个块按交叠型一次归位。
137讲义

第五章 t-设计与 Witt 宏构5.12 自同构群 M24 初识

★★★ 宏构的对称有多惊人?用一个数字回答。

宏构 S(5, 8, 24) 的自同构群(保持块集不变的点置换群)记作 M24。它的阶是

|M24| = 244 823 040 = 210 × 33 × 5 × 7 × 11 × 23.

这个六素数乘积并不偶然——它恰好让 M24 在 24 个点上做到五重传递:任取两组各五点的有序点组,总有一个群元素把第一组逐点送到第二组。算一下「每五点的自由度」:24 × 23 × 22 × 21 × 20 = 5 100 480,而

|M24| ⁄ (24·23·22·21·20) = 244 823 040 ⁄ 5 100 480 = 48.

商是 48 而不是 1,说明固定任意五点后群还剩一个 48 阶的稳定子——于是群可以「搬运」任意五元组,且搬运方式的余量恰好 48 种。至于六重传递:若还要搬运第六点,商里得再出因子 19(剩 19 个点),而 244 823 040 不含素因子 19,故 M24 不六重传递。「恰好五重、不多一重」正是 Mathieu 群的招牌。同时,五重传递立刻解释了 λ5 = 1:若某个五元组落两块,群的传递性会把它搬成任意五元组落两块——与计数矛盾。

塔。固定一点,剩下的群正是 M23(阶 244 823 040 ⁄ 24 = 10 200 960),在 23 点上四重传递;再固定一点得 M22(阶 443 520),在 22 点上三重传递。这正是 §5.3 那条敲点塔的群论版本:设计降一级,群降一重,阶除以点数。而 12 点上的 M12(阶 95 040)与 M11(阶 7920)通过 M12:2 < M24 与之接上血缘(§5.9)。

群作用点数阶传递重数对应的设计
M11117 9204S(4,5,11)
M121295 0405S(5,6,12)
M2222443 5203S(3,6,22)
M232310 200 9604S(4,7,23)
M2424244 823 0405S(5,8,24)
图 5-12 Mathieu 五群:传递重数与作用的点数同步 M11​ · 11 点 · 4 重 7920 M12​ · 12 点 · 5 重 95040 M22​ · 22 点 · 3 重 443520 M23​ · 23 点 · 4 重 10200960 M24​ · 24 点 · 5 重 244823040 敲点降重:设计降一级,群降一重,阶除以点数——五群与五设计同步下楼梯
图 5-12 Mathieu 五群与三个 Witt 设计一一对应:敲点塔也是群的降重塔。
138讲义

第五章 t-设计与 Witt 宏构5.13 Steiner 系与散在单群

★★ 一个小小的设计问题,如何把数学领进「例外」的深水区。

单群是「拆不开的对称块」;有限单群的分类定理是二十世纪数学最庞大的工程(1955–2004,累计论文逾万页)。分类的结论有四大族(循环群、交错群、Lie 型群)加上26 个散在单群——它们不属于任何族,各自孤悬。而这条长路的第一步,正是本章的设计。

1861 年,Émile Mathieu 在寻找高重传递置换群时发现:11 点上存在一个阶 7920 的四重传递群、12 点上存在一个阶 95040 的五重传递群。它们不是显而易见的 A11、A12 之类,而是全新的东西——这就是 M11 与 M12。1873 年他又添上三点:M22、M23、M24。此后近百年没有新散在群,直到 1965 年 Janko 找到 J1——从第二个散在群到第二个,隔了 92 年。

设计与群的这条通道是双向的。一方面,Witt 设计(本章 §5.7–5.9)的自同构群给出五个 Mathieu 群;另一方面,另一些散在群(如 Conway 群 Co1、Co2、Co3,以及最大的「魔群」Monster)也都能从特殊的格、码或设计中「长」出来。这就是为什么组合设计虽以「安排的艺术」起步,却最终被安放在群论版图的核心:它是单群的摇篮之一。

26 个散在群中,20 个与 Monster 有血缘(合称「快乐家族」),6 个孤立无援(J1、J3、J4、Ly、O′N、Ru,合称 pariah)。本章的五个 Mathieu 群是快乐家族最年长的五位成员。

图 5-13 从三个 Steiner 系到五个 Mathieu 群 设计(本章) S(5,8,24) S(4,7,23) S(3,6,22) S(5,6,12) · S(4,5,11) 自同构(取群) M24​ · M23​ · M22​ M12​ · M11​ 五个散在单群 更大版图 26 个散在单群 20 快乐家族 6 孤群(pariah) Monster 收尾 Aut 归入 1861 与 1873:Mathieu 从高重传递群出发,为单群家族打开第一扇门
图 5-13 设计与单群的双向通道:结构造群,群回头解释结构。
139讲义

第五章 t-设计与 Witt 宏构5.14 应用一瞥:从田亩到临床试验

★ 高重平衡不只属于纯数学。

出身是农田。BIBD 的历史提醒我们这门学问的实用底色:上世纪二十年代,Ronald Fisher 在 Rothamsted 农业试验站研究「地块差异如何不污染品种比较」,由此把区组设计系统化——第一章的 Fisher 不等式正是从「试验能不能做得出来」这个问题里长出来的。田间试验的日常语言至今仍是设计论的语言:处理(要比较的品种)、区组(条件相近的地块)、平衡(每个品种落在各种条件下次数相同)。

拉丁方与两个方向的干扰。若地里有两个方向的土壤梯度(南北与东西),单靠区组不够,得让处理在「行」「列」两个方向各自平衡——这就是第四章的拉丁方设计的农业原名。正交拉丁方(MOLS)则对应「同时控制三个方向的干扰」。

临床试验与工业参数。医学试验里,随机化与区组是控制混杂因素的标准手段:病人按病情分层(区组)、层内随机分组,正是 2-设计的思想。工业界的「正交试验」「参数设计」用的是正交阵列(§4.11)——它把多因素多水平的组合压到最少的试验次数,靠的仍是「每一对因素的各种搭配各出现一次」这条平衡要求。

信息时代的三处接口。其一,纠错码:好码的极小重量码字集常自带 t-设计结构(第六章);其二,容错存储与网络:RAID 分条、分布式存储的修复方案里,「每条数据带校验」的排布就是 BIBD;其三,软件测试:组合测试要覆盖「任意两个参数的取值组合」,正是 2-覆盖设计(covering design)的应用。

图 5-14 安排的四张面孔 田间试验 · Rothamsted 1920s 处理 × 区组:让品种比较不受地块差异干扰 临床试验 · 分层随机 区组即分层:控制混杂因素的标准手段 工业参数设计 · 正交阵列 用最少的试验次数覆盖多因素搭配 纠错码与容错存储 校验位置的排布就是一套块设计(第六章)
图 5-14 同一句口诀「用最少的次数取得最干净的信息」,在四个领域重复出现。
140讲义

第五章 t-设计与 Witt 宏构5.15 t-设计构造策略总览

★★ 造一个设计,有哪些门路可走?

本章造出的三个设计分别来自三种不同机器。把它们与第三章、第四章的老经验合起来看,构造 t-设计共有四条主干道:

一、几何路线。有限域上的仿射空间与射影空间自带大批「整齐的子空间」。AG(3, 2) 的 14 个平面给 S(3, 4, 8)(§5.6);射影直线上取差集配上 Singer 定理给出一整族对称设计(第二章);PG(3, 2) 的 35 条线给出 S(2, 3, 15) 之外的更多结构(第三章)。几何是「免费」的设计库——空间一搭好,子空间自己就排成了块表。

二、群轨道路线。取一个作用在 v 个点上的群与一个起点集,轨道即块集;群阶除以稳定子阶就是块数(§5.8 的 660 ⁄ 5 = 132 是这条路的样板)。Witt 家族的三个设计全部这样来,散在单群也这样现身。这是通往高重平衡的唯一可靠通道。

三、码路线。取一个最小距离大的线性码,把某些重量的码字支撑集收起来当块,往往正是设计(Golay 码 → S(5,8,24))。这条路的原理(Assmus–Mattson 定理)与操作全在第六章。

四、递归与大定理路线。低层设计像积木,可以拼装出高阶设计(Wilson 的递归方法);2014 年 Keevash 用「随机扰动 + 代数修正」证明:凡过得了可除性门的参数,只要 v 足够大就必存在。这条路的结论最彻底,却也最不说明「长什么样」。

四条路的性格各异:几何与群轨道给「整齐的少数」,码给「跨界的惊喜」,递归给「无穷的多数」。

图 5-15 构造策略的四岔路口 要造 t-设计 几何 AG / PG 子空间 S(3,4,8) 群轨道 轨道 ÷ 稳定子 W11​ · W12​ · W24​ 码 极小重量码字 Golay → W24​ 递归大定理 Wilson · Keevash 充足大的 v
图 5-15 四条主干道各有领地:整齐的少数、跨界的惊喜、无穷的多数。
141讲义

第五章 t-设计与 Witt 宏构5.16 方法论:高维平衡的设计者

★★★ 把本章的手艺提炼成三句话。

第一句:账先算,让恒等式投票。拿到一组参数 (t, v, k, λ),第一件事不是排块表,而是套递降恒等式把 λs、r、b 全算出来,看它们是否都是整数。整数不保证存在,非整数则一定不存在——这一步省掉的功夫常常是全部功夫的九成。

第二句:造靠对称,硬凑造不出高重平衡。本章三个设计无一例外地借助了几何或群:AG(3,2) 的方向、PSL(2,11) 的轨道、Golay 码的字。理由很简单:要求「每个五点组恰一次」是对 C(24,5) = 42 504 条约束同时负责,随机试探的证据是——绝无可能。只有高度对称的结构才能同时满足成千上万条约束。

第三句:降重看血缘,一个设计是一族设计的种子。敲一个点得派生,留下不过点的块得残差;一层塔 24 → 23 → 22 就这样长出来。所以造出一个好设计,等于同时得到一串设计、一串群、一串码——投资一份,收获一箱。

三句话合起来,就是本章乃至全册的方法论骨架:先算账(可除性)、再借对称(几何与群)、最后追踪血缘(派生与残差)。第六章将把第三条路推到惊人的深度——那里,同一个 759 会以一个 24 位纠错码的重量谱身份再次登场。

图 5-16 设计者的三步手法 ① 算账 递降恒等式 可除性筛 非整数=出局 ② 借对称 几何子空间 群轨道 码字支撑 ③ 追血缘 派生:敲点 残差:留守 塔:24→23→22
图 5-16 先算后造、以对称立身、沿血缘收获——本章的三步手法。
142例题

第五章 t-设计与 Witt 宏构例题一:S(3,4,8) 的全面核账

★★ 把 §5.6 的构造连同块表一起摊开,逐项核账。

题。取点集 V = 𝔽23 = {0, 1, 2, …, 7}(按三位二进制读作 000, 001, …, 111)。列出全部 14 个平面,并核验:(1) 块数 14;(2) 每点落 7 块;(3) 每对点落 3 块;(4) 每三点恰落 1 块。

解:块表。7 个方向各切两层,共 14 块(下表中每行是同一方向的两个平行层):

方向(2 维子空间)第一层第二层
{0, 1, 2, 3}01234567
{0, 1, 4, 5}01452367
{0, 1, 6, 7}01672345
{0, 2, 4, 6}02461357
{0, 2, 5, 7}02571346
{0, 3, 4, 7}03471256
{0, 3, 5, 6}03561247

(1) 每方向恰好给出两个互补的四元组(一层与另一层合起来正是全部 8 点),7 个方向两两不同,故 b = 7 × 2 = 14。

(2) 点 0 出现在第一列所有 7 个块中(每方向都有一层过 0);其余各点同样各出现 7 次——例如点 5 落在 0145、0257、0356、2345、1357、1256、4567 这 7 块中。故 r = 7。核:14 × 4 = 56 = 8 × 7 ✓。

(3) 以 {0, 1} 为例,同时含 0 与 1 的块有 0123、0145、0167 三块,故 λ2 ≥ 3;由恒等式 λ2 = C(6, 1) ⁄ C(2, 1) = 3 知恰为 3。核:14 × C(4, 2) = 84 = 28 × 3 ✓。

(4) 以 {1, 4, 6} 为例:含 1、4、6 的块只能是 1346(查表)。再以 {0, 1, 3} 为例:含 0、1、3 的块只能是 0123。一般地,任三点互异 ⇒ 两方向向量线性无关 ⇒ 唯一平面(§5.6 的证明)。程序核验 56 个三元组,每个恰落 1 块。

点评。这张 14 行的表几乎没有「随机感」——每个块都是从 {0, 1, 2, 3} 出发做某种异或平移得到的。这正是几何构造最可爱的地方:块表本身就已经把结构写在脸上。

143例题

第五章 t-设计与 Witt 宏构例题二:从六元块数八元块

★★★ 同是 t = 5,为什么账目差这么多?

题。把 S(5, 6, 12)(W12,六元块)与 S(5, 8, 24)(W24,八元块)的两份账本并排算出:(1) 各自的 λ4、λ3、λ2、r、b;(2) 指出两份账目共用哪一台公式;(3) 解释为何 λ5 相等而其余不等。

账目W12:5-(12,6,1)W24:5-(24,8,1)
λ511
λ4 = C(v−4, 1) ⁄ C(k−4, 1)C(8, 1) ⁄ C(2, 1) = 4C(20, 1) ⁄ C(4, 1) = 5
λ3 = C(v−3, 2) ⁄ C(k−3, 2)C(9, 2) ⁄ C(3, 2) = 12C(21, 2) ⁄ C(5, 2) = 21
λ2 = C(v−2, 3) ⁄ C(k−2, 3)C(10, 3) ⁄ C(4, 3) = 30C(22, 3) ⁄ C(6, 3) = 77
r = C(v−1, 4) ⁄ C(k−1, 4)C(11, 4) ⁄ C(5, 4) = 66C(23, 4) ⁄ C(7, 4) = 253
b = C(v, 5) ⁄ C(k, 5)C(12, 5) ⁄ C(6, 5) = 132C(24, 5) ⁄ C(8, 5) = 759

解 (2):同一台公式。两份账目全部来自递降恒等式 λs = λ · C(v − s, t − s) ⁄ C(k − s, t − s),只是代入的 (v, k) 不同((12, 6) 与 (24, 8))。所以「从六元块数八元块」并不需要新公式——同一台机器,换一组料,出另一批账。

解 (3):为什么只有 λ5 相同。λ5 是题目直接规定的(每 5 点恰一次),自然相等;而 λs 对 s < 5 是把 λ5 往上「摊」的结果——分子的 C(v−s, 5−s) 与分母的 C(k−s, 5−s) 都依赖尺寸。一个直观的读法:块越大、点越多,同一个五元组的「邻居」越多,被摊到每个四元组上的次数也就越多。故 λ4 由 4 升到 5,λ3 由 12 升到 21,λ2 由 30 升到 77,b 由 132 升到 759。

看点。把最后一行的两个数相除:759 ⁄ 132 = 23 ⁄ 4——一个整数之比,却正好等于「点数的增长摊在四个点上」的效果。这类比值往往能揭示隐藏在参数背后的结构关系,是检验自己是否真的算懂了的快捷方式。

144习题

第五章 t-设计与 Witt 宏构习题课(一):t-设计恒等式

★★ 本组动用 §5.1–5.5,重点是把递降恒等式练成条件反射。

习题 5-1(门卫三关)。判定 3-(10, 4, 1) 能否通过可除性筛:算出 b、r、λ2,逐项验证是否为整数。再看 §5.5 的表,说出它的名字。

习题 5-2(小 Witt 设计的账)。对 4-(11, 5, 1) 算出 b、r、λ2、λ3,并与 §5.7 的结论对照。

习题 5-3(过门不等于存在)。对 3-(12, 6, 2) 算 b、r、λ2。若全为整数,说明它过了门卫;再想想「过门」与「存在」之间还差什么。

习题 5-4(递降恒等式的证明)。写出「一趟双数」的完整证明,并指出哪一步用到了「每个 t 元组恰落 λ 块」这条唯一的前提。

习题 5-5(完全设计)。证明:取全部 C(v, k) 个 k 元子集为块,得到 t-(v, k, C(v − t, k − t)) 设计,并解释它是「最厚」的 t-设计。

习题 5-6(用界去量宏构)。用 RCW 不等式(§5.4)验证 S(5, 6, 12):b = 132 ≥ C(12, 2) = 66 ✓;再验证 S(5, 8, 24):759 ≥ C(24, 2) = 276 ✓。说明为什么 s 不能取 3。

提示与答案要点。5-1:b = C(10,3) ⁄ 4 = 30,r = C(9,2) ⁄ 3 = 12,λ2 = C(8,1) ⁄ 2 = 4,全整数;它是 Steiner 四元系 S(3,4,10)(即 SQS(10),因 10 ≡ 4 (mod 6))。5-2:b = 66,r = 30,λ2 = 12,λ3 = 4,与 §5.7 完全一致。5-3:b = 2 × 220 ⁄ 20 = 22,r = 2 × 55 ⁄ 10 = 11,λ2 = 2 × 10 ⁄ 4 = 5,全整数——过门;但过门只是必要条件,存在性须另证(本章的宏构、下一章的码、或 Keevash 大定理)。5-4:关键是「数 (t 元组 T, 块 B) 且 S ⊆ T ⊆ B 的对数」,前提用在上式的 λ 与下式的 λs 两步。5-5:固定 t 元组,含它的 k 元子集有 C(v−t, k−t) 个,故 λ 取此值;「最厚」指 λ 已达上界(再多就得让某个 t 元组落进重复的块,而那不可能)。5-6:s = 3 需要 t ≥ 6,而两个设计的 t 都是 5,故不许。

145习题

第五章 t-设计与 Witt 宏构习题课(二):递降与派生

★★★ 本组动用 §5.3 与 §5.6–5.12,重点是「敲点」这台机器的操作。

习题 5-7(Fano 敲点)。取 2-(7, 3, 1)(Fano 平面),敲掉一个点 p,写出派生设计的参数与块表,并核验它确是 1-(6, 2, 1)。

习题 5-8(W24 → W23)。解释为什么敲一点后 759 个八元块只剩 253 个七元块,并用 r = 253 与「过 p 的块数」之间的关系说明。

习题 5-9(残差的账)。证明不过 p 的 506 个八元块构成 4-(23, 8, 4),并用恒等式算出它的 b、r、λ3、λ2。

习题 5-10(W11 的来历)。W12 过点 ∞ 的六元块有 66 个。删去 ∞ 后得到 11 点上的 66 个五元块。核验它们构成 S(4, 5, 11),并说明这与 §5.7 的「W11 是 W12 的派生设计」是同一件事。

习题 5-11(两连敲)。从 S(4, 5, 11) 再敲一点,得到什么?写出参数并核验三元组账(提示:10 点上每 3 点恰一次)。

习题 5-12(交叠数的纪律)。说明为什么 W24 的两个八元块交叠数不能是 5、6、7、8;再解释为什么也不能是奇数(提示:可从「码是自对偶的」或从「交叠型必须配平」两个角度任选其一论证)。

提示与答案要点。5-7:1-(6, 2, 1):b = r = 3(过 p 的三条线各去掉 p),6 点各落 1 块;块表如 {1,3}, {2,5}, {4,6}(视 Fano 标号而定)。5-8:过 p 的块数正是 r = 253(每点落 253 块),每个过 p 的块去掉 p 得一个七元块;故七元块共 253 个,且恰是 S(4, 7, 23)。5-9:对不含 p 的四元组 T,过 T 的 5 个块中恰 1 个过 p(派生性),余 4 个不过,故 λ4 = 4;b = 4 × C(23,4) ⁄ C(8,4) = 506,r = 4 × C(22,3) ⁄ C(7,3) = 176,λ3 = 4 × 20 ⁄ 5 = 16,λ2 = 4 × 210 ⁄ 15 = 56。5-10:过 ∞ 的 66 个块去掉 ∞ 得 66 个五元块;任 4 点恰在一个过 ∞ 的块中 ⇒ 恰落一块。5-11:得 S(3, 4, 10)(SQS(10)):30 个四元块,10 点上每 3 点恰一次,核 30 × C(4,3) = 120 = C(10,3) ✓。5-12:交 5 点即共含一个五元组 ⇒ 违反 λ5 = 1;故 ≤ 4,而 5、6、7、8 均不可能。奇数不可能:自对偶码的两字交集大小必为偶数(第六章),等价地由 λ 的整除配平也能挤出矛盾。

146地图

第五章 t-设计与 Witt 宏构第五章地图:Steiner 系的塔

本章的概念不是并排的清单,而是一座有血缘的塔。下图标出「谁派生谁、谁解释谁」:纵向是敲点(重数减一),横向是同一重数上的不同尺寸。

图 5-17 第五章概念依赖图 t-(v,k,λ) 定义 递降恒等式 可除性筛 RCW 界(含 Fisher) 派生 · 残差 Steiner 系 S(t,k,v) S(3,4,8) = AG(3,2) W11​ = S(4,5,11) W12​ = S(5,6,12) W24​ = S(5,8,24) W23​ = S(4,7,23) W22​ = S(3,6,22) sextet · 交叠型 M24​ 与散在单群 敲点 λ = 1
图 5-17 纵向是「敲点」的血缘,横向是同一重数的不同尺寸;右列全部由 W24 派生而来。

三条记忆线索。其一,公式只有一台——§5.2 的递降恒等式生出全套 λ;其二,塔只有一座——24 → 23 → 22 靠敲点相连;其三,群跟着设计走——设计降一级、群降一重、阶除以点数。抓住这三条,本章的十几个数字就不会散。

147小结

第五章 t-设计与 Witt 宏构第五章小结(上):t-设计的框架

★★ 框架五件套,一条不落。

① 定义。t-(v, k, λ):每 t 个点恰落 λ 个块。t = 2 退回 BIBD;λ = 1 称为 Steiner 系 S(t, k, v)。完全设计(取全部 k 元子集)永远存在,λ 取到最大 C(v−t, k−t);真正的难题全在小 λ。

② 递降恒等式。λs = λ C(v−s, t−s) ⁄ C(k−s, t−s),s = 0, 1, …, t。一台公式生出 b、r 与全部 λs。证明=一趟双数。

③ 可除性筛。每个 λs 必须是整数,即 C(k−s, t−s) | λ C(v−s, t−s)。廉价、致命、必查。例:S(3,4,v) 当且仅当 v ≡ 2, 4 (mod 6) 有戏。

④ 派生与残差。敲掉 s 个点(块只保留含它们的)得 (t−s)-(v−s, k−s, λ) 设计;不过这 s 点的块则构成残差。W24 一敲得 S(4,7,23),残下 4-(23,8,4)。

⑤ 界。Fisher 不等式(第一章):b ≥ v;RCW(§5.4):t ≥ 2s 时 b ≥ C(v, s),取 s = 1 即得前者。两界同源:把平衡写成秩。

与旧章的接口。第一章的恒等式在这里升格为定理;第二章的差集与射影空间提供了几何构造的原料;第三章的三元素是塔的第一级;第四章的仿射平面家族直接给出 AG(3, 2)。第五章不是「另一章」,而是前四章的自然上一层。

148小结

第五章 t-设计与 Witt 宏构第五章小结(下):Witt 家族

★★★ 一页装下本章的全部硬数字。

设计参数brλ2λ3λ4自同构群
S(3,4,8)AG(3,2)1473——AGL(3,2)(阶 1344)
S(4,5,11) = W11敲 W12 一点66301241M11(7920)
S(5,6,12) = W12PSL(2,11) 轨道1326630124M12(95 040)
S(3,6,22) = W22敲 W24 两点772151—M22(443 520)
S(4,7,23) = W23敲 W24 一点253772151M23(10 200 960)
S(5,8,24) = W24Golay 码 / 群轨道75925377215M24(244 823 040)

必背的六个数字。759(块数)、253(每点块数)、77(每对点)、21(每三点)、5(每四点)、1(每五点)。它们由一台公式串成一条链,改一个全动。

两个结构性数字。1771 = 7 × 11 × 23:sextet 总数;506 = 759 − 253:残差 4-(23,8,4) 的块数,也是第六章 [23,12,7] 码中重量 8 的码字数。

一张交叠表。759 块两两相交,落在 0、2、4 点的对数分别是 11 385、170 016、106 260,合计 C(759,2) = 287 661。任取一块,另有 30 块与它不交、448 块交两点、280 块交四点。而 24 点劈成三个八元块共 7590 种。

三型解剖。相对任一 sextet,759 块分成 4+4 型 15 个、2+2+2+2 型 360 个、3+1+1+1+1+1 型 384 个(15 + 360 + 384 = 759)。

149思想卡

第五章 t-设计与 Witt 宏构思想卡:例外之中见宇宙

思想卡 · 五

一个看牌游戏,怎么长出了宇宙的一角?十九世纪的 Mathieu 只是在找「高重传递的置换群」——一个纯粹关于对称的技术问题。他找到的那个 24 点上的群,百年来无人能说清它「为什么」存在;直到人们发现,它就是本章 759 个八元块的自同构群。原来群不是凭空冒出来的,它是一个安排的自画像。

第一层体会:例外不是意外,是结构的指纹。单群分类把它们分成四大族与 26 个散在群——后者看似「剩下的零头」,却是全部分类里最深的部分。它们稀少,是因为承载它们的结构太苛刻:759 个块必须同时满足 42 504 条五点约束,稍有不对称就全盘崩塌。苛刻到极点,解就屈指可数;而屈指可数的解,往往个个不可替代。

第二层体会:平衡越苛刻,结构越稀少,也越不可替代。从 t = 2 的「到处都是」到 t = 5 的「只有几个」,本章亲历了这条收敛曲线。BIBD 有无穷多,STS 有无穷多,S(4,5,11) 却只有一个(同构意义下),S(5,8,24) 也只有一类。数量上的稀少,换来的是结构上的丰富——一个 W24 就够支撑一整本书。

第三层体会:同一个数,是同一结构的不同投影。759 先是块数,又是重量 8 的码字数;253 先是每点块数,又是重量 7 的码字数;1771 既是 sextet 数,又会在别处以「三元组 × λ3」的形式出现。当两个看似无关的领域用同一批数字说话,那通常不是巧合,而是同一个对象在两种语言里的名字——这正是第六章要展开的故事。

留给下册的问句。若一个安排的自同构群如此巨大,那么这个安排本身是不是「被群逼出来」的?换句话说:先有设计还是先有群?这个问题的两种答案,恰好对应了构造设计的两种路——几何与轨道。而它们背后的统一,仍在现代数学的探索之中。

150挑战

第五章 t-设计与 Witt 宏构挑战:验证 77 张六元块表

★★★★ 亲手把 S(3, 6, 22) 从 24 点宏构里「敲」出来,并逐条核账。

目标。构造出 22 点上 77 个六元块构成的 S(3, 6, 22)(即 W22),并验证:块数 77;每个三元组恰落 1 块(共 1540 个三元组);每点落 21 块;每对点落 5 块。四本账必须同时对上。

路线(三步)。

第一步:造出 24 点宏构的 759 个八元块。用扩展二元 Golay 码。最省事的入口是 QR 码:在 𝔽2[x] 中取 23 次多项式 x23 − 1 的一个 11 次因式

g(x) = x11 + x9 + x7 + x6 + x5 + x + 1,

由 {(m(x) g(x)) mod (x23 − 1)}(deg m < 12)得到 4096 个 23 位码字,再各补一位总校验位(使全码字重量为偶数),得 [24, 12, 8] 码。取其中重量为 8 的码字,其「1 的位置集合」即 759 个八元块。这一步本身就是一道好题:先用重量分布自检——重量 8 应有 759 个,重量 12 应有 2576 个。

第二步:敲两个点。在 24 点上任取两个固定点 p、q。取出所有同时含 p 与 q 的块,删去这两个点,剩下 22 点上的六元块。按 §5.3 的定理,应得 S(3, 6, 22)。

第三步:核四本账。块数 77;三元组遍历(1540 个三元组各落 1 块);每点 21、每对点 5。若其中任一不符,回头检查第一步的重量分布——错误多半藏在码的构造里。

为什么值得亲手做。这道题把本章的三件核心工具(码→设计、敲点、参数恒等式)串成一条链;做完之后,759/253/77 这组数字将不再是「书上说的」,而是亲手算出来的。

151实验

第五章 t-设计与 Witt 宏构实验:程序枚举 S(3,4,8) 的块表

★★★ 用二十行程序把 §5.6 的全部断言跑一遍。

下面这段程序在 𝔽23 上枚举全部平面,并逐项核验 S(3, 4, 8) 的四条性质。它同时也是「几何构造」这条路的自动化版本——把「子空间 + 平移」翻译成代码,设计自己就出现了。

from itertools import combinations

V = range(8)
subs  = {frozenset((0, a, b, a ^ b)) for a in range(1, 8) for b in range(a + 1, 8)}
planes = sorted({tuple(sorted(x ^ c for x in U)) for U in subs for c in V})
print('方向数', len(subs), '| 平面数', len(planes))
for P in planes:
    print('  ', P)

cnt = {}
for T in combinations(V, 3):
    n = sum(1 for P in planes if set(T) <= set(P))
    cnt[n] = cnt.get(n, 0) + 1
print('三元组落块数分布', cnt)
print('每点块数', sorted({sum(1 for P in planes if p in P) for p in V}))
print('每对点块数', sorted({sum(1 for P in planes if set(T) <= set(P)) for T in combinations(V, 2)}))

inter = {}
for A, B in combinations(planes, 2):
    k = len(set(A) & set(B))
    inter[k] = inter.get(k, 0) + 1
print('两平面交叠数分布', dict(sorted(inter.items())))

预期输出(本册运行结果)。方向数 7、平面数 14;14 个平面按字典序为

0123, 0145, 0167, 0246, 0257, 0347, 0356, 1247, 1256, 1346, 1357, 2345, 2367, 4567;

三元组落块数分布为 {1: 56};每点块数 [7];每对点块数 [3]。

再加一步:块交叠。把上面 14 个平面两两取交,统计交叠点数:结果应为 {0: 7, 2: 84},合计 91 = C(14, 2)。也就是说,两个平面要么完全平行(不交),要么恰好交一条「棱」(两个点)——这与 §5.10 宏构交叠表的「0/2/4 纪律」遥相呼应,是小几何里的同一条规律。

进阶(可选)。把 §5.10 的交叠表也用程序复现:造出 759 个八元块后,遍历 C(759,2) = 287 661 对,统计交 0、2、4 点的对数,应得 11 385、170 016、106 260。做完这一步,手边就有了一台可以复用的「宏构核账机」,本章挑战页的 77 张六元块表也能顺手核出。

152格物札记

第五章 t-设计与 Witt 宏构〖札记〗田亩均分:古老的均匀安排

★ 在 λ 与 t 出现之前,人类早已在实践「均匀」。

井田:九宫格的均分。《孟子·滕文公上》记:「方里而井,井九百亩,其中为公田,八家皆私百亩,同养公田。」把一里见方的土地划成九块,中央一块为公田,其余八块按户均分——这是一幅再清晰不过的「把总量均匀摊到每个单位」的图景:八户各得一份,谁也不多、谁也不少。有趣的是,这个九宫格的骨架在本书里出现了两次:作为 AG(2, 3)(第四章)与作为 S(2, 3, 9) 的载体(第三章)。古老的行政图形与设计论的点线结构,是同一张网格的两种说法。

均输:按比例摊派的算法。《九章算术》第一章名「方田」,讲田亩形状、面积与分数的均分;第六章名「均输」,专讲按路程远近、人口多寡折算赋税与运输任务——把「公平」写成可计算的比率。均输要解决的核心问题与我们本章的十分相似:在若干约束条件下,把若干份量分配下去,使各项指标彼此平衡。

洛书:八条线同和。洛书(九宫图)是一个三阶幻方:把一到九排成方阵,使每一行、每一列、两条对角线的和都是十五。八条线、同一个和——这不正是「多重平衡」最朴素的样本吗?后世把九宫图用于算盘定位、历法推算与建筑布局,而它的数学本质是:在一张有限网格上,同时满足八条线性约束。

轮值:让时间也均匀。古文献中还有「三年一换土易居」的轮耕记载(菑、新、畬三田轮换),以及更鼓、值更、驿传轮值等制度。它们要达成的效果是:无论从谁的角度看,各项差事与各项好处在若干轮次后都恰好轮到自己一次——这正是循环设计(第三章的循环 STS、第四章的循环拉丁方)所追求的性质。

一句结语。均匀不是数学家的发明,而是任何共同体都必须解决的现实问题:分地、摊税、派役、轮值。数学所做的,只是把「公平」这个模糊的诉求,翻译成 λ、t 与「每 t 个点恰同席 λ 次」这样可以被检验的语句。一部设计论,可以说是「均分」这门古老手艺的现代注脚。

153速查

第五章 t-设计与 Witt 宏构第五章速查表

★★ 本章全部公式与数字,一页备查。

条目公式 / 结论
t-设计每 t 个点恰落 λ 个块;记 t-(v, k, λ)
Steiner 系λ = 1,记 S(t, k, v)
完全设计取全部 k 元子集 ⇒ λ = C(v − t, k − t)
递降恒等式λs = λ · C(v−s, t−s) ⁄ C(k−s, t−s)
块数与点数重数b = λ C(v, t) ⁄ C(k, t),r = λ C(v−1, t−1) ⁄ C(k−1, t−1)
可除性筛C(k−s, t−s) | λ C(v−s, t−s),s < t
派生设计敲掉 s 点 ⇒ (t−s)-(v−s, k−s, λ),块数 λs
RCW 不等式t ≥ 2s ⇒ b ≥ C(v, s);s = 1 即 Fisher b ≥ v
SQS 存在性S(3, 4, v) 存在 ⇔ v ≡ 2, 4 (mod 6)(Hanani 1960)
存在性大定理可除性条件 + v 充分大 ⇒ 存在(Keevash 2014)
设计brλ2λ3λ4群
S(3,4,8)1473——AGL(3,2) 1344
S(4,5,11)66301241M11 7920
S(5,6,12)1326630124M12 95 040
S(3,6,22)772151—M22 443 520
S(4,7,23)253772151M23 10 200 960
S(5,8,24)75925377215M24 244 823 040

W24 专用数字。交叠对数 0/2/4 → 11 385 / 170 016 / 106 260(合计 C(759,2) = 287 661);固定一块,其余 758 块中 30 不交、448 交 2 点、280 交 4 点;sextet 共 1771 = 7 × 11 × 23;相对一个 sextet 的三型块数 15 / 360 / 384;残差 4-(23,8,4) 有 506 块;24 点劈成三块共 7590 种。

口诀。账先算(可除性)→ 造靠对称(几何 · 群 · 码)→ 降重看血缘(派生 · 残差 · 塔)。

154讲义

第五章 t-设计与 Witt 宏构衔接讲义:通往码与设计的合流

★★ 本章结束时,有一件「奇事」必须交代清楚。

§5.9 与 §5.10 里,759 是八元块的块数,253 是每点块数,506 是残差块数。这三个数在下一章会以完全不同的身份再次出现:它们是 扩展二元 Golay 码的重量谱——重量 8 的码字 759 个、重量 16 的码字 759 个、重量 12 的码字 2576 个,而 23 位版本的 Golay 码则有重量 7 的码字 253 个、重量 8 的码字 506 个。同一批数字,一台设计一台码,各自数出来。

这不是巧合。码与设计共用一个代数骨架:把每个码字的「1 的位置」看成一个子集,两个码字的「交叠大小」正是它们的内积的某种折算;而「所有重量为 w 的码字构成一个 t-设计」这件事,可以被一条一般性的定理(Assmus–Mattson)捕获。于是本章的 759 与下一章的 759 是同一个对象的两个投影——这也是设计论最迷人的地方:在一个领域里数出来的数,会在另一个领域里等着。

下一章路线。先从纠错码的本意讲起(码字、距离、纠错能力),再以 Hamming (7, 4) 码与 Fano 平面的逐行互译作为第一个双向通道;随后用 Golay 码把本章的 W24 重新造一遍,并让 Mathieu 群 M24 以「码的自同构群」的身份再登场;最后给出「码—设计—群」的三语词典与散在单群的全景图。

行李清单。行囊里装好三样东西:第一章的关联矩阵(码的生成矩阵是它的近亲)、本章的 S(5,8,24) 与交叠纪律(0/2/4 的奇偶性将在码的世界里得到解释)、以及 §5.12 的 Mathieu 塔(群将在两条通道上同时现身)。合流的时刻到了。

第六章

码与设计的合流

最后一章把设计接上信息时代。纠错码——在信息里冗余地编入校验位,让接收方能纠错——本质上是另一种关联结构。Hamming (7,4) 码的十六个码字与 Fano 平面互为镜像:七条校验方程就是七条线;支撑集翻译回设计,设计的自同构群就是码的自同构群。Assmus–Mattson 定理把这条通道修成大道:从好码造出好设计。主角是 Golay 码——[23,12,7] 码的重量分布给出 S(4,7,23),扩展成 [24,12,8] 后给出 S(5,8,24):第五章的高峰原来是一座码造的山。而两座结构共享的自同构群正是 Mathieu 群 M24——五个传递的奇珍,散在单群家族的开山之作。章末给出「码—设计—群」三语词典与散在单群全景,把全书收进现代数学的地图。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
155导引

第六章 码与设计的合流第六章导引:把设计编码,把码设计

第五章末尾留下一个悬念:759、「253」、「506」这些数字,既是一台设计的账目,又将在另一台结构里出现。本章就来兑现这个承诺。新的主角是纠错码——为了在噪声信道上可靠传送信息,人们把原始消息冗余地编成较长的码字,使接收方即使收到若干错误位,仍能准确恢复原消息。

码与设计表面上毫不相干:一个谈「怎样把 0 与 1 编得抗噪声」,一个谈「怎样把点排进块」。但两者共享同一个骨架——「位置集合」的族。一个码字是若干位置的集合(1 的位置),一台设计的块也是若干点的集合;于是「每个五元组恰落一块」与「某些码字的支撑恰好平衡」可以是同一句话。这条通道一旦打通,两边的东西就能互借:用好的码造出好的设计,用设计的对称解释码的自同构群。

图 6-0 本章三段行程 码的骨架 距离 · 生成矩阵 · 校验 Hamming(7,4) §6.1–6.5 双向通道 支撑集 · 重量计数器 Assmus–Mattson §6.6–6.8 Golay 与群 [23,12,7] · [24,12,8] Mathieu 五群 · 散在 §6.9–6.14 主旋律:一个结构,三副面孔(码 · 设计 · 群)——本书的收束之章
图 6-0 先立码的语言,再修双向通道,最后让 Golay 码与 Mathieu 群同时登场。

本章也是全书的收束。第一天我们从十五个女生的散步问题出发,中间经过五参数、差集、Steiner 系、正交拉丁方、t-设计,本章将把所有线索拧成一股:Fano 平面 ↔ Hamming 码、W24 ↔ Golay 码、Mathieu 群 ↔ 两者的自同构群。走完这一章,便多出一副「三语词典」——同一个结构,可以在码、设计、群三种语言里自由转述。

156讲义

第六章 码与设计的合流6.1 纠错码:另一种关联结构

★★ 先讲清「码」要解决的问题。

设想把消息编成一串 0 与 1 通过噪声信道。噪声会随机翻转若干位;若不加保护,一位翻转就可能改变整条消息。解法是冗余:把 k 位消息编成 n 位(n > k)码字送出,让接收方有「多余」的信息去识别并纠正错误。

定义(码与距离)。长度为 n 的二元码是 𝔽2n 的一个子集,元素称码字。两个码字 x、y 的 Hamming 距离 d(x, y) 定义为两者相异位置的个数;码的最小距离 d 是所有相异码字距离的最小值。称参数为 [n, k, d]。

距离与纠错。若把码字看成空间中的点,那么「能纠正 t 位错」等价于「以每个码字为心、半径 t 的球互不重叠」,即

d ≥ 2t + 1.

证明只需三角不等式:收到的词 r 若与真实码字 c 的距离 ≤ t,则它与任何其他码字的距离 ≥ d − t > t,故「就近译码」唯一。于是纠错问题化归为几何问题:在 𝔽2n 里放一批点,使它们彼此相距足够远。

与设计的接口在哪里?关键在「码字即子集」:一个码字 x = (x1, …, xn) 可以读成「哪些位置是 1」的一个子集,称为它的支撑 supp(x);重量就是支撑的大小。于是一台码不过是 {1, …, n} 上的一族子集——与一台设计的块集同型。差别只在:设计关心「每 t 个点落几块」,码关心「两两距离够不够远」。当这两个要求同时被一个结构满足时,桥梁就出现了。

本章的三个主角分别是:Hamming 码(与 Fano 平面互为镜像)、Golay 码(与 W24 互为镜像)、以及它们的自同构群(Mathieu 群)。

图 6-1 编码—传输—译码,以及「距离=纠错力」 消息 k 位 比如 4 位 码字 n 位 冗余至 7 位 收到可能有错 就近译码还原 编码 信道 相邻码字间距 ≥ d 只要 ≤ t 位出错,仍在最近的码字球内
图 6-1 纠错=把码字摆得够开:距离就是抗噪能力。
157讲义

第六章 码与设计的合流6.2 线性码与生成矩阵

★★★ 给码加上代数结构,一切都能用矩阵算。

定义(线性码)。若码 C 是 𝔽2n 的子空间,称 C 为线性码;此时 |C| = 2k,k 为维数,记 [n, k, d]。生成矩阵 G 是一个 k × n 矩阵,其行是 C 的一组基:码字 c = m G(m 为 k 位消息)。校验矩阵 H 是 (n − k) × n 矩阵,满足

c ∈ C ⟺ H c⊤ = 0, 即 G H⊤ = 0.

线性带来三件便利。其一,距离=重量:由 d(x, y) = wt(x − y) 且 x − y ∈ C,最小距离等于最小非零重量,无需两两比较。其二,校验只需一个矩阵乘:收到的词 r 对应伴随式 s = H r⊤,s = 0 即无错;s ≠ 0 时,s 往往直接指出错误位置(下一节见)。其三,重量计数器 Ai 取代了穷举:Ai 是重量为 i 的码字个数,整台码的「体检报告」就是这条数列。

与设计的第一条血缘。回忆第一章的关联矩阵 N:它的行是各块的特征向量,列是各点。现在把 N 的行读成码字——一台 BIBD 的关联矩阵,天然就是「一族等重量码字」的生成矩阵;而「每对点恰落 λ 块」的条件,正是对列内积的约束。反过来,若一台线性码的某组码字重量相同、且两两内积恒定,则它们的支撑集构成一台设计。这条双向读法贯穿本章:矩阵 N 在第一章负责计数,在本章负责编码。

图 6-2 生成矩阵与校验矩阵:一对互锁的门 消息 m(k 位) 码字 c = m G(n 位) 伴随式 s = H c ×G ×H G HT​ = 0 :合法码字被 H 一并「筛成零」 s = 0 ⇒ 无错; s ≠ 0 ⇒ 出错,且 s 的值常能指认错在哪一位 线性码的三大便利:距离=重量、校验=一次矩阵乘、体检=重量计数器
图 6-2 生成与校验是一对互锁的门:一个造码字,一个筛码字。
158讲义

第六章 码与设计的合流6.3 Hamming (7,4) 码:三张脸

★★★ 最小的漂亮码,一物三面。

造法极简单。取校验矩阵 H,它的 7 列依次是 1 到 7 的二进制写法(全部非零三位向量):

1 = (1,0,0), 2 = (0,1,0), 3 = (1,1,0), 4 = (0,0,1), 5 = (1,0,1), 6 = (0,1,1), 7 = (1,1,1).

把 1、2、4 三列(即单位向量)留在右边,可把校验矩阵化成标准形 H = [A | I3],从而读出生成矩阵 G = [I4 | A⊤]。得到的码记作 [7, 4, 3]:7 位长、4 位消息、最小距离 3——能纠正 1 位错误。

第一张脸:完美 1-纠错码。16 个码字的重量分布是 A0 = 1、A3 = 7、A4 = 7、A7 = 1(本册已程序枚举 128 个长度为 7 的向量核验)。半径 1 的球含 1 + 7 = 8 个向量,而 16 × 8 = 128 = 27——整空间被 16 个球恰好铺满,一个点都不剩。这种「无浪费」的码称完美码。

第二张脸:H 的 7 列就是 PG(2, 2) 的 7 个点。全部非零三位向量正是 Fano 平面的点集(§5.6 已见其逆:这些向量的 1 维子空间构成 Fano 的七个点)。所以「设计 Hamming 码」这个动作,按字面意义就是「把 Fano 面的七个点写成竖排」。

第三张脸:对偶码给出 Fano 的七条线。取 H 的行张成的码(即 C 的对偶),它是 [7, 3, 4] 单纯形码,7 个非零字全部重量 4。对每个这样的字,取它为零的 3 个位置——这些 3 元组恰好是 Fano 平面的七条线(下一节给出完整线表与核验)。于是同一台 Hamming 码,从三个角度看是三样东西:一台完美码、一张 Fano 点表、一份 Fano 线表。

图 6-3 Hamming (7,4) 码的三张脸 ① 完美码 16 个码字 距离 3 ⇒ 纠 1 位错 16 × 8 = 128 = 27​ 球堆积无缝隙 ② H 的列 七个非零三位向量 = PG(2,2) 的七个点 1,2,3,4,5,6,7 设计 H 码=写出 Fano 点 ③ 对偶码的零集 7 个重量 4 的字 各自的零位置(3 个) 恰是 Fano 的七条线 每对点恰在一条线上
图 6-3 「把 Fano 面的点写成竖排」就得到 Hamming 码——设计与码的镜像关系在这里第一次显形。
159讲义

第六章 码与设计的合流6.4 Hamming 码与 Fano 平面的互译

★★★ 把上一节第三张脸逐行验算。

把 7 个位置依次编号 1,…,7(第 j 位置的编号就是 H 第 j 列的二进制值)。对偶码的 7 个非零字各取「为零」的 3 个位置,得到七条线:

{1,2,3},{1,4,5},{1,6,7},{2,4,6},{2,5,7},{3,4,7},{3,5,6}.

定理(互译)。这七条线构成 Steiner 三元系 S(2, 3, 7),即 Fano 平面:7 个点、7 条线,每线 3 点,每点落 3 线,每对点恰在一条线上(本册已程序核验:21 对点各落 1 线)。

逐行验算。任取两点,比如 1 与 6:只在 {1,6,7} 中同现;1 与 4:只在 {1,4,5} 中同现;2 与 5:只在 {2,5,7} 中同现。七条线两两恰好交于一点(21 对线各交一点),这是 Fano 平面自对偶性的体现。

与第五章的接口。细看这七条线,正是 §5.6 的表格里那七个「方向」去掉 0 之后剩下的三元组:{0,1,2,3} 去掉 0 得 {1,2,3},{0,1,4,5} 去掉 0 得 {1,4,5}……而它们的补(每个四点组)正是 §5.6 表格中每个方向的「第二层」。所以:AG(3,2) 的十四个平面,一半(过原点的七个方向)给出 Fano 的七条线,另一半(不过原点的七个平行层)给出这七条线的补。一台 Hamming 码,就这样同时握着立方体几何与 Fano 平面的两条线头。

对象码的语言设计的语言
7 个位置码位(坐标)Fano 的 7 个点
H 的 7 列校验向量PG(2,2) 的 7 个点
对偶码非零字重量 4 的码字线(其零集为 3 点)
Hamming 码重量 3 字7 个最小重量码字Fano 的 7 条线
Hamming 码重量 4 字7 个码字7 条线的补(4 点)
伴随式 s ≠ 0指认错误位置该列所属的点
图 6-4 Fano 平面七条线(编号见正文) 123 456 7 七条线: {1,2,3}{1,4,5}{1,6,7} {2,4,6}{2,5,7}{3,4,7} {3,5,6} 每对点恰落一条线 (21 对,各 1 次)
图 6-4 七条线即七条「Fano 直线」(含中间那条把相对两顶点连起来的直线)。
160讲义

第六章 码与设计的合流6.5 完备码与球堆积

★★★ 「无浪费」是一种可遇不可求的奢侈。

上一节的账值得放大看:半径 t 的球含 1 + n + C(n, 2) + … + C(n, t) 个词。若码有 M 个码字,且球两两不交,必有

M × (球体积) ≤ 2n   (Hamming 界).

等号成立时称为完美码:球的并恰好铺满整个空间,一个位置都不浪费。

定理(完美码的清单)。二元完美码只有三类:平凡的重复码,Hamming 码(t = 1),以及 Golay 码(t = 3)。一般 q 元情形下,完美码也只有 Hamming 码、Golay 码(q = 3 时的 [11, 6, 5])与平凡情形——这是 Tietäväinen 与 van Lint 的共同结论。

一整个家族的 Hamming 码。§6.3 的造法对任意 r 都成立:取 H 的列为 𝔽2r 的全部非零零向量,得

[n, k, d] = [2r − 1, 2r − 1 − r, 3], 球体积 1 + n = 2r,2k × 2r = 2n ✓.

r = 3 时正是 [7,4,3]。有意思的是,这些 Hamming 码的对偶(单纯形码)恰好对应射影空间 PG(r − 1, 2) 的点:每一阶 Hamming 码,都把一张小射影几何「编码」了一遍。

完美性为何稀缺?因为 Hamming 界常留有余量,而要把余量恰好抹平,需要空间尺寸与球体积之间存在精确的整除关系——这是「整」的苛刻要求,与 t-设计的可除性筛如出一辙。完美码的稀少与 Witt 设计的稀少,是同一种稀少的两种表现。

图 6-5 球堆积:从「有浪费」到「恰好铺满」 一般情形:球与球之间有缝隙 完美码:球恰好无缝铺满 M × 球体积 < 2n​ M × 球体积 = 2n​
图 6-5 完美码是球堆积的「贴砖」极限;Hamming 与 Golay 是二元世界里仅有的非平凡例子。
161讲义

第六章 码与设计的合流6.6 设计来自码:支撑集与重量计数器

★★★ 通道的另一半:怎么从码里「长出」设计?

给定线性码 C,对每个重量 w 收集全部重量为 w 的码字,把它们的支撑集取出,记作

Dw = { supp(x) : x ∈ C, wt(x) = w }.

于是 Dw 是 {1, …, n} 上的一族 w 元子集——一台候选设计。问题变成:它是不是 t-设计?这取决于码的对称性,而衡量对称性的现成工具,正是重量计数器 Ai。

定义(重量计数器与重量枚举多项式)。Ai 为重量 i 的码字个数;WC(x) = Σi Ai xi 称重量枚举多项式。它是由 n + 1 个数字组成的「码的体检报告」。

为什么计数器能管设计?直觉的说明。「Dw 是 t-设计」意即「每个 t 元位置组落进的支撑数相同」;而「落进几个」是一个关于码字的计数。若码足够对称(例如自对偶且重量计数器有特定形状),这种计数就被迫与具体位置无关——于是设计自动成立。下一节的 Assmus–Mattson 定理把这条直觉变成精确的判据。

先看两个现成的例子。§6.3 的 [7, 4, 3] Hamming 码:D3 是 7 个三元组,程序核验恰为 Fano 的七条线(t = 2 的设计);它的对偶 [7, 3, 4] 单纯形码的 D4 是 7 个四元组,即那七条线的补。而 §6.9 将看到:Golay 码的 D8 就是第五章的 759 个八元块。「码 → 设计」这条路走得通,而且走得出 Witt 设计。

码重量 w支撑集数得到的设计
[7,4,3] Hamming37S(2,3,7) = Fano(线)
[7,3,4] 单纯形(对偶)47线的补(4 点)
[23,12,7] Golay7253S(4,7,23) = W23
[23,12,7] Golay85065-(23,8,1)
[24,12,8] 扩展 Golay8759S(5,8,24) = W24
[24,12,8] 扩展 Golay1225765-(24,12,48)(每 5 元组落 48 块)
[24,12,8] 扩展 Golay167595-(24,16,78)(八元块的补)

上表后四行是本章后半的主角,其中每一行的数字都已在第五章或本章的核账中验证过。

162讲义

第六章 码与设计的合流6.7 码来自设计:行空间

★★★ 反方向的通道:把设计的关联矩阵当作生成矩阵。

设 D 是一台点-块结构(比如一台设计),N 是它的关联矩阵:行对应块、列对应点,NBi = 1 表示点 i 在块 B 中。把这些行放在 𝔽2 上张成一个子空间,就得到一台码,称为 D 的关联码(或称设计码):

C(D) = ⟨ 各块的特征向量 ⟩𝔽2.

定理(Fano 与 Hamming 的五译)。把 Fano 平面的 7 个点记为 1,…,7、七条线取 §6.4 的线表,则其关联矩阵(7 × 7)在 𝔽2 上的行空间恰好是 [7, 4, 3] Hamming 码。换言之:Hamming 码 = Fano 平面的关联码。

证明(一步核账)。七条线的特征向量共 7 个向量,在 𝔽2 上张成的空间含 24 = 16 个向量——因为七条线中任三条线性无关而第四条可由它们表出(每点落三线,把「过某个点的三条线」相加即得该点的单位向量相关的线性关系)。用 §6.3 的 H 直接计算可得:这 16 个向量与 Hamming 码的 16 个码字完全相同(本册已程序核对两个集合相等)。∎

这条通道为什么如此好用。因为自同构自动继承:设计的对称(把点映成点、块映成块)必然把关联矩阵的行集映成行集,从而也是码的自同构;反之(在结构良好的情形下)码的自同构也保持「哪些码字来自块」。于是

Aut(D) = Aut(C(D)), 只要 C(D) 的构造能反读回 D.

这条等式是本章第 11–13 节的核心武器:要找设计的自同构群,就去求码的自同构群——后者有更成熟的算法(本章的实验页将见其雏形)。同理,W24 的关联矩阵(759 × 24)张成 [24, 12, 8] Golay 码;这也是下一节两条通道合流的入口。

图 6-6 双向通道:设计与码互为对方的「行空间」 设计 D 点 · 块 关联矩阵 N 码 C 码字 · 支撑集 重量 · 距离 取各行 → 生成矩阵 取支撑 → 块集 Aut(D) = Aut(C):对称性双向继承
图 6-6 设计给码一份生成矩阵,码给设计一份支撑块表;对称性沿两条箭头来回走。
163讲义

第六章 码与设计的合流6.8 Assmus–Mattson 定理

★★★★ 把「码 → 设计」写成可检验的判据。

§6.6 的问题是:Dw = { supp(x) : wt(x) = w } 何时是 t-设计?答案取决于码的重量计数器的稀疏程度。

定理(Assmus–Mattson,本册使用形式)。设 C 是二元 [n, k, d] 码,其对偶 C⊥ 的最小距离为 d⊥。若 C 的重量计数器在区间 [d, n − d⊥] 上只有很少几个非零项(相对 d⊥ 而言足够稀疏),则对该区间内每个出现码字的重量 w,Dw 构成一台 t-设计,其中 t 由 d⊥ 与非零项个数共同决定。t 通常取到较大的值(t = 5 的宏构正由此而来)。

(精确的计数条件与一般 q 元形式见 MacWilliams–Sloane《The Theory of Error-Correcting Codes》第 6 章。)

为什么「稀疏」是关键。重量计数器若在某段区间上取值集中,说明码在那些重量上的字「被迫」承担了某种平衡——而平衡一旦被迫,就只能表现为「与位置无关的计数」,这恰是设计的定义。若计数器在区间上密密麻麻,码就有足够的自由度去打破这种平衡,通道便不通。

Golay 码为何完美命中这条判据。扩展 Golay 码 [24, 12, 8] 是自对偶的,故 d⊥ = d = 8,区间为 [8, 16]。而它的重量计数器在这段区间上只有三个非零项:

重量 w码字数 Aw支撑给出的设计核验(本册程序)
8759S(5, 8, 24) = W24每个 5 元组恰落 1 块 ✓
1225765-(24, 12, 48)每个 5 元组恰落 48 块 ✓
167595-(24, 16, 78)每个 5 元组恰落 78 块 ✓

三个数、三条设计。第五章费力建立的 759 个八元块,原来是「最小重量码字的支撑集」——这台设计一直是那台码的影子。

顺带得到一个漂亮的解释:为什么第五章说「两个八元块的交叠数只能是 0、2、4」?因为八元块是自对偶码的码字支撑,而自对偶码中任两字的内积为 0,在二元情形下即交叠个数为偶数(本册亦已抽样核验)。再加上「交 5 点及以上会违反 λ5 = 1」,0/2/4 的三分格局就被完全锁定了。

图 6-7 [24,12,8] Golay 码的重量计数器:区间 [8,16] 内只有三根柱子 08121624 759 2576 759 1 1 虚线之间即区间 [d, n−d⊥] = [8,16]:只有三个非零重量 → 三个 5-设计
图 6-7 Assmus–Mattson 的判据在此变成一句话:区间内的柱子够少,支撑就自动成为设计。
164讲义

第六章 码与设计的合流6.9 Golay [23,12,7] 码与 S(4,7,23)

★★★★ 第一个 Golay 码,与第五章 253 个七元块的出处。

Golay 在 1949 年寻找完美码时给出了两个著名的例子:一个二元、一个三元。二元的那台可以这样造(第二章的差集与第三章的循环构造在此合流):在 𝔽2[x] 中取 23 阶循环码,生成多项式为

g(x) = x11 + x9 + x7 + x6 + x5 + x + 1,

它的根正是 23 次单位根中「二次剩余指数」的那些(1, 2, 3, 4, 6, 8, 9, 12, 13, 16, 18)——所以这台码也称 QR 码(二次剩余码)。码字即 {(m(x) g(x)) mod (x23 − 1) : deg m < 12}。

参数值说明
n, k, d23, 12, 7长度 23、维数 12、最小距离 7
码字数4096 = 212
重量谱1 / 253 / 506 / 1288 / 1288 / 506 / 253 / 1对应 w = 0, 7, 8, 11, 12, 15, 16, 23
完美性1 + 23 + 253 + 1771 = 2048 = 211212 × 211 = 223 ✓ 完美 3-纠错码

定理(设计浮现)。取重量为 7 的 253 个码字,把它们的支撑集当块,得到 S(4, 7, 23)——正是第五章由 W24 敲一点得到的 W23。同理,重量为 8 的 506 个码字的支撑集构成 5-(23, 8, 1),即 W24 的残差设计。

验算要点。253 个七元块在 23 点上,每个 4 元组恰落一块(253 × C(7,4) = 253 × 35 = 8855 = C(23,4) ✓);506 个八元块则每个 5 元组恰落一块(506 × C(8,5) = 506 × 56 = 28 336 = C(23,5) ✓)。两式都由程序逐块核验通过。第五章的「759 = 253 + 506」到这里终于有了完整解释:759 个八元块里,含某个固定点 p 的 253 个去掉 p 就是七元块,不含 p 的 506 个原地留守——这正是「派生 + 残差」在码的语言里的精确对偶。

图 6-8 [23,12,7] Golay 码的重量谱与两族设计 07811 12151623 253 506 1288 1288 506 253 重量 7 → S(4,7,23) 重量 8 → 5-(23,8,1) 谱关于 w = 11.5 对称(MacWilliams 对偶)
图 6-8 重量谱的左右对称来自码与其对偶的关系;两个低重量各自生成一族设计。
165讲义

第六章 码与设计的合流6.10 扩展 Golay [24,12,8] 与 S(5,8,24)

★★★★ 加一位校验位,24 点宏构从码里长出来。

扩位。给 [23, 12, 7] 的每个码字追加一位「总校验位」(使全字重量为偶数),得 [24, 12, 8] 码:长度 24、维数 12、最小距离由 7 提到 8。它的重量谱是

A0 = 1, A8 = 759, A12 = 2576, A16 = 759, A24 = 1,

其余重量全为 0(本册已程序枚举 4096 个码字核验)。注意它的自对偶与偶重性质:每个码字重量是 4 的倍数,任意两个码字的内积为 0——这两条性质正是「支撑集成为设计」的代数引擎。

定理(宏构再现)。取重量 8 的 759 个码字,其支撑集恰构成 S(5, 8, 24):第五章的高峰就是这台码的最小重量字。而重量 16 的 759 个字是该设计的「补块」(因为全 1 向量也在码中),重量 12 的 2576 个字则给出 5-(24, 12, 48)。

与第五章的三处对账。其一,块数 759 与每点块数 253:后者正是 [23,12,7] 码中重量 7 的码字数(敲点后的派生设计);其二,残差 506 = [23,12,7] 码中重量 8 的码字数;其三,交叠数的奇偶纪律来自自对偶性。第五章用几何与群看到的每一件事,这里都能用码的语言重述一遍——而码的表述往往更短。

为什么扩位能把距离从 7 提到 8。原码 [23, 12, 7] 的重量奇偶混杂(7、8、11、12、15、16 都会出现)。补上总校验位后每个码字重量变成偶数;若两字在原有 23 位上相距奇数(最小可能 7),则两字重量一奇一偶、其校验位必相异,故 24 位上的距离升为 d + 1 ≥ 8;若原本距离已是偶数(≥ 8),补齐后仍 ≥ 8。于是最小距离由 7 提到 8。这一手在编码理论里称「扩展」:加一位校验位,换一级重数——宏构从 23 点长到 24 点,正是这一步。

图 6-9 扩位:23 → 24,距离 7 → 8,设计从 S(4,7,23) 升到 S(5,8,24) [23, 12, 7] 253 个七元块 → S(4,7,23) 506 个八元块 → 5-(23,8,1) [24, 12, 8] 759 个八元块 → S(5,8,24) 2576 个十二元块 → 5-(24,12,48) +1 位校验 重数升一级:S(4,7,23) 与 5-(23,8,1) 合并升为 S(5,8,24)
图 6-9 扩展一位,重数升一级——这是「加一位校验位」的几何代价与几何回报。
166讲义

第六章 码与设计的合流6.11 Mathieu 群 M24

★★★★ 码与设计的对称,是同一个群。

第五章说 W24 的自同构群是 M24,阶 244 823 040。本章则说 S(5,8,24) 就是 [24,12,8] 码的重量 8 字支撑。两者合起来立即得到:

定理。M24 = Aut(S(5,8,24)) = Aut([24,12,8] Golay 码)。即:保持 759 个八元块不变的点置换群,与把码字集合映成自身的置换群,是同一个群。

证明思路即 §6.7 的核心等式:块集由码字决定、码字由块集生成,故两侧的置换条件完全等价。这条定理让「求设计的自同构群」变成一个可以在码上做的计算问题——而码的对称性有更多代数工具可用(生成多项式、自同构算法)。

M24 的几个局部。它的极大子群包括 M23(一点稳定子,阶 10 200 960)、M22:2(二点稳定子的扩张)、24:A8(阶 322 560)、M12:2(阶 190 080,把小 Mathieu 群接入宏构)、26:3.S6(阶 138 240,与 sextet 的稳定子同阶——§5.11 的 1771 = |M24| ⁄ 138 240)、L2(23)(阶 6072)等。

一个耐人寻味的吻合。由 |M24| ⁄ 1771 = 138 240 得 sextet 稳定子阶恰为 138 240——前一段提到的极大子群 26:3.S6 正是它的模样(六元四重组稳定子)。而 |M24| ⁄ 759 = 322 560 恰为八元块(octad)稳定子阶,也正是极大子群 24:A8 的阶。设计里数出来的两类「块」,在这里表现为两类极大子群。

对象个数稳定子阶稳定子的形状
点2410 200 960M23
八元块(octad)759322 56024:A8
六元四重组(sextet)1771138 24026:3.S6

(表中稳定子阶 = |M24| ⁄ 个数,三行都可当场验算:244 823 040 ⁄ 24 = 10 200 960;244 823 040 ⁄ 759 = 322 560;244 823 040 ⁄ 1771 = 138 240。)

图 6-10 一个群,三条身份 设计的面孔 Aut(S(5,8,24)) 保持 759 块不变 码的面孔 Aut(扩展 Golay 码) 保持 4096 码字不变 群的面孔 M24​:244 823 040 5-重传递 · 散在 三条等号:Aut(设计) = Aut(码) = M24​ 稳定子阶 = 群阶 ⁄ 对象个数:759 → 322 560;1771 → 138 240
图 6-10 同一个群的三副面孔;由「群阶 ÷ 个数 = 稳定子阶」可以反推每条对称的粗细。
167讲义

第六章 码与设计的合流6.12 五重传递:五只手的群

★★★ 「任意五点可任意搬动」——这句话强到什么程度?

定义(k-重传递)。群 G 作用在点集 Ω 上。若对任意两组各 k 点的有序点组 (a1, …, ak) 与 (b1, …, bk)(各组内互异)都存在 g ∈ G 使 g(ai) = bi,则称 G 在 Ω 上k-重传递。

怎么检验。k-重传递等价于 |G| 被 |Ω|(n−1)⋯(n−k+1) 整除且稳定子足够小(更严格地说:群的阶要够大,且轨道数够少)。M24 的验算已经在第五章做过:

244 823 040 ⁄ (24 × 23 × 22 × 21 × 20) = 244 823 040 ⁄ 5 100 480 = 48.

这说明:固定任意五点后,群的行列式还剩 48 阶的余量——群可以搬运任意五点组;而若要搬运六点,商里必须再出因子 19,但 244 823 040 不含素因子 19,故不六重传递。「恰好五重」是 M24 的精确刻度。

定理(Jordan,1871;Mathieu)。四重传递的置换群只有:对称群 Sn、交错群 An,以及 M11, M12, M23, M24。五重传递的只有 Sn, An, M12, M24。

这是一条「不可能性清单」式的定理:除了人人皆知的对称群与交错群,高重传递的世界里只有 Mathieu 们——四条孤峰。它解释了为什么这些结构如此特殊:五重传递几乎是把「对称」逼到极限,能承受这一逼迫的结构少得可怜,而它们恰好都是设计。

图 6-11 传递重数阶梯:越往上越荒凉 1-重:到处都是 2-重:常见 3-重:渐少 4-重:S,A+四峰 5-重:S,A+两峰 四峰:M11​(11点) · M12​(12点) · M23​(23点) · M24​(24点) 其中五重的只有 M12​ 与 M24​——恰好对应 S(5,6,12) 与 S(5,8,24) Mathieu 群之外,再无高重传递的非对称、非交错群
图 6-11 Jordan 定理的直观:高重传递是稀有资源,Mathieu 群是唯一使用者。
168讲义

第六章 码与设计的合流6.13 M12 与小 Mathieu 群

★★★ 把同样的故事在三元域上重演一遍。

Golay 的第二个完美码是三进制 [11, 6, 5]:长度 11、维数 6、最小距离 5,能纠正 2 位错误。完美性账目:

球体积 = 1 + 2·11 + 4·C(11, 2) = 1 + 22 + 220 = 243 = 35, 36 × 35 = 311 ✓.

扩位成 12 位。仿照二元情形给它添一位校验位,得 [12, 6, 6] 三进制 Golay 码(自对偶)。它的重量谱是

A0 = 1, A6 = 264, A9 = 440, A12 = 24

(本册已程序枚举 36 = 729 个码字核验)。注意 264 ⁄ 2 = 132——重量 6 的码字,其支撑集恰是第五章的 132 个六元块(同一支撑在两个符号下各计一次,故除以 2)。

定理。[12, 6, 6] 三进制 Golay 码中重量 6 的 132 个码字,其支撑集构成 S(5, 6, 12) = W12;而该结构补集封闭(每个六元块的补也是六元块,因全字重量 12 且全 1 向量在码中)。本册已逐块核验:792 个五元组各落一块,无一重复。

两个通道同时到站。第五章用 PSL(2, 11) 的轨道造 W12(660 ⁄ 5 = 132);本章用三进制 Golay 码造同一个设计。群是 M12(阶 95 040),其点稳定子正是 M11(阶 7920),对应 W11。两台码、两个设计、两个群,一一对应,纹丝不乱。

域码重量 w支撑集数设计群
𝔽2[7, 4, 3] Hamming37S(2,3,7) FanoPSL(2,7) 168
𝔽3[12, 6, 6] Golay6132S(5,6,12) W12M12 95 040
𝔽2[23, 12, 7] Golay7253S(4,7,23) W23M23 10 200 960
𝔽2[24, 12, 8] Golay8759S(5,8,24) W24M24 244 823 040
图 6-12 三进制 Golay:264 ÷ 2 = 132 个六元块 [12, 6, 6] 三进制 Golay 729 个码字 重量 6:264 个 (每支撑出现 ± 两次) S(5,6,12) = W12​ 132 个六元块 补集封闭 自同构群 M12​ 264 ⁄ 2 = 132 与第五章 PSL(2,11) 轨道(660 ⁄ 5 = 132)所得完全一致——两条路殊途同归
图 6-12 三进制 Golay 码与 W12:一次跨域的成功复制。
169讲义

第六章 码与设计的合流6.14 散在单群:26 个例外的大地图

★★ 从五个 Mathieu 群出发,看一眼数学的地平线。

有限单群的分类定理说:每个有限单群必属于四大族(素数阶循环群、交错群、Lie 型群)或26 个散在单群之一。五个 Mathieu 群是最年长的成员,也是本章的主角;其余 21 个的发现史集中在二十世纪后半叶:1965 年 Janko 找到 J1,此后十余年以每年一两个的速度出现新成员,直到 1980 年前后发现了最大的「魔群」(Monster)。

群发现作用点数阶与设计/码的关系
M111861117920S(4,5,11) 的自同构群
M1218611295 040S(5,6,12);三进制 Golay 码
M22187322443 520S(3,6,22)
M2318732310 200 960S(4,7,23);[23,12,7] Golay 码
M24187324244 823 040S(5,8,24);[24,12,8] Golay 码

分类的规模。这套分类在 1983 年宣布完成,其证明分散在数百篇论文、累计逾万页;其中一类(quasithin 群)的论证到 2004 年才补全。它的结论把「所有有限单群」这张清单封锁——而封锁之中仍然留着 26 个例外。本章的故事正是这 26 个例外的第一页。

快乐家族与孤群。26 个之中,20 个与魔群有血缘(合称「快乐家族」),6 个孤立无援(J1、J3、J4、Ly、O′N、Ru,称 pariah)。五个 Mathieu 群是快乐家族最年长的五位,也是唯一能直接从「点线安排」里长出来的一批。组合设计由此获得一个特殊地位:它是散在单群的摇篮之一。

一点历史感慨。Mathieu 工作时(1861、1873)并不知自己找到了单群;单群的概念要到 1890 年代才由 Hölder 等人明确。他只是在寻找高重传递的置换群——一个看似技艺性的问题——却意外打开了分类定理中最深的那扇门。这是数学史上反复出现的模式:最深的结构常从最朴素的问题里浮出。

图 6-13 从五个 Mathieu 群到 26 个散在单群 Mathieu 五群 魔群 Monster 1861–1873 → 1965–1980 快乐家族(20 个):M11​ M12​ M22​ M23​ M24​ J2​ HS McL He Suz … Co1​ 孤群 pariah(6 个):J1​ · J3​ · J4​ · Ly · O′N · Ru 26 个全体
图 6-13 散在单群的地图:左端是最古老的五个,右端是最大的魔群,中间是二十世纪的猎人时代。
170讲义

第六章 码与设计的合流6.15 设计、码与量子信息

★★ 合流的成果流向当代技术。

量子纠错:码的第二春。量子计算最大的障碍是退相干——量子态极易被环境扰动。量子纠错的思路与经典相同:把信息编进一个大的 Hilbert 空间,使错误可被探测与纠正。而量子纠错码的构造几乎全部依赖经典码:

CSS 构造(Calderbank–Shor–Steane):取一对「互相正交」的经典码 C1 ⊇ C2,即得一个量子码。而经典码「自正交」(C ⊆ C⊥)这一条件,恰好就是第五、六章反复使用的「任意两字内积为零」。于是:

经典码量子码性质
[7, 4, 3] Hamming[[7, 1, 3]] Steane 码最著名的量子纠错码
[15, 11, 3] Hamming[[15, 1, 3]]量子 Hamming 码
[23, 12, 7] Golay[[23, 1, 7]]量子 Golay 码:能纠 3 个量子错

可见 第七章以外,第六章也有一份「落地清单」:本章造出来的每一台好码,几乎都有一台对应的量子码在等着它。

门限秘密共享与 MDS 码。把一份密钥分成 n 份,使任意 k 份能复原、任意 k−1 份一无所知——这类方案(Shamir 1979)的骨架正是最大距离可分码(MDS 码):每个码字任意 k 位都可拼接出全字,与「任意 k 份可复原」是同一句话。而多级访问结构(不同组合的权限不同)则要用到更一般的组合设计。

分布式存储。把文件切成块并加冗余,使若干节点失效后仍可恢复——工程上常见的做法是把「每个块放进哪几个节点」排成一台 BIBD 或覆盖设计,让修复时的下载量最小化。第一章的「每点落 r 块、每对点落 λ 块」在这里有了直接的物理含义:每个节点的存储量、任意两节点的共同覆盖。

一句总结。本章的合流不止是数学内部的统一,它还把设计论送进了信息技术的核心地带:凡是要「均匀、可靠、可恢复」地把信息铺开的地方,都能找到块设计与纠错码的影子。

图 6-14 合流的三处出口 量子纠错 CSS 构造:C2​ ⊆ C1​ ⊆ C1​⊥ Steane [[7,1,3]] 量子 Golay [[23,1,7]] 秘密共享 门限方案 ⇔ MDS 码 任意 k 份复原 访问结构 ⇔ 组合设计 分布式存储 块 ↔ 节点 排布 BIBD / 覆盖设计 修复下载量最小 共同条件:自正交 / 平衡 —— 数学上的同一条纪律,技术上的三种用途
图 6-14 本章的合流流向三个当代出口;它们共用的正是「平衡」这条纪律。
171讲义

第六章 码与设计的合流6.16 方法论:三语词典

★★★ 全书的收束:一个结构,三副面孔。

把本章(连同第五章)的收获整理成一部词典。左边是设计语言,中间是码语言,右边是群语言——同一个数学对象,三种说法。

设计语言码语言群语言
点(共 v 个)坐标位(长 n)被作用的集合 Ω
块码字的支撑集轨道里的元素(如八元块)
每对点恰同块 λ 次码字支撑的两两交叠恒定群在某对象上传递
自同构群 Aut(D)码的自同构群 Aut(C)M24 · M23 · M12 …
派生设计(敲点)删去一坐标(缩短)点稳定子(子群)
残差设计不过该位的码字族稳定子作用下的另一轨道
关联矩阵 N生成矩阵 G等变的线性表示

三句方法论。其一,账先算:无论从哪一边入手,可除性(设计的 λs 为整数、码的重量谱可行性)总在第一道门;其二,造靠对称:几何、群轨道、好码是三条造法,其实都是「用对称换平衡」;其三,翻译即发现:本章所有关键结果都不是新算出来的,而是把一边的已知事实翻译到另一边——759 在设计里是块数,在码里是码字数,两个「已知」相撞就撞出了同一性。

为什么这套词典值得带走。因为数学的进步常常就是这样发生的:两个领域各自发展出成熟的技术,直到有人发现它们说的是同一件事。设计论与编码论在 1960—1970 年代完成的这次合流,直接催生了组合设计理论的黄金时代(Assmus–Mattson、Ray-Chaudhuri–Wilson、Wilson 的递归法都在此期间);而今天量子信息学又给这条通道添了新的一层。持有词典的人,能在三个领域之间自由取用工具。

图 6-15 三语词典:设计 · 码 · 群 设计 码 群 同一个结构 · 点线安排 · 位置集合的族 · 对称与稳定子 三副面孔,一个对象 翻译能力,就是本章给出的最实用的礼物
图 6-15 三环交叠处即本章的全部内容:设计、码、群说的是同一件事。
172例题

第六章 码与设计的合流例题一:Hamming 码全解码表

★★★ 把一台码的「整本账」摊开,并看懂它怎样纠错。

题。取 H 的列依原序为 1,…,7 的三位二进制(§6.3 的写法)。求出:(1) 一台生成矩阵;(2) 全部 16 个码字;(3) 单位错误的伴随式表;(4) 指出哪些码字的支撑恰是 Fano 七条线。

解 (1):生成矩阵。解方程 H x⊤ = 0 得 4 维解空间,取一组基(每行是一个码字):

0001111, 0010110, 0100101, 1000011.

解 (2):16 个码字。全部非空码字如下(按字典序;括号内为重量):

0001111 (4) 0010110 (3) 0011001 (3) 0100101 (3) 0101010 (3)
0110011 (4) 0111100 (4) 1000011 (3) 1001100 (3) 1010101 (4)
1011010 (4) 1100110 (4) 1101001 (4) 1110000 (3) 1111111 (7).

重量分布 1 / 7 / 7 / 1(对应 0、3、4、7),与 §6.3 完全一致。

解 (3):伴随式表。由于 H 的第 j 列就是 j 的二进制,单位错误有极干净的结果——伴随式直接给出出错位置的编号:

出错位置1234567
伴随式 H r⊤001010011100101110111
读作十进制1234567

于是译码只需两步:算出伴随式,把它读成十进制——那个数字就是出错位置,翻转它即还原。「伴随式=错误位置的编号」是 Hamming 码最漂亮的性质,也是它被广泛用于计算机存储器的原因。

解 (4):七个重量 3 的码字就是 Fano 的七条线。把每个重量 3 的码字的 1 位置读出来(位置编号即点):

0010110 → {3,5,6}  0011001 → {3,4,7}  0100101 → {2,5,7}  0101010 → {2,4,6}
1000011 → {1,6,7}  1001100 → {1,4,5}  1110000 → {1,2,3}

七个三元组正是 §6.4 的线表 ✓;而七个重量 4 的码字(如 0001111 → {4,5,6,7})恰是它们的补。一台码、一张线表、一份补表,三样东西在这里完全重合。

173例题

第六章 码与设计的合流例题二:八元块表与码字的对照

★★★★ 亲手把 24 点宏构从码里「捞」出来,并与第五章的对账。

题。用生成多项式 g(x) = x11 + x9 + x7 + x6 + x5 + x + 1 造出 [23, 12, 7] 码并扩位为 [24, 12, 8],随后:(1) 数出重量 8 的码字个数;(2) 写出前几个八元块,验证两两交叠只取 0、2、4;(3) 与第五章的交叠表对账。

解 (1):数出 759。程序枚举 4096 个码字得重量谱 1 / 759 / 2576 / 759 / 1(对应 0、8、12、16、24)。故八元块恰 759 个——与第五章的程序核验一致。

解 (2):前六个八元块(写出点集,点记 1…24)。

#八元块(点集)
1{1, 3, 6, 9, 10, 11, 12, 13}
2{1, 2, 3, 4, 6, 7, 9, 14}
3{2, 4, 7, 10, 11, 12, 13, 14}
4{2, 3, 4, 5, 7, 8, 10, 15}
5{1, 5, 6, 8, 9, 10, 14, 15}
6{3, 5, 8, 11, 12, 13, 14, 15}

逐一相交:第 1、2 块交 {1,3,6,9}(4 点);第 1、3 块交 {10,11,12,13}(4 点);第 2、3 块交 {2,4,7,14}(4 点);第 1、5 块交 {1,6,9,10}(4 点);第 3、4 块交 {2,4,7,10}(4 点);第 4、6 块交 {5,8}(2 点)……全部落在 0、2、4 中,与 §5.10 复算的结果一致。

解 (3):与第五章对账。把全部 C(759, 2) = 287 661 对八元块的交叠数统计出来,得

交 0 点:11 385 | 交 2 点:170 016 | 交 4 点:106 260.

三个数相加 287 661 = C(759,2) ✓——正是第五章 §5.10 的交叠表,一分不差。同一批数字,在第五章来自「群轨道 + 几何核账」,在这里来自「生成多项式 + 枚举码字」;两条完全不同的路,走到了同一张表。

补充观察。由全 1 向量也在码中可知,每个八元块 O 的补集 {1,…,24} ∖ O 是重量 16 的码字;重量 16 的码字共 759 个,与八元块一一配对。「块与补块」的对应,正是自对偶码的「补封闭」性质——它是第五章「λ5 = 1 与 5-(24,16,78) 并存」的代数根源。

174习题

第六章 码与设计的合流习题课(一):线性码的账

★★ 本组动用 §6.1–6.5,重点是「用矩阵把账算清」。

习题 6-1(距离与纠错)。某二元码的最小距离是 5。它能纠正几位错?能检测几位错(不纠错)?给出依据。

习题 6-2(发生器与校验器)。已知 [7, 4, 3] Hamming 码的两条关系 H x⊤ = 0 与 G H⊤ = 0。解释为什么这两条其实说的是同一件事,并算出 G 的行数(即维数)。

习题 6-3(重量与距离)。证明线性码的最小距离等于最小非零重量。

习题 6-4(Hamming 界)。写出一般 Hamming 界,并用它验证 [7,4,3] 与 [23,12,7] 都是完美码(球体积各为 23 与 211)。

习题 6-5(造一台 Hamming 码)。仿 §6.3 造 [15, 11, 3] Hamming 码:写出校验矩阵的列(全部非零四位向量),算出球体积与码字数,验证完美性。

习题 6-6(Fano 关联码)。用 §6.4 的七条线写出 Fano 平面的 7 × 7 关联矩阵,在 𝔽2 上求它的行空间维数,并说明为什么结果只能是 4(提示:每点落三线,把三点共线的三条线相加得什么?)。

提示与答案要点。6-1:纠 ⌊(5−1)/2⌋ = 2 位;检 5 − 1 = 4 位(能检出 s 位错 ⟺ d ≥ s+1)。6-2:H x⊤ = 0 与 x = m G 互为充要(一个是核、一个是像),故 G H⊤ = 0;G 有 4 行,因 dim C = n − rank H = 7 − 3 = 4。6-3:d(x, y) = wt(x − y),而 x − y 遍历全部非零码字。6-4:M Σi≤t C(n, i) ≤ 2n;16 × 8 = 128 = 27 ✓,212 × (1+23+253+1771) = 212 × 2048 = 223 ✓。6-5:H 的列为全部非零四位向量共 15 列;球体积 1 + 15 = 16 = 24;码字数 211;211 × 24 = 215 ✓。6-6:维数 4;理由:每条线的特征向量之和等于…把「过点 p 的三条线」的特征向量相加,得全 1 向量(每点落三线,加起来模 2 恰为 1 或 3 ≡ 1)——这说明 7 个向量线性相关(或生成全 1),故维数不超过 4;再由任意四条线线性无关得维数 ≥ 4。

175习题

第六章 码与设计的合流习题课(二):重量分布

★★★ 本组动用 §6.6–6.13,重点是「从重量谱读出设计」。

习题 6-7(自对偶与偶重)。证明:若二元码 C 自对偶(C = C⊥),则任意两码字的支撑交叠数为偶数。由此说明 W24 两八元块交叠必为偶数。

习题 6-8(从重量谱到设计)。已知 [23,12,7] Golay 码的重量谱为 A7 = 253、A8 = 506。分别用恒等式核验它们的支撑是否可能构成 S(4,7,23) 与 5-(23,8,1)(算 b 与整除条件)。

习题 6-9(扩位的算术)。说明 [23,12,7] 加一位总校验位后,为什么最小距离变成 8 而不是 7 或 9。

习题 6-10(稳定子阶)。用 |M24| ⁄ (对象个数) 算:24 个点的稳定子、759 个八元块的稳定子、1771 个 sextet 的稳定子,三者的阶各是多少?

习题 6-11(传递性检验)。已知 M24 的阶是 244 823 040。不查资料,仅用除法判断它是否 5-重传递、是否 6-重传递。

习题 6-12(三语翻译)。把「W24 中每个五点组恰落一块」这句话分别改写成码的语言与群的语言各一句。

提示与答案要点。6-7:两字的交叠数 = 内积(二元情形下 x · y = |supp x ∩ supp y| mod 2);自对偶表示 x · y = 0 恒成立,故交叠为偶数。6-8:253 × C(7,4) = 253 × 35 = 8855 = C(23,4) ✓ 与 λ = 1 相容;506 × C(8,5) = 506 × 56 = 28 336 = C(23,5) ✓。6-9:距离 7 的两字在原 23 位上重量奇偶相反 ⇒ 校验位相异 ⇒ 新距离 8;距离 8 的两字可同偶可…均不降为 7,故最小距离恰为 8。6-10:点:244 823 040 ⁄ 24 = 10 200 960;八元块:⁄ 759 = 322 560;sextet:⁄ 1771 = 138 240。6-11:24 × 23 × 22 × 21 × 20 = 5 100 480,244 823 040 ⁄ 5 100 480 = 48,商为整数 ⇒ 5-重传递;6-重需再多一个因子 19,而 244 823 040 不含 19 ⇒ 不 6-重传递。6-12:码的语言:「重量 8 的码字中,指定 5 个位置恰有一个码字全含这 5 位」;群的语言:「M24 在 5 元组集合上传递,且稳定子使唯一性成立」(或:「过任意五点的块在群下传递」)。

176地图

第六章 码与设计的合流第六章地图:码—设计—群的三环

本章的结构是一个环:码 → 设计 → 群 → 码。下图标出三站之间的道路与货运方向。

图 6-16 第六章概念依赖图 码:距离 · 生成矩阵 Hamming(7,4) · 完美码 支撑集 · 重量计数器 Assmus–Mattson Fano 平面(§6.4) S(4,7,23) · S(5,8,24) S(5,6,12)(三进制) PSL(2,7) 与 Fano Mathieu 五群 散在单群 26 支撑 → 线 支撑 → 块 判据 Aut
图 6-16 三环相扣:码给设计块表,设计给群用武之地,群回头解释码的对称。

三条记忆线索。其一,支撑是唯一的动词——码的支撑给出块,块的关联给出码,来回都用这一个动作;其二,自对偶是引擎——偶重与偶交叠让「支撑族」自动平衡,这才有 5-设计;其三,群阶除以个数等于稳定子——759、1771、24 三个数各自对应一个极大子群,设计的分类与群的分类是一回事。

177小结

第六章 码与设计的合流第六章小结(上):码的骨架

★★ 码的五件套。

① 距离与纠错。d ≥ 2t + 1 ⇔ 能纠 t 位错;d ≥ s + 1 ⇔ 能检 s 位错。线性码的距离=最小非零重量。

② 矩阵两件套。生成矩阵 G(k × n,造码字)与校验矩阵 H((n−k) × n,筛码字)满足 G H⊤ = 0。伴随式 s = H r⊤ 是译码的钥匙。

③ Hamming 码。取 H 的列为全部非零 r 位向量,得 [2r − 1, 2r − 1 − r, 3];完美 1-纠错;伴随式直接读出错误位置。r = 3 时 [7,4,3],对应 Fano 平面。

④ 完美码清单。二元只有 Hamming(t = 1)与 Golay(t = 3);三元还有 [11,6,5] Golay(t = 2)。完美性账:M × 球体积 = 2n(或 3n)。

⑤ 两族关键码。[23,12,7] Golay:重量谱 1 / 253 / 506 / 1288 / 1288 / 506 / 253 / 1,完美 3-纠错。[24,12,8] 扩展 Golay:重量谱 1 / 759 / 2576 / 759 / 1,自对偶、偶重。[12,6,6] 三进制 Golay:重量谱 1 / 264 / 440 / 24。

与旧章的接口。第一章的关联矩阵在此变成生成矩阵(§6.7);第五章的 759 与 253 在此得到双重解释(§6.9–6.10);第三章的 Fano 平面在此变成一台最著名的码(§6.3–6.4)。本章没有新工具,只有新视角。

178小结

第六章 码与设计的合流第六章小结(下):M24 的金冠

★★★ 一页装下全书的最高处。

对象数量稳定子阶稳定子形状
点2410 200 960M23
八元块 octad759322 56024:A8
六元四重组 sextet1771138 24026:3.S6

群。M24:阶 244 823 040 = 210·33·5·7·11·23,5-重传递(五点稳定子阶 48),不 6-重传递。三个身份合一:Aut(S(5,8,24)) = Aut([24,12,8] 码) = M24。

码。[24,12,8]:4096 个码字;重量谱 1 / 759 / 2576 / 759 / 1;自对偶、偶重(故交叠必偶)。两族设计由它出生:重量 8 → S(5,8,24);重量 12 → 5-(24,12,48);重量 16 → 5-(24,16,78)。

设计。S(5,8,24):759 块、每点 253 块、λ2 = 77、λ3 = 21、λ4 = 5、λ5 = 1;交叠表 11 385 / 170 016 / 106 260;sextet 三型解剖 15 / 360 / 384。

五群协同。M11 ↔ S(4,5,11);M12 ↔ S(5,6,12);M22 ↔ S(3,6,22);M23 ↔ S(4,7,23);M24 ↔ S(5,8,24)。这五行就是本书最后的高潮:从「十五个女生怎样散步」开始,我们走到了散在单群的第一批成员的门口。

一页之外的余韵。分类定理把有限单群封锁在「四族 + 26 例外」之内;而设计论与编码论共同造出的这五个群,是那 26 个例外中最古老、也最容易理解的一批。它们的发现史(1861–1873)比单群概念本身的诞生还早——数学史上罕见的「先有例子,后有理论」。

179思想卡

第六章 码与设计的合流思想卡:同一个结构,多副面孔

思想卡 · 六

一个数的三种命运。759 这个数,在本册里出现了三次:第一次是第五章的「块数」,第二次是「重量 8 的码字数」,第三次是「两个极大子群作用的轨道长度」。三处相隔甚远,却始终是同一个数在扮演不同角色。当同一个数在两个不相关的地方出现,通常意味着把它们连起来的那条线还没有被看到;而一旦看到,两个领域就并成了一个。

第一层体会:结构比对象更根本。我们总是先学会「什么叫设计」,再学会「什么叫码」,最后才发现有些设计其实就是码。被比较的从来不是设计或码这些具体对象,而是它们背后的结构——一个点集、一族子集、一组平衡条件。数学的进步常常表现为:把两个看起来不同的对象认成同一个结构。

第二层体会:翻译是最好的技术。本章没有给设计论添一条新定理,但它让「求自同构群」变成一件可在码上做的计算(§6.7 的 Aut(D) = Aut(C)),也让「造设计」多了一条路(好码的重量谱)。掌握翻译的人可以用 A 领域的工具解 B 领域的题——这是数学里最划算的事。

第三层体会:对称是最后的语言。把本章三个视角排一排:设计的语言谈「什么和什么在同一条线上」,码的语言谈「位置与位置怎样互相关联」,群的语言谈「哪些变换不改变这一切」。越往后者,话语越抽象,但适用面越广。从「安排」到「对称」,是本书走得最远的那一步。

一个诚实的结尾。本书讲了从 1847 年 Kirkman 到 2014 年 Keevash 的一段历史,但这门学问远未结束:一般 S(t, k, v) 在小参数上的存在性仍有大量空白(第五章的 77 张六元块表只是小试身手),可分解性、大集问题、量子纠错的构造,都在等着新的眼睛。本书写下的每一个数字,都可以是一个新问题的起点。

180挑战

第六章 码与设计的合流挑战:亲手找出重量 8 的码字

★★★★ 自己造一台 Golay 码,把 759 个八元块「捞」出来。

目标。从生成多项式出发造出 [24, 12, 8] 扩展 Golay 码,验证重量谱 1 / 759 / 2576 / 759 / 1,并证明这 759 个重量 8 码字的支撑构成 S(5, 8, 24)。

三步走。

第一步:造 [23,12,7] 码。在 𝔽2 上把 23 次多项式 x23 − 1 与生成多项式

g(x) = x11 + x9 + x7 + x6 + x5 + x + 1

做多项式乘法与取模(用位运算实现最省事:把多项式写成整数,i 位对应 xi 的系数)。对每个 deg m < 12 的消息多项式计算 (m(x)g(x)) mod (x23 − 1),应得 4096 个互异的 23 位向量。

第二步:扩位成 [24,12,8]。给每个码字添一位总校验位,令全字重量为偶数。用「1 的个数」数出重量谱:应得 759 个重量 8 的字(这正是第五章的块数)。若非 759, g(x) 是否正确(可试着把 x11+x9+x7+x6+x5+x+1 换成它的「反序」x11+x10+x6+x5+x4+x2+1)。

第三步:验证 S(5,8,24)。把 759 个重量 8 码字的「1 位置集合」当作块,检查每个五元组的落块数:应恒为 1(共 C(24,5) = 42 504 个五元组,逐一清点)。顺手还可核验两件事:各块两两交叠恒为 0/2/4(统计得 11 385 / 170 016 / 106 260),以及每块 253 次出现(每点落块数)。

为什么值得做。这道题把本书的两条主线——「用群与几何造设计」与「用码造设计」——亲手接在一起;做完之后,第五章那张「759 / 253 / 77 / 21 / 5 / 1」的表格将不再是背诵对象,而是亲手算出的结果。

181实验

第六章 码与设计的合流实验:程序实现 Golay 码的译码

★★★★ 造码、验证重量谱、并真的纠三位错。

下面的程序用位运算实现多项式环 𝔽2[x]/(x23−1) 里的乘与取模,造出 [23,12,7] Golay 码;随后验证重量谱,并用「就近译码」检验三错纠正能力。

import random

def pmul(p, q):                 # 多项式乘法(位运算)
    r = 0
    while q:
        if q & 1:
            r ^= p
        q >>= 1
        p <<= 1
    return r

def pmod(p, m):                 # 取模 x23-1
    dm = m.bit_length() - 1
    while p.bit_length() - 1 >= dm:
        p ^= m << (p.bit_length() - 1 - dm)
    return p

X23 = (1 << 23) ^ 1
g   = 0b101011100011            # x11+x9+x7+x6+x5+x+1

code = {pmod(pmul(m, g), X23) for m in range(1 << 12)}
print('码字数', len(code))       # 4096

wt = {}
for c in code:
    w = bin(c).count('1')
    wt[w] = wt.get(w, 0) + 1
print('重量谱', sorted(wt.items()))
# [(0,1),(7,253),(8,506),(11,1288),(12,1288),(15,506),(16,253),(23,1)]

def dist(a, b):
    return bin(a ^ b).count('1')

def decode(r):                  # 就近译码(完美码保证唯一)
    return min(code, key=lambda c: dist(c, r))

random.seed(1)
ok = 0
cs = sorted(code)
for _ in range(200):
    c = random.choice(cs)
    e = 0
    for pos in random.sample(range(23), 3):
        e |= 1 << pos
    ok += (decode(c ^ e) == c)
print('翻三位后成功还原', ok, '/ 200')

预期输出。码字数 4096;重量谱 [(0,1), (7,253), (8,506), (11,1288), (12,1288), (15,506), (16,253), (23,1)];翻三位后成功还原 200 / 200。

读结果。①[23,12,7] 的重量谱逐项对上 §6.9 的表——尤其是 A7 = 253 与 A8 = 506,它们就是第五章 W24 的「敲点」与「残差」。②三错纠正 200 次全中:这正是「完美 3-纠错」的实践含义——只要翻转不超过 3 位,就近译码必还原。③把 code 里的重量 7 元素取出来(253 个),每个支撑即一个七元块,可顺手验证 S(4,7,23)。

进阶。给每个码字补一位总校验位(使重量为偶),得 [24,12,8] 码;再数重量 8 的码字,应得 759——第五章的宏构就这样在机器里重新诞生了一次。若把 759 个支撑存下来与第五章的交叠表比对(C(759,2) 对统计交叠数),即可完成一次跨章的完整闭环。

182格物札记

第六章 码与设计的合流〖札记〗烽火与虎符:古老的冗余编码

★ 在信道上「保险地传话」,古已有之。

烽火:用重复抗噪声。长城沿线的烽燧制度(汉代尤详)要求「举烽」按规定的高度、次数、方向进行,沿台接力传递;不同数量与组合的烽火对应不同敌情。这套系统里有两条现代编码的影子:其一是重复——同一情报自多台依次举烽,即便某台误举或失职,相邻台仍能核对;其二是中继——把长距离信道切成若干短段,逐段确认。用今天的话说,烽燧是一条带有校验与转发的通信链路。

虎符:用分割抗伪造。虎符一分为二:君持右、将持左,使者来传达命令时必须「合符」——两半的铭文、齿形必须严丝合缝。这里没有纠错问题,而有另一个问题:怎样让别人无法伪造一份真命令?答案是把消息「编码」到一件只有双方知道其配对的对象上。虎符因此可以看作最古老的认证机制,「符合」「合同」这些词都由此而来。明代还有更制度化的「勘合」:把编号木牌对剖,双方各持一半,以编号比对真伪。

两条路的分岔。烽火与虎符解决的是两个不同的问题:抗噪声(信道不可靠,要让真消息活下来)与抗伪造(信道不可信,要让假消息活不下去)。现代信息论同样把这两件事分作两个方向:纠错码与认证码。本章讲的 Golay 码属于前者;而虎符属于后者的古老雏形。

卦象与二进制。《周易》的六十四卦由六位「爻」的阴阳组合而成,26 = 64 恰好是六位二元符号的全部组合。十七世纪的莱布尼茨看到六十四卦的排列,曾惊叹它与二进制算术的呼应。这是否是古人有意为之,史学上仍有争论;但就数学内容而言,它是「用有限的符号组合编码状态」的一次规模宏大的实践。

一句结语。古典社会没有「位」与「距离」这些概念,却在实践中区分开了「防错」与「防伪」两大信息问题。本章的所有技术,本质上都是把这两件事做得更精确、更省、更快——烽火台上的那一缕烟,与现代存储器里的一个校验位,处理的是同一类麻烦。

183速查

第六章 码与设计的合流第六章速查表

★★ 码论公式、四台关键码、五个群,一页备查。

条目内容
Hamming 距离d(x, y) = 相异位置个数;线性码最小距离 = 最小非零重量
纠错与检错纠 t 位 ⇔ d ≥ 2t + 1;检 s 位 ⇔ d ≥ s + 1
两矩阵c = mG,Hc⊤ = 0,GH⊤ = 0;伴随式 s = Hr⊤
Hamming 界M · Σi≤t C(n, i) ≤ 2n,等号即完美码
Hamming 码族[2r−1, 2r−1−r, 3],完美 1-纠错;H 的列 = 全部非零 r 位向量
完美码清单二元:Hamming、Golay([23,12,7]);三元:Hamming、Golay([11,6,5])
设计来自码Dw = { supp(x) : wt(x) = w };Assmus–Mattson 判据(重量计数器够稀疏)
码来自设计关联矩阵的行张成关联码;Aut(D) = Aut(C(D))
高重传递清单4-重:Sn、An、M11、M12、M23、M24;5-重:Sn、An、M12、M24(Jordan 1871)
散在单群共 26 个;20 个「快乐家族」+ 6 个孤群(J1 J3 J4 Ly O′N Ru)
码参数重量谱给出的设计
[7,4,3] Hamming16 字1 / 7 / 7 / 1S(2,3,7) Fano(重量 3 字)
[12,6,6] 三进制 Golay729 字1 / 264 / 440 / 24S(5,6,12)(重量 6 字,264⁄2 = 132)
[23,12,7] Golay4096 字1 / 253 / 506 / 1288 / 1288 / 506 / 253 / 1S(4,7,23)(w = 7)、5-(23,8,1)(w = 8)
[24,12,8] 扩展 Golay4096 字1 / 759 / 2576 / 759 / 1S(5,8,24)(w = 8)、5-(24,12,48)、5-(24,16,78)
群作用的点阶传递重数设计
M11117 9204S(4,5,11)
M121295 0405S(5,6,12)
M2222443 5203S(3,6,22)
M232310 200 9604S(4,7,23)
M2424244 823 0405S(5,8,24)

口诀。距离定纠错 → 矩阵定译码 → 支撑定设计 → 码的自同构即设计的自同构。

184讲义

第六章 码与设计的合流衔接讲义:通往综合站——收账的日子

★★ 六章走完,该收账了。

本书从三个历史问题出发(十五个女生散步、三十六名军官列队、Fano 平面),用六章搭起一座结构:第一章立账本(BIBD 与两条恒等式),第二章压紧账本(对称设计与差集),第三章把账压到最薄(Steiner 系与 Kirkman 问题),第四章给账本加维(正交拉丁方与欧拉之谜),第五章给账本加厚(t-设计与 Witt 宏构),第六章把账本换成另一种语言(码与设计的合流)。六章的主线只有一句:设计是一笔必须对上的账。

综合站会做什么。接下来的一站不是新理论,而是「盘货」:

年表(1847 → 1971 → 2014) | 人物谱(Kirkman · Steiner · Euler · Galois · Mathieu · Hadamard · Bose · Shrikhande · Parker · Bruck · Ryser · Chowla · Singer · Ray-Chaudhuri · Wilson · Witt · Golay · Hamming …)
概念依赖总图 | 方法决策树 | 参数手册(常用设计清单)

两个综合实验。其一是用程序穷举并分类 STS(7)(验证「非同构只有一个」,并看清它与 Fano 平面、与 Hamming 码的三重身份);其二是把 Hamming 码与 Fano 平面做一次逐行互译的自动核验(把 §6.4 的表格交给程序逐条检查)。

终极挑战。亲手用 Bruck–Ryser–Chowla 定理拦截一组 (v, k, λ) 参数——把第二章的数论判据用在一副陌生的参数上,体会「不构造也能否定」的快感。

收尾三页。综合习题与评讲(把六章的技术混在一张卷子上);全书小结(上、下两页:三本账的哲学、设计的宇宙观);余韵两页(一望前沿:可分解性、Keevash 大定理、与其他学科的接口;一望观念:「安排」作为一种数学思想的回响)。

出发前的最后一句。合上本章时,手头已经有了「设计 · 码 · 群」三副眼镜。它们看的是同一个世界——一个由有限集合与平衡条件构成的世界。下一站把这三副眼镜收进同一个眼镜盒,再回头看全书走过的路。

综合站

全景与余韵

把一百二十年收成一张年表与一张人物谱(Kirkman、Steiner、Euler、Galois、Mathieu、Hadamard、Bose、Shrikhande、Parker、Bruck、Ryser、Chowla、Singer、Ray-Chaudhuri、Wilson、Witt、Golay、Hamming 等),把六章收成一张概念依赖总图与一张方法决策树;两个综合实验分别用程序穷举 STS(7) 并分类同构、核验 Hamming 码与 Fano 平面的逐行互译;终极挑战亲手用 BRC 拦截一组参数;综合习题与评讲收兵;余韵两页一望向组合设计的前沿(可分解性、设计存在性大定理 Keevash 2014、组合学与其他学科的接口),一望向「安排」作为一种数学观念的哲学回响。合上本书时可以看到:设计是一笔必须对上的账,构造是它的正面,拦截是它的反面,而对称——群——是贯穿两面的那条金线。
页型节奏:导引 → 讲义(概念 · 定理 · 证明 · 一步一图)→ 例题 → 习题 → 地图 · 小结 · 思想卡 · 挑战 · 实验
185导引

综合站 全景与余韵综合站导引

★★ 六章走完,到了清点行囊的时刻。

回望起点。本书从三个彼此独立的历史问题出发:十五名女生连走七天,每天三人一组,任何两人恰重遇一次(Kirkman,1850);三十六名军官排成六行六列,每行每列的等级与团队都不重复(Euler,1782);七点七线,每两点恰在一条线上,且任意两条线必相交(Gergonne,1826)。三者分属不同的世纪、不同的动机,却在同一副骨架上相遇:一个点集 Ω、一族块、一张「哪些点落在哪些块里」的关联表。组合设计研究的正是这副骨架——在指定的平衡条件下把点安排进块,或者证明无论如何都安排不进。

六章的一句话。设计是一笔必须对上的账。账共有三本:点账——每个点落 r 块,全部落点次 bk = vr;交点账——每对点同块 λ 次,故 r(k − 1) = λ(v − 1);块账——在对称设计里每对块也恰交 λ 点。三本账必须同时平:对不上的参数当场出局(可除性筛),对得上的也不必然存在——「存在」二字是这门学问最深的悬念。

三条干线。六章其实是三条线索并排推进的。其一账本线:五参数与两条恒等式(第一章)→ 对称与差集(第二章)→ Steiner 系(第三章)→ t-设计(第五章),账目越记越深。其二构造线:循环基差族(第三章)→ 有限域与仿射射影几何(第二、三、四章)→ 群轨道(第五章)→ 纠错码(第六章),造法越换越巧。其三拦截线:可除性(第一章)→ Fisher 不等式(第一章)→ Bruck–Ryser–Chowla(第二章)→ 灰区与 Keevash 大定理(第五、六章),拦截越拦越准。

两座桥。线与线之间有两处交汇最值得记住:有限几何把构造线与账本线焊在一起——射影平面既是设计,又是几何,又是差集(第二、三章);码把账本线与群论焊在一起——Golay 码的重量谱造出 Witt 设计,两者的自同构群同为 Mathieu 群(第五、六章)。

综合站的十四个站点。接下来不再引入新理论,只做三件事:清点(概念依赖总图、年表、人物谱、方法决策树、参数手册);检验(两个用程序完成的综合实验、一道终极挑战、一份综合卷子与评讲);回望(全书小结上、下两页与一页终极速查表)。读法随人:只想抓纲的,读两张地图与两页小结;想动手的,直接进实验与挑战;想留作工具书的,收好最后一页速查表。

一句提醒。综合站不再是「学新东西」的地方,而是把六章的内容重新摆进一张桌面的地方。能把一门学问摊开摆好的人,才算真的握住了它。

图 综合-1 综合站的十四个站点 一 清点 二 史料 三 工具 四 检验 五 收束 导引 概念依赖总图 年表 人物谱 方法决策树 参数手册 终极速查表 综合实验一 综合实验二 终极挑战 综合习题 习题评讲 小结(上) 小结(下) 十四个站点,只用一次清点:把六章收进两张图、两张表、两台程序与两页小结
图 综合-1 综合站的结构:清点 · 史料 · 工具 · 检验 · 收束,五栏十四站。
186讲义

综合站 全景与余韵全书概念依赖总图

★★★ 一张图收下全书。

下图把绪论、六章与综合站串成一条蛇形链,每个节点标出该章的入口与出口。链的走向就是本书的叙述顺序;节点中的「出口」是这一章交给下一章的货。

图 综合-2 全书概念依赖总图 绪论 安排的艺术:三个问题,一门学问 出口:一副骨架(点 · 块 · 关联表) 第一章 五参数与两条恒等式 出口:Fisher 不等式与关联矩阵 第二章 对称设计与差集 出口:BRC 拦截与 Singer 构造 第三章 Steiner 系与 Kirkman 问题 出口:STS · KTS 存在定理 第四章 正交拉丁方与欧拉之谜 出口:有限域、MOLS 与平坦性 第五章 t-设计与 Witt 宏构 出口:W24​ 与 759 · 253 · 77 第六章 码与设计的合流 出口:Golay 码与 Mathieu 群 综合站 全景与余韵 出口:清点 · 检验 · 回望
图 综合-2 蛇形链:七站蛇行而下,每一站的出口就是下一站的入口。

关于这张图的读法。其一,蛇形不是随意的:左起右行、右端下折、左行下折,是为了让相邻两章的连线尽可能短——第一章交出的关联矩阵,紧接第二章的对称与差集;第二章交出的差集与几何,紧接第三章的 Steiner 系;第四章交出的有限域与正交性,紧接第五章的多重平衡。其二,每个出口都是下一章的入口:Fisher 不等式(一)→ 对称设计的必要性(二);BRC 与 Singer(二)→ 射影平面的构造语言(三、四);MOLS 与平坦性(四)→ t-设计的多重平衡(五);759 与 253(五)→ Golay 码的重量谱(六)。其三,综合站是收口的结:它不再输出新概念,只把前七站的货物重新编号。

三条干线的并行走廊。把这张蛇形图按「线索」而不是「章序」重排,就得到三条走廊。账本线走的是五参数 → 两条恒等式 → Fisher 不等式 → 对称与差集 → Steiner 系 → t-设计 → Witt 设计;构造线走的是循环基差族 → 有限域 → 仿射与射影几何 → 拉丁方 → 群轨道 → 码;拦截线走的是可除性 → Fisher 界 → BRC → 「过筛不等于存在」的灰区 → Keevash 的充分性。三条线共用的动词只有一个:对账。

两座桥的承重点。有限几何那座桥,承重点是「线」这个字的双重身份:在几何里它是直线,在设计里它是块,在差集里它是圆环上的一个子集——三种语言说同一件事,§2.8 的 Singer 定理是全册最经济的一处翻译。码那座桥,承重点是「支撑」这个动作:把码字的 1 位置读成一个集合,设计就自动浮现(§6.6)。桥的价值不在风景,而在它让两岸的工具可以互相搬运。

为什么值得画这张图。组合设计的难点从来不在单条定理,而在定理之间的关系:什么时候可以用差集、什么时候必须回到几何、什么时候应当换到码的语言。这张图就是一张「工具箱地图」——遇到新参数时,先在图里找位置,再决定动哪把工具。

187格物札记

综合站 全景与余韵〖札记〗年表:从 1847 到 1971,再到 2014

★★ 把一百七十年压进一张表。

下表按年代列出本书涉及的关键节点,末列标明在本册何处出现。读年表有一个要点:看的是「问题」与「答案」之间的时差。

年代事件本书位置
1782Euler 提出三十六军官问题,并猜想正交对在阶数同余 2 于模 4 时不存在绪论 · 第四章
1826Gergonne 给出七点七线构形,即后来的 Fano 平面绪论 · 第三章
1847Kirkman 证明 STS 的存在定理:v 同余 1 或 3 于模 6第三章 §3.7
1850Kirkman 在历书上提出女生散步问题绪论 · 第三章 §3.10
1853Steiner 发表三元组构形的文章,「Steiner 系」由此得名第三章 §3.2
1861Mathieu 发现置换群 M11 与 M12第六章 §6.13
1873Mathieu 再发现 M22、M23、M24第六章 §6.13
1890 年代Hölder 等人明确「单群」概念,Mathieu 群的意义被重新认识第六章 §6.14
1892Fano 的有限几何论文发表,「Fano 平面」之名由此而来第三章 §3.2
1893Hadamard 关于行列式极大值的论文,Hadamard 矩阵登场第二章 §2.7
1900–01Tarry 穷举证明:六阶正交拉丁方对不存在第四章 §4.6
1917Cole、Cummings 与 White 手算完成 STS(15) 的 80 个解的分类第三章 §3.14
1938Singer 证明射影平面的循环差集构造;Witt 直接构造 S(5,8,24) 与 S(5,6,12)第二、五章
1940Fisher 在统计试验设计中发现块数不小于点数,设计的代数化由此展开第一章 §1.9
1949Bruck 与 Ryser 拦下六元域射影平面;Golay 提出二元 Golay 码第二、六章
1950Bruck–Ryser–Chowla 定理定型;Hamming 提出纠错码第二、六章
1959–60Bose、Shrikhande 与 Parker 构造出十阶与二十二阶正交对,推翻欧拉猜想第四章 §4.7
1969Assmus 与 Mattson 给出「由码造设计」的一般判据第六章 §6.8
1971Ray-Chaudhuri 与 Wilson 解决女生问题的一般情形:KTS 存在当且仅当 v 同余 3 于模 6第三章 §3.11
1972–75Wilson 的成对平衡设计存在性理论,构造线首次系统化第五章 §5.5
1983有限单群分类宣布完成,二十六个散在单群定格第六章 §6.14
2004分类证明中的 quasithin 缺口补全第六章 §6.14
2014Keevash 证明设计存在性大定理:参数过筛且 v 足够大时设计必存在第五章 §5.5 · 综合站

三处最长的时差。其一,女生散步问题:1850 年提出,1971 年获解,时差 121 年。其二,欧拉的三十六军官猜想:1782 年提出,1959–60 年全部翻案,时差 177 年(其中六阶的不存在由 Tarry 在 1900 年独自证明)。其三,一般设计的存在性:可除性条件早已明确,但「过筛即存在」要等到 2014 年 Keevash 的定理(对足够大的 v)。一门学问的成熟度,常常可以用「问题与答案的时差」来度量。

三处最密的爆发。其一,1847–1853:Kirkman 的存在定理、女生问题与 Steiner 的文章,六年间奠定整个 λ = 1 的领域。其二,1938–1950:Singer 的射影平面构造、Witt 的大设计、Fisher 不等式、Golay 与 Hamming 的码、Bruck–Ryser 的拦截——十二年里,账本、构造、拦截三条线同时开工。其三,1959–1975:Bose–Shrikhande–Parker 翻案、Assmus–Mattson 的合流判据、Ray-Chaudhuri–Wilson 解决女生问题、Wilson 的存在性理论。

一行注脚。本书的六位主角——Kirkman、Steiner、Euler、Mathieu、Witt、Hamming——分处四个国家、三种身份(牧师、几何学家、群论学家、工程师)。设计论的诞生地不属于任何单一学科,它更像一个十字路口。

188格物札记

综合站 全景与余韵〖札记〗人物谱:设计者群像

★★ 一门学问的脸。

把本书出现过的名字按身份归成九组。这里不列生卒,只列「做了什么」与「在本书何处相见」。

组人物与本书的交点位置
一 草地上的牧师Kirkman · SteinerSTS 存在定理(1847);女生散步问题(1850);「Steiner 系」的命名(1853)第一、三章
二 游戏与革命Euler · Galois三十六军官问题(1782);有限域与置换群的语言——一切有限几何的原料绪论 · 第四、六章
三 统计学家Fisher · Bose试验设计的五参数化与块数界(1940);正交拉丁方与设计的统计起源第一章 · 第四章
四 三个翻案者Bose · Shrikhande · Parker1959–60 推翻欧拉猜想:除二与六外,任意阶都有正交对第四章 §4.7
五 拦截者Bruck · Ryser · ChowlaBRC 定理:用二次型与无穷递降拦下一批对称设计参数第二章 §2.11
六 差集的手艺人Singer · Hadamard射影平面的循环差集(1938);Hadamard 矩阵与 Hadamard 设计第二章 §2.7–2.8
七 密码与信息时代Hamming · Golay七位 Hamming 码与 Golay 码;完美码与它的自同构群第六章 §6.3 · §6.9
八 群论家与构造者Mathieu · Witt五个 Mathieu 群(1861、1873);S(5,8,24) 与 S(5,6,12) 的直接构造(1938)第五章 §5.9 · 第六章 §6.11
九 存在性工程师Ray-Chaudhuri · Wilson · KeevashKTS 定理(1971);成对平衡设计的存在性理论(1972–75);设计存在性大定理(2014)第三章 §3.11 · 第五、六章

三张面孔。把九组再压缩,会看到三类人:提问者——Euler 的军官、Kirkman 的女生、Fano 的点线,他们贡献的是问题;记账者——Fisher、Bose、Bruck、Ryser、Chowla,他们把「安排」翻译成方程组与不等式;翻译者——Hamming、Golay、Witt、Mathieu,他们在两种语言之间搭桥。一门学问的成长史大体就是这三类人接力:先有好奇的提问,再有严格的对账,最后有跨界的翻译。

两处错位。其一是命名权:三元素构形在文献里被称作「Steiner 系」,可存在定理出自 Kirkman(1847),比 Steiner 的文章早六年——「Kirkman 系统」这个更公平的名字至今只在专书中出现。其二是身份:Mathieu 一生都在研究置换群,从未想过自己在「设计」;Witt 也不曾自称设计学家,他只是要造两个五重传递的群。有些最深的设计,是被找群的人顺手造出来的。

一条时间线之外的观察。从 Kirkman 到 Keevash 是一百六十七年;九组人里,最难的那本账(设计存在性)跨了整整一百六十七年,也只结清了「足够大」的那一半。同一门学问还出现过这样的奇观:两位研究者相隔一百一十年,用完全不同的工具(手算枚举与二次型数论)处理同一批参数——前者造出设计,后者证明同类参数不可能存在。这张人名表的真正含义是:一门学问不是一个人写成的,它是一场跨越几个世纪的接力赛。

189地图

综合站 全景与余韵方法决策树

★★★ 拿到一组合法参数之后,先走哪条路?

六章教了四种武器:恒等式(判账目)、拦截定理(判生死)、构造法(造出来)、枚举法(数清楚)。真正动手时,难题不是「会不会用」,而是「先用哪一个」。下面的流程图把顺序钉死。

图 综合-3 从参数到结论:一道三关的通道 起点 给定一组参数与诉求 问的是「存在吗」、还是「给一个构造」、还是「分几类」? 第一关 可除性 r = λ(v−1) ⁄ (k−1) 与 b = vr ⁄ k 必须是非负整数;否则当场出局 第二关 界与判据 Fisher 界 b ≥ v;对称时查 (v−1)λ = k(k−1),偶数 v 再查 BRC 平方条件 第三关 选路 λ = 1 → Steiner 系;对称 → 差集与几何;小参数 → 回溯;多重平衡 → 码或群轨道 终点 三种结局 构造成功;被拦截定理判死;留在灰区(过筛,但存亡未定)
图 综合-3 方法决策树:先过三关,再谈构造——顺序颠倒会白费力气。

第一个要点:先拦截,后构造。初学者最容易犯的错是先动手造设计,造不出来才回头算账。正确的顺序相反——能用不等式与整性判死的参数,绝不进入搜索。第一批拦截工具就很够用:

① 整性。r = λ(v − 1) ⁄ (k − 1) 与 b = vr ⁄ k 必须是正整数。这两式是两条恒等式的直接推论,几乎是免费的筛子。② 界。b ≥ v(Fisher);对称设计的必要条件是 (v − 1)λ = k(k − 1),它把大量候选一次删掉。③ 数论判据。BRC 定理:对称设计在 v 为偶数时要求 k − λ 是完全平方。三条都与「造」无关,却最省力。

第二个要点:过筛之后分四条路。参数走出三关,才轮到构造线登场。λ = 1 走 Steiner 系:存在条件早已清楚(三元的 v ≡ 1, 3,四元与五元有小定理,一般 t 靠 Keevash);对称走差集:一张基块表加一个平移,比逐块搜索经济得多,Singer 定理更把射影平面整体归约到「圆环上一个子集」;参数小就走回溯枚举:一条最笨但最可靠的路,第三章的 STS(15) 与本章的 STS(7) 都靠它;多重平衡则换语言,走码或群轨道。

第三个要点:终点的三种颜色。黑——被定理拦死,永远不存在(§2.11 的 (43, 7, 1));白——构造成功,还能分类(§3.14 的 STS(15) 的 80 类);灰——过筛而存亡未定(大批对称参数停在这里)。灰色区域的存在本身就是一门学问的地图:它标出了「已知」与「未知」的边界。而 Keevash 2014 定理的伟大之处,正是把灰色的一半一次性涂成了白色——对于足够大的 v,凡过筛者必存在。

一句话。决策树的形状就是本书的形状:上端是账(第一章),中段是刀(第二章),下端是路(第三至六章)。遇到陌生参数时,从上往下走一遍,不必慌张。

190地图

综合站 全景与余韵参数手册:常用设计清单

★★★ 一页备查:见过世面的参数们。

下表汇总本书出现过的全部具体设计,可直接当手册使用。三个数各有其职:b 是块数、r 是每点落块数、λ 是每对点同块次数。

名称(v, k, λ)br备注
Fano 平面 PG(2,2)(7, 3, 1)73对称;唯一;自同构群阶 168
STS(9) = AG(2,3)(9, 3, 1)124唯一;4 个平行类;反 Pasch
STS(13)(13, 4, 1)134对称;非同构恰 2 个
STS(15)(15, 3, 1)357存在;80 个非同构类
KTS(15) = PG(3,2)(15, 3, 1)357可分解者唯一;自同构群阶 20160
STS(19)(19, 3, 1)579存在;11 084 874 829 个非同构类
AG(3,2) 的 14 个平面(8, 4, 3)147即 S(3,4,8):每个三元组恰落一块
双平面 (11,5,2)(11, 5, 2)115对称;唯一;补设计与自身同参数
双平面 (16,6,2)(16, 6, 2)166对称;唯一
射影平面 PG(2,4)(21, 5, 1)215对称;q = 4
射影平面 PG(2,5)(31, 6, 1)316对称;q = 5
射影平面 PG(2,7)(57, 8, 1)578对称;q = 7
射影平面 PG(2,8)(73, 9, 1)739对称;q = 8

第二张表收起全册「多重平衡」的一族:t-设计的参数一旦写下,λ 序列就被递降恒等式锁死,没有任何自由度。

名称类型brλ 序列(由深到浅)
Fano 平面2-(7,3,1)73λ2 = 1
S(3,4,8)3-(8,4,1)147λ3 = 1,λ2 = 3
W11(小 Witt)4-(11,5,1)6630λ4 = 1,λ3 = 4,λ2 = 12
W12(小 Witt)5-(12,6,1)13266λ5 = 1,λ4 = 4,λ3 = 12,λ2 = 30
W223-(22,6,1)7721λ3 = 1,λ2 = 5
W234-(23,7,1)25377λ4 = 1,λ3 = 5,λ2 = 21
W24(大 Witt)5-(24,8,1)759253λ5 = 1,λ4 = 5,λ3 = 21,λ2 = 77
扩展 Golay 的重量 12 支撑5-(24,12,48)25761288λ5 = 48,λ4 = 120,λ3 = 280
扩展 Golay 的重量 16 支撑5-(24,16,78)759506λ5 = 78,λ4 = 130,λ3 = 210

第三张表是第四章的正交系清单。N(n) 记「两两正交的 n 阶拉丁方最多能有几个」,上界恒为 n − 1,素数幂阶恰好取到上界。

阶 nN(n)来路
21平凡取到上界 n − 1 = 1
32有限域构造
43有限域构造
54有限域构造(AG(2,5) 的 4 个方向)
61Tarry 1900 穷举:正交对不存在
76有限域构造
87有限域构造(q = 8 是素数幂)
98有限域构造(q = 9 是素数幂)
10至少 2Bose–Shrikhande–Parker 1959–60
其他 n ≠ 2, 6至少 2同上:欧拉猜想被彻底推翻

手册的用法。遇到一组陌生参数,先在这三张表里检索:命中即抄答案,未命中则回到决策树(图 综合-3),依次过三关。要特别留意的是:参数本身不决定存在性。同为 (15, 3, 1),既有 80 个非同构的 STS,又恰有一个可分解的 KTS;同为「q = 6 的射影平面参数」,账目全部合法,对象却不存在。参数是门票,不是座位号。

191实验

综合站 全景与余韵综合实验一:穷举并分类 STS(7)

★★★★ 用一台机器数清楚最小的 Steiner 系。

实验目的。程序穷举七个标号点上的全部 STS(7),与 7! ⁄ 168 = 30 对上;再用同构测试把三十个解压成一个同构类,从而亲手验证「STS(7) 只有一个,它的名字叫 Fano 平面」。这个实验的意义在于:它把第一章的「同构与自同构」、第三章的「存在与分类」、第六章的「群阶除以个数」三句口号全部落实为可运行的动作。

from itertools import combinations, permutations

n = 7
triples = list(combinations(range(n), 3))
need = n * (n - 1) // 6                      # 7 条线

def search(i, chosen, cov):
    if len(chosen) == need:
        yield tuple(chosen); return
    if i >= len(triples): return
    b = triples[i]
    ps = frozenset(combinations(b, 2))
    if not ps & cov:                          # 新块的点对未被用过
        yield from search(i + 1, chosen + (b,), cov | ps)
    yield from search(i + 1, chosen, cov)     # 也可以不取这一块

sols = list(search(0, (), frozenset()))
print('标号设计数', len(sols))

def canon(B):                                # 规范形:全部标号里字典序最小者
    best = None
    for p in permutations(range(n)):
        s = tuple(sorted(tuple(sorted(p[x] for x in b)) for b in B))
        if best is None or s < best: best = s
    return best

print('非同构类数', len({canon(B) for B in sols}))

B0 = sols[0]
aut = [p for p in permutations(range(n))
       if all(tuple(sorted(p[x] for x in b)) in B0 for b in B0)]
print('自同构群阶', len(aut))
print('7! / 168 =', 5040 // 168)
print('一个解', canon(B0))

预期输出。

标号设计数 30
非同构类数 1
自同构群阶 168
7! / 168 = 30
一个解 ((0, 1, 2), (0, 3, 4), (0, 5, 6), (1, 3, 5), (1, 4, 6), (2, 3, 6), (2, 4, 5))

读结果。其一,30 不是随便一个数:它是 7! ⁄ 168,即「七个标号的全部重排」除以「保持设计不变的重排数」——这正是轨道稳定子定理 |群| = |轨道| × |稳定子| 在组合分类里的第一次显形。其二,非同构类数是 1:三十个标号设计彼此只差一次改名字,本质上是同一座 Fano 平面。其三,那 168 个自同构就是 PSL(2, 7)——同一个群在第三章管着 Fano 的七条线,在第六章管着七位 Hamming 码。其四,程序吐出的那个「一个解」,正是第一章实验页逐条核验过的七条线。

若把参数换成 (9, 3, 1)。同一段程序只需改一行 n = 9,输出会变成:标号设计数 840、自同构群阶 432——因为那个唯一的 STS(9) 比 Fano 更对称(9! ⁄ 432 = 840)。它就是仿射平面 AG(2,3):十二条线分四个平行类,且一个 Pasch 构形都没有。把两个最小 Steiner 系并排一放,反差极为鲜明:Fano 有 7 个 Pasch(删去任一点,剩下的六点恰好带着四条线),AG(2,3) 一个也没有——后者因此被称为反 Pasch 系,并由此可以一步证明「STS(9) 不是 Fano 的放大」。

进阶。把 n = 15 交给同一段回溯,程序会在数秒到数分钟内吐出大量解;把它们按同构归类需要更聪明的规范标号(顶点细化的 nauty 思想,见 §3.14)。历史上这一步由 Cole、Cummings 与 White 在 1917 年纯手算完成,结论是 80 类。而若只想确认「可分解的那一个」是否存在,则不必分类:直接在搜索里加一条约束「每一步所选的线必须填满当前未覆盖的点」,跑出来的正好是 KTS(15) 的七日表。

192实验

综合站 全景与余韵综合实验二:Hamming 码与 Fano 平面的互译核验

★★★★ 把 §6.4 的互译表交给程序逐条检查。

实验目的。第六章声称「Fano 平面与 Hamming(7,4) 码是同一个对象的两副面孔」。这句断言相当强:它要求七条线、七个重量 3 的码字、七条校验方程三样东西一一重合。下面这段程序不引用任何结论,只做三件事:由七条线造出关联矩阵,在二元域上求出它的行空间,检查这个行空间就是 Hamming 码并且重量 3 的码字恰好还原七条线。

from itertools import combinations, product

lines = [{1,2,3},{1,4,5},{1,6,7},{2,4,6},{2,5,7},{3,4,7},{3,5,6}]
N = [[1 if j in L else 0 for j in range(1, 8)] for L in sorted(lines, key=min)]

def rref(rows):                              # 二元域上的行化简
    rows = [r[:] for r in rows]; piv = 0
    for c in range(7):
        i = next((i for i in range(piv, len(rows)) if rows[i][c]), None)
        if i is None: continue
        rows[piv], rows[i] = rows[i], rows[piv]
        for k in range(len(rows)):
            if k != piv and rows[k][c]:
                rows[k] = [a ^ b for a, b in zip(rows[k], rows[piv])]
        piv += 1
    return [r for r in rows if any(r)]

G = rref(N)
print('关联矩阵行空间维数', len(G))

code = set()                                 # 行空间的 24 个向量即全部码字
for m in product([0, 1], repeat=len(G)):
    c = [0] * 7
    for mi, gi in zip(m, G):
        if mi: c = [a ^ b for a, b in zip(c, gi)]
    code.add(tuple(c))

wt = {}
for c in code: wt[sum(c)] = wt.get(sum(c), 0) + 1
print('码字数', len(code), '| 重量谱', sorted(wt.items()))

w3 = sorted(tuple(i + 1 for i in range(7) if c[i]) for c in code if sum(c) == 3)
print('重量 3 支撑就是 Fano 七线?',
      sorted(map(tuple, map(sorted, lines))) == w3)

comp = sorted(tuple(sorted({1,2,3,4,5,6,7} - set(L))) for L in w3)
w4 = sorted(tuple(i + 1 for i in range(7) if c[i]) for c in code if sum(c) == 4)
print('重量 4 支撑就是七线的补?', comp == w4)
print('完美性账:', len(code), '×', 1 + 7, '=', len(code) * 8, '= 27 =', 2 ** 7)

预期输出。

关联矩阵行空间维数 4
码字数 16 | 重量谱 [(0, 1), (3, 7), (4, 7), (7, 1)]
重量 3 支撑就是 Fano 七线? True
重量 4 支撑就是七线的补? True
完美性账: 16 × 8 = 128 = 27 = 128

读结果。其一,维数 4 是关键数:七条线的关联向量虽然只有七个,却张成四维空间——这正是 Hamming 码的信息位数 k = n − r = 7 − 3 = 4。其二,重量谱 1 ⁄ 7 ⁄ 7 ⁄ 1 与第六章例题一的表完全一致,其中七个重量 3 的码字逐字等于七条线(程序打印 True)。其三,重量 4 的七个码字恰是七条线的补集——这就是「补封闭」,它保证了自对偶与偶交叠,也是第五章 λ 序列能配平的代数根源。其四,完美性账 16 × 8 = 128 = 27 一行过关。

为什么这场核验有价值。第六章给出的互译表如果有一处错位,上面至少会有一行打印 False。程序在这里扮演的是独立的裁判:它不接受「看起来对」,只接受「逐条对上」。把两个领域的对照表交给机器复核,是理解「合流」这件事最扎实的方式。

进阶。把七条线换成交错群的点集,或把二元域换成三元域,同一段程序就能去核验别的合流:三元 Golay 码的重量 6 支撑给出 132 个六元块,即 S(5,6,12) 的块表;把 24 个点上的 [24,12,8] 码的生成多项式交给它,就能重演第五章的 759。整个第六章的所有数字,都可以在这段二十行的骨架里重新走一遍。

193挑战

综合站 全景与余韵终极挑战:拦截一个 (v,k,λ)

★★★★ 不构造,也能否定——这是组合设计最痛快的时刻。

目标。给定一组「对称设计」的候选参数 (v, k, λ),不需要画出任何设计,只用三把尺子判断它的命运:出局(永远不存在)、过筛(必要条件是都对,但存在与否未定)、或者已知存在。

三把尺子。第零关(对称门槛):对称设计必有 (v − 1)λ = k(k − 1)——这是比两条恒等式更强的一刀,先砍掉一批「账目就不对称」的候选。第一关(整性):r = λ(v − 1) ⁄ (k − 1) 与 b = vr ⁄ k 必须为正整数。第二关(BRC):对称设计在 v 为偶数时,k − λ 必须是一个完全平方数;否则永远不存在。三关全过者进「灰区」。

图 综合-4 三关闸门:拦截的顺序 候选参数 第一关 整性 第二关 界与对称 第三关 BRC 灰区 · 构造 出局 · 整性 出局 · 界 出局 · BRC 三关全过只说明「没有死」,不说明「活着」——之后的路属于构造
图 综合-4 拦截的顺序:整性最先、BRC 最后;每关都有专属的出局通道。

三个已竣工的示例。

示例一:(7, 3, 1)。第零关:6 × 1 = 6 = 3 × 2 ✓。第一关:r = 1 × 6 ⁄ 2 = 3、b = 7 × 3 ⁄ 3 = 7 ✓。第二关:v = 7 为奇数,平方判据不适用。结论:过筛,而且确实存在——它就是 Fano 平面。

示例二:(11, 5, 2)。第零关:10 × 2 = 20 = 5 × 4 ✓。第一关:r = 2 × 10 ⁄ 4 = 5、b = 11 × 5 ⁄ 5 = 11 ✓。第二关:v 为奇数,不适用。结论:过筛,且存在——双平面 (11,5,2)。

示例三:(43, 7, 1)。第零关:42 × 1 = 42 = 7 × 6 ✓。第一关:r = 6、b = 43 ✓。第二关:v 为奇数,平方判据不适用——但 BRC 在奇数情形有另一副形态(一个二次方程须有非平凡整数解),它在这里生效,判定永不存在。正是这一刀,在 1949 年终结了「q = 6 的射影平面」这桩悬案。

待判的六组。下表给出六组候选参数,全部只差裁决。要求写出每一关的具体算式(尤其是第零关的两个乘积),并给出最终判定:出局(写明倒在哪一关)还是过筛。答案与算式在下一页的评讲中给出。

编号(v, k, λ)第零关 (v−1)λ 与 k(k−1)第二关(v 偶时)
甲(22, 7, 2)21 × 2 = 42待判
乙(46, 10, 2)45 × 2 = 90待判
丙(34, 12, 4)33 × 4 = 132待判
丁(40, 13, 4)39 × 4 = 156待判
戊(52, 11, 2)51 × 2 = 102视第零关
己(28, 7, 2)27 × 2 = 54视第零关

提示(不含答案)。①六组的第一列都写得出来, k(k − 1) 也算出来对照——有一组会在第零关就死。②v 为偶数的四组要算 k − λ,并问:它是平方吗?③注意「平方判据」只对偶数 v 生效;奇数 v 的候选不能靠这一条出局(但可能靠第零关出局)。

为什么值得做。这道题把第二章的两件武器——对称必要条件与 BRC 定理——放在一条流水线上。做完之后,参数就再也不是一串无意义的数字:每一个 (v, k, λ) 都有了自己的判决书,而判决书上的理由,正是本书第二章的全部内容。

194习题

综合站 全景与余韵综合习题

★★★ 一份把六章混在一起的卷子。

本卷分三组:A 组记三本账(第一、五章的工具)、B 组造与拦(第二、三、四章的工具)、C 组合流与对称(第五、六章的工具)。每题只署主要涉及的小节,允许跨章取用工具。

A 组 · 三本账。

综合 12-1(两条恒等式)。写出 BIBD 的两条计数恒等式。对 (v, k, λ) = (11, 5, 2) 算出 r 与 b,并说明这个设计是否对称。

综合 12-2(对称的必要条件)。证明:对称设计必满足 (v − 1)λ = k(k − 1)。说明它为什么比两条恒等式更强——找一组过了两条恒等式却不满足它的参数。

综合 12-3(递降恒等式)。已知 5-(24, 8, 1) 的设计存在。用递降恒等式求出 λ4、λ3、λ2,并计算 b 与 r,验证 b = 759。

综合 12-4(Fisher 不等式)。用 Fisher 不等式说明:不存在块数恰为 v − 1 的 2-设计。再看 (6, 3, 2):它的 b 与 v 谁大?这说明什么?

B 组 · 造与拦。

综合 12-5(差集核账)。在 ℤ7 中取 D = {0, 1, 3}。列出全部非零差 a − b(a, b ∈ D,a ≠ b)的模 7 余数,验证 (7, 3, 1) 差集,并写出七个平移块。

综合 12-6(BRC 拦截)。对 (22, 7, 2) 与 (40, 13, 4) 分别走三关,指出前者为何出局、后者为何过筛。据此说明「过筛不等于存在」这句话的确切含义。

综合 12-7(存在门槛)。用 STS 的存在定理判断:v = 21 与 v = 25 上是否有 Steiner 三元系?再用可分解的条件(KTS 定理)判断 v = 21 上是否有 Kirkman 三元系。

综合 12-8(欧拉翻案)。「正交对不存在当且仅当 n ≡ 2 (mod 4)」这句话哪里错了?写出正确的例外清单,并指出是哪三篇工作(哪一年)完成了翻案。

C 组 · 合流与对称。

综合 12-9(由码造设计)。说明 [24, 12, 8] 扩展 Golay 码中重量 8 的码字为什么可以当作块,并任选一条路线论证这些块构成 5-(24, 8, 1)(可用的路线:自对偶与偶交叠、群轨道、或与第五章的构造对账)。

综合 12-10(三语翻译)。把「M24 在 24 个点上五重传递」这句话,分别改写成设计语言与码语言各一句。

综合 12-11(稳定子算术)。已知 |M24| = 244 823 040。用「群阶除以对象个数」算出:一个点、一个八元块、一个 sextet 的稳定子阶各是多少?并验算三点整除。

综合 12-12(完美的边界)。列出二元完美码的完整清单,写出各自的参数;并用球体积等式验证 [23, 12, 7] 码的完美性。再说明为什么 [7, 4, 3] 与 [23, 12, 7] 之后再没有二元完美码。

195评讲

综合站 全景与余韵综合习题评讲

★★★ 先给挑战页的六张判决书,再逐题讲卷。

挑战页六组参数的裁决。算式与结论一并列出;「灰区」一栏的写法特意区分了「没有死」与「活着」。

编号(v, k, λ)第零关 (v−1)λ 与 k(k−1)第二关(v 偶)裁决
甲(22, 7, 2)42 = 42 ✓k − λ = 5,非平方出局(BRC)
乙(46, 10, 2)90 = 90 ✓k − λ = 8,非平方出局(BRC)
丙(34, 12, 4)132 = 132 ✓k − λ = 8,非平方出局(BRC)
丁(40, 13, 4)156 = 156 ✓k − λ = 9 = 32,平方过筛(灰区)
戊(52, 11, 2)102 ≠ 110 ✗无需走到出局(第零关)
己(28, 7, 2)54 ≠ 42 ✗无需走到出局(第零关)

一句话读表。三组倒在 BRC 上(甲、乙、丙),两组在门槛处就死了(戊、己),只有丁活到灰区——而灰区恰恰是本书反复强调的地方:必要条件全部满足,不等于对象存在。甲、乙、丙的判决是「永远不存在」;丁的判决只是「不排除」。

逐题要点。12-1:bk = vr 与 r(k − 1) = λ(v − 1)。代入得 r = 5、b = 11 = v,故对称(它就是双平面 (11,5,2))。12-2:对称设计里每点落 r 块、每块含 k 点、每对块交 λ 点,对偶设计与原设计同参数,故 r = k;代入交点账即得。更强之处:它把两条恒等式压缩成一个条件,且能筛掉「b ≠ v」的伪对称候选。反例可取 (6, 3, 2):两条恒等式给出 r = 5、b = 10 皆整数,但 5 × 2 = 10 ≠ 3 × 2 = 6,故它不是对称设计——门槛一刀即拦下。12-3:λ4 = 1 × (24 − 4) ⁄ (8 − 4) = 5;λ3 = 5 × (24 − 3) ⁄ (8 − 3) = 21;λ2 = 21 × (24 − 2) ⁄ (8 − 2) = 77;r = 253、b = 24 × 253 ⁄ 8 = 759。12-4:Fisher 给出 b ≥ v,故 b = v − 1 不可能;又 b = v 恰是对称设计,可见「差一个块」不是小差别,而是从「绝不可能」到「可能」的分界。对 (6, 3, 2):b = 10 > v = 6,Fisher 无异议,但它仍可能是灰区样本。12-5:六个有序差给 1, 3, 2, 6, 4, 5(模 7),恰是 1, …, 6 各一次,故 λ = 1;七个平移 D + t(t = 0, …, 6)即 {0,1,3}, {1,2,4}, {2,3,5}, {3,4,6}, {4,5,0}, {5,6,1}, {6,0,2},是 Fano 平面的七条线。12-6:(22,7,2):门槛过(21 × 2 = 42 = 7 × 6),整性过(r = 7、b = 22),但 k − λ = 5 非平方 ⇒ 出局。(40,13,4):39 × 4 = 156 = 13 × 12 ✓,k − λ = 9 = 32 ✓ ⇒ 过筛。「过筛不等于存在」的意思是:三关只用了必要条件,全过只意味着「没有被拦下」,是否存在仍需构造或更深的定理。12-7:21 ≡ 3、25 ≡ 1(模 6),两者都存在 STS;21 ≡ 3(模 6)且 21 ≥ 3,故 KTS(21) 存在。12-8:错在「当且仅当」——n = 6 恰好是反例之外的特例,n = 2 平凡;正确结论是「除 2 与 6 外,任意阶都有正交对」。翻案的三篇工作是 Bose 与 Shrikhande(1959)以及 Bose、Shrikhande 与 Parker(1960)的构造(Parker 亦有独立短文),核心是造出十阶与二十二阶的正交对。12-9:自对偶与偶重保证任意两重量 8 码字的支撑交叠为偶数;配合球堆积(或 Assmus–Mattson 判据)可推出任意五点恰落一个支撑,即 λ5 = 1;块数由重量谱 A8 = 759 给出。三条路线(自对偶、轨道、构造对账)得到同一个设计。12-10:设计语言——「任意 5 个点都被 M24 送到任意 5 个点,等价地,过任意五点的八元块在群作用下彼此等同」;码语言——「重量 8 的码字中,指定 5 个位置恰有一个码字全含这 5 位,且 M24 在这族码字上传递」。12-11:点 244 823 040 ⁄ 24 = 10 200 960(= |M23|);八元块 ⁄ 759 = 322 560;sextet ⁄ 1771 = 138 240。三式皆整除,商即稳定子阶——这是轨道稳定子定理在同一个群上的三次显形。12-12:二元完美码只有 Hamming 码 [2r − 1, 2r − 1 − r, 3](t = 1)与 Golay 码 [23, 12, 7](t = 3)。验证:212 × (1 + 23 + C(23,2) + C(23,3)) = 4096 × (1 + 23 + 253 + 1771) = 4096 × 2048 = 223 ✓。之所以没有更多:三维以上的完美码要么是 Hamming 型,要么可归结为长度 23 的 Golay 码(Tietäväinen 与 Leontiev 的定理),这是完美性极苛刻的后果。

196小结

综合站 全景与余韵全书小结(上):三本账的哲学

★★★ 把六章的记账法收成三行公式。

图 综合-5 三本账:同一份安排的三种清点方式 点账 b k = v r 站在点的角度数一遍: 每点落 r 块,共 v 点 交点账 r (k − 1) = λ (v − 1) 把每点与其余 v − 1 点 的配对再数一遍 块账 b = v 时每对块交 λ 点 对称设计特有:对偶 设计与原设计同参数 三本账必须同时平:对不上者当场出局;对得上者不保证存在——这就是全册的悬念
图 综合-5 三本账:点账、交点账、块账——同一份安排的三次清点。

小结 · 上

① 三本账。点账:每点落 r 块,共 v 点,全部落点次为 vr;从块的角度数,b 块各含 k 点,亦为 bk,故 bk = vr。交点账:固定一点 p,它出现在 r 块中,每块内与 p 配对 k − 1 个点,共 r(k − 1) 个有序配对;而 v − 1 个其他点各被数 λ 次,故 r(k − 1) = λ(v − 1)。块账:当 b = v 时设计对称,对偶构造让「每对块」也恰好交 λ 点——这是对称设计才有的第三本账。

② 记账语言的四级跳。全册的账越记越深:一级是 2-设计(只管每对点);二级是 t-设计(管每 t 个点,λ 退化为一个序列);三级是 Witt 设计(t = 4 或 5,λ 序列一路递减到 1);四级是码(把「点落在块里」换成「位置上是 1」,于是记账变成线性代数)。每跳一级,平衡更强,存在更稀有,对称也更惊人。

③ 记账的三条纪律。其一,先算账再动手:整性检查是免费的筛子,能砍掉大部分伪参数。其二,两次数,换角度:本册几乎所有的证明都是「从点的角度数一遍,再从块的角度数一遍,两者相等」——这个动作在第一章被称作换角计数,在第六章被称作支撑与交叠,其实是同一个动作。其三,账平不等于存在:必要条件与充分条件之间隔着一片灰区,Keevash 的定理只填平了「足够大」的那一半。

与旧章的接口。Pasch 计数(第三章)是账的局部形态;Hadamard 矩阵(第二章)是账的符号化;重量计数器(第六章)是账的生成函数。三本账的语言一路变形,但每一次都仍然只是「同一份安排的两种数法」。

一句总结。一门学问能走多远,取决于它的账本能记多深。组合设计的全部力量来自一个朴素的事实:同一份安排可以从不同方向清点,而两个结果必须相等。此即「安排的艺术」的记账学。

197小结

综合站 全景与余韵全书小结(下):设计的宇宙观

★★★★ 三条干线,一条金线。

三条干线。账本线从五参数走到 Witt 设计,问的是「平衡能加多深」;构造线从循环基差族走到纠错码,问的是「有多少种造法」;拦截线从可除性走到 Keevash 定理,问的是「什么样的参数根本不配存在」。三条线各有一位代表性人物:账本线的 Fisher、构造线的 Singer、拦截线的 Bruck 与 Ryser。它们不是三件事:能造出来的,一定要过账;能过账的,一定要过拦截;而拦截往往正是构造的反面——同一个必要条件的两种读法。

一条金线:对称。贯穿三条干线的是群。第一章用自同构群把设计分类;第二章发现对称设计本身就是「被群追着跑」的结构(差集的平移群);第三章认出 Fano 的自同构群是 PSL(2, 7);第四章用有限域的乘法群批量生产拉丁方;第五章直接把设计的自同构群当作研究对象,造出 M11 与 M24;第六章进一步说明,码的自同构群与设计的自同构群是同一个群。设计论之所以能长出散在单群,正是因为这根金线。

图 综合-6 存在性三重奏 1847 1971 2014 Kirkman:三元系 存在定理 Ray-Chaudhuri–Wilson 可分解的一般解 Keevash:足够大时 过筛即存在
图 综合-6 三座界碑:参数的存在性从「特例」到「一般」再到「渐近」。

存在性三重奏。全册的悬念可以压缩成三个年份。1847:Kirkman 给出第一条完整的存在定理,三元系的存在性被 v ≡ 1, 3 (mod 6) 一网打尽——从「构造」到「判据」的第一次飞跃。1971:Ray-Chaudhuri 与 Wilson 解决可分解的一般情形,女生问题在一百二十一年后收兵——从「特殊参数」到「一般参数」的飞跃。2014:Keevash 证明只要参数过筛且 v 足够大,设计必存在——从「个别判据」到「渐近完备」的飞跃。三次飞跃有一个共同点:判据都写在参数上,而不写在构造上。

三处出口。合流之后,这门学问流向三个方向。统计学:区组设计是试验设计的骨架,Fisher 与 Bose 的工作至今写在农业与临床试验的方法论里;信息科学:纠错码、量子纠错、分布式存储、秘密共享,都能看到块设计与平衡条件的影子;群论:五个 Mathieu 群加上散在单群家族,把组合安排送进了有限单群分类的最深处。一门从游戏起步的学问,最终在三个现代领域里都有座位。

一望前沿。把已知与未知并排看:已知——三元的 Steiner 系已经完全解决,可分解情形已完全解决,足够大的 v 上的一般设计已完全解决;未知——小参数的一般 S(t, k, v) 仍有大片空白,灰区参数(过筛而存亡未定)成排悬挂,大集问题、Ramsey 型问题的设计版、量子纠错的最优构造都还敞开。此外还有一个意味深长的事实:绝大多数灰区参数,人们既造不出设计,也证明不了它不存在——这正是这门学问仍然年轻的证据。

最后一次回望。本册从十五名女生的散步出发,走到二十四个点上五重平衡的宏构;从一条「每两点恰在一线上」的朴素要求出发,走到散在单群的门口。这一路上真正被反复使用的只有两样东西:一个点集和一族子集,以及「换个方向再数一遍」这条纪律。合上书时,若还能记住一句话,愿它是这一句:安排的艺术,就是平衡与对称的艺术。

198速查

综合站 全景与余韵终极速查表

★★★★ 全书一页收账,备查。

条目内容
BIBD 五参数v 点、b 块、每块 k 点、每点 r 块、每对点同块 λ 次
两条恒等式bk = vr;r(k − 1) = λ(v − 1)
可除性筛r = λ(v − 1) ⁄ (k − 1)、b = vr ⁄ k 必须是正整数;t-设计要求全部 λs 为整数
关联矩阵N N⊤ = (r − λ)I + λJ
Fisher 不等式b ≥ v;等号即对称设计
对称必要条件(v − 1)λ = k(k − 1)(即 r = k);对称设计的对偶同参数,每对块交 λ 点
BRC 定理对称设计且 v 偶时,k − λ 必为完全平方
t-设计递降λs = λ · C(v − s, t − s) ⁄ C(k − s, t − s),s = t, …, 1
差集D ⊆ ℤv,每非零差恰 λ 次 ⇒ 平移族构成对称设计
拉丁方N(n) ≤ n − 1,素数幂取等号;除 n = 2, 6 外 N(n) ≥ 2
存在性定理STS(v) ⟺ v ≡ 1, 3 (mod 6);KTS(v) ⟺ v ≡ 3 (mod 6);Keevash 2014:足够大的 v 上过筛即存在
码的基本量纠 t 位 ⟺ d ≥ 2t + 1;M · Σi≤t C(n, i) ≤ 2n,等号即完美码
拦截工具拦下什么反例(永远不存在)
可除性账目不为整数者(10, 5, 3):r = 27 ⁄ 4 非整数
Fisher 界块数少于点数者任何 b = v − 1 的 2-设计
对称必要条件(v − 1)λ ≠ k(k − 1) 的伪对称候选(28, 7, 2)、(52, 11, 2)
BRC(偶 v)k − λ 非完全平方者(22, 7, 2)、(34, 12, 4)、(46, 10, 2)
BRC(奇 v)相应的二次方程无非平凡整数解者(43, 7, 1);六元域的射影平面
数字身份(本书中出现的位置)
7 · 168Fano 的点数与线数;|Aut| = 168 = |PSL(2, 7)|
15 · 35 · 7女生的数目;KTS(15) 的三人组总数;七个平行类
80 · 20 160STS(15) 的非同构类数(1917 手算);|Aut(KTS(15))|
11 084 874 829STS(19) 的非同构类数
14 · 56AG(3,2) 的平面数;每个三元组恰落一块的次数总和
253 · 506W23 的块数(=每点落块数);5-(23,8,1) 的块数
759 · 253 · 77 · 21 · 5 · 1W24 的块数、每点块数、λ2、λ3、λ4、λ5
1771 · 7590sextet 总数(=7 × 11 × 23);把 24 点劈成三块八元组的方法数
287 661C(759, 2) = 11 385 + 170 016 + 106 260(交 0 / 2 / 4 点的块对数)
132 · 660S(5,6,12) 的块数(=264 ⁄ 2);|PSL(2, 11)|
244 823 040|M24|;点、八元块、sextet 的稳定子分别为其 24、759、1771 分之一
干线路径关键定理
账本线五参数 → 两条恒等式 → Fisher → 对称与差集 → Steiner 系 → t-设计 → Witt 设计Fisher 不等式;递降恒等式
构造线循环基差族 → 有限域 → 仿射与射影几何 → 拉丁方 → 群轨道 → 码Singer 定理;有限域构造;Bose 拟群
拦截线可除性 → Fisher 界 → BRC → 灰区 → KeevashBruck–Ryser–Chowla;RCW 不等式

口诀。账先算 → 刀后砍 → 路再选 → 群收口。

最后一行。设计是一笔必须对上的账:构造是它的正面,拦截是它的反面,而对称是贯穿两面的一条金线。

二索引(Index)

术语与概念

  • Pasch 配置85
  • 差集44
  • 差族54
  • 成对平衡设计 PBD77
  • 乘子47
  • 大集83
  • 对称设计41
  • 对偶设计43
  • 仿射平面81
  • 关联结构3
  • 关联矩阵17
  • 基差族74
  • 记号12, 51
  • k-重传递167
  • 拉丁方101
  • 码与距离156
  • 平行类与可分解79
  • 射影平面49
  • t-设计25, 126
  • 完全设计15
  • 问题(Kirkman80
  • 线性码157
  • 正交与 MOLS102
  • 正交阵列111

定理与命题

  • BIBD 的谱20
  • Fano 的对称22
  • N(n) 的几个锚点102
  • PBD 闭合78, 109
  • 标号计数21
  • 必要的同余条件72
  • 补设计24
  • 差集即对称设计44
  • 等号即对偶39
  • 递降恒等式127
  • 对称设计的对偶平衡42
  • 对称设计的派生与残差24
  • 复盘27, 57
  • 观察11
  • 恒等式 I12
  • 宏构再现165
  • 互译159
  • 计数恒等式6
  • 矩阵肖像18
  • 卡片二32
  • 卡片六33
  • 卡片三32
  • 卡片四33, 63
  • 卡片五33
  • 卡片一32, 62
  • 可除性条件23
  • 可分解的阶数门卫81
  • 陆家羲83
  • 满额 ⇔ 仿射平面105
  • 满额 ⇔ 射影平面106
  • 门槛与山巅72
  • 派生设计128
  • r 由参数决定12
  • 上界103
  • 设计浮现164
  • 收尾87, 88, 114, 116
  • 顺手的赠品115
  • 术语注记19
  • 提示与答案要点89, 90, 117, 118, 144, 145, 174, 175
  • 同年同题的两人77
  • 完美码的清单160
  • 问题与定理的年龄差80
  • 有限域构造104
  • 预习提示9
  • 逐题要点195

记号与缩写

  • AG21, 36, 49, 56, 79, 81, 88, 91, 92, 93, 97, 98 等
  • BIBD6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 等
  • BRC7, 23, 32, 34, 39, 40, 41, 47, 48, 49, 51, 52 等
  • BSP108, 109, 112, 113, 118, 120, 122, 124
  • GL22, 33, 38, 43, 45, 73, 98
  • II14, 15, 16, 19, 23, 26, 27, 28, 30, 31, 32, 38 等
  • KTS2, 8, 69, 79, 80, 82, 84, 88, 89, 91, 92, 93 等
  • MOLS7, 33, 49, 56, 61, 99, 100, 102, 104, 105, 106, 109 等
  • NN9, 17, 18, 19, 20, 26, 30, 33, 38, 39, 42, 47 等
  • OA111, 115, 117, 118, 120, 122, 124
  • PBD77, 78, 86, 91, 94, 98, 109, 112, 118, 119, 120, 122
  • PG27, 38, 39, 41, 49, 50, 55, 62, 63, 68, 76, 79 等
  • PSL133, 148, 168, 176
  • RCW82, 93, 125, 129, 144, 146, 147, 153, 198
  • STS2, 7, 21, 23, 54, 56, 61, 69, 70, 71, 73, 74 等

人名

  • Assmus140, 154, 155, 161, 163, 171, 176, 183, 187, 195
  • Bose7, 8, 70, 74, 76, 84, 86, 90, 92, 95, 99, 100 等
  • Bruck7, 39, 40, 47, 51, 52, 81, 105, 106, 118, 184, 185 等
  • Cayley83, 92, 93, 98
  • Chowla7, 39, 40, 47, 51, 105, 106, 109, 110, 118, 120, 184 等
  • Cole84, 187, 191
  • Cummings84, 187, 191
  • Desargues50, 55, 60
  • Design2, 6, 68
  • Euler7, 8, 99, 100, 104, 107, 108, 109, 110, 112, 113, 116 等
  • Fano2, 3, 4, 7, 8, 9, 10, 13, 15, 16, 17, 18 等
  • Fisher5, 7, 8, 9, 10, 16, 18, 19, 20, 23, 26, 28 等
  • Gergonne8, 185, 187
  • Golay7, 50, 86, 134, 140, 141, 148, 150, 154, 155, 156, 160 等
  • Hadamard6, 7, 37, 39, 40, 41, 53, 55, 56, 57, 60, 61 等
  • Hall47, 68, 107, 123
  • Hamming7, 16, 18, 22, 37, 61, 111, 154, 155, 156, 158, 159 等
  • Hanani82, 125, 130, 153
  • Journal8, 83, 108
  • Keevash8, 9, 23, 25, 32, 52, 55, 125, 130, 140, 144, 153 等
  • Kirkman2, 4, 7, 8, 23, 25, 32, 35, 69, 70, 71, 72 等
  • Legendre48, 51, 61
  • MacNeish99, 104, 110, 113, 118, 119, 120, 121, 124
  • MacWilliams26, 163, 164
  • Mathieu7, 22, 130, 134, 137, 138, 149, 154, 155, 156, 166, 167 等
  • Mattson140, 154, 155, 161, 163, 171, 176, 183, 187, 195
  • Paley53, 55, 56, 60, 61, 63
  • Parker7, 8, 99, 100, 108, 109, 113, 118, 121, 122, 124, 184 等
  • Pasch70, 73, 75, 84, 85, 86, 90, 91, 92, 95, 98, 190 等
  • Peltesohn74, 77, 92, 98
  • Ray-Chaudhuri7, 8, 19, 69, 70, 72, 80, 82, 93, 98, 124, 129 等
  • Ryser7, 39, 40, 51, 52, 68, 81, 105, 106, 118, 184, 185 等
  • Shrikhande7, 8, 99, 100, 108, 109, 110, 120, 184, 187, 188, 190 等
  • Singer7, 39, 40, 41, 46, 48, 49, 50, 55, 56, 58, 60 等
  • Steiner2, 4, 6, 7, 8, 25, 31, 33, 44, 56, 68, 69 等
  • Stinson107, 109, 116
  • Straus109, 110, 120
  • Tarry7, 99, 100, 101, 102, 105, 106, 107, 108, 113, 116, 119 等
  • White84, 187, 191
  • Wilson7, 8, 19, 69, 70, 72, 77, 78, 80, 82, 84, 86 等
  • Witt7, 22, 25, 29, 50, 56, 61, 69, 86, 93, 121, 124 等