组合数学之母函数形式Polya定理及其应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26
h1=(x1)(x2)(x3), h2=(x1x2x3), h3=(x3 x2 x1), h4=(x1)(x2x3), h5=(x2)(x1x3), h6=(x3)(x1x2). 而3个布尔变量x1,x2,x3构成的3位二进制 数x1x2x3的状态有23=8种: a0=0 0 0, a1=0 0 1, a2=0 1 0, a3=0 1 1, a4=1 0 0, a5=1 0 1, a6=1 1 0, a7=1 1 1. 以在h2=(x1 x2 x3)的作用下为例:
共有4种类型的置换, 容易写出其轮换 指标公式:
PG ( x 1 , x 2 , x 3 , x 4 ) 1 8 ( x 1 2 x 1 x 2 3 x 2 2 x 4 ),
4 2 2
பைடு நூலகம்18
总方案数
PG ( 3 , 3 , 3 ) 1 8 (3
4
2 3
3
3 3
p | G |
1

gG
( b1 b m )
c1 ( g )
( b1 b m )
n n
cn ( g )
这就是母函数形式的Polya定理的计 数公式, 在具体应用中展开并按照同 类项整理, 即可列举出不同的方案情 况和数目. 下面通过一个例题来说明.
16
例2 有3种不同颜色的珠子, 用它们串成4 个珠子的项链. 问一共能串成多少种 不同类型的项链? 列举出全部不同类 型的方案.
20
例3 由4颗红色的珠子嵌在正六面体的4 个角. 试求有多少种方案? 解 问题相当于用两种颜色对正六面体的 顶点着色. 求两种颜色相等的方案数. (1) 保证运动后六面体位置与原来重合 的置换群G的的阶数为24. 其类型为: (1)8的1个, (4)2的6个, (2)4的9个, (1)2(3)2的8个. (2) 求出母函数形式Polya公式中b4r4项的 系数:
v4 v1
v3
v2
解 先要确定保持图形与原来位置重合的 置换群G.
17
容易看出来使得项链运动前后重合的 置换群G含有以下8个置换:
(v1)(v2)(v3)(v4), (v2)(v4)(v1v3), (v1)(v3)(v2v4), (v1v3) (v2v4), (v1v2) (v3v4), (v1v4) (v2v3), (v1v2v3v4), (v4v3v2v1),
n
布尔量0与1的基本运算有三种: 加法, 乘法与取补, 分别定义如下:
23
加法: 1+x=1, 0+x=x; 乘法: 1x=x, 0x=0 取补: 1=0, 0=1. 如果一个布尔函数可以通过另外一个布尔 函数通过置换变量而得到, 则称这两个布 而函数等价. 也就是说, 如果存在pSn使 得两个布而函数f与h满足: f(x1,x2,…,xn)= g(xp(1),xp(2) ,…,xp(n) ), 则称f与h等价. 等价的布尔函数, 不需要改变函数本身, 只 需要改变输入变量的顺序就可以由一个函 数实现另一个函数的功能.
PG ( m , m , , m ) | G |
1

gG
m
c(g)
3
其中PG(x1,x2,…,xn)为置换群G的轮换指
标, c(g)是置换g中不相交轮换总数. 若g 的类型为(c1,c2,…,cn), 则 c(g)=c1+c2+…+cn. 我们给出的其实是特殊形式的Polya 定理, 更一般形式的是带权的形式. 可 以用来计算有条件限制的计数问题. 下面我们简单介绍Polya定理的证明.
10
先通过一个简单例题说明思想.
例1. 假设要用b, g, r, y这4种颜色涂染3个同样 的球, 则所有方案可形式地表示为 (b+g+r+y)3. 由于三个球无区别, 故乘法是 可交换的, 例如b2g=gb2. 把这个形式展开: (b+g+r+y)3=b3+g3+r3+y3+3b2g+3b2r+3b2y +3g2b+3g2r+3g2y+3r2b+3r2g+3r2y+3y2g +3y2r+3y2b+6bgr+6bgy+6brg+6gry 展开式中的不同项表示不同的方案, 每项 系数表示该方案的数目. 11
21
P=(1/24)[(b+r)8+6(b4+r4)2+9(b2+r2)4 +8(b+r)2(b3+r3)2] 其中b4r4的系数为
(1/24)[C(8,4)+12+9C(4,2)+8C(2,1)C(2,1)] =7
相应的方案略. 以上都是一些简单的应用实际例题. 下面我们要给出Polya定理的两个重 要的应用.
m
c(g)
m
c1 ( g )
m
c2 ( g )
m
cn ( g )
13
其含义是让置换g的ci个长为i的轮换 中每个轮换中的元素染同样的颜色, 这是为了得到由g诱导出的置换g*的 不动点. 当时我们并不关注这个同样的颜色究 竟是哪一种颜色. 现在我们想列举出 染色方案情况, 就需要关注这个问题. 根据刚才例题的思想, 对应于置换g的 每个长为i的轮换因子, 其中i个元素 的颜色可以形式的表示为:
4
1
5 9 13
2
6 10 14
3 7
11 15
4 8 12 16
5
证明 设CS是n个对象集合S={a1,a2,…,an} 用m种颜色C={c1,c2,…,cm}进行涂色 所得的全部方案的集合. 显然 |CS|=mn. 对于置换群G中任何一个元素g, 它 是S的一个置换, 自然也诱导出CS上 的一个置换g*. 具体方式: g*: ffg, fCS. 即:g*(f)=fg, 或:(g*(f))(a)=f(g(a)), aS.
b1 b 2 b m
i i i
14
既然g有ci=ci(g)个长为i的轮换, 自然 长为i的轮换中出现的元素的染色方 案可以形式的表示为:
( b1 b 2 b m )
i i i ci ( g )
考虑到g的全部轮换分解情况, 相应于 置换g的染色方案可以形式表示为:
2
2 3 ) 21 .
如果要列举出具体方案情况, 需要利 用母函数形式的Polya定理. 为书写方 便, 我们用b, r, g分别表示这三种颜色. 具体的方案需要展开下面的式子: P=8-1[(b+g+r)4 + 2(b+g+r)2(b2+g2+r2) + 3(b2+g2+r2)2 + 2(b4+g4+r4)]
19
展开式如下: P=b4+g4+r4+b3r+b3g+br3+r3g+bg3+rg3 +2b2r2+2b2g2+2r2g2+2b2rg+2br2g+2brg2 这里列举出了全部21种不同的染色方 案, 不同类项数为15, 说明有15种不同 的用色方案. 每项的系数说明这种用色方案所能染 出的不等价的类型. 例如其中b2rg的 系数为2, 说明由两颗蓝色珠子、红和 绿各一颗组成的方案有2.
27
a 0 000 000 a 0 a 1 001 010 a 2 a 2 010 100 a 4 a 3 011 110 a 6 a 4 100 001 a 1 a 5 101 011 a 3 a 6 110 101 a 5 a 7 111 111 a 7
22
III. Boole函数及其等价分类
布尔(Boole)函数在现代计算机逻辑 电路的设计中有很重要的应用. n个变量的Boole函数f(x1,x2,…,xn)就 是集合Z2n={(x1,x2,…,xn)|xi=0或1; i=1, 2,…,n} 到集合Z2={0,1}的一个映射. n个变量的不同Boole函数总数: 2 2
PG ( m , m , , m ) | G |
1

