直前の記事とそのひとつ前の記事に、注釈を追記しました。
「マイヤースのシステム理論への違和感と代替案」への追記:
思いつきを記したのですが、この思いつきをちゃんとした形にするのはだいぶ難しいようです。
入出力によって結合した複合システム $`\Phi; \Psi`$ の制御インターフェイスをどう定義すべきか? これは難しいですね。「内部構造は隠蔽すべし」というブラックボックス原理と整合するように、複合システムの制御インターフェイスを定義するのが困難。
この困難さには関数の決定性の要求も絡んでいるので、決定性の要求を諦めることも考えられます。が、そうすると、非決定性に伴う煩雑さ/面倒さを抱え込むことになります。
あちらを立てればこちらが立たずな状況です。
「IOCシステムと制御ラッパーの構造」への追記:
以下に出てくる
$`\quad \mathrm{Ctrl}(\Phi ; \Psi) \cong \mathrm{Ctrl}(\Phi)\times \mathrm{Ctrl}(\Psi)`$
は、ウマクないです。考え直す必要があります。$`\mathrm{Ctrl}(\Phi ; \Psi)`$ をうまいこと定義するのは難しいです。
この記事執筆時点で僕が想定していた斜反ファイブレーションにより、IOCシステムと制御インターフェイスの関係を記述できるかは怪しいです。簡単じゃない、考えるべき点が色々あります。
というわけで、なかなかウマクいかないですわ。
思い起こせば(いやっ、思い起こさなくても)、「システム」という概念は、ずっと考え続けてきたトピックです。僕の好みからは、スケマティックな(「スケマティック」参照)システム記述をしたいですね。スケマティックな〈図式的な〉記述をする際に、有限コレクションという概念が必要になります。有限コレクションにもけっこう悩まされました。
マイヤース〈David Jaz Myers〉の圏論的システム理論〈Categorical Systems Theory〉に、なんとなく違和感を感じるのは、有限コレクションをもとにスケマティックにシステムを記述するという発想・手法と、グロタンディーク二重構成で二重圏を作るアプローチが(今のところ)結びつかないせいでしょう。
たぶん、スケマティックな手法とグロタンディーク二重構成は折り合いが付くでしょう。どう折り合いを付けるかを探るために、スケマティックな手法の大枠を確認したいと思います。$`\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\mbf}[1]{\mathbf{#1}}
\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\msc}[1]{\mathscr{#1}}
\newcommand{\mbb}[1]{\mathbb{#1}}
\newcommand{\In}{\text{ in }}
%\newcommand{\twoto}{\Rightarrow }
%\newcommand{\op}{\mathrm{op} }
\newcommand{\id}{\mathrm{id}}
%\newcommand{\u}[1]{\underline{#1}}
\newcommand{\o}[1]{\overline{#1}}
\newcommand{\hyp}{ \text{-} }
%\newcommand{\Iff}{ \Leftrightarrow }
%\newcommand{\Imp}{ \Rightarrow }
\newcommand{\base}[1]{ {{#1}\!\lrcorner} }
\newcommand{\Bun}[2]{ \begin{bmatrix} {#1}\\ \downarrow\\{#2}\end{bmatrix} }
%\newcommand{\BunM}[2]{ \begin{bmatrix} {#1}\\{}\\{#2}\end{bmatrix} }
%\newcommand{\BunF}[2]{ \begin{pmatrix} {#1}\\{}\\{#2}\end{pmatrix} }
\newcommand{\LensM}[2]{ \begin{pmatrix} {#1}\\{\leftarrow}\\{#2}\end{pmatrix} }
`$
内容:
ワイヤリング図達の複圏
ワイヤリング図〈wiring diagram〉とストリング図テンプレート〈string diagram template〉は同義語です。ワイヤリング図/ストリング図テンプレートについては、以下の過去記事を参照してください。
強いて言えば、ストリング図テンプレートで、出現するすべてのノード〈ボックス〉が穴〈プレースホルダー | テンプレート変数〉である場合がワイヤリング図です。しかし、穴ではないノード〈ボックス〉を許したワイヤリング図もあるので、「ワイヤリング図 = ストリング図テンプレート」です。もし、穴しか持たないワイヤリング図を特に参照したいなら純ワイヤリング図〈pure wiring diagram〉とか言えばいいでしょう。
ワイヤリング図〈ストリング図テンプレート〉の全体は複圏〈multicategory〉の構造を持ちます。複圏〈オペラッド〉については、以下の過去記事を参照してください。オペラッドと複圏は同義語です。
ワイヤリング図達の複圏を $`\cat{WD}`$ とします。$`\cat{WD}`$ が何者であるか?は、今は保留します。そういう複圏があるのだ、と思ってください。
いつものように、同義語〈別名〉がイッパイあったり、一般論と具体例で呼び名が違ったりするので、表にまとめておきます。
| 複圏 | オペラッド | ワイヤリング図達の複圏 |
|---|---|---|
| 対象 | 色 | ボックス |
| 対象のリスト | 色のリスト | ボックスのリスト |
| 複射 | オペレーション | ワイヤリング図 |
| 複ホムセット | ? | 複ホムセット |
「型」とか「色」がオーバーロードされたりコンフリクトしたりで混乱しがちです。ここでは、少しでも混乱を避けるために、「オペラッドの色」ではなくて「複圏の対象」という言い方を使います。
有限コレクション
一般に、$`\cat{M}`$ が複圏のとき、複射 $`f`$ のプロファイル〈profile〉は次のように書きます。
$`\quad f : (A_1, \cdots, A_n) \to B \In \cat{M}`$
ここで、$`A_1, \cdots, A_n, B \in |\cat{M}|`$ で、$`|\cat{M}|= \mrm{Obj}(\cat{M})`$ は複圏 $`\cat{M}`$ の対象達の集合です。上記のプロファイル宣言は、以下の所属関係と同値です。
$`\quad f \in \cat{M}( (A_1, \cdots, A_n), B)`$
ここで、$`\cat{M}( (A_1, \cdots, A_n), B)`$ は、複圏 $`\cat{M}`$ の複ホムセット〈multihomset〉です。
ワイヤリング図を複射とする複圏 $`\cat{WD}`$ では、対象が有限コレクション〈finite collection〉です。有限コレクションとは、有限個のモノの“なんらかの集まり”です。リストやバッグ〈マルチセット〉が有限コレクションの例です。
「有限コレクションがなぜ/どこで必要なのか?」「有限コレクションの事例を挙げるのは簡単だが一般的定義が難しい」ことは、以下の過去記事の冒頭にも書いています。
有限コレクションについては、他の過去記事でも述べています。
有限コレクションに関して、色々な定式化/定義を試みていますが、有限コレクションという概念はひとつです。ただし、有限コレクションに種類があるのです。種類が $`\alpha`$ で、集合 $`X`$ の要素からなる有限コレクション達の集合を以下のように書くことにします。
$`\quad \mrm{FinColl}_\alpha (X)`$
種類 $`\alpha`$ として、リスト($`\alpha = \mrm{list}`$)とバッグ($`\alpha = \mrm{bag}`$)があれば、実はたいてい間に合います。が、一般論がないと都度定義を繰り返す必要があり、面倒で嫌なので、有限コレクションの一般論が欲しいのです。
有限コレクションの一般論は、紆余曲折でリバイスをしていますが、例えば「有限コレクション: 再配置の圏から」の内容で十分だと思います。
$`\mrm{FinColl}_\alpha (\hyp)`$ は、集合を渡して集合を作り出す、集合圏上の自己関手になります。この関手は繰り返し適用することがよくあります。例えば:
$`\quad \mrm{FinColl}_\mrm{pair}(\mrm{FinColl}_\mrm{bag}(\mrm{FinColl}_\mrm{list} (X) ) )`$
は、“集合 $`X`$ の要素からなるリストからなるバッグからなるペア”達の集合です。
また、異なる種類の有限コレクションのどちらか(どちらでも)を使うこともあります。以下は、“集合 $`X`$ の要素からなるリスト または 集合 $`X`$ の要素からなるバッグ”達の集合です。
$`\quad \mrm{FinColl}_\mrm{bag}(X) + \mrm{FinColl}_\mrm{list} (X)
`$
インターフェイスとシステム
スケマティックな〈図式的な〉システム記述では、システムのインターフェイスとは、中身のないボックスだと考えます。中身のないボックスは穴なんですが、中身がなくても表面〈境界面〉はあるのです。しかも、境界面には情報が載っています。境界面情報がインターフェイスだと言えます。
“インターフェイス=境界面情報”は、比喩的に言えば、境界面に描かれた色付きの模様です。模様(である図形)の次元が 0 のときは、有限個の色付き点達がインターフェイスです。有限個の色付き点達が、前節で述べた有限コレクションなのです。だから、有限コレクションの明白で使い勝手がいい定義が欲しかったのです。
ひとつのワイヤリング図には、幾つかのボックスがあります。個々のボックスが、“インターフェイス=境界面情報”を持つ穴(中身はカラッポ)です。ただし、全体を囲むキャンバス・ボックスはカラッポではないですが。
以下の絵は、「バエズ/ドーラン・ツリー: 色々な描画法」からの再掲です。

