limitとcolimitのdual感を味わう

これまで圏論にまつわる記事をいくつか書いてきた。本稿ではその続きとしてlimit, colimitについて説明する。

limit

圏論におけるlimitとは何かについて説明したいのだが、limitの定義を理解するためにはdiagramとconeについて理解しておく必要がある。まずはdiagramの定義を本[1]から引用したものを以下に示す。

diagram
Let  \mathcal{A} be a category and  \mathbf{I} a small category. A functor  \mathbf{I} \to \mathcal{A} is called a diagram in  \mathcal{A} of shape  \mathbf{I}.

Diagramと言われると何か図形っぽいものを想像するかもしれないが、定義にある通りその正体は関手であるという点は注意しておきたい。

続いてconeの定義も本[1]から引用する。

cone
Let  \mathcal{A} be a category,  \mathbf{I} a small category, and  D: \mathbf{I} \to \mathcal{A} a diagram in  \mathcal{A}.
A cone on  D is an object  A \in \mathcal{A} (the vertex of the cone) together with a family
 \begin{equation}
\left(A \xrightarrow{f_I} D(I) \right)_{I \in \mathbf{I}} \tag{5.15}
\end{equation} of maps in  \mathcal{A} such that for all maps  I \xrightarrow{u} J in  \mathbf{I}, the triangle
commutes. (Here and later, we abbreviate  D(u) as  Du.)

はてなブログだと四角以外の可換図式がうまく描けないので本[1]のスクショ画像を貼った。

coneというのはその名の通り三角コーンみたいなものをイメージすればよいだろう。すなわち、頂点が1つあって、地面( \mathcal{A})に適当な図形(三角コーンなら円形、一般のconeなら \left(D(I) \right)_{I \in \mathbf{I}})があり、頂点からその図形に向かって線( \left(A \xrightarrow{f_I} D(I) \right)_{I \in \mathbf{I}})が伸びているようなイメージである。

では、limitの定義を本[1]から引用する。

limit
A limit of  D is a cone  \left(L \xrightarrow{p_I} D(I) \right)_{I \in \mathbf{I}} with the property that for any cone (5.15) on  D, there exists a unique map   \bar{f}: A \to L such that  p_I \circ \bar{f} = f_I for all  I \in \mathbf{I}. The maps  p_I are called the projections of the limit.

つまりlimitとはconeの一種なのだが、その中でも他のコーンの頂点から自身の頂点に対して一意な射が存在し、かつその射がいい感じの性質(universal property)を持っているような特別なconeのことである。

colimit

limitと対になるようなものとしてcolimitという概念がある。colimitについて理解するためにはlimitと似たように事前準備が必要である。ということで、まずはcoconeの定義を本[1]から引用する。

cocone
(前略)a cocone on  D is an object  A \in \mathcal{A} (the vertex of the cocone) together with a family  \begin{equation}
\left(D(I) \xrightarrow{f_I} A \right)_{I \in \mathbf{I}} \tag{5.17}
\end{equation} of maps in  \mathcal{A} such that for all maps  I \xrightarrow{u} J in  \mathbf{I}, the diagram
commutes.

こちらの可換図式も本[1]のスクショ画像を貼った。

coconeの直観的な理解もconeと同じく三角コーンみたいなものをイメージすればよいが、coneとは射の向きが逆になっている。

続いてcolimitの定義を本[1]から引用する。

colimit
A colimit of  D is a cocone  \begin{equation}
\left(D(I) \xrightarrow{p_I} C \right)_{I \in \mathbf{I}}
\end{equation} with the property that for any cocone (5.17) on  D, there is a unique map  \bar{f}: C \to A such that  \bar{f} \circ p_I = f_I for all  I \in \mathbf{I}.

coneとcoconeの関係

coneとcoconeの定義をざっと眺めただけでも両者が対になっていそうな雰囲気が分かるかもしれないが、両者の間の関係をもう少し深掘りしてみよう。例として以下のような状況を考える。

limitの例

図ではうまく表現できなかったが、 D(s_1) = g, D(s_2) = hである。

この圏において、diagram  Dによって I_1, I_2, I_3 \in \mathbf{I} A_3, A_4, A_5 \in \mathcal{A}に写され、 \mathcal{A}の中に \mathbf{I}の形をした図形が描かれている。Diagramはただの関手なので必ずしも \mathbf{I} \mathcal{A}の中に綺麗に埋め込まれるわけではないが、diagramという名前はこのように圏の中に図形を浮かび上がらせるような直観的イメージから名付けられたんじゃないかと私は勝手に思っている。

上記のようなdiagramに対して2つの頂点 A_1, A_2から射が伸びている。これがそれぞれ A_1, A_2を頂点とするconeを形成している(ただし、coneの定義を満たすために必要な f_1 = g \circ f_2などの条件は適宜成り立っているものとする)。この例に登場するconeはこの2つだけであり、かつ A_2 \to A_1という射がただ一つ存在している。このとき p_i ◦ \bar{f} = f_i\ (i = 1, 2, 3)というuniversal propertyが満たされているとすればcone  \left(A_1 \xrightarrow{f_I} D(I) \right)_{I \in \mathbf{I}}はlimitである。

この状況で、 \mathbf{I}の代わりに \mathbf{I}^\mathrm{op} \mathcal{A}の代わりに \mathcal{A}^\mathrm{op}を考えてみよう。 \mathbf{I}^\mathrm{op} \to \mathcal{A}^\mathrm{op}という関手はもはや Dとは異なるので、これを D^\mathrm{op}と名付けることにする。

 \mathbf{I}の対象 Iおよび射 sに対して D^\mathrm{op}(I) = D(I), D^\mathrm{op}(s^\mathrm{op}) = D(s)^\mathrm{op}とすれば D^\mathrm{op}は確かに関手の定義を満たすのだが、細かい確認は割愛する。

すると、先ほどの図は以下のように変化する。

colimitの例

図ではうまく表現できなかったが、 D^\mathrm{op}(s_1^\mathrm{op}) = g^\mathrm{op}, D^\mathrm{op}(s_2^\mathrm{op}) = h^\mathrm{op}である。

今度は A_1, A_2を頂点とする2つのcoconeが現れた。さらに、 A_1 \to A_2という射がただ一つ存在している。このとき  \bar{f}^\mathrm{op} ◦ p_i^\mathrm{op} = f_i^\mathrm{op}\ (i = 1, 2, 3)というuniversal propertyが満たされているとすればcocone  \left(D(I) \xrightarrow{f_I} A_1 \right)_{I \in \mathbf{I}^\mathrm{op}}はcolimitである。

このように、関手 Dに対して D^\mathrm{op}: \mathbf{I}^\mathrm{op} \to \mathcal{A}^\mathrm{op}という関手を考えると、 D上のconeは D^\mathrm{op}上のcoconeであり、 Dのlimitは D^\mathrm{op}のcolimitとなる。

ところで、ここで取り上げたlimitとcolimitの例はそれぞれpullbackおよびpushoutと呼ばれるものになっている。limit, colimitはいろいろな \mathbf{I}, Dを考えることで他にも様々な概念を抽象的に扱うことができる。興味のある方は本[1]などを参照して欲しい。

まとめ

本稿では圏論におけるlimitとcolimitについて説明した。特に両者の双対的な関係性について例を用いて説明した。

これまでの圏論に関するブログ記事は基本的に本[1]の流れに沿って書いてきた。本[1]では圏の基本について説明したあと、随伴、表現可能関手、limitとcolimitについて取り上げ、最後にそれらの間の関係性について説明するような流れに見える。というわけで、私の圏論の勉強もいよいよ最終フェイズに入ってきた。数学書の最後の方はいつも内容が難しくて振り落とされがちなのだが、今回はそうならないように頑張りたい。

米田の補題にまつわるあれこれを具体例を通して整理してみる ~ 米田埋め込み

前回の記事ではuniversal elementについて説明した。今回は米田シリーズの最後として米田埋め込みについて考えてみる。

米田埋め込み

定義

米田埋め込みの定義を本[1]から引用する。

Yoneda embedding
Let  \mathcal{A} be a locally small category. The Yoneda embedding of  \mathcal{A} is the functor  \begin{equation}
H_{\bullet}: \mathcal{A} \to [\mathcal{A}^\mathrm{op}, \mathbf{Set}]
\end{equation} defined on objects  A by  H_{\bullet}(A) = H_A and on maps  f by  H_{\bullet}(f) = H_f.

ただし、 f: A \to A'として H_f B成分が以下のようになる自然変換である。

 \begin{equation}
\begin{aligned}
H_A(B) = \mathcal{A}(B, A) &\to H_{A'}(B) = \mathcal{A}(B, A') \\
p &\mapsto f \circ p.
\end{aligned}
\end{equation}

米田埋め込みは忠実充満

