組み合わせと母関数
M.m. さんの日記に触発されて少し調べた。人の日記のコメントで議論を続けるのはやめて、自分の日記にまとめておこう。
普通は関数をべき級数展開してその係数として数列が現れるが、逆に数列が与えられたときにそれをべき級数の係数に持つような関数を考える。それを数列の母関数という。
有名なものをいくつか。
- 組み合わせ
- ベルヌイ数
ただし や をベルヌイ数とする流儀もあるみたい。
- 分割数
これは同じものn個を空でない組に分けるわけ方の総数。この公式はオイラーが見つけたらしい。
- Bell Number
これは異なるn個を空でない組に分けるわけ方の総数。たとえば n = 3 なら、{{a,b,c}},{{a},{b,c}},{{b},{c,a}},{{c},{a,b}},{{a},{b},{c}} の5通り。これの満たす微分方程式は だから、これの n 次の項を比較して、
という漸化式が出る。
M.m. さんが日記で取り上げていた問題は、異なるn個を等号を含めて順序をつけるつけ方の総数。たとえば n = 3 なら、
- a=b=c
- a<b=c b<c=a c<a=b
- a=b<c b=c<a c=a<b
- a<b<c b<c<a c<a<b a<c<b c<b<a b<a<c
の合計13通り。この数を A(n) とすると、A(0) = 1 として、
が成り立つ。
と変形してから両辺の n 次の係数を比較して、
という漸化式を得る。もちろんこの漸化式の方を先に見つけた。