Redfield-Polya (Pólya enumeration theorem,简称PET)定理是组合数学理论中最重要的定理之一.自从 1927 年 Redfield 首次运用 group reduction function 概念,现在称之为群的循环指标(circle index of a group),至今 60 多年来,他在许多实际计数问题上得到了广泛的应用,它以置换群为理论基础,与生成函数有机地结合在一起,揭示了一类具有组合意义的计数的规律性.
抽象地说在一集合内,定义了一个等价关系,人们往往关心由这个等价关系所决定的等价类的数目,Refield-Polya 理论就是为解决这类问题而发展起来的复杂计数理论
 
 

关于Polya原理的应用经典实例:

问题:用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到只算作一种。问有多少种染色状态。

解:先将棋子表上号:

1

6   2

5   3

4

那么把所有通过旋转m(m大于等于0小于等于5)步的写出来:

1                  6               5

6    2             5   1          4   6

5    3             4   2          3   1

4                  3               2

(m=0)              (m=1)       (m=2)

4                  3               2

3    5             2   4          1    3

2    6             1   5          6    4

1                  6                5

(m=3)              (m=4)       (m=5)

然后写出每种的置换群:

1 2 3 4 5 6       1 2 3 4 5 6       1 2 3 4 5 6

1 2 3 4 5 6       6 1 2 3 4 5       5 6 1 2 3 4

m= 0                 m=1                m=2

1 2 3 4 5 6       1 2 3 4 5 6       1 2 3 4 5 6

4 5 6 1 2 3       3 4 5 6 1 2       2 3 4 5 6 1

m=3               m=4                 m=5

(第一行是原来每位的数字,后一行为现在每位数字)

化简:

(1)(2)(3)(4)(5)(6)      (1,6,5,4,3,2)    (1,5,3)(2,6,4)

(1,4)(2,5)(3,6)          (1,3,5)(2,4,6)     (1,2,3,4,5,6)

(每个数对应下一个数,接着再找下一个数的对应数,遇到循环加括号)

最后,根据Polya原理:

Answer=(2^6+2^1+2^2+2^3+2^2+2^1)/6=14

(2表示两种颜色,幂表示每种的括号数,除以6表示有6种)

非常神奇的东西,不知道为什么,也不清楚具体的定义是什么(看也看不懂),反正这个典型就是这么牛的被解掉了!

参考:

http://blog.sina.com.cn/s/blog_4aba84bd010005rc.html

http://www.cnblogs.com/hankers/archive/2012/02/16/2354397.html

组合数学--Polya 原理及典型应用的更多相关文章

  1. POJ 1286 Necklace of Beads(Polya原理)

    Description Beads of red, blue or green colors are connected together into a circular necklace of n ...

  2. AtcoderARC062F Painting Graphs with AtCoDeer 【双连通分量】【polya原理】

    题目分析: 如果一个双连通分量是简单环,那么用polya原理计数循环移位即可. 如果一个双连通分量不是简单环,那么它必然可以两两互换,不信你可以证明一下相邻的可以互换. 如果一条边是桥,那么直接乘以k ...

  3. 2021.12.06 P1450 [HAOI2008]硬币购物(组合数学+抽屉原理+DP)

    2021.12.06 P1450 [HAOI2008]硬币购物(组合数学+抽屉原理+DP) https://www.luogu.com.cn/problem/P1450 题意: 共有 44 种硬币.面 ...

  4. Apache Mina原理及典型例子分析

    Apache Mina ,一个高性能 Java 异步并发网络通讯框架.利用 Mina 可以高效地完成以下任务: TCP/IP 和 UDP/IP 通讯 串口通讯 VM 间的管道通讯 SSL/TLS JX ...

  5. Android HttpURLConnection的使用+Handler的原理及典型应用

    1.介绍 总结:HttpURLConnection用来发送和接收数据. 2.ANR异常报错 (1)ANR(Application not response) 应用无响应, 主线程(UI线程) (2)如 ...

  6. AOP之proceedingjoinpoint和joinpoint区别(获取各对象备忘)、动态代理机制及获取原理代理对象、获取Mybatis Mapper接口原始对象

    现在AOP的场景越来越多,所以我们有必要理解下和AOP相关的一些概念和机制. import org.aspectj.lang.reflect.SourceLocation; public interf ...

  7. 【数论】【Polya定理】【枚举约数】【欧拉函数】【Java】poj2154 Color

    你随便写一下出来,发现polya原理的式子里面好多gcd是相同的,gcd(n,i)=k可以改写成gcd(n/k,i/k)=1,也就是说指数为k的项的个数为phi(n/k),就很好求了,最后除的那个n直 ...

  8. Kubernetes(k8s)底层网络原理刨析

    目录 1 典型的数据传输流程图 2 3种ip说明 3 Docker0网桥和flannel网络方案 4 Service和DNS 4.1 service 4.2 DNS 5 外部访问集群 5.1 外部访问 ...

  9. 区块链原理、设计与应用pdf电子版下载

    链接:https://pan.baidu.com/s/1koShkDjEYOXxLOewZJU2Rw 提取码:8ycx 内容简介  · · · · · · 本书由专业区块链开发者撰写,是区块链开发起步 ...

随机推荐

  1. easyui 验证动态添加和删除问题

    $.extend($.fn.validatebox.methods, { remove: function(jq, newposition){ return jq.each(function(){ $ ...

  2. Android TextView 单行文本的坑

    这是android系统的一个bug,描述如下:https://code.google.com/p/android/issues/detail?id=33868 具体来说就是当一个TextView设置了 ...

  3. Anytime项目开发记录4

    做事情列表,我在程序中命名为“正在做”. 这是一个Fragment,应用的主页面,由一个MainActivity加上DoingListFragment和PersonFragment组成.PersonF ...

  4. python 基础篇 15 内置函数和匿名函数

    ------------------------>>>>>>>>>>>>>>>内置函数<<< ...

  5. 孤荷凌寒自学python第七十三天开始写Python的第一个爬虫3

    孤荷凌寒自学python第七十三天开始写Python的第一个爬虫3 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像 ...

  6. Django源码分析之server

    乍见 Django内置的server基本包括两部分:django.core.servers和django.core.handlers 相识 servers.basehttp是Django自身提供的一个 ...

  7. 更换ubuntu软件源的方法

    第一步:查看本系统Codename 输入lsb_release -a查看本系统Codename,我的codename是bionic,如图: 第二步:搜索与codename对应的镜像地址 我搜索到的是: ...

  8. 对TPR(真正例率) 与 FPR(反正例率)的理解

    将测试样本进行排序,“最可能”是正例的排在最前面,“最不可能”是正例的排在最后面. 分类过程就相当于在这个排序中以某个“截断点”(见图中阈值)将样本分为两部分,前一部分判作正例,后一部分判作反例. 我 ...

  9. cmd命令笔记

    查看端口信息:netstat -ano eg. netstat -ano|findstr 0.0.0.0:443 根据pid查看进程信息等:wmic process get name,executab ...

  10. 扩展欧几里得 求ax+by == n的非负整数解个数

    求解形如ax+by == n (a,b已知)的方程的非负整数解个数时,需要用到扩展欧几里得定理,先求出最小的x的值,然后通过处理剩下的区间长度即可得到答案. 放出模板: ll gcd(ll a, ll ...