斯特林數與斯特林反演


首先我們先來了解什么叫做斯特林數。

第一類斯特林數

\(\left[n\atop m \right]\) 或者 \(s(n,m)\) 表示從 \(n\) 個元素中選出 \(m\) 個圓排列的方案數。

什么是圓排列,對於兩個排列,如果循環相同,那么這兩個排列就被視為相同的圓排列,不難發現,\(n\) 個元素的圓排列個數為 \((n-1)!\)

遞推式

考慮遞推斯特林數。我們考慮第 \(n\) 個元素放在哪個圓排列中,首先是考慮新放一個圓排列,這樣的方案數為 \(s(n-1,m-1)\),考慮把第 \(n\) 個元素放進之前的某個圓排列中,不難發現,把一個元素放入一個 \(4\) 個元素的圓排列中有 \(4\) 種放法,所以我們把第 \(n\) 個元素放在之前的某個圓排列中一共有 \(n-1\) 中放法,由此可以得到這樣一個式子:

\[\begin{bmatrix}n\\m\end{bmatrix}=\begin{bmatrix}n-1\\m-1\end{bmatrix}+(n-1)\begin{bmatrix}n-1\\m\end{bmatrix} \]

這就是第一類斯特林數的遞推式。

遞推邊界:\(s(n,n)=1(n\ge 0),s(n,0)=0(n\ge 1)\)

性質

  • \(s(n,1)=(n-1)!\)

\(n\) 個元素的圓排列個數為 \((n-1)!\) 可以得到。

  • \(s(n,n-1)=\binom{n}{2}\)

\(n\) 個元素組成 \(n-1\) 個圓排列,實際上是從這 \(n\) 個元素里面選出來兩個組成一個大小為 \(2\) 的圓排列,其余元素單獨組成員排列。由此可知,性質成立。

  • \(s(n,2)=(n-1)!\sum_{i=1}^{n-1}\frac{1}{i}\)

首先我們考慮設第一個圓排列的元素個數為 \(i\) ,第二個圓排列的元素個數為 \(n-i\),那么根據 \(s(n,1)=(n-1)!\) 我們可以得到 \(\binom{n}{i}(i-1)!(n-i-1)!\),同時我們需要注意到,因為在第一類斯特林數的定義中圓排列相互之間是沒有順序的,但是我們在計數的過程中卻區分了第一個圓排列,第二個圓排列,所以我們算重了 \(2\) 遍,由此我們可以得到:

\[s(n,2)=\sum\limits_{i=1}^{n-1}\frac{\binom{n}{i}(i-1)!(n-i-1)!}{2}\\ =\sum\limits_{i=1}^{n-1}\frac 12 \frac{n!}{i!(n-i)!}\times (i-1)!\times (n-i-1)!\\ =\sum\limits_{i=1}^{n-1}\frac 12 \frac{n!}{i(n-i)}=(n-1)!\sum\limits_{i=1}^{n-1}\frac{1}{2}(\frac{1}{i}+ \frac{1}{n-i}) \]

容易發現 \(\frac{1}{i}\)\(\frac{1}{n-i}\) 的貢獻相同,所以原式得證。

  • \(s(n,n-2)=2\times \binom{n}{3}+3\times \binom{n}{4}\)

我們分兩種情況討論:第一種情況,我們把 \(n-3\) 個元素分給 \(n-3\) 個圓排列,其余 \(3\) 個元素自成一個排列,這樣的方案數為 \(2\times \binom{n}{3}\),前者是 \(3\) 元素圓排列個數,后者是從 \(n\) 個元素中選出三個當圓排列。

第二種情況,我們把 \(n-4\) 個元素分給 \(n-4\) 個圓排列,然后剩下兩個圓排列每個圓排列兩個元素,首先 \(\binom{n}{4}\) 選出 \(4\) 個元素,然后再 \(\binom{4}{2}\) 選出兩個元素給第一個圓排列,考慮到我們又給排列定了順序,所以乘上 \(\frac 12\) 。由此可以得到原式。

  • \(\sum_{k=0}^ns(n,k)n^k=n!\)

