Catalan数

同義語:Catalan 数カタラン数Catalan number

概要

Catalan数(Catalan number)とは、$C_n=\frac{1}{n+1}\binom{2n}{n}$ で与えられる数列 $1,1,2,5,14,42,132,\dots$($n=0,1,2,\dots$)のことである。$+1$ と $-1$ を $n$ 個ずつ並べて途中の和が負にならない列(Dyck 列)の個数として定義され、$n$ 組の括弧の正しい並べ方、頂点が $n$ 個の二分木、凸 $(n+2)$ 角形の三角形分割なども同じ個数だけある。最初に和が $0$ に戻る位置で分けると漸化式 $C_{n+1}=\sum_{i=0}^nC_iC_{n-i}$ が得られ、閉じた式は列を巡回的にずらす巡回補題からも導ける。$C_n$ はおよそ $4^n/(\sqrt{\pi}\,n^{3/2})$ の大きさである。Bell 数は最初の 4 項が一致するが 5 項目で異なる。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 二項係数, 全単射, 数学的帰納法, 数え上げ組合せ論
3 組の括弧「( )」を、開き括弧と閉じ括弧が正しく対応するように並べる方法は
$$((())),\quad (()()),\quad (())(),\quad ()(()),\quad ()()()$$
の 5 通りである。正五角形に、互いに交わらない対角線を 2 本引いて 3 つの三角形に分ける方法も 5 通りある(1 つの頂点から 2 本の対角線を出す分け方が、頂点の選び方で 5 通り)。一見無関係なこの二つの数え上げの答えが一致するのは偶然ではない。括弧が $n$ 組のとき、あるいは $(n+2)$ 角形を三角形に分けるとき、答えはどちらも
$$C_n=\frac{1}{n+1}\binom{2n}{n}$$
であり、$n=0,1,2,\dots$ に対して
$$1,\ 1,\ 2,\ 5,\ 14,\ 42,\ 132,\ 429,\ 1430,\ 4862,\ 16796,\ \dots$$
と続く。この数列を Catalan 数 という。Catalan 数は、ほかにも山と谷の並び(山脈の形)、二分木、投票の途中経過など、非常に多くのものを数える(Sta15 には 200 を超える例が集められている)。本記事では、Catalan 数を $\pm1$ の列で定義し、閉じた式を巡回補題による証明で導き、漸化式・大きさの評価と、二分木や多角形の三角形分割との対応を証明する。

定義

Dyck 列と Catalan 数

$n\ge0$ とする。$+1$ と $-1$ をちょうど $n$ 個ずつ並べた長さ $2n$ の列 $(s_1,\dots,s_{2n})$ で、途中までの和(部分和)がすべて $0$ 以上、すなわち
$$s_1+s_2+\cdots+s_k\ge0\qquad(k=1,2,\dots,2n)$$
を満たすものを、長さ $2n$ の Dyck 列 という。長さ $2n$ の Dyck 列の個数を $C_n$ と書き、Catalan 数(Catalan number)という。$n=0$ では空の列だけが Dyck 列なので $C_0=1$ である。

$+1$ を「開き括弧」、$-1$ を「閉じ括弧」と読むと、部分和が $0$ 以上という条件は「どの位置までを見ても、閉じ括弧が開き括弧より多くない」ということであり、全体の和が $0$ であることとあわせて、Dyck 列は正しく対応のとれた $n$ 組の括弧の並びと同じものである。また $+1$ を右上への一歩、$-1$ を右下への一歩と読むと、Dyck 列は $(0,0)$ から $(2n,0)$ まで、横軸より下に行かずに進む折れ線(Dyck 路、山脈の形)になる。
数え上げ組合せ論 の記事の定義「Dyck 路と Catalan 数」は、平面の格子点を $(0,0)$ から $(n,n)$ まで右 $(1,0)$ か上 $(0,1)$ の一歩ずつ進み、対角線 $y=x$ より上に出ない経路の個数として $C_n$ を定めている。右への一歩を $+1$、上への一歩を $-1$ に読みかえると、途中の点 $(x,y)$ で $y\le x$ であることは部分和 $x-y$ が $0$ 以上であることと同じなので、この読みかえは二つの定義の間の全単射であり、同じ数を定める。

