Polya定理

原文链接:https://blog.csdn.net/qq_41661809/article/details/86612914

 

在着色问题上常常用到Polya 定理来解决计数问题,是组合数学的基本定理之一 .

  首先先引入置换群 ,

             设 S = { 1,2,3...n} , S 上的任何双射函数  : S -> S 称为 S 上的 n 元置换 .

 可以表示成这样.

          设  是 S = {1,2,3 .... . n } 上的n元置换 . 若  (i1) = i2   , (i2) = i3  ,   (i3) = i4 .... ..  (i k-1) = i k ,  (ik ) = i1 ; 且 保持S中的其他元素不变 , 则称  为 S 上的 k 阶 轮换 , 记作 ( i1 , i2 .. ik ) , 若k  = 2 ,称为 为 S 上的对换. 

          设S = {1,2, . . n } , 对于任何 S 上的 n 元置换  一定存在着一个有限序列  i1 , i2 .... ik , k>=1 ,使得 , 

                             (i1) = i2   , (i2) = i3  ,   (i3) = i4 .... ..  (i k-1) = i k ,  (ik ) = i1 ; 

           令   = (i1, i2 .. .. ik) ,它是从  中分解出来的第一个轮换 .根据 函数的复合定义可以将  写作 1 '  ,其中 ' 作用于

S- {i1 , i2 , ...ik} , 而 S 有 n 个元素 ,因此可以继续 对 ' 继续进行 分解,经过有限次的分解后, 我们可以得到 

                                                        = 1 2 ...... t 

  不难看出在分解式中任何两个轮换 i 和 j  都是不相交的 , 所以 n 元 置换就可以表示成轮换之积 . 

比如 : 

              

  这是一个  5 元 置换 ,  (1) = 3 , (3) = 1  ;     (2) = 5 , (5) = 2 ;         (4 ) = 4  ; 

  在上面这个置换中看到,1置换为3,同时3又能置换为1,这就是一个循环。4置换为4本身,这也算一个循环。所以上面的置换    可以写成这样:

                             = (1,3)(2,5)(4)  , 一般一阶轮换(4) 也可以省略不写 ,   = (1,3)(2,5) .

    Polya 定理 

        

设 N    = { 1,2, .... n } 是被着色物体的集合 , G = {1 , 2 ,  .... g} 是 N 上的置换群 . 用 m 种颜色对 N中的元素进行着色,则在G的作用下不同的着色方案数是:  

                                                  

其中 c( k) 是循环节数 ,  上面的例子中  1 = (1,3 )   ,2 = (2,5)  ,3 = (4)  ; 所以 c(1) = 2  , c(2) = 2  , c(3) = 1 ; 

 

比如使用 黑白两种颜色对 下面的方格进行染色 , 如果允许方格可以绕 中心点旋转, 问有多少种不同的着色方案数 ?

    

1    2
3    4
方格可以 旋转 0° , 90 ° , 180 ° ,270° . 所以 群G = {  0° , 90 ° , 180 ° ,270° } , G的阶|G| =  4  ,

G 中 所有的置换是      1 = (1)   ,2 = (1,2,3,4)  ,3 = (1,3)(2,4), 4 = (1,4,3,2) ; 

                                   c(1) = 4  , c(2) = 1  , c(3) = 2 , c( 4) = 1 

带入 Polya定理  M  =     . 
 ———————————————— 
版权声明:本文为CSDN博主「不想悲伤到天明」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41661809/article/details/86612914

 

上一篇:IK分词器 原理分析 源码解析


下一篇:ElasticSearch6.x 之IK 分词