影分身したい

プログラミングしてて、どちらの方針にするか迷っているとき、
影分身して、各方針で開発を進め、数時間後よかったほうを採用する。
決断できずに動けなくなることが多いので、チャクラさえあれば影分身したい。
ところで、コンピュータ将棋っぽい話になるが、将棋を読み切るのに使えないか。
何回でも何世代でも影分身できると仮定して。
まず自分の他に30人の影分身を作り各初手を担当させる。
それぞれがまた新たに何十人かの影分身を作ってそれが2手目を担当。
これを繰り返すが、自分の担当する局面が簡単に読み切れる場合は影分身しない。
その局面の結論によって、次のような操作をする。

先手勝ち

先手が指して後手番になった局面で後手の負けを読み切れば、
この手で先手勝ちと親に伝える。
それを聞いた親は、それ以外の子とその子孫を全員消す。
そして、先手の勝ちを読み切ったことになるので、そのまた親に伝える。

先手負け

先手が指して後手番になった局面で後手が勝ちを読み切れば、
この手で先手負けと親に伝える。
それを聞いた親は、その子が自分の唯一残った子の場合は、
先手の負けを読み切ったことになるので、そのまた親に伝える。
他にも子が残っている場合、その負けを伝えてきた子とその子孫を全員消す。

先手引き分けにできる

先手が指して後手番になった局面で引き分けを読み切れば、
この手で引き分けと親に伝える。
それを聞いた親は、まだ報告のない子に、引き分けにする手を発見済みと伝える。
それを聞いた子は、そのまた子から引き分けを伝えられたとき、
この局面後手はこう指せば引き分けにできる(先手の勝ちはない)とわかるので、
自分が兄弟たちの中で1位に選ばれることはなく(1位タイならありえる)、
要らない子であると自覚できるので、その旨を親に伝えて消してもらう。
これは高速化のための手法であり、必要ではない。
また、副作用として、引き分けの場合に最も長びく手を選べるとは限らなくなる。
親は、自分の残っている子全員から引き分けを聞いている場合、
最後に引き分けを報告してきた子以外の自分の子とその子孫を全員消す。
そして、引き分けを読み切ったことになるので、そのまた親に伝える。
この処理は、残った子全員から引き分けを聞いた状態になったらいつでも行う。

後手

上の説明の「先手」と「後手」を入れ替えれば、後手番を受け持つ親用になる。

ほか

影分身ではなく本体が、子からの報告を受けた場合、
自分の親への報告を省く他は、上と同じ処理をする。
手数があまりにも長くなった場合、千日手を判定することが難しくなる。
将棋が、短手数で決着が付く(引き分けも含めて)ゲームであるなら問題ないけど。

結果

さて、将棋が123手で先手が勝つゲームであったとすると、
123世代近くの影分身が進み、分身が現れて、そして消え、最後に残ったのが、
その123手の最長(後手が最も長く耐える)手順の各局面を担当した影分身である。
ただし、こんなたくさんの影分身は地球に乗り切らないので、実際には不可能。
超広い場所があったとしても、最も離れた影分身2体間の距離の増え方が
光速未満という条件下でどの程度の探索能力があるか。