EGF中多项式exp的组合意义

EGF中多项式exp的组合意义

EGF一般用来处理多重集的排列问题,在其上可以定义多项式的exp运算,在处理一类问题的时候有独特的作用

我们考虑将n个有标号的元素分为k个非空无序集合的方案数,记其EGF为 F k F_{k} Fk,再考虑 f i f_i fi表示在这个我们定义的集合中对集合元素的计数方式(也就是考虑元素在集合内的排列方式的个数,这是一个只跟集合大小有关的值),那么根据生成函数的定义,我们不难得到下式

F k ( n ) = n ! k ! ∑ ∑ i = 1 k a i = n ∏ j = 1 k f a j a j ! F_{k}(n)=\frac{n!}{k!}\sum_{\sum_{i=1}^{k}a_i=n}\prod_{j=1}^{k}\frac{f_{a_j}}{a_j!} Fk(n)=k!n!i=1kai=nj=1kaj!faj,最后除以 k ! k! k!是因为这k个集合是无序的,而原本的多个多项式卷积显然是有序的

现在我们记 F ( x ) ^ = ∑ i = 0 i n f f i x i i ! \hat{F(x)}=\sum_{i=0}^{inf}f_i\frac{x^i}{i!} F(x)^=i=0inffii!xi,也就是原本的 f i f_i fi的EGF

再记 G k ( x ) G_k(x) Gk(x) F k ( n ) F_k(n) Fk(n)的EGF,则有

G k ( x ) = ∑ n = 0 i n f F k ( n ) x n n ! G_k(x)=\sum_{n=0}^{inf}F_k(n)\frac{x^n}{n!} Gk(x)=n=0infFk(n)n!xn

= ∑ n = 0 i n f n ! k ! ( ∑ ∑ i = 1 k a i = n ∏ j = 1 k f a j a j ! ) x n n ! =\sum_{n=0}^{inf}\frac{n!}{k!}(\sum_{\sum_{i=1}^{k}a_i=n}\prod_{j=1}^{k}\frac{f_{a_j}}{a_j!})\frac{x^n}{n!} =n=0infk!n!(i=1kai=nj=1kaj!faj)n!xn

= 1 k ! ∑ n = 0 i n f ( ∑ ∑ i = 1 k a i = n ∏ j = 1 k f a j x a j a j ! ) =\frac{1}{k!}\sum_{n=0}^{inf}(\sum_{\sum_{i=1}^{k}a_i=n}\prod_{j=1}^{k}\frac{f_{a_j}x^{a_j}}{a_j!}) =k!1n=0inf(i=1kai=nj=1kaj!fajxaj)

= 1 k ! ( F ( x ) ^ ) k =\frac{1}{k!}(\hat{F(x)})^k =k!1(F(x)^)k

如果我们考虑所有 k ≥ 0 k\geq 0 k0,就有

∑ k ≥ 0 G k ( x ) = ∑ k ≥ 0 ( F ( x ) ^ ) k k ! = e x p F ( x ) ^ \sum_{k\geq 0}G_k(x)=\sum_{k\geq 0}\frac{(\hat{F(x)})^k}{k!}=exp\hat{F(x)} k0Gk(x)=k0k!(F(x)^)k=expF(x)^

我们惊奇地发现, G ( x ) G(x) G(x)的指数生成函数居然就是 f x f_x fx的生成函数的exp!

总结一下,多项式exp的组合意义就是:有标号元素构成的集合划分为任意个非空子集的总方案数。

来几个具体的例子


考虑大小为n的排列的个数是 n ! n! n!,其指数生成函数是 P ( x ) = ∑ n ≥ 0 n ! x n n ! = ∑ n ≥ 0 x n = 1 1 − x P(x)=\sum_{n\geq 0}\frac{n!x^n}{n!}=\sum_{n\geq 0}x^n=\frac{1}{1-x} P(x)=n0n!n!xn=n0xn=1x1