通過下文中的第一類斯特林數的生成函數可以得到這個性質。

符號

第一類斯特林數分為有符號斯特林數和無符號斯特林數,有符號斯特林數通常表示為 \(s_s\),無符號斯特林數通常表示為 \(s_u\),我們有 \(s_s(n,k)=(-1)^{n-k}s_u(n,k)\),在本文中,若無特殊說明,第一類斯特林數通常都指的是無符號斯特林數。

第二類斯特林數

\(\left\{n\atop m\right\}\)\(S(n,m)\) 表示把 \(n\) 個元素划分成 \(m\) 個非空集合的方案數,其中 \(m\) 個集合兩兩相同。

通項公式

我們考慮容斥來計算第二類斯特林數的通項公式,首先不管兩個限制:非空和集合兩兩相同。

我們欽定有 \(i\) 個集合是空的,然后把所有的球隨意的放進剩下的盒子,這里盒子兩兩不同,這樣的方案數應該為 \(\binom{n}{i}(m-i)^n\),然后我們容斥一下,就可以得到非空的方案數,再乘上 \(\frac{1}{m!}\) 就可以得到盒子兩兩相同的方案數。由此,我們可以得到:

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}\sum\limits_{i=0}^m(-1)^i\binom{m}{i}(m-i)^n \]

遞推式

我們一樣考慮第 \(n\) 個元素怎么放。

第一種情況,把第 \(n\) 個元素放在最后一個盒子里,其余的元素放在其他的盒子里,這樣的方案數為 \(S(n-1,m-1)\)。第二種情況,把第 \(n\) 個元素和其他元素放在一起,注意這里元素兩兩不同而盒子兩兩相同,所以說我們關注的是元素的組合情況,對於每一種方案,我們把第 \(n\) 個元素加入一個新的組合都會產生一種情況,所以方案數為 \(mS(n-1,m)\),由此,我們可以得到 \(S(n,m)=S(n-1,m-1)+mS(n-1,m)\)

邊界條件:\(S(n,n)=1(n\ge 0),S(n,0)=0(n>1)\)

性質

  • \(S(n,1)=1\)

根據第二類斯特林數的定義不難的出這個結論。

  • \(S(n,2)=2^{n-1}-1\)

    兩個集合我們考慮第一個集合放哪些數,這樣的計數結果為 \(\sum_{i=1}^{n-1}\binom ni\),考慮到我們給集合定順序但集合間並沒有順序,所以我們算重了兩邊,最終結果為:

\[\frac 12\sum\limits_{i=1}^{n-1}\binom ni=\frac 12(2^n-2)=2^{n-1}-1 \]

  • \(S(n,n-1)=\binom n2\)

不難想到這個東西實際上是從 \(n\) 個元素中選出 \(2\) 個放到一個集合里去,由此可以得到上面這個式子。

  • \(\left\{ n\atop m \right\}\equiv 0\bmod n\)\(n\) 是質數且 \(1<m<n\) 時成立。

證明:

\(n\) 是質數且 \(1<m<n\) 時,我們可以得到:

\[\left\{ n\atop m \right\} = \frac{1}{m!}\sum\limits_{i=0}^m(-1)^i\binom{m}{i}(m-i)^n\\ =\sum\limits_{i=0}^m(-1)^i \frac{(m-i)^n}{i!(m-i)!}\\ \equiv \sum\limits_{i=0}^m(-1)^i\frac{m-i}{i!(m-i)!} \]

我們對上面這個東西建立生成函數:

\[F(x)=\sum\limits_{m\ge0}(\sum\limits_{i=0}^m(-1)^i\frac{m-i}{i!(m-i)!})x^m \]

發現這個東西是由兩個生成函數卷積得到:

\[F(x)=(\sum\limits_{i\ge0}\frac{(-1)^i}{i!}x^i) \times (\sum\limits_{i\ge0}\frac{i}{i!}x^i) \]