定義だけ見てもこれが埋め込みっぽいかどうかよく分からない。そこで、米田の補題から導かれる次のような系を見てみよう[1]。

米田の補題の系1
For any locally small category  \mathcal{A}, the Yoneda embedding  \begin{equation}
H_{\bullet}: \mathcal{A} \to [\mathcal{A}^\mathrm{op}, \mathbf{Set}]
\end{equation} is full and faithful.

ちゃんとした証明は本[1]などを参照して欲しいが、ざっくりアウトラインだけ述べておく。 A, A' \in \mathcal{A}に対して、以下の写像が全単射であると言えればよい。

 \begin{equation}
\begin{aligned}
\mathcal{A}(A, A') &\to [\mathcal{A}^\mathrm{op}, \mathbf{Set}](H_A, H_{A'}) \\
f &\mapsto H_f
\end{aligned}
\end{equation}

一方、米田の補題を X=H_{A'}として適用すると、以下の写像は全単射になる。

 \begin{equation}
\tilde{(\quad)}: H_{A'}(A) \to [\mathcal{A}^\mathrm{op}, \mathbf{Set}](H_A, H_{A'})
\end{equation}

ここで登場する \tilde{(\quad)}前回の記事で説明したものと同じである。

あとは \tilde{f} = H_fであることを示せばよい。

忠実充満な関手 F: \mathcal{C} \to \mathcal{D}があったとき、 \mathcal{C} \mathcal{D}のfull subcategory  \mathcal{C}' \mathcal{C}'の対象は C \in \mathcal{C}に対して F(C)と書ける)に圏同値になることが知られている[1]。これより、 \mathcal{A}が圏としての構造を保ったまま [\mathcal{A}^\mathrm{op}, \mathbf{Set}]の中に入っているものと見ることができるので、米田埋め込みを「埋め込み」と呼ぶのは妥当な感じがする。

見られ方が同じなら同じ

ここまでの話だけだと「なんか知らんけど埋め込まれるんだね」という感想しか出てこない。しかし、さらに以下の系が成り立つ。

