単純なものから複雑なものを構成する
【 単純なものから複雑なものを構成する 】
これまでのことを、少しまとめてみましょう。
Diagram = Box + Wire
ここでBoxは、あるものがほかのものに変化する「プロセス」を表現しています。
Diagramは、プロセスとしてものごとをとらえる手段
本当でしょうか? 箱と線からなる図形だけで、ものごとの変化の特徴を捉えるのに、なにか役に立つのでしょうか?
String Diagram ではこう考えます。
複雑なDiagramは、単純なDiagramから合成される
これは、実は、次のもっと一般的な考え方の応用です。
複雑なものは、単純なものから構成される
これを、「構成可能性 = composability の原理」といいます。
【 単純なものから複雑なものをつくる二つの方法 】
String Diagram = プロセスの理論 では、単純なプロセスから複雑なプロセスをつくるには、二つの方法があると言います。
1. 二つのプロセス A, B を、独立に、並行に走らせる。(この独立に走る二つのプロセス全体を「一つのプロセス」としてとらえかえすことがポイントです)
2. 一つのプロセスAの出力を、もう一つのプロセスBの入力に結合する。(ここでも、結合された二つのプロセス全体を「一つのプロセス」としてとらえかえすことがポイントになります)
前者をプロセス A, Bの「並列合成」といって、A ⊗ B で表します。
後者をプロセス A, Bの「直列合成」といって、B ○ A で表します。
【 図形で表すことのメリット 】
ここで導入した記号 ⊗ や ○ を用いると、プロセス A, B, C について、式で書くと次のような関係(結合律)が成り立ちます。
A ⊗ B ⊗ C = (A ⊗ B) ⊗ C = A ⊗ (B ⊗ C)
A ○ B ○ C = (A ○ B) ○ C = A ○ (B ○ C)
式で書くと複雑に見えますが、これを図形で表すと、この関係がなりたつことが、すぐに直感的に理解できます。これが、図形を使うことのメリットです。詳しくは、ショートムービーで。
ショートムービー「Diagramの合成」を公開しました。
https://youtu.be/4G7S5f8Xocg?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb
動画のスライドは、こちらからアクセスできます。
https://drive.google.com/file/d/1_bmBEq7BGFsjtt5YA8GLCCfOxCfpKqMH/view?usp=sharing
コメント
コメントを投稿