2013年8月25日日曜日

タイムトラベルの分類 改定版

先日,タイムトラベルの分類についての記事で,歴史改変がなくて;かつ同一人物が同時代にいないタイプのタイムトラベルはないとした.しかし,『タイム・リープ あしたはきのう』(電撃文庫 上下巻)が,まさにそのタイプであったので改定することにする.


タイムトラベルはSFでは一般的な仕掛けである.SF上のタイムトラベルにはいくつかの種類が存在する.そこで,SF物語上のタイムトラベルを分類していこう.

よくみられるように,2つの軸に分けて,4象限のマトリクスで分類していく.1つ目の軸は,歴史改変がある/ないの分類;2つ目の軸は同時代に同一人物がいる/いないの分類.

歴史改変がある/ないとは,時系列もしくは因果関係の系列が一本なのか;それともタイムトラベルによってそれらが変化するかどうかということである.設定で歴史改変が認めれていたとしても,物語の上で歴史改変がなされないものは,歴史改変がないに含める.

同時代に同一人物がいるこる/いないとは,昨日に飛んだときに,昨日の自分がそこにいるタイプなのか;いないタイプなのかという分類だ.意識のみが時間を越えるのか;もしくは,身体も含めて時間を越えるのかは問わない.この分類は『傾物語』で少し言及されていた.『傾物語』は最後まで見ていないので,まだ分類できない.

以下の表に具体的な作品を分類する.便宜上それぞれに[A],[B],[C],[D]とラベルをつける.

  歴史改変がある 歴史改変がない
同一人物が同時代にいる [A]
バック・トゥ・ザ・フューチャー
ルーパー
[B]
夏への扉
涼宮ハルヒの憂鬱
ドラえもん(?)
同一人物が同時代にいない [C]
時をかける少女
シュタインズゲート
魔法少女まどか☆マギカ
[D]
タイム・リープ あしたはきのう

[A]が映画ではもっとも一般的だ.タイムトラベルによる混乱が生じて,物語的に面白くなりやすい.

しかし,どうしても歴史改変による矛盾:タイムパラドックスが生じてしまう.タイムトラベルなんで存在しないのだから仕方がない.それを強引にどう解決するかもタイムトラベルものの面白さのひとつだ.有名なタイムパラドックスに親殺しのパラドックスというのがある.過去に戻って自分が生まれる以前に親を殺したら自分が存在できないというやつだ.これを表現するにはどうすればよいのか.

映画でよくあるのが,歴史的な時系列を無視して,物語の中での時系列で因果関係を表現するというものだ;『バック・トゥ・ザ・フューチャー』では,自分の存在が危うくなると,体が透けてくる;また,『ルーパー』では,現在の自分の体に傷をつけると,未来の自分にその傷あとが現れる.親を殺せば,存在自体が最初からなくなってしまうのだから,自分が過去に行くというイベントが成立しえないはずだ.しかし,この表現では過去にいくというイベントは存在するけど,親殺しの影響は受けるとするのである.過去での歴史改変の影響は,時間を越えて現れるのである.

[B]は,時間軸が完全に一本でタイムトラベルの結果が,タイムトラベルするまえに既に反映されている.登場人物が過去に行って,いくら頑張ってもすでに未来は決定していて変えようがない既定事項なのだ.親を殺ろそうといくら努力して,成功しない.パラドックスが生じないのが利点である.しかし,結果が分かっているので終着点の意外さは損なわれてしまう.また,結果が決まっているのに登場人物はなんで頑張っているのだろうと思ってしまう点もある.一方で,伏線を貼りやすいという利点もある.未来の情報を頼りにして,すでに分かっている結果に帰着するように工作する.結果でなくてプロセス重視のタイプである.

『ドラえもん』を(?)をつけてここに入れたのは,設定が一貫していないからだ.[A]にも思えるが,タイムパトロールが頑張っているので,結果として[B]となっているのだろうか?ドラえもんがやっていくる未来は一定だ.昔話題になった同人作品のドラえもん最終話は[B]に分類される.

[C]は『時をかける少女』に代表されるタイプだ.過去の自分に戻ることができる.このタイプも,意識が過去の自分に飛ぶだけならタイムパラドックスが生じない.なぜなら,歴史が改変されて,時間軸が分岐することはあっても,[A]のように時間軸がループすることはないからだ.タイムパラドックスは,本来一方向であるはずの因果関係が,過去と未来がくっつくことで輪になってしまうために生じるのだ.また,自分の生前にタイムリープしたらどうなるのだという問題は残る.生前にタイムリープしたら,タイムパラドックスが生じてしまう.間宮千昭もしくは深町一夫はどうやって未来に帰るのだろうか?

