zoukankan      html  css  js  c++  java
  • Burnside&Polya

    以前只是直接用了这两个式子。。今天才仔细看了证明。。【网上的真是难懂啊

    我看的几个博客地址(各有优缺): 其实如果能懂的话 只看博客B就可以了

    首先是一些置换群方面的定义和性质  博客A:http://blog.csdn.net/xym_CSDN/article/details/53456447

    然后是burnside的证明                  博客B:http://blog.csdn.net/gengmingrui/article/details/50564027

    还有两个定理的式子和举例             博客C:http://blog.csdn.net/liangzhaoyang1/article/details/72639208

    但是对于博客B,我看的时候遇到了几个问题

    1、 设G={a1,a2,…ag}是目标集[1,n]上的置换群。

      这里涉及到两个集合 一个是置换群,一个是目标集

      目标集是一个状态集合,  在OI中举个例子 {

        m个格子黑白染色, 状态数有2^m种, 每一种都是目标集中的一个元素,所以[1,n]实际上是[1,2^m];

        而置换就可以理解为 两个状态之间的有向边。  比如1001这种染色状态,经过(1 2 3)(4)的置换后,变成0101

      }

    2、 c1(ak)是在置换ak的作用下不动点的个数,也就是长度为1的循环的个数(其实就是被置换ak置换过后位置不变的元素个数)

      因为这句话,我之前一直误以为是不动点是:  比如置换ak=(1 2 3)(4)中的那个4 。

      然而实际上。比如1001这种染色状态,经过置换ak=(1 4)(2 3)的置换后,变成1001 ,所以‘1001’这个元素是置换ak的一个不动点。

    3、 轨道大小*稳定化子数=变换个数

      这个的证明在博客A的最后有

    贴一下来自博客C的式子:

    Burnside引理: 
    对于一个置换f,若一个染色方案s经过置换后不变,称sf的不动点。将f的不动点数目记为C(f),则可以证明等价类数目为所有C(f)的平均值。 
    百度百科的定义: 
    G=a1,a2,ag是目标集[1,n]上的置换群。每个置换都写成不相交循环的乘积。c1(ak)是在置换ak的作用下不动点的个数。通过上述置换的变换操作后可以相等的元素属于同一个等价类。若G[1,n]划分成l个等价类,则: 
    这里写图片描述

    Polya定理 :
    polya定理实际上是burnside引理的具体化,提供了计算不动点的具体方法。 
    假设一个置换有k个循环,易知每个循环对应的所有位置颜色需一致,而任意两个循环之间选什么颜色互不影响。因此,如果有m种可选颜色,则该置换对应的不动点个数为mk

    用其替换burnside理中的C(f),即C(f)=mk。得到等价类数目为:

    其中|F|表示置换的数目,ki表示第i个置换包含的循环个数。

  • 相关阅读:
    boke
    Http post/get
    记一次网站优化---图片压缩与移动端画面缩放问题
    深入浅出 Vue.js 第九章 解析器---学习笔记
    Linux/Mac中alias的使用
    JavaScript中的函数柯里化与反柯里化
    JavaScript中深拷贝实现
    JavaScript中的节流和防抖
    博客园加入百度统计遇到的坑
    记一次无数据库下动态更新文案的解决历程
  • 原文地址:https://www.cnblogs.com/cyz666/p/6903706.html
Copyright © 2011-2022 走看看