集合A={1,2,・・・,m}から集合B={1,2,・・・,n}(m、nは自然数)への関数Fが単
調非減少関数とは、1≦k≦m−1を満たすすべての自然数kに対して、F(k)≦F(k+1)
が成り立つときをいう。
例 F(x)=x が単調非減少関数であることは自明だろう。
この単調非減少関数の個数は、通常、重複組合せの定番の問題として、
nHm=n+m−1Cm (異なるn個のものから重複を許してm個とる組合せ)
で求められることはよく知られていることと思う。
最近、この問いに対して、次のような考え方もあることを知った。
集合A={1,2,・・・,m}から集合C={1,2,・・・,m+n−1}(m、nは自然数)への関
数Gを、
G(k)=F(k)+k−1 (各kに対するF(k)の値に下駄を履かせる!)
と定義すると、F(x)が単調非減少関数であれば、G(x)は単調増加関数となり、逆もまた真
となる。
実際に、G(x)が単調増加関数とすると、1≦k≦m−1を満たすすべての自然数kに対し
て、
G(k)<G(k+1) すなわち、 F(k)+k−1<F(k+1)+k より、
F(k)<F(k+1)+1 すなわち、 F(k)≦F(k+1) となり、
F(x)は単調非減少関数となる。
よって、求める個数は、集合A={1,2,・・・,m}から集合C={1,2,・・・,m+n−1}
への単調増加関数の個数に等しく、その個数は、
n+m−1Cm(個)
となる。(通常の組合せの計算となる!)
この個数計算は、次のように漸化式を作って求めることも可能である。(若干煩雑かな?)
単調増加となる関数G:A={1,2,・・・,m}→C={1,2,・・・,m+n−1}の個数を、
a1(m,m+n−1)
とおく。 m=1のとき、 a1(1,n)=n である。
m≧2 とし、G(m)=p であるとすると、G(1)<G(2)<・・・<G(m−1)は、
1<2<・・・<p−1
に値を取るので、数学的帰納法により、
a1(m,m+n−1)=Σp=mm+n−1a1(m−1,p−1)=Σp=mm+n−1p−1Cm−1
=m−1Cm−1+mCm−1+・・・+m+n−2Cm−1=n+m−1Cm
上記の計算では、「2項係数の性質」の(11)の公式が用いられている。
nCn+n+1Cn+n+2Cn+・・・+n+mCn=n+m+1Cn+1