🌱 Stage 1

组合数学课

先是在wiki上找了一下组合数学的词条. 发现涵盖的东西居然这么多. 有机会再看. 这篇只是用来总结课堂的一些知识.

鸽巢原理

定理: 把 n+1 个物体放在 n 个盒子里, 至少有一个盒子里有两个以上的物体.

定理: 鸽巢定理推广. q1,q2,…,qn∈Z+q_1, q_2, \ldots, q_n \in \mathbb{Z^+} , 把 ∑iqi−n+1\sum_i q_i - n + 1 个物体放入 nn 个盒子, 第一个盒子至少 q1q_1 个物体, 或者第二个盒子中至少有 q2q_2 个物体, … , 或者第 n 个盒子中至少有 qnq_n 个物体.

这两个定理用反证法很容易证明.

课本前半部分都是一些很古典的组合数学问题. 用物体, 盒子等定义不明的语言描述.

这里试着用集合论语言描述一下.

物体集合 O (object), 可数集合

盒子/标签 集合 T (type), 可数集合.

一个方案/安排 a (arrangement), 是一个映射 a∈O→Ca \in O \to C, O→CO \to C 表示所有值域为 OO, 定义域为 CC 的映射的集合.

所有方案A=O→CA = O \to C, 许多问题问的就是 ∣A∣|A|.

鸽巢定理: ∣O∣=n+1|O| = n+1, ∣T∣=n|T| = n, 记 A=O→TA = O \to T ∀a∈A\forall a \in A , ∃t0∈T\exists t_0 \in T, ∣a−1(t0)∣>1|a^{-1}(t_0)| > 1

这里用映射的逆表示从值域映射到定义域集合的一个映射.

不得不说, 这么写的话, 定理的含义模糊了很多. 定理的成立也不那么明显了.

Ramsey 数

略

排列与组合

加法乘法原则

加法原则: 事件 A 有 m 种选取方式, 事件 B 有 n 种选取方式, 则选择 A 或 B, 有 m + n 中选取方式.

这有什么意义? 太显然了.. 一个事件A 有 m 种选取方式是什么意思? 这里并不涉及上面提到的 Object 和 Type. (因为一时想不到答案.. 走神看QQ去了..). 加法原则可以看做是单纯的集合相加. 看下面的乘法原则吧.

乘法原则: 事件 A 有 m 种选取方式, 事件 B 有 n 种选取方式, 选取 A 然后选取 B 有 mn 中选取方式

这不也仅仅是集合相乘吗..

减法原则, 除法原则

集合的排列

n 元集合 S 的一个 r 排列是指从 S 中选 r 个元素, 依次排列. 方案数记为 P(n,r)P(n,r)

P(n,r)=n!(n−r)!P(n, r) = \frac{n!}{(n-r)!}

集合组合

n 元集合 S 的 r 组合是指从 S 中选取 r 个元素的无序选择. 方案数记为 (nr)\binom{n}{r}. or CnrC_n^r

(nr)=n!r!(n−r)!\binom{n}{r} = \frac{n!}{r!(n-r)!}

这个是 S 集合的大小为 r 的子集的个数

多重集合的排列

多重集合里面可能会有相同元素, 比如 M={a,a,a,b,c,c,d,d,d,d}M = \{a,a,a,b,c,c,d,d,d,d\} = {3⋅a,1⋅b,2⋅c,4⋅d}\{3\cdot a, 1\cdot b, 2 \cdot c, 4 \cdot d\}

一般把多重集合记为 M={k1⋅a1,k2⋅a2,…,kn⋅an}M = \{k_1\cdot a_1, k_2\cdot a_2, \ldots, k_n \cdot a_n\},

定理 多重集合 M={∞⋅a1,∞⋅a2,…,∞⋅ak}M = \{\infty\cdot a_1, \infty\cdot a_2, \ldots, \infty \cdot a_k\} 的 r 排列数为 krk ^ r

这个..勉勉强强吧

定理 多重集合M={k1⋅a1,k2⋅a2,…,kn⋅an}M = \{k_1\cdot a_1, k_2\cdot a_2, \ldots, k_n \cdot a_n\} 的全排列数为

(k1+k2+…+kn)!k1!k2!…kn!\frac{(k_1 + k_2 + \ldots + k_n)!}{k_1!k_2!\ldots k_n! }

多重集合的组合

