2013年8月7日水曜日

コンラート・ツーゼ「計算する宇宙」その10


 ディジタルコンピュータの第一人者の手による,サイバーパンクな論文「計算する宇宙」。解読作業もいよいよ第 3 章に突入しました。
 今回は 13 ページに渡る 3 章 1 節"The Expression Digital Particle"の解読結果を紹介いたします。本節では特に図が多く出てくるので,本文を参照していただけるとより分かりやすいと思います。



 本節では,1 次元における粒子の移動及び相互作用を通じて,「ディジタル粒子」の振る舞いを解説しています。ここでのディジタル粒子は,速度と圧力の 2 つの量を持っています。もちろんどちらとも飛び飛びの離散的な量です。また,枠で仕切られた 1 次元の線上の,枠と枠の間に配置され,枠と枠の間を移動します。
 この振る舞いは,真っ直ぐなシリンダー中の摩擦のない気体粒子の移動をモデル化したものです。

 前章にて,下記のような導出形式のマクスウェル方程式が登場しました。

$E + c * rotH * dt \Rightarrow E$
$H - c * rotE * dt \Rightarrow H$

 すなわち,電界の現在の状態と磁界の微分式から,電界の次状態が決定し,同様に磁界の現状態と電界の微分式から,磁界の次の状態が決まる という式です。
 本節の気体のディジタル粒子においても下記のように同様の,2 つの量の現状態から次状態を導く式が立式されます。