$`A_0`$ は全体を囲むキャンバス・ボックスの境界、$`A_1, A_2`$ は内部の穴の境界です。それぞれの境界(ちょっとゆがんだ円周)には有限個の点が載っています。これが、“インターフェイス=境界面情報”です。この絵では点に色を塗ってませんが、点達に(比喩的に)色付けすることもあります。比喩的な色とは、$`\mrm{FinColl}_\alpha(X)`$ の $`X`$ の要素のことです。
インターフェイスは有限コレクション($`\mrm{FinColl}_\alpha(X)`$ の要素)なので、ワイヤリング図 $`A`$ のプロファイルは、次の形に書けます。
$`\quad A : (A_1, A_2) \to A_0 \In \cat{WD}\\
\text{where }\\
\quad A_1, A_2, A_0 \in \mrm{FinColl}_\alpha(X)
`$
過去の絵をそのまま引用したので、“インターフェイス=穴=中身がないボックス”の名前もワイヤリング図の名前もラテン文字大文字ですが、対象と複射で文字の種類・フォントは変えたほうがいいですね。
さて、インターフェイス $`I\in \mrm{FinColl}_\alpha(X)`$ を持つシステムとは何でしょうか? その答は「とりあえずは未定義」です。つまり、「システムとはなんぞや?」に直接には答えないで、公理的に間接的に規定するのです。抽象線形代数が「ベクトルとはなんぞや?」に直接には答えないのと同じです。
インターフェイス $`I\in \mrm{FinColl}_\alpha(X)`$ を持つシステムの全体からなる集合を $`\mrm{Sys}(I)`$ としましょう。$`\mrm{Sys}(I)`$ の要素を問題にするのではなくて、$`I \mapsto \mrm{Sys}(I)`$ という対応の性質・特徴を公理的に規定します。
複圏のモノイド圏表現
前節の $`I \mapsto \mrm{Sys}(I)`$ のような対応を系統的に作ってやると、それはワイヤリング図達の対称複圏 $`\cat{WD}`$ の対称モノイド圏表現ということになります。これは唐突でしょうが、具体例を観察するとそういうことになっています。
まず、一般的な複圏 $`\cat{M}`$ のモノイド圏表現を説明します。$`(\cat{C}, \otimes, I, \alpha, \lambda, \rho)`$ をモノイド圏とします。省略と記号の乱用で次のように書きます。
$`\quad \cat{C} = (\cat{C}, \otimes)`$
モノイド圏 $`\cat{C}`$ から、規準的〈canonical〉に複圏 $`\mrm{Multi}(\cat{C})`$ を作れます。$`\cat{N} := \mrm{Mult}(\cat{C})`$ と置くと:
- $`|\cat{N}| := |\cat{C}|`$
- $`\cat{N}( (A_1, \cdots, A_n), B) := \cat{C}(A_1 \otimes \cdots \otimes A_n, B)`$
これだけでは複圏の定義になりませんが、その他の部分もそれなりに定義すれば、複圏ができます。
複圏 $`\cat{M}`$ のモノイド圏 $`\cat{C}`$ による($`\cat{C}`$ 上の)表現〈representation〉とは、次のような複関手〈複圏のあいだの準同型射〉です。
$`\quad F: \cat{M} \to \mrm{Multi}(\cat{C}) \In \mbf{MultiCAT}`$
$`\cat{M}`$ が対称複圏〈symmetric multicategory〉のときは、モノイド圏 $`\cat{C}`$ にも対称性が要求されます。対称複圏 $`\cat{M}`$ の対称モノイド圏 $`\cat{C}`$ による表現ということになります。ワイヤリング図達の複圏は対称複圏なので*1、表現のターゲット圏は対称モノイド圏である必要があります。よく使われるターゲット圏は、直積により対称モノイド圏とみなした集合圏です。
複圏のモノイド圏表現は、オペラッド上の代数〈algebra over an operad〉とも呼ばれます。ワイヤリング図達の複圏、つまりワイヤリング・オペラッド上の代数は回路代数〈circuit algebra〉と呼びます(「回路代数とグラフ置換モナド」参照)。ワイヤリング図達の複圏の表現も回路代数の一種だと言えます。
インデックス付きシステム空間
「空間」という言葉を、集合や構造が付いた集合(例えば位相空間)、圏や構造が付いた圏(例えば対称モノイド圏)、2-圏や構造が付いた2-圏(例えばデカルト2-圏)など、なんらかの集まりの意味で使います(「変換手意味論とブラケット記法 // 「空間」という言葉」参照)。
システムと呼ばれるモノ達のなんらかの集まりをシステム空間と呼びます。インターフェイス $`I`$ に対する $`\mrm{Sys}(I)`$ はシステム空間です。$`I`$ を動かすと、$`I`$ でインデックス付けられたシステム空間達になるので、これはインデックス付きシステム空間〈indexed system space〉です。ここから先で、インデックス付きシステム空間を正確に定義します。
ワイヤリング図達の複圏(対称複圏) $`\cat{WD}`$ の対象集合〈set of objects〉は、有限コレクションの種類 $`\alpha`$ と集合 $`X`$ により次のように書けます。
$`\quad |\cat{WD}| = \mrm{FinColl}_\alpha(X)`$
$`\alpha`$ と $`X`$ を特定すれば、$`\mrm{FinColl}_\alpha(X)`$ は具体的でハッキリした集合になります。複圏 $`\cat{WD}`$ の複射のプロファイル達の集合は次のように書けます。
$`\quad \mrm{List}(|\cat{WD}|)\times |\cat{WD}|`$
複圏 $`\cat{WD}`$ は対称複圏なので、$`\mrm{List}(|\cat{WD}|)`$ には対称群を寄せ集めた亜群 $`\sum_{n\in \mbf{N}}\mrm{Symm}(n)`$ が作用しています。
対称複圏 $`\cat{WD}`$ の複ホムセット $`\cat{WD}( (A_1, \cdots, A_n), B)`$ は、組み合わせ幾何的に定義できます(例えば、「バエズ/ドーラン植物」参照)。したがって、パラメータ $`\alpha`$ と $`X`$ と構成の細部をハッキリさせれば、ワイヤリング図達の対称複圏 $`\cat{WD}`$ は具体的でハッキリした対象物となります。
具体的に $`\cat{WD}`$ が与えられたとしても、$`\cat{WD}`$ の対象は単なるインターフェイス(実体は有限コレクション)だし、複射であるワイヤリング図も繋ぎ方の指定に過ぎません。とにかく中身がないんです。
そこで、中身がない $`\cat{WD}`$ に中身を与えるのが、適当なターゲット圏に対する表現です。ここではまず、ターゲット圏としてデカルト圏(当然に対称モノイド圏)としての集合圏 $`\mbf{Set} = (\mbf{Set}, \times)`$ を取ります。
ワイヤリング図の対称複圏 $`\cat{WD}`$ の集合圏による“とある表現”(特定の表現ではない)を $`\mrm{Sys}`$ とします。
$`\quad \mrm{Sys} : \cat{WD}\to \mrm{Multi}(\mbf{Set})\In \mbf{MultiCAT}`$
対称複圏のあいだの複関手である $`\mrm{Sys}`$ の対象パート〈object part〉は次のようです。
$`\quad \mrm{Sys}_\mrm{obj} : |\cat{WD}| \to |\mbf{Set}| \In \mbf{SET}`$
これは、インターフェイスにシステム空間(今はシステム達の集合)を対応させる $`I\mapsto \mrm{Sys}(I)`$ です。
$`\mrm{Sys}`$ は複関手なので、対象パートだけでなくて、各複ホムセットごとの複ホムセット・パートを持ちます。
$`\text{For }I_1, \cdots, I_n, J \in |\cat{WD}|\\
\quad \mrm{Sys}_{\mrm{mhom}( (I_1, \cdots, I_n), J) } = \mrm{Sys}_{( (I_1, \cdots, I_n), J) }: \\
\cat{WD}( (I_1, \cdots, I_n), J) ) \to
\mrm{Mult}(\mbf{Set}) ( (\mrm{Sys}(I_1), \cdots, \mrm{Sys}(I_n) ), \mrm{Sys}(J) ) \In \mbf{Set}
`$
対象パート $`\mrm{Sys}_\mrm{obj}`$ と複ホムセットごとの複ホムパート $`\mrm{Sys}_{( (I_1, \cdots, I_n), J) }`$ 達は、複関手としての法則を満たす必要があります。
インターフェイス $`I\in |\cat{WD}|`$ に対する集合 $`\mrm{Sys}(I)`$ の要素が(そのインターフェイスを持つ)システム〈system〉です。ワイヤリング図 $`w`$ に対する $`\mrm{Sys}(w)`$ は、システムに対するオペレーションになります。システムに対するオペレーションとは、幾つかの既存のシステムから、新しいシステムを構成する構成手続き〈construction procedure〉とも言えます。
表現〈複関手〉$`\mrm{Sys}`$ は、複圏 $`\cat{WD}`$ をインデキシング空間とするインデックス付きシステム空間〈indexed system space〉です。
一般化
前節の表現〈複関手〉 $`\mrm{Sys}`$ のターゲット圏は集合圏 $`\mbf{Set}`$ でした。集合圏の代わりに、大きな圏達の2-圏を採用して、複関手もスード複関手〈pseudomultifunctor〉にすると、より一般的な表現ができます。
$`\quad \mrm{Sys}: \cat{WD} \to \mrm{Multi}(\mbf{CAT})\In \mbf{Multi}2\mbb{CAT}`$
インターフェイス $`I\in |\cat{WD}|`$ に対する圏 $`\mrm{Sys}(I)`$ の対象が(そのインターフェイスを持つ)システムです。$`\mrm{Sys}(I)`$ は圏なので、システムのあいだのシステム射〈system morphism〉も持ちます。システム射には、同じインターフェイスを持つシステムのあいだの模倣〈simulation〉などが含まれます。
別な一般化として、インターフェイスの次元を上げることがあります。ワイヤリング図の穴の境界は1次元で、境界に載っているインターフェイス情報は有限個の色付き点達でした。ワイヤリング図をサーフェイス図テンプレートにすると、穴の境界は2次元球面になります。2次元球面に描かれた模様は1次元です。つまり、インターフェイスが1次元図形〈グラフ〉になります。
2次元やそれ以上の次元のインターフェイスは指標〈signature〉と呼ぶのがふさわしく、指標 $`\Sigma`$ に対するシステム達の圏 $`\mrm{Sys}(\Sigma)`$ は、インスティチューション理論におけるモデル圏 $`\mrm{Model}(\Sigma)`$ と同一視可能でしょう。
おわりに
この記事で定義した $`\mrm{Sys}`$ は、複圏〈オペラッド〉をインデキシング空間とするインデックス付きシステム空間でした。マイヤースは、グロタンディーク二重構成の後で、できた二重圏上の二重インデックス付き圏を定義しています。
「状態遷移系達の二重圏の直接的定義」より:
なお、マイヤースは、二重圏上の二重インデックス付き圏〈doubly indexed category〉という概念も提示しています。二重インデックス付き圏が、違和感/ズレを解消してくれるかも知れません。
複圏、二重圏、三重圏といった高次元圏類似構造の上にインデキシングを考えるという方向性はだいたい同じです。システムの記述は、必然的に高次元のインデキシング/高次元のファイブレーションへと向かうのでしょう。
*1:対称複圏とするのが妥当だと思える、ということです。