『魔法少女まどか☆マギカ』の暁美ほむらの能力も[C]に分類される.世界の時間軸を分岐させるという相当すごい能力である.(2013/11/3)

[D]は一般には成立しない.過去の自分にタイムリープしただけで,必然的に歴史が改変されるからだ.『ドラえもん』の『人生やりなおし機』は[D]に近い.今の頭で過去に戻っても,結局同じことになるというオチ.『ドラえもん』はいろんなパターンを含んでいる興味深い作品だ.

タイム・リープ あしたはきのう』は,同じ時間を繰り返さないという制約を付け加えることで,[D]を実現している.[D]は成立しないと思っていたが,この作品で[D]のタイプが成立することが証明された.作中で[A][B][C]それぞれのタイプの作品について言及されていたので,この作品はあえて[D]の位置を狙っていると思われる.『タイム・リープ』はタイムトラベルものの中でも,特異な位置にある重要な作品である.

2013年6月16日日曜日

一様なライフゲームの統計的性質3

生存/死滅のセルの定義

ライフゲームの挙動を観察すると,不規則な動きのある部分と静止,または周期的な振動する部分に分かれていることがわかる.この不規則な挙動を示す箇所を生存している(Alive),静止・振動の部分を死滅している(Dead)と呼ぶことにする.

以下の1,2,3のいずれか場合のセルを死滅していると定義する.死滅でないセルを生存していると定義する

  1. 自セルおよび周囲8セルが全てfalse
  2. 2ステップ連続で自セルおよび周囲8セルが同じ値をとる
  3. 自セルおよび周囲8セルが周期2の振動を2サイクルする

過去の状態を参照して生存か死滅を決定する.条件2の場合は2ステップ,条件3の場合は4ステップを参照する.周期3以上は,ほとんど存在しないので無視することにする.

また,過去の状態を参照するため,死んだ状態になってから判別するまでに遅れが生じる.条件1の場合は,その傾向を防止し,生存と死滅の境界を明確にするためである.前々回に示した動画は条件1を加えていない.

例として,以下のGIFアニメを示す.赤・ピンクが生存するセル.白・黒が死滅したセルでる.赤・黒がtrue,ピンク・白がfalseである.不規則な挙動を示す場所を区別できていることが分かる.

lifegame0364_64x64


条件

セル数は8192x8192とした.初期条件は確率p0=0.364でtrueとなるような乱数を一様に与えた.


生存のセルの割合の時間変化

以下に生存のセルの割合の時間変化を示す.横軸は前回示したグラフとは異なり,対数軸とはなっていない.

時間とともに生存セルは減少してゆく.とくに,2000ステップから10000ステップにて10^(-2.5E-4 x step)に比例して減少していることがわかる.この範囲では,ステップ毎に一定の確率でセルが死滅してゆく.この事実は,ライフゲームの挙動を統計的に議論できることを示している.

図1 生存のセルの割合の時間変化

pA2


追記 6/23/2013

p0=0.192の場合も追加した.対数グラフなので,8000ステップから異なった値をとっているように見えるが,10^-4のオーダーしか異ならないので実際にはほとんど一緒である.

2013年6月8日土曜日

一様なライフゲームの統計的性質2

条件

初期条件として,確率p0=0.074, 0.098, 0.133, 0.192, 0.364, 0.564でtrueとなる7ケースの一様な乱数を与えたときの挙動について調べてみる.

領域の大きさは4096x4096で,境界は周期境界条件とする.乱数にはc++のrand関数を用いた.貧弱な乱数かもしれないが,特に問題ないだろう.


真のセルの確率の変化

図1は真のセルの確率P(true)の時間変化である.

p0=0.192の場合は前回示したように,もしライフゲームが完全にランダムな挙動をするのであれば一定値をとる.しかし,ライフゲームではP(true)は時間と共に減っていき,約10000ステップで定常となる.

また,p0=0.564の場合は,1ステップでのP(true)(以後p1と呼ぶ)がp0=0.192のときと一致するように選んだ値である.両者は互いに一致する.したがって,一様な乱数の初期条件を与えても,密度以外の影響はないといえる.

p0=0.133, 0.192, 0.364, 0.564の場合は時間とともにP(true)は漸近していく.初期のP(ture)が大きい場合初期条件の影響は時間と共に失われていくことがわかる.p0=0.098, 0.074の場合も他の場合に近づいていく傾向にあるが,一致する以前に定常状態に達してしまう.