發現這個是因為關注到 \(F(x)\) 的系數本身就是一個卷積形式。

發現前面這個東西的封閉形式是 \(e^{-x}\),證明可以通過寫出 \(e^ {-x}\) 在原點處的泰勒展開得到。

而后面那個式子,不難發現 \(i=0\) 時式子值為 \(0\),所以能夠得到:

\[\sum\limits_{i\ge0}\frac{i}{i!}x^i=\sum\limits_{i\ge 1}\frac{i}{i!}x^i\\ =\sum\limits_{i\ge 1} \frac{1}{(i-1)!}x^i=\sum\limits_{i\ge 0} \frac{x^{i+1}}{i!}\\ =x\sum\limits_{i\ge0}\frac{x^i}{i!}=xe^x \]

由此我們可以得到 \(F(x)\) 的封閉形式 \(F(x)=x\)

注意到 \(F(x)\) 的第 \(m\) 次項為 \(0\) ,而第 \(m\) 項的系數為 \(\left\{ n\atop m \right\}\),由此可知原式成立。

  • \(n^k=\sum_{i=0}^kS(k,i)i!\binom ni\)

第三類斯特林數

第三類斯特林數也稱作拉赫數,因為和第一二類斯特林數比較類似,所以有這兩個名字。
拉赫數可以通過上升冪與下降冪之間的轉化來定義,即:

\[x^{\overline{n}}=\sum\limits_{k=0}^nL(n,k)x^{\underline{k}}\\ x^{\underline{n}}=\sum\limits_{k=0}^n(-1)^{n-k}L(n,k)x^{\overline{k}} \]

由此我們可以得到 \(L(n,k)\) 的通項公式:

\[L(n,k)=\binom{n-1}{k-1}\frac{n!}{k!} \]

有這個通項公式可以知道第三類斯特林數的遞推公式:

\[L(n,k)=(n+k-1)L(n-1,k)+L(n-1,k-1) \]

這個定西可以簡單的通過代入來證明。

各種冪之間的轉換

這里先給出上升冪與下降冪的公式:

\[x^{\overline{n}}=x(x+1)...(x+n-1)\\ x^{\underline{n}}=x(x-1)...(x-n+1) \]

上升冪與下降冪之間的轉換關系:

\[(-x)^{\underline{n}}=(-1)^nx^{\overline{n}}\\ (-x)^{\overline{n}}=(-1)^nx^{\underline{n}} \]

二項式系數與下降冪之間的關系:

\[\binom nk=\frac{n^{\underline{k}}}{k!} \]

證明比較顯然,這里不再贅述。

  • 上升冪與通常冪之間的轉換:

\[x^{\overline{n}}=\sum\limits_{i=0}^ns(n,i)x^i\\ x^n=\sum\limits_{i=0}^n(-1)^{n-i}S(n,i)x^{\overline{i}}\\ \]

證明:

  • 通常冪與下降冪之間的轉換:

\[x^{\underline n}=\sum\limits_{i=0}^n(-1)^{n-i}s(n,i)x^i\\ x^n=\sum\limits_{i=0}^nS(n,i)x^{\underline{i}}\\ \]

  • 上升冪與下降冪之間的轉換:

\[x^{\overline{n}}=\sum\limits_{k=0}^nL(n,k)x^{\underline{k}}\\ x^{\underline{n}}=\sum\limits_{k=0}^n(-1)^{n-k}L(n,k)x^{\overline{k}} \]

以上性質可以通過歸納以及上升冪與下降冪之間的轉換來證明,這里不再贅述。

記憶上面的實際只需要注意什么時候添加 \(-1\),給定序列 \(x^{\underline{n}},x^n,x^{\overline{n}}\),從左往右轉換時需要加,從右往左轉換時不需要加,然后注意從上升下降冪轉換到通常冪用第一類斯特林數,從通常冪轉換到上升下降冪用第二類斯特林數。

