竜太のテクニカルメモ

物理やへっぽこなゲーム作りについて易しく解説するよ

ユニティちゃんライセンス

このブログはユニティちゃんライセンス条項の元に提供されています

世界線総分岐数は毎回記録せずにツリーの子供の数で計算するアプリが良い

ども,竜太です.

今回は世界線総分岐数のデータが大量にデータ領域を圧迫する問題を解決する方法を考えましたのでご紹介します.

そもそも世界線総分岐数とは何か?

世界線総分岐数とはその時点より先の未来がタイムマシンでわかる範囲でどれだけ多数の未来に分岐しているか?をカウントしたものになります.

世界線総分岐数のカウント

上の図を見てください. ルートである根元に9と書かれていますね. これはとりあえず未来から送られてきた情報を基にして考えた場合の現時点での世界線の総分岐数,あるいは豊かさになります. 赤い数字は分岐する根元に必ず書いてありますが,それはその点をルートとする場合の世界線総分岐数です. 一方,2か所に青の数字が書かれていますね. これは代表として選んだ2か所での世界線総分岐数になります. これを見るとたとえ一本の枝でもその先直近での分岐点での世界線総分岐数に等しいことが分かります.

さて,世界線総分岐数はツリーが上へ延々と伸びるといくらでも大きくなりそうですが,データ容量の関係でどこかで打ち切りにしないとだめなのが現状でしょう. それでも,通常は莫大な数になるはずです. いっぽう,核戦争が起きてしまったような世界線では逆に永遠に分岐せず,最終的に一本道になってしまう場合すらあり得ます. タイムマシンが壊れるか,管理する人が居なくなってしまうためです.

このように一般的に言って世界線総分岐数の小さい世界はあまりよくない世界であると言ってよさそうです. またタイムマシンからもらえる情報も小さくなってしまいます.

世界線総分岐数は大きければ大きいほど豊かで持続可能性の高い世界と言えるでしょう.

異なる世界線からの情報をまとめてもらうことができる

別の機会に詳しく述べるつもりですが,別の世界線からの情報をまとめてもらえるため世界線のツリーをある一つの世界線で作ることができます. これは現在の自分から発展できる未来だけを集めた現在をルートとするツリーのことです.

ツリーの各分岐点にその点をルートとする世界線総分岐数を書ける

さて,未来から送られてきたツリーはそのままでは世界線総分岐数が分からず不便ですので,ツリーの各分岐点に世界線総分岐数を書くとよいでしょう. こうすれば,どちらの未来に進めばよいかが世界線総分岐数からわかるからです. しかしここで重大な問題が発生してしまいます. 分岐点は膨大だししかもそこに割り振られる世界線総分岐数も莫大な数なので,世界線総分岐数の管理だけで莫大なデータ量となってしまうのです. 困りましたね.

ツリーだけ保存してアプリケーション側で毎回その分岐点での世界線総分岐数を計算すればよい

しかしこれはすぐに思いつく解決策があります. ツリー構造だけ見ればどの分岐点でも世界線総分岐数は分かるのですから,アプリケーションにしてしまって,各分岐点を選ぶと自動的に世界線総分岐数を計算するようにすればよいのです. さらに少なくとも一つ上方の分岐点の世界線総分岐数を計算して表示するようにしてあれば,どちらの選択肢がベターかも判断できます. こうして世界線総分岐数の計算は毎回発生し,しかもその処理は若干重いですが,タイムマシンが送るデータ量を大幅に小さくできることになりました. 逆に言えばその分詳しいデータにしたり,その分長い年数のデータにできるわけです. こうして未来からの世界線の分岐に関するツリーのデータはアプリケーションで管理して世界線総分岐数をその場で毎回計算するのが良いとわかりました. ただし,通常はバックアップを取ってしまい,バックアップでは別の端末で全ての分岐点での世界線総分岐数を全部あらかじめ計算して表示しておくのが最も便利かもしれません.

ここまで読んでくださって有難うございます. 何か間違い等ございましたら,ご報告いただけると幸いです^^


物理学ランキング


宇宙開発ランキング


量子力学ランキング

にほんブログ村 科学ブログ 科学情報へ
にほんブログ村

にほんブログ村 科学ブログ 最先端科学・最新科学へ
にほんブログ村