高次元のパイピング

檜山正幸 (HIYAMA Masayuki)
Sat Jan 22 2005:start
Sun Jan 23 2005:prefinal

Unix流のパイプラインは、フィルタープログラムの1次元的な結合になってい る。これを高次元化する試みは、たしかあったと思う。いま、具体的に名前を あげたり原典を示すことはできないのだけど、そのようなアイディアがあった とか実験的実装があったとかいうようなことを、どこかで読んだ記憶がある。

しかし現在、意味のある高次元化/実用的な高次元化が利用できるのかとい えば、残念ながらそんなものはない。ではなぜ、高次元化は成功しなかったの だろう。後知恵で言えば、パイプラインを2次元以上に一般化しようという、 誰でも思いつくアイディアは、実行するとなるとほとんど手に負えない難問だっ たのである。

フィルターを“点”で、パイプを“点と点を結ぶ有向辺”で表せば、パイプ ラインは(少なくとも、そのつながり具合は)有向グラフで表現できる(*注1)。 パイプラインが本質的に1次元的であることは、グラフの各頂点に入 る辺、出る辺の数が、それぞれ最大で1であることが表明している。だから、 1次元の空間、つまり直線のなかにパイプライン・グラフを描ける。

注1

フィルターだけでなく、パイプもグラフの頂点にしたほうが、実際のソフト ウェア構造に忠実だ。が、いまの文脈では、これはさほど重要なことではない。

さて、パイプラインの高次元化ということを、「1次元空間のなかに描ける有 向グラフから、2次元や3次元空間のなかに描ける有向グラフまで一般化する」 ことだと捉えてみよう。多くのグラフは2次元空間(平面)内に、辺の交差な しで描けるが、一部のグラフはうまく描けない。だが3次元空間内ならば、辺の交 差を解消できるからどんなグラフでも描ける。つまりこれは、2次元でも非常 に多くの(「例外を除いてほとんど」ともいえる)グラフを、3次元ならすべ てのグラフを扱うことになる。

そんなにも多くのグラフを扱う必要性/必然性はない。現実的意味があって 取り扱いやすいようなグラフのサブセットを定める必要がある。しかも、その サブセット内で、結合のような演算がうまく定義できなくてはならない。これ は、組みひもや結び目/絡み目(braids, knots, links)を代数的に取り扱う こととほとんど同じである。

組みひもや結び目/絡み目(あるいはその拡張概念)の代数的定式化がなん とかできるようになったのは比較的最近のことである。そのような代数的定式 化のなかでも、トレース付きモノイド圏(traced monoidal category)が、お そらくは高次元パイピングにふさわしい代数構造だろう。このトレース付きモ ノイド圏が明確に定義されたのは、A. Joyal, R. Street, D. Verityの論文 "Traced monoidal categories"によるから、それは1996年のことである(*注2)

注2

ただし、それ以前にも、同様な構造は知られていたようだ。例えば、1988年 発表の、V.E. Cazanescu, Gh. Stefanescu "Feedback, iteration and repetition"で既に、トレース付きモノイド圏が、言葉使いは違うがハッキリ と定義されているし、後に(1996年以降と思われる)Martin Hylandと Masahito Hasegawaにより証明された定理(デカルト圏では、トレースと Conway不動点作用素が1対1に対応する)も示されている。Hasegawaは、2003年 の"The Uniformity Principle on Traced Monoidal Categories"で、 Stefanescuの本を参照しながら、そのような事実に言及している。

トレース付きモノイド圏よりずっと強い条件を満たすコンパクト閉圏は、な ぜか(線形論理との関係からか?)1980年には定式化されている (G.M. Kelly, M.L. Laplaza など)。だが、計算科学においてより使いやす そうな強コンパクト閉圏(strongly compact closed category)を、Samson Abramskyが導入したのは(おそらく)2004年である。

今(2005年)なら、これらの枠組みや技法を参照しながら、高次元パイピン グの計算法を組み立てることもできそうだが、1960、1970年代では、このよう な成果を利用すべくもない。有り体に言ってしまえば、所詮は無理だったのだ。 「今ならできそうだ」と言ってはみたが、ほんとのところはよくわからない。 実は今でも、まだ駒が足りてないのかもしれない。もう10年もして、「2005年 の時点では、所詮は無理だった」なんて言われたりして…。