米田の補題の系2
Let  \mathcal{A} be a locally small category and  A, A' \in \mathcal{A}. Then  \begin{equation}
H_A \cong H_{A'} \iff A \cong A' \iff H^A \cong H^{A'}.
\end{equation}

ここで H^A=\mathcal A(A,-)であるが、これについて本稿ではこれ以上深入りしない。

これは米田埋め込み H_{\bullet}が忠実充満であることからほぼ従うが、証明の詳細は割愛する。

この系のうち、 H_A \cong H_{A'} \implies A \cong A'の部分に着目しよう。 H_A = \mathcal{A}(-, A)なので、これは \mathcal{A}(B, A) \cong \mathcal{A}(B, A') Bについて自然に成り立つならば A \cong A'ということである。「 \mathcal{A}(B, A) \cong \mathcal{A}(B, A') Bについて自然に成り立つ」という部分をもう少し丁寧に言い換えると、ある射 f: A \to A'があって、任意の B, B' \in \mathcal{A}および g: B' \to Bに対して以下の可換図式が成り立ち、かつ任意の B \in \mathcal{A}について (H_f)_Bが全単射(すなわち \mathbf{Set}における同型射)になるということである。

 \displaystyle{
\require{amscd}
\begin{CD}
\mathcal{A}(B, A) @>H_A(g)>>  \mathcal{A}(B', A) \\
@V(H_f)_{B}VV                     @VV(H_f)_{B'}V \\
\mathcal{A}(B, A') @>>H_{A'}(g)> \mathcal{A}(B', A')
\end{CD}
}

この意味を考えると、全ての B, B', B'', \cdots \in \mathcal{A}という視点から A, A'を見たときに同じように見えるならば、 A, A'は実質同じものであるということを述べている。ある対象への射の全体を自然性も含めて考えることで、その対象を同型を除いて完全に特徴づけられるというのはいかにも圏論っぽさがあって面白い。

米田埋め込みは一般のlocally smallな圏を直接扱う代わりに集合を値に取る関手圏に埋め込むことで扱いやすくできるという嬉しさもあるのだと思うが、個人的にはここで述べた性質の方がお気に入りである。なお、集合を値に取る関手の圏というのはなんだか良い性質がいろいろあるらしいのだが、不勉強でそこは良く分かっていない。

 \mathcal{A}として集合の圏 \mathbf{Set}を考える。2つの一点集合 1= \{*\}, 1' = \{\bullet\}があったとする。任意の集合 Xから 1, 1'への写像はそれぞれただ1つだけ存在する。よってH_1(X), H_{1'}(X)はいずれもその1つの写像を元として持つ集合となる。

 Xが空集合でも 1, 1'への写像はそれぞれただ1つだけ存在する。

 f: 1 \to 1'をただ1つの要素同士を対応させる写像とすれば、明らかに fは全単射である。このとき、任意の集合 X, X'および写像 g: X' \to Xに対して以下の可換図式が成り立つこと、および (H_f)_{X}が全単射であることを確かめたい。

 \displaystyle{
\require{amscd}
\begin{CD}
\mathbf{Set}(X, 1) @>H_1(g)>>  \mathbf{Set}(X', 1) \\
@V(H_f)_{X}VV                     @VV(H_f)_{X'}V \\
\mathbf{Set}(X, 1') @>>H_{1'}(g)> \mathbf{Set}(X', 1')
\end{CD}
}

まず、 p \in \mathbf{Set}(X, 1)に上側を通るルートの写像を適用すると以下のようになる。

 \begin{equation}
\begin{aligned}
( (H_f)_{X'} \circ H_1(g) )(p) &= (H_f)_{X'}(p \circ g) \\
&= f \circ p \circ g
\end{aligned}
\end{equation}

次に、下側を通るルートの写像を適用すると以下のようになる。

 \begin{equation}
\begin{aligned}
(H_{1'}(g) \circ (H_f)_{X})(p) &= H_{1'}(g)(f \circ p) \\
&= f \circ p \circ g
\end{aligned}
\end{equation}

2つのルートで結果が一致するのでこれは可換図式になっている。

また、 (H_f)_X = (f \circ -)であるが、 fは全単射なので (H_f)_X^{-1} = (f^{-1} \circ -)と逆写像を定義できる。よって (H_f)_X は全単射である。

これよりH_1(X) \cong H_{1'}(X)となるため、米田の補題の系2により 1 \cong 1'である。

なお、米田埋め込みによって埋め込まれる様子は以下の図のようになる。

米田埋め込みの様子

今回の場合はそもそも一点集合同士は明らかに集合として同型なので非常に回りくどい感じにはなったが、本項で述べたことの例としては機能したものと信じている。

ところで、ここで登場した 1, 1'は任意の集合からただ1つの射が存在したわけだが、これは圏論で言うところの終対象そのものである。終対象は同型を除いて一意に定まることが知られており、この例で見た結果と整合している。

まとめ

本稿では米田埋め込みの基本的な性質について例を交えて説明した。まだまだ完全理解からは程遠いが、これまでの勉強によって米田の補題の嬉しさが少し分かってきたように思う。

次回はlimitとcolimitについて何か書きたい。

米田の補題にまつわるあれこれを具体例を通して整理してみる ~ universal element

米田の補題と表現可能関手の関係は?

前回の記事では表現可能関手と米田の補題に関する例を紹介した。前回は初めに表現可能関手を導入しておきながら、その後の米田の補題では「実は表現可能関手は補題の主張に登場しません」という、一見するとわけが分からない説明をしていた。正直、ここは執筆時点での私の理解度の低さもあり、説明の流れがいまいちだったと反省している。

確かに米田の補題の主張に表現可能関手は登場しないが、 H^Aとか H_Aのようにそれを匂わせる要素は登場している。実際、両者は全くの無関係ではない。本稿では米田の補題と表現可能関手が関わりを持つ事例としてuniversal elementというものについて例を用いながら説明する。

Universal element

まずはuniversal element の定義を本[1]から引用する。

Universal element
Let  \mathcal{A} be a locally small category and  X: \mathcal{A}^\mathrm{op} \to \mathbf{Set}. Then a representation of  X consists of an object  A \in \mathcal{A} together with an element  u \in X(A) such that:

\begin{equation}
\begin{split}
&\text{for each } B \in \mathcal{A} \text{ and } x \in X(B), \\
&\text{there is a unique map } \bar{x}: B \to A \\
&\text{such that } (X\bar{x})(u) = x.
\end{split} \tag{4.6}
\end{equation}
・・・中略・・・
An element  u satisfying condition (4.6) is sometimes called a universal element of  X.

上記の関係を図に描くと以下のようになる。

Universal element

つまり、反変関手 Xに対してあるすごい要素 u \in X(A)があって、 B \in \mathcal{A}, x \in X(B)に対して射 \bar{x}: B \to Aが一意に定まって、 uを経由しつつ \bar{x}から xへ至る道があるという感じである。このように射が一意に定まるというのは普遍性そのものであり、 uは普遍性を導き出してくれるものなのでuniversalの名を冠しているのだろう。

ここで、前回の記事で紹介した表現可能関手の定義を見てみよう。この定義の後半には Xの表現(representation)について説明されていた。おさらいすると、表現可能関手 Xについて Xの表現とは対象 A \in \mathcal{A}と自然同型 \alpha: H_A \Rightarrow Xの組のことであった。

本節の冒頭で紹介したuniversal elementの定義の前半部分では、 Xの表現は組 (A, u)によっても決まると言っている。これはつまり、条件(4.6)を満たす uと一対一に対応する自然同型 \alphaがあって、組 (A, u)と組 (A, \alpha)のいずれを考えても実質同じだということである。以下ではそのことについて説明しよう(全体的に[1]を参考にした)。

まず、米田の補題より元 u \in X(A)に対して一対一に対応する自然変換 \tilde{u}: H_A \Rightarrow Xが存在する(これが先ほどまで \alphaと呼んでいたものに相当するが、説明の都合により記号を変える)。この uに対して条件(4.6)が成り立つことと \tilde{u}が自然同型であることが同値であると言えればよい。

そのために、まず B \in \mathcal{A}について \tilde{u}_B : H_A(B) = \mathcal{A}(B, A) \to X(B)という写像を以下のように定義しよう。


\begin{equation}
\tilde{u}_B(f) = (X(f))(u) \in X(B)
\end{equation}

このような射の族 \tilde{u} = (\tilde{u}_B)_{B\in \mathcal{A}} Bについて自然であることが示せる(詳細は本[1]などを参照)。つまり、 \tilde{u}_B B成分とするような自然変換 \tilde{u}を考えることができる。

この \tilde{\quad}という写像は前回紹介した \hat{\quad}の逆写像になっており、 \hat{\tilde{u}} = uを満たす。

 \tilde{u}が自然同型であるということは全ての B \in \mathcal{A}成分について \tilde{u}_Bが全単射であることと同値である。さらにこれは全ての B x \in X(B)について \tilde{u}_B(\bar{x}) = xとなるような \bar{x} \in \mathcal{A}(B, A)が一意に存在することと同値である。 \tilde{u}_B(\bar{x}) = (X \bar{x})(u)なので、これは結局条件(4.6)そのものである。以上により \tilde{u}が自然同型であることと条件(4.6)が成り立つことは同値である。

ここまでuniversal elementの性質について説明したが、本質的には米田の補題によって自然変換 \tilde{u} uが対応するからこそ、 X(A)の元である uだけで反変関手 Xの表現が決まってしまうのだと言えよう。

共変バージョン

この後の例で使うためにuniversal elementに関するcorollaryの共変バージョンも本[1]から引用しておく。

Universal element(共変バージョン)
Let  \mathcal{A} be a locally small category and  X: \mathcal{A} \to \mathbf{Set}. Then a representation of  X consists of an object  A \in \mathcal{A} together with an element  u \in X(A) such that:

\begin{equation}
\begin{split}
&\text{for each } B \in \mathcal{A} \text{ and } x \in X(B), \\
&\text{there is a unique map } \bar{x}:  A \to B \\
&\text{such that } (X\bar{x})(u) = x.
\end{split} \tag{4.7}
\end{equation}

表現可能関手とuniversal elementの関係

私は本[1]を読んでいて一つ釈然としないことがあった。それは、4.3節でuniversal elementについて説明している中で一度も"representable"とか"representable functor"という言葉が出てこないことである。例の中には出てくるのだが、理論的な説明をしているところにはこれらの言葉が出てこない。一方、"representation"という言葉は出てくる。

圏論素人である自分からすると、結局representation(表現)が定まっているということは表現可能関手だと思ってよいのか?とか、あるいは同じことだがuniversal elementがあれば表現可能関手だと言ってよいのか?とかが初め良く分からなかった。

今の自分の理解としては、これらの問いへの答えはYESだと考えている。というのも、表現というのは対象 A \in \mathcal{A}とuniversal element  uの組なわけだが、これは Aと自然同型 \tilde{u}: H_A \Rightarrow Xの組と一対一に対応する。そして \tilde{u}が自然同型ということは関手 Xは定義により表現可能関手になるからである。逆に、表現可能関手に対して表現 (A, \alpha)が存在することは定義より明らかである。そのため、 Xがuniversal elementを持つことと表現可能関手であることは同値であると言える、と思う。

本[1]にはこれらについて明示的に書かれていなかったので、一応ここで自分の理解を示しておいた。

前回の記事の例においてuniversal elementがどうなるのかを考えてみよう。

共変バージョンの例

前回と同じく体 k上の線形空間の圏 {\bf Vect}_kに対する忘却関手 U : {\bf Vect}_k \to {\bf Set}を考える。 u \in U(k)を0でない元とする。また、写像 \tilde{u}_V: \mathbf{Vect}_k(k, V) \to U(V)を以下のように定義する。


\begin{equation}
\tilde{u}_V(f) = (Uf)(u)
\end{equation}

ベクトル空間 V x \in U(V)を任意に選んだとき、 \tilde{u}_V(f) = xとなるような線形写像 f \in \mathbf{Vect}_k(k, V)が一意に定まれば uはuniversal elementだと言える。そこで、 \mathbf{x} \in V, x = U(\mathbf{x})に対して f_\mathbf{x}: k \to Vを以下のように定義する。


\begin{equation}
f_\mathbf{x}(\lambda) = \frac{\lambda}{u'} \mathbf{x}
\end{equation}

ただし、 u' \in k, u = U(u')であるとする。 f_\mathbf{x} \tilde{u}_V(f)に代入すると以下のようになる。


\begin{equation}
\begin{aligned}
(Uf_\mathbf{x})(u) &= U(f_\mathbf{x}(u')) \\
&= U(\mathbf{x}) \\
&= x
\end{aligned}
\end{equation}

次に f_\mathbf{x}(u') = \mathbf{x}を満たすような f_\mathbf{x}の一意性を示す。線形写像 gについて g(u') = \mathbf{x}と仮定すると以下の式が成り立つ。

 
\begin{equation}
\begin{aligned}
g(\lambda) &= \frac{\lambda}{u'} g(u') \\
&= \frac{\lambda}{u'} \mathbf{x} \\
&= \frac{\lambda}{u'} f_\mathbf{x}(u') \\
&=  f_\mathbf{x}(\lambda)
\end{aligned}
\end{equation}

よって g=f_\mathbf{x}となるので f_\mathbf{x}は一意に定まる。以上により u \in U(k)はuniversal elementだと言える。この事実より明らかだが、一般にuniversal elementは1つだけ存在するとは限らない。

ところで、なぜ u \ne 0である必要があったのだろうか?試しに \tilde{0} V成分を考えてみると、 \tilde{0}_V = (Uf)(0) = U(f(0)) = U(\mathbf{0}) = 0となり、 \tilde{0}が自然同型にならない。よって U(k)の元のうち0だけはuniversal elementにならない。

反変バージョンの例

前回と同じく集合に対する冪集合を返す関手 \mathcal{P}: {\bf Set}^\mathrm{op} \to {\bf Set}を考える。 U \in \mathcal{P}(\mathbf{2})とし、写像 \tilde{U}_S: \mathbf{Set}(S, \mathbf{2}) \to \mathcal{P}(S)を以下のように定義する。


\begin{equation}
\tilde{U}_S(f) = (\mathcal{P}f)(U)
\end{equation}

集合 S X \in \mathcal{P}(S)を任意に選んだとき、 \tilde{U}_S(f) = Xとなるような写像 f \in \mathbf{Set}(S, \mathbf{2})が一意に定まれば Uはuniversal elementだと言える。 Uの候補としては \emptyset, \{0\}, \{1\}, \mathbf{2}の4つがある。それぞれについて考えてみよう。

 U=\{0\}のとき、 X \in \mathcal{P}(S)に対して f_X: S \to \mathbf{2}を以下のように定義する。


\begin{equation}
f_X(s) = \begin{cases}
0 & (s \in X) \\
1 & (s \notin X)
\end{cases}
\end{equation}

 f_X \tilde{U}_S(f)に代入すると以下のようになる。


\begin{equation}
\begin{aligned}
(\mathcal{P}f_X)(\{0\}) &= f_X^{-1}(\{0\}) \\
&= X
\end{aligned}
\end{equation}

次に f_Xの一意性についてだが、これはほぼ自明なので割愛する。

以上により \{0\} \in \mathcal{P}(\mathbf{2})はuniversal elementだと言える。

同様に、 U = \{1\}の場合は以下のような f_Xに対してのみ (\mathcal{P}f_X)(\{1\}) = Xが成り立つ。


\begin{equation}
f_X(s) = \begin{cases}
1 & (s \in X) \\
0 & (s \notin X)
\end{cases}
\end{equation}

よって \{1\} \in \mathcal{P}(\mathbf{2})もuniversal elementである。

一方、 \emptysetおよび \mathbf{2}はuniversal elementではない。試しに U=\emptysetおよび U=\mathbf{2}に対してそれぞれ \tilde{U}_S(f)を計算してみると、 fに関わらず以下のような結果になる。


\begin{equation}
\begin{aligned}
(\mathcal{P}f)(\emptyset) &= f^{−1}(\emptyset) \\
&=\emptyset \\
(\mathcal{P}f)(\mathbf{2}) &= f^{−1}(\mathbf{2}) \\
&=S \\
\end{aligned}
\end{equation}

これより任意の Xに対して \tilde{U}_S(f) = Xとなるような fをどう足掻いても構成できないので、 \emptysetおよび \mathbf{2}はuniversal elementではない。

まとめ

本稿では表現可能関手に関する重要な概念であるuniversal elementについて説明した。その中で米田の補題が重要な役割を担っていることについて言及した。最後にuniversal elementの例を2つ紹介した。

米田の補題にまつわる諸概念は初見だと本当に頭がこんがらがって全然理解できず、根気よく考えることが必要だった。しかし、良く分からないことを分かるまで考えてみるのは非常に楽しい。

今回も勉強の過程でChatGPTをたくさん使ったが、AIなしではかなり厳しかったと思う。数学の初歩的な事項を独学するには本当に良い時代になった(研究レベルで使い物になるのかはよく知らないが)。

米田の補題にまつわるあれこれを具体例を通して整理してみる ~ 表現可能関手と米田の補題

米田の補題が分かりたい

最近、圏論の勉強が進んでついに米田の補題まで辿り着いた。何を隠そうこれまで圏論を勉強してきた目標は米田の補題を理解することだったので、ここは是非ともちゃんと理解したい。しかし、数年前に勉強したときもそうだったが、米田の補題は何を言っているのかさっぱり分からない。そもそも前提となる表現可能関手が難しいし、関連して登場する米田埋め込みとかuniversal elementとかも何がしたいのかよく分からない。

前回はそれで挫折してしまったのだが、今回は随伴までの内容を多少まじめに勉強したこと、およびChatGPTが使える世の中になったことで、多少なりとも米田の補題が言わんとすることが分かってきた。そこで、いくつかの具体例を通して、米田の補題とそれにまつわる様々な概念がどのように繋がっており、それぞれどのような意味を持つのかを考えてみる。

例によって一つの記事に書き切るのは書くのも読むのも厳しいと思われるので、本稿では表現可能関手と米田の補題に絞って話をする。それに付随するいくつかの概念については次回以降に書きたいと思う。

理論的な話

表現可能関手

話の出発点は表現可能関手である。定義を[1]から引用する。

表現可能関手(共変バージョン)
Let  \mathcal{A} be a locally small category. A functor  X: \mathcal{A} \to {\bf Set} is representable if  X \cong H^A for some  A \in \mathcal{A}. A representation of  X is a choice of an object  A \in \mathcal{A} and an isomorphism between  H^A and  X.

ただし、 H^Aは関手で、 H^A = \mathcal{A}(A,−): \mathcal{A} \to {\bf Set}である。本[1]の記法に慣れていないと分かりづらいが、locally smallな圏 \mathcal{A}に対して \mathcal{A}(A,B)と書いたときには対象 A, B \in \mathcal{A}の間の射 A \to Bの集合を意味する。'−'はここが変数になっていることを意味する。つまり、 H^Aに入力として \mathcal{A}の対象 Bを与えると、出力として \mathcal{A}(A,B)という集合が得られるということである。

 H^Aは関手なので射がどうなるのかも気にしておく必要がある。 \mathcal{A}の射 g: B \to B'が入力として与えられたとき、 H^A(g): \mathcal{A}(A,B) \to \mathcal{A}(A,B')は全ての射 p: A \to Bに対して p \to g \circ pという射を与える。以下に図を示す。

関手 H^A

ここまで説明したのは共変関手となるような表現可能関手である。これとは別に反変関手となるような表現可能関手も存在する。反変バージョンの定義を[1]から引用する。

表現可能関手(反変バージョン)
Let  \mathcal{A} be a locally small category. A functor  X: \mathcal{A}^\mathrm{op} \to {\bf Set} is representable if  X \cong H_A for some  A \in \mathcal{A}. A representation of  X is a choice of an object  A \in \mathcal{A} and an isomorphism between  H_A and  X.

 H_Aは共変バージョンの定義に出てくる H^Aと似たような関手だが、反変関手であるという点に注意が必要である。すなわち、 \mathcal{A}の射 g: B' \to B(共変の場合とは逆向き)が入力として与えられたとき、 H_A(g): \mathcal{A}(B, A) \to \mathcal{A}(B', A)は全ての射 p: B \to Aに対して p \to p \circ gという射を与える。以下に図を示す。

関手 H_A

米田の補題

米田の補題を本[1]から引用する。

米田の補題
Let  \mathcal{A} be a locally small category. Then
 \displaystyle{
[\mathcal{A}^\mathrm{op}, {\bf Set} ](H_A, X) \cong X(A)
}
naturally in  A \in \mathcal{A} and  X \in [\mathcal{A}^\mathrm{op}, {\bf Set} ].

この定義も本[1]の記法に慣れていないと理解しづらいので補足しておく。まず、 [\mathcal{A}^\mathrm{op}, {\bf Set} ]は関手圏を表す。この関手圏における射 H_A \to X全体の集合が [\mathcal{A}^\mathrm{op}, {\bf Set} ](H_A, X)である。関手圏の射とは自然変換のことであるから、これは要するに H_Aから Xへの自然変換全体の集合を意味する。Wikipedia[2]なんかを見ると \mathop {\mathrm {Nat} } (H_{A},F)\cong F(A)みたいに書かれていたりするが、同じことである。

見ての通り本[1]に書かれている米田の補題は H_Aを用いて書かれており、いわば反変バージョンであると言えるが、 H^Aを用いても同じような主張が成り立つらしい[2]。

話の流れ的に大変ややこしいのだが、補題の主張に出てくる Xは必ずしも表現可能関手である必要はない。

証明のアウトライン

この場で米田の補題の完全な証明をするつもりはない。それについては本[1]が素晴らしいのでそちらを見て頂ければと思う。しかし、この後に説明する例を理解する上で証明が全く頭に入っていないと辛い部分があるのと、シンプルに面白い話があるので、ざっくりアウトラインだけ述べておく。まず、自然変換 \alpha \in [\mathcal{A}^\mathrm{op}, {\bf Set} ](H_A, X)について、これに対応する X(A)の元を得るための写像を作ってやる(これを米田写像というらしい[2])。それが全単射であることを示す。その後、 A, Xに関する自然性条件をコツコツと調べればよい。

前半の全単射性の証明についてもう少し説明する。まず、 \alphaに対して \hat{\alpha} = \alpha_A(1_A)と定める。 \alpha_A \alpha A成分であり、 H_A(A) \to X(A)という写像になる。定義より H_A(A) = \mathcal{A}(A, A)であり、 1_A \in \mathcal{A}(A, A)なので確かに \hat{\alpha} \in X(A)となっている。

この後は^の逆向きの写像を構成して全単射性を示していく流れになるわけだが、ここで面白いのが \hat{\alpha} 1_Aの値だけで決まるということである。あたかも 1_Aが「 \alpha全体の代表です」みたいな顔をして右向きの写像を定義しているわけだが、これがちゃんと全単射になるから驚きである。こういうところに圏論の面白さが詰まっているように(個人的には)感じる。

具体例

ではいよいよ具体例を見ていこう。共変バージョンと反変バージョンでそれぞれ微妙に違った面白さがあるので、どちらの例も取り上げる。

なお、米田の補題に登場する関手 Xは必ずしも表現可能関手である必要はないのだが、次の記事へのつなぎとして表現可能関手だと都合がよい。というわけで、ここでは Xが表現可能関手であるような例を紹介する。

共変バージョンの例

 k上の線形空間の圏 {\bf Vect}_kに対する忘却関手 U : {\bf Vect}_k \to {\bf Set}を考える。まずは Uが共変バージョンの表現可能関手であることを示す。

線形空間 V \in {\bf Vect}_kについて線形写像 \phi: k \to Vを考える。 \phi kのいろいろな値を取るので、それぞれに対して行き先がどうなるかを決めてやらないと写像として定まらないように思える。しかし、 \phiの線形性より任意の \lambda \in kに対して \phi(\lambda) = \lambda \phi(1)\; (1 \in k)となるので、実は \phi(1)の行き先さえ決まれば \phiは定まる。 \phi(1)の行き先としては Vの任意の元を取れるので、このような線形写像全体の集合と Vの元は一対一に対応する。これより {\bf Vect}_k(k, V) \cong U(V)となる。

しかもこれは Vについて自然になる。 \alpha: {\bf Vect}_k(k, −) \to U V成分を \alpha_V: \phi \mapsto U(\phi)(1)\;(1 \in U(k))と定める。このとき、任意の V, W \in {\bf Vect}_kおよび f: V \to Wについて以下の可換図式が成り立つ。

 \displaystyle{
\require{amscd}
\begin{CD}
{\bf Vect}_k(k, V)  @>{\bf Vect}_k(k, f)>>  {\bf Vect}_k(k, W) \\
@V\alpha_{V}VV                     @VV\alpha_{W}V \\
U(V)         @>>U(f)>  U(W)
\end{CD}
}

実際、右回り・左回りのパスにおける写像を合成して \phi \in {\bf Vect}_k(k, V)に適用するとそれぞれ以下のように一致することが分かる。


\begin{align}
\alpha_{W} \circ {\bf Vect}_k(k, f)(\phi) &= \alpha_{W} \circ f \circ \phi \\
  &= U(f \circ \phi)(1) \\
U(f) \circ \alpha_{V}(\phi) &= U(f) \circ U(\phi)(1) \\
  &= U(f \circ \phi)(1)
\end{align}

以上の議論により U \cong H^kなので Uは表現可能関手である。

忘却関手 Uに対して体 kを渡すのは型が合っていないのではないか?と思われるかもしれないが、ここでは kは体であり、かつ k上の一次線形空間でもあると考えて記号を乱用している。
ここでの議論では k U(k)を厳密に区別した。しかし、 kを線形空間として扱っているか集合として扱っているかは文脈で大体わかるので U(k)のことを kと書いてしまっても良かったかもしれない。このあたりの流儀は良く分かっていない。と言いつつ、1だけは kの元だったり U(k)の元だったりをあまり区別なく書いている。これも1と U(1)のように書き分けても良かったが、まあ分かるだろうということでサボっている。

続いて、米田の補題が成り立っている様子を観察してみよう。(本稿では明に説明していないが)米田の補題の共変バージョンより以下の同型が成り立つ。

 \displaystyle{
[{\bf Vect}_k, {\bf Set} ](H^k, U) \cong U(k)
}

左辺の自然変換の一つである \alpha k成分は \alpha_k: \phi \mapsto U(\phi)(1)\;(\phi \in {\bf Vect}_k(k, k))である。証明のアウトラインで述べたように、 \hat{\alpha} = \alpha_k(1_k)とすればこれは U(k)の元である。よって \alpha_kの式に \phi=1_kを代入して得られる \alpha_k(1_k) = U(1_k)(1) = 1 \alphaに対応する U(k)の元である。

少々ややこしいが、1は kとか U(k)の元を表しており、 1_kは対象 kの恒等射である。両者は指しているものが全然違うので注意されたい。

さて、米田の補題より [{\bf Vect}_k, {\bf Set} ](H^k, U)という自然変換の集合は U(k)と一対一に対応するわけだから、他にもたくさんの自然変換が存在するはずである。これには \alphaの代わりに \alpha^{(s)}\;(s \in k)を考えればよい。これの k成分は \alpha^{(s)}_k: \phi \mapsto U(\phi)(s)と定める(ちなみに \alpha^{(1)}_k = \alpha_kである)。すると先ほどと同様の議論により \alpha^{(s)}_k(1_k) = U(1_k)(s) = U(s) \alpha^{(s)}に対応する U(k)の元となる。

反変バージョンの例

集合に対する冪集合を返す関手 \mathcal{P}: {\bf Set}^\mathrm{op} \to {\bf Set}を考える。この関手によって射がどのように移されるかを理解するのがなかなか難しいのだが、端的に言うと {\bf Set}の射 g: A' \to Aに対して (\mathcal{P}(g))(U)=g^{−1}(U)\;(U \in \mathcal{P}(A))と定めればよい。これは \mathcal{P}(A) \to \mathcal{P}(A')という射になっている。

 \mathcal{P}が反変バージョンの表現可能関手であることを示す。集合 Aとその部分集合 Uについて写像 \chi_U​: A \to {\bf 2} = \{0, 1\}を以下のように定義する。

 \displaystyle{
\chi_U(x) =
\begin{cases}
1 & x \in U \\
0 & x \notin U
\end{cases}
}

これは Aの各要素が Uに含まれるかどうかを表す関数となっている。このような関数は Aの部分集合それぞれに対して定めることができる。つまり、 \mathcal{P}(A) \cong {\bf Set}​(A, {\bf 2})=H_{\bf 2}(A)となる。

しかもこれは Aについて自然になる。 \alpha: {\bf Set}(−, {\bf 2}) \to \mathcal{P} A成分を \alpha_A: \phi \mapsto \phi^{-1}(\{1\})と定める。このとき、任意の A, B \in {\bf Set}および f: B \to Aについて以下の可換図式が成り立つ。

 \displaystyle{
\require{amscd}
\begin{CD}
{\bf Set}(A, {\bf 2})  @>{\bf Set}(f, {\bf 2})>>  {\bf Set}(B, {\bf 2}) \\
@V\alpha_{A}VV                     @VV\alpha_{B}V \\
\mathcal{P}(A)         @>>\mathcal{P}(f)>  \mathcal{P}(B)
\end{CD}
}

実際、右回り・左回りのパスにおける写像を合成して \phi \in {\bf Set}(A, {\bf 2})に適用するとそれぞれ以下のように一致することが分かる。


\begin{align}
\alpha_{B} \circ {\bf Set}_k(f, {\bf 2})(\phi) &= \alpha_{B} \circ \phi \circ f \\
  &= (\phi \circ f)^{-1}(\{1\}) \\
\mathcal{P}(f) \circ \alpha_{A}(\phi) &= \mathcal{P}(f) \circ \phi^{-1}(\{1\}) \\
  &= f^{-1}(\phi^{-1}(\{1\})) \\
  &= (\phi \circ f)^{-1}(\{1\})
\end{align}

以上の議論により \mathcal{P} \cong H_{\bf 2}なので \mathcal{P}は表現可能関手である。

続いて、米田の補題が成り立っている様子を観察してみよう。米田の補題より以下の同型が成り立つ。

 \displaystyle{
[{\bf Set}^\mathrm{op}, {\bf Set} ](H_{\bf 2}, \mathcal{P}) \cong \mathcal{P}({\bf 2})
}

左辺の自然変換の一つである \alpha {\bf 2}成分は \alpha_{\bf 2}: \phi \mapsto \phi^{-1}(\{1\})\;(\phi \in {\bf Set}^\mathrm{op}({\bf 2}, {\bf 2}))である。証明のアウトラインで述べたように、 \hat{\alpha} = \alpha_{\bf 2}(1_{\bf 2})とすればこれは \mathcal{P}({\bf 2})の元である。よって \alpha_{\bf 2}の式に \phi=1_{\bf 2}を代入して得られる \alpha_{\bf 2}(1_{\bf 2}) = 1_{\bf 2}^{-1}(\{1\}) = \{1\} \alphaに対応する \mathcal{P}({\bf 2})の元である。

さて、米田の補題より [{\bf Set}^\mathrm{op}, {\bf Set} ](H_{\bf 2}, \mathcal{P})という自然変換の集合は \mathcal{P}({\bf 2})と一対一に対応するわけだから、 \alpha以外に \emptyset, \{0\}, {\bf 2} \in \mathcal{P}({\bf 2})と対応する自然変換が存在するはずである。これには \alphaの代わりに \alpha^{(U)}を考えればよい。これの {\bf 2}成分は \alpha^{(U)}_{\bf 2}: \phi \mapsto \phi^{-1}(U)\;(U \in \mathcal{P}({\bf 2}))と定める(ちなみに \alpha^{(\{1\})}_{\bf 2} = \alpha_{\bf 2}である)。すると先ほどと同様の議論により \alpha^{(U)}_{\bf 2}(1_{\bf 2}) = 1_{\bf 2}^{-1}(U) = U \alpha^{(U)}に対応する \mathcal{P}({\bf 2})の元となる。

まとめ

本稿では米田の補題にまつわる話題として、表現可能関手および米田の補題について具体例を用いながら説明した。米田の補題は初見だと本当に何が言いたいのかさっぱり分からなかったが、例をいじくりまわしているうちに少しずつ感覚が掴めてきたように思う。

長年の目標であった米田の補題そのものについてはひとまず理解できたので、この世に対する未練がまた一つなくなった。あとは孫の顔さえ見られれば成仏できるかもしれない(何十年後になるか分からないが)。

戦略の組み合わせに制約がある場合のナッシュ均衡について考えてみた

ここのところ圏論に関してシリーズものっぽい感じで記事を書いているが、それとは関係ない話題でネタを思いついたので書いてみる。

ある日の授業参観にて

先日、子どもの授業参観があった。うきうきで有給休暇を取って出席したのだが、そのときの授業が算数だった。そこで以下のようなゲームを題材にした授業が行われた。

  • 2人のプレイヤーがじゃんけんをし、結果に応じて以下のように得点が与えられる。
    • グーで勝利: 1点
    • チョキで勝利: 2点
    • パーで勝利: 3点
    • 敗北: 0点
  • あいこの場合は勝敗が決まるまで何度でもやり直す。
  • あいこの場合には適宜やり直して勝敗が決まるところまでを1回と数え、このような試行を10回繰り返す。10回の試行で得た得点の総和が大きい方のプレイヤーが勝者となる。

これを見た瞬間、私はいかにもゲーム理論っぽい問題設定だなと思った。つまり、何か理論的に最適な戦略があるのではないかと考えた。ところが、私はゲーム理論をまじめに勉強したことがなく、すぐには答えが分からなかった。

そこで、ひとまず初歩の初歩を動画[1]やweb上の資料[2]などで勉強し、この問題に対する解を考えてみることにした。その結果、このじゃんけんゲームについていろいろと悩むポイントがあったので、それについて書いてみようと思う。

当然だが、子どもの算数の授業では別にゲーム理論の話はされていなかった。

知りたいことを言語化してみる

知りたいことをざっくり述べると、先ほど説明したゲームにおいて各プレイヤーがどのような戦略を取るのがよいか?ということである。恐らく特定の手だけ出すというのはあまりよくないだろう。また、グー・チョキ・パーそれぞれで勝利したときの得点が異なる以上、それぞれを等確率で出すというのも違う気がする。もっと最適な確率分布というのがありそうだ。

このように各行動を確率的に取るような戦略のことをゲーム理論では混合戦略と呼ぶらしい。ちなみに、特定の行動を確率1で選ぶような戦略のことは純粋戦略というようだ。

考えるべきは「よい戦略」とは何か?ということである。これにはパレート最適とナッシュ均衡という概念が関わってきそうである。さしあたり、自分の勉強の進み具合の都合上、本稿ではこのじゃんけんゲームにおける混合戦略のナッシュ均衡を求めることを目指す。

ナッシュ均衡

ナッシュ均衡の定義は調べるといろいろ出てくるが、個人的に一番しっくりきたものをWikipedia[3]より引用する。

ナッシュ均衡 (Nash equilibrium)
Formally, let  S_{i} be the set of all possible strategies for player  i, where  i=1,\ldots ,N. Let  s^{*}=(s_{i}^{*},s_{-i}^{*}) be a strategy profile, a set consisting of one strategy for each player, where  s_{-i}^{*} denotes the  N-1 strategies of all the players except  i. Let  u_{i}(s_{i},s_{-i}^{*}) be player  i's payoff as a function of the strategies. The strategy profile  s^{*} is a Nash equilibrium if
 \displaystyle{
u_{i}(s_{i}^{*},s_{-i}^{*})\geq u_{i}(s_{i},s_{-i}^{*})\ {\text{for all}}\ s_{i}\in S_{i}.
}

要するに、どのプレイヤーが単独で戦略を変えてもそれ以上自身の利得を上げることができないような状態がナッシュ均衡であると言える。

ちなみにこれは純粋戦略に対するナッシュ均衡の定義である。混合戦略の場合は若干異なる形をしているが、根底にある考え方は同じである。詳細が気になる方は[4][5]などに定義があるので見てみるとよいだろう。

純粋戦略のナッシュ均衡が存在しないことの確認

話を先ほどのじゃんけんゲームに戻す。2人のプレイヤーをそれぞれA, Bと呼ぶことにする。まずはA, Bの利得表を書いてみよう。これは以下のようになる。

A\B グー チョキ パー
グー N/A (1, 0) (0, 3)
チョキ (0, 1) N/A (2, 0)
パー (3, 0) (0, 2) N/A

カッコ内の左側の数字がAの利得、右側がBの利得を表している。あいこになる箇所はN/Aとしている。

これを用いて純粋戦略のナッシュ均衡が存在しないことを確認してみよう。全パターン考えるのは大変なので、例えばBがグーを出すという純粋戦略を取るケースを考える。このとき、Aの最適な戦略はパーを出すことである。Aとしてはそれでよいわけだが、Bはこの状況でチョキを出す戦略に変更すれば現状より利得が大きくなる。つまり、(A, B) = (パー・グー) はナッシュ均衡ではない。

他のパターンも同様に確かめられるので、今考えているゲームに純粋戦略のナッシュ均衡は存在しない。

戦略の制約が生み出すおかしな状況

以上の議論により混合戦略を取るしかないことは分かった。これで準備ができたので本題に入っていこう。

まず、Aがグー・チョキ・パーを出す確率をそれぞれ p, q, 1-p-qとする。Bについてはそれぞれ r, s, 1-r-sとする。ここまでの議論により p, q, r, sにはそれぞれ以下のような制約が付く。


\left\{ \,
    \begin{aligned}
    & 0 \le p < 1 \\
    & 0 \le q < 1 \\
    & 0 \le 1-p-q < 1 \\
    & 0 \le r < 1 \\
    & 0 \le s < 1 \\
    & 0 \le 1-r-s < 1
    \end{aligned}
\right.

これを用いてAの期待利得を計算してみよう。[2]によるとナッシュ均衡ではAが各(純粋)戦略を選んだ場合の期待利得が同じになるらしいので、その性質を利用して r, sが求まるようだ。

試しにAがグーだけを出すという戦略を取ったときのAの期待利得について考えてみる。Bもグーを出すとあいこになってしまうので、Bはチョキかパーを出すしかない。ここが曲者で、今回は許されない戦略の組み合わせ(つまりあいこの場合)があるので、チョキとパーを出す確率をそのまま使うとおかしなことになる。というのも、Bが取れる選択肢はチョキを出すかパーを出すかしかないのだが、それぞれの確率を単純に足すと s + (1-r-s) = 1-rとなってしまい、和が1にならない。

では、これらを適当に正規化したらどうだろうか?つまり、Aがグーを出すときにはBはチョキ・パーをそれぞれ \frac{s}{1-r}, \frac{1-r-s}{1-r}の確率で出すと考えるのである。これは何となく正しそうな気がする。少なくとも取り得る戦略の確率の総和は1になった。

この調子でAがチョキだけを出すという戦略を取ったときのAの期待利得を計算してみる。このときBはグー・パーのいずれかを出すことになる。先ほどと同様に正規化してみると、それぞれの手を出す確率は \frac{r}{1-s}, \frac{1-r-s}{1-s}となる。ここで、よく見るとパーを出す確率が先ほどと異なる。先ほどとは正規化の仕方が違うので当然といえば当然なのだが、本来Bがパーを出す確率は 1-r-sなわけで、状況によって確率が変わってしまうのはなんとなく不安に駆られる。本当にこの調子で続けて正しくナッシュ均衡を求めることができるのだろうか?

愚直に計算してみる

こういう場合はふわっとした知識には頼らず、絶対に正しいと思えることを積み重ねて考えてみる。すなわち、Aの利得を愚直に計算してみることにする。そのためには利得表の各セルの事象が起こる確率をそれぞれ求める必要がある。この際、あいこは許されないという制約から利得表全体での正規化を考える必要がある。つまり、適当な正規化のための関数 N(p, q, r, s)を用いて、各事象の確率は以下のように書ける(記載が面倒なので Nの引数部分は省略した)。

A\B グー チョキ パー
グー N/A  ps/N  p(1-r-s)/N
チョキ  qr/N N/A  q(1-r-s)/N
パー  (1-p-q)r/N  (1-p-q)s/N N/A

ただし、 N \ne 0とする。というのも、 N=0だと無限にあいこになり続けてゲームが一生終わらないためである。

このように正規化を行うことの妥当性について補足する。じゃんけんをしてあいこになった場合はじゃんけんをやり直すことになるが、いつかは決着がつくことになる。決着がつくという条件のもとで各事象が起こる条件付き確率を考えると、これは結局正規化した確率を求めることと同じになる。

これだと説明がふわふわしすぎているかもしれないので、例えばA, Bがそれぞれ最終的にグー・チョキを出して決着がつく場合の確率を考えてみる。あいこになる確率を Mとおくと、自然数 nに対して n回目までに(A, B) = (グー・チョキ) で決着がつく確率は以下のようになる。

 \displaystyle{
\sum_{i=1}^{n} M^{i-1} ps
}

 M < 1に注意して上式の n \to \inftyでの極限を求めると \frac{ps}{1-M}となる。ここで N=1-Mとすれば先ほどの正規化した式が得られる。他のケースも同様である。

続いてAの期待利得を計算してみよう。これは以下のようになる。


\begin{align}
& 1 \cdot \frac{ps}{N} + 2 \cdot \frac{q(1-r-s)}{N} + 3 \cdot \frac{(1-p-q)r}{N} \\
=& \frac{1}{N}(p \cdot s + q  \cdot 2(1-r-s) + (1-p-q) \cdot 3r)
\end{align}

この式のカッコ内の形はAがグー・チョキ・パーを出す確率と何らかの値の線形和になっている。つまり、 s, 2(1-r-s), 3rの大小関係によってAの最適な戦略が変わってくる。ところが、これらのうち特定の1つが他の2つより大きくなることは許されない。なぜならそのときAは自身の期待利得を大きくするために特定の手だけを出すことができてしまうからである。それは p, qの制約に違反する。

よってナッシュ均衡に至るためにはこれら3つの値は等しくなるか、あるいは2つが等しくなり、かつ1つは他の2つよりも小さくなる必要がある。以下で、それぞれのケースについて考えてみよう。

 s = 2(1-r-s) = 3rのとき

このとき以下の連立方程式が成り立つ。


\left\{ \,
    \begin{aligned}
    & s = 2(1-r-s) \\
    & s = 3r
    \end{aligned}
\right.

これを解くと (r, s) = (2/11, 6/11)となる。さらに 1-r-s = 3/11となる。よってBはグー・チョキ・パーをそれぞれ2/11, 6/11, 3/11の確率で出せばナッシュ均衡になることが分かった。ゲームの性質上、AとBを入れ替えても同様の議論が成り立つ。

Aの期待利得について考えていたらいつの間にかBのナッシュ均衡における戦略が求まってしまったのはなんだかキツネにつままれたような気分になるが、まあそういうものなのだろう。[5]のP.10を見ていると期待利得の式をどう捉えるかという視点の問題という気もするが、ここは私自身あまり咀嚼できていない。

 s, 2(1-r-s), 3rのいずれか2つが一致し、かつ1つは他の2つよりも小さくなる

これは厳密にはさらに3パターンに分けられるが、面倒なので1パターンだけ確認してみる(じゃんけんの性質上、どうせこのパターンはナッシュ均衡にならなさそうだという直観があるためサボる)。

例えば s = 3r > 2(1-r-s)のときを考えてみよう。これをうまく整理すると r > 2/11, s > 6/11が得られる。

このときAはチョキを出すモチベーションがなくなる。つまり q = 0となる。すると、Bとしてはパーを高確率で出す戦略に移行すれば期待利得を上げられる。極端な話、 r=s=0という戦略に変更すればよい(厳密にはBの期待利得の式を求めて確認すべきだが、ほぼ明らかだろう)。B単独のでの戦略変更によってBの期待利得が上がるため、これはナッシュ均衡ではない。

最初にやろうとした計算は本当にダメだったのか?

さて、ナッシュ均衡が無事に求まったわけだが、最初にやろうとしていた計算が本当にダメだったのか?は気になるところである。実際に計算して正しい値が出てくるか確認してみよう。

Aがグーを出すときBはチョキ・パーをそれぞれ \frac{s}{1-r}, \frac{1-r-s}{1-r}の確率で出す。するとAの期待利得は以下のようになる。

 \displaystyle{
1 \cdot \frac{s}{1-r} + 0 \cdot \frac{1-r-s}{1-r} = \frac{s}{1-r}
}

同様にAがチョキ・パーを出すときのAの期待利得を計算すると、それぞれ以下のようになる。


\begin{align}
& 0 \cdot \frac{r}{1-s} + 2 \cdot \frac{1-r-s}{1-s} = \frac{2(1-r-s)}{1-s} \\
& 3 \cdot \frac{r}{r+s} + 0 \cdot \frac{s}{r+s} = \frac{3r}{r+s}
\end{align}

ナッシュ均衡ではこれらがそれぞれ等しくなるという言説が今の状況でも正しいと信じることにすると、以下の連立方程式を解けばよいはずである。


\left\{ \,
    \begin{aligned}
    & \frac{s}{1-r} = \frac{2(1-r-s)}{1-s} \\
    & \frac{s}{1-r} = \frac{3r}{r+s}
    \end{aligned}
\right.

これを解くのは非常に骨が折れるのでこっそり数値計算した結果だけ述べておくと、少なくとも (r, s) = (2/11, 6/11)はこの連立方程式の解にはならない。つまりこの解法は誤りである。

ちなみにここまで書いてみて分かったことだが、ここでやった計算において変に正規化などせず普通に s = 2(1-r-s) = 3rを解けば解が得られる。結局、正規化を行とか列ごとにやるのが間違いであり、利得表全体で確率を正規化した上で方程式からは正規化係数を取り払ったと考えれば正規化しないのと同じになるというわけである。

まだ分かっていないこと

今回は戦略の組み合わせに制約があるようなケースを考えたが、これは現実に即して考えるとなんだか変な感じがする。というのも、A, Bがどちらも超頑固者で「私はパーしか出しません」と言い張ってしまうと、このゲームは永久に終了しないことになる。また、1回の試行の中であいこが繰り返されると手をあれこれ変える必要があり、時間発展的な要素が入ってくることになる。このようなものをゲーム理論の枠組みに無理やり押し込めたのは果たして適切だったのかはよく分からなかった。

ゲーム理論で扱う内容としては他にもいくつか種類があるようなので、もしかすると他のフレームワークを使うとすっきりと理解できるかもしれない。が、今の自分の知識量だとこのあたりが限界だった。

まとめ

本稿では戦略の組み合わせに制約がある場合のナッシュ均衡について私が考えたことについて述べた。戦略の組み合わせに制約がある場合、やや考え方に注意は必要なものの、通常の場合と同様にナッシュ均衡を求められることが分かった。

今度子どもの担任の先生にお会いする機会があればぜひこの結果を披露したいところだが、変な人だと思われそうなのでやめておく。

圏に関する初歩的な概念を小さな例で理解する ~ 圏同値と随伴の関係

前回の記事ではunitとcounitについて説明した。ここで本[1]の内容から一歩踏み出して圏同値と随伴の関係について整理してみたいと思う。

圏同値と随伴の微妙な関係性

前々回の記事で圏同値なら随伴になるという話をした。しかし、これは言い方がややいい加減であった。正確には、圏 \mathcal{A}, \mathcal{B}に対して関手 F: \mathcal{A} \to \mathcal{B},  G: \mathcal{B} \to \mathcal{A}および自然同型 \eta:1_{\mathcal{A}} \to G \circ F,  \epsilon: F \circ G \to 1_{\mathcal{B}}が圏同値を与えるとき、 F Gの左随伴となる。これは本[1]のExercise 2.3.10そのものであり、公式の解答はないものの解答を公開している方がいる[2]ので、詳しくはそちらが参考になるだろう。

ここで一つ言及しておきたいことがある。それは圏同値を考えるときに登場した \eta, \epsilonが必ずしも随伴のunit, counitになるとは限らないということである。これは圏同値と随伴では求められる条件が微妙に違っており、必ずしも圏同値における \eta, \epsilonがtirangle identityを満たすとは限らないということらしい[1]。

このことを確かめる例を見てみよう。以下のような状況を考える。

圏同値を与える自然同型がunit, counitにならない例

上図の関係を式で書くと以下のようになる。


\begin{align}
F(a) &= b' \\
F(a') &= b \\
F(f) &= s \\
F(g) &= r \\
G(b) &= a' \\
G(b') &= a \\
G(r) &= g \\
G(s) &= f \\
\end{align}

ただし、射 f, g, r, sはいずれも同型射であり、それぞれの逆射は自分自身であるとする。例えば f^{-1} = fである。

ここで、自然変換 \eta: 1_{\mathcal{A}} \to GFおよび \epsilon: FG \to 1_{\mathcal{B}}を以下のように定める。


\begin{align}
\eta_a &= f \\
\eta_{a'} &= g \\
\epsilon_b &= 1_b \\
\epsilon_{b'} &= 1_{b'}
\end{align}

 f, g, r, sは定義より同型射であるため、 \eta, \epsilonはいずれも自然同型である。

では、この \eta, \epsilonに対してtriangle identityが成り立つかどうかを確認してみよう。これについて考えるために以前の記事で示したtriangle identityの図を再掲する[1]。

triangle identity

例えば aに着目すると、左側の可換図式において上側のルートを通る合成射は以下のようになる。


\begin{align}
\epsilon_{F(a)} \circ F(\eta_a) &= \epsilon_{b'} \circ F(f) \\
  &= 1_{b'} \circ s \\
  &= s
\end{align}

これは可換図式の下側のルートを通る射 1_{F(a)} = 1_{b'}と一致していない。つまり、triangle identityが成り立っていないことが分かる。

圏同値かつtriangle identityが成り立つような \eta, \epsilonは存在しないのか?

圏同値を与える自然変換がunit, counitになっていないというのはなんとも美しくない。何とかして \eta, \epsilonをうまく定めて (F, G, \eta, \epsilon)が圏同値を与えつつ \eta, \epsilonがtriangle identityを満たすようにできないものだろうか?

実はこれは可能である。ざっくり言うと F, G, \etaを適当に選んだ後に \epsilonをうまく定めればこういうことが成り立つらしい。これについての証明は[3][4]などが詳しいが、可換図式やstring diagramとかいうやつを用いた証明になっており、正しそうな気はするもののいまいち分かった気持ちになれなかった。

そこで、以下では証明[4]をベースにしつつ式変形による愚直な証明を試みる。

以下に示す証明は私がほぼ自力で考えたものである。私の数学力を考えると誤りを含んでいる可能性があるので、無条件に信用せず注意深く見て欲しい。

圏同値であることの証明

まず、圏 \mathcal{A}, \mathcal{B}の間に関手 F: \mathcal{A} \to \mathcal{B}および G: \mathcal{B} \to \mathcal{A}があり、これらについて以下のような自然同型の組があるとする。


\begin{align}
\eta: & 1_{\mathcal{A}} \to GF \\
\xi: & FG \to 1_{\mathcal{B}}
\end{align}

つまり、 \mathcal{A} \simeq \mathcal{B}である。ここで、自然変換 \epsilonを以下のように定める。

 \displaystyle{
\epsilon = \xi \circ (F\eta^{−1}G) \circ (FG \xi^{−1})
}

このとき、 (F, G, \eta, \epsilon) \mathcal{A}, \mathcal{B}の圏同値を与えつつ \eta, \epsilonがtriangle identityを満たすことを示す。

まず、 \epsilonの定義に含まれる自然変換がいずれも自然同型であることから \epsilonも自然同型となる。また、 \epsilonを構成する自然変換はそれぞれ以下のようになっている。


\begin{align}
FG \xi^{−1}: & FG \to FGFG \\
F\eta^{−1}G: & FG FG\to FG \\
\xi: & FG \to 1_{\mathcal{B}}
\end{align}

よって \epsilon FG \to 1_{\mathcal{B}}という自然同型である。これより (F, G, \eta, \epsilon) \mathcal{A}, \mathcal{B}の圏同値を与える。

Triangle identityを満たすことの証明

続いて \eta, \epsilonがtriangle identityを満たすことを示す。Triangle identityは2つの式から成るが、片方を示せばもう片方も同様に示せる。というわけで、ここでは以下の式が成り立つことだけを示す。

 \displaystyle{
\epsilon F \circ F \eta=1_F
}

対象 A \in \mathcal{A}について上式の A成分は以下のようになる。


\begin{align}
(\epsilon F \circ F \eta)_{A} &= (1_F)_A \\
(\epsilon F)_A \circ (F \eta)_{A} &= 1_{F(A)} \\
\epsilon_{F(A)} \circ F(\eta_A) &= 1_{F(A)}
\end{align}

 Aは任意なのでこの式を示せば元の式が示せたことになる。

 \epsilon_{F(A)}を定義から計算すると以下のようになる。


\begin{align}
\epsilon_{F(A)} &= (\xi \circ (F\eta^{−1}G) \circ (FG\xi^{−1}))_{F(A)} \\
&= \xi_{F(A)} \circ (F\eta^{−1}G)_{F(A)} \circ (FG\xi^{−1})_{F(A)} \\
&= \xi_{F(A)} \circ F \left(\eta_{GF(A)}^{−1} \right) \circ FG \left(\xi_{F(A)}^{−1} \right)
\end{align}

よって以下の式が成り立つ。


\begin{align}
\epsilon_{F(A)} \circ F(\eta_A) &= \xi_{F(A)} \circ F \left(\eta_{GF(A)}^{−1} \right) \circ FG \left(\xi_{F(A)}^{−1} \right) \circ F(\eta_A) \\
&= \xi_{F(A)} \circ F \left(\eta_{GF(A)}^{−1} \right) \circ F\left(G \left(\xi_{F(A)}^{−1} \right) \circ \eta_A \right)
\end{align}

ここで、最後の式の末尾にある G \left(\xi_{F(A)}^{−1} \right) \circ \eta_Aに着目する。 \xi_{F(A)}^{−1} \in \mathcal{B}[F(A), FGF(A)]であるが、 Fが忠実充満な関手であること(これについては本[1]のexercise 1.3.32などを参照)から F(f) = \xi_{F(A)}^{−1}となるような f \in \mathcal{A}[A, GF(A)]がただ一つ存在する。これを用いると先ほどの式は GF(f) \circ \eta_Aと書ける。

さらに \etaの自然性より A, GF(A)について以下の可換図式が成り立つ。

 \displaystyle{
\require{amscd}
\begin{CD}
A  @>f>>  GF(A) \\
@V\eta_AVV                     @VV\eta_{GF(A)}V \\
GF(A)         @>>GF(f)>  GFGF(A)
\end{CD}
}

よって以下の式が成り立つ。

 \displaystyle{
GF(f) \circ \eta_A = \eta_{GF(A)} \circ f
}

これを元の式に代入して式変形していくと以下のようになる。


\begin{align}
\xi_{F(A)} \circ F \left(\eta_{GF(A)}^{−1} \right) \circ F(\eta_{GF(A)} \circ f)
&= \xi_{F(A)} \circ F \left(\eta_{GF(A)}^{−1} \right) \circ F(\eta_{GF(A)}) \circ F(f) \\
&= \xi_{F(A)} \circ F \left(\eta_{GF(A)}^{−1} \circ \eta_{GF(A)} \right) \circ F(f) \\
&= \xi_{F(A)} \circ F(f) \\
&= \xi_{F(A)} \circ \xi_{F(A)}^{−1} \\
&= 1_{F(A)}
\end{align}

以上により \epsilon F \circ F \eta=1_Fであることが示された。

圏同値を与える自然変換がunit, counitにもなるように変換する例

大変な証明が終わったところで、最初に示した例に戻って実際に圏同値を与えつつunit, counitになるような自然変換が得られることを確かめてみよう。先ほどの例で \epsilonと書いていた自然変換を \xiとし、改めて以下の自然変換を \epsilonとして定義し直す。

 \displaystyle{
\epsilon = \xi \circ (F\eta^{−1}G) \circ (FG \xi^{−1})
}

 \xi(旧 \epsilon)は以下のように定義されていたのであった。


\begin{align}
\xi_b &= 1_b \\
\xi_{b'} &= 1_{b'}
\end{align}

これは a, a'を用いて以下のように書ける。


\begin{align}
\xi_{F(a')} &= 1_b \\
\xi_{F(a)} &= 1_{b'}
\end{align}

よって \epsilon F(a)成分は以下のように求められる。


\begin{align}
\epsilon_{F(a)} &= \xi_{F(a)} \circ (F\eta^{−1}G)_{F(a)} \circ (FG\xi^{−1})_{F(a)} \\
&= 1_{b'} \circ F\left(\eta^{−1}_{GF(a)}\right) \circ FG(1_{b'}) \\
&= 1_{b'} \circ F(f) \circ FG(1_{b'}) \\
&= s
\end{align}

同様に F(a')成分は以下のように求められる。


\begin{align}
\epsilon_{F(a')} &= \xi_{F(a')} \circ (F\eta^{−1}G)_{F(a')} \circ (FG\xi^{−1})_{F(a')} \\
&= 1_{b} \circ F\left(\eta^{−1}_{GF(a')}\right) \circ FG(1_{b}) \\
&= 1_{b} \circ F(g) \circ FG(1_{b}) \\
&= r
\end{align}

これを用いると aについて以下の式が成り立つ。


\begin{align}
\epsilon_{F(a)} \circ F(\eta_a) &= s \circ s \\
  &= 1_{b'}
\end{align}

同様に a'について以下の式が成り立つ。


\begin{align}
\epsilon_{F(a')} \circ F(\eta_{a'}) &= r \circ r \\
  &= 1_{b}
\end{align}

よって一つ目のtriangle identityは満たされることが分かった。もう一方も示す必要があるが、私にはそこまで確かめるパワーがないので成り立っているものと信じることにする。

まとめ

本稿では圏同値と随伴の関係性について述べた。ざっくり言うと圏同値なら随伴となるが、圏同値を与える2つの自然同型が必ずしも随伴のunit, counitにならないこと、および適切な変形を行うことでこのずれを解消できることについて説明した。

実用的には可換図式やstring diagramで考えた方が圧倒的に便利なのだろうが、式変形ゴリ押しでの証明を試みたことでまた一段と理解が深まった気がする。