gG
m
c(g)
12
其中c(g)是置换g的轮换总数目, 而
PG ( x 1 , x 2 , , x n ) | G |
1

gG
x1 x 2 x n
c1
c2
cn
是置换群G的轮换指标. 如果置换g的类型为: (c1(g),c2(g),…,cn(g)), c(g)=c1(g)+c2(g)+…+cn(g), 我们知道
( b1 b 2 b m )
c1 ( g )
( b1 b 2 b m )
n n n
cn ( g )
由此可以知道, 总的染色方案的列举 只要在轮换指标中令:
x i b1 b 2 b m
i i i
15
即可得到能列举出方案情况的母函数 形式的Polya定理:
6
G*={g*|gG}构成CS的一个置换群, 而且|G*|=|G|. 互不等价的染色方案数正好是G*在 CS上的不同轨道数目. 而要计算轨道数目, 需要应用 Burnside引理. 既然|G*|=|G|, 我们只 需要计算G*中每个元素不动点数目. 设gG, 下面来计算g*的不动点的数 目.不仿设置换g的轮换分解如下:
25
求3个布尔变量x1, x2, x3的布尔函数在 下标置换意义下不同的等价类型的个 数? 3个变量的布尔函数有28=256个. 但布 尔函数f(x1,x2,x3)的装置可以通过改变 输入端的顺序而得到.不必改变装置 本身的内容. 布尔函数f(x1,x2,x3) 中的3个变量上的 置换群就是3次对称群S3共有6个置换:
g=(a,b,c, …, p, q)(r,s,…, t)…(u,v,…,w),
7
如果fCS在g*下不动, 即g*(f)=f, 那么 f(b)=f(g(a))=f(a), 类似可以得到 f(c) =…=f(p)=f(q)=f(a). 说明轮换(a, b, c, …, p, q)中的元素颜 色相同. 同样有, f(r)=f(s)=…=f(t); …; f(u)=f(v)=…=f(w). 由此可见, 如果f是g*的一个不动点, 那么f一定把位于置换g的同一个轮换 中的元素染成了同样的颜色.
24
例如: f(x1,x2,x3)=x1+x2x3与g(x1,x2,x3)=x2+x3x1 等价, 因为g(x1,x2,x3)= f(x2,x3,x1). 取补型等价. 例如f(x1,x2,x3)与f(x1,x2,x3) 取补等价. 取补与下标置换混合等价. 可以利用Polya定理, 通过这些等价所对应 的置换群得出等价类型的数目. 我们不打 算详细推导这些情况. 下面只针对下标置换等价意义下布尔等价 类的计数给出一个例子.
9
II. 母函数形式的Pò lya定理
我们这里给出的Polya计数定理其实是一 种特殊形式. 一般形式的Polya定理还可以 用来解决有条件限制而且互相不等价的染 色方案数目. 还有一个问题是如何列举出所有不同类型 的染色方案? 显然Polya定理无法告诉我 们这些. 它只能告诉我们总数. 母函数形式Polya定理可以满足这个要求.
《组合数学》
第十一讲
母函数形式Polya定理及其应用
1
第十一讲: 内容提要
I. Polya定理及其证明* II. 母函数形式的Polya定理
III. Boole函数的计数 IV. 图简单图的计数*
2
I. Pò lya定理及其证明*
Pò lya定理 设G是n元集合S上的置换群, CS是用集合C中m种颜色对S中元素进 行染色的全部方案组成的集合, 则CS 中在G作用下互不等价的染色方案数 为:
8
反过来, 如果f把位于g的同一个轮换 中的元素染成同样的颜色, 则必然是 g*的不动点. 这样g*不动点的数目就等于这样染色 的数目, 它把g的同一个轮换中的元素 染同样的颜色. 因为g有c(g)个轮换, 每个轮换可以染 一种颜色, 共有mc(g) 种不同的染色方 案. 所以, c1(g*)=mc(g). 由Burnside引理可以得到结论.
只要把上面这种思想方法用于Polya 定理, 就可以得到母函数形式Polya定 理. 设G是n个对象集合S={a1,a2,…,an}上 的一个置换群, 要用m种颜色b1,b2,, bm进行染色, 我们需要讨论并决定互 不等价的染色方案的情况. 根据Polya 定理, 不等价的染色方案数目可以通 过下面的公式得到:
相关文档
最新文档