定理 多重集合 M={∞⋅a1,∞⋅a2,…,∞⋅ak}M = \{\infty\cdot a_1, \infty\cdot a_2, \ldots, \infty \cdot a_k\} 的 r 组合数为 (k+r−1r)\binom{k+r-1}{r}, 另一种描述 将 r 个相同的求放入 k 个不同的盒中.

定理 多重集合 M={∞⋅a1,∞⋅a2,…,∞⋅ak}M = \{\infty\cdot a_1, \infty\cdot a_2, \ldots, \infty \cdot a_k\} 要求 a1,…,aka_1, \ldots, a_k 至少出现一次的 rr 组合数为 (r−1k−1)\binom{r-1}{k-1}

高中时的”隔板法”

二项式定理

二项式定理 (x+y)n=∑r=0n(nr)xn−ryr(x + y)^n = \sum_{r=0}^{n} \binom{n}{r} x^{n-r} y ^r

二项式定理 ,(1+x)α=∑r=0∞(αr)xr,(1+x)^{\alpha} = \sum_{r=0}^{\infty}\binom{\alpha}{r} x^r for all α∈R\alpha \in \mathbb{R} , (αr)=α(α−1)…(α−r+1)r!\binom{\alpha}{r} = \frac{\alpha(\alpha -1)\ldots(\alpha-r+1)}{r!}

(1) 当 α=−n\alpha= - n,

\begin{align} \binom{\alpha}{r} & = \binom{-n}{r} \\ &= \frac{(-n)(-n-1)\ldots(-n-r-1)}{r!} \\ &= (-1)^r\binom{n+r-1}{r} \end{align}

so, (1+x)−n=∑r=0∞(−1)r(n+r−1r)xr(1+x)^{-n} = \sum_{r=0}^{\infty}(-1)^r \binom{n+r-1}{r} x^r

(2) 当 α=12\alpha = \frac{1}{2},

\begin{align}\binom{\alpha}{r} &= \binom{\frac{1}{2}}{r} \\ &=\frac{\frac{1}{2}(\frac{1}{2}-1)\ldots(\frac{1}{2}-r+1)}{r!}\\&=(-1)^{r-1}\cdot\frac{1}{r2^{2r-1}}\binom{2r-2}{r-1} \end{align}

so, (1+x)12=∑r=0∞(−1)r−11r22r−1(2r−2r−1)xr(1+x)^\frac{1}{2} = \sum_{r=0}^{\infty}(-1)^{r-1}\frac{1}{r2^{2r-1}}\binom{2r-2}{r-1}x^r

(nr)\binom{n}{r} 的一些基本性质:

  1. 对称
  2. 递推关系
  3. 单峰(中间最大)
  4. 可以看做在杨辉三角中, 从顶点走到(nr)\binom{n}{r} 点的所有路径数.

恒等式:

  1. (n0)+(n1)+…+(nn)=2n\binom{n}{0} + \binom{n}{1} + \ldots + \binom{n}{n} = 2^n
  2. (ni)\binom{n}{i} 所有偶数项求和等于所有奇数项
  3. 1(n1)+2(n2)+3(n3)+…+n(nn)=n2n−11\binom{n}{1} + 2\binom{n}{2} + 3\binom{n}{3} + \ldots + n\binom{n}{n} = n2^{n-1}, 证明: (1+x)n(1+x)^n 在 x=1x=1 处求导.
  4. ∑k=0n(nk)2=(2nn)\sum_{k=0}^{n}\binom{n}{k}^2 = \binom{2n}{n}
  5. (0k)+(1k)+…+(nk)=(n+1k+1)\binom{0}{k}+\binom{1}{k} + \ldots + \binom{n}{k} = \binom{n+1}{k+1}, 组合意义,
  6. ∑k=0n(nk)2=(n0)(nn)+(n1)(nn−1)+…+(nn)(n0)=(2nn)\sum_{k=0}^{n}\binom{n}{k}^2 = \binom{n}{0}\binom{n}{n} + \binom{n}{1}\binom{n}{n-1} + \ldots + \binom{n}{n}\binom{n}{0}= \binom{2n}{n}, 组合意义
  7. ∑i=0r(mi)(nr−i)=(m+nr)\sum_{i=0}^{r}\binom{m}{i}\binom{n}{r-i} = \binom{m+n}{r} , Vandermonde 恒等式, 上式的推广
  8. ∑i=0m(mi)(nr+i)=(m+nm+r)\sum_{i=0}^{m}\binom{m}{i}\binom{n}{r+i} = \binom{m+n}{m+r},

多项式定理

(x1+x2+…+xt)n=∑(nn1n2…nt)x1n1x2n2…xtnt(x_1+ x_2+ \ldots + x_t)^n = \sum\binom{n}{n_1n_2\ldots n_t}x_1^{n_1}x_2^{n_2}\ldots x_t^{n_t}

多项式系数 (nn1n2…nt)=n!n1!n2!…nt!\binom{n}{n_1n_2\ldots n_t} = \frac{n!}{n_1!n_2!\ldots n_t!}

容斥定理

SS 是有限集合, P1,P2,…,PmP_1 ,P_2,\ldots,P_m 是有关 SS 元素的性质, AiA_i 是 SS 中具有 PiP_i 性质的元素组成的集合, 则 SS 中不具有性质 P1,…,PmP_1,\ldots,P_m 的元素个数为:

∣A1‾∩A2‾∩…∩Am‾∣=∣S∣−∑∣Ai∣+∑∣Ai∩Aj∣−∑∣Ai∩Aj∩Ak∣+…+(−1)m∣A1∩A2∩…∩Am∣ |\overline{A_1} \cap \overline{A_2} \cap \ldots \cap \overline{A_m}| = |S| - \sum|A_i| + \sum|A_i\cap A_j| - \sum|A_i\cap A_j \cap A_k| + \ldots + (-1)^m |A_1\cap A_2 \cap \ldots \cap A_m|

错排问题

1,2,…,n, 的一个错排指满足每个数不在原位置的全排列.

错排数Dn=n!(1−11!+12!−13!+…+(−1)n1n!)D_n = n!(1 - \frac{1}{1!}+\frac{1}{2!}-\frac{1}{3!}+\ldots+(-1)^n\frac{1}{n!})

证明方法1. 容斥定理 PiP_i 为 i 在原位置上. 2. 递推公式

有禁止模式的排列问题

容斥原理, PiP_i 为有某个禁止模式的排列

生成函数

定义

A(x)=a0+a1x+a2x2+…A(x) = a_0 + a_1x + a_2x^2 + \ldots 为序列 a0,a1,a2,…a_0, a_1, a_2, \ldots 的生成函数.

加法, 对应项相加 A(x)+B(x)≡∑k=0∞(ak+bk)xkA(x)+B(x) \equiv \sum_{k=0}^\infty (a_k + b_k)x^k

乘法, 相乘后合并同次项 A(x)B(x)≡∑k=0∞(akb0+ak−1b1+…+a0bk)xkA(x)B(x) \equiv \sum_{k=0}^{\infty} (a_kb_0+a_{k-1}b_1+ \ldots + a_0b_k)x^k

加法零元: 0, 0, 0, …

乘法单位元: 1, 0, 0, …

形式多项式集合 R[[x]]R[[x]] 构成一个整环.

求导

生成函数的性质

一些计算规则和例子

bk=∑i=0kaib_k = \sum_{i=0}^k a_i   ⟺  \iff B(x)=A(x)1−xB(x) = \frac{A(x)}{1-x}

bk=∑i=k∞ai  ⟺  B(x)=A(1)−xA(x)1−xb_k=\sum_{i=k}^\infty a_i \iff B(x) = \frac{A(1)-xA(x)}{1-x}

bk=kak  ⟺  B(x)=xA′(x)b_k = ka_k \iff B(x) = xA'(x)

bk=akk+1  ⟺  B(x)=1x∫0xA(t) dtb_k=\frac{a_k}{k+1} \iff B(x) = \frac{1}{x}\int_0^xA(t)\,\mathrm{d}t

组合型分配问题的生成函数

{∞a1,∞a2,…,∞an}\{\infty a_1, \infty a_2, \ldots, \infty a_n\}, 的 kk 组合数

其生成函数 A(x)=(∑i=0∞xi)nA(x) = (\sum_{i=0}^\infty x^i )^n , 每个因子 ∑i=0∞xi\sum_{i=0}^\infty x^i 表示一个 a_i 可取的个数, 生成函数的 kk 次项就是 kk 组合数.

A(x)=1(1−x)nA(x) = \frac{1}{(1-x)^n}, ak=(n−1+kk)a_k = \binom{n-1+k}{k}

排列型分配问题的指数型生成函数

指数型生成函数.

