Burnside引理,Polya定理和一些计数问题(1)

Burnside引理

考虑一个\(S\)上的置换群\(G\). 对于\(u,v \in S\),定义它们“等价”当且仅当存在一个\(G\)中的置换,将\(u\)变为\(v\).容易发现,这一关系是一个等价关系.设\(E(k)\)表示\(k\)所在的等价类.

值得注意的是,由于\(G\)是群,\(\exists f \in G, f(u)=v\)当且仅当\(\exists f_1,f_2,...,f_s \in G, f_s...f_2f_1(u)=v\)

考虑对\(S\)中等价类数量的计数.这类问题是十分常见的,例如定义了“本质相同”关系后询问本质不同的元素数量.

现在我们给出Burnside引理:等价类数量\(L=\frac{1}{|G|}\sum_{g \in G}{|D(g)|}=\frac{1}{|G|}\sum_{k \in S}{|Z(k)|}\),式中\(D(g)\)表示\(g\)的不动点,\(Z(k)\)表示使\(k\)保持不变的\(G\)中置换.

要证明它,只需证明\(\sum_{k \in S}{|Z(k)|}=|G|L\),观察发现,我们希望对每个等价类\(E_i\),都有\(\sum_{k \in E_i}{|Z(k)|}=|G|\).

首先,我们考虑同一等价类中的元素\(u,v\),并任取一个将\(u\)变换到\(v\)的置换\(f\).设\(H(u,v)\)\(G\)中将\(u\)变换为\(v\)的置换,则\(\forall f_1 \in Z(u),f \circ f_1 \in H(u,v)\),且\(\forall f_2 \in H(u,v),f_1=f^{-1} \circ f_2 \in Z(u)\)是唯一的,因此\(|Z(u)|=|H(u,v)|\).用群论的语言说,\(H(u,v)=fZ(u)\)\(Z(u)\)\(G\)中的左陪集。

同时我们知道\(\sum_{v \in E(u)} {H(u,v)}=|G|\),因此\(|G|=\sum_{v \in E(u)} {Z(u)}=|E(u)||Z(u)|\),即\(|Z(u)|=\frac{|G|}{|E(u)|}\).我们发现,这时我们已经得到了证明.

来做算法题吧

在一些时候,\(S\)是十分庞大的,而\(G\)中的置换并不多, 枚举的时间代价可以承受。这时我们可以考虑枚举\(G\)的元素\(g\),并在原问题中寻找性质,试图快速算出\(D(g)\).一个常见的实现错误是漏掉了\(G\)的单位元.

一个常见的情境是染色问题,\(S\)是所有染色的方案,而\(G\)是通过被染色位置的置换给出的(容易验证被染色位置上的置换群与它带来的\(S\)上的置换群是同构的).以后的文章里将会讲到Polya定理,并举出算法竞赛中的一些经典问题。

posted @ 2019-04-10 22:05 lkmcfj 阅读(...) 评论(...) 编辑 收藏