前回はクラス4セルオートマトンの絵を書いただけで、なんの説明もしなかったのだった。だって、あれって単なる裏表紙の埋草だったんだもん。スペースも小さかったし。今回から、いきなりスペースの制約もなくなっちゃったし、カラーの絵も使えるようになったんで、心機一転、第2シリーズをはじめることにする。その1回目は、前回あまりにも手抜きだったことを反省して、続きだ。似たような記事をよそにも書いたことがあるけど、今回はλの話を中心にする。これなら、ありものでいけるから、1時間以内で書いちゃうぞ。
複雑系・人工生命のの啓蒙書を読んでいると、必ずといっていいほど書かれているのが、クリストファー・ラングトンという兄ちゃんがハンググライダーで事故った話。ハンググライダーはもういいよ、って言いたくなりません? もうひとつ、必ず書いてあるのが、その兄ちゃんが発見した”λ”なるパラメータのこと。本を見るとλっていうのはなんかすごい発見らしいんだけど、どういうものだかさっぱり分からん、という声を何度か聞いたので、それを超駆け足で説明しようというのが、今回のテーマだ。
駆け足といっても、セルオートマトン(CA)を知らないとほんとに何がなんだかわからないから、まずそれを簡単に。同じ大きさの”細胞”がずらっと並んだ空間を考える。何次元空間でもいいので、一番簡単な1次元空間にしよう。個々の細胞は生・死のふたつの”状態”になれる。すると、たとえば16個の細胞を並べた空間全体の状態は、
生死死死生生生死生死生生死死生生などと表現できるわけだ。
さて、次の時刻(1秒後でも10秒後でもいいが)に個々の細胞の状態が一斉に変化する。その変化の仕方は、自分と両隣にある細胞の3個の細胞が今どういう状態にあるかで、決まってしまうとしよう。3個の細胞には全部で2の3乗(=8)通りの状態(近傍状態とでも呼んでおく)が可能なので、それぞれの場合について、次の時刻に真ん中にある細胞が生と死のいずれになるかを決めれば、変化の規則が完全に決まる。たとえば
現在の3個の状態 | 生生生 | 生生死 | 生死生 | 生死死 | 死生生 | 死生死 | 死死生 | 死死死 |
真ん中の細胞の次の時刻での状態 | 生 | 死 | 生 | 生 | 死 | 死 | 生 | 死 |
現在 | 生死死死生生生死生死生生死死生生 |
次の時刻 | 死生死生死生死生死生死死生生死生 |
次の次の時刻 | 生死生死生死生死生死生生死死生死 |
今のが一番簡単な2状態3近傍CAの例。つまり、個々の細胞の状態は生・死のふたつだけで、次の時刻の状態を決めるのは自分を含めて3個の細胞の状態だけということ。この原理がわかってしまえば、細胞がもっとたくさんの状態になれるモデルや、両隣だけではなくもっと遠くの細胞が関与する規則へは、すぐさま拡張できる。
ここからは、ラングトンに倣って1次元4状態5近傍セルオートマトンを考える。4状態なので、生きている状態が3種類あると思うことにする。5近傍というのは、両隣とそのまた隣までだ。この場合、5個の細胞の近傍状態は全部で4の5乗(=1024)通りなので、2状態3近傍の8通りよりだいぶ多い。
セルオートマトンの振る舞いを以下の四つに分類したのは、天才スティーブン・ウルフラムだった。
クラス1 | すぐに全部死ぬ |
クラス2 | しばらくすると周期的な振る舞いになる |
クラス3 | カオス的な振る舞い |
クラス4 | 複雑な振る舞い |
そのウルフラムの研究を発展させて、どういう規則がどのクラスのCAになるかを系統的に調べたのがラングトンのいわゆる”λパラメータ”の仕事だ。
”λパラメータ”なるものは次のように定義されている。
λ = (規則を決める全近傍状態の数 − 次の時刻に死状態に移る近傍状態の数)/全近傍状態の数上で例にあげた2状態3近傍の規則の場合、全近傍状態数は8、そのうち次の時刻に死状態に移るのが4なので
λ = (8-4)/8 = 0.5となる。拍子抜けするほど簡単。4状態5近傍なら、1024個の近傍状態のうち、どれだけが死状態に移るかで、λが計算できる。ラングトンが発見したのは、規則をこのλの値が小さいものから順に並べると、CAの振る舞いがおおむね
クラス1 -> クラス2 -> クラス4 -> クラス3の順になるということだ。クラス4は周期的振る舞いとカオス的振る舞いのあいだにある、ということで、”カオスの縁”と呼ばれたりする。
クラス2の周期的というのは、たとえばこういうの
これは160個の細胞を並べたもので、時間は上から下に流れている。一番上の初期状態は、真ん中の40個をランダムな状態、それ以外は死状態にしたもの。3種類の生きている状態は赤・青・緑の3色で表してある。死状態は白ね。
クラス3のカオス的というのは、たとえばこんなの
要するにべったりしてるやつ。
で、クラス4が複雑だというのは、
とか
とか、こんな感じをいうのね。もっとも、このふたつが本当にクラス4かどうかは、ちゃんと調べないとわからないんだけど、まあ、クラス4っぽいことは確かだからいいことにしよう。クラス2や3との違い、わかりますよね。いわく言い難いでしょ。
ラングトンは、λの小さい規則(殆ど死んじゃう)からはじめて、少しずつλを増やすという実験を繰り返した。死状態に移る近傍状態の移り先だけを変化させることで、λは違うけど”似たような規則”の系列を作ったところがミソ。これだと、確かにλが増えるにしたがって、おおむねクラス1からクラス2を経てクラス3に移るのがわかる。でも、途中でクラス4に当たるかどうかは、運次第。やってみてわかるように、クラスがλの順に並ぶったって、かなり大雑把な話なのね。 1次元4状態5近傍の場合は、λが0.4とか0.5とか、だいたいそのあたりにクラス4があるらしい。でも、実のところ、特定のλの値で必ずクラス4になるというわけじゃないんだな。 もしかしたら、状態数や近傍数が非常に多いときはきっちり決まるのかもしれないけど、僕はしらない。
λが0.4くらいの規則をランダムに生成してみると、たまにはクラス4にも当たるので、じっくり観察してみるのもいいかもしれない。結構はまります。
クラス4っていうのは、周期的でもないし”単なるでたらめ”とも違う、という意味で、”複雑”と呼ばれる。ラングトンはここに生命を見たわけだ。
このλパラメータの話自体は、ちゃんとした研究だと思う。だけど、これを”複雑系一般”に広げるとなると、どうしていいのかわかんない。
本によっては、このλの意味(意義)を少々誇大に書いてあったりもするので、要注意だ。
第一にλがきちんと定義されるのはCAだけだ。現実の生命はλがいくつですか、って言われたって、誰にも答えられないよ。
そもそも、どういうλがクラス4に対応するかは、空間次元や状態数や近傍数などによって違うから、いずれにしろ、数自体はあんまり意味ないですけど。
それから、この話には、どうやってクラス4に”なるか”という点がまったく含まれていない。規則をちゃんとチューニングしたら、複雑になります、という話だから。
”複雑なシステムは自己組織的にカオスの縁に達する”と主張したければ、そのチューニングの部分を問題にしなくてはならない。クラス4の規則がある程度必然的に生じるようなメカニズムを考えるためには、規則自体の変化を記述する”メタ規則”を用意しなくてはならなくて、それはまた、全然別の話なのだった。
(木口まこと)