通過以上式子,我們通過把上升冪用第三類斯特林數直接轉化成下降冪,和先用第一類斯特林數轉化成通常冪,再用第二類斯特林數轉化成下降冪兩種方式,通過比較下降冪系數,我們可以得到第三類斯特林數和兩個斯特林數之間的關系:

\[L(n,k)=\sum\limits_{k=0}^ns(n,k)S(k,i) \]

生成函數

第一類斯特林數的生成函數就是上升冪。

\(B_k(x)=\sum_{i\ge k} S(i,k)x^i\),通過觀察,我們可以知道:

\[B_k(x)=xB_{k-1}(x)+kxB_{k}(x) \]

由此我們可以得到:

\[B_k(x)=\frac{xB_{k-1}(x)}{1-kx}=B_k(x)=\frac{x^2B_{k-2}(x)}{(1-kx)(1-(k-1)x)}\\ =\frac{x^k}{\prod_{r=1}^k(1-rx)} \]

\(F_k(x)=\sum_{i\ge k}S(i,k)\frac{x^i}{i!}\) 則我們可以得到:

\[F_k(x)=\sum\limits_{i\ge 0}\frac{1}{k!}\sum\limits_{j=0}^k(-1)^{k-j}\binom kj j^i\frac{x^i}{i!}\\ =\frac{1}{k!}\sum\limits_{j=0}^k(-1)^{k-j}\binom kj\sum\limits_{i\ge 0}j^i\frac{x^i}{i!}\\ =\frac{1}{k!}\sum\limits_{j=0}^k(-1)^{k-j}\binom kje^{jx}\\ =\frac{(e^x-1)^k}{k!} \]

斯特林反演

斯特林反演公式:

\[f(n)=\sum\limits_{i=0}^nS(n,i)g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^{n-i}s(n,i)f(i) \]

要證明上面這個式子,我們首先引入一個反轉公式:

\[x^n=\sum\limits_{i=0}^nS(n,i)x^{\underline{i}}\\ =\sum\limits_{i=0}^nS(n,i)(-1)^i(-x)^{\overline{i}}\\ =\sum\limits_{i=0}^nS(n,i)(-1)^i\sum\limits_{j=0}^is(i,j)(-x)^j\\ =\sum\limits_{j=0}^nx^j\sum\limits_{i=j}^nS(n,i)s(i,j)(-1)^{i-j}\\ \]

比較兩邊系數你就可以得到:

\[\sum\limits_{i=m}^nS(n,i)s(i,m)(-1)^{i-m}=[n=m] \]

注意這里 \(-1\) 的系數也可以是 \(n-i\),容易發現當 \(n-m=0\) 時這兩個數奇偶性相同,當奇偶性不同的時候這兩個數絕對不相等,也就是說是 \(0\),這並不影響我們這個式子的恆等。

用同樣的方法,我們可以得到另一個反轉公式:

\[\sum\limits_{i=m}^ns(n,i)S(i,m)(-1)^{i-m}=[n=m] \]

現在我們來證明斯特林反演。

\[g(n)=\sum\limits_{i=0}^n[i=n]g(i)\\ =\sum\limits_{i=0}^ng(i)\sum\limits_{j=i}^n s(n,j)S(j,i)(-1)^{n-j}\\ =\sum\limits_{j=0}^ns(n,j)(-1)^{n-j}\sum\limits_{i=0}^jS(j,i)g(i)\\ =\sum\limits_{j=0}^ns(n,j)(-1)^{n-j}f(j) \]

同理,從右往左也可以證明,於是原式得證。

和二項式反演一樣,這個式子也有許多變式。由反轉公式對稱性可以知道,我們交換等號兩邊的斯特林數仍然成立。我們讓和式從 \(n\) 開始枚舉,枚舉的量變成第一個數,式子仍然成立。只需要注意證明的時候不用 \(n-j\) 而是用 \(j-m\)。這里不再贅述其他的幾種斯特林反演。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM