置换群、Burnside引理与Pólya计数法
upd on 2024/10/25:本质上就是陪集分解
问题的引入
一个
的棋盘,给每一个格子黑白染色,如果两种染色方案能通过旋转完全重叠的话,那么这两种方案算一种,那么求总共有几种染色的方法?
sol#1 暴力枚举
这个就没什么好说的了,反正总共四个格子,每个格子两种颜色,那么总共就有
种染色方法,先列出来再去重。
正解
使用Burnside引理来计算。
计数公式:
其中:
表示对于染色方案集合 以及作用在其上面的置换 而言,本质不同的等价类的个数
表示染色方案集合
表示置换群
表示在置换 下的稳定核,即所有染色方案 满足
意义
就像诸多反演、容斥公式一样,一个量直接计算的难度巨大,那么就求出一些与其有关的但是相对容易直接计算的信息,再用这些有关的信息来计算需要的量
简单证明
首先引入记号 :
, , ,
表示在染色 下的稳定核,即所有置换 满足 根据置换的可合并性与消去律,我们容易知道
是一个群 然后考虑到与
本质相同的染色方案的形式应满足如下条件
然后想象一下当
遍历 的时候总共产生了 种 ,但是 可能远远没有那么多种,其原因就在于可能出现这样的情况: 虽然
,但是 ,而 因此纵使置换
,但是 设参
表示与 本质相同的染色方案,那么感性理解一下,假设我先设置 个置换 ,使之与这 |U(c)| 个结果一一对应,然后再分别对于这几个 使用稳定核 ,然后就能生成全部的 ,由此可以得到等式:
=> 组合意义:可以把每个染色方案看做一个点,而置换则看做一条边,而
则恰好构成一个团 再考虑这样一个计数常用技巧“算两次”:
计算 染色-置换 对
满足 的个数: 那么答案等于
或者是 然后就有
根据之前的证明得知
因此就有
然后再仔细考虑一下等式右边,根据刚才的组合意义,每一团点的贡献恰好是
,那么答案就是团的数量,再仔细想一想,这不就是 嘛 因此得到计数公式 :
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!