メインコンテンツへスキップ

【月刊組合せ論 Natori】Mahonian statistics【2024 年 10 月号】

·
箱星
著者
箱星
のんびり暮らしたい。
目次

月刊組合せ論 Natori は面白そうな組合せ論のトピックを紹介していく企画です。今回は順列について深掘りしていきます。

Statistics
#

この記事では順列は (1,2,,n)(1,2,\ldots,n) の順列のこととします。順列に対して数を対応させる関数のことを statistics といいます。例えば転倒数

inv(p)=#{(i,j)1i<jn,pi>pj} \mathrm{inv}(p)=\#\{(i,j)\mid 1\le i<j\le n, p_i>p_j\}

は statistics です。直訳すると統計量ですが、別に統計をやっているわけではないので単に「量」と呼ぶこともあります。

転倒数と並ぶくらい重要な量に、major index があります。順列 pp の降下点集合を Des(p)={ipi>pi+1}\mathrm{Des}(p)=\{i\mid p_i>p_{i+1}\} とするとき、major index は降下点の和、すなわち

maj(p)=iDes(p)i \mathrm{maj}(p)=\sum_{i\in \mathrm{Des}(p)}i

により定まります。例えば p=31425p=31425 のとき Des(p)={1,3}\mathrm{Des}(p)=\{1,3\} なので major index は 1+3=41+3=4 です。

転倒数と major index の間には次のような驚くべき関係があります。

定理: inv と maj は同分布である。すなわち、任意の kk に対して転倒数が kk である順列の個数と major index が kk である順列の個数は等しい。

inv や maj と同分布である量は Mahonian statistics と呼ばれます。

転倒数
#

転倒数が kk に等しい長さ nn の順列の個数 b(n,k)b(n,k) については 2024 年 2 月号の Natori に書きました。

【月刊組合せ論 Natori】転倒数が k である順列の個数【2024 年 2 月号】

ここでは簡単に復習します。b(n,k)b(n,k) の母関数を

fn(z)=k=0n(n1)/2b(n,k)zk=pSnzinv(p) f_n(z)=\sum_{k=0}^{n(n-1)/2} b(n,k)z^k=\sum_{p\in S_n}z^{\mathrm{inv}(p)}

としたとき

fn+1(z)=(1+z++zn)fn(z) f_{n+1}(z)=(1+z+\cdots+z^n)f_n(z)

という式が成り立つので

fn(z)=(1+z)(1+z+z2)(1+z++zn1) f_n(z)=(1+z)(1+z+z^2)\cdots (1+z+\cdots+z^{n-1})

となります。

major index
#

inv と maj が同分布であることを示すためには、母関数が同じであることを示せばよいです。

gn(z)=pSnzmaj(p) g_n(z)=\sum_{p\in S_n}z^{\mathrm{maj}(p)}

とおきます。転倒数の場合と同様、長さ nn の順列 ppn+1n+1 を挿入することで長さ n+1n+1 の順列 pp^{\prime} が作れることに着目します。Des(p)={i1,,ik}\mathrm{Des}(p)=\{i_1,\ldots,i_k\} とします。

pp^{\prime} における n+1n+1 の位置を jj とします。j=n+1j=n+1 のとき、すなわち末尾に n+1n+1 を挿入するとき maj(p)=maj(p)\mathrm{maj}(p^{\prime})=\mathrm{maj}(p) です。以下では jn+1j\ne n+1 とします。このとき必ず jDes(p)j\in \mathrm{Des}(p^{\prime}) となります。

ある mm について j=im+1j=i_m+1 のとき、imi_mpp^{\prime} の降下点ではありません。im+1i_{m+1} 以降は n+1n+1 を挿入した影響で 1 ずつ右にずれます。よって

