• Burnside引理和Polya定理简单入门


    不学这个定理,真是亏死了……
    见到那种对称(循环)的计数题都不知道该怎么做……


    先表明一下,本人没有群论基础。
    所以,有关群论的概念,我只会提“置换”。
    对于初学者来说,这可能是更加容易理解的方法吧。
    更加严谨的网上博客一大堆。


    例子

    给你一个长度为(n)的环,有(m)种颜色,每个点可以染成任意颜色。
    循环同构的环算是同一种方案(为方便讨论就先不考虑翻转)。
    问有多少种方案。
    以下以这个例子作为说明。


    Burnside引理

    首先,对于某种状态,看看它进行哪些置换之后会变成某种跟它循环同构的状态。
    比如说,在这题中,转(0)下,转(1)下……转(n-1)下,总共可以写出(n)种置换。
    后面给这些置换都分配一个下标。

    接下来介绍不动点:对于置换(k),假如某个状态经过了置换(k)的操作后变成的状态和前面的是一样的,那就是一个不动点。
    更加形象的理解:将每个状态都视为一个点,每个点向进行了置换(k)之后到达的状态连边。于是形成了由若干个环形成的图。那么所有的自环都是不动点。
    设置换(k)的不动点为(c(k)),那么不重不漏的方案数就是(frac{1}{|G|}sum_{kin G}c(k))
    其中(G)表示置换的集合。

    以下给出在这个例子中的证明,加深一下理解(可能不是很严谨):
    在置换(k)中,假如某种方案最小正周期为(x),如果(x|k),则会被计算(x)次。
    对于一个最小正周期为(x)的方案,在统计循环节为(ix)的时候计算(x)次,其中(iin[0,frac{n}{x})),所以它一共被计算(n)次。


    Polya定理

    gmh说Burnside引理和Polya定理之间是马克思和列宁之间的关系……
    这个东西是在Burnside的基础上搞出来的具体计算方法。

    现在建另一个图:对于置换(k),某个点(i)连向(p_i)(即置换之后到达的位置,在例子中是((i+k)mod n)
    这样形成的图也是个由若干个环组成的图。

    作为一个不动点的状态,它在这个图上有什么性质呢?
    可以发现,如果每个环,环内的颜色分别相同,那么它就是个不动点。
    于是不动点的个数为(m^{sigma (k)}),其中(sigma(k))表示置换(k)通过这种方法建出来的图的环数。
    式子就出来了:(frac{1}{|G|}sum_{kin G}m^{sigma(k)})

    在例子中,(sigma(k)=gcd(n,k))原因你猜
    问题变成了:(frac{1}{n}sum_{k=0}^{n-1}m^{gcd(n,k)})
    至于后面怎么做,枚举(gcd(n,k)),套个反演之类的东西,应该就差不多了。。

  • 相关阅读:
    RUST实践.md
    redis.md
    opencvrust.md
    aws rds can't connect to mysql server on 'xx'
    Foundation ActionScript 3.0 With Flash CS3 And Flex
    Foundation Flash Applications for Mobile Devices
    Flash Mobile Developing Android and iOS Applications
    Flash Game Development by Example
    Actionscript 3.0 迁移指南
    在SWT中非UI线程控制界面
  • 原文地址:https://www.cnblogs.com/jz-597/p/12716316.html
Copyright © 2020-2023  润新知