Catalan 数の閉じた式

$n\ge0$ に対し
$$C_n=\frac{1}{n+1}\binom{2n}{n}=\frac{(2n)!}{n!\,(n+1)!}.$$

証明について

数え上げ組合せ論 の記事の定理「Catalan数の閉じた式」は、対角線を越える経路を折り返す方法(鏡像の原理)で $C_n=\binom{2n}{n}-\binom{2n}{n+1}$ を示している(KT17 §2.5 例 2.28、PDF p. 51–52 も同じ方法)。本記事では別の筋として、列を巡回的にずらす巡回補題(lem-catalan-numbers-cycle)による証明を cor-catalan-numbers-formula-proof で与える。

直感

$+1$ と $-1$ を $n$ 個ずつ並べる方法は全部で $\binom{2n}{n}$ 通りあり、Dyck 列はそのうち「途中で一度も負にならない」ものである。閉じた式は、その割合がちょうど $1/(n+1)$ であることを述べている。この割合は、列を巡回的にずらすことで説明できる。$+1$ を $n$ 個、$-1$ を $n+1$ 個並べた長さ $2n+1$ の列を円周上に並べると、$2n+1$ 通りの読み始めの位置のうち、「最後の 1 歩の直前まで一度も負にならない」読み方がちょうど 1 つある(lem-catalan-numbers-cycle)。そのような読み方は Dyck 列の後ろに $-1$ を付けたものなので、Dyck 列の個数は $\binom{2n+1}{n}$ の $1/(2n+1)$ になり、これを整理すると $\frac{1}{n+1}\binom{2n}{n}$ になる。
多くのものが Catalan 数で数えられる理由は、「最初のまとまりと残り」に分ける分解にある。Dyck 列は、最初に部分和が $0$ に戻るところで二つに分かれ、その結果 $C_{n+1}=\sum_{i=0}^nC_iC_{n-i}$ という漸化式を満たす(prop-catalan-numbers-recurrence)。同じ形の分解をもつもの(二分木、多角形の三角形分割など)は、同じ漸化式と同じ初期値をもつので、同じ数で数えられる。

例と反例

小さい場合
  1. $n=1$:Dyck 列は $(+1,-1)$ だけで $C_1=1$。括弧では「()」。
  2. $n=2$:$(+1,+1,-1,-1)$ と $(+1,-1,+1,-1)$ の 2 個で $C_2=2$。括弧では「(())」「()()」。
  3. $n=3$:冒頭の 5 通りで $C_3=5$ であり、閉じた式 $\frac14\binom63=\frac{20}{4}=5$ と一致する。
  4. $n=4$ では $\frac15\binom84=\frac{70}{5}=14$、$n=10$ では $\frac1{11}\binom{20}{10}=\frac{184756}{11}=16796$ である。
反例:部分和の条件を外すと数が変わる

$+1$ と $-1$ を $n$ 個ずつ並べる列は、部分和の条件がなければ $\binom{2n}{n}$ 個ある。$n=2$ では $\binom42=6$ 個で、そのうち Dyck 列は 2 個だけである。残りの $(-1,+1,+1,-1)$、$(-1,+1,-1,+1)$、$(-1,-1,+1,+1)$、$(+1,-1,-1,+1)$ は、それぞれ途中の部分和が $-1$ になる(括弧でいえば、対応する開き括弧のない閉じ括弧が現れる)。満たす性質は「$+1$ と $-1$ が同数」、満たさない性質は「部分和がすべて $0$ 以上」であり、破れる含意は「$+1$ と $-1$ を $n$ 個ずつ並べた列の個数は $C_n$ である」である。

反例:最初の数項の一致から数列は決まらない

$n$ 元集合の分割の個数である Bell 数(Bell数。数え上げ組合せ論 の記事の定義「第2種Stirling数とBell数」)は $B_0,B_1,\dots=1,1,2,5,15,52,\dots$ であり、最初の 4 項 $1,1,2,5$ が Catalan 数と一致するが、$B_4=15\neq14=C_4$ である。したがって「最初の 4 項が $1,1,2,5$ なら Catalan 数である」という推測は誤りである。ある数え上げの答えが Catalan 数であることは、小さい場合の一致ではなく、漸化式や全単射によって証明する必要がある。