一个大小为n的圆排列个数是 ( n − 1 ) ! (n-1)! (n1)!,其指数生成函数是 G ( x ) = ∑ n ≥ 1 ( n − 1 ) ! x n n ! = ∑ n ≥ 1 x n n = − ln ⁡ ( 1 − x ) = l n ( 1 1 − x ) G(x)=\sum_{n\geq 1}\frac{(n-1)!x^n}{n!}=\sum_{n\geq 1}\frac{x^n}{n}=-\ln(1-x)=ln(\frac{1}{1-x}) G(x)=n1n!(n1)!xn=n1nxn=ln(1x)=ln(1x1)

不难发现 P ( x ) = e x p G ( x ) P(x)=expG(x) P(x)=expG(x)

仔细理解一下,众所周知,一个大小为n的排列一定可以拆成若干个环,每一个环内部的排列数就是一个圆排列的方案数,所以大小为n的排列的方案数就是把 1 , 2... n 1,2...n 1,2...n分成若干个非空集合,每一个集合的圆排列方案数之积,这与我们上面讲到的exp的组合意义相符合
未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Segment Anything Model】八:修改SAM源码做分类任务

🍉 博主微信 cvxiayixiao 🍓 【Segment Anything Model】计算机视觉检测分割任务专栏。 链接 🍑 【公开数据集预处理】特别是医疗公开数据集的接受和预处理,提供代码讲解。链接 🍈 【opencv+图像处理】opencv代码库讲解,结合图像处理知识,不仅仅是调库。链接 文章目…

使用GoogleNet网络实现花朵分类

一.数据集准备 新建一个项目文件夹GoogleNet,并在里面建立data_set文件夹用来保存数据集,在data_set文件夹下创建新文件夹"flower_data",点击链接下载花分类数据集https://storage.googleapis.com/download.tensorflow.org/exampl…

前端 CSS 经典:clip、clip-path

1. clip 1.1 clip: auto | inherit | rect auto:默认,不裁剪 inherit:继承父级 clip 属性 rect:规则四边形裁剪 1.2 clip: rect(top, right, bottom, left) 注意: 1.裁剪只对 fixed 和 absolute 的元素有效。 2.top&…

HIVE-17824,删除hdfs分区信息,清理metastore元数据