$v - \Delta^{s}_{p} \Rightarrow v $ 
$p - \Delta^{s}_{v} \Rightarrow p $ 

 ここで, $\Delta^{s}_{p}$$\Delta^{s}_{v}$はそれぞれ,隣接点間の速度変化,圧力変化を示しています。
 この式による,ディジタル粒子の移動の例を示したのが,本文中の Fig.15 です。Fig.15 だけだと少々分かりにくかったので,粒子の流れを図で追って行きたいと思います。ここでは Fig.15 の一番左に記載されている (1) の状況を取り上げます。


 まず,時間 t1 において,v と p の初期値を与えます。ここではそれぞれ +1 を与えています。Fig.15 と同様,ここでも計算の流れをわかりやすくするために,v と p はずらして書かれています。











 次に,隣接する 2 つのセルの v の値から,$\Delta$v の値が求まります。ここで,$\Delta$v = 右のセル - 左のセル となることに注意。










 符号を逆転すると -$\Delta$v の値が得られ,2 段目のセルに値を入れることができます。








 同様に残りのセルを埋めていきます。








 前述の式に基いて,1 段目と4 段目の値を足すことで,次の時間 t2 における v の値を得ることができます。











 同様に,2 段目と 3 段目の値を足すことで,t2 における p の値を得ることができ...るはずなんですが,本文中の結果とは異なってしまいます。
 








 考えてみたところ,t2 における v を求める際に,p は v より右にセル半分ずらしました。そこで,t2 における p を求める際も,v を p より右に半セル分ずらすのが公平だと考えられます。








 


 これで本文と同じ値が得られました。 

 いままで見てきた (1) は,初期値を (v, p) = (+1, +1) としていました。このとき,速度も圧力もプラスの値が右方向に伝播していくことが分かりました。
 (2) より,(v, p) = (-1, -1) の場合は,共にマイナスの値が右に伝播します。(3),(4) より,v と p が異符号の場合は左に値が伝播していくことが分かります。

 また,Fig.17 では,初期値として (v, p) = (0, +1) とした場合の結果を図示しています。ここでは粒子の移動というよりも,波が広がっていくような振る舞いになっています。
 さらに興味深いことに,v と p の平均値は初期値のまま,(v, p) = (0, +1) であり,変化していないとのこと。にも関わらず,正や負の値が広がっていくことは明らかにポテンシャルエネルギーの増加を示している と述べています。
  ツーゼは,この振る舞いが私たちの知る物理現象(シリンダー中の気体粒子の振る舞い)とは異なっていることを指摘しています。この波状の振る舞いを「不安定な」もの,波状にならず粒子の移動になる振る舞いを「安定な」ものと呼んでいます。ディジタルな粒子の様子を記述したいのだから,波状になっては困るということですね。
 そして,ディジタル化が一般的に行われたため,微分方程式からの逸脱が,物理法則からの逸脱に繋がったのではないかと述べています。その上で,元の微分方程式の全ての状況に従う粗いディジタルモデルは構成可能であるのか,という問いはとても興味深い問題だと触れています。

 初期値の設定によって振る舞いの型が大きく異なるのは面白いですね。そしておそらくディジタル化により,実際の物理現象のとシミュレーションの結果のずれが生じたという点も興味深いです。こういった状況をどのように回避すれば良いのか,こういった状況はどの程度現れ得るのかを考えておかないと,コンピュータシミュレーションを行う際に不安がつきまといますね。


 Fig.15 〜 18 までは,初期値は一箇所にのみ与えられていました。そのため,粒子の動き(本文中ではパルスとも表現されています)の発生ポイントは常にその一箇所に限られていました。
 Fig.19 では,2 箇所に p のみの初期値を配置しています。Fig.17 のように一箇所に p のみの初期値を与えると,波が広がっていくような振る舞いになりますが,この場合だと 2 つの粒子が広がっていくような形になります。とはいえ,2 箇所に配置した場合の全てが粒子状の(本文中でいうところの「安定した」)振る舞いを見せるのではなく,特定の条件を満たすことが必要のようです。なお詳しくは書いてありませんが,このことは量子力学の状況との類似性があるとのこと。

 ツーゼは,2 箇所に初期値を配置した状況をさらに詳しく追っていきます。2 箇所に初期値を配置すると,それらによって生じた 2 つの粒子がぶつかる状況が現れます。現在使用している演算(前述の速度と圧力の現状態から次状態を導く式を用いた演算)は,重ね合わせの法則を持っています。そのため,Fig.20 の (1) のように,それぞれから導出された +1 の値同士が同じ位置で発生した場合,当然ながら +2 の値になります。
 ここで,ツーゼは「重ね合わせの法則により厳密に記述されたシステムは,実際の物理現象で見られるような粒子の相互作用に相当する結果を得ることはできない」と述べています。 あくまでも物理現象を記述したいわけですから,相互作用を再現できないのなら,そもそも重ね合わせの法則は必要ないという判断です。そこで,Fig.22 の真理値表で示される,非線形な演算が導入されます。
 非線形演算とはいえ,ここで導入されたのは非常にシンプルなルールです。それは,「上限値,下限値を設けること」です。つまり,1 + 1 = 1,-1 -1 = -1 というルールになったのです。今までのルールの元では,2 つの粒子がぶつかってもそれらの圧力や速度は変化しませんでした。しかし,新たなルールのもとでは,2 つの粒子がぶつかり,圧力 or 速度 or 圧力の変化量 or 速度の変化量の合計値が 2 を超える絶対値を持つ場合,それぞれの粒子の対応する量は 0.5 になります。このことは,衝突により粒子間に相互作用が生じたと言い換えることができるのです。
 なお,この非線形演算を Fig.17 の圧力のみ初期値が与えられた場合に適用すると,波が広がる不安定な振る舞いではなく,粒子が移動する振る舞いになります。ツーゼはここではただ興味深いと述べるに留まっていますが,このことはこの非線形演算の妥当性,実際の物理現象への一致を示唆しているのだと思います。
 # Fig.17 の t1 の p は +1, -2, +1 となるべきですよね。流れを断ち切らないようにあえて -1 としたのかも。



 さて,上限値が設けられたことにより,取りうる値は 正,負,ゼロ の 3 種類となりました。奇しくもこれは,前章で登場した 3 進数ベースのコンピュータが得意とする状況です。そこでここからは,前述の導出式の代わりに,3 進数システムを意識した下記の式を次状態の導出に使用します。

