過去2回、コンピュータッドの話をしました。
この記事では、2次元のコンピュータッドと2-図面の具体例を挙げます。
内容:
バタニンの例:ペースティング図とストリング図
次のバタニンの論文は、コンピュータッドについて記述されている資料のひとつです。
- Title: Computads for Finitary Monads on Globular Sets
- Author: M.A. Batanin
- Date: 1998
- Pages: 21p
- URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.2118
この論文の3ページに次のペースティング図があります。
Web上のPDFだと図が壊れているようなので、僕はPostScriptファイルから紙に印刷しました。もとのペースティング図にはラベル(番号や名前)がまったく無かったので、印刷した紙に赤字でラベルを記入しました。
バタニンは、「この平面ペースティング図のポアンカレ双対でストリング図が得られる」と書いてますが、実際のストリング図は載っていません。僕が手描きで描いたストリング図が次です。
ペースティング図とストリング図を重ねて描けば、ポアンカレ双対の意味は分かるでしょう。「0次元ドット ←→ 2次元背景エリア、1次元アロー ←→ 1次元ワイヤー、2次元多角形 ←→ 0次元ノード」のような対応があります*1。
グラフィック表現と図面
ペースティング図やストリング図のように、紙やコンピュータディスプレイに描き出されて、我々人間が視覚的に認識可能な絵図をグラフィック表現〈graphical representation〉と呼ぶことにします。それに対して、「2次元のコンピュータッド」で定義した図面〈figure〉は、抽象的・組み合わせ的な構造物です。次のように言えます。
- ペースティング図は、2-図面のグラフィック表現である。
- ストリング図は、別な描画法による2-図面のグラフィック表現である。
ひとつの図面に対して、色々なグラフィック表現がありまえます。我々にお馴染みの描画法(グラフィック表現の手法)はペースティング図とストリング図ですが、他の描画法があってもかまいません。
前節のバタニンの事例の2-図面を と名付けることにします。"Batanin's Figure" の頭文字です。 は抽象的・組み合わせ的な構造物であって、そのグラフィック表現ではありません。2-図面 は、ペースティング図で、あるいはストリング図で、あるいは別な描画法でグラフィック表現することができます。
2-図面と2-コンピュータッド
図面はコンピュータッドに対して定義されます。 がn次元のコンピュータッドだとして、 に対して、k-図面の集合 が定義されます。k次元の図面は、集合 の要素になります。図面に先だって、コンピュータッドが指定されなくてはなりません。
しかし多くの場合、コンピュータッドには言及されずに、図面(のグラフィック表現)がいきなり出現します。これは、図面(のグラフィック表現)から、背後にあるコンピュータッドは想像できるだろう、という想定に基づいた省略です。
想像は直感的でボンヤリしたものになりがちです。図面からコンピュータッドが一意的に決まるわけでもありません。明示的に、ちゃんとコンピュータッドを定義すべきです。それが行われない理由は、めんどくさいからです。どのくらいめんどくさいのでしょうか? やってみましょう。
2-図面と2-指標
「2次元のコンピュータッド」で、2-コンピュータッドのテキスト記述として指標の構文を紹介しました。次が指標の事例でした。
2-computad Foo { 0-cell A, B, C 1-cell f:A → B 1-cell g:A → B 1-cell h:B → C 1-cell k:A → C 2-cell α::[A/ f /B] ⇒ [A/ g /B] 2-cell β::[A/ f, h /C] ⇒ [A/ k /C] }
1-図面〈パス〉の始点/終点は(空1-図面以外では)省略するとして、2-セルの書き方は次でもよいとします。
2-cell α::[f] ⇒ [g]:A → B 2-cell β::[f, h] ⇒ [k]:A → C
この書き方は、自然変換のプロファイルの書き方と同じで見やすいと思います。
バタニンの2-図面 をホストする2-コンピュータッドのなかで最小の2-コンピュータッドを求めましょう。その2-コンピュータッドを とします("Batanin's Computad" の頭文字)。2-コンピュータッド を指標で記述します。その指標は次の形になります。
2-computad BC { …なにやらかにやら… }
2-コンピュータッドの0-セルは、2-図面(のグラフィック表現)に出現する0-セルを全部列挙するだけなので:
2-computad BC { 0-clell 1, 2, 3, 4, 5, 6, 7, 8, 9 …なにやらかにやら… }
1-セルに名前〈ラベル〉を付けてませんが、両端の0-セルから1-セルが決まるので、ペア (n, m) の形で1-セルを記述しましょう。
2-computad BC { 0-clell 1, 2, 3, 4, 5, 6, 7, 8, 9 1-cell (1, 2):1 → 2, (2, 3):2 → 3, (3, 4):3 → 4, (4, 5):4 → 5, (5, 6):5 → 6 1-cell (1, 8):1 → 8, (8, 7):8 → 7, (7, 6):7 → 6 1-cell (2, 8):2 → 8, (3, 9):3 → 9, (8, 9):8 → 9, (9, 6):9 → 6 …なにやらかにやら… }
最後に2-セルを記述します。
2-computad BC { 0-clell 1, 2, 3, 4, 5, 6, 7, 8, 9 1-cell (1, 2):1 → 2, (2, 3):2 → 3, (3, 4):3 → 4, (4, 5):4 → 5, (5, 6):5 → 6 1-cell (1, 8):1 → 8, (8, 7):8 → 7, (7, 6):7 → 6 1-cell (2, 8):2 → 8, (3, 9):3 → 9, (8, 9):8 → 9, (9, 6):9 → 6 2-cell α::[(1, 2), (2, 8)] ⇒ [(1, 8)]:1 → 8 2-cell β::[(2, 3), (3, 9)] ⇒ [(2, 8), (8, 9)]:2 → 9 2-cell γ::[(2, 4), (4, 5), (5, 6)] ⇒ [(3, 9), (9, 6)]:3 → 6 2-cell δ::[(8, 9), (9, 6)] ⇒ [(8, 7), (7, 6)]:8 → 6 }
(のペースティング図)を下に再掲しますので、 に の素材がすべて入っていることを確認してください。
2-図面のテキスト記述
「2次元のコンピュータッド」で紹介した方法で、2-図面をテキスト形式で記述します。2-セルを横に並べる区切り記号をカンマ( の略記)、2-セルを縦に並べる区切り記号は縦棒( の別記号)とします。 に対する空2-図面 [p/ /p] を Id p とも書くことにします。1-図面〈パス〉 p はブラケットで囲んであるので、キーワード Id と併置しても識別可能です。
最初に α と β を縦に並べますが、境界になる1-図面〈パス〉を揃えるために、素材を横並びにした2-図面を2つ作ります。
- (Id[(1, 2)] , β)::[(1, 2), (2, 3), (3 9)] ⇒ [(1, 2), (2, 8), (8, 9)]:1 → 9
- (α, Id[(8, 9)])::[(1, 2), (2, 8), (8, 9)] ⇒ [(1, 8), (8, 9)]:1 → 9
これらの2-図面の境界は、共通の1-図面〈パス〉が [(1, 2), (2, 8), (8, 9)] になるので縦に並べることができて、次の2-図面が得られます。
- (Id[(1, 2)] , β) | (α, Id[(8, 9)]) :: [(1, 2), (2, 3), (3 9)] ⇒ [(1, 8), (8, 9)] : 1 → 9
と、こんな感じで、2-セル達 γ, β, α, δ を上から下に並べていきます。境界の調整のために Id を追加します。最終的に得られるテキスト形式記述(のひとつ)は次のようです。
(Id[(1, 2), (2, 3)], γ) | (Id[(1, 2)], β, Id[(9, 6)]) | (α, Id[(8, 9), (9, 6)]) | (Id[(1, 8)], δ) :: [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)] ⇒ [(1, 8), (8, 7), (7, 6)] : 1 → 6
これは、ストリング図と対照するほうが見やすいでしょう。
おわりに
次の概念が混同されているケースがあるようです。
- 図面とそのグラフィック表現: 図面は抽象的・組み合わせ的構造物で、グラフィック表現は視覚的に認識可能な絵図です。ひとつの図面に対して、そのグラフィック表現はひと通りとは限りません。
- 図面とそれをホストするコンピュータッド: 図面からコンピュータッドが一意的に決まるわけではありません。また、ひとつのコンピュータッドから生成される図面はたくさんあります
通常は、図面はそのグラフィック表現により理解されます。我々の視覚的認識能力に頼るのは悪いことではありません。しかし、図面の計算をコンピュターソフトウェアにさせたり、高次元の図面を扱う際は、人間の視覚的認識能力に頼るわけにはいきません。抽象的・組み合わせ的構造物である図面を、グラフィック表現なしで取り扱う方法も必要です。
今回の事例からも想像できるでしょうが、グラフィック表現なしで図面を取り扱うことは非常に煩雑です。3次元、4次元、‥‥ の図面となると、(通常の人間が)取り扱うことは事実上無理でしょう。高次のコンピュータッド、高次の圏が難しい理由のひとつはこの煩雑さ/複雑さです。煩雑さ/複雑さを突破したり回避したりする手法が現在開発中という状況ですね。
*1:2次元多角形にはニ角形〈二辺形〉も含まれます。