【组合数学】指数生成函数 ( 指数生成函数求解多重集排列示例 )

举报
韩曙亮 发表于 2022/01/10 23:59:11 2022/01/10
【摘要】 文章目录 一、指数生成函数求解多重集排列示例 参考博客 : 按照顺序看 【组合数学】生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 |...



参考博客 : 按照顺序看





一、指数生成函数求解多重集排列示例



使用 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4 四个数字组成五位数 , 要求
1 1 1 出现次数不能超过 2 2 2 次 , 但必须出现 ,
2 2 2 出现次数不超过 1 1 1 次 ,
3 3 3 出现次数最多 3 3 3 次 ,
4 4 4 出现偶数次 ,
求上述五位数的个数 ;


这就是一个求解 多重集排列 的题目 , 使用 指数生成函数 ;



一共有 5 5 5 个位置 , 使用 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4 向这 5 5 5 个位置中填充 ,


选取个数分析 :

1 1 1 出现不超过 2 2 2 次 , 不能不出现 , 也就是必须大于 0 0 0 , 则可选取的个数是 1 , 2 1,2 1,2 ,

2 2 2 出现不超过 1 1 1 次 , 可选取个数 0 , 1 0,1 0,1 ,

3 3 3 出现可以达到 3 3 3 次 , 可选取的个数 0 , 1 , 2 , 3 0,1,2,3 0,1,2,3 ,

4 4 4 出现偶数次 , 可选取个数是 0 , 2 , 4 , 6 , 8 , ⋯ 0, 2, 4, 6, 8, \cdots 0,2,4,6,8, , 这里注意一共选择 5 5 5 个 , 最终求解多重集时 , 主要是看 x 5 x^5 x5 前的次幂数 , 因此这里的 可选取个数就是单个因式中的 x x x 次幂数 , 没必要超过 5 5 5 , 选择 0 , 2 , 4 0,2,4 0,2,4 即可 ;



按照下面的模型 , 写出指数生成函数 ;

多重集 S = { n 1 ⋅ a 1 , n 2 ⋅ a 2 , ⋯   , n k ⋅ a k } S=\{ n_1 \cdot a_1 , n_2 \cdot a_2 , \cdots , n_k \cdot a_k \} S={n1a1,n2a2,,nkak}

多重集 S S S r r r 排列数 组成数列 { a r } \{ a_r \} {ar} , 对应的指数生成函数是 :


G e ( x ) = f n 1 ( x ) f n 2 ( x ) ⋯ f n k ( x ) G_e(x) = f_{n_1}(x) f_{n_2}(x) \cdots f_{n_k}(x) Ge(x)=fn1(x)fn2(x)fnk(x)


其中每个生成函数项 f n i ( x ) f_{n_i}(x) fni(x)

f n i ( x ) = 1 + x + x 2 2 ! + ⋯ + x n i n i ! f_{n_i}(x) = 1 + x + \cfrac{x^2}{2!} + \cdots + \cfrac{x^{n_i}}{n_i!} fni(x)=1+x+2!x2++ni!xni


G e ( x ) G_e(x) Ge(x) 展开 , 其中的 r r r 系数就是多重集的排列数 ;



指数生成函数写法 :

① 确定生成函数项个数 : 多重集元素种类个数

② 确定生成函数项中的分项个数 : 选取值 个数 ;

③ 分项格式 : x n n ! \cfrac{x^n}{n!} n!xn

④ 分项次幂 : 选取值 ;



总共有 4 4 4 种元素 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4 , 因此生成函数是 4 4 4 个生成函数项相乘 ;


1 1 1 元素对应的生成函数项 :

  • 选取值 : 1 , 2 1,2 1,2
  • 最终结果 : x 1 1 ! + x 2 2 ! = x + x 2 2 ! \cfrac{x^1}{1!} + \cfrac{x^2}{2!} = x + \cfrac{x^2}{2!} 1!x1+2!x2=x+2!x2

2 2 2 元素对应的生成函数项 :

  • 选取值 : 0 , 1 0,1 0,1
  • 最终结果 : x 0 0 ! + x 1 1 ! = 1 + x \cfrac{x^0}{0!} + \cfrac{x^1}{1!} = 1 + x 0!x0+1!x1=1+x

3 3 3 元素对应的生成函数项 :

  • 选取值 : 0 , 1 , 2 , 3 0,1,2,3 0,1,2,3
  • 最终结果 : x 0 0 ! + x 1 1 ! + x 2 2 ! + x 3 3 ! = 1 + x + x 2 2 ! + x 3 3 ! \cfrac{x^0}{0!} + \cfrac{x^1}{1!} + \cfrac{x^2}{2!} + \cfrac{x^3}{3!} = 1 + x + \cfrac{x^2}{2!} + \cfrac{x^3}{3!} 0!x0+1!x1+2!x2+3!x3=1+x+2!x2+3!x3

4 4 4 元素对应的生成函数项 :

  • 选取值 : 0 , 2 , 4 , 6 , ⋯ 0,2,4,6 , \cdots 0,2,4,6, , 这里只选取 5 5 5 个 , 求 x x x 的次幂的 5 5 5 前的系数 , 这里只需要选取到 0 , 2 , 4 0 , 2, 4 0,2,4 即可 , 5 5 5 以上的数完全不需要 , 可以忽略 ;
  • 最终结果 : x 0 0 ! + x 2 2 ! + x 4 4 ! = 1 + x 2 2 ! + x 4 4 ! \cfrac{x^0}{0!} + \cfrac{x^2}{2!} + \cfrac{x^4}{4!} = 1+ \cfrac{x^2}{2!} + \cfrac{x^4}{4!} 0!x0+2!x2+4!x4=1+2!x2+4!x4

将上述指数生成函数中四个 指数生成函数项相乘 , 计算出 x 5 x^5 x5 前的系数 , 就是多重集的排列数 ;

G e ( x ) = ( x + x 2 2 ! ) ( 1 + x ) ( 1 + x + x 2 2 ! + x 3 3 ! ) ( 1 + x 2 2 ! + x 4 4 ! ) G_e(x) = (x + \cfrac{x^2}{2!}) (1 + x) (1 + x + \cfrac{x^2}{2!} + \cfrac{x^3}{3!}) (1+ \cfrac{x^2}{2!} + \cfrac{x^4}{4!}) Ge(x)=(x+2!x2)(1+x)(1+x+2!x2+3!x3)(1+2!x2+4!x4)

              = x + 5 x 2 2 ! + 18 x 3 3 ! + 64 x 4 4 ! + 215 x 5 5 ! ⋯ \ \ \ \ \ \ \ \ \ \ \ \,= x + 5\cfrac{x^2}{2!} + 18\cfrac{x^3}{3!} + 64\cfrac{x^4}{4!} + 215\cfrac{x^5}{5!} \cdots            =x+52!x2+183!x3+644!x4+2155!x5

后面的就不算了 , 其中 x 5 x^5 x5 的项是 215 x 5 5 ! 215\cfrac{x^5}{5!} 2155!x5 , 因此题目中要求的 5 5 5 位数的个数是 215 215 215 个 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/109384301

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。