忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

時間の矢の衝突

ここで書いたシミュレーションは、ランダムウォークがあたかも過去から未来に行き、未来から過去に行っているかのような図形を描きます。「あたかも」2つの時間の矢が衝突しているかのようです。今日気がついたのですが、じっさいそのとおりなのです。


時間逆転世界とのコンタクト

上記のシミュレーションは、時間逆転ランダムウォークのシミュレーションを行います。変な図形です。あたかも2つのランダムウォークが衝突しているかのようです。

ちなみに普通のランダムウォークと時間逆転ランダムウォークはこうです:

ランダムウォークは過去が一点になっていて、未来になるとバラけます。時間逆転ランダムウォークはその逆です。

よって、上述の図は2つの過去を持っていて、それぞれの時間が衝突しているかのようです。

私ははじめ、これは偶然の一致だろうと思いました。というのもこのプログラムは時間の流れが常に逆転しているからです。少なくともそういうふうにプログラムしたつもりでした。わざわざ私達の時間からはじめて、それを途中でいきなり逆転させたりといった面倒なまねはしていないのです。途中で逆転させるプログラムより最初から最後までずっと逆転しているプログラムのほうがかんたんですから。私は「あたかも2つの時間が衝突しているかのように見えるが、何かの偶然の一致で、気のせいだろう」と思っていました。

しかし違ったのです。これはじっさいに2つの時間の矢が衝突しています。図にすると一目瞭然です:

緑色の空間は私達の世界(通常の時間)で、紫色の空間はシミュレーション世界(時間が逆転している)です。

私たちは一回のクリックでシミュレーション世界にたくさん黒い点を打ち込むことができます。が、その時点では実はその黒い点の集まりは私達の時間に属しているのです。ランダムウォークなのに一点にたくさんの点があるということは、それはスタート地点(過去)でなくてはいけないからです。クリックによって、私達の時間の矢に従う物体を時間の逆転した世界に無理やり打ち込むことができるのです。

ところがその時間の矢も時間逆転世界の時間の矢に次第に押されていき、ついに向こう側に取り込まれてしまいます。なにしろ周りが全部自分の時間の矢と逆転している状況で自分自身の時間の矢を保っていることは難しいでしょうからね。負けて相手の支配下になるのです。

結局、私は知らず知らずのうちに2つの時間の矢が衝突するシミュレーションを書いてしまっていたというわけです。

時間の矢の衝突

これはグレッグ・イーガンさんのSF小説『アロウズ・オブ・タイム』の状況とそっくりです。この小説では登場人物たちは時間の逆転した星エシリオで(自分たちの星から持ってきた)小麦を栽培しようとするのですが、小麦は成長を止めてしまいます。エシリオの時間の矢が逆であることが小麦に悪影響を与えたのでしょう。そこでエシリオの土を爆破して土に主人公たちの時間の矢を押し付けるのです。

このシミュレーションでも粉々になることが時間の矢の方向が変わるきっかけですから(ただし押し付けるのではなく押し付けられるのですが)、意外と『アロウズ・オブ・タイム』の描写はかなり本質を捉えているのかもしれません。

拍手[0回]

PR