$v - \Delta_{p} / 3 \Rightarrow v $ 
$p - \Delta_{v} / 3 \Rightarrow p $  

 ここで,$\Delta_{p} / 3$ 及び $\Delta_{p} / 3$ の値は丸めにより整数にされます。
 Fig.26 はこの式を用いた演算の例を示しています。あくまでも 3 による除算は変量に対してのみなので,初期値以外にも p や v が +2 になっています。見かけ上のものと考え,符号のみを見ればよいのだと思います。

 Fig.26 (1) は, Fig.15 (1) と同じ状況です。しかし,Fig15 (1) で,粒子の速度と圧力の両方が隣のセルに完全に移るのにかかる時間は,1 単位時間ですが,Fig.26 (1) では 3 単位時間です。そのため,Fig.26 (1) の粒子の伝播速度は Fig.15 (1) の 1/3 になります。なお,このことは柔らかい物質の中で,音速が遅くなることに対応しているとのことです。
 また,Fig.26 (1) は,粒子の移動速度が単位時間の 3 倍あると見ることもできます。要するに移動速度の 3 倍でサンプリングしていると考えれば良いと思います。サンプリングの話しなのであくまでも単位時間は見かけの,便宜的なものです。そのため,「より複雑なモデルである"Calculating space"モデルにおいては,光速が,隣接粒子間の切替速度よりも遅いという状況が生じ得る。しかし,これはあくまでも局所的な意味を持つものである」ということになります。
 #なんともさらっと,本書のタイトルである "Calculating space" -計算する宇宙- という重要ワードがでてきましたね! 後の章でこのモデルが登場するのでしょう。
 # Fig.26 (1) の計算について,v の方の計算結果は,ルール通りに進めると本文中の値と一致する結果が出ます。ただ,p の方をどうやって算出しているのかが謎です。2 単位時間目の p は,ルールに従うと -1 +3,もしくは前述したずらしの方法を適用するとしても +1 +1 になるはずで,本文中の +2 という結果に一致しません。色々考えてみたのですが,どんなルールで算出しているのかいまだ分かっていません...。 

 Fig.27 は Fig.26 (2) で示されている 2 粒子衝突の詳細の抜粋を示しています。p の値のみが示されており,粒子の移動の様子が分かりやすくなっています。ここでツーゼが指摘しているのは,圧力の移動に通常は 3 単位時間かかっていますが,相互作用が生じている間は,圧力の移動は 2 単位時間で済んでいます。このことをツーゼは「周期が短くなった」と形容しています。個々の値が圧縮されるだけでなく,時間方向にも圧縮されるようで,面白いです。
 また,この衝突の様子を,「ぶつかって通り過ぎた」のでなく「反発力により,ぶつかる直前で退けられた」と見ることもできることも述べています。そのため,「すれ違う」や「反発する」という言葉は,ディジタル粒子の記述に用いた場合,その意味を失うように見えると言っています。そして,量子力学においても同様なことが導き出せるとのこと。これも非常に興味深いです。



 さて本章の最後に,これまで見てきた演算ルールに対応するブロック図が紹介されています。
 #しかしながら,文字がかなりつぶれててとても見づらいです...。1 つの四角が 1 つの状態に対応しているのか,それとも 1 つが 1桁を表しているのか。出力の無いレジスタや演算器はどういった意味をもつのか。ローマ数字の 1 と 2 で示されたパルスはどういった意味をもつのか。など疑問はいまだ解決せず...。
 ともかく,このプロセス中では,純粋な加算は遅延なく $\Delta$ の値をつくり,レジスタは格納した情報に後続のパルスのみを付与して伝える,とのことです。こうしたパルスの伝達は,時間次元の微細構造に対応しているそうです。
 またここで,3 進システムはシフト操作を,論理演算の AND,OR,NOTに対応する 3 進値に還元するとのことです。なるほど,論理演算の基本演算子も 3 つでしたね。これも 3 進数の大きな利点なのかもしれません。ただ,ここでは 3 進値は 2 進値に変換され,2 ビットで表されるとのこと。うーん,せっかくの 2 進数なのに。便宜的なものなのでしょうか。



 さて,非常に長文になってしまいましたが,以上が 3 章 1 節の勉強・解読報告です。
 いよいよ本格的にディジタル的な操作を用いた物理現象のシミュレートの話が始まりました。手元でも簡単にシミュレートでき,初期値の与え方や演算方法により異なる振る舞いを見ることができて,とても面白かったです。
 また,本書のタイトルである "Calculating space" のワードもついに登場しました。

 
 1 次元空間を扱った本節に対し,次章では 2 次元空間を扱うようです。引き続き解読作業を進めていきます!
 

0 件のコメント:

コメントを投稿