[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
以前、セルオートマトンとタイムトラベルを組み合わせるアイデアについて述べたことがありましたが、今思うと現実のタイムトラベル(ワームホールを用いたもの。実現はしていません!)に近づけようとして不必要に複雑になってしまっています。そのためアイデアを書いただけで実装は見送りとなっていました。今回もアイデアを書くだけですが実装は遥かに容易になっていると思います。
タイムマシンとして動作する冷蔵庫があったとします。その中にものを入れると、未来に送られるのです。しかしここでひとつ疑問が生じます。未来の冷蔵庫の中に入っていたものはどこへ行くのでしょう?未来の冷蔵庫の中にメロンがぎっしり詰まっていたら、私達が冷蔵庫の中に入って未来へ行こうとすると、メロンに圧迫されて死ぬこととなります。そこでつじつまを合わせるため、未来の冷蔵庫に入っていたものは現在の冷蔵庫に送られるということにします。つまり、現在と未来の冷蔵庫の中身が交換されるのです。
今回のタイムトラベル・セルオートマトンはそれに似ています。現在と未来のセルの影響が交換されるのです。
情報を送る時間:ある時点のセルの情報がどの時点のセルの更新に使われるかを設定します。普通のセルオートマトンはこの値が1であり、つまり次の瞬間のセルの更新に使われます。タイムトラベル・セルオートマトンの場合は、この値がたとえば-3となり、3ステップ前の時間のセルに影響を与えるのです(3ステップ前へのタイムトラベル)。
これはセルオートマトンが現在と未来のセルの影響を交換する方法のデモです(残念ながら、完成版タイムトラベル・セルオートマトンではありません)。
はじめ「情報を送る時間」は1であり、普通のセルオートマトンと動作は全く変わりません。普通のセルオートマトンはある瞬間の状態が1ステップ後の状態に影響を与えるものです。これは現実の宇宙でも同じであり、現在の状態がその直後の状態に影響を与えます。
しかし、この値をたとえば-3にすると、3ステップ前の時間のセルに影響を及ぼします。言い換えると、現在は3ステップ未来から影響を及ぼされるのです(表示されている矢印がそのことを表しており、この場合だと3つ後のセルから現在の■セルに矢印が向きます)。
ところで、未来が現在に影響を及ぼすとき、同時に現在が未来に影響を及ぼします。未来から現在に矢印が来るだけではなく、現在(の1ステップ前)から未来(の1ステップ後)への矢印もあることに注目してください(未来から現在の矢印よりもやや長めの矢印です)。これは未来から現在へタイムトラベルするとき同時に現在から未来へも何かがタイムトラベルしているということであり、タイムトラベル冷蔵庫の交換に相当するのです。