【组合数学】指数生成函数 ( 证明指数生成函数求解多重集排列 )
文章目錄
- 一、證明指數生成函數求解多重集排列
參考博客 : 按照順序看
- 【組合數學】生成函數 簡要介紹 ( 生成函數定義 | 牛頓二項式系數 | 常用的生成函數 | 與常數相關 | 與二項式系數相關 | 與多項式系數相關 )
- 【組合數學】生成函數 ( 線性性質 | 乘積性質 )
- 【組合數學】生成函數 ( 移位性質 )
- 【組合數學】生成函數 ( 求和性質 )
- 【組合數學】生成函數 ( 換元性質 | 求導性質 | 積分性質 )
- 【組合數學】生成函數 ( 性質總結 | 重要的生成函數 ) ★
- 【組合數學】生成函數 ( 生成函數示例 | 給定通項公式求生成函數 | 給定生成函數求通項公式 )
- 【組合數學】生成函數 ( 生成函數應用場景 | 使用生成函數求解遞推方程 )
- 【組合數學】生成函數 ( 使用生成函數求解多重集 r 組合數 )
- 【組合數學】生成函數 ( 使用生成函數求解不定方程解個數 )
- 【組合數學】生成函數 ( 使用生成函數求解不定方程解個數示例 )
- 【組合數學】生成函數 ( 使用生成函數求解不定方程解個數示例 2 | 擴展到整數解 )
- 【組合數學】生成函數 ( 正整數拆分 | 無序 | 有序 | 允許重復 | 不允許重復 | 無序不重復拆分 | 無序重復拆分 )
- 【組合數學】生成函數 ( 正整數拆分 | 無序不重復拆分示例 )
- 【組合數學】生成函數 ( 正整數拆分 | 正整數拆分基本模型 | 有限制條件的無序拆分 )
- 【組合數學】生成函數 ( 正整數拆分 | 重復有序拆分 | 不重復有序拆分 | 重復有序拆分方案數證明 )
- 【組合數學】指數生成函數 ( 指數生成函數概念 | 排列數指數生成函數 = 組合數普通生成函數 | 指數生成函數示例 )
一、證明指數生成函數求解多重集排列
多重集 S={n1?a1,n2?a2,?,nk?ak}S=\{ n_1 \cdot a_1 , n_2 \cdot a_2 , \cdots , n_k \cdot a_k \}S={n1??a1?,n2??a2?,?,nk??ak?}
多重集 SSS 的 rrr 排列數 組成數列 {ar}\{ a_r \}{ar?} , 對應的指數生成函數是 :
Ge(x)=fn1(x)fn2(x)?fnk(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) ★
其中每個生成函數項 fni(x)f_{n_i}(x)fni??(x) 是
fni(x)=1+x+x22!+?+xnini!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?? ★
將 Ge(x)G_e(x)Ge?(x) 展開 , 其中的 rrr 系數就是多重集的排列數 ; ★
證明上述指數生成函數用途 :
將上述 指數生成函數 展開 ,
指數生成函數項 Ge(x)=fn1(x)fn2(x)?fnk(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) , 由 kkk 個因式相乘得到 ,
每個因式都會提供一個 xm1m1!\cfrac{x^{m_1}}{m_1!}m1?!xm1?? 成分 ,
xm1m1!\cfrac{x^{m_1}}{m_1!}m1?!xm1?? 來自第一個因式 ,
xm2m2!\cfrac{x^{m_2}}{m_2!}m2?!xm2?? 來自第二個因式 ,
?\vdots?
xmkmk!\cfrac{x^{m_k}}{m_k!}mk?!xmk?? 來自第 kkk 個因式 ,
上述因式相乘 xm1m1!?xm2m2!?xmkmk!\cfrac{x^{m_1}}{m_1!} \cdot \cfrac{x^{m_2}}{m_2!} \cdots \cfrac{x^{m_k}}{m_k!}m1?!xm1???m2?!xm2???mk?!xmk??
其中 m1+m2+?+mr=r,m_1 + m_2 + \cdots + m_r = r \ \ \ ,m1?+m2?+?+mr?=r???,
0≤mi≤ni,0 \leq m_i \leq n_i \ \ ,0≤mi?≤ni???, i=0,1,2,?,ki= 0,1,2, \cdots , ki=0,1,2,?,k
xm1m1!?xm2m2!?xmkmk!\cfrac{x^{m_1}}{m_1!} \cdot \cfrac{x^{m_2}}{m_2!} \cdots \cfrac{x^{m_k}}{m_k!}m1?!xm1???m2?!xm2???mk?!xmk?? 對應了指數生成函數展開后的分項 ;
xm1m1!?xm2m2!?xmkmk!\ \ \ \ \cfrac{x^{m_1}}{m_1!} \cdot \cfrac{x^{m_2}}{m_2!} \cdots \cfrac{x^{m_k}}{m_k!}????m1?!xm1???m2?!xm2???mk?!xmk??
=xm1+m2+?+mkm1!m2!?mk!=\cfrac{x^{m_1 + m_2 + \cdots + m_k}}{m_1!m_2!\cdots m_k!}=m1?!m2?!?mk?!xm1?+m2?+?+mk??
=xrm1!m2!?mk!?r!r!=\cfrac{x^{r}}{m_1!m_2!\cdots m_k!} \cdot \cfrac{r!}{r!}=m1?!m2?!?mk?!xr??r!r!?
=xrr!?r!m1!m2!?mk!=\cfrac{x^{r}}{r!} \cdot \cfrac{r!}{m_1!m_2!\cdots m_k!}=r!xr??m1?!m2?!?mk?!r!?
r!m1!m2!?mk!\cfrac{r!}{m_1!m_2!\cdots m_k!}m1?!m2?!?mk?!r!? 是多重集 rrr 個元素的全排列數
選了 rrr 個元素 , 選擇的方法數是 m1+m2+?+mr=rm_1 + m_2 + \cdots + m_r = rm1?+m2?+?+mr?=r 非負整數解個數 , 配置完成后 , 再 進行全排列 , 就可以得到 rrr 排列 ;
( 先選擇 , 再進行全排列 )
ar=∑r!m1!m2!?mk!a_r = \sum\cfrac{r!}{m_1!m_2!\cdots m_k!}ar?=∑m1?!m2?!?mk?!r!?
上述求和 , 每個分項都是滿足 m1+m2+?+mr=rm_1 + m_2 + \cdots + m_r = rm1?+m2?+?+mr?=r 方程的非負整數解 , 每個非負整數解都對應了多重集的 SSS 的 rrr 組合 ;
組合的全排列數是 r!m1!m2!?mk!\cfrac{r!}{m_1!m_2!\cdots m_k!}m1?!m2?!?mk?!r!? ,
上述求和 ar=∑r!m1!m2!?mk!a_r = \sum\cfrac{r!}{m_1!m_2!\cdots m_k!}ar?=∑m1?!m2?!?mk?!r!? 是 針對所有滿足方程的一切非負整數解進行求和 ;
總結
以上是生活随笔為你收集整理的【组合数学】指数生成函数 ( 证明指数生成函数求解多重集排列 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【组合数学】指数生成函数 ( 指数生成函
- 下一篇: 【组合数学】指数生成函数 ( 指数生成函