数列 aia_i, 的指数型生成函数为 ∑k=0∞akxkk!\sum_{k=0}^\infty a_k \frac{x^k}{k!}

正整数拆分

递推关系

常系数线性齐次递推关系

常系数线性非齐次

迭代归纳法

生成函数求解递推关系

特殊计数序列

fibonacci

catalan

集合划分 stirling

分配问题

Polya 计数

群

非空集合GG 以及在上面的二元运算 ⋅\cdot, 满足以下条件

  1. 运算封闭
  2. 结合律成立
  3. 存在单位元
  4. 每个元素都存在逆元

则称 ⟨G,⋅⟩\langle G, \cdot \rangle 为群.

由以上几条,可以证明的一些性质:

设⟨G,⋅⟩\langle G, \cdot \rangle is a group, ee is the identity element. then:

  1. e−1=ee^{-1} = e
  2. ee is unique
  3. 消去律成立, if a⋅b=a⋅ca \cdot b = a \cdot c or b⋅a=c⋅ab \cdot a = c \cdot a then b=c​b = c​
  4. (a⋅b)−1=b−1⋅a−1(a \cdot b)^{-1} =b^{-1} \cdot a^{-1}

定义子群, 设 ⟨G,⋅⟩\langle G, \cdot \rangle is a group, and HH is a non-empty subset of GG, if ⟨H,⋅⟩\langle H, \cdot \rangle is a group, we call it GG‘s subgroup

一些性质包括, 只要 HH 中运算封闭, ⟨H,⋅⟩\langle H, \cdot \rangle 就是子群.

置换群

有限集合DD 上的 一一映射 成为 DD 上的置换. 不失一般性, D={1,2,…,n}D=\{1,2,\ldots, n\}

一个置换

σ=(12…nσ(1)σ(2)…σ(n))\sigma = \left ( \begin{array}{cccc}1&2 &\ldots & n\\ \sigma(1) &\sigma(2) &\ldots & \sigma(n)\end{array} \right )

将1 映射到 σ(1)\sigma(1), 以此类推.

D={1,2,…,n}D = \{1, 2,\ldots, n\} 的所有置换构成一个群, 记为SnS_n, ∣Sn∣=n!\big|S_n\big| = n!

(1,4,6)(1,4,6) 这种叫轮换, 1→4,4→6,6→11\to4, 4\to 6, 6 \to 1, 其他不变. 举个例子, 轮换的复合运算: (1234)(1234)=(13)(24)(1234)(1234) = (13)(24)

任意置换都可以表示为不相交的轮换之积.

DD and RR are two finite sets, F=D→RF = D \to R, GG is a Permutation Group on D, for some f11,f2∈Ff1_1, f_2 \in F, if there exists σ∈G\sigma \in G, s.t. forall d∈Dd \in D, f1(d)=f2(σ(d)) f_1(d) = f_2(\sigma(d)) We call f1f_1 and f2f_2 are GG equal (GG 等价)

两个映射 f1f_1, f2f_2 在 置换群GG 上等价, 如果存在一个定义域上的一一映射, 把定 义域的元素用这个映射换一下 f1f_1 就是 f2f_2.

显然这个关系是FF 上的一个等价关系 (和 GG 好像并没有什么关系)?

并不是和GG 没有关系哟. 如果给定一个置换群G, 那么就能把 F,(F=D→R)F, (F = D \to R) 划分成 多个等价类.

对应到组合问题中, 比如一个着色方案, 一个分配方案, 实际上就是一个F=D→RF = D \to R, 着色方案的话, DD 是定点, RR 是颜色. 分配方案的话, DD 是小球, RR 是盒子.

给定一个置换群GG, 等价类的个数就是实际的组合方案数.

Burnside 引理

定义两个置换的共轭:

GG is subgroup of SnS_n, two elements s,t∈Sns, t \in S_n, if there exists a g∈Gg \in G, s.t. s=g−1tgs = g^{-1} t g , then we say ss is a conjugate of tt, and that viceversa, or ss and tt of GG are conjugate.

G-conjugate, G共轭是 SnS_n 上的一个等价关系. G共轭当且仅当, 两个置换是同型的.

定义同型:

映射的等价类

Burnside引理 可以解决用m色对n个物体着色的方案计数问题, 但是计算量太大, 经过 Polya 改进形成 Polya 计数定理后才得到广泛应用.

组合设计

💬 评论加载中...