数え上げ組合せ論

同義語:enumerative combinatorics

概要

数え上げ組合せ論(enumerative combinatorics)とは、与えられた条件を満たす有限個の対象の個数を、閉じた式・漸化式・母関数・漸近評価・全単射の構成などによって求める組合せ論の分野である。和の法則・積の法則・包含と除去の原理・鳩の巣原理が基本原理であり、$k$ 元部分集合を数える二項係数 $\binom{n}{k}$、集合の分割を数える第2種 Stirling 数 $S(n,k)$、対角線を越えない格子路を数える Catalan 数 $C_n=\frac{1}{n+1}\binom{2n}{n}$ が代表的な数である。集合の構成を形式的冪級数の演算に写す母関数、包除を一般の局所有限な半順序集合へ拡張する Möbius 関数は、数え上げの主要な手法であり、後者は数論的な Möbius 関数と篩の計数式にもつながる。

$$\newcommand{AA}[0]{\mathscr{A}} \newcommand{abs}[1]{\left\lvert#1\right\rvert} \newcommand{Arg}[0]{\operatorname{Arg}} \newcommand{BB}[0]{\mathscr{B}} \newcommand{C}[0]{\mathbb{C}} \newcommand{CC}[0]{\mathscr{C}} \newcommand{floor}[1]{\left\lfloor#1\right\rfloor} \newcommand{ind}[0]{\mathrm{ind}} \newcommand{mmod}[1]{\ \left(\mathrm{mod}\ #1\right)} \newcommand{Mod}[1]{\ \left(\mathrm{mod}\ #1\right)} \newcommand{N}[0]{\mathbb{N}} \newcommand{ord}[0]{\mathrm{ord}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{rank}[0]{\mathrm{rank}} \newcommand{SS}[0]{\mathscr{S}} \newcommand{TT}[0]{\mathscr{T}} \newcommand{UU}[0]{\mathscr{U}} \newcommand{wenvert}[1]{\left\lvert\left\lvert#1\right\rvert\right\rvert} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 有限集合, 写像, 全単射, 二項係数, 半順序集合

概要

数え上げ組合せ論(enumerative combinatorics)は、与えられた条件を満たす有限個の対象の個数を求める組合せ論の分野である。典型的な問いは「$n$ 元集合の部分集合は何個か」「$n$ 個の文字の並べ方は何通りか」「$n$ 元集合を空でないブロックに分ける方法は何通りか」のように、自然数 $n$(あるいは複数のパラメータ)ごとに定まる有限集合 $X_n$ の要素数 $a_n=|X_n|$ を求めることである。答えの与え方には、閉じた式($2^n$、$n!$、$\binom{n}{k}$)、漸化式、母関数、漸近評価、あるいは既知の個数をもつ集合との全単射の構成(全単射的証明)があり、どれを「求めた」とみなすかは問題による(Sta12 §1.1)。
数え上げ組合せ論の対象は有限集合の要素数であり、要素数の定義と基本的性質は有限集合の記事による。すなわち有限集合 $X$ の要素数 $|X|$(濃度)とは、$X$ と $\{1,\dots,n\}$ の間に全単射が存在するような(一意に定まる)自然数 $n$ である。以下では和の法則・積の法則・包含と除去の原理・鳩の巣原理という基本原理、二項係数・Stirling 数・Catalan 数という代表的な数、通常母関数、半順序集合の Möbius 関数による一般化された包除、および篩への応用を扱う。
なお、同じ「数える」問題でも、固定された $n$ 元集合に入る位相の個数や $n$ 以下の素数の個数を決める問題は、対象の構造がまったく異なる。平方数の和を数える場合も、$x_1^2+\cdots+x_k^2=n$ を満たす非負整数の順序付き $k$ 組というように、項数・順序・符号の扱いを指定してはじめて数え上げの問題になる。

基本原理

和の法則と積の法則

$A,B$ を有限集合とする。

  1. (和の法則)$A\cap B=\emptyset$ ならば $|A\cup B|=|A|+|B|$。より一般に、互いに素な有限集合 $A_1,\dots,A_\ell$ に対し $|A_1\cup\cdots\cup A_\ell|=|A_1|+\cdots+|A_\ell|$。
  2. (積の法則)直積集合について $|A\times B|=|A|\,|B|$。より一般に $|A_1\times\cdots\times A_\ell|=|A_1|\cdots|A_\ell|$。
  3. (全単射の原理)$A$ から $B$ への全単射が存在すれば $|A|=|B|$。
  1. $|A|=m$、$|B|=n$ とし、全単射 $\{1,\dots,m\}\to A\to B\to\{1,\dots,n\}$ を合成すれば $\{1,\dots,m\}$ と $\{1,\dots,n\}$ の間の全単射を得るので、要素数の一意性により $m=n$ である。
  2. $|A|=m$、$|B|=n$ とし、全単射 $\varphi\colon\{1,\dots,m\}\to A$、$\psi\colon\{1,\dots,n\}\to B$ をとる。$\{1,\dots,m+n\}\to A\cup B$ を、$i\le m$ なら $\varphi(i)$、$i>m$ なら $\psi(i-m)$ と定めると、$A\cap B=\emptyset$ なのでこれは全単射である。一般の場合は集合の個数 $\ell$ に関する帰納法による。
  3. $|A|=m$、$|B|=n$ とし、$\varphi,\psi$ を上と同じとする。$\{1,\dots,mn\}\to A\times B$ を、$i-1=(q-1)n+(r-1)$($1\le q\le m$、$1\le r\le n$)と整数の除法で一意に表して $i\mapsto(\varphi(q),\psi(r))$ と定めると、除法の一意性により全単射である。$m=0$ または $n=0$ のときは両辺とも $0$ である。一般の場合は集合の個数 $\ell$ に関する帰納法による。$\square$
順列・部分集合・組合せ

$n\ge0$ とし、$[n]:=\{1,\dots,n\}$ と書く。

  1. $[n]$ から $[n]$ への全単射(置換)の個数は $n!$ である。実際、$\sigma(1)$ の選び方は $n$ 通り、$\sigma(1)$ を決めたのち $\sigma(2)$ の選び方は $n-1$ 通り、…と続き、積の法則から $n(n-1)\cdots1=n!$ 通りである($n=0$ では空写像が唯 1 つで $0!=1$ に一致する)。置換全体のなす群は対称群、$n!$ の性質は階乗の記事を参照。同様に、$[n]$ の相異なる $k$ 個の元の順序付き列($k$-順列)の個数は $n(n-1)\cdots(n-k+1)=n!/(n-k)!$ である。
  2. $[n]$ の部分集合の個数は $2^n$ である。実際、部分集合 $S$ をその指示列 $(\mathbf{1}_S(1),\dots,\mathbf{1}_S(n))\in\{0,1\}^n$ に対応させる写像は全単射であり、積の法則から $|\{0,1\}^n|=2^n$ である。
  3. $[n]$ の $k$ 元部分集合の個数は二項係数 $\binom{n}{k}=\dfrac{n!}{k!\,(n-k)!}$ である。証明は二項係数の記事(部分集合による特徴づけ)による。次のように数えてもよい:$k$-順列は $k$ 元部分集合を選んでから並べる方法と 1 対 1 に対応するので、積の法則から $n!/(n-k)!=\binom{n}{k}\cdot k!$ である。
包除の等式

$A$ を有限集合、$A_1,\dots,A_m\subset A$ を部分集合とし、$I\subset[m]$ に対し $A_I:=\bigcap_{i\in I}A_i$($A_\emptyset:=A$)とおく。このとき
$$\Bigl|A\setminus\bigcup_{i=1}^mA_i\Bigr|=\sum_{I\subset[m]}(-1)^{|I|}\,|A_I|.$$
言い換えると、$|A_1\cup\cdots\cup A_m|=\sum_{\emptyset\ne I\subset[m]}(-1)^{|I|-1}|A_I|$ である。

右辺を、各 $x\in A$ の寄与の和として書き直す。$|A_I|=\sum_{x\in A}\mathbf{1}_{A_I}(x)$ なので
$$\sum_{I\subset[m]}(-1)^{|I|}|A_I|=\sum_{x\in A}\sum_{I\subset[m]}(-1)^{|I|}\mathbf{1}_{A_I}(x)=\sum_{x\in A}\sum_{I\subset J(x)}(-1)^{|I|},$$
ここで $J(x):=\{i\in[m]\mid x\in A_i\}$ であり、$x\in A_I$ と $I\subset J(x)$ が同値であることを用いた。$J(x)=\emptyset$ なら内側の和は $1$($I=\emptyset$ の項のみ)である。$J(x)\ne\emptyset$ なら $j_0\in J(x)$ を 1 つ固定し、$I\mapsto I\triangle\{j_0\}$($j_0$ を含めば除き、含まなければ加える)を考えると、これは $J(x)$ の部分集合全体の上の全単射で $|I|$ の偶奇を変えるので、$\sum_{I\subset J(x)}(-1)^{|I|}=0$ である。よって右辺は $J(x)=\emptyset$ となる $x$、すなわちどの $A_i$ にも属さない $x$ の個数に等しい。$\square$

参考書との相互参照

参考書のページ 包含と除去の原理 にも同じ等式の証明がある。

完全順列の個数

$[n]$ の置換 $\sigma$ で不動点をもたない(すべての $i$ で $\sigma(i)\ne i$)ものを完全順列(攪乱順列)という。その個数 $D_n$ は
$$D_n=\sum_{j=0}^{n}(-1)^j\binom{n}{j}(n-j)!=n!\sum_{j=0}^{n}\frac{(-1)^j}{j!}$$
である。実際、$A$ を置換全体、$A_i:=\{\sigma\mid\sigma(i)=i\}$ とすると、$|I|=j$ のとき $A_I$ は $I$ の外の $n-j$ 個の元の置換と 1 対 1 に対応し $|A_I|=(n-j)!$ であるから、thm-enum-inclusion-exclusion と $|I|=j$ の $I$ が $\binom{n}{j}$ 個あることから従う。例えば $D_1=0$、$D_2=1$、$D_3=2$、$D_4=9$ である。

有限被覆の平均下界

$n\ge0$、$m\ge1$ を整数とし、有限集合 $S$ が $|S|\ge n$ と $S=\bigcup_{i=1}^mS_i$ を満たすとする。このとき $|S_k|\ge n/m$ となる $k\in\{1,\dots,m\}$ が存在する。部分集合 $S_i$ は互いに重なっていてもよい。

すべての $i$ で $|S_i|< n/m$ と仮定すると、次の矛盾を得る。
$$n\le|S|\le\sum_{i=1}^m|S_i|< m\cdot\frac{n}{m}=n.$$
ここで $|S|\le\sum|S_i|$ は、$S$ の各元が少なくとも 1 つの $S_i$ に属することによる。$\square$

これは鳩の巣原理の平均下界を被覆に対して書いた形であり、分割の場合にも使える。次の 2 つは、この形の鳩の巣原理の応用である。

Fibonacci 数列の剰余の周期

$F_0=0$、$F_1=1$、$F_{i+2}=F_{i+1}+F_i$ でFibonacci 数列を定める。正整数 $n$ に対し、剰余列 $(F_i\bmod n)_{i\ge0}$ は初めから周期的であり、その最小正周期 $P_n$ は $P_n\le n^2$ を満たす。

$n=1$ では剰余列はすべて $0$ で $P_1=1$ である。$n\ge2$ とし、$v_i=(F_i\bmod n,\ F_{i+1}\bmod n)$ とおく。$v_0,\dots,v_{n^2}$ は $n^2$ 通りの状態の中の $n^2+1$ 個の組なので、thm-enumerative-combinatorics-cover(鳩の巣原理)により $0\le a< b\le n^2$ で $v_a=v_b$ となるものがある。状態遷移 $T(x,y)=(y,x+y)$ は法 $n$ で逆写像 $T^{-1}(u,v)=(v-u,u)$ をもつ。$v_a=v_b$ に逆遷移を $a$ 回施すと $v_0=v_{b-a}$ を得る。そこから同じ遷移を繰り返せば、すべての $i\ge0$ で $v_i=v_{i+b-a}$ となる。従って $b-a$ は剰余列の正周期であり、最小正周期も $b-a\le n^2$ 以下である。$\square$

正 432 角形の同色合同三角形

正 $432$ 角形の頂点を赤・白・青・黄の 4 色に、各色 $108$ 点ずつ塗り分ける。このとき各色の頂点だけからなる非退化な三角形を 1 つずつ選んで、4 個を互いに合同にできる。

頂点を巡回群 $G=\mathbb{Z}/432\mathbb{Z}$ で表し、各色の頂点集合を $V_R,V_W,V_B,V_Y$ とする。$U\subset G$ と $t\in G$ に対し $U[t]=\{u+t\mid u\in U\}$ とおく。任意の $U,W\subset G$ について、各組 $(u,w)\in U\times W$ に $u=w+t$ となる $t$ がただ 1 つ対応するので、次の二重計数が成り立つ。
$$\sum_{t\in G}|U\cap W[t]|=|U|\,|W|.$$
$V_R\cap V_W=\emptyset$ なので、$t\ne0$ の $431$ 個のシフトのどれか $i$ で $r:=|V_R\cap V_W[i]|\ge\lceil108^2/431\rceil=28$ となる(thm-enumerative-combinatorics-cover の考え方)。$U=V_R\cap V_W[i]$ とおくと $U\cap V_B=\emptyset$ なので、同様にある $j\ne0$ で $s:=|U\cap V_B[j]|\ge\lceil r\cdot108/431\rceil\ge8$ となる。$W=U\cap V_B[j]$ とおくと $W\cap V_Y=\emptyset$ なので、ある $k\ne0$ で $|W\cap V_Y[k]|\ge\lceil s\cdot108/431\rceil\ge3$ となる。この最後の共通部分から相異なる 3 点 $z_1,z_2,z_3$ をとる。$z_\ell$ は赤、$z_\ell-i$ は白、$z_\ell-j$ は青、$z_\ell-k$ は黄である($\ell=1,2,3$)。各組の 3 点は円周上で相異なるため非退化であり、各シフトを戻す操作は回転なので 4 個の三角形は互いに合同である。$\square$

代表的な数

二項係数 $\binom{n}{k}$($k$ 元部分集合の個数)の性質は二項係数の記事に譲り、ここでは集合の分割を数える Stirling 数と、格子路を数える Catalan 数を扱う。

第2種Stirling数とBell数

$n,k\ge0$ に対し、$[n]$ を $k$ 個の空でないブロックに分ける集合の分割の個数を第2種 Stirling 数(Stirling number of the second kind)といい $S(n,k)$ で表す。$S(0,0)=1$(空集合の空分割)、$n\ge1$ なら $S(n,0)=0$、$k>n$ なら $S(n,k)=0$ である。$[n]$ の集合分割の総数 $B_n:=\sum_{k=0}^{n}S(n,k)$ を **Bell 数**という。

第2種Stirling数の漸化式

$n\ge0$、$k\ge1$ に対し
$$S(n+1,k)=k\,S(n,k)+S(n,k-1).$$

$[n+1]$ の $k$ ブロックへの分割を、元 $n+1$ の入り方で分ける。$\{n+1\}$ が単独でブロックをなすものは、残り $[n]$ の $k-1$ ブロックへの分割と 1 対 1 に対応し $S(n,k-1)$ 個ある。そうでないものは、$[n]$ の $k$ ブロックへの分割と、$n+1$ を入れるブロックの選択($k$ 通り)の組と 1 対 1 に対応し、積の法則から $k\,S(n,k)$ 個ある。和の法則(prop-enum-sum-product-rule)により主張を得る。$\square$

全射の個数と明示式

$n,k\ge0$ に対し、$[n]$ から $[k]$ への全射の個数は $k!\,S(n,k)$ であり、
$$k!\,S(n,k)=\sum_{j=0}^{k}(-1)^j\binom{k}{j}(k-j)^n.$$

全射 $f\colon[n]\to[k]$ に対し、ファイバー $f^{-1}(1),\dots,f^{-1}(k)$ は $[n]$ の $k$ ブロックへの分割(順序付き)を与える。逆に、$[n]$ の $k$ ブロックへの分割と、ブロックから $[k]$ への全単射($k!$ 通り)を与えれば全射が 1 つ定まり、これらは互いに逆の対応である。積の法則により全射は $k!\,S(n,k)$ 個ある。
次に $A$ を写像 $[n]\to[k]$ 全体($|A|=k^n$、積の法則)、$A_i:=\{f\mid i\notin f([n])\}$ とおく。$I\subset[k]$ に対し $A_I$ は $[n]$ から $[k]\setminus I$ への写像全体なので $|A_I|=(k-|I|)^n$ であり、全射全体は $A\setminus\bigcup_iA_i$ である。thm-enum-inclusion-exclusion を用い、$|I|=j$ の $I$ が $\binom{k}{j}$ 個あることから主張の式を得る。$\square$

小さい値

prop-enum-stirling-recurrence から $S(n,1)=1$($n\ge1$)、$S(n,n)=1$、$S(n,2)=2^{n-1}-1$($n\ge1$)、$S(n,n-1)=\binom{n}{2}$ が順に得られる。例えば $S(4,2)=7$ であり、$[4]$ の 2 ブロックへの分割は $\{1\}\{234\}$ 型が $4$ 個、$\{12\}\{34\}$ 型が $3$ 個である。Bell 数は $B_0=1,B_1=1,B_2=2,B_3=5,B_4=15$ である。

第1種Stirling数

$n,k\ge0$ に対し、$[n]$ の置換で(不動点も長さ $1$ の巡回置換と数えて)ちょうど $k$ 個の巡回置換の積に分解されるものの個数を符号なし第1種 Stirling 数といい $c(n,k)$ で表す。$c(0,0)=1$、$n\ge1$ なら $c(n,0)=0$ である。

第1種Stirling数の漸化式

$n\ge0$、$k\ge1$ に対し $c(n+1,k)=n\,c(n,k)+c(n,k-1)$ であり、$\sum_{k=0}^{n}c(n,k)=n!$ である。

$[n+1]$ の置換 $\sigma$ から $n+1$ を取り除く($n+1$ が不動点ならその巡回置換を消し、そうでなければ $\sigma^{-1}(n+1)\mapsto\sigma(n+1)$ とつなぐ)と $[n]$ の置換 $\sigma'$ を得る。逆に $[n]$ の置換 $\sigma'$ から、$n+1$ を新しい不動点として加える(巡回置換の個数が 1 増える、$c(n,k-1)$ 通り)か、$n+1$ をある元 $a\in[n]$ の直後に挿入する($\sigma(a)=n+1$、$\sigma(n+1)=\sigma'(a)$。巡回置換の個数は変わらず、$a$ の選び方は $n$ 通り)ことで、$k$ 個の巡回置換をもつ $[n+1]$ の置換がちょうど 1 回ずつ得られる。よって $c(n+1,k)=n\,c(n,k)+c(n,k-1)$ である。すべての置換は巡回置換の個数で分類されるので、和の法則から $\sum_kc(n,k)=n!$ である。$\square$

Dyck 路と Catalan 数

$n\ge0$ に対し、平面格子上で $(0,0)$ から $(n,n)$ まで右 $(1,0)$ または上 $(0,1)$ の単位ステップで進み、通過するすべての格子点 $(x,y)$ が $y\le x$ を満たす(対角線 $y=x$ より上に出ない)経路を長さ $n$ の Dyck 路という。その個数を Catalan 数(Catalan number)といい $C_n$ で表す。$C_0=1,\ C_1=1,\ C_2=2,\ C_3=5,\ C_4=14$ である。

Catalan数の閉じた式

$n\ge0$ に対し
$$C_n=\binom{2n}{n}-\binom{2n}{n+1}=\frac{1}{n+1}\binom{2n}{n}.$$

$(0,0)$ から $(n,n)$ への単位ステップの経路は、$2n$ ステップのうち上向きの $n$ ステップの位置を選ぶことで定まるので、全部で $\binom{2n}{n}$ 本ある。このうち Dyck 路でないもの(悪い経路)を数える。悪い経路は $y>x$ となる格子点を通り、ステップが単位なので直線 $y=x+1$ 上の点を通る。その最初の点を $P$ とし、$P$ より後の部分を直線 $y=x+1$ に関して折り返す($(x,y)\mapsto(y-1,x+1)$、右ステップと上ステップが入れ替わる)と、$(0,0)$ から $(n-1,n+1)$ への経路で、直線 $y=x+1$ に最初に $P$ で到達するものが得られる。逆に $(0,0)$ から $(n-1,n+1)$ への任意の経路は、$y-x$ が $0$ から $2$ まで $\pm1$ ずつ変化するので直線 $y=x+1$ に到達し、最初の到達点より後を折り返せば悪い経路に戻る。この 2 つの対応は互いに逆なので、悪い経路の個数は $(0,0)$ から $(n-1,n+1)$ への経路の個数 $\binom{2n}{n+1}$ に等しい。よって $C_n=\binom{2n}{n}-\binom{2n}{n+1}$ である。
さらに $\binom{2n}{n+1}=\dfrac{(2n)!}{(n+1)!\,(n-1)!}=\dfrac{n}{n+1}\binom{2n}{n}$ なので $C_n=\bigl(1-\frac{n}{n+1}\bigr)\binom{2n}{n}=\frac{1}{n+1}\binom{2n}{n}$ である($n=0$ では $\binom{0}{1}=0$ として成り立つ)。$\square$

Catalan数の漸化式

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

長さ $n+1$ の Dyck 路 $\pi$ をとる。最初のステップは右向きである(上向きなら $(0,1)$ で $y>x$ になる)。$\pi$ が $(0,0)$ の後に最初に対角線上の点に到達する点を $(i+1,i+1)$($0\le i\le n$)とする。その直前の点は $(i+1,i)$ である($(i,i+1)$ は対角線より上)。$(1,0)$ から $(i+1,i)$ までの部分は対角線に触れないので、その格子点は $y\le x-1$ を満たし、$(-1,0)$ だけ平行移動すると長さ $i$ の Dyck 路になる。$(i+1,i+1)$ から $(n+1,n+1)$ までの部分は、平行移動すると長さ $n-i$ の Dyck 路である。逆に、長さ $i$ の Dyck 路 $\alpha$ と長さ $n-i$ の Dyck 路 $\beta$ から、「右、$\alpha$($(1,0)$ だけ移動)、上、$\beta$($(i+1,i+1)$ だけ移動)」とつなげば、最初の対角線復帰点が $(i+1,i+1)$ である長さ $n+1$ の Dyck 路がちょうど 1 つ得られる。積の法則と、$i$ に関する和の法則から主張を得る。$\square$

Catalan数の他の解釈

Catalan 数は、$n$ 組の括弧の正しい対応づけ、凸 $(n+2)$ 角形の対角線による三角形分割、$n$ 個の内部節点をもつ二分木など、きわめて多くの対象を数える。Sta15 には 200 を超える解釈が集められている。これらの対象と Dyck 路の間の全単射の構成は同書に譲る。

母関数

通常母関数

有限集合の族 $(X_i)_{i\ge0}$ に対し $a_i=|X_i|$ とおく。この族(または数列 $(a_i)$)の通常母関数(ordinary generating function)を、形式的冪級数
$$A(t)=\sum_{i=0}^{\infty}a_it^i$$
と定める。ここでは係数ごとに級数を扱い、解析関数としての収束は要求しない。また $\sum_{i\ge0}a_it^i/i!$ を指数母関数という。指数母関数は異なる係数付けであり、通常母関数と同一視しない。

例えばすべての $X_i$ が一点集合なら $A(t)=1+t+t^2+\cdots$ であり、形式級数として $(1-t)A(t)=1$、すなわち $A(t)=1/(1-t)$ を満たす。母関数の利点は、集合の構成(互いに素な合併・直積・列)が級数の演算(和・積・$1/(1-A)$)に対応することにある。

母関数の積と畳み込み

$A(t)=\sum a_it^i$、$B(t)=\sum b_it^i$ をそれぞれ族 $(X_i)$、$(Y_i)$ の通常母関数とする。$Z_n:=\bigcup_{i+j=n}X_i\times Y_j$(互いに素な合併)とおくと、$(Z_n)$ の通常母関数は積 $A(t)B(t)$ である。すなわち $|Z_n|=\sum_{i=0}^{n}a_ib_{n-i}$ である。

和の法則と積の法則(prop-enum-sum-product-rule)から $|Z_n|=\sum_{i+j=n}|X_i|\,|Y_j|=\sum_{i=0}^{n}a_ib_{n-i}$ であり、これは形式的冪級数の積 $A(t)B(t)$ の $t^n$ の係数の定義そのものである。$\square$

二項係数・Fibonacci 数・Catalan 数の母関数
  1. $[n]$ の $k$ 元部分集合の個数 $\binom{n}{k}$ を $k$ について並べた母関数は $\sum_k\binom{n}{k}t^k=(1+t)^n$ である。実際、各元 $i\in[n]$ について「選ばない($1$)か選ぶ($t$)か」の族の母関数 $1+t$ を $n$ 個掛けたものが、prop-enum-generating-function-product により部分集合の族の母関数になる(二項係数の記事の二項定理)。
  2. Fibonacci 数列 $F_0=0,F_1=1,F_{n+2}=F_{n+1}+F_n$ の母関数 $F(t)=\sum F_nt^n$ は、漸化式を係数ごとに比較して $F(t)-t=t\,F(t)+t^2F(t)$、すなわち $F(t)=\dfrac{t}{1-t-t^2}$ を満たす。
  3. Catalan 数の母関数 $C(t)=\sum_{n\ge0}C_nt^n$ は、prop-enum-catalan-recurrence を $t^{n+1}$ の係数として比較すると $C(t)-1=t\,C(t)^2$、すなわち
    $$C(t)=1+t\,C(t)^2$$
    を満たす。これは「空でない Dyck 路は、右ステップ・Dyck 路・上ステップ・Dyck 路と分解される」という prf-enum-catalan-recurrence の分解を母関数で書いたものである。
整数の分割の母関数

正整数 $n$ を正整数の和(順序を無視)として表す方法の個数 $p(n)$(整数の分割、分割数)の母関数は $\sum_{n\ge0}p(n)t^n=\prod_{k\ge1}(1-t^k)^{-1}$ である(Sta12 §1.8)。これは各 $k$ について「$k$ を何回使うか」の族の母関数 $1+t^k+t^{2k}+\cdots$ を掛け合わせたものであり、無限積は各 $t^n$ の係数が有限個の因子でしか変わらないので形式的冪級数として意味をもつ。集合の分割(Stirling 数・Bell 数)は元を区別してブロックに分ける構造、整数の分割は大きさだけを見る構造であり、同じ「分割」でも定義が異なる。

半順序集合の Möbius 関数

包除の等式は、部分集合の包含関係という特別な半順序集合の上の反転公式である。これを一般の局所有限な半順序集合へ拡張したものが Möbius 関数である(Sta12 §3.7)。

局所有限性と Möbius 関数

半順序集合 $P$ が局所有限であるとは、$p\le q$ に対する区間 $[p,q]=\{r\in P\mid p\le r\le q\}$ がすべて有限であることをいう。局所有限な $P$ の Möbius 関数は、次を満たす関数 $\mu_P\colon P\times P\to\mathbb{Z}$ である。
$$\mu_P(p,q)=0\quad(p\not\le q),\qquad\sum_{p\le r\le q}\mu_P(p,r)=\delta_{p,q}\quad(p\le q).$$
ここで $\delta_{p,q}$ は $p=q$ なら $1$、そうでなければ $0$ である。

存在と一意性

局所有限な半順序集合の Möbius 関数はただ 1 つ存在する。

$p\not\le q$ では $0$ とし、対角では $\mu_P(p,p)=1$ とする。$p< q$ では次の再帰式を用いる。
$$\mu_P(p,q)=-\sum_{p\le r< q}\mu_P(p,r).$$
右辺の各区間 $[p,r]$ は $[p,q]$ より真に小さい有限集合なので、区間の要素数に関する帰納法で値が一意に定まる。こうして得られる値は整数であり、再帰式の移項により定義の区間和を満たす。従って存在し、同じ再帰を満たすどの関数も帰納法で一致する。$\square$

この再帰から、区間上の値はその区間の順序構造だけで決まる。

整数の鎖

$S$ を連続する整数からなる空でない区間とし、通常の大小で順序を入れる。$S$ は局所有限であり、$a,b\in S$ に対して次の値をもつ。
$$\mu_S(a,b)=\begin{cases}1&(b=a),\\-1&(b=a+1),\\0&(\text{それ以外}).\end{cases}$$
実際、差 $b-a$ が $2$ 以上なら、再帰式の右辺には $1$ と $-1$ だけが非零項として残るので $0$ になる。

直積順序集合の Möbius 関数

局所有限な半順序集合 $P_1,\dots,P_r$ の有限直積を、成分ごとの順序(直積順序)で考える。この直積は局所有限であり、$a=(a_1,\dots,a_r)$ と $b=(b_1,\dots,b_r)$ に対して次が成り立つ。
$$\mu_{P_1\times\cdots\times P_r}(a,b)=\prod_{i=1}^r\mu_{P_i}(a_i,b_i).$$
$r=0$ の直積は一点集合、右辺は空積 $1$ とする。

$a\not\le b$ ならある $i$ で $a_i\not\le b_i$ なので右辺は $0$ である。$a\le b$ では、右辺を $\nu(a,b)$ と書くと、有限区間の直積上の和を分離して次を得る。
$$\sum_{a\le c\le b}\nu(a,c)=\prod_{i=1}^r\Bigl(\sum_{a_i\le c_i\le b_i}\mu_{P_i}(a_i,c_i)\Bigr)=\prod_{i=1}^r\delta_{a_i,b_i}=\delta_{a,b}.$$
よって Möbius 関数の一意性(prop-enumerative-combinatorics-mobius-existence)により主張が従う。$\square$

非負整数格子

$P_i=\mathbb{Z}_{\ge0}$ とすると、$\mathbb{Z}_{\ge0}^r$ の区間は有限個の整数区間の直積になる。したがって $a\le b$ のとき、すべての差 $b_i-a_i$ が $0$ または $1$ なら $\mu(a,b)=(-1)^{\#\{i\mid b_i=a_i+1\}}$、差が $2$ 以上の成分があれば $0$ である。

有限台列の Möbius 関数

$0$ を含む連続した整数の区間 $S$ に対し、$S^{<\infty}$ を、成分が $S$ に属し有限個を除いて $0$ である列 $(a_i)_{i\ge0}$ 全体とする。成分ごとの順序を入れた $S^{<\infty}$ は局所有限である。$a\le b$ に対して、次が成り立つ。
$$\mu(a,b)=\begin{cases}(-1)^k&\bigl(b_i-a_i\in\{0,1\}\ (\forall i),\ k=\#\{i\mid b_i=a_i+1\}\bigr),\\0&\bigl(\exists i\colon b_i-a_i\ge2\bigr).\end{cases}$$

有限区間の直積による証明

$a,b$ の非零座標の合併を $J$ とすると、$[a,b]$ の各列は $J$ の外で $0$ である。従ってこの区間は $\prod_{i\in J}[a_i,b_i]$ と順序同型であり、鎖の値(ex-enumerative-combinatorics-chain)と直積の公式(prop-enum-mobius-product)を適用すればよい。$J=\emptyset$ の場合も区間は一点で、値は $1$ になる。$\square$

最終差座標の符号相殺による別証明

上の明示式の右辺を候補関数とし、区間和の条件を直接調べる。$a=b$ のときは $k=0$ で値 $1$ なので、対角の条件を満たす。$a< b$ とし、$b_t>a_t$ となる最大の添字 $t$ をとる。$t$ より大きい座標は区間内で $a_i=b_i$ に固定される。$0\le i< t$ の座標 $c_i$ を固定して、第 $t$ 座標を $a_t$ から $b_t$ まで動かす。先の座標に $c_i-a_i\ge2$ があれば、候補関数の値は第 $t$ 座標によらずすべて $0$ である。そうでなければ、$c_t=a_t$ と $c_t=a_t+1$ の項だけが非零になり、この 2 項は反対符号をもつ。従って固定した先の座標ごとの和は $0$ であり、それらを足した区間全体の和も $0$ である。比較不能対の値 $0$ と合わせると、候補は定義を満たし、一意性により Möbius 関数である。$\square$

再帰値を二段の帰納法で求める別証明

まずすべての差が $0$ または $1$ の場合を、差が $1$ の座標数 $k$ で帰納する。$k=0$ は対角値 $1=(-1)^0$ である。$k\ge1$ のとき、区間内の $c$ は差座標集合の部分集合 $U=\{i\mid c_i=a_i+1\}$ に対応する。$|U|=r$ の $c$ は $\binom{k}{r}$ 個であり、$U$ が真部分集合なら帰納法により $\mu(a,c)=(-1)^r$ である。再帰式と二項定理(二項係数の記事)を用いると、次を得る。
$$\mu(a,b)=-\sum_{r=0}^{k-1}\binom{k}{r}(-1)^r=(-1)^k.$$
次に差が $2$ 以上の座標がある場合を、有限な総差 $d=\sum_i(b_i-a_i)$ で強い帰納法により扱う。$d=2$ のこの場合は差が $2$ の座標が 1 つだけなので、鎖の再帰から値は $0$ である。一般に $c_i=a_i+\min(1,b_i-a_i)$ とおき、$[a,b]$ のうち $a\le u\le c$ でない点の集合を $U$ とする。$a< c$ で、$[a,c]$ の和は、先に求めた $0/1$ 差の場合の二項展開により $0$ になる。$u\in U$ なら少なくとも 1 つの座標で $u_i-a_i\ge2$ である。さらに $u\ne b$ なら $\sum_i(u_i-a_i)< d$ なので、帰納法により $\mu(a,u)=0$ である。従って定義の和を $[a,c]$ と $U$ に分けると、$0=0+\mu(a,b)$ となり、求める値は $0$ である。この二段の計算は、符号相殺の証明とは別に、再帰式が明示式を強制することを示す。$\square$

数論的 Möbius 関数との対応

素因数の指数列

正整数 $N$ の素因数分解を $N=\prod_pp^{e_p}$ とすると、指数列 $(e_p)_p$ は非負整数の有限台列である。約数 $d\mid N$ をその指数列へ送ると、約数の整除順序は区間 $\prod_{p\mid N}[0,e_p]$ の成分順序に対応する。従ってこの区間の Möbius 値 $\mu_P(0,(e_p)_p)$ は、数論的な Möbius関数の値 $\mu(N)$ に一致する。すなわち $N=1$ では $1$、$k$ 個の相異なる素数の積なら $(-1)^k$、平方因子をもてば $0$ である。ここで二変数の区間関数 $\mu_P$ と、一変数の数論的関数 $\mu$ は同じ定義域ではない。

数論的 Möbius 関数の乗法性

Möbius関数の乗法性によれば、互いに素な正整数 $m,n$ について $\mu(mn)=\mu(m)\mu(n)$ が成り立つ。その証明は Möbius関数の記事の命題(Möbius 関数の乗法性)を参照する。

乗法性による計算例

$30=2\cdot3\cdot5$ なので、乗法性を 2 度使うと $\mu(30)=\mu(2)\mu(3)\mu(5)=-1$ となる。一方、$\mu(4)=0$ だが $\mu(2)^2=1$ なので、互いに素という条件を外して一般の積へ適用することはできない。

Möbius 関数による一般化された包除

有限集合からの写像に対する計数式

$P$ を局所有限な半順序集合、$A$ を有限集合とし、写像 $f\colon A\to P$ と $f(x)\ge p_0$(すべての $x\in A$)を満たす $p_0\in P$ をとる。このとき次の等式が成り立ち、右辺で個数が非零となる $q\ge p_0$ は有限個である。
$$\#\{x\in A\mid f(x)=p_0\}=\sum_{q\ge p_0}\mu_P(p_0,q)\,\#\{x\in A\mid q\le f(x)\}.$$

各 $x\in A$ について $\sum_{p_0\le q\le f(x)}\mu_P(p_0,q)=\delta_{p_0,f(x)}$ である。$\bigcup_{x\in A}[p_0,f(x)]$ は有限なので、この等式を $x$ について足して有限和の順序を交換できる。
$$\sum_{x\in A}\delta_{p_0,f(x)}=\sum_{x\in A}\sum_{p_0\le q\le f(x)}\mu_P(p_0,q)=\sum_{q\ge p_0}\mu_P(p_0,q)\sum_{\substack{x\in A\\ q\le f(x)}}1.$$
これが求める式である。$\square$

点有限な族の包除を有限和に戻す

有限集合 $A$ の部分集合族 $(S_i)_{i\ge1}$ が点有限、すなわち各 $x\in A$ を含む $S_i$ の個数が有限であるとする。$J=\bigcup_{x\in A}\{i\mid x\in S_i\}$ とおくと、$J$ は有限で、$i\notin J$ なら $S_i=\emptyset$ である。$S_I=\bigcap_{i\in I}S_i$ と書き、空添字には $S_\emptyset=A$ を用いると、次が成り立つ。
$$\#\Bigl(A\setminus\bigcup_{i\ge1}S_i\Bigr)=\sum_{I\subset J}(-1)^{|I|}\#S_I.$$

$J$ の有限性と $J$ の外の集合が空であることは、直前の定義から従う($A$ が有限で各点に対する添字が有限個だから)。従って thm-enum-inclusion-exclusion を、添字が $J$ の有限族へ適用すればよい。Möbius 関数との対応を直接見るには、$P=\{0,1\}^{<\infty}$ と $f(x)=(\mathbf{1}_{S_i}(x))_{i\ge1}$、$p_0=0$ を使う。$q$ の台 $I=\{i\mid q_i=1\}$ に対して、$q\le f(x)$ は $x\in S_I$ と同値であり、$\mu_P(0,q)=(-1)^{|I|}$ である。そこで thm-enumerative-combinatorics-poset-count を使っても同じ等式が得られる。$\square$

反例:点有限性だけでは無限濃度の交代和にならない

$A=\mathbb{Z}_{>0}$、$S_i=\{i\}$ なら族は点有限であり、すべてを除いた集合は空である。しかし空添字項の個数 $\#S_\emptyset=\#A$ は無限なので、有限個数に対する上の公式を無限濃度の交代和としてそのまま使うことはできない。これは「点有限であるだけで有限和の計数公式を無条件に使える」という主張への反例であり、prop-enumerative-combinatorics-point-finite の仮定「$A$ は有限」を外せないことを示す。

篩への適用

指定した素数の倍数を除く

$N\ge1$ を整数、$p_1,\dots,p_k$ を相異なる素数とし、$1\le a\le N$ の整数のうちどの $p_i$ でも割れないものの集合を $S$ とする。$Q=\prod_{i=1}^kp_i$ とすると、有限包除を用いて次を得る。
$$|S|=\sum_{d\mid Q}\mu(d)\Bigl\lfloor\frac{N}{d}\Bigr\rfloor.$$
実際、添字集合 $I\subset\{1,\dots,k\}$ に対する同時の倍数は $\prod_{i\in I}p_i$ の倍数で、その個数は $\lfloor N/\prod_{i\in I}p_i\rfloor$ である。包除の符号 $(-1)^{|I|}$ がその積に対する $\mu$ の値であり、$d>N$ の項は $0$ になる。閾値以下の素数をすべて選ぶ場合の厳密な計数式と証明は Legendreの篩を参照する。
特に $p_1,\dots,p_k$ が $\sqrt N$ 以下の素数全体なら、残る数は $1$ と、$\sqrt N$ より大きく $N$ 以下の素数である。従って $\pi(t)$ を $t$ 以下の素数の個数(素数計数関数)とすると、$|S|=1+\pi(N)-\pi(\sqrt N)$ である。例えば $N=10$ で $2,3$ の倍数を除くと、$S=\{1,5,7\}$ となる。より一般に $0\le M\le N$ で選んだ素数がすべて $M$ 以下なら、$M< p\le N$ の素数と $1$ は $S$ に含まれるので、$\pi(N)-\pi(M)\le|S|-1$ である。

包除の厳密式では素数の部分集合ごとの項が現れるため、評価には符号による相殺や残差の扱いが必要になる。篩法の一般原理は、重みに条件を課して残存数を上下から評価する方法を扱う。近代的な篩法は 20 世紀初めの Brun の仕事を起点に発展してきた(Mic98 序論)。

補足:条件を見分ける

同じ数え上げでも、順序付きの列と順序を忘れた選び方、重複を許す選び方と集合の部分集合は異なる対象である。また、集合分割は元をブロックへ分ける構造であり、整数分割は整数を正整数の和として表す構造なので、同じ定義ではない(rem-enum-integer-partition)。本記事の構成は有限集合からの有限選択と自然数の数学的帰納法を用い、無限族の代表元を一斉に選ぶ操作(選択公理)は用いていない。本記事の記述はおおむね Sta12 第 1〜3 章に従う。

関連項目

参考文献

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