Rei Frontier Tech Blog

人工知能を活用した位置情報分析プラットフォーム「SilentLog Analytics」を運営する、レイ・フロンティア株式会社のエンジニアメンバーで運営する技術ブログです。

ZFC公理系について:その3

レイ・フロンティア株式会社のデータアナリストの齋藤です。
前前回前回につづいて、ZFC公理系の残りの公理を紹介していきます。

写像と選択公理

順序対、直積

ふだん慣れ親しんでいる数学的対象として、自然数などの数だけではなく、数と数の関係を定める関数(あるいは写像)があります。そこで、Zermelo-Fraenkelの立場から関数を構成することを考えてみましょう。
集合\(A\)から集合\(B\)への写像\(f \colon A \to B\)を集合論的に定義するためには、写像\(f\)のグラフというものを用います。\(f\)のグラフというのを直感的に説明すると、"\(A\)と\(B\)の直積"\(A times B\)の部分集合で、\( (x,f(x))\ (x\in a)\)というペアの全体から成るもののことです。\(A=B=\mathbb{R}\)の場合を考えると、関数\(f\)のグラフを座標平面にプロットしたものは、\(y=x^2\)のグラフは放物線などといったお馴染みの"グラフ"になります。
しかし、我々はまだ\(A\)と\(B\)の直積なるものを定義できていません。したがって、まずこの\(A \times B\)を定義するところから始めます。

集合\(a,b\)が与えられたとしましょう。それらの直積\(a\times b\)の元として我々が想定しているのは、\(a,b\)のそれぞれの元\(x,y\)のペア\( (x,y) \)のことです。そして、2つのペア\( (x,y) , (x^\prime, y^\prime)\)が等しいとは\(x=x^\prime , y=y^\prime\)が成り立つことでした。2つの集合の組として非順序対\( \{ a,b \}\)というのを以前考えましたが、\(\{ a,b\} = \{ b,a \}\)なので、これではうまくいきません。しかし、非順序対に一工夫加えることで、順序対を構成することができます。
次の補題が成り立ちます:

補題3.集合\(x,y,x^\prime, y^\prime \)について、次が成り立つ:$$\{ \{ x \}, \{ x , y \} \} = \{ \{ x^\prime \}, \{ x^\prime , y^\prime \} \} \Leftrightarrow x = x^\prime \wedge y = y^\prime .$$
集合\(x,y\)に対し、\( \{ \{ x \} , \{ x , y \} \} \)を\(x,y\)の順序対(ordered pair)と呼び、\( ( x , y ) \)と書きます。
\(x , y\)がそれぞれ集合\(a,b\)の元であるとき、\(\{ x \} , \{ x,y \} \subset a \cup b\)だから、\(\{ x \} , \{ x,y \} \)はともにべき集合\(\mathcal{P}(a\cup b)\)の元となります。したがって、$$ (x,y) = \{ \{ x \} , \{ x , y \} \} \in \mathcal{P} ( \mathcal{P} (a \cup b) )$$です。

集合\(a,b\)に対して、それらの直積(direct product)あるいはカルテシアン積(Cartesian product)\(a \times b\)を、$$a \times b = \{ u \in \mathcal{P}(\mathcal{P}(a \cup b )) \mid \exists x \exists y ( x \in a \wedge y \in b \wedge u = ( x , y ) ) \}$$によって定義します。"普通の言葉"で言えば、\(a \times b\)は\(a\)の元\(x\), \(b\)の元\(y\)の順序対\( (x,y) \)全体から成る集合です。合併集合の公理、分出公理、べき集合の公理によって\(a \times b\)の存在は保証され、外延性公理によって\(a \times b\)は\(a\)と\(b\)が与えられたとき確定します。上の定義により、$$u \in a \times b \Leftrightarrow \exists x \exists y ( x \in a \wedge y \in b \wedge u = (x,y) )$$となるので、とくに$$\emptyset \times b = \emptyset, \ a \times \emptyset = \emptyset$$が任意の集合\(a,b\)について成り立ちます。

写像、一般の直積、選択公理