性質

漸化式

最初の復帰による漸化式

$n\ge0$ に対し
$$C_{n+1}=\sum_{i=0}^{n}C_iC_{n-i}.$$

長さ $2(n+1)$ の Dyck 列 $s=(s_1,\dots,s_{2n+2})$ をとる。部分和 $s_1+\cdots+s_k$ が $0$ になる最小の $k\ge1$ を $k_0$ とする($k=2n+2$ で和は $0$ なので $k_0$ は存在する)。部分和は $1$ ずつ変わるので $k_0$ は偶数で、$k_0=2i+2$($0\le i\le n$)と書ける。$s_1=+1$ である($s_1=-1$ なら最初の部分和が負になる)。$s_{k_0}=-1$ である(直前の部分和が正で、$k_0$ 番目で $0$ になるので)。$s_2,\dots,s_{k_0-1}$ の部分和はどれも $s_1$ までの部分和 $1$ を引くと $0$ 以上であり($k_0$ より前で部分和は $1$ 以上)、合計は $0$ なので、$\alpha:=(s_2,\dots,s_{2i+1})$ は長さ $2i$ の Dyck 列である。また $\beta:=(s_{2i+3},\dots,s_{2n+2})$ は、部分和 $0$ の位置から始まる残りの部分なので、長さ $2(n-i)$ の Dyck 列である。
逆に、$0\le i\le n$ と、長さ $2i$ の Dyck 列 $\alpha$ と長さ $2(n-i)$ の Dyck 列 $\beta$ から、列
$$(+1,\ \alpha,\ -1,\ \beta)$$
を作ると、これは長さ $2n+2$ の Dyck 列で、部分和が最初に $0$ になる位置は $2i+2$ である($\alpha$ の部分でも部分和は $1$ 以上)。二つの対応は互いに逆であり、最初の復帰位置 $2i+2$ ごとに Dyck 列は $C_iC_{n-i}$ 個ある。$i$ について足し合わせて主張を得る。$\square$

括弧でいえば、最初の開き括弧に対応する閉じ括弧を見つけ、その内側($\alpha$)と外側の残り($\beta$)に分けることにあたる。数え上げ組合せ論 の記事の命題「Catalan数の漸化式」は、同じ分解を格子の経路で述べたものである。漸化式から $C_1=1$、$C_2=2$、$C_3=2+1+2=5$、$C_4=5+2+2+5=14$、$C_5=14+5+4+5+14=42$ と順に計算できる。

閉じた式の証明

$+1$ を $n$ 個、$-1$ を $n+1$ 個並べた長さ $2n+1$ の列 $s=(s_1,\dots,s_{2n+1})$ を考える。$0\le r\le2n$ に対し、$s$ を $r$ 個ずらした列を
$$s^{(r)}:=(s_{r+1},s_{r+2},\dots,s_{2n+1},s_1,\dots,s_r)$$
とする($s^{(0)}=s$)。長さ $2n+1$ の列 $t$ で、最初の $2n$ 項までの部分和がすべて $0$ 以上のものを よい列 という。よい列の成分の総和は $-1$ なので、よい列の最後の項は $-1$ であり(最初の $2n$ 項の和は $0$ 以上で、それに $t_{2n+1}=\pm1$ を足して $-1$ になるので)、最初の $2n$ 項の和は $0$ である。したがって、よい列 $t$ と Dyck 列 $(t_1,\dots,t_{2n})$ は 1 対 1 に対応し、よい列はちょうど $C_n$ 個ある。

巡回補題

$+1$ を $n$ 個、$-1$ を $n+1$ 個並べた長さ $2n+1$ の任意の列 $s$ について、$s^{(r)}$ がよい列となる $r\in\{0,1,\dots,2n\}$ はちょうど 1 つある。

