この章では,計算モデル CCM を詳細化をこころみるとともに,それをうらづけ,その 解析のもとになるべき数理モデルの確立をめざす.すなわち,まず 4.1 節で CCM の数理 モデル化の方向をしめし,4.2 節で CCM によって記述されたプログラム [*1] の探索空間 を静的に分析する.また 4.3 節と 4.4 節とでその動的なふるまいについてのべる.いずれ も直観にもとづく議論であって理論的なうらづけがえられていない部分がおおいことを, あらかじめことわっておく.また,ここではいずれも概要をのべるにとどめる.
計算モデルとしての CCM はプログラミング言語やその処理系の設計の基礎となるとい う点で重要だが,システムの定性的なふるまいを解析する目的ではよりマクロな議論に適 したモデルが必要だとかんがえられる.定性的なふるまいの解析には動力学系としてのモ デル化が適しているとかんがえられる.また,2 章でもふれたように,動力学系としての モデル化は自己組織系がもつ性質の自然なモデル化でもある.
従来,とくに論理プログラミングに注目があつまるようになってからは,ソフトウェア の動作の解析を目的とするばあい,そのモデルとしては論理にもとづくモデルがつかわれ ることがおおかった.また,関数プログラミングの基礎であるラムダ計算はある意味では 代数的なモデルだということができるが,方程式によって記述されるモデルではない.わ れわれがめざすべき数理モデル化の方向はこれらとはちがって,時間に関する方程式によ る記述という,より古典的な数学にもとづく,あるいはそれにちかい理論にもとづくモデ ルだとかんがえられる.
われわれがめざすべき CCM の数理モデルにおいては,近似などの方法によってシステ ムの定性的なふるまいを解析することができるべきである.そのためには,おそらく幾何 学的な方法であつかうことが重要になるだろう [*2][*3].幾何学的な方法の適用のために は,従来のプログラムの理論においては導入されていない位相 (距離のような概念) や測 度といった概念を導入する必要があるだろう [*4].たとえば,CCM におけるシステムの (動力学における意味での) 軌跡がのる多様体上になんらかの位相を導入する必要がある だろう.もちろん従来の計算モデルにもとづくプログラムの動作をこのような数理モデル をつかって解析することはできるが,われわれがめざすのは,CCM との直接的な対応が つく数理モデルである.従来のプログラミング言語によって記述されたプログラムとこの ようなモデルとの関係は直接的ではありえない.
われわれがめざすべきモデルは基本的には離散的なものである (したがって,代数的な とりあつかいから出発することになる) が,ばあいによると連続系による近似が目的を達 するためによりやくだつかもしれない.そのばあいには解析的な方法を適用することにな る (すなわち,システムのふるまいは文字どおり微分方程式によって記述される).この ような数理モデル化の方向は,現在のプログラムの理論とはかけはなれているが,ニュー ラル・ネットの理論とはかなりちかいものだということができる.ニューラル・ネットの 理論を手本とすることもできるかもしれない.
この節では,CCM によるプログラムの作業記憶がとりうる状態の代数的なモデルとグ ラフ理論的なモデルとをつくることをかんがえる [*5].
作業記憶がとりうるすべての状態からなる離散的な代数空間をかんがえることができる [*6].CCM におけるプログラムの実行とは,この空間のなかを移動しながら解をあらわ す点を探索することである.したがって,この空間 (部分空間) を探索空間とよぶ.インスタンスを発火させることによって探索空間中を移 動するから,インスタンスを抽象したものが AI 的な探索の理論でいう ``オペレータ'' であ る.探索空間においてオペレータ (規則) の 1 回の適用で移動できる点が探索空間におけ る隣接点であると定義する.これにより,探索空間は有向グラフとして表現される [*7]. 逐次処理を仮定すると,プログラム実行の軌道 (トレース) はオペレータの列によって表 現することができる.
初期状態から到達不能な点を探索空間からのぞくとすれば,原子の個数がふえないシス テムにおいては探索空間は有限集合になりオペレータも有限個になるから,実行前にすべ てのオペレータを生成できる.N クウィーン問題においては原子の個数はかわらないから 上記の条件をみたし,オペレータは互換をあらわすから,軌道の集合は交代群をなす [*8][*9].
通常,CCM にもとづいて記述されたプログラムの探索空間は,多数の隣接点をもつ頂 点からなる (木ではない) 網構造 (ネットワーク構造) になるとかんがえられる [*10].こ の点で,N クウィーン問題の探索空間は典型的である.5 章でしめすように,CCM にも とづいて記述されたプログラムは非常に単純であるにもかかわらず,バックトラックをつ かったプログラムなどにくらべて計算のオーダがひくいばあいがあることが経験的にわか っているが,この現象は上記のような探索空間の構造によるものではないかとおもわれる.
すなわち,第 1 にバックトラックにもとづく探索では探索空間の各頂点の隣接点数がす くないため,解へのみちのりがながい.そのために探索に時間がかかるのではないだろう か.CCM における探索ではその逆である.隣接点の個数は ``自由度'' (非決定性) のおお きさだとかんがえられる [*11].したがって,探索空間の自由度をある程度おおきくした ほうが探索効率をあげられるといえるのではないだろうか [*12][*13].
第 2 に,バックトラックにもとづく探索では探索空間が木構造であるため,せっかく解 にちかい状態に達してもバックトラックによってそこからはなれてしまい,探索に時間が かかるのではないだろうか [*14][*15].
すでにのべてきたように,CCM によって記述されたシステムの動作が決定論的なばあ いは,それは動力学系として表現される [*16].システムの動作が非決定論的なばあいに は,それは確率過程あるいは確率的な動力学系として表現される.CCM にもとづくプロ グラムを実行させ,ある時刻以降は入力がなくなったと仮定すると,その終状態はつぎの うちのいずれかになるであろう [*17][*18].
当然のことながら,規則が原子を生成しないプログラムにおいては (3) の現象は生じえ ない.連続空間の動力学系においては (1), (2) のほかにカオスにおちいるという現象が生じうるが,CCM における作業記憶は離散空間であり各データは有限状態であるからカオスは 生じないとかんがえられる [*19].
探索空間が網構造をした自由度のたかいシステムは,環境 (あらたな入力) への適応性 (自己組織性) があるのではないかとかんがえられる [*20].すなわち,自由度があるとシステムの構成要素が 自発的に動作して適応するという行動をとりやすいのではないだろうか. また,近接した状態をたどっていくことによって,バックトラックのような ``不連続的な'' おおきなジャンプなしにあたらしい安定状態に移行できるのではないだろうか.こ のようなシステムは多数の局所安定状態をもつとかんがえられるから,安定状態からはず れてもその近傍に他の安定状態をみつけやすく,破壊的なおおきなジャンプをへる必要が ないのではないかとかんがえられる.すなわちこのようなシステムは,人間の不完全性や 非合理性をおぎないうるシステムのモデルとなりうるのではないかとかんがえられる.
つぎに,バグに対する ``安定性'' についてのべる.従来の方法で記述されたプログラム においては,微小なバグが結果に重大な影響をおよぼしうる.それは,プログラムが ``目 標'' (または目的) をしらないから,わずかな撹乱 (ノイズ) すなわちバグによって目標 か らかけはなれてしまうのだと解釈できる.それに対して,CCM のプログラムにおいては, 秩序度関数の定義がまちがっていなければ,規則のなかに意図しない部分があったとして もただしい解をもとめられるばあいがおおいとかんがえられる.なぜなら,システムには 秩序度関数という目標が陽にあたえられているため,撹乱によってそれがみうしなわれに くいとかんがえられるからである.すなわちこのようなシステムは,現在のおおくの計算 システムとはちがって,人間の不完全性によってもたらされるバグに対してつよいとかん がえられる.
いうまでもなく,秩序度関数の定義域に関してバグがあれば結果に重大な影響があるこ とはさけられない.しかし,秩序度関数の値のほうは撹乱につよいとかんがえられる.た とえば,前記の N クウィーン問題のプログラムにおける秩序度の値 1 を 2 や 10 にかえて もプログラムの動作にはなんの影響もない [*21].
CCM の実行過程において,同時に発火させることができるインスタンスのうち,どの インスタンスをどのような順序で発火させるかをきめるのがスケジュリング戦略である. スケジュリング戦略ということばは,従来のプロダクション・システムにおける競合解消 戦略にちかい意味をもっているが,よりひろい意味をもたせるために,ことなる用語をつ かうことにした [*22].スケジュリング戦略は,CCM に特有の非決定性,競合にもとづく 組織化にかかわっている.したがって,秩序度関数とともに CCM のもっとも重要な部分 だとかんがえられる [*23].
CCM におけるスケジュリング戦略としては,自己組織化のためには非決定的なものを 採用するのがもっともらしいが,系統的 (決定的) なものもかんがえることができる [*24]. したがって,スケジュリングのための手段として,つぎのようなものがかんがえられる.
これらのうち (2) 〜 (4) は非決定的な戦略である.(1) は合理性がつよいが,(3), (4) は 非合理性がつよいとかんがえられる.すなわち,(3), (4) は合理的に説明できないであろ う現象を利用している.(2) は合理的とも非合理的ともいいうる.自然現象を利用すると しても,その理論的な背景がわかっているばあいは (1) に分類できるが,それがわからな いばあいは (4) に分類できるであろう.並列発火をみとめる合理的戦略は,(1) と (2) の混合戦略になるだろう.このような並列戦略については後述する.
これらの手段による戦略を,以下,順に説明する.
(1) 系統的な戦略
系統的な戦略としては,インスタンスを秩序度の増加がおおきい順にならべて先頭か
ら実行するという,従来のプロダクション・システムの競合解消にちかい戦略もありう
る.しかし,これは適当な戦略ではないであろう.なぜなら,この戦略はむだな計算 (つ
かわないインスタンスの計算) がおおく,また並列性を阻害するからである [*27].
上記の戦略以外にも系統的な戦略としてはさまざまなものがかんがえられる.5 章に
おいては N クウィーン問題の実行のために ``最右条件優先戦略'' を使用するが,これ
もそのひとつである [*28].すでにのべたように,系統的な戦略を使用するばあいには
システムは (決定論的な) 動力学系としてモデル化されるであろう.
(2) 偶然性にもとづく戦略
ランダム戦略においては,規則,各条件にマッチするデータのすべてがランダムに選
択される.さまざまな分布のランダム戦略がかんがえられる.偶然性にもとづく戦略の
ばあいにはシステムは確率過程または非決定的な動力学系としてモデル化されるであろ
う.
(3) 人間による主体的・主観的選択
人間による選択にもとづく戦略においては,規則を適用するごとに人間による選択が
必要だとするといちじるしく推論速度を減速する.したがって,通常は秩序度関数に人
間の判断をプログラムしておくことになるだろう.この方法は,ファジィ推論において
あらかじめメンバシップ関数のかたちを人間が主観的にきめておく方法と似ている.人
間による主体的・主観的選択をおこなうばあいにはシステムをスケジュリング戦略をふ
くめて精密にモデル化することはむずかしい.しかし,近似的には確率過程としてモデ
ル化することになるだろう.
(4) 超越的な存在による選択
この方法は自然システムにおける ``神の手'' を人工システムにそのまま利用しようと
いうものである.自然の自己組織系における ``神の手'' による選択がどのような戦略に
もとづいているかを人間が知ることはほとんど不可能である.自己組織系を統計的手法
で解析することはできるが,統計的手法で ``神の手'' がうまくとらえられるとはいえな
い [*29][*30].それならば ``神の手'' をそのまま利用してしまおうというのが,この方
法である.超越的な存在による選択をおこなうばあいには,モデル化に関しては人間に
よる主体的・主観的戦略のばあいとおなじ注釈があてはまる.
以上のような戦略のなかでいずれがよりよいかを理論的にきめるのはむずかしい.とく に非合理的な戦略についてはそうである.したがって,さまざまなスケジュリング戦略を 実験的にためしてよいものをみつける必要があるとかんがえられる.
つぎに,並列スケジュリング戦略についてのべる.CCM においては,化学反応系と同 様の並列性の実現を可能にしようとかんがえている.このかんがえかたは,Berry らの Chemical Abstract Machine [Ber 90] と似ている.モデルも秩序度関数をのぞけば似ている. 並列性のあるスケジュリング戦略としては,発火により秩序度が増加する,原子にかさな りのないインスタンスをすべて並行して発火させるという戦略が単純かつのぞましいであ ろう.CCM は非常に粒度がちいさい並列処理モデルとなっているから,(とくに SIMD 型 の) 超並列計算機 (Massively Parallel Computers) においてうまく並列実行できるのではな いかとかんがえている [*31].
最後に,スケジュリング戦略に対するプログラムの感度に関する問題についてのべる. 従来のプロダクション・システムのプログラムにおいてよくおこなわれるように,陽にフ ロー制御用の原子を導入することにより決定論的なプログラムを記述したばあいには,ス ケジュリング戦略によってその動作が影響されない.非決定論的なプログラムのなかには スケジュリング戦略に対して高感度のもの (すなわち非決定性がたかいもの -- 競合性が たかいもの) と低感度のもの (非決定性がひくいもの) とがある.たとえば,N クウィーン のプログラムは高感度だが,巡回セールスマン問題のプログラムは低感度だとわかってい る [*32].スケジュリング感度がたかいプログラムのほうがより ``化学的'' (化学的プログ ラミングにおける特徴的なプログラム) だとかんがえられる.しかし,感度が極端にたか いプログラムは適当なスケジュリング戦略をみつけるのがきわめて困難であり,実用的な プログラムではないとかんがえられる [*33].
[→ 次章]
[*1] プログラムということばは完全に計画するものという意味をふくんでいるから, CCM によって記述された不完全な ``計画'' をさすのには適当でないともかんがえられる. このような意味をこめて CCM においては,現在,規則と局所秩序度をあわせたものをシ ナリオとよぶようにしている.しかし,この報告ではプログラムという従来の用語をその ままつかっておく.おなじ意味において CCM の P すなわちプログラミングをべつのこと ばにかえることを検討しているが,現在のところ適当な代替案がないために CCM という ことばをそのままつかっている.
[*2] 論理をベースとして幾何学的な理論をくみたてることももしかすると可能かもしれ ないが,その確立には非常な困難がともなうだろうし,見通しのわるい理論になるおそれ がつよいであろう.すくなくとも古典論理には位相を導入することはできない (ただし, 直観主義論理には位相を導入することができるといわれる).
[*3] この意味で,情報幾何学の研究動向に注意をはらう必要があるとかんがえられる.
[*4] 秩序度はこのような位相のひとつだとかんがえられるが,それだけで十分だとはか んがえられない.
[*5] このモデルは,将来確立されるべき幾何学的理論におけるモデルに拡張されるはず のものである.
[*6] この空間あるいは作業記憶がとりうる状態をどのような数学的実体としてモデル化 するかがまず最初の選択枝となる. もっともかんたんなばあいについていえば,原子の 種類すなわち元素が 1 種類であり,リンクがなく同一状態の原子が複数個ないばあいには, 作業記憶がとりうる状態は原子がとりうる状態からなる集合のべき集合になる.廣川 [Hir 92] は CCM にもとづくシステムのこのようなモデル化をおこなっている.
[*7] オペレータの何回の適用で点 x から点 y まで移動できるかによって,2 点 x, y のあい だの距離を定義することができる.
[*8] CCM の理論においては,このようなオペレータとトレースの代数や確率的な動力学 の理論にもとづいてシステムを数理的に検証できるようにしたいとかんがえている.
[*9] プログラムから並列性をとりだすときには,つぎの命題がやくにたつとかんがえら れる : オペレータの列として表現されたトレースが,任意のとなりあうオペレータが群と して可換であるような部分列をふくむとき,その部分列にふくまれるオペレータは並列処 理可能であるという.
[*10] すなわち,探索空間中でのシステムの軌道には一般には分岐と合流とが両方存在す る.力学におけるような決定論的なシステムにおいてはその軌道に分岐も合流も存在しな い.非決定論的なシステムにおいては一般に分岐が存在するが,合流はかならずしも存在 しない.合流がある,すなわちことなる状態から出発しても同一の状態にいきつくという 性質を一般システム論では等結果性とよんでいる [Ber 68].したがって,CCM によって 記述されたシステムは,一般には等結果性をもっているということになる.
[*11] ここで,``自由度'' は非決定性とかんがえることもできるし,冗長性とかんがえる こともできる.自由度がおおいということは,探索空間上の 2 点をつなぐ軌道の個数がお おいということであるから,ここに一種の冗長性があるとみなされる.自由度がたかいこ とが並列処理にも有利にはたらいているとかんがえられる.
[*12] CCM においては,プログラムが複数の規則を合成してあらたな規則をつくるとい うような学習 (自己組織化 ?) をつうじて自由度を獲得するような機構をかんがえることも できる.
[*13] ただし,自由度をおおきくしすぎると,インスタンスの選択にかかる時間が増大す るためにかえって実行がおそくなるとかんがえられる.
[*14] 決定論的なプログラムの実行に時間がかかる理由の (まだ実証されていない ?) 理由 としては,決定論的なプログラムのもとになっている論理が逐次的であることがあげられ るが,これと上記の探索空間の構造とは密接な関係があるとかんがえられる.
[*15] このようなバックトラック探索の欠点は論理 (やラムダ計算) にもとづくプログラミ ングの帰結だともかんがえられる.記号情報処理 (論理) にもとづくプログラムが逐次的 であり,パタン情報処理にもとづくプログラムが並列的だという指摘もここからくるよう におもわれる.
[*16] 4.4 節でのべるスケジュリング戦略として系統的なものを使用すれば,システムの 動作は決定論的になる.スケジュリング戦略として非決定的なものを使用すれば,それは 非決定論的になる.
[*17] 真にランダムなスケジュリングが可能ならば,これら以外の状態 (発散しない caotic な状態) も存在する.ランダム戦略において使用する疑似乱数が周期をもつかぎりは,上 記のいずれかの状態におちつく.
[*18] この予想のただしさは,廣川 [Hir 92] によって証明されている.
[*19] ただし,(3) のばあいのなかにはカオスにちかい現象がおこるばあいがあるといえ るかもしれない.
[*20] このことは,たかい自発性をもつ生物とくに人間がたかい適応性をもつことと無関 係ではないとかんがえられる.
[*21] N クウィーン問題のばあいには,2 個のクウィーンのあいだの関係は対角線方向に あるかないかの 2 とおりしかないから,秩序度関数の値を 3 値以上にしても意味がない. しかし,その値が 3 値以上,ばあいによると連続値をとることに意味がある問題 (たとえ ば巡回セールスマン問題) のばあいには,値をどのようにしてきめるかが実践的にも理論 的にも課題になる.
[*22] 競合解消とよばないひとつの理由は,自己組織化においては競合が重要なやくわり をはたすから,むしろ積極的にそれを発生させることが自己組織化につながるばあいがあ るとかんがえられるからである.
[*23] 廣川 [Hir 92b] によれば,スケジュリング戦略におけるランダムネスの導入は,シ ステムに積極的にノイズを入力するすなわちゆらぎをあたえることによってシステムを制 御するという思想につうじている.これは統計力学における応答理論や揺動散逸定理にも 関係がふかいという.
[*24] すなわち,2 章においてのべたように非決定性が自己組織につながるとすれば自己 組織をめざしたシステムにおいては非決定的なスケジュリング戦略を採用するべきだとい うことになる.
[*25] 自己組織化という目的をかんがえれば系統的な戦略には疑問が生じるであろう.な ぜなら,非決定性の存在が自己組織化の必要条件だったからである.しかし,それにもか かわらず系統的な戦略は現実的なものとなりうる.なぜなら,第 1 に系統的な戦略を支配 する論理は CCM の規則や局所秩序度の論理 (インスタンスの内容) とは独立にさだめら れる.したがって,後者からみればそれは非決定論的ともいえる.また第 2 に,実用性を かんがえると,問題によっては系統的な戦略のほうが効率がよいばあいもありうるし,非 決定的な戦略とはちがってシステムを停止させるべきかどうかの判定が容易であるために 判定のオーバヘッドがすくないという事情もある.すなわち,系統的な戦略においてはス ケジュリング戦略においてインスタンスを網羅的にしらべるのでそれと独立に停止判定を おこなう必要がないが,非決定的な戦略においてはインスタンスをランダムにしらべるた め独立に停止判定をおこなう必要がある.
[*26] おそらくニュー・サイエンティストでなければ (4) をうけいれることには抵抗を感 じるだろう.ここでこのようなスケジュリング戦略まであげたのは,このような戦略まで かんがえうるということを主張するためであり,それが適当な戦略だと主張しているわけ ではない.
[*27] さらに,この戦略はインスタンスの内容と独立でない,すなわち規則や局所秩序度 に依存するやりかたでインスタンスを選択するという点で,非決定性の要請をおかしてい る (すなわち自己組織化からとおざかっている) という問題がある.
[*28] 系統的な戦略においては,発火させるインスタンスを (1) 規則と条件のいずれを優 先してきめるか,(2) 規則にふくまれるマッチング条件のうちのどれを優先してきめるか, さらに (3) 作業記憶内の原子のうちのどれを優先してきめるかなどに関してそれぞれ選択 枝があり,これらのくみあわせとしてさまざまな戦略が定義される.これらのうち,あと で必要になる (2) についてだけ説明する.
(2) に関する選択枝として,もっとも右側の条件をよりはやくかえながらテストする最 右条件優先戦略と,その逆の最左条件優先戦略とがある.N クウィーン問題のばあいにつ いていえば,最右条件優先戦略によるプログラムの実行は,つぎのような 3 重ループの実 行にちかい (わかりやすくするために単純化をはかっているので,完全にここにしめした とおりというわけではない.しかし, N クウィーン問題のプログラムにおいては規則は ただひとつなのでそれをスケジュリングにおいて考慮する必要がないという点は,このプ ログラムのとおりである).なお,ここで〈Swap, Queen1, Queen2, Queen3〉は規則が swap, 条件にマッチするクウィーンが左から Queen1, Queen2, Queen3 であるインスタンス をあらわす.
for Queen1 in WorkingMemory do for Queen2 in WorkingMemory - {Queen1} do for Queen3 in WorkingMemory - {Queen1, Queen2} do if〈Swap, Queen1, Queen2, Queen3〉が発火可能 then 発火; end if; end for; end for; end for;(1), (2), (3) においてどの選択枝をとるときも,ひとつの原子や規則をつかってからつぎ にそれらをつかうまでのあいだに他のすべて (あるいはほとんど) の原子や規則をみると いう意味での公平性があることが重要だとかんがえられる.公平性がないとうまく動作し ないプログラムがあることがわかっている.
[*29] なぜなら,統計的手法は複雑なシステムを人間に理解できるレベルまで単純化をは かるために,情報のきりすてあるいは圧縮をおこなっているからである.統計解析結果か らもとのシステムを復元することは,よほど性質のよいシステムでなければできない.し たがって, ``神の手'' をまねて人間が戦略をきめても,自己組織系が実現できるという保 証はない.ただし,Haken らはこのような ``復元'' がひろい範囲で可能だとかんがえてい るようである.
[*30] Prigogine や Haken はこの「神の手」が実は単純なしかけだと主張しているとかん がえられる.しかし,一部の物理系ですでにそれが実証されているとしても,人間や生物 系をふくむすべてのシステムにおいてこの主張がただしいかどうかは,まだわからない.
[*31] ただし,このばあいには効率のよい計算のために空間的なひろがりをあらわす (距 離のような) 概念を導入することが必要になるだろう.このような概念を言語仕様にとり いれるかどうかがひとつの重要な選択枝となる.しかし,言語仕様にとりいれないとして も,この概念をある程度機械独立に定義することは必須である.なぜなら,そうしないと プログラムの移植性がほとんどうしなわれてしまうからである.
[*32] これらのプログラムをスケジュリング戦略をかえてくりかえし実行させた結果,こ の事実があきらかになった.その測定結果は続報においてあらためてしめす.
[*33] スケジュリング戦略に対する感度の概念は,CCM において非常に重要だとかんが えられる.したがって,今後そのきちんとした定義をあたえるとともに,理論的・実験的 に感度を解析していくことが必要だとかんがえられる.