maj(p)=i1++im1+j+(im+1+1)++(ik+1)=maj(p)+km+1 \begin{align*} \mathrm{maj}(p^{\prime})&=i_1+\cdots+i_{m-1}+j+(i_{m+1}+1)+\cdots+(i_k+1) \\ &=\mathrm{maj}(p)+k-m+1 \end{align*}

となります。1mk1\le m\le k なので、この値は maj(p)+1\mathrm{maj}(p)+1 以上 maj(p)+k\mathrm{maj}(p)+k 以下です。

次に、im+1<j<im+1i_m+1<j<i_{m+1} と仮定します (ただし i0=i_0=-\infty とします)。このとき

maj(p)=i1++im+j+(im+1+1)++(ik+1)=maj(p)+j+km+1 \begin{align*} \mathrm{maj}(p^{\prime})&=i_1+\cdots+i_m+j+(i_{m+1}+1)+\cdots+(i_k+1) \\ &=\mathrm{maj}(p)+j+k-m+1 \end{align*}

となります。この値は maj(p)+k+1\mathrm{maj}(p)+k+1 以上 maj(p)+n1\mathrm{maj}(p)+n-1 以下です。

さらに、挿入位置が異なれば major index の値も異なります (細かい部分は各自で確かめてみましょう)。以上より、maj(p)\mathrm{maj}(p^{\prime}) の値は maj(p)\mathrm{maj}(p) 以上 maj(p)+n1\mathrm{maj}(p)+n-1 以下の各整数値をとります。よって

gn+1(z)=(1+z++zn)gn(z) g_{n+1}(z)=(1+z+\cdots+z^n)g_n(z)

となります。ここから gn(z)=fn(z)g_n(z)=f_n(z) が従います。したがって、inv と maj は同分布です。

別の証明方法として、Foata の全単射と呼ばれるものがあります。これは全単射 ϕ ⁣:SnSn\phi\colon S_n\to S_n であって inv(p)=maj(ϕ(p))\mathrm{inv}(p)=\mathrm{maj}(\phi(p)) をみたすものです。

一般の数列
#

順列の場合を考えましたが、1 が a1a_1 個、…、kkaka_k 個からなる数列の集合 SS 上においても inv と maj は同分布です。母関数は qq 多項係数になります。

pSqinv(p)=pSqmaj(p)=(na1,a2,,ak)q \sum_{p\in S}q^{\mathrm{inv}(p)}=\sum_{p\in S}q^{\mathrm{maj}(p)}=\binom{n}{a_1,a_2,\ldots,a_k}_q

特に数が 2 種類の場合は母関数が qq 二項係数になります。

その他の Mahonian statistics
#

inv と maj 以外の Mahonian statistics はどのようなものがあるでしょうか。次のような量を考えます。

  • v=n,n1,,1v=n,n-1,\ldots,1 の順に次を行う。pi=vp_i=v となる ii をとり、pip_ipvp_v を入れ替える。コストは iv|i-v| である。

コストの総和を sor(p)\mathrm{sor}(p) とおきます。例えば、p=315462p=315462 のとき

  • 6, 2 を入れ替え、p=315426p=315426 にする。コストは 1
  • 5, 2 を入れ替え、p=312456p=312456 にする。コストは 2
  • 4 はそのまま。コストは 0
  • 3, 2 を入れ替え、p=213456p=213456 にする。コストは 2
  • 2, 1 を入れ替え、p=123456p=123456 にする。コストは 1

なので、sor(p)=1+2+2+1=6\mathrm{sor}(p)=1+2+2+1=6 です。この sor\mathrm{sor} も Mahonian statistics です。

他にもたくさんあります。

  • Kitaev, Sergey. Patterns in Permutations and Words. Springer (2011).

の 3.3 を見ると、色々な Mahonian statistics が載っています。

おわりに
#

Mahonian statistics を紹介しました。順列の世界はまだまだ奥が深いので、今後も紹介していきたいです。

参考文献
#

  • Bóna, Miklós. Combinatorics of permutations. 3rd ed.