$S_0:=0$、$S_k:=s_1+\cdots+s_k$($1\le k\le2n+1$)とおく。$S_{2n+1}=-1$ である。さらに $k>2n+1$ に対しても、$s$ を周期 $2n+1$ で延長して $s_{k}:=s_{k-(2n+1)}$ とし、同じ式で $S_k$ を定める。1 周期の和は $-1$ なので、$0\le k'\le2n$ に対し $S_{k'+2n+1}=S_{k'}-1$ である。$s^{(r)}$ の最初の $j$ 項の和は $S_{r+j}-S_r$ なので、
$$s^{(r)}\text{ がよい列}\iff r< k\le r+2n\text{ を満たすすべての }k\text{ で }S_k\ge S_r$$
である。
$m:=\min\{S_0,S_1,\dots,S_{2n}\}$ とし、$S_r=m$ となる最小の $r\in\{0,\dots,2n\}$ をとる。この $r$ で $s^{(r)}$ がよい列であることを示す。$r< k\le2n$ なら $S_k\ge m=S_r$ である。$2n< k\le r+2n$ なら $k=k'+2n+1$($0\le k'< r$)と書け、$r$ の最小性から $S_{k'}>m$、すなわち $S_{k'}\ge m+1$ なので、$S_k=S_{k'}-1\ge m=S_r$ である。
逆に $s^{(r)}$ がよい列であるとする。$r< k\le2n$ なら $S_k\ge S_r$ である。$0\le k'< r$ なら $k=k'+2n+1$ は $r< k\le r+2n$ を満たすので $S_{k'}-1=S_k\ge S_r$、すなわち $S_{k'}>S_r$ である。よって $S_r$ は $S_0,\dots,S_{2n}$ の最小値 $m$ であり、$r$ はそれを達成する最小の添字である。したがって条件を満たす $r$ はただ 1 つである。$\square$

閉じた式の証明

thm-catalan-numbers-formula が成り立つ。

$+1$ を $n$ 個、$-1$ を $n+1$ 個並べた列の全体を $W$ とする。$W$ の列は $+1$ の位置 $n$ 個を $2n+1$ 個の位置から選べば決まるので、$|W|=\binom{2n+1}{n}$ である。組 $(s,r)$($s\in W$、$0\le r\le2n$)で $s^{(r)}$ がよい列となるものの集合 $Z$ の元の個数を 2 通りに数える。
lem-catalan-numbers-cycle により、各 $s\in W$ についてそのような $r$ はちょうど 1 つなので、$|Z|=|W|=\binom{2n+1}{n}$ である。一方、写像 $(s,r)\mapsto(s^{(r)},r)$ は、$Z$ から「よい列 $t$ と $r\in\{0,\dots,2n\}$ の組」全体への全単射である($t$ と $r$ から、$t$ を逆向きに $r$ 個ずらして $s$ が一意に復元され、$s\in W$ である)。よい列は $C_n$ 個あるので $|Z|=(2n+1)C_n$ である。したがって
$$C_n=\frac{1}{2n+1}\binom{2n+1}{n}=\frac{(2n+1)!}{(2n+1)\,n!\,(n+1)!}=\frac{(2n)!}{n!\,(n+1)!}=\frac{1}{n+1}\binom{2n}{n}$$
である。$\square$

たとえば $n=1$ で $s=(-1,+1,-1)$ とすると、部分和は $S_0,S_1,S_2=0,-1,0$ で、最小値 $-1$ を最初にとるのは $r=1$ である。実際 $s^{(1)}=(+1,-1,-1)$ はよい列で、$s^{(0)}=(-1,+1,-1)$ と $s^{(2)}=(-1,-1,+1)$ はよい列でない。巡回補題は Dvoretzky と Motzkin による(DM47)。別の証明として、$\pm1$ を $n$ 個ずつ並べたすべての列を「最後に最小値をとる位置より後にある $+1$ の個数」で $n+1$ 個の組に分け、どの組も Dyck 列と同じ個数であることを示す方法もある(Bog §1.3.1 の問題 52、PDF p. 39)。

隣り合う項の比

$n\ge0$ に対し
$$C_{n+1}=\frac{2(2n+1)}{n+2}\,C_n.$$

thm-catalan-numbers-formula により
$$\frac{C_{n+1}}{C_n}=\frac{(2n+2)!}{(n+1)!\,(n+2)!}\cdot\frac{n!\,(n+1)!}{(2n)!}=\frac{(2n+2)(2n+1)}{(n+1)(n+2)}=\frac{2(2n+1)}{n+2}$$
である。$\square$

この式から、$C_{n+1}/C_n$ は $n$ とともに増えて $4$ に近づく。たとえば $C_{10}=\frac{2\cdot19}{11}C_9=\frac{38}{11}\cdot4862=16796$ である。

大きさの評価

Catalan 数の上下からの評価

$n\ge0$ に対し
$$\frac{4^n}{(n+1)(2n+1)}\le C_n\le\frac{4^n}{n+1}.$$

$0\le k<2n$ について $\binom{2n}{k+1}\Big/\binom{2n}{k}=\frac{2n-k}{k+1}$ であり、これは $k\le n-1$ のとき $1$ より大きく、$k\ge n$ のとき $1$ より小さい。したがって $\binom{2n}{k}$($0\le k\le2n$)の中で最大のものは $\binom{2n}{n}$ である。二項定理により $\sum_{k=0}^{2n}\binom{2n}{k}=2^{2n}=4^n$ であり、この和は $2n+1$ 個の項からなるので
$$\frac{4^n}{2n+1}\le\binom{2n}{n}\le4^n$$
である。thm-catalan-numbers-formula の式 $C_n=\binom{2n}{n}/(n+1)$ に代入して主張を得る。$\square$

たとえば $n=10$ では、下界は $4^{10}/231=4539.2\ldots$、上界は $4^{10}/11=95325.0\ldots$ で、$C_{10}=16796$ はその間にある。$C_n$ はおおよそ $4^n$ の速さで増え、その補正は多項式程度である。より精密には、Stirlingの公式 $n!\sim\sqrt{2\pi n}\,(n/e)^n$ を $(2n)!$ と $n!$ に用いると $\binom{2n}{n}\sim4^n/\sqrt{\pi n}$ となり、
$$C_n\sim\frac{4^n}{\sqrt{\pi}\,n^{3/2}}\qquad(n\to\infty)$$
が得られる($\sim$ は比が $1$ に近づくことを表す)。$n=10$ で右辺は約 $18708$ で、比 $C_{10}/18708\approx0.898$、$n=100$ では比は約 $0.989$ である。

母関数

数え上げ組合せ論 の記事の例「二項係数・Fibonacci 数・Catalan 数の母関数」で見たとおり、prop-catalan-numbers-recurrence により、母関数 $C(t)=\sum_{n\ge0}C_nt^n$ は形式的冪級数として $C(t)=1+t\,C(t)^2$ を満たす。

母関数の閉じた形

2 次方程式 $tC^2-C+1=0$ を解き、定数項が $1$ になる方を選ぶと
$$C(t)=\frac{1-\sqrt{1-4t}}{2t}$$
であり、$\sqrt{1-4t}=(1-4t)^{1/2}$ を一般の二項展開で展開して係数を比べると、再び $C_n=\frac1{n+1}\binom{2n}{n}$ が得られる。この計算は KT17 §9.7 の定理 9.28(PDF p. 231。そこでは葉が $n$ 個の二分木の個数として $C_{n-1}$ が現れ、添字が 1 つずれている)と、Bog §4.3.5 の問題 224(PDF p. 106)にある。

いろいろな解釈

Catalan 数で数えられるものが同じ個数であることは、prop-catalan-numbers-recurrence と同じ形の漸化式を示し、数学的帰納法で一致を結論することで証明できる。

左右を区別する二分木

二分木(binary tree)を次のように帰納的に定める。空の木($\epsilon$ と書く)は二分木であり、その頂点の個数は $0$ である。二分木 $L,R$ に対し、新しい頂点(根)$v$ と組 $(v,L,R)$ は二分木であり、$L$ をその左部分木、$R$ を右部分木といい、頂点の個数は $1+(L\text{ の頂点の個数})+(R\text{ の頂点の個数})$ とする。左右を区別するので、$(v,L,\epsilon)$ と $(v,\epsilon,L)$ は $L\ne\epsilon$ なら異なる二分木である。

二分木の個数

$n\ge0$ に対し、頂点が $n$ 個の二分木の個数は $C_n$ である。

頂点が $n$ 個の二分木の個数を $b_n$ とする。$b_0=1$(空の木だけ)である。頂点が $n+1$ 個の二分木は、左部分木の頂点の個数 $i$($0\le i\le n$)と、頂点が $i$ 個の二分木 $L$、頂点が $n-i$ 個の二分木 $R$ の組で一意に決まり、逆にそのような組から一意に作られる。よって $b_{n+1}=\sum_{i=0}^nb_ib_{n-i}$ である。$b_0=C_0$ であり、$b_0,\dots,b_n$ がそれぞれ $C_0,\dots,C_n$ に等しいと仮定すると、prop-catalan-numbers-recurrence により $b_{n+1}=\sum_{i=0}^nC_iC_{n-i}=C_{n+1}$ である。数学的帰納法により、すべての $n$ で $b_n=C_n$ である。$\square$

証明の分解をたどると、具体的な全単射も得られる。二分木 $(v,L,R)$ に括弧の並び「$($ $L$ に対応する並び $)$ $R$ に対応する並び」を対応させ、空の木には空の並びを対応させればよい。これは prf-catalan-numbers-recurrence の分解 $(+1,\alpha,-1,\beta)$ そのものである。

凸多角形の三角形分割

$n\ge1$ とする。凸 $(n+2)$ 角形を、互いに内部で交わらない対角線で三角形に分ける方法の個数は $C_n$ である。

$m\ge3$ に対し、頂点が $v_1,\dots,v_m$ の順に並ぶ凸 $m$ 角形の三角形分割の個数を $t_m$ とし、便宜上 $t_2:=1$ とおく(辺 1 本を「分割する方法」は何もしない 1 通り)。$t_3=1$ である。$m\ge3$ の三角形分割では、辺 $v_1v_m$ はちょうど 1 つの三角形に含まれ、その三つ目の頂点を $v_k$($2\le k\le m-1$)とする。三角形 $v_1v_kv_m$ を除くと、多角形は $v_1,\dots,v_k$ の $k$ 角形と $v_k,\dots,v_m$ の $(m-k+1)$ 角形に分かれ($k=2$ や $k=m-1$ ではその側は辺 1 本だけ)、元の三角形分割は両側の三角形分割の組を与える。逆に、$k$ と両側の三角形分割の組から、三角形 $v_1v_kv_m$ を加えて $m$ 角形の三角形分割がちょうど 1 つ得られる。したがって
$$t_m=\sum_{k=2}^{m-1}t_k\,t_{m-k+1}\qquad(m\ge3)$$
である。$T_n:=t_{n+2}$($n\ge0$)とおくと、$T_0=1$ であり、$m=n+2$、$i=k-2$ として $T_n=\sum_{i=0}^{n-1}T_iT_{n-1-i}$($n\ge1$)となる。これは prop-catalan-numbers-recurrence と同じ漸化式であり、初期値も $T_0=C_0=1$ なので、prf-catalan-numbers-binary-trees と同じ帰納法ですべての $n$ で $T_n=C_n$ である。$\square$

正方形($n=2$)の三角形分割は対角線 2 本のどちらを引くかで 2 通り、正五角形($n=3$)では冒頭のとおり 5 通り、正六角形($n=4$)では 14 通りである。

ほかの解釈と歴史

$n+1$ 個の文字の積 $x_0x_1\cdots x_n$ に括弧を付けて 2 個ずつの積の順序を指定する方法(たとえば $n=2$ で $(x_0x_1)x_2$ と $x_0(x_1x_2)$)、$1,2,\dots,n$ の並べ替えで $3$ 項の部分列の特定の型を含まないもの、円周上の $2n$ 点を交わらない $n$ 本の弦で結ぶ方法なども $C_n$ 個ある。これらと Dyck 列の対応、および 200 を超える解釈の一覧は Sta15 にある。三角形分割の数え上げは 18 世紀の Euler にさかのぼり、数の名は 19 世紀にこの数を研究した E. Catalan に由来する。歴史も Sta15 に詳しい。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する