さてこれから写像を定義するわけですが、その前により一般的な概念である"対応"の定義から始めましょう。集合\(a,b\)に対して、直積\(a \times b\)とその部分集合\(f\)の順序対\( (a \times b , f) \)を\(a\)から\(b\)への対応(correspondence)と呼び、\(f\)を対応\( (a \times b, f) \)のグラフ(graph)と呼びます。\(a,b\)が与えられているとき、\( (a \times b , f) \)をたんに対応\(f\)と言うこともあります。\(x \in a\)のとき、\( f(x) = \{ y \in b \mid (x, y) \in f \} \)とおき、\(f(x)\)を\(x\)の\(f\)による像(image)と呼びます。とくに、\(f(x) = \{ y \} ,\ y \in b\)のとき、たんに\(f(x) = y\)と書きます。\(a\)から\(b\)への対応\( (a \times b , f) \)が与えられたとき、これを"対応\(f \colon a \to b\)"と表します。また、集合\(\{ x \in a \mid f(x) \not= \emptyset \}\)を\(f\)の定義域(domain of definition)と呼び、これを\(\mathrm{Dom} f\)と書きます。また、部分集合\(a^\prime \subset a \)に対して、\(f[a^\prime] = \{ y \in b \mid \exists x (x \in a^\prime \wedge (x,y) \in f) \}\)とおけば、$$f[a^\prime] = \bigcup_{x \in a^\prime} f(x)$$となります。\(f[a^\prime]\)のことを\(f\)による\(a^\prime\)の像(image)と呼びます。\(f[a^\prime]\)のことを\(f(a^\prime)\)と書くこともあります。とくに、\(f[a]\)を\(f\)の像または値域と呼び、\(\mathrm{Im}f\)とも表します。
対応\(f\colon a \to b\)は、\(\mathrm{Dom} f = a\)かつ\(a\)の任意の元\(x\)に対して\(f(x)\)が\(b\)の元のシングルトンとなるとき、\(a\)から\(b\)への写像(mapping)と呼びます。たとえば、\(\mathbb{N}\)から\(\mathbb{N}\)への対応\(f\)として\(f = \{ (m,n) \in \mathbb{N} \times \mathbb{N} \mid n = m^+ \}\)をとるとき、この対応\(f \colon \mathbb{N} \to \mathbb{N}\)は\(\mathbb{N}\)から\(\mathbb{N}\)への写像であり、\(f(m) = m^+\)です。
もう一つ重要な例を挙げておきましょう。集合\(a\)に対して\(\Delta_a = \{ (x,y) \in a \times a \mid x = y \}\)を直積\(a \times a\)の対角線集合(diagonal set)と呼びます。\(f = \Delta_a\)とおけば、\( (a \times a , f)\)は\(a\)からそれ自身への写像であり、\(a\)の任意の元\(x\)について\(f(x) = x\)となります。この写像は\(a\)の恒等写像(identity mapping)と呼ばれ、\(\mathrm{id}_a\)または\(1_a\)などと表されます。
写像\(f \colon a \to b\)について\(f[a]=b\)のとき、\(f\)は\(a\)から\(b\)への全射(surjection)と呼ばれ、\(a\)の任意の元\(x,y\)に対して\(f(x)=f(y)\Rightarrow x=y\)が成り立つとき\(f\)は\(a\)から\(b\)への単射(injection)と呼ばれます。\(f\)が\(a\)から\(b\)への全射でありかつ単射でもあるとき、\(f\)は\(a\)から\(b\)への全単射(bijection)と呼ばれます。\(a\)から\(b\)への全単射が存在するとき\(a\)と\(b\)は対等(equivalent)であるといわれ、\(a\approx b\)と書かれます。
また、集合\(a,b\)が与えられたとき、写像\(f \colon a \to b\)は直積\(a \times b\)の部分集合のなかの特殊なものによって定まりますが、\(a\)から\(b\)への写像のグラフ全体からなる集まりは\(\mathcal{P}(a \times b)\)の部分集合です。この後者の集合を\(b^a\)と書くことにします。
\(a\)から\(b\)への対応\(f\)が与えられたとき、\(b\)から\(a\)への対応\(f^{-1}\)を$$f^{-1} = \{ (y,x) \in b \times a \mid (x,y) \in f \}$$によって定義し、\( (b \times a, f^{-1}\)または略して\(f^{-1}\)を\(f\)の逆対応とよびます。2つの対応\(f \colon a \to b\)と\(g \colon b \to c\)が与えられたとき、\(f,g\)の"合成"とよばれる対応\(g \circ f \colon a \to c\)が$$g \circ f = \{ (x,z) \in a \times c \mid f(x) \cap g^{-1}(z) \not= \phi \}$$というように定義されます。\(f \colon a \to b\)と\(g \colon b \to c\)がともに写像ならば、それらの合成\(g\circ f \colon a \to c\)も写像となり、\(x \in a\)に対して\( (g \circ f)(x) = g(f(x)) \)となります。


2つの集合の直積を定義し、それを用いて写像を定義することができました。しかし、実際にはもっと多くの個数、とくに無限に多くの集合の直積を考えたくなることがあります。そのような一般の直積を、写像を用いて定義します。
空でない集合\(I\)が与えられ、\(I\)から集合\(A\)への写像\(f\)が与えられているとき、順序対\( (f,f[I]) \)を\(I\)によって添数づけられた集合(indexed set)と呼び、\(I\)を\(f[I]\)の添数集合、\(I\)の元\(i\)を添数(index)と呼びます。\(f(i)\)を\(a_i\)とも書き、\( (f,f[I])\)を\(\{ a_i \}_{i \in I}\)のようにも書きます。また、このとき\(\cup f[I]\)のことを\(\cup_{i \in I}a_i\)とも書きます。
空集合とは異なる集合\(I\)によって添数づけられた集合\(\{ a_i \}_{i \in I}\)が与えられたとき、その直積とはつぎのような集合\(b\)のことをいいます:$$b = \left\{ \lambda \in \left( \bigcup_{i\in I}a_i \right)^I \middle| \forall i (i \in I \Rightarrow \lambda(i) \in a_i) \right\} .$$この集合\(b\)を\(\prod_{i \in I} a_i\)と表します。とくに、\(I = 2\)のときには、\(\prod_{i \in I} a_i \approx a_0 \times a_1\)となります。自然数\(n\)に対して\(I = n\)のとき、\(\prod_{i \in I} a_i\)は\(\prod_{i = 0}^{n-1} a_i\)または\(a_0 \times a_1 \times \cdots \times a_{n-1}\)というふうに表されます(正確には、自然数\(n\)の引き算を定義する必要があります)。
一般に、\(\lambda\)を直積\(\prod_{i \in I} a_i\)の元とすれば、\(\lambda\)は\(\lambda(i)\)によって定まるので、\(\lambda\)を\( (\lambda(i))_{i \in I}\)というふうに書きます。とくに、\(a_0 \times a_1 \times \cdots \times a_{n-1}\)の元は\( (\lambda(0), \lambda(1), \dots, \lambda(n-1))\)と書きます。こうして、我々がふだん使っている直積の姿が見えてきました。

さて、直積の定義から明らかに、\(a \not= \emptyset \)かつ\(b \not= \emptyset \)ならば\(a \times b \not= \emptyset\)です。それでは、一般に空集合とは異なる集合\(I\)によって添数づけられた集合\(\{ a_i \}_{i \in I}\)で、\(I\)の任意の元\(i\)に対して\(a_i \not= \emptyset\)なるものが与えられたとき、\(\prod_{i \in I} a_i\)は空集合ではないと言えるでしょうか。この問いに肯定的に答えるために考えられたのが、次の公理です:

(Set8) 選択公理$$\forall a \exists f [ f \in (\cup a)^a \wedge \forall x (x \in a \wedge x \not= \emptyset \Rightarrow f(x) \in x) ]$$
普通の言葉でいうと、「任意の集合\(a\)に対して、\(a\)から\(\cup a\)への写像\(f\)が存在し、\(a\)の任意の元で空集合とは異なるもの\(x\)に対して\(f(x) \in x\)となる」というものです。この公理は選択公理(axiom of choice)と呼ばれ、この公理によって存在を保証される写像\(f\)を、\(a\)の選択写像あるいは選択関数(choice function)と呼びます。
次が成り立ちます:
定理5.\(I\)を空集合とは異なる集合、\(\{ a_i \}_{i \in I}\)を\(I\)によって添数づけられた集合で、任意の\(i \in I\)に対して\(a_i \not= \emptyset\)であるものとする。このとき、直積\(\prod_{i \in I}a_i\)は空集合ではない。
(証明) \(A = \{ a_i \}_{i \in I}\)とおけば、定義により写像\(f \colon I \to A\)で\(f(i) = a_i\)となるものが存在する。\(F\)を\(A\)の選択関数とすれば、任意の\(i \in I\)に対して\(a_i \not= \emptyset \)だから、\(F(a_i) \in a_i\)となる。ここで、\(\lambda = F \circ f\)とおけば、\(\lambda\)は\(I\)から\(\cup A = \cup_{i \in I}a_i\)への写像であり、任意の\(i \in I\)について\(\lambda(i) = F(a_i) \in a_i\)となるから、\(\lambda \in \prod_{i \in I}a_i\)となる。■

順序数、ZFC公理系

順序関係と順序数

自然数、実数といった数の性質を調べるにあたっては、数の大小関係は重要です。そこで、数の大小関係の一般化にあたる"順序関係"を定義していきます。

集合\(a\)からそれ自身への対応\( (a \times a , f) \)あるいは単にそのグラフ\(f\)を、\(a\)の元の間の関係(relation)といいます。集合\(a\)の元の間の関係\(\prec\)について、\( (x,y) \in \prec \)のことを\(x \prec y\)と書くことにしましょう。つぎの条件$$\begin{align} &(1)\ \forall x (x \in a \Rightarrow x \prec x )\ (反射律) \\ &(2)\ x \prec y \wedge y \prec x \Rightarrow x=y\ (反対称律)\\ &(3)\ x \prec y \wedge y \prec z \Rightarrow x \prec z\ (推移律) \end{align}$$が成り立つとき、\(\prec\)を\(a\)の元の間の順序関係(order relation)と呼び、順序対\( (a,\prec) \)のことを順序集合(ordered set)と呼びます。上の(1),(2),(3)は順序の公理(axion of order)と呼ばれます。
\( (a,\prec) \)を順序集合、\(x,y \in a\)に対して、\(x \prec y \wedge x \not= y\)のとき\(x \precneqq y\)と書くことにします。\(x \in a\)に対して、\(a\)の部分集合で\(x\)の切片(segment)と呼ばれるものを$$s(x) = \{ y \in a \mid y \precneqq x \}$$と定めます。
\( (a,\prec) \)を順序集合、\( S \subset a\)とします。\(S\)の元\(s\)について\( \forall t (t \in S \Rightarrow s \prec t ) \)が成り立つとき、そのような\(s\)は一意的に定まり、それを\(S\)の(\(\prec\)に関する)最小元(minimum)と呼び、\(\min S\)と書きます。自然数全体の集合\(\mathbb{N}\)の重要な性質として、「\(\mathbb{N}\)の任意の空ではない部分集合が最小元をもつ」というものがありますが、一般に順序集合\( (a,\prec ) \)において、任意の空でない\(a\)の部分集合\(s\)について\(\min s\)が存在するとき、\( (a,\prec )\)または\(a\)を整列集合(well-ordered set)であるといいます。
順序集合\( (a,\prec_1 ), (b,\prec_2 ) \)および写像\(F\colon a \to b\)が与えられたとします。\(a\)の任意の元\(x,y\)について、$$x \prec_1 y \Rightarrow F(x) \prec_2 F(y)$$が成り立つとき、\(F\)は順序を保つ写像(order preserving mapping)と呼びます。\(F\)が\(a\)から\(b\)への全単射であれば\(F\)は\(a\)から\(b\)の上への順序同型写像(order isomorphism)といい、またこのとき\( (a,\prec_1) \)と\( (b,\prec_2) \)は順序同型(order isomorphic)であるといって\( (a,\prec_1) \simeq (b,\prec_2) \)または\(a \simeq b\)と書きます。たとえば恒等写像\(1_a\)は\(a\)からそれ自身への上への順序同型写像です。

ところで、自然数\(0, 1=\{ 0 \}, 2 = \{ 0,1 \} , 3 = \{ 0,1,2 \} , \dots \)や自然数全体の集合\(\mathbb{N}\)、\(\mathbb{N}^+ = \mathbb{N} \cup \{ \mathbb{N} \}\)などはみな包含関係について整列集合となっています。これらに共通する性質のひとつに、「\(x\)をこれらの中の任意のものの元とするとき、切片\(s(x)\)と\(x\)が相等しいものがある」というものがあります。一般に、\( (a,\prec) \)を整列集合とするとき、\(a\)の任意の元\(x\)について\(x = s(x)\)が成り立つならば、\( (a,\prec) \)(または\(a\))を順序数(ordinal number)と呼びます。自然数や\(\mathbb{N}\)などは順序数ですが、たとえば\(\{ 0,2 \}\)などは包含関係について整列集合とみなすとき順序数ではありません。
\( (a,\prec) \)を順序数としましょう。\(x ,y \in a \)とすると、\(x \precneqq y \Leftrightarrow x \in s(y) \Leftrightarrow x \in y \)、ゆえに\( x \precneqq y \Leftrightarrow x \in y\)が成り立ちます。さらに、\(x \precneqq y \Leftrightarrow s(x) \subsetneqq s(y)\)であるので、$$x \precneqq y \Leftrightarrow x \subsetneqq y \Leftrightarrow x \in y$$が成り立ちます。よって、このとき、順序関係\(\prec\)というのは包含関係\(\subset\)にほかならず、\(a\)の集合論的構造のみによって定まるのです。この事実からも、順序数\( (a,\prec) \)を単に\(a\)と表しても問題ないと納得がいくでしょう。

正則性公理

\(\alpha\)を任意の順序数とするとき、\(\alpha \in \alpha^+ \in (\alpha^+)^+ \in \cdots \)となり、このような列はいくらでも延ばすことができます。しかし、\(\alpha\)から"左へ"いくらでも列を延ばすことはできません。たとえば\(\alpha = 2\)とすれば\(2 \ni 1 \ni 0\)でストップです。
一般に、\(\alpha\)を任意の順序数とするとき、\(\alpha\)に含まれる元\(\beta\)で\(\gamma \in \beta \Rightarrow \gamma \not\in a\)が成り立つものが存在します(\(\beta = 0\)とすればよい)。このことがより一般的に成り立つことを主張するのが、つぎの公理です:

(Set9) 正則性公理$$\forall a [ a \not= \emptyset \Rightarrow \exists b (b \in a \wedge a \cap b = \emptyset) ]$$
普通の言葉でいうと、「空でない集合\(a\)に対して、その元\(b\)で、\(b\)のいかなる元も\(a\)には含まれないものが存在する」ということになります。
たとえば、\(x\)を任意の集合とし、\(a = \{ x \}\)とおけば、\(a\)の元は\(x\)のみなので、正則性公理から\(\{ x\} \cup x = \emptyset\)となり、したがって\(x \not\in x \)が成り立ちます。すなわち、正則性公理を仮定すれば、集合がそれ自身を元として含むという状況は起こらなくなります。

置換公理

順序数に関しては、次の定理が基本的です:

定理6.\( (a,\prec) \)を任意の整列集合とすると、順序数\(\alpha \)で\(a \simeq \alpha \)となるものが一意的に存在する。
実は、この定理の証明に困難が伴うのです。\(\alpha\)の存在を証明するためには超限帰納法というテクニックを用います。これについては割愛しますが、そのプロセスにおいて「\(s(x)\)の任意の元\(y\)に対して\(s(y) \simeq \alpha_y\)となるような順序数\(\alpha_y\)が存在する」ということを仮定して「\(s(x)\)と順序同型な順序数が存在する」ことを証明する場面が出てきます。\(s(x)\)と順序同型となるような順序数\(\alpha_x\)の候補として\(\alpha_y (y \in s(x))\)の合併集合が考えられますが、ここで困難が生じます。というのも、合併集合をとるためには"\(\alpha_y (y \in s(x))\)の全体"が集合であることが示されねばなりませんが、\(s(x)\)というのは今我々の持っている分出公理が使えないほどに"巨大な"集合なのです。
ここで、この困難を克服するために、つぎの公理が導入されます:
(Set6) 置換公理\(P(x,y)\)を\(x,y\)を自由変数とする命題とし、\(a\)を集合とするとき、次が成り立つ:$$\begin{align}& \forall x [ x \in a \Rightarrow \forall y \forall z ( P(x,y) \wedge P(x,z) \Rightarrow y = z ) ] \\ & \quad \quad \Rightarrow \exists b \forall u [u \in b \Rightarrow \exists x ( x \in a \wedge P(x,u) ) ] \end{align}$$
普通の言葉でいうと、「\(a\)の任意の元\(x\)に対して\(P(x,y)\)が成り立つような\(y\)が存在するならばそれは一意的だとしよう。そのとき、集合\(b\)で、\(P(x,u) (x \in a)\)を成り立たせるような\(u\)全体からなるものが存在する」ということです。

最後に、(Set1)-(Set9)から分出公理(Set6')が示されることを見ていきます。集合\(a\)が元\(x\)を含むとき、\(a\)の部分集合\(b\)で、$$t \in b \Leftrightarrow t \in a \wedge t\not= x$$を満たすものが存在することを示します。
\(a = \{x\}\)のときは、\(b = \emptyset\)とすればよいので、\(a \in y, y \not= x\)とします。命題\(P(s,t)\)として、$$(s \in a \wedge s \not= x \Rightarrow t=s) \wedge (s=x \Rightarrow t=y)$$をとると、置換公理によって、集合\(b\)で$$t \in b \Leftrightarrow \exists s (s \in a \wedge P(s,t))$$をみたすものが存在します。これは示したかった性質をみたしています。
このような集合\(b\)を\(a-\{x\}\)と書きましょう。いま\(a\)を集合、\(P(x)\)を\(x\)を自由変数とする命題とするとき、集合\(c\)で$$x \in c \Leftrightarrow x \in a \wedge P(x)$$をみたすものが存在することを示せば、分出公理が成り立つことがわかります。\(x,y\)についての命題\(Q(x,y)\)として、$$(x \in a \wedge P(x) \Rightarrow y = x) \wedge (x \in a \wedge \lnot P(x) \Rightarrow y = a)$$というものをとります。置換公理によって、集合\(b\)で、$$y \in b \Leftrightarrow \exists x (x \in a \wedge Q(x,y))$$をみたすものが存在します。\(b\)の元\(y\)は、\(a\)の元\(x\)で\(P(x)\)を成り立たせるものか、または\(a\)自身です。もし\(a\)の任意の元\(x\)について\(P(x)\)が成り立つならば、\(b = a\)が成り立ち、その場合では上のような\(c\)として\(a\)自身をとれば解決です。もし\(a\)の元\(x\)で\(\lnot P(x)\)となるようなものがあれば、そのような\(x\)に対して命題\(Q(x,a)\)が成り立つから、\(a \in b\)が成り立ちます。ここで\(c = b - \{a\}\)とおけば、\(c\)の元はすべて\(a\)の元\(x\)で\(P(x)\)を成り立たせるものであり、また逆に\(a\)の元\(x\)で\(P(x)\)を満たすようなものがあれば、正則性公理によって\(x\)は\(a\)自身ではないので、\(c\)の元となっています。よって\(c\)は求める集合です。これで分出公理が導かれました。

以上、紹介した9つの公理(Set1)-(Set9)のことをZermelo-Fraenkelの公理系、あるいはZFC公理系と呼びます。我々が当たり前のように使っている数学(のほとんど)は、これら僅か9個のルールを基礎として築き上げられているのです。

参考文献

[1] 彌永昌吉,彌永健一 (1990), "集合と位相", 岩波書店
[2] G. Takeuti, W. M. Zaring (1971), "Introduction to Axiomatic Set Theory", Springer-Verlag

ZFC公理系について:その2

レイ・フロンティア株式会社のデータアナリストの齋藤です。
本記事の目的は、自然数全体の集合\(\mathbb{N}\)を定義し、その性質(の一部)を述べることです。

べき集合の公理、自然数の全体

自然数の話に戻ります。前記事で得られた、空集合0とその後継ぎ1,2,...の"全体"の集まりを\(\mathbb{N}\)とするのが、いかにも自然な発想であるように思われます。しかし、今無限公理によって存在が保証されているのは、あくまで0とその後継ぎたちを全て含む集合(すなわち、無限系譜)だけです。そのような集合は、"自然数"だけではなく、その他にいろいろ余計な元を含んでいる可能性があります。そこで、ある一つの無限系譜(それには自然数が全て含まれています)をてきとうにとり、それに含まれる無限系譜すべての共通部分をとればよいのではないか? というアイデアを思いつきます。これを実行するには、また新しい公理を加えねばなりません。というのも、ある無限系譜が与えられたときに、「それに含まれる無限系譜の全体」は集合だろうか? という問いに答えられないからです。この問いを一般化すると、「集合\(a\)が与えられたとき、"\(a\)の部分集合全体"は集合になるか?」ということになりますが、これに肯定的に答えるために以下の公理を導入します:

(Set7) べき集合の公理$$\forall a \exists b \forall x (x\in b \Leftrightarrow x \subset a) .$$
普通の言葉で言うと、「任意の集合\(a\)に対して、\(a\)の部分集合全体から成る集合\(b\)が存在する」ということです。この集合\(b\)は\(a\)のべき集合(power set)とよばれ、\(\mathcal{P}(a)\)と表されます。

さて、いよいよ自然数全体の定義に入りましょう。まず集合\(x\)について、「\(x\)は無限系譜である」という命題を\(M(x)\)で表します。論理式で書くと、\(M(x)\)とは、$$\emptyset \in x \wedge \forall y (y \in x \Rightarrow y^+ \in x)$$ということです。空集合とは異なる集合\(a\)に対して、$$\forall x(x \in a \Rightarrow M(x))$$が成り立つとき、\(a\)を無限樹と呼ぶことにします。たとえば、ある無限系譜\(x\)のシングルトン\(\{x\}\)は無限樹です。無限公理によって、無限樹は少なくとも一つ存在します。てきとうな無限樹をとって、共通部分をとることによって樹の"枝"を刈り取り、\(\mathbb{N}\)という一本の幹を切り出そうという魂胆です。
明らかに次の補題が成り立ちます:

補題1.無限系譜\(a,b\)について以下が成り立つ:
(i) \(\cap a\)は無限系譜である。
(ii) \(a \subset b \Rightarrow \cap a \supset \cap b .\)
さて、\(a\)を無限系譜として、$$\tilde a = \{x \in \mathcal{P}(z) \mid M(x)\}$$
とおきます。すなわち、\(\tilde a\)は\(a\)に部分集合として含まれる無限系譜全体からなる集合です。べき集合と分出公理と無限公理によって\(\tilde a\)は集合であり、外延性公理によって\(\tilde a\)は\(a\)によって確定します。さらに、\(a \tilde \ni a\)だから\(\tilde a \not= \emptyset \)であり、\(\tilde a\)は無限樹となっています。
$$\omega_a = \bigcap \tilde a$$とおきます。補題1によって\(\omega_a\)は無限系譜であり、\(\omega_a \in \tilde a\)が成り立ちます。いま、\(b\)を任意の無限系譜とすると、\(a\cap b\)もまた無限系譜なので、補題1により\(\omega_{a\cap b} \supset \omega_a\)となります。
ここで、\(z\)を\(\omega_{a\cap b}\)の任意の元とし、\(x \in \tilde a\)とします。すると、\(x \cap b \subset a \cap b\)であり、しかも\(x\cap b\)は無限系譜となるので\(x\cap b \in \widetilde {a \cap b}\)、ゆえに\(z \in x\cap b\)、したがって\(z \in x\)が成り立ちます。これにより\(z \in \omega_a\)が成り立つので、\(\omega_{a\cap b} \subset \omega_a\)、したがって\(\omega_{a\cap b} = \omega_a\)です。\(a,b\)は任意の無限系譜であったので、\(\omega_a = \omega_{a\cap b} = \omega_b\)となります。よって、無限系譜\(\omega_a\)は\(a\)の選び方によらずに確定し、しかも任意の無限系譜の部分集合になることがわかりました。この\(\omega_a\)を\(\mathbb{N}\)と書き、自然数全体の集合と呼びます。\(\mathbb{N}\)は0,1,2,...を元として含んでおり、\(\mathbb{N}\)の元を自然数(natural number)と呼びます。

ペアノの公理

前節の議論によって、我々はついに当初の目的であった「自然数の全体」という、具体的でかつ非自明な集合を手に入れることができました。しかし、果たしてこの集合を、我々がふだん接している"自然数の全体"であると言ってもよいのでしょうか。たとえば、定義から\(1 \subset 2 \subset 3 \subset \cdots\)のような関係が成り立ちますが、これは"普通の自然数"を考えるときにはちょっと馴染みの薄い光景です。しかし、考えようによっては、これは単に我々が自然数を定義するために上記のような方法をとったために産まれた"副産物"にすぎず、自然数としての"算術的性質"さえ満たされていれば、あとは"普通の自然数"として扱えても差し支えない、と思うこともできます。では、今我々が構成した"集合論的自然数"が"普通の自然数"と同じような"算術的性質"をもつことが示されるでしょうか?

自然数のもつべき"算術的性質"には、大小関係、足し算掛け算等々いろいろありますが、それらはいくつかの基本的な性質から証明できます(長くなるので、本記事では扱いません)。そのような基本的性質として挙げられるのが、ペアノ(Peano)の公理です。すなわち、集合\(a\)がつぎの命題たちを満たしていれば、\(a\)は"自然数の集合の算術的性質"を満たすことが示されます:

Peanoの公理(P1) \(x \in a\)ならば\(x^\prime\)と表される\(a\)の元が確定する。
(P2) \(a\)の元\(\nu\)で、\(a\)の任意の元\(x\)に対して\(x^\prime \not = \nu\)となるものが存在する。
(P3) \(b\subset a, \nu \in b\)かつ\(\forall x (x \in b \Rightarrow x^\prime \in b)\)が成り立てば\(b = a\)である。
(P4) \(x\in a, y \in a\)かつ\(x^\prime = y^\prime\)ならば\(x=y\)である。

そして、この性質は今定義した\(\mathbb{N}\)についても無事成立します。

定理3.集合\(\mathbb{N}\)について、Peanoの公理が成り立つ。ただし、\(x \in \mathbb{N}\)について\(x^\prime = x^+ = x \cup \{x\}\)とし、\(\nu = 0 = \emptyset\)とする。
(証明) (P1)が成り立つことは明らか。また、(P3)に現れる\(b\)は無限系譜であるから、\(\mathbb{N} \subset b \mathbb{N}\)ゆえに\(b = \omega\)だから(P3)が成り立つ。(P2)についても、\(\nu = 0 = \emptyset \)であり、なおかつ\(x^\prime = x \cup \{x\} \in x\)なので\(x^\prime \not= 0\)となる。
(P4)を示すために、\(x \in \omega, y \in \omega\)とし、\(x^+ = y^+\)としよう。\(x \in x^+ = y^+ = y \cup \{y\}\)であるから、\(x \in y\)と\(x = y\)のどちらかが成り立つ。同様にして、\(y \in x^+\)であるから、\(y \in x\)または\(y = x\)が成り立つ。
つぎの補題が成り立つとしよう(証明は後で述べる):

補題2.\(\mathbb{N}\)の元\(x,y\)について、\(x \in y \Leftrightarrow x \subsetneqq y .\)

\(x \in y\)かつ\(y \in x\)であると仮定する。上の議論により、\(x^+ = y^+ \Rightarrow x = y \vee (x \in y \wedge y \in x)\)であるが、補題2により\(x \in y \wedge y \in x \Rightarrow x \subsetneqq y \wedge y \subsetneqq x \Leftrightarrow x \subset y \wedge y \subset x \wedge x \not= y\)となり、一番右の命題は\( (x = y) \wedge \lnot (x = y)\)を意味するので矛盾。したがって\(x^+ = y^+ \Rightarrow x = y\)が成り立つ。■

最後に、仕上げとして補題2を証明しましょう。

(補題2の証明) \(y = 0 = \emptyset\)ならば、どのような\(x\)に対しても\(x \in y \)も\(x \subsetneqq y\)も成立しない。したがって、\(P,Q\)を任意の命題とするとき、\(x \in 0 \Rightarrow P\)と\(x \subsetneqq 0 \Rightarrow Q\)がともに成立する。ゆえに、このとき補題は成り立つ。
さて、上の議論のなかで、\(\mathbb{N}\)に関して(P3)が成り立つことは補題を用いずに証明されているので、\(\mathbb{N}\)の元\(y\)に関する次の命題\(P_1, P_2\)が示されればよい:$$\begin{align} &P_1: \forall x(x \in \mathbb{N} \wedge x \in y \Rightarrow x\subsetneqq y)\ \Rightarrow \ \forall x(x \in \mathbb{N} \wedge x \in y^+ \Rightarrow x\subsetneqq y^+) \\ &P_2: \forall x(x \in \mathbb{N} \wedge x \subsetneqq y \Rightarrow x\in y)\ \Rightarrow \ \forall x(x \in \mathbb{N} \wedge x \subsetneqq y^+ \Rightarrow x\in y^+) \end{align}$$まず\(P_1\)を示そう。\(x\in \mathbb{N}\)にたいして、\(x \in y^+ = y \cup \{y\}\)となれば、\(x \in y \vee x = y\)である。もし\(x \in y\) ならば、仮定により\(x \subsetneqq y\)であり、ゆえに\(x \subsetneqq y^+\)となる。また\(x=y\)ならば明らかに\(x \subset y^+\)であるから、\(y \not= y^+\)が示されれば\(x \subsetneqq y^+\)が示される。もし\(y = y^+\)ならば、\(y^+\)の定義から\(y \in y\)となるが、仮定と\(x=y\)より\(y \subsetneqq y\)、とくに\(y \not= y\)となるので矛盾である。したがって、\(y \subsetneqq y^+\)となって、\(P_1\)は示された。
次に、\(P_2\)が成り立つことを示そう。\(x \in \mathbb{N}\)について\(x \subsetneqq y^+\)となると仮定する。もし\(y \in x\)ならば\(P_1\)により\(y \subsetneqq x\)となり、ゆえに\(y \cup \{y\} \subset x\)となるが、これは\(x \subsetneqq y^+\)に反する。よって\(y \not\in x \)であるが、このとき\(x \subsetneqq y^+ = y \cup \{y\}\)から\(x \subset y\)がいえる。\(x \subset y \Leftrightarrow x \subsetneqq y \vee x = y\)である。仮定から\(x \subsetneqq y \Rightarrow x \in y \Rightarrow x \in y^+\)であり、しかも\(x=y \Rightarrow x \in y^+\)であるから、\(P_2\)は成り立つ。■

補題2の証明で活躍した公理(P3)は数学的帰納法の原理とも呼ばれています。実際、Peanoの公理は高校数学などでもお馴染みの数学的帰納法の定理を含んでいます:

定理4.(数学的帰納法)自然数\(n\)に関する命題\(P(n)\)について、つぎの(i),(ii)が成り立てば、任意の自然数\(n\)について\(P(n)\)が成り立つ:
(i) \(P(0). \)
(ii) \(\forall n (n \in \mathbb{N} \wedge P(n) \Rightarrow P(n^+)). \)

これでようやく、集合の公理を基礎として自然数および自然数全体の集合\(\mathbb{N}\)を、期待される算術的性質を満たす形で構成することができました。ここでは取り上げませんが、これらの公理を用いて、有理数、実数、複素数なども構成されます。では集合の公理はこれで全部としてよいのかというとそんなことはなく、様々な"無限集合"同士を比較するために新しい公理が必要となります。本記事もずいぶん長くなってしまいました。残りのZFCの公理の紹介は次回の記事で行いたいと思います。

次回に続きます。

ZFC公理系について:その1

レイ・フロンティア株式会社のデータアナリストの齋藤です。
今回皆様にお話するのは、現代数学の土台であり、我々が普段接する数学的対象をつくる素材を提供してくれる、ZFC公理系にまつわるお話です。

はじめに

集合とは「ものの集まり」を厳密に考える数学的対象のことで、数や図形、関数など現代の数学に登場するほとんど全ての概念が集合の言葉で書かれていると言っても過言ではありません。
集合が何たるかについては、集合論の創始者といわれるゲオルク・カントール(Georg Cantor)の著書"超限集合論"のつぎの言葉によって的確に表現されています:

'集合'とは一つの総体\(M\)であり、それを形成するもの\(m\)(それは\(M\)の'要素'とよばれる)は、それぞれ確定し、互いに識別され得る、われわれの直感または思惟の対象である。
カントールは集合論の研究を推し進め、数や図形にとどまらず、"ものの集まり"として考えることのできるあらゆるものを数学の対象にしようと試みました。しかし、そのような試みは集合論の内部からパラドックスの数々が見出されたことで致命的な危機にさらされることになりました。
(初期)集合論のパラドックスの一つとして有名なのが、ラッセル(Russell)のパラドックスでしょう。それは次のようなものです。集合について考えるとき、できるだけ普遍的な集合を想定するのが自然な考え方ですが、最も普遍的な集合は何かというと、それは「集合全体からなる集合\(\mathbb{S}\)」でしょう。\(\mathbb{S}\)はそれ自体が集合なので、当然\(\mathbb{S}\)の要素です。しかし、たとえば自然数の集合\(\mathbb{N}\)それ自体は自然数ではないので、\(\mathbb{N}\)の要素ではありません。このように、集合、すなわち\(\mathbb{S}\)の要素の中には「自分自身を要素として含まない集合」が存在しています。そのような集合の全体を\(\mathbb{A}\)とおきます。
さて、\(\mathbb{A}\)という集合は\(\mathbb{A}\)の要素でしょうか。もしYesであるならば、\(\mathbb{A}\)の定義により\(\mathbb{A}\)は\(\mathbb{A}\)の要素ではなくなってしまうので矛盾です。Noであるならば、やはり\(\mathbb{A}\)の定義により\(\mathbb{A}\)は\(\mathbb{A}\)の要素になってしまうのでこれまた矛盾してしまいます。
このようなパラドックスを回避するために、ツェルメロ(Zermelo)らによって集合論の公理系が整備されました。現代の数学者のほとんどはZFCと呼ばれる、ツェルメロとフレンケル(Fraenkel)による8つの公理に選択公理(Axiom of Choice)と呼ばれる公理を付け加えた公理系のもとで展開される数学を研究しています。そこでは、自然数や実数、関数、ベクトルと行列などなど身近な数学的対象は問題なく構成されており、私たちは(それなりに)安心して数学を利用することができています。
本記事の目標は、このZFC公理系に含まれる公理たちを、身近な数学的対象の代表といえる自然数とその全体\(\mathbb{N}\)を構成しながら紹介することです。

命題と論理式

命題(proposition)とは、数学的対象について論理記号や演算記号などを用いて記述された文章で、真であるかあるいは偽であるという性質をもつものです。たとえば、"\(1+1=2\)"であるとか、"\(\ \triangle ABC\)において\(AB=AC\)"などがそれに該当します。
与えられた命題\(P\)に対して、その否定、すなわち"\(P\)ではない"という命題のことを、$$\lnot P$$と書きます。また、命題\(P,Q\)が与えられたとき、"\(P\)または\(Q\)"という命題のことを\(P \vee Q\)と書き、"\(P\)かつ\(Q\)"のことを\(P \wedge Q\)と書きます。"\(P\)ならば\(Q\)"という命題は\(P \Rightarrow Q\)あるいは\(Q \Leftarrow P\)と書きます。これは\(\lnot P \vee Q\)と同じ意味です。命題\(P \Rightarrow Q \wedge P \Leftarrow Q\)のことを\(P \Leftrightarrow Q\)と書き、これが成り立つとき\(P\)と\(Q\)は同値であるといいます。
対象\(x\)についての命題を\(P(x)\)のように表すことがあります。\(P(x)\)は\(x\)を変数(variable)とする命題とよびます。この場合、\(x\)はある決まった集まり(あるいは族)に属するものとされます。
(与えられた族に属する)任意の対象\(x\)について、命題\(P(x)\)が成り立つことを主張する命題を、$$\forall xP(x)$$と書きます。また、対象\(x\)で命題\(P(x)\)が成立するようなものが存在するという命題を、$$\exists xP(x)$$と書きます。
これらの記号を用いて、たとえば、与えられた族に属する対象\(x\)についての命題\(P(x)\)が与えられたとき、$$\lnot (\forall xP(x)) \Leftrightarrow \exists x\lnot P(x)$$である……といった風な表現がなされます。これから説明していくZFC公理系の一つ一つも、これらの記号を組み合わせた論理式によって表現されます。

外延性公理と集合

集合論で扱われる対象のことを集合(set)とよびます。正確には、以下に述べる公理(Set1)-(Set9)をみたす対象のことを集合といいます。9つの公理を設ける目的は、数や関数などの大昔から広く受け入れられている数学的対象の諸々を再構成し、なおかつ"集合全体の集合"といったあまりに"大きすぎる"集まりを集合の世界から締め出すことにあります。
集合論的な命題を作るために、新しい記号\(\in, \ni\)を導入しましょう。命題$$a \in b \quad (または\ b \ni a)$$は、「\(a\)は\(b\)の元(または要素)(element)である」といい、否定命題\(\lnot (a \in b)\)のことを$$a \not\in b \quad (または\ b \not\ni a)$$と書きます。
ここで、最初の公理をおきましょう:

(Set1) 外延性公理$$\forall a \forall b [ a = b \Leftrightarrow \forall x (x \in a \Leftrightarrow x \in b)] .$$
外延性公理を"普通の言葉"で述べると、「任意の集合\(a,b\)について、\(a=b\)であるための必要十分条件は、任意の\(x\)に対して\(x \in a \Leftrightarrow x \in b\)が成り立つことである」となります。この公理によれば、集合は「それがどんな元を含むか」によって決定されるのです。集合の元どうしがどのように関係しあっていたとしても、その集合の(集合論的な)特徴づけには一切関与しません。
集合\(a,b\)について、\(\forall x (x \in a \Rightarrow x \in b\)が成り立つとき、「\(a\)は\(b\)の部分集合(subset)である」といい、これを\(a\subset b\)あるいは\(b \supset a\)と表します。

つぎの公理は、集合が(少なくとも1つ)存在することを、ある具体的な集合を論理式を用いて厳密に定めることによって主張するものです:

(Set2) 空集合の存在公理$$\exists a \forall x [\lnot (x \in a)].$$
"普通の言葉"でいうと、「このような元をも含まない集合\(a\)が存在する」というものです。
定理1.集合\(a\)が空集合となるための必要十分条件は、\(a\)が任意の集合\(x\)の部分集合となることである。
(証明) まず\(z\)をひとつの空集合とし、\(\forall x (x \supset z)\)が成り立つことを示す。そのためには、\(\forall y (y \in z \Rightarrow y \in x)\)を示せば良い。ところが、命題$$y \in z \Rightarrow y \in z$$の対偶は$$\lnot (y \in x) \Rightarrow \lnot (y \in z)$$であるが、空集合の定義によりこれは任意の\(y\)について成り立つ。
つぎに、集合\(a\)について\(\forall x (a \subset x)\)が成り立つとすると、とくに\(a \subset z\)となるが、上の議論により\(z \subset a\)であり、一般に\(a \subset z \wedge z \subset a \Leftrightarrow a = z\)であることより\(a =z \)となり、したがって\(a\)は空集合である。■
系.空集合は確定する。
(証明) 集合\(a,b\)について\(\forall x [\lnot (x \in a) ]\)と\(\forall x [\lnot (x \in b) ]\)が同時に成り立つとすれば、定理により\(a\subset b \wedge b\subset a \)が成り立つため、\(a =b \)となる。■

この系によって一つに定まる空集合を\(\emptyset\)と書きます。これでようやく、「何も含まない集合」という具体的な集合を得ることができました。

非順序対と合併

われわれは前節で要素の個数が0の集合\(\emptyset\)を得ることができましたが、普段当たり前のように接している有限集合\(\{a\}\)、\(\{1,2\}\)などはまだ知らないものとして議論を進めています。このような集合の存在を許すためには、新しい公理が必要です:

(Set3) 非順序対の存在公理$$\forall a \forall b \exists c \forall x (x \in c \Leftrightarrow x =a \vee x = b) .$$
"普通の言葉"で述べると、「任意の集合\(a,b\)に対して、\(a,b\)を元として含み、それ以外の元を含まない集合\(c\)が存在する」というものです。この集合\(c\)は\(a,b\)の非順序対(unordered pair)と呼ばれ、\(\{ a,b \}\)と書かれます。\(x=a \wedge x=b\)と\(x=b \wedge x=a\)は同値であるため、外延性公理によって\(\{a,b\} = \{b,a\}\)が成り立ちます。
集合\(\{ a,a \}\)を\(a\)のシングルトン(singleton)とよび、\(\{a\}\)と書きます。空集合のシングルトン\(\{\emptyset\}\)は、空集合を元として含むので空集合ではありません。こうして、非順序対の存在公理によって空でない集合を手にすることができました。

集合\(a,b,c\)について、\(\{ \{a,b\}, \{c\}\}, \{ \{a,c\}, \{b\}\}\)といった集合の存在は非順序対の存在公理によって示すことができます。では、\(\{a,b,c\}\)と書かれる集合の存在を示すことはできるでしょうか。一般にそういった集合の存在を許すのが、次の公理です。

(Set4) 合併集合の公理$$\forall a \exists b \forall x [x \in b \Leftrightarrow c (c \in a \wedge x \in c)] .$$
"普通の言葉"で述べると、「任意の集合\(a\)に対して集合\(b\)が存在し、任意の\(x\)に対して、\(x \in b\)となることと、\(x\)が\(a\)に含まれるある集合\(c\)の元となることが同値である」ということになります。ここで、\(b\)は\(a\)の元の元全体からなる集合と呼ばれます。外延性公理によりそのような集合は確定し、\(b\)は\(a\)に含まれる集合全体の合併と呼び、$$\bigcup_{c \in a}c$$あるいは$$\bigcup a$$と表します。また、集合\(a,b\)に対して\(c = \{a,b\}\)とするとき、\(\cup c\)を\(a\)と\(b\)の合併(union)とよび、\(a \cup b\)と表します。定義から、明らかに$$\forall x (x \in a \cup b \Leftrightarrow x \in a \vee x \in b)$$です。
明らかに\(\{a,b\} = \{a\} \cup \{b\}\)となり、したがって$$\begin{align} \{a,b\}\cup \{c\} &= (\{a\}\cup\{b\}) \cup \{c\} = \{a\} \cup \{b,c\} \\ &= \{a\}\cup \{c,b\} = \{a,c\}\cup \{b\} = \cdots \cdots \end{align}$$となります。\(\{a,b\}\cup \{c\}\)を\(\{a,b,c\}\)と表し、これを\(a,b,c\)からなる(非順序)組と呼びます。同様に、\(\{a,b,c\}\cup \{d\}\)を\(\{a,b,c,d\}\)などと書きます。

無限公理と無限系譜

さて、前節までの議論から次のことがわかります。空集合\(\emptyset\)が確定します。また、\(\emptyset\)のシングルトン\(\{\emptyset\}\)は\(\emptyset\)とは異なる集合です。また、\(\{\emptyset, \{\emptyset\}\} = \{\emptyset\} \cup \{\{\emptyset\}\}\)はこれら2つを部分集合として含みますが、どれとも異なります。
このようにして、つぎつぎと新しい集合を構成してゆくことができるのではないでしょうか。そして、集合論的に自然数\(0,1,2,3,\dots\)が存在し、よく知られた性質を満たすことを証明できるのではないでしょうか? そのためには、まず\(0\)とか\(1\)とかいった対象を集合論的に与える必要があります。そこで、我々が今持っている道具を用いて、$$\begin{align} 0 &= \emptyset , \\ 1 &= \{\emptyset\} = 0 \cup \{0\} , \\ 2 &= 1 \cup \{1\} = \{\emptyset, \{\emptyset\}\} = \{0,1\} , \\ 3 &= 2 \cup \{2\} = \{0,1,2\} , \\ &= \cdots \cdots \end{align}$$などと定義します。

一般に集合\(a\)が与えられたときに、非順序対の存在公理と合併集合の公理によって存在が保証される集合\(a \cup \{a\}\)を\(a\)の後継ぎと呼び、\(a^+\)と表します。たとえば、\(1 = 0^+ , 2 = 1^+, \dots\)となります。こうして、\(0 = \emptyset\)から始めて後継ぎを順々に取っていくことにより、我々は自然数を具体的に手にすることができるのです。
しかし、ここで問題が生じます。こうして得られた"自然数"の全体の集まりは、集合であるといえるのでしょうか。そして、もしそうであるならば、それを"自然数の集合"と呼んでよいでしょうか。こういった問題を解決するための第一歩として、また新しい公理を導入することにしましょう。

(Set5) 無限公理$$\exists a [ \emptyset \in a \wedge \forall x ( x \in a \Rightarrow x^+ \in a)] .$$
"普通の言葉"で述べると、「集合\(a\)で、\(\emptyset\)を含み、かつ任意の集合\(x\)について、\(x\in a\) ならば\(x^+ \in a \)となるようなものが存在する」と言い表せます。集合\(a\)が無限公理の条件をみたすとき、\(a\)を無限系譜と呼ぶことにします。
無限系譜は、少なくとも一つ存在しますが、一つに確定してはいません。"自然数の全体"という集合を構成するためには、無限系譜から"無駄なものを取り除く"という操作をすることが必要です。そのような操作を可能にするために、次節で述べる分出公理が用いられます。

分出公理と共通部分

次の公理を導入しましょう。

(Set6') 分出公理$$\forall a \exists b \forall x (x \in b \Leftrightarrow x \in a \wedge P(x)) .$$
"普通の言葉"で述べると、「任意の集合\(a\)に対して、\(P(x)\)が成り立つような\(a\)の元\(x\)の全体からなる\(a\)の部分集合\(b\)が存在する」といえます。番号にダッシュ'がついているのは、分出公理は後々に出てくる公理から証明されるので、ZFCに数える必要がないためです。外延性公理によってこのような\(b\)は確定し、\(\{x \in a \mid P(x)\}\)と表されます。
集合\(a,b\)に対して、集合\(\{x \in a \mid x \in b\}\)を\(a,b\)の共通部分とよび、\(a \cap b\)と表します。定義から明らかに次の命題が成り立ちます:$$\forall x (x \in a \cap b \Leftrightarrow x \in a \wedge x \in b).$$前節で定義された集合\(0,1,2,3,\dots\)について、$$0\cap a= 1 , 1\cap 2= 1, 1\cap 3= 1, 2\cap 3= 2, \dots$$などが成立します。
集合\(a,b,c\)に対して\((a\cap b)\cap c\)を\(a,b,c\)の共通部分とよび、\(a\cap b\cap c\)と表します。同様に、集合\(a,b,c,d\)について\((a\cap b\cap c)\cap d\)を\(a,b,c,d\)の共通部分とよび\(a\cap b\cap c\cap d\)、などと順次定義されます。このようなことを一般的に考えるために、\(a\)を空集合と異なる集合として、\(b\in a\)に対して$$\bar b = \{ x \in b \mid \forall y (y \in a \Rightarrow x \in y) \}$$を考えましょう。\(\bar b\)は、\(b\)の元で\(a\)のすべての元に含まれるもの全体からなる\(b\)の部分集合です。一般に、任意の\(x\)について、\(b\in a\)から、つぎの命題が成り立ちます:$$x\in \bar b \Leftrightarrow \forall y (y \in a \Rightarrow x \in y) .$$したがって、もし\(c\in a\)ならば\(\bar b = \bar c\)となり、\(\bar b\)は\(a\)の元\(b\)のとり方によらずに定まります。\(\bar b\)を\(a\)の元の共通部分(intersection)とよび、$$\bigcap_{x \in a}x$$または$$\bigcap a$$と書きます。とくに、\(a = \{b,c\}\)のとき、\(a\)の元の共通部分は\(b\cap c\)に他なりません。

次の定理が成り立ちます。

定理2.集合\(a\)に対して、\(a^\prime = \{x \in a \mid x \not\in x\}\)とすると、\(a^\prime \not\in a\)。
(証明) 命題\(P\)として\(a^\prime \in a\)を、命題\(Q\)として\(a^\prime \in a^\prime\)をとり、\(P \Rightarrow Q \wedge \lnot Q\)を示す。そうすれば\(\lnot P\)すなわち\(a^\prime \not\in a\)が成り立つ(背理法)。\(P\)が成り立つとすると、\(\lnot Q \Leftrightarrow P \wedge \lnot Q\)が成り立つが、\(a^\prime\)の定義によって\(P\wedge \lnot Q\)すなわち\( (a^\prime \in a)\wedge (a^\prime \not\in a^\prime) \)と\(Q\)すなわち\(a^\prime \in a^\prime\)とは同値である。ゆえに命題\(P\Rightarrow (\lnot Q \Leftrightarrow Q)\)が成り立つが、\(\lnot Q \Leftrightarrow Q\)は\(Q \wedge \lnot Q\)と同値であるので、\(P \Rightarrow Q \wedge \lnot Q\)が成り立つ。■
系.$$\forall a \exists b (b \not \in a) .$$
この系によって、どのような集合\(a\)をとっても、\(a\)に含まれない集合(たとえば\(a^\prime \))が存在することがわかります。したがって、"集合全体の集まり"は集合でないということになり、Russellのパラドックスは無事回避されたことになります。


自然数全体の集合はまだ定義されていませんが、きりがよいので本記事はここまでとします。次回で、自然数全体の集合\(\mathbb{N}\)と有名なペアノ(Peano)の公理、そしてZFC公理系の残りについて説明することにします。

感染症モデルとR0:その2

レイ・フロンティア株式会社のデータアナリストの齋藤です。前回の記事の続きを書いていこうと思います。

年齢構造をもつSIRモデルにおける\(\mathcal{R}_0\)

前記事では、感染症の常微分方程式モデルにおいて、感染者が生産する2次感染者の人数を表す基本再生産数\(\mathcal{R}_0\)が、方程式系の漸近挙動や非自明な平衡解の存在をきめる閾値になっていることを見てきました。次に、年齢構造を導入した場合の感染症モデルにおいても基本再生産数が重要な指標となっていることを、かなり駆け足になってしまいますがご紹介します。

モデルの構成

現実の伝染病の流行仮定を考える際には、年齢によって感染率が大きく異なるという事情から、年齢構造を導入することでより現実味のあるモデルを考えることができると期待できます。さらに、疫学的な問題として、ワクチン接種をどの年齢層に行うべきかを考えるうえでも年齢構造の考察は欠かせません。そこで、前節で考えたSIR型感染症モデルに年齢構造を入れた以下のモデルを考えてみます:
$$\left\{ \begin{align} &\frac{\partial S(t,a)}{\partial t} + \frac{\partial S(t,a)}{\partial a} = -(\mu(a) + \theta(a) + \lambda(t,a))S(t,a) \\ & \frac{\partial I(t,a)}{\partial t} + \frac{\partial I(t,a)}{\partial a} = \lambda(t,a)S(t,a) - (\mu(a) + \gamma(a)) I(t,a) \\ &\frac{\partial R(t,a)}{\partial t} + \frac{\partial R(t,a)}{\partial a} = \theta(a)S(t,a) + \gamma(a)I(t,a) - \mu(a)R(t,a) \\& S(t,0) = \int_0^\omega m(a) (S(t,a) + (1-q)I(t,a) + R(t,a))\, da \\& I(t,0) = q\int_0^\omega m(a)I(t,a)\, da \\ &R(t,0) = 0 \\ &S(0,a) = S_0(a),\ I(0,a) = I_0(a),\ R(0,a) = R_0(a) \end{align} \right.$$ここで、\(S(t,a),I(t,a),R(t,a)\)はそれぞれ感受性人口、感染人口、隔離人口の年齢密度関数とし、\(m(a)\)は年齢別出生率、\(\mu(a)\)は自然死亡率、\(\gamma(a)\)は隔離率、\(q\)は感染人口から産まれた新生児が感染している(これを垂直感染と呼びます)確率、\(\theta(a)\)はワクチン接種による免疫化率を表します。また、\(\lambda(t,a)\)は\(a\)歳の感受性人口に作用する感染力(force of infection)であり、以下のように与えられます:$$\lambda(t,a) = \frac{1}{N(t)}\int_0^\omega \beta(a,\sigma) I(t,\sigma)\, d\sigma .$$ただし、\(P(t,a) := S(t,a) + I(t,a) + R(t,a)\)とするとき、$$N(t) := \int_0^\omega P(t,a), da$$です。つまり\(N(t)\)は時刻\(t\)における総人口です。\(\beta(a,\sigma)\)は\(a\)歳の感受性個体と\(\sigma\)歳の感染個体の間の感染率であり、\(\omega\)は最大年齢、\(S_0,I_0,R_0\)は初期データです。
このシステムにおいて、全人口の年齢分布\(P(t,a)\)は以下の安定人口モデルにしたがうことがわかります:$$\left\{ \begin{align} &\frac{\partial P(t,a)}{\partial t} + \frac{\partial P(t,a)}{\partial a} = -\mu(a) P(t,a) \\& P(t,0) = \int_0^\omega m(a) P(t,a)\, da\\& P(0,a) = P_0(a) \end{align} \right.$$ここで、\(P_0(a) := S_0(a) + I_0(a) + R_0(a)\)です。したがって、全人口のサイズと年齢分布の時間発展は、感染の状況とは無関係に決定されます。安定人口モデルの一般論により、人口の年齢分布は時間に依らない分布へ収束します:$$\lim_{t \to \infty} \frac{P(t,a)}{\int_0^\omega P(t,a)\, da} = c(a) := \frac{e^{-\lambda_0 a} m(a) \ell(a)}{\int_0^\omega e^{-\lambda_0 a} m(a) \ell(a)\, da} .$$ここで\(\lambda_0\)は全人口の自然成長率、\(\ell(a)\)は生残率\(\ell(a) = \exp (-\int_0^a \mu(\sigma)\, d\sigma)\)です。\(c(a)\)は安定年齢分布といいます。そこで以下では、ホスト人口は既に安定年齢分布に到達しているものと仮定します。
全体人口が定常状態にあると仮定します。また、簡単のため、垂直感染が存在せず、ワクチン接種も行わないと仮定します。すなわち、\(q=0, \theta(a) \equiv 0\)であり、$$\int_0^\omega m(a)\ell(a)\, da = 1$$が成り立つとします。また、全人口が定常状態であるとすれば、任意の\(t>0\)について、$$P(t,a) = P_0(a) := B\ell(a) .$$ここで\(B\)は粗出生率と呼ばれる定数です。このとき\(c(a) = b\ell(a),\ b=1/\int_0^\omega \ell(a)\, da\)となります。\(b\)は規格化された定常人口分布の粗出生率です。

漸近挙動と\(\mathcal{R}_0\)

このとき、全人口が感受性であるような定常状態に少数の感染者が発生した場合を考えます。このとき、線形化された感染者のダイナミクスを考えれば、
$$\left\{ \begin{align} &\frac{\partial I(t,a)}{\partial t} + \frac{\partial I(t,a)}{\partial a} = c_2(a) \int_0^\omega \beta(a, \sigma) I(t,\sigma)\, d\sigma - (\mu(a) + \gamma(a))I(t,a)\\ &
I(t,0) = q\int_0^\omega m(a) I(t,a)\, da \end{align} \right.$$を得ます。この線形方程式を、Laplace変換を用いて形式に解くことを考えます。IのLaplace変換を$$\hat I(a,\alpha) = \int_0^\infty e^{-\alpha t} I(t,a)\, da$$とし、システムの上の方程式の両辺について時間\(t\)に関するLaplace変換をとれば、以下を得ます:$$\frac{d\hat I(t,a)}{da} = I_0(a) + c(a) \int_0^\omega \beta(a,\sigma)\hat I(\sigma,\alpha)\, d\sigma - (\alpha + \mu(a) + \gamma(a))\hat I(a,\alpha) .$$これを\(\hat I(\cdot, \alpha)\)に関する微分方程式とみて解けば、$$\begin{align}&\hat I(a,\alpha) = q \langle m,\hat I(\cdot, \alpha) \rangle e^{-\alpha a}\ell(a) \Gamma(a) \\ &\quad + \int_0^a e^{-\alpha (a-\sigma)}\frac{\ell(a)\Gamma(a)}{\ell(\sigma)\Gamma(\sigma)} [I_0(\sigma) + c(\sigma) \langle \beta(\sigma,\cdot), \hat I(\cdot, \alpha) \rangle ]\, d\sigma \end{align}$$を得ます。ここで、\(\Gamma(a) :=\exp(-\int_0^a \gamma(\sigma)\, d\sigma)\)です。上の等式の両辺に\(m(a), \beta(a,\sigma)\)をそれぞれ掛けてから\([0,\omega]\)上で積分すれば、\( \langle m,\hat I(\cdot, \alpha) \rangle, \langle \beta(a,\cdot), \hat I(\cdot, \alpha) \rangle\)に関する2つの等式が得られ、それらを連立して解けば\(\hat I(a,\alpha)\)が求まります。とくに、\(I\)によらない作用素\(T(\alpha)\)と関数\(f(a,\alpha)\)があって、$$\langle \beta(a,\cdot),\hat I(\cdot,\alpha) \rangle = (1 - T(\alpha))^{-1}f(\cdot,\alpha)(a)$$となります。安定人口モデルとのアナロジーから、\(\hat I(a,\alpha)\)の特異点、すなわち作用素\( (1-T(\alpha) )\)が有界な逆をもたないような点の集合\( \Lambda := \{ \lambda \in \mathbb{C} \mid 1 \in \sigma ( T(\alpha) ) \} \)によって\(I(t,a)\)の漸近挙動が決まると予想されます。実際、\(T(\alpha)\)がコンパクトかつノンサポーティングという性質をもち、かつ垂直感染がないならば、\(T(\alpha)\)は全ての\(\alpha \in \mathbb{R}\)で正作用素であり、方程式$$r(T(\alpha))=1$$(\(r\)はスペクトル半径を表す)は唯一つの実根\(\lambda_0 \in \Lambda\)をもち、しかも\(\lambda_0\)は\(\Lambda\)の任意の他の元の実部よりも大きいことが示されます。そして、感染症の流行の拡大がおこるためには、\(r( T(0) ) > 1\)となることが必要十分であることが知られています。
いま、作用素\(T\)を$$(Tf)(a) := c(a) \int_0^\omega \beta(a,x) \int_0^x \frac{\ell(x)\Gamma(x)}{\ell(\sigma)\Gamma(\sigma)}f(\sigma)\, d\sigma dx$$と定義すると、\(Tf\)はちょうど感染したばかりの感染者の年齢分布\(f\)から水平感染によって生産された2次感染者の年齢分布を表します。その意味で\(T\)は次世代作用素(next generation operator, NGO)と呼ばれます。次世代作用素のスペクトル半径は$$r(T) = \lim_{n \to \infty} \sqrt[n]{\| T^n \|}$$であり、漸近的には連続する世代の感染人口のサイズの比と解釈されるので、システムの基本再生産数\(\mathcal{R}_0\)であると考えられます。このとき、掛け算作用素\(L:f\mapsto cf\)について\(T = L^{-1}T(0)L\)が成り立つことから、$$r(T) = r( T(0) )$$を得ます。以上のことから、次の定理が得られます:

定理3. (閾値原理)水平感染において\(\mathcal{R_0} = r(T)\)とするとき、
\(\mathcal{R}_0>1\)ならば伝染病は侵入できる。
\(\mathcal{R}_0<1\)ならば伝染病は侵入できない。

非自明平衡解と\(\mathcal{R}_0\)

次に、定常人口下におけるシステムの定常解の存在を議論してみましょう。\( (S^\ast, I^\ast) \)を定常解として、定常解に対応する感染力を\(\lambda^\ast\)とすれば、$$\left\{ \begin{align} &\frac{dS^\ast(a)}{da} = -(\mu(a) + \theta(a) + \lambda^\ast(a))S^\ast(a) \\ &\frac{dI^\ast(a)}{da} = \lambda^\ast(a)S^\ast(a) - (\mu(a) + \gamma(a))I^\ast(a) \\ &S^\ast(0) = B - I^\ast(0) \\ &I^\ast(0) = q \int_0^\omega m(a) I^\ast(a)\, da \\ &\lambda^\ast(a) = \left( B\int_0^\omega \ell(a)\, da \right)^{-1} \int_0^\omega \beta(a,\sigma)I^\ast(\sigma)\, d\sigma . \end{align}\right.$$定数変化法を用いれば、以下の表現が得られます:$$\begin{align} &S^\ast(a) = S^\ast(0)\ell(a)\Theta(a)e^{-\int_0^a \lambda^\ast(\sigma)\, d\sigma},\\ &I^\ast(a) = I^\ast(0) \ell(a)\Gamma(a) + \int_0^a \frac{\Gamma(a)\ell(a)}{\Gamma(\sigma)\ell(\sigma)} \lambda^\ast(\sigma) S^\ast(\sigma)\, d\sigma \end{align}.$$ ここで、$$\Theta(a) := \exp \left( -\int_0^a \theta(\sigma)\, d\sigma \right)$$です。
いま、\(\lambda^\ast\)の非線形汎関数\(F(\lambda^\ast)\)を、$$\begin{align} F(\lambda^\ast) &:= \frac{qb^{-1}}{1 - q\int_0^\omega m(a)\ell(a)\Gamma(a)\,da} \\ &\times \int_0^\omega m(a) \int_0^a \frac{\Gamma(a)\ell(a)}{\Gamma(\sigma)\ell(\sigma)}\Theta(\sigma)c(\sigma)\lambda^\ast(\sigma) e^{-\int_0^\sigma \lambda^\ast(z)\, dz}\, d\sigma \, da \end{align}$$と定義すれば、\(I^\ast(0)\)は\(F(\lambda^\ast)\)を用いて次のように表されます:$$I^\ast(0) = \frac{BF(\lambda^\ast)}{1 + F(\lambda^\ast)}$$また、\(S^\ast(a), I^\ast(a)\)の表現を\(\lambda^\ast\)の式に代入すると\(S^\ast, I^\ast\)に関する文字を消去することができて、\(\lambda^\ast\)についての関係式$$\begin{align} \lambda^\ast(a) &= \frac{bF(\lambda^\ast)}{1 + F(\lambda^\ast)} \int_0^\omega \beta(a,\sigma)\ell(\sigma)\Gamma(\sigma)\, d\sigma \\ &+ \frac{1}{1 + F(\lambda^\ast)} \int_0^\omega \beta(a,\sigma) \int_0^\sigma \frac{\Gamma(\sigma)\ell(\sigma)}{\Gamma(z)\ell(z)} c(z)\Theta(z)\lambda^\ast(z) e^{-\int_0^z \lambda^\ast(s)\, ds}\, dz\, d\sigma \end{align}$$を得ます。この等式の右辺を\(\Phi(\lambda^\ast)\)と書きましょう。すると、非線形作用素\(\Phi\)が正の不動点を持てば、それが非自明な定常解に対応する感染力であり、感染力が求まればエンデミックな定常解が計算されることになります。一般に\(\Phi\)の不動点の個数は簡単には分かりませんが、ワクチンによる免疫化が無い場合を考えれば、侵入条件が満たされればエンデミックな定常解が存在します。
このことは、次のような流れで証明されます: \(\Phi(x)\)の\(x=0\)におけるFréchet微分を\(\Phi^\prime[0]\)とすれば、\(u \in L^1\)に対して、$$\begin{align} (\Phi^\prime[0]u)(a) &= \int_0^\omega \beta(a,\sigma) \int_0^\sigma \frac{\Gamma(\sigma)\ell(\sigma)}{\Gamma(z)\ell(z)} c(z)\Theta(z) u(z) \, dz\, d\sigma \\ &+ \frac{q\int_0^\omega \beta(a,\sigma)\ell(\sigma)\Gamma(\sigma)\, d\sigma}{1 - q\int_0^\omega m(a)\ell(a)\Gamma(a)\, da}\int_0^\omega m(a) \int_0^a \frac{\Gamma(a)\ell(a)}{\Gamma(\sigma)\ell(\sigma)} c(\sigma)\Theta(\sigma) u(\sigma)\, d\sigma\, da . \end{align}$$正値錐\(L_+^1\)の\(\Phi\)による像は正有界であるので、Krasnoselskiiの不動点定理により、\(\Phi^\prime[0]\)がコンパクト、ノンサポーティングかつ\(r(\Phi^\prime[0]) > 1\)ならば、\(\Phi\)は少なくとも1つの正の不動点をもちます。とくに\(\theta \equiv 0\)であれば、\(\Phi^\prime[0] = T(0)\)なので、\(T(0)\)がコンパクト、ノンサポーティングかつ侵入条件\(r(T) = r(T(0)) > 1\)が満たされていれば、少なくとも1つのエンデミックな定常解が存在します。

このときさらに垂直感染がないと仮定すると、\(q = F = 0\)として、\(\Phi(x) \leq \Phi^\prime[0]x\)となります。この場合、\(r(T)\leq 1\)であれば自明な定常解しかないことが知られていますが、この自明な定常解は大域安定となります。実際、\(S(t,a)\)が与えられていると考えると、\(I(t,a)\)は非自律的線形問題$$\left\{\begin{align} &\frac{\partial I(t,a)}{\partial t} + \frac{\partial I(t,a)}{\partial a} = \frac{S(t,a)}{B\int_0^\omega \ell(a)\, da}\int_0^\omega \beta(a,\sigma)I(t,\sigma)\, d\sigma - (\mu(a) + \gamma(a))I(t,a) \\ &I(t,0) = q\int_0^\omega m(a) I(t,a)\, da \end{align}\right.$$の正値解になっています。ここで、$$S(t,a) = \left\{ \begin{align}& B\ell(a)\exp\left( -\int_0^t \lambda(t-a+\sigma,\sigma)\, d\sigma \right) \quad (t - a > 0)\\ & S_0(a-t) \frac{\ell(a)}{\ell(a-t)} \exp \left( -\int_0^a \lambda(\sigma, a-t+\sigma)\, d\sigma \right) \quad (a - t > 0) \end{align}\right.$$であるから、\(t\)をじゅうぶん大きくとれば、$$\frac{S(t,a)}{B\int_0^\omega \ell(a)\, da} \leq \frac{\ell(a)}{\int_0^\omega \ell(a)\, da} = c(a)$$となります。ゆえに比較定理により、\(J(t,a)\)を初期条件\(J(0,a) = I_0(a)\)のもとでの線形化問題(前セクションで登場した線形化方程式のことです)の解とすれば、$$I(t,a) \leq J(t,a)$$となります。定理3により、\(q=0\)の場合、\(r(T)<1\)のときは$$\lim_{t \to \infty}J(t,a) = 0$$なので、\(I=0\)は大域的に漸近安定になっているとわかります。
したがって、次のような定理が得られます:

定理4.\(q = \theta = 0\)と仮定する。また、次世代作用素\(T\)はコンパクトかつノンサポーティングであると仮定する。
\(\mathcal{R}_0<1\)ならば定常解は自明なものに限り、大域的に漸近安定である。
\(\mathcal{R}_0>1\)ならば自明な定常解は不安定であり、少なくとも1つのエンデミックな定常解が存在する。
こうして、年齢構造を導入した場合においても、基本再生産数\(\mathcal{R}_0\)は非自明定常解の存在と自明定常解の安定性の両方をきめる閾値となっていることがわかりました。

参考文献

[1] 稲葉寿 (2002), "数理人口学", 東京大学出版会

感染症モデルとR0:その1

レイ・フロンティア株式会社のデータアナリストの齋藤です。すっかり寒くなってきましたね。

前々回の記事で、人口動態を記述する数理モデルにおいて、基本再生産数\(\mathcal{R}_0\)という量が重要な役割をもつことを述べました。次は、今回と次回の記事の2回にわたって、感染症の数理モデルについても\(\mathcal{R}_0\)という概念が有用であることを伝えたいと思います。

おさらい:安定人口モデルにおける\(\mathcal{R}_0\)

\(p(t,a)\)を時刻\(t\)における年齢\(a\)の年齢密度関数としたとき、\(p(t,a)\)に関する安定人口モデルは以下のようなシステムによって記述されます:
$$\left\{ \begin{align} & \frac{\partial p(t,a)}{\partial t} + \frac{\partial p(t,a)}{\partial a} = -\mu(a) p(t,a), \quad t>0,\ a>0 \\ & p(0,t) = \int_0^\omega \beta(a)p(t,a)\, da,\quad t>0 \\ & p(0,a) = p_0(a),\quad a \in [0,\omega] \end{align} \right.$$ここで\(\mu(a),\beta(a)\)はそれぞれ年齢別死亡率、年齢別出生率です。このモデルを変形することにより、再生方程式$$B(t) = G(t) + \int_0^t\Psi(a)B(t-a)\, da$$を得ます。ここで、$$\begin{align}&G(t) = \int_t^\omega \beta(a) \frac{\ell(a)}{\ell(a-t)}p_0(a-t)\, da \\ &\Psi(a) = \beta(a)\ell(a)\end{align}$$です。\(G(t)\)は初期時刻において生存している人口が時刻\(t\)で子を産むことに、\(\Psi(a)\)は\(a\)年前に産まれた人が\(a\)歳まで生存して子を産むことに、そして\(B(t)\)は時刻\(t\)で産まれた子の人数にそれぞれ対応しています。そこで、$$\mathcal{R}_0 = \int_0^\infty \Psi(a)\, da$$と定義すると、\(\mathcal{R}_0\)は一人の人が生涯に産む子の平均人数を意味します。
\(\mathcal{R}_0\)を基本再生産数と呼びます。

安定人口モデルにおいて、以下の定理が成り立ちます:

定理1. (Sharpe-Lotka-Fellerの定理)安定人口モデルにおける再生方程式に関して、以下が成り立つ:$$B(t) = q_0 e^{\lambda_0 t} (1 + O(e^{-\eta t})).$$ここで\(\eta\)はある正数、\(\lambda_0\)はLotkaの特性方程式$$\int_0^\omega e^{-\lambda a}\Psi(a)\, da = 1$$の唯一つの実根であり、$$q_0 = \frac{\int_0^\infty e^{-\lambda_0 t}G(t)\, dt}{\int_0^\infty a e^{\lambda_0 a}\Psi(a)\, da}$$である。
\(\lambda_0\)は内的成長率と呼ばれる量であり、基本再生産数との間に以下の符号関係が成り立ちます:$$\mathrm{sgn}\mathcal({R}_0-1) = \mathrm{sgn}\lambda_0$$すなわち、\(\mathcal{R}_0>1\)ならば人口は指数関数的に増大し、\(\mathcal{R}_0<1\)ならば減少します。「一人あたり一人より多く産めば人口は増えるし、一人より少なく産めば人口は減る」という直感的な推論が、この人口モデルにおいては確かに成立しているわけです。

感染症モデルにおける\(\mathcal{R}_0\)

次に、感染症の数理モデルを考えてみましょう。感染症モデルにおいても、様々なモデルについてそれに対応する\(\mathcal{R}_0\)が計算されています。人口の場合とは違い、感染症モデルにおける\(\mathcal{R}_0\)とは病気に感染した一人の人間が生涯にわたって病気をうつす人数のことです。しかしこの場合も人口モデルと同様に、「一人あたり一人より多くうつせば感染人口は増えるし、一人より少なくうつせば感染人口は減る」という法則が成立すると期待できます。
本記事では、年齢を考慮しない常微分方程式モデルを考えます。感染者の年齢を考慮した感染症モデルについては次回に述べます。

Kermack-McKendrickモデル

ある感染症について、\(S(t)\)を時刻\(t\)における感受性人口(susceptibles, 感染する可能性のある人口)、\(I(t)\)を感染人口(infected/infectious, 感染していて、かつ感染させる能力のある人口)、\(R(t)\)を隔離された人口(recovered.removed, 病気からの回復による免疫保持者、あるは隔離者、死亡者)とし、全人口を3つに分別します。今回は、病気の流行期間が非常に短く、感染プロセスにおいて出生や死亡などの人口動態は無視できると考えます。このとき、KermackとMcKendrickが提起したモデルは以下のような常微分方程式系です:
$$\left\{ \begin{align} & \frac{dS(t)}{dt} = -\beta S(t) I(t) \\ & \frac{dI(t)}{dt} = \beta S(t) I(t) - \gamma I(t) \\ & \frac{dR(t)}{dt} = \gamma I(t) \end{align} \right.$$ここで、\(\beta\)は感染率、\(\gamma\)は隔離率を表す正の定数です。一般に、このように人口を感受性・感染・隔離の3種類に類別した伝染病モデルをSIRモデルといいます。このモデルにおいて、総人口\(S(t)+I(t)+R(t)\)は$$\frac{d(S(t)+I(t)+R(t))}{dt} = 0$$より一定です。これを\(N\)とおきます。上の微分方程式系の定常解のひとつとして、$$(S(t),I(t),R(t)) = (N,0,0)$$があります。これは感染者がまだ一人もいない状態に対応するものです。このような状態を、感染者のいない定常状態(disease-free steady state, DFSS)と呼びます。感染症モデルの解析においては、disease-freeな人口集団に少数の感染者が発生した場合に流行(= 感染人口の増大)が発生する条件を調べるのが定石です。この条件は侵入条件と呼ばれます。\((N,0,0)\)の状態の集団にごく少数の感染者が発生した状態を考えます。\(S(t) \approx N, I(t) \approx 0\)より、感染者数のダイナミクスは平衡点\((N,0,0)\)での線形化方程式$$\frac{dI(t)}{dt} = (\beta N - \gamma)I(t)$$によって記述されます。したがって、流行が発生した直後における感染者人口は$$I(t) \approx I(0) e^{(\beta N - \gamma )t}$$というMalthus法則にしたがっています。このことから、\(\beta N - \gamma > 0\)ならば感染人口は増大し、\(\beta N - \gamma < 0\)ならば再びゼロに近づいていきます。条件\(\beta N - \gamma > 0\)は$$\mathcal{R}_0 := \frac{\beta N}{\gamma} > 1$$と同値ですが、この\(\mathcal{R}_0\)が基本再生産数と呼ばれています。\(\beta N\)はサイズ\(N\)の感受性人口集団において、一人の感染者が単位時間あたりに生産する2次感染者数を表します。そして、\(1/\gamma\)は感染者の感染状態にある時間の平均を表します。したがって、\(\mathcal{R}_0\)は感受性人口に侵入した感染者が一人あたりに生産する2次感染者数と解釈できます。

修正Kermack-McKendrickモデル

前節では人口動態のないSIRモデルを考えましたが、次は出生率を\(b\)、自然死亡率を\(\mu\)として、ホスト人口に人口動態を導入してみます。修正されたSIRモデルは以下のとおりです:
$$\left\{ \begin{align} & \frac{dS(t)}{dt} = b - \mu S(t) - \beta S(t) I(t) \\ & \frac{dI(t)}{dt} = \beta S(t) I(t) - (\mu + \gamma) I(t) \\ & \frac{dR(t)}{dt} = -\mu R(t) + \gamma I(t) \end{align} \right.$$このとき、総人口\(N(t) = S(t) + I(t) + R(t)\)は安定な平衡値\(b/\mu\)をもつので、はじめから全人口は一定値\(N=b/\mu\)をもつと仮定しておきます。このとき、上の常微分方程式系は以下の2次元の系と同値です:$$\left\{\begin{align}&\frac{dS(t)}{dt} = \mu N - \mu S(t) - \beta S(t) I(t) \\& \frac{dI(t)}{dt} = \beta S(t) I(t) - (\mu + \gamma)I(t)\end{align}\right.$$前節と同様に、初期侵入の状況(\(S(t) \approx N, I(t) \approx 0\))を考えると、線形化方程式は$$\frac{dI(t)}{dt} = (\gamma + \mu)\left[ \frac{\beta N}{\gamma + \mu} - 1 \right] I(t)$$となり、基本再生産数は$$\mathcal{R}_0 = \frac{\beta N}{\gamma + \mu}$$と求まります。さらに平衡点を探せば、$$E_1 = \left( \frac{b}{\mu}, 0 \right), \ E_2 = \left( \frac{N}{\mathcal{R}_0}, \frac{\mu}{\beta}(\mathcal{R}_0 - 1) \right)$$という2つの定常解が存在することがわかります。\(E_1\)はつねに存在する自明な定常解であり、感染者のいない定常状態です。一方、\(E_2\)は閾値条件\(\mathcal{R}_0 > 1\)が満たされた場合にのみ正となり、生物学的に意味をもちます。この定常解は伝染病が人口に定着して共存している、エンデミックな定常状態(endemic steady state, ESS)といいます。このとき、次のような定常解の安定性に関する閾値定理が成り立ちます:

定理2.\(\mathcal{R}_0 > 1\)ならば、DFSSは大域的に漸近安定である。
\(\mathcal{R}_0 < 1\)ならば、DFSSは不安定であり、ESSは大域的に漸近安定である。

次回に続きます。

テンソルの定義について: 普遍性と多重配列

レイ・フロンティア株式会社のデータアナリストの齋藤です。最近、食事がうどんばかりです。

本記事では、機械学習において盛んに応用され、深層学習のライブラリ tensorflow の名前の由来にもなっているテンソルについて述べます。機械学習においては、たとえば映画館の顧客について、「顧客の好み」「映画の種類」「放映された季節」など複数の"次元"を持つデータを多重配列として表現し、その類似度を求めるということが行われます。実際の計算処理のなかではテンソルは単なる多重配列として表現されますし、そのような理解で十分とする解説記事も多くあります。その一方で、テンソルの定義が気になって調べてみると難しい数学の説明ばかりでわけが分からなかった……という経験をした方も多いと思われます。そこで、本記事ではテンソルの数学的な定義と多重配列との関連について、その"気持ち"の部分をわかりやすく解説することを目指しました。少しでも納得に近づければ幸いです。

テンソルを導入するモチベーション

テンソル(tensor)という言葉の由来は、弾性学における"引っ張る力"を意味するテンション(tension)といわれています。現在テンションの概念は、材料力学において、物体の内部に加えられる力の大きさと方向を表し、物体の変形・破壊などを調べるのに使われる応力テンソル(stress tensor)に継承されています。まずは、この応力テンソルによって、テンソルの概念が自然に現れる様子を見ていきます。

応力テンソル

物体(連続体)の点\(r\)で、単位法線ベクトル\({\bf n}\)と面積\(\delta S\)をもつ面を考えます。この面を通じて、面の表側(\(r\)が向いている側)から裏側へもたらされる力を\(T({\bf n})\delta S\)と書くことにします。\(T({\bf n})\)は点\(r\)においてその面に作用する、単位面積あたりの力を表します。これを応力といいます。
ここで、物体を微小な四面体の集まりとして近似することを考え、面と接している四面体にはたらく力を考えます。ここで、四面体は3つの座標軸に垂直な3つの面をもっているとします。

f:id:reifrontier:20171011111719p:plain

この四面体にはたらく力は慣性力・外力・面積力の3種類ありますが、そのうち慣性力と外力は体積力であり、四面体の長さのスケール\(\delta l\)の3乗のオーダーを持ちます。面積力は2乗のオーダーなので、これらの力は四面体が十分に小さければ無視しても構いません。このとき、四面体に作用する面積力がつり合うと考えて、つり合いの式$$T({\bf n})\delta S + \sum_{j=1}^3 T(-{\bf e_j})\delta S_j = 0$$を得ます。ここで\(\delta S, \delta S_j\)はそれぞれの面の微小面積であり、\({\bf e}_j\)は\(x_j\)軸方向の単位ベクトルをさします。
\(\delta S_j = ({\bf n} \cdot {\bf e}_j ) \delta S\)であることから、$$T({\bf n}) = \sum_{j = 1}^3 T({\bf e}_j)({\bf n} \cdot {\bf e}_j )$$ となるので、3つの座標軸に垂直な面に作用する応力\(T({\bf e}_j)\ (j = 1,2,3)\)を知ることができれば、任意の面に作用する応力\(T({\bf e})\)を知ることができます。
ベクトル\(T\)の第\(i\)成分を\(T_i\)と書いたうえで、$$\sigma _{ij} := T_i({\bf e}_j)$$と定義すれば、\({\bf n} \cdot {\bf e}_j = {\bf n}_j\)より、$$T_i({\bf n}) = \sigma_{ij} {\bf n}_j$$と書けます。この9個の量\(\sigma_{ij}\)を成分とする量を応力テンソルと呼びます。

応力テンソルは9次元ベクトル空間のベクトルですが、力や位置のように"まっすぐ縦に数を並べた"量ではなく、\(i\)と\(j\)という2つのパラメータによって行列のように"2次元的に並べた"量として表現されます。その意味で、応力テンソルは通常のベクトルとは区別されるべき存在といえます。このような、成分を2次元的に並べられる量は2階のテンソルと呼ばれます。同様に、3,4,...次元的に並べられる量は3,4,...階のテンソルと言うことができます。

応力テンソルなど、物理学に現れるテンソルは、上にみた例のように多次元的に並べた時の各成分\(\sigma_{ij}\)のことをさして言うのが通例です。一方、近年応用の目覚ましい機械学習におけるテンソルは多次元的に並べられたデータの集まりであり、数学におけるテンソル積は普遍性と呼ばれるあるベクトル空間の性質から抽象的に定義される量です。このように学問領域によって言葉の使い方にばらつきがあることが、テンソルの定義の理解の妨げになっているのではないかと邪推しています。

テンソル積の定義

ここでは、数学的なテンソル積の定義を紹介することになります。しかし困ったことに、数学におけるテンソル積の定義にも異なる流儀が存在するのです(もちろん、どの定義を用いても結局は同じものが作られます)。本記事では、ベクトル空間のテンソル積の3種類の定義を紹介します。定理の証明を詳しく追いたい方は、参考文献に挙げた線形代数の本を参照してください。とくに[5]は本記事の執筆におおいに参考にしています。

方法1: 普遍性による定義: 基底を用いる

\(V,W\)を線形空間とします。係数体は何でもいいですが、\(\mathbb{R}\)や\(\mathbb{C}\)だと思って差し支えません。直積\(V\times W\)上の双線形写像の集合\(\mathscr{L}(V,W;U)\)を考えます。ここで、像の空間\(U\)を色々変えてみることを考えます。そうすると、\(U\)によらない特別な線形空間\(U_0\)と特別な双線形写像\(\iota : V \times W \to U_0\)が存在することが知られています。どういう風に特別なのかというと、\(U\)と、双線形写像\(\Phi:V \times W \to U\)をどのようにとったとしても、\(\iota\)によって\(\Phi\)は"線形化"されてしまうのです! この"双線形写像の線形化"という側面は、線形空間におけるテンソル積では本質的です。
そのような\(\iota\)を実際に作ってみましょう。\(V,W\)をそれぞれ\(n,m\)次元線形空間とし、それらの基底を1つずつ選んでそれぞれ\(\langle e_1,e_2,\dots,e_n\rangle , \langle f_1,f_2,\dots,f_m\rangle\)とおきます。また、\(U_0\)を\(mn\)次元線形空間として、\(\langle g_{11},g_{12},\dots, g_{1m},g_{21},g_{22},\dots, g_{2m},\dots, g_{n1},g_{n2},\dots, g_{nm}\rangle\)をその基底とします(\(n\)行\(m\)列に並べています)。そして、写像\(\iota: V\times W \to U_0\)を$$\begin{align}&V \ni v = \sum_i \alpha_i e_i,\ W \ni w = \sum_j \beta_j f_j\ (\alpha_i, \beta_j \in K)\ に対して\\& \iota(v,w) = \sum_{i,j} \alpha_i \beta_j g_{ij} \end{align}$$ によって定義します。
このとき、\((U_0,\iota)\)に関して次が成り立ちます:

定理1.
(1)\((U_0,\iota)\)に関して以下が成立する:
\((\otimes)\) \(^\forall \Phi \in \mathscr{L}(V,W;U)\)に対して、\(\Phi=F\circ \iota\)となる線形写像\(F: U_0 \to U\)がただ一つ存在する。

(2) (1)の性質をもつ\((U_0,\iota)\)は次の意味で一意的である: 線形空間と双線形写像の組\((U_0,\iota), (U_0^\prime,\iota^\prime)\)がともに(1)の性質をもつならば、線形同相写像\(F_0: U_0\to U_0^\prime\)であって\(F_0\circ \iota = \iota^\prime\)となるものがただ一つ存在する。

写像\(\iota\)の定義は基底を1つ選ぶことによってなされていますが、(2)によって基底によらない定義を与えていることがわかります。
重要なのは性質\((\otimes)\)です。感覚的に述べると、任意の(任意の空間への!)双線形写像\(V\times W \to U\)は、写像\(\iota\)を通すことによって線形写像\(U_0 \to U\)へと"線形化"することができるのです。このような、\(V\)と\(W\)のみによって定まり、ある意味で任意の\(U\)と\(\mathscr{L}(V,W;U)\)を統制する性質のことは、普遍性(universality)とよばれています。"線形化"写像\(\iota\)を改めて\(\otimes\)、\(U_0\)を\(V\otimes W\)と書き、\(V\otimes W\)をベクトル空間\(V,W\)のテンソル積、\(\otimes\)をテンソル積の標準写像と呼びます。また、ベクトル\(v\in V,w \in W\)について\(\otimes(v,w)\)を\(v\otimes w\)と表記します。これで、ひとまず我々が求めていたテンソル積の定義が手に入りました。

テンソル積は以下の性質をもちます:

命題2.(\(\otimes\)の双線形性)
\(\alpha, \beta \in K,\ v,v_1,v_2 \in V,\ w,w_1,w_2 \in W\)として、$$\begin{align}(\alpha v_1 + \beta v_2)\otimes w = \alpha (v_1 \otimes w) + \beta (v_2 \otimes w)\\ v\otimes (\alpha w_1 + \beta w_2) = \alpha (v \otimes w_1) + \beta (v \otimes w_2)\end{align}$$
また、\(V,W\)の基底\(\langle e_1,e_2,\dots,e_n\rangle , \langle f_1,f_2,\dots,f_m\rangle\)に対して、\(V\otimes W\)の元の集まり$$\begin{align}&\langle e_1\otimes f_1,e_1\otimes f_2,\dots, e_1\otimes f_m,\\ &e_2\otimes f_1,e_2\otimes f_2,\dots, e_2\otimes f_m,\\& \dots \dots \dots \dots, \\ &e_n\otimes f_1,e_n\otimes f_2,\dots, e_n\otimes f_m\rangle \end{align}$$は\(V\otimes W\)の基底になっています。したがって、$$\dim (V\otimes W) = mn = \dim V \dim W$$です。

方法2: 普遍性による定義: 基底を用いない

方法1では具体的に\(V,W,U\)の基底を1つとることによって標準写像を定義しましたが、線形空間の双対空間を用いれば、基底をとることなしにテンソル積を構成することもできます。
\(V,W\)の双対空間をそれぞれ\(V^\ast, W^\ast\)とし、$$U_0 = \mathscr{L}(V^\ast, W^\ast;K)$$とおきます。与えられた\((u,w) \in V\times W\)に対して、対応$$V^\ast \times W^\ast \ni (\phi, \psi) \mapsto \phi(v)\psi(w) \in K$$は\(V^\ast \times W^\ast\)から\(K\)への双線形写像を成すのでこれを\(\iota(u,w)\)とすればOKです。あとは方法1と同様にテンソル積を定義して、定理1や命題2を確かめることができます。

方法3: 商空間を用いる定義

3つめの方法は、線型空間の商空間を用いるものです。この流儀の定義は一見すると分かりにくいですが、重要なのはあくまで普遍性と双線形性であって、構成そのものを気にする必要はありません。
直積集合\(V\times W\)について、以下のような線形空間が定義できます:$$\mathscr{V}(V\times W) = \left\{ \sum_{(v,w) \in V\times W} \alpha(v,w) e(v,w) \middle| \alpha(v,w)\not=0となる(v,w)は高々有限個 \right\}$$ここで、\(\alpha(v,w) \in K\)であり、\(e(v,w)\)は\( (v,w)\in V\times W\)に対応する"もの"です。多項式\(\sum_i \alpha_i X^i\)の不定元のようなものだと思っておけばよいでしょう。
次に、\(\mathscr{V}(V\times W)\)の部分空間であって、次の形の元全体によって生成されるものを\(X\)とおきます:$$\left\{\begin{align} &e(v_1+v_2,w) - e(v_1,w) - e(v_2,w)\\ &e(v,w_1+w_2) - e(v,w_1) - e(v,w_2)\\ &e(\alpha v,w) - \alpha e(v,w)\\ &e(v,\alpha w) - \alpha e(v,w)\quad (v_1,v_2,v \in V,\ w_1,w_2,w \in W,\ \alpha \in K)\end{align}\right.$$商線形空間\(\mathscr{V}(V\times W)/X\)を\(U_1\)とおきます。また、\(\mathscr{V}(V\times W)\)から\(U_1\)への自然な射影を\(\pi\)とします。\(X\)の定義から、$$\pi (e(v_1+v_2,w)) - \pi (e(v_1,w)) - \pi (e(v_2,w)) = 0$$などが成り立ちます。ここから双線形性の雰囲気が何となく感じ取れるのではないでしょうか。
そして、写像\(e: V\times W \to \mathscr{V} (V\times W)\)と\(\pi\)の合成写像を\(\iota_1\)とおくと、次が成り立ちます:

定理3.
\(U_1,\iota_1\)は(方法1,2で定義した)テンソル積\(V\otimes W\)に同型である。
つまり、\(U_1,\iota_1\)はテンソル積のひとつの定義を与えているとみなすことができます。

高階テンソル

上で定義したテンソル積は2つの線形空間のある種の積でした。よってこれを2階のテンソルと呼びます。
テンソル積と線形空間のテンソル積を考えることも可能です。3つの線形空間\(V_1,V_2,V_3\)について、$$(V_1\otimes V_2)\otimes V_3 \cong V_1\otimes (V_2\otimes V_3)$$が成り立ちます。よって括弧の順番を気にすることなく\(V_1\otimes V_2\otimes V_3\)と書いてOKです。これを3つの線形空間のテンソル積、すなわち3階のテンソル積と呼びます。同様に、\(n\)個の線形空間\(V_1,V_2,\dots, V_n\)のテンソル積\(V_1\otimes V_2\otimes \cdots \otimes V_n\)を\(n\)階のテンソルと呼びます。\(n\)階のテンソルに関しても2階の場合と同様、\(n\)重の多重線形写像を"線形化"するという意味での普遍性と、\(n\)重線形性をもつことが確認できます。
スカラーは0階のテンソル、普通のベクトルは1階のテンソルと呼ばれます。データを"\(n\)次元に並べられる"ときに\(n\)階テンソル、ということになります。

多重配列としてのテンソル

さて、もう一つの目的であったテンソル積と多重配列との関係ですが、いったん定義を与えてしまえば簡単です。線形空間のテンソル積を方法1によって与えることにして、\(n\)個の線形空間\(V_1,V_2,\dots, V_n\)の基底を\(\langle e_{i,1},e_{i,2},\dots e_{i,m_i} \rangle,\ i=1,2,\dots, n\)とおきます。\(n\)階のテンソル\(V_1\otimes V_2\otimes \cdots \otimes V_n\)の元を、基底を用いて$$\sum_{j_1,j_2,\dots, j_n}\alpha(j_1,j_2,\dots, j_n) e_{1,j_i}\otimes e_{2,j_2}\otimes \cdots \otimes e_{n,j_n},\quad \alpha(j_1,j_2,\dots, j_n) \in K$$と書いたとき、係数\(\alpha(j_1,j_2,\dots, j_n)\)を\(n\)次元配列の成分\(\alpha[j_1][j_2]\dots [j_n]\)に対応させればOKです。プログラミングの世界における多重配列としてのテンソルの背景には、このような"普遍性(双線形写像の線形化)・双線形性"という興味深い構造が隠されていたのでした。

参考文献

[1] 石黒勝彦, 林浩平 (2016), "関係データ学習", 講談社

[2] 河合佑太, "気象力学を学ぶ上での基礎知識", http://epa.scitec.kobe-u.ac.jp/~ykawai/project/meteo_basic/

[3] 斎藤毅 (2007), "線形代数の世界", 東京大学出版会

[4] 佐武一郎 (1958), "線型代数学", 裳華房

[5] 横沼健雄 (1977), "テンソル空間と外積代数", 岩波書店

安定人口モデルについて

レイ・フロンティア株式会社でデータアナリストをしている齋藤です。これから、考えていることや興味を持って勉強していること、業務のなかで学んだ技術などについて定期的に発信していくことになりました。私個人としては数学や応用数理に興味を持って勉強を続けているので、そのような記事が中心になるかと思います。
お付き合い頂けると幸いです。

さて、現実の現象を理解するための手段として、現象を数理モデルによって記述し、モデルの性質を数学の問題として調べ、得られた結果を現実の言葉に翻訳するという数理的アプローチは基本的なものであり、今日ではあらゆる分野において数理モデルを用いた研究が行われています。今回はその中から、人口現象を説明するモデルである安定人口モデルを紹介します。

モデルの導出

歴史的経緯

人口学的現象を数理モデルによって説明しようとする試み自体は古くから存在しています。最も古いものは、おそらく13世紀にフィボナッチ(Leonardo Fibonacci)が彼の著書 "Liber Abaci"の中で紹介したフィボナッチ数列でしょう。
いま、ウサギのひとつがいを単位として、最初に1つがいのウサギが生まれてから\( n \)ヶ月後のつがいの数を\(P_n\)とします。また、

  • ウサギは生まれてから2ヶ月後に1つがいのウサギを産む。
  • ウサギが死ぬことは考えない。

とします。すると、漸化式 $$\left\{\begin{align} & P_{n+2} = P_{n+1} + P_n \\ & P_0 = 1 \end{align}\right.$$ が成り立ちます。\(n \to \infty\)とすると、比\(P_{n+1} / P_n\)は黄金比\(\phi = 1.6180339887...\)に収束します。これは、ウサギのつがい数は十分に時間が経つと公比\(\phi\)の等比数列に近づいていくことを意味します。このことを、つがい数は漸近的にMalthus径数\(\phi\)の指数的成長を行うと言い表します。後にも触れますが、人口が漸近的に指数的成長をすると仮定した場合の成長率を調べるというのは、人口モデルの解析における常套手段です。

人間の個体数の議論に数理モデルが広く受容されるようになったのは、マルサス(T. R. Malthus)が著書『人口論』において差分方程式モデル $$ P_{n+1} = (1 + r) P_n $$ を用いたことがきっかけでした。マルサスは、人口は指数関数的に増大するが食料は一次関数的にしか増大しないことから、人類は将来深刻な生活資源不足に陥ると警告しました。
人口モデルに年齢という概念がはじめて導入されたのは、ロトカ(A. J. Lotka)とシャープ(F. R. Sharpe)の論文([4])で提起された再生方程式(renewal equation) $$ B(t) = \int_0^\infty B(t-a) \ell(a) \beta(a)\, da$$ でした。ここで、\(B(t)\)は時刻\(t\)における単位時間あたりの出生数、\(\ell(a)\)は\(a\)歳までの生残率、\(\beta(a)\)は\(a\)歳の人口の年齢別出生率です。ロトカらは、再生方程式の解が漸近的に指数的成長をすることと、その漸近的な成長率が\(\ell\)と\(\beta\)によって決定されることを(数学的な厳密さは欠いていたものの)示しました。すなわち、外部との人口の流入出がない封鎖人口において、年齢ごとの死亡率と出生率が時間によらず一定ならば、時間が経つにつれて人口構造(ピラミッド型・壺型の図でおなじみの、年齢ごとの人口の比率のことです)は一定となり、総人口は指数的に変化するようになることを発見したのです。この理論は安定人口理論(stable population theory)と呼ばれ、人口学における基本的理論のひとつとなっています。彼らの結果はフェラー(W. Feller)によって数学的に正当化されました([1])が、その証明はLaplace変換を利用した極めて技巧的なものであり、それ以上の発展は到底見込めませんでした。それから40年以上経って、ウェブ(G. F. Webb)によってより一般の非線形人口モデルについて、それに対応する非線形半群による解を構成し、その振る舞いを調べるという関数解析的手法が打ち立てられました([5])。その後、メッツ(J. A. J. Metz)やディークマン(O. Diekmann)らによって年齢だけでなく位置やサイズなど様々な構造をもつモデルが研究され(その成果は論文集 [3] にまとめられています)、構造化人口動態学(structured population dynamics)という応用数学の一分野が確立されるに至ります。本記事で紹介するのは、構造化人口動態学の枠組みで考えられる最も単純なモデルです。あくまで紹介記事ですので、定理の証明などを細かく追うことはしません。きちんとした数学的な議論を見たい方は、たとえば[2], [3], [5]を参照するとよいでしょう。

パラメータの定義

まず、モデルに登場するパラメータたちについて説明します。
年齢構造をもつ人口集団において、時刻\(t\)における年齢密度関数(age-density function)を\(p(t,a)\)と書きます。積分$$ \int_{a_1}^{a_2} p(t,a)\, da $$は時刻\(t\)における年齢\(a_1\)以上\(a_2\)以下の人口になります。本記事で紹介するモデルは、\(p(t,a)\)に関する初期値境界値問題として定式化されます。
関数\(\mu (a)\)を、年齢\(a\)における個体の死亡の瞬間的な発生率とし、死亡力(force of mortality)あるいは年齢別死亡率(age-specific death rate)と呼びます。積分 $$\int_{a_1}^{a_2} \mu(a) p(t,a) \, da$$は単位時間あたりの年齢\(a_1\)以上\(a_2\)以下の死亡数となります。確率変数\(X\)を個体の死亡年齢とし、\(X\)の分布関数を\(F(a)\), 密度関数を\(f(a)\)とすると、\(\mu (a)\)は $$ \begin{align}\mu (a) &= \lim_{h \to 0} \frac{\mathbb{P}(a \leq X < a + h \mid a \leq X)}{h} = \lim_{h \to 0} \frac{\mathbb{P}(a \leq X < a + h)}{\mathbb{P}(a \leq X) h} \\ &= \frac{f(a)}{1 - F(a)} = -\frac{d}{da} (1 - F(a)) \end{align}$$ です(ここで、\(\mathbb{P}(A)\)は事象\(A\)がおこる確率を表します)。 このとき、 $$ \ell (a) := 1 - F(a) $$は個体が\(a\)歳まで生存する確率を意味し、生残率(survival rate)と呼ばれます。\(\mu(a)\)の定義から、微分方程式 $$ \frac{d\ell (a)}{da} = -\mu(a)\ell(a) $$が成り立ちます。これと\(\ell(0)\)(0歳の時点では確率1で生き残っている)から、$$ \ell (a) = \exp \left( - \int_0^a \mu (b) \, db \right) $$を得ます。いま、各個体は有限の最大年齢\(\omega\)をもつと仮定しましょう。すると\(\ell(\omega) = 0\)でなければならないので、$$\int_0^\omega \mu(a)\, da = \infty $$が必要です。たいていの場合\(\mu\)は上の式を満たす局所可積分な非負関数と仮定されますが、実際のデータでは年齢が\(0, \omega\)に近いところで急激に増加するU字型のグラフを示します。
関数\(\beta(a)\)を、単位時間あたりに微小な年齢区間\([a, a + da]\)にいる一個体から産まれる新生児の数とし、これを年齢別出生率(age-specific birth rate)と呼びます。積分$$\int_{a_1}^{a_2} \beta(a) p(t,a) \, da$$は単位時間に年齢\(a_1\)以上\(a_2\)以下の個体から産まれる新生児の数です。単位時間に産まれる新生児の総数\(B(t)\)は、$$B(t) = \int_0^\omega \beta(a) p(t,a) \, da$$によって与えられます。再生方程式は、この\(B(t)\)についての積分方程式です。実際のモデル解析においては、\(\beta\)はある有界閉区間\([\beta_1,\beta_2]\)の外で0である非負有界可積分関数と仮定されるのが通例です。区間\([\beta_1,\beta_2]\)は子どもを産める年齢の区間を意味し、再生産年齢(reproduction age)と呼ばれます。

方程式の導出

時刻\(t\)における\(a\)歳以下の人口を\(F(t,a)\)とします。すなわち、$$F(t,a) := \int_0^a p(t,s)\, ds$$とします。すると、時間間隔\([t, t+h]\)における人口の増減を考えることにより、人口方程式
$$ \begin{align}F(t+h,a+h) - F(t,a) &= ( [t, t+h] で生まれた人数 ) - ( [t, t+h] で亡くなった人数 ) \\ &= \int_t^{t+h} B(s)\, ds - \int_0^h \!\!\! \int_0^{a+s} \mu(b) p(t+s,b)\, dbds \end{align}$$を得ます。両辺を\(h\)について微分して\(h=0\)とおくと、積分記号下での微分を形式的に用いて、連続方程式$$p(t,a) + \int_0^a \frac{\partial p(t,s)}{\partial t}\, ds = B(t) - \int_0^a \mu(t,s)p(t,s)\, ds$$が得られます。特に\(a=0\)とおけば、$$p(0,t) = B(t) = \int_0^\omega \beta(a)p(t,a)\, da$$を得ます。連続方程式を\(a\)について微分すれば、$$\frac{\partial p(t,a)}{\partial t} + \frac{\partial p(t,a)}{\partial a} = -\mu(a) p(t,a)$$となります。これをマッケンドリック方程式(McKendrick equation)と呼びます。初期条件を\(p(a,0) = p_0(a)\)と設定することにより、年齢密度関数\(p(t,a)\)は以下の初期値境界値問題にしたがいます:$$\left\{ \begin{align} & \frac{\partial p(t,a)}{\partial t} + \frac{\partial p(t,a)}{\partial a} = -\mu(a) p(t,a), \quad t>0,\ a>0 \\ & p(0,t) = \int_0^\omega \beta(a)p(t,a)\, da,\quad t>0 \\ & p(0,a) = p_0(a),\quad a \in [0,\omega] \end{align} \right.$$これが安定人口モデル(stable population model)と呼ばれるものです。

モデルの解析

解の存在と一意性、人口作用素の性質

以下では、1980年代半ばに大きく発展を遂げた安定人口モデルへの関数解析的アプローチを概観します。安定人口モデルを\(L^1\)における抽象的な微分方程式として捉え直せば、Hille-Yosidaの半群の生成定理を用いて解作用素を導くことができます。本記事では線形の安定人口モデルのみを扱っていますが、この手法が真に効力を発揮するのは、モデルの右辺がより複雑な非線形問題を考えるときです。実際、1980年代以降の構造化人口動態学の発展は半群の理論を駆使した関数解析的手法の開発によるところが大きいのです。
いま、安定人口モデルにおける死亡力と年齢別出生率は\(\mu, \beta \in L_+^\infty (0,\omega) \)をみたすと仮定します。すなわち、$$ \bar\mu := \sup_{a \in [0,\omega]} \mu(a) < \infty , \ \bar\beta := \sup_{a \in [0,\omega]} \beta(a) < \infty $$が成り立つとします。このとき、安定人口モデルは次のようなBanach空間\(L^1(0,\omega)\)上の抽象的Cauchy問題として考えることができます: $$\left\{ \begin{align} & \frac{dp(t)}{dt} = Ap(t) \\ & p(0) = p_0 \end{align} \right.$$ ここで、\(A\)は以下のように定義される人口作用素(population operator)です: $$ \left\{ \begin{align} & (A\phi)(a) = -\frac{d\phi (a)}{da} - \mu(a)\phi(a) \\ & \mathcal{D}(A) = \left\{ \phi \in L^1(0,\omega) \,\middle| \, \phi は絶対連続かつ \phi(0) = \int_0^\omega \beta(a) \phi(a) \, da \right\} \end{align} \right. $$ \(\phi \in \mathcal{D}(A)\)ならば、ほとんどいたるところ微分係数\(\phi^\prime\)が存在して\(\phi^\prime \in L^1(0,\omega)\)となります。
人口作用素は以下の性質をもちます:

定理1.
人口作用素\(A\)に関して、以下の(1)-(6)が成り立つ。ただし、$$\hat\Psi := \int_0^\omega e^{-\lambda a} \beta(a) \ell(a)\, da , \quad \underline{\mu} := \inf_{a \in [0,\omega] \mu(a)}$$と定義しておく。
(1) \( \sigma(A) = P_\sigma(A) = \{ \lambda \in \mathbb{C} \mid \hat\Psi(\lambda) = 1 \}\) である。ここで、\(\sigma(A), P_\sigma(A)\)はそれぞれ\(A\)のスペクトル集合、点スペクトルを意味する。
(2) レゾルベント \(R(\lambda, A)\)はコンパクト作用素であって、$$\begin{align}(R(\lambda,A)\phi)(a) &= \int_0^a e^{-\lambda (a-z)} \frac{\ell(a)}{\ell(z)}\phi(z)\, dz \\ & + \frac{e^{-\lambda a}\ell(a)}{1-\hat\Psi(\lambda)} \int_0^\omega \!\!\! \int_z^\omega e^{-\lambda (a-z)}\frac{\ell(a)}{\ell(z)} \beta(a)\, da \phi(z) \, dz \end{align}$$ (3)\(\lambda \in \sigma(A)\)であれば\(\lambda\)の代数的重複度は有限であって、\(\lambda\)に対応する固有空間は\(N(\lambda-A) = \{ce^{-\lambda a} \mid c \in \mathbb{C} \}\)で与えられる。
(4) \( \rho(A) \supset \{\lambda \in \mathbb{C} \mid \Re \lambda < \bar\beta - \underline{\mu}\}\)であり、\(\lambda \in \mathbb{R}\)で\(\lambda>\bar\beta-\underline{\mu}\)であれば\(R(\lambda,A)\)は正値作用素である。
(5) \(\lambda\in\sigma(A)\)ならば\(\bar\lambda\in\sigma(A)\)である。
(6) \( ^\forall \alpha > -\infty \)について、\(A\)は半平面\(\Re \lambda \geq \alpha\)に高々有限個の固有値しかもたない。

定理2.
人口作用素\(A\)は閉作用素であり、かつ\(\mathcal{D}(A)\)は\(L^1(0,\omega)\)で稠密である。

以上の準備のもとで、Hille-Yosidaの定理により次が成り立ちます:

定理3.
人口作用素\(A\)は\(C_0\)半群 \(T(t)\ (t\leq 0) \)を生成する。\(T(t)\)は以下をみたす:$$ \begin{align} & \|T(t)\| \leq e^{(\bar\beta - \underline{\mu}) t} \\ & T(t)(L_+^1) \subset L_+^1 \end{align}$$しかも、\(p_0 \in \mathcal{D}(A)\)ならば\(p(t)=T(t)p_0\)は抽象的Cauchy問題の古典解を与える。

人口作用素のスペクトルとSharpe-Lotka-Fellerの定理

\(C_0\)半群とその無限小生成作用素のスペクトルに関する一般的な性質について少し述べます。作用素\(A\)のスペクトル上限\(s(A)\)とスペクトル半径\(r(A)\)はそれぞれ $$\begin{align} & s(A) := \sup\{ \Re \lambda \mid \lambda \in \sigma(A) \} \\ & r(A) := \{ |\lambda| \: \mid \lambda \in \sigma(A) \} \end{align}$$ また、半群\(T(t)\)の成長上限(growth bound)は$$\omega_0 := \inf \{w \in \mathbb{R} \mid ^\forall t\leq 0,\ ^\exists M(w)\in \mathbb{R}_+,\ s.t.\ \|T(t)\| \leq M(w)e^{wt} \}$$ と定められます。このとき、$$\omega_0 = \lim_{t\to \infty} \frac{\log\|T(t)\|}{t}$$であり、\(-\infty \leq \omega_0 < \infty\)が成り立ちます。

定理4.
\(\omega_0\)を\(C_0\)半群\(T(t)(t\geq 0)\)の成長上限、\(A\)を無限小生成作用素とすれば、\(^\forall t\geq 0\)に対して以下が成り立つ:$$e^{s(A) t}\leq r(T(t)) = e^{\omega_0 t}$$ \(A\)が有界作用素であれば、$$e^{s(A) t} = r(T(t)) = e^{\omega_0 t}$$とくに、\(\omega_0 = s(A)\)である。

\(\omega_0 = s(A)\)であるならば、無限小生成作用素のスペクトルの実部の上限が負であれば、\(\lim_{t\to \infty}\|T(t)\| = 0\)となります。これは、連立微分方程式\(x^\prime (t) = Ax(t)\)の解の漸近挙動を調べるには、行列\(A\)の固有値の実部の正負に注目すればよい……という議論の無限次元バージョンとなっています。
\(t_0\)が存在して\(T(t_0)\)がコンパクト作用素になるとき、半群\(T(t)\)は終局的コンパクト(eventually compact)であるといいます。終局的コンパクトな半群に関して、以下の定理が成り立ちます:

定理5. (スペクトル写像定理) $$\sigma(T(t)) \setminus \{0\} = e^{t\sigma(A)} := \{e^{t\lambda} \mid \lambda \in \sigma(A)\} , \quad t\geq 0 .$$ 定理3によって存在が保証された半群は人口半群(population semigroup)と呼ばれますが、これは終局的コンパクトであることが知られています。よってスペクトル写像定理が成り立ち、そのとき\(\omega_0 = s(A)\)なので、抽象的Cauchy問題のゼロ解が大域的安定である(すなわち、\(t\to\infty\)とすると人口がゼロに近づいていく)ためには、人口作用素\(A\)のスペクトル上限が負であれば十分であることがわかります。一般に、そうなっているかどうかは\(\mu\)と\(\beta\)のバランスによって決定されます。
ゼロ解の大域安定性について、より精密な条件を与えるのがSharpe-Lotka-Fellerの定理です。この定理によって、特性方程式\(\hat\Psi(\lambda) = 1\)のただ一つの実根\(\lambda_0\)によって安定人口モデルの漸近挙動が支配されることが判明するのです。ここでは、関数解析的な言葉を使って記しておきます:

定理6.
\(\lambda_0\)を人口作用素の実固有値とする。このとき、1次元の射影子\(P_0\)と正数\(\varepsilon >0, M(\varepsilon)\geq 1\)が存在して、$$ \| e^{-\lambda_0 t} T(t) - P_0\| \leq M(\varepsilon)e^{-\epsilon t}$$となる。ここで、\(u_0,v_0\)を\(A\)の固有値\(\lambda_0\)に対応する固有ベクトルおよび共役固有ベクトルとすれば、$$P_0\psi = \frac{\langle v_0,\psi \rangle}{\langle v_0,u_0 \rangle}u_0$$と表される。

つまり、半群\(T(t)\)は初期値によって決まる定ベクトルの\(e^{\lambda_0 t}\)倍に近づいていきます。\(\lambda_0\)は自然成長率(intrinsic rate of natural increase)あるいは安定人口成長率、内的成長率などと呼ばれています。\(\lambda_0<0\)ならば人口はゼロ解に近づいていき、\(\lambda_0>0\)ならば増大していきます。

Lotkaの再生方程式と基本再生産数

安定人口モデルを特性線\(t-a=Const.\)に沿って積分することにより、以下の表示を得ます:$$p(t,a) = \left\{ \begin{array}[ll] \, B(t-a) \ell(a), & t-a>0 \\ p_0(a-t) \frac{\ell(a)}{\ell(a-t)}, & a-t>0 \end{array} \right.$$したがって、出生数\(B(t)\)が求まれば年齢密度関数も求まります。これを境界条件に代入することにより、以下の積分方程式を得ます:$$B(t) = G(t) + \int_0^t \Psi(a)B(t-a)\, da$$ ここで、\(G(t), \Psi(a)\)は以下によって与えられる既知関数です:$$G(t)= \int_t^\omega \beta(a) \frac{\ell(a)}{\ell(a-t)}p_0(a-t)\, da , \quad \Psi(a) = \beta(a)\ell(a)$$特に、\(G(t)\)は時刻\(0\)に生存している個体から時刻\(t\)に産まれる単位時間あたりの新生児数と解釈されます。これが、Lotkaの積分方程式、あるいは再生方程式と呼ばれているものです。定理6から、\(B(t)\)に関するSharpe-Lotka-Fellerの定理が帰結します:

定理7. (Sharpe-Lotka-Fellerの定理)
安定人口モデルにおける再生方程式の解\(B(t)\)に関して、以下が成り立つ:$$B(t) = q_0 e^{\lambda_0 t}(1+O(e^{\eta t}))$$ここで\(\eta\)はある正数であって、$$q_0 = \frac{\int_0^\infty e^{-\lambda_0 t}G(t)\, dt}{\int_0^\infty a e^{-\lambda_0 a}\Psi(a)\, da}$$である。

さて、関数\(B_n(t)\ (n=0,1,2,\dots)\)を次のように定義してみましょう:$$\left\{ \begin{align} &B_0(t) = G(t)\\ &B_n(t) = \int_0^t \Psi(t-a) B_{n-1}(a)\, da ,\quad n\geq 1 \end{align} \right.$$関数\(B_n(t)\)は、初期人口の第\(n\)世代の子孫の出生率を与えています。各世代にわたる和\(\sum_{n=0}^\infty B_n(t)\)はLotkaの積分方程式の解となっています。
各世代の総出生数を計算してみましょう。漸化式から、$$\begin{align} \int_0^\infty B_n(t)\, dt &= \int_0^\infty \, dt \int_0^t \Psi(t-a) B_{n-1}(a)\, da \\ &= \int_0^\infty B_{n-1}(a)\, da \int_a^\infty \Psi(t-a) \, dt = \mathcal{R}_0 \int_0^\infty B_{n-1}(t)\, dt \end{align}$$ を得ます。ここで、$$\mathcal{R}_0 = \int_0^\omega \Psi(a) \, da$$は基本再生産数(basic reproduction number)といい、一個体が生涯に産む個体数と解釈される量です。人口学的な意味から、\(\mathcal{R}_0>1\)ならば人口は増大し、\(\mathcal{R}_0 <1\)ならば人口は減少すると予想されますが、実際、自然成長率は特性方程式$$\int_0^\omega e^{-\lambda_0 a}\Psi(a)\, da = 1$$をみたす実数であったので、符号関係$$\mathrm{sgn}(\mathcal{R}_0-1) = \mathrm{sgn} \lambda_0$$が成立します。基本再生産数は安定人口モデルだけではなく、その拡張のモデルや感染症モデルなどの様々な個体群動態モデルに現れており、構造化人口動態学における最も重要な概念の一つとして知られています。

参考文献

[1] W. Feller (1941), "On the integral equation of renewal theory", Ann. Math. Stat. 12: 243-267.

[2] 稲葉 寿 (2002), "数理人口学", 東京大学出版会.

[3] J. A. J. Metz, O. Diekmann (1986), "The Dynamics of Physiologically Structured Populations", Lect. Notes in Biomath. 68, Springer, Berlin.

[4] F. R. Sharpe, A. J. Lotka (1911), "A problem in age-distribution", Philosophical Magazine, Series 6, Vol. 21: 435-438.

[5] G. F. Webb (1985), "Theory of Nonlinear Age-Dependent Population Dynamics", Marcel Dekker, New York and Basel.