p0=0.074, 0.098, 0.133は一旦減少したのち,増加する.これらも初期条件の影響が時間と共に失われて,一般的な状態に近づく結果と思われる.

図1 真のセルの確率
pT


一様ライフゲームの4つの挙動モード

一様ライフゲームの時間的に変化する挙動を4つのフェーズに分類する.

  1. 立ち上がり
  2. 漸近
  3. 普遍
  4. 定常

立ち上がり

立ち上がりは初期の分布の影響が強く現れている状態である.ランダムな初期条件を与えたが,ライフゲームではそのような状態になることはない.初期のランダムな状態は,ライフゲームにおいては「不自然」な状態なのである.そのため,数ステップを要して「自然」な状態に遷移する.

図2,図3は,それぞれ真および偽のセルのが次のステップで真になる確率P(true|true), P(true|false)である.とくにp0が小さい場合に顕著に現れているように,6ステップまでが立ち上がりフェーズである.

p0=0.192, 0.564は立ち上がりフェーズで値が異なっている.この2ケースはp1の値が一致するようにp0を選んだものである.p1が一致していても,分布の傾向は当然異なっている.しかし,立ち上がりフェーズによりこの2ケースの差異は吸収されてしまう.

漸近・普遍

立ち上がりのモードの後はp0=0.364のケースに漸近していく.p1が大きいケースほど早くp0=0.364と一致する.p0=0.364はp1が最大となるケースである.つまり,p0=0.364のケースが最も早く普遍フェーズに遷移し,p1が大きいケースから順に普遍フェーズに遷移していく.

普遍フェーズがどのような状態かは定かではないが,ライフゲームの一般的な性質をもつ状態と予想される.P(true)の変化曲線がべき乗則にしたがい始めた以降の部分が普遍フェーズである.

遷移フェーズとは,立ち上がりフェーズの後,普遍フェーズに遷移するまでの状態である.p1が小さいケース(p0=0.074)は漸近フェーズから普遍フェーズに遷移することなしに次の定常フェーズに遷移してしまう.

定常

定常フェーズとは,すべてのセルが一定値または周期的な挙動をするようなった,つまり死んだ状態になったフェーズである.どのケースでも約10000ステップで定常フェーズに達する.漸近・普遍フェーズから定常フェーズに突然達するわけではない.徐々に死んだセルが増えていき,すべてのセルが死んだときを定常フェーズと呼んでいる.したがって,普遍フェーズも定常フェーズに漸近しているのだが,便宜上,漸近と普遍フェーズの呼び方を区別している.

図2 真のセルから真のセルになる確率
pT2T

図3 偽のセルから真のセルになる確率
pF2T

2013年6月2日日曜日

一様なライフゲームの統計的性質1

ライフゲームとは

ライフゲームとは2次元セルオートマトンの一つであり,生命の繁殖死滅を模したシミュレーションモデルである.自らの値cと周囲8セルを参照として,以下のように次ステップでの値c’が決定される.s2は周囲8セルでtrueの値のセルが2,s3は3であることを示す.

Tex2Img_1370177919

この法則にしたがって時間ステップを進めて行くと,下の動画のようなうねうねとした興味深い挙動を示す.赤色のセルは変化の起こっているセル,すなわち生きているセルを示しているが,それについては今後述べていく.

lifegame037_64x64

ライフゲームの性質は,過去によく調べられている.しかし,グライダーやブリンカーといった具体的なパターンを見つけるものが多く,統計的な性質についてはあまり知られていないようである.そこでちょっと調べてみようと思う.

一様でランダムなときの挙動

あるステップで,一様に確率pでtrueのとなるような分布をしているとき,次ステップがtrueとなる確率p’は

Tex2Img_1370178108

となる.グラフに示すと以下のようになる.

p-p'

特徴的な点は次の4点である.p’が最大値をとるp=(14-sqrt(115))/9=0.364,およびp=p’となるp=0.0, 0.192, 0.370である.

もし,分布がつねに一様でランダムであり,上式にしたがってtrueのセルの密度(確率)が変化するとすると,以下のグラフのように数ステップで密度はp=0かp=0.37に漸近する.p(0)=0.192の場合のみ例外でp=0.192を保つ.

t-p_theory

もちろん実際のライフゲームでは上記のようにはならない.そこにライフゲームというものの特徴が現れているのである.今後,実際のライフゲームがどのような性質を持っているかを統計的に議論していく.

2013年4月8日月曜日

Rapid Distribution Theoryを用いた乱流と水位変動の関係の考察