当手动删除HDFS 分区数据时,但是并没有清理 Hive 中的分区元数据,删除操作无法自动更新hive分区表元数据。也就是从hdfs中删除大量分区数据,并没有执行如下命令: alter table drop partition commad 从hive 3.0.0开始可以使用MSCK的方法发现新分区或删除丢失的分区; MSCK [REPA…

如何在MAC系统上安装MMSDK

#方法一:命令行设置 ##1.在macOS 操作系统中,你可以通过以下步骤使用图形界面来设置 PYTHONPATH 环境变量 (1)点击屏幕左上角的苹果图标,在弹出菜单中选择 “系统偏好设置”。 (2)在系统偏好设…

(react+ts)vite项目中的路径别名的配置

简单两个步骤 找到vite.config.ts,这里会现实报错,需要安装一下 npm i -D types/node 这个库的ts声明配置 import path from path // https://vitejs.dev/config/ export default defineConfig({plugins: [react()],resolve:{alias:{"":path.resolve(__…

alibaba.fastjson的使用(六) -- JavaBean==》Json字符串、JSONObject、JSONArray

目录 1. JavaBean转 Json字符串 2. JavaBean转 JSONObject 3. List转JSONArray 在pom文件中引入依赖: <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.14</version></dependency&…

冲刺学习-MySQL-常见问题

MySQL索引的最左原则 联合索引的说明 建立三个字段的联合索引联合索引&#xff08;a&#xff0c;b&#xff0c;c&#xff09;相当于建立了索引&#xff1a;&#xff08;a&#xff09;&#xff0c;&#xff08;a&#xff0c;b&#xff09;&#xff0c;&#xff08;a&#xff0…

计算机考研自命题(5)

1、C语言–求和 1、展开式求和。输入一个实数x&#xff0c;计算并输出下式的和&#xff0c;直到最后一项的绝对值小于0.00001.计算结果保留2位小数&#xff0c;试编程。 S x x/2&#xff01; x/3&#xff01; … /* 算法思想&#xff1a;定义一个求阶乘的函数fact(), 头文件调…

蜣螂优化(DBO)求解置换流水车间调度问题(PFSP)

先做一个声明&#xff1a;文章是由我的个人公众号中的推送直接复制粘贴而来&#xff0c;因此对智能优化算法感兴趣的朋友&#xff0c;可关注我的个人公众号&#xff1a;启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法&#xff0c;经典的&#xff0c;或者是近几年…

经验风险最小化与结构风险最小化:优化机器学习模型的两种方法

随着大数据时代的到来&#xff0c;机器学习在各个领域中的应用越来越广泛。然而&#xff0c;在构建机器学习模型时&#xff0c;我们面临着两个主要的挑战&#xff1a;经验风险最小化和结构风险最小化。本文将深入探讨这两种方法&#xff0c;并分析它们在优化机器学习模型中的作…

【Qt QML】Qt5.15.2 qml添加自定义控件报错“Xxxx is not a type“

清除构建&#xff0c;重新构建修改*.pro文件&#xff1a; RESOURCES qml.qrc xxx.qml #xxx.qml是新的控件或resource.files main.qml xxx.qml RESOURCES resource参考&#xff1a; QML-自定义模块&#xff1a;https://blog.csdn.net/QtCompany/article/details/131215350 Q…

1024程序员节

一年一年真快啊&#xff0c;

alibaba.fastjson的使用(三)-- Map、List ==》JSON字符串

目录 1.使用到的方法为: 2. Map转JSON字符串 3. List转JSON字符串 1.使用到的方法为: static String toJSONString(Object object) 2. Map转JSON字符串 /**

数据库MySQL(二):DDL数据定义语言

数据定义语言&#xff08;Data Definition Language&#xff0c;DDL&#xff09; 该语言主要用于定义数据库对象&#xff0c;操作对象为数据库、表或字段。 数据库操作 # 查询所有数据库 SHOW DATABASES;# 查询当前数据库 SELECT DATABASE(); # 创建数据库 CREATE DATABASE […

基于SpringBoot的时间管理系统

基于SpringBoot的时间管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 管理员界面 用户界面 摘要 基于Spring Boot的时间管理系统是一款功能丰富…

Unity之ShaderGraph如何实现靠近显示溶解效果

前言 今天我们来实现一个我再B站看到的一个使用LeapMotion实现的用手部触摸就可以显示的溶解效果。 效果如下图所示: 主要节点 Position:提供对网格顶点或片段的Position 的访问,具体取决于节点所属图形部分的有效着色器阶段。使用Space下拉参数选择输出值的坐标空间。 …

ArcGIS笔记10_如何创建渔网?

本文目录 前言Step 1 确定渔网的精度单位Step 2 有底图时创建渔网的操作 前言 ArcGIS中的渔网是一个很好用的工具&#xff0c;它可以创建出规规整整的小格子&#xff0c;每个小格子都对应一个标注点&#xff0c;可以将原本散乱的数据规整化&#xff0c;如下图&#xff1a; Ste…

1024程序员

听说今天可以拿勋章&#xff0c;嘿嘿

代码随想录算法训练营第23期day31|贪心算法理论基础、455.分发饼干、376. 摆动序列、53. 最大子序和

目录 一、贪心算法理论基础 二、&#xff08;leetcode 455&#xff09;分发饼干 三、&#xff08;leetcode 376&#xff09;摆动序列 四、&#xff08;leetcode 53&#xff09;最大子序和 一、贪心算法理论基础 1.什么是贪心 贪心的本质是选择每一阶段的局部最优&#xf…