组合设计
组合设计是组合数学中研究有限集合上特定子集(或子集族)的排列与组合规律的分支。它关注如何按照特定规则构造满足某些性质的组合结构,并在编码理论、实验设计、计算机科学等领域有广泛应用。
1. 基本概念:从集合与子集出发
假设有一个有限集合 \(X\)(称为点集),其大小为 \(v\)。我们考虑 \(X\) 的若干子集(称为区组,block),这些区组构成一个集合 \(\mathcal{B}\)。若每个区组包含 \(k\) 个点,且满足以下条件:
- 任意两个点恰好同时出现在 \(\lambda\) 个区组中,
则称 \((X, \mathcal{B})\) 为一个平衡区组设计(Balanced Block Design)。
示例:
设 \(X = \{1,2,3,4,5,6,7\}\),区组为:
\[\{1,2,4\},\ \{2,3,5\},\ \{3,4,6\},\ \{4,5,7\},\ \{5,6,1\},\ \{6,7,2\},\ \{7,1,3\} \]
每个区组大小 \(k=3\),任意两个点恰好同时出现在一个区组中(即 \(\lambda=1\))。这种结构称为 2-(7,3,1) 设计(后续解释参数含义)。
2. 参数化:t-设计
更一般地,若对点集 \(X\)(大小为 \(v\))的区组设计满足:
- 每个区组有 \(k\) 个点,
- 任意 \(t\) 个点恰好同时出现在 \(\lambda\) 个区组中,
则称其为 t-设计,记作 \(t\text{-}(v,k,\lambda)\)。
参数关系:
对于 \(t \geq 2\),固定任意 \(i < t\),若忽略部分点,剩余点构成的子集仍形成一个 \((t-i)\)-设计。例如,从 \(t\text{-}(v,k,\lambda)\) 中固定一个点并删除它,得到 \((t-1)\text{-}(v-1,k-1,\lambda)\) 设计。
3. 特殊类型:Steiner 系统
当 \(\lambda = 1\) 时的 \(t\)-设计称为 Steiner 系统,记作 \(S(t,k,v)\)。
著名例子:
- \(S(2,3,v)\):Steiner 三元系(每对点恰好出现在一个三元区组中),存在性要求 \(v \equiv 1 \text{ 或 } 3 \pmod{6}\)。
- \(S(3,4,v)\):例如 \(v=8\) 时可由仿射平面构造。
4. 对称设计:区组数与点数相等
若 \(t=2\) 且区组数 \(b = v\)(即每个点恰好出现在 \(r\) 个区组中,且 \(r = k\)),则称为对称设计。此时:
- \(r(k-1) = \lambda(v-1)\),
- 任意两个区组恰好相交于 \(\lambda\) 个点。
示例:射影平面是 \(2\text{-}(n^2+n+1, n+1, 1)\) 设计(其中 \(n \geq 2\) 为素数幂)。
5. 应用场景举例
- 实验设计:在农业试验中,\(v\) 个品种分配到 \(b\) 个区组(如土地区块),每个区组种 \(k\) 个品种,要求每对品种在同一区组中出现次数相同(平衡),以消除土壤差异影响。
- 编码理论:t-设计可用于构造纠错码,例如某些线性码的支撑集构成设计。
- ** tournaments 安排**:循环赛程表可转化为区组设计问题。
6. 存在性与构造方法
组合设计的核心问题之一是确定参数 \((v,k,\lambda,t)\) 何时存在相应设计。常用构造工具包括:
- 有限几何(利用仿射或射影空间中的子空间);
- 差集(通过群环运算生成区组);
- 递归构造(用小设计组合成大设计)。
未解问题:例如,\(S(2,4,v)\) 的充要条件为 \(v \equiv 1 \text{ 或 } 4 \pmod{12}\),但某些 \(v\) 的具体构造仍待研究。