壁に乱流がぶつかったらどうなるか?というのを議論した理論にRapid Distribution Theoryをいうのがある.では,壁面が固定壁ではなくて,変形する水面だった場合はどうなるのだろうか?もっと難しい場合について考察された例もあり,私以前に考えた人がいないわけないのだが,探しても見つからないし,必要だったので計算した.
HTMLにするのが面倒過ぎるので,PDFのみこちらに示す.
RDT.pdf

2013年3月1日金曜日

4点参照セルオートマトンのクラス分類

4点を参照するセルオートマトン(CA)についてちょっと調べている.

4点を参照する1次元セルオートマトン
等価なウルフラムコード
ランダムな初期条件を与えたとき

ランダムな初期条件を与えた時の挙動を分類したいが,ルールが多すぎて(=2^16),手作業では不可能だ.そこで,計算機にて機械的に分類することにする.


クラスの定義

Wolframは規則をクラス1からクラス4の4つのクラスに分類している.しかし,これだと大雑把すぎるので,もう少し細かく分類した次のクラス分類を用いることとする.注目するのは,ランダムな初期値を与えたときに,十分ステップが進んだ定常状態での挙動である.

  • クラスA ―  初期値のすべての情報が失われ,全てのセルが同一の値を持つ.クラス1.
  • クラスB ― すべてのセルが一様に定速度で移動する.クラス1.
  • クラスC ― すべてのセルが周期的に振動しながら,一様に定速度で移動する.クラス2.
  • クラスD ― 異なる速度での一様な移動が重なり合うような挙動をする.クラス2.
  • クラスE ― 規則的なパターンがぶつかって反射し合うような挙動をする.クラス2?
  • クラスF ― 一様にランダムな挙動.クラス3.
  • クラスG ― 一様ではないランダムなパターンを描く.クラス3.
  • クラスH ― 規則的なパターンとランダムなパターンが混在する.クラス4.

暫定でこの8つに分類することを考える.定性的であいまいな分類なのが,嫌ではある.厳密な定義はできなものか.


クラスへの分類(クラスA,B,C)

今回は,簡単に機械的に分類できるクラスA,B,Cについて調べる.初期条件はセルの数をNとすると組み合わせは2^Nあり,すべての場合について調べることは不可能だ.また,ランダムに初期条件を選ぶ試行を複数行いアンサンブルをとるのも非常に面倒である.そこで領域を大きく取ることで対応することにする.セル数は4096,時間ステップも4096.初期での1点の情報が領域を3周することになる.

分類したものがこちらのファイルになる.

class_ABC.txt

U(Unknown)はクラスA,B,C以外の未分類なものである.特徴的な量は周期[ステップ],移動速度[セル/ステップ],収束までの時間[ステップ]である.クラスA,Bは周期1となる.また,移動速度はルールが左右対称でないのを補正するため,+0.5を加えている.左右対称は同じものとみなすので,絶対値をとっている.また,収束までの時間は,すべてのセルの値の和をもとに見積もっている.したがって,部分的に収束していても,収束とはみなされず,全体が定常に達したときを収束したとみなす.この値は初期値にかなり依存すると思われる.2730ステップ以降に定常になったものは,定常に達したとみなしていない.

内訳であるが,全65536のルールのうち,クラスA,B,Cそれぞれ,2513,16818,23671個であった.

クラスA

全65536のクラスAは2513個であった.

クラスAはすべての情報が失われていくので,特性量は収束までの時間しかない.これが最も短いのはルール0(ルール65535)である.いかなる入力に対しても同じ出力を返す.図はルール0である.図には256セルx256ステップのものを示す.

00000

収束までの時間が長いのは,ルール13260(23130,42405,52275)とルール27030(38505)である.理由はよく分からないが,このルールは周期境界の場合には,それぞれ周期の半分と3分の1のステップで全て同じ値になる.すべてのセルが同じ値を取るまでは,ランダムに動いているよう見え,非常に興味深い.クラスFと分類するものの中にも,非常にながい周期でこういう風になるものが含まれている可能性がある.

1326027030

残りは,以下のように時間が進むにつれて情報が消えていく.

48776

 

クラスB

移動速度は0.5か1.5セル/ステップの2通りである.

非常に短い時間で収束するものもあるが,収束が遅いものもある.その差は明瞭ではないため,これらを分けることは難しい.収束が長いものは,一点の情報が他とは異なる方向に伝わっていき,ぶつかって壊れるというような動きをする.この動きは初期値に強く依存するので,収束の長さの違いは初期値によるものと思われる.

35918168242454412078

クラスC

もっとも周期のながかったのは,ルール27022の1260ステップ.長すぎて本当かな?と思うが,複数の周期の振動が存在すると,ここまで大きくなるのだろう.

27022

興味深いのは周期が2^Nになっているもの.フラクタル図形の一つであるシェルピンスキーのギャスケットが組み合わさった模様を描く.Nがどの数字を取るのかは初期値によるものと思われる.

3610601290

収束の過程は,クラスA,Bと同様に次の2通りがある.一つは,左のようにパターンがいくつかできるが,ステップが進むにつれて,安定な1つのパターンになるという場合.もう一つは,右のように一部の情報が,異なる方向で伝わっていくが,ぶつかって壊れるというものである.

1918526846

今後

下のようなクラスDに分類するものは,見た目では簡単に分かるのだが,機械的に分類するとなると,どうやっていいかちょっとよく分からない.クラスDかどうかを判断できるアルゴリズムを考えたい.

19438

2013年2月24日日曜日

ランダムな初期条件を与えたとき

ランダムな初期条件

4点を参照するセルオートマトンについて,前回は初期条件に1点のみ1の値を与えたものを調べてみたが,その初期条件のみだと,なかなかルールの性質というのは分からない.やはり,ランダムな初期条件を与えてみて,どのような定常状態に収束するのか.また,定常状態になるまでにどのような挙動をするのかというのを調べるのが,力学的には意味がありそうだ.

セルのサイズは256,時間は256ステップ.情報は3セル/ステップで広がっていくので,1つのセルからの情報は3周していることになる.256/3=85ステップ以降は,周期境界の影響を受けるので,それ以降に定常状態になるものについては,ちょっと別に考えないといけないかもしれない.

初期条件はランダムな配置で,全て同じランダムな配置を与えている.本当は,様々な入力についてアンサンブルを取らなければいけないのだろう.しかし,それはちょっと面倒過ぎるので,今後領域をでかくとることで対応する.

等価なルールを除外すると,全部で16704個のルールがある.

結果の例

本当は全部載せたいのだが,難しいので代表的なものと興味深いのみ載せる.画像のファイル名がウルフラムコードになっている.例によって,画像の横がそれぞれのセル.縦が上から時系列となっている.

いくつかに定性的に分類する.

すべてのセルが一つの値に収束する

すべてのセルが0か1になるもの,つまり一色になるもの.ウルフラムが言う所のクラス1.これはあまりない.情報が直線的に広がっていって全ての値が同じになる場合のみで,複雑な動きののち一つの値に収束するものは見つけられなかった.


セルごとに一つの値に収束

セルごとに値は違うが,運動の止まった状態になる場合.これもクラス1.図は縦の線だけになる.やはり,単純な挙動ののち一つの値に収束する.

一様な運動に収束

上とほとんど同じ.同じものと分類してもよい.これもクラス1.すべてのセルが一様に同じ方向に速度1セル/ステップで移動する.図では45度の斜めの線のみになる.45度以外の場合は振動を伴っているのでここには入れない.

振動

一部のセルが振動,つまり周期的な動きをする.これはウルフラムが言う所のクラス2である.図では縦の模様が周期的に変わる.周期は,2ステップの場合が多いが,上の図のように比較的長い周期もある.

振動と一様な移動

これがもっとも多かった.ほとんどがこれになる.これもクラス2.短い周期の振動を伴いながら,一様に移動する.移動の速度は2セル/ステップ,1セル/ステップ,0.5セル/ステップの場合がある.

速度の異なる一様な動きが重なる

運動が伝わる特性曲線のようなものが何本かあるので,それが交差するように見えるもの.規則的な動きに見えるが,初期条件がランダムで領域が無限大の広さであれば振動は周期的でなくなる.これもクラス2だ.

一様にランダム

完全に不規則で一様にランダムに見えるもの.ウルフラムのいうクラス3である.様々なパターンがあり,結晶の標本を見ているようで面白い.粒子のサイズがいろいろあるのが不思議だ.


規則的な中に不規則なのが混じるもの

一番面白いのはこれだな.クラス4と呼ばれるもの.クラス2っぽいが収束が遅いのも含める.


なんか分からんの

なにに分類していいのかよく分からん奴.一様なランダムにも見えるが,粒子のサイズが大きくて何かありそうにも見える.もしくは一見規則的に見えるが,不規則なもの.

今後

いくつかに分類できることがわかったが,やっぱり手作業で分類するには無理がある.計算機を用いて分類する方法を考えたい.