muratsubo のパズル日記

あそんでいるパズルについて書きます

Patrick's Parabox - 無限入口 (2)

前回の続きです。 前回は、無限入口が発動する条件、および ε に到達するような部屋の構造のうち簡単な例をいくつか見てきました。

今回は、ε のさらに先まで深掘りしていきます。

前準備

より深い話題に進む前に、今後の話をしやすくするための準備をいくつか行っておきます。

構造図の簡略化

前回は、以下のような図を用いて部屋の構造を表していました。

Challenge 30

今後もこのような図を使っていくのですが、部屋の構造が複雑になるにつれて、図もごちゃごちゃになってしまいます。 そこでまずは、この図をもっと簡略化して描けないかを考えてみます。

多くの場合、無限入口を考える際には、本体とクローンを区別する必要がありません。*1 Infinite Enter 4, 5 なんかはその典型例ですね。 本体にクローンを入れても、クローンに本体を入れても、いずれにせよ緑の部屋の再帰構造が作られていることに変わりはないので、結局は緑の ε に飛ぶわけです。

Infinite Enter 4, 5 はこれ

そこで、今回は 本体とクローンを同一視してよい ことにして、本体の箱とクローンの箱を区別せず、どちらも「同じ部屋に入るための箱」と思うことにします。 「無限入口が発動したときの行き先がどこになるか」に焦点を絞って解説したいので、議論を簡単にするためにこのような仮定を置きました。

このもとで、先ほどの図は次のように簡略化することができます。

Challenge 30(簡略化)

元の図に比べて、無限入口の挙動を考える上で重要な「黄色と緑が相互再帰している」という構造が見えやすくなりましたね。

ループ起点の法則

プレイヤーが、以下の図で表されるような部屋のループ構造に陥ったとします。

部屋進入ループ

各 ○ および ☆ はそれぞれ別々の部屋を表すものとします。 つまりこの図は、途中まではループしていないが、ある部屋 ☆ から先はループしている、という構造を描いたものです。

このとき、ループの起点となっている部屋 ☆ の無限入口が発動します。 なぜなら、これらの部屋の中で最も先に 3 回入ることになる部屋が ☆ だからです。*2

この法則を知っていれば、無限入口によるプレイヤーの遷移を追いやすくなるので、ぜひ頭に置いておいてください。

多重 ε 部屋

まずはこちらをご覧ください。

再帰する ε 部屋

右の青い ε 部屋は、左の青い部屋の無限入口の行き先です。 青の中には青のクローンが、そして青 ε の中には青 ε のクローンが入っています。

この状態で青い部屋に進入すると何が起こるでしょうか?

青はループしているので、繰り返し入ることで無限入口が発動して青 ε に飛びます。 しかし、そうして飛んだ先の青 ε もループしているので、青 ε に繰り返し入ることになります。 このとき、プレイヤーの最終的な行き先は、以下の画像のような 2 つの ε が書かれた部屋になります。

2 重 ε

よく「ダブル ε」と呼ばれている部屋ですね。 この記事では、n 個の ε が書かれた部屋を n 重 ε 部屋 と呼ぶことにします。 また、「縦に n 個並んだ ε」はこういったテキストに書き起こしにくいので、かわりに記号「εⁿ」で表します。 つまり、ダブル ε は「ε²」、トリプル ε は「ε³」、という風に書きます。

さて、部屋 X に入るときの無限入口の発動ルールは、以下のようにまとめられます。

  1. X への進入がループする場合、X への進入をキャンセルし、部屋 X の ε に飛ぶ。
  2. ε への進入もループする場合、ε への進入をキャンセルし、部屋 X の ε² に飛ぶ。
  3. ε² への進入もループする場合、ε² への進入をキャンセルし、部屋 X の ε³ に飛ぶ。
  4. ……

この文言を読むだけで多重 ε の挙動を理解するのは難しいので、以下でどんどん具体例を挙げていきます。

ケース 1

まずは、以上の画像で挙げた例について、プレイヤーの動きを追ってみましょう。

ケース 1

  • [→ ] まず、青に入る。
  • [→ 青 → ] 青の中の青に入る(ここで、青を起点としたループが起こる)。
  • [→ 青 → 青 →¹ ε] 無限入口ルール 1 により、青の進入ループをキャンセルして ε に飛ぶ。
  • [→¹ ε → ε] ε の中の ε に入る(ここで、ε を起点としたループが起こる)。
  • [→¹ ε → ε →² ε²] 無限入口ルール 2 により、ε の進入ループをキャンセルして ε² に飛ぶ。
  • [→² ε²] 移動が完了した。

プレイヤーの移動の様子を [ ] の中に表示してみました。 → は通常の進入、→ⁿ は無限入口ルール n による進入です。 → 青 → … → 青 という移動が起こると、ルール 1 によって →¹ ε に置き換わり、さらに →¹ ε → … → ε という移動が起こると、ルール 2 によって →² ε² に置き換わる、というように次々と無限入口が発動するわけです。

ケース 2

「進入がキャンセルされる」という処理に何の意味があるのかを理解するべく、次の構造を考えます。

ケース 2

青の中には緑、緑の中には青、青 ε の中には青がそれぞれ入っています。

この青に入ると、以下のようにして青 ε² に飛びます。

  • [→ ] まず、青に入る。
  • [→ 青 → ] 青の中の緑に入る。(a)
  • [→ 青 → 緑 → ] 緑の中の青に入る。
  • [→ 青 → 緑 → 青 →¹ ε] 無限入口ルール 1 により、青のループを消して ε に飛ぶ。
  • [→¹ ε → ] ε の中の青に入る。
  • [→¹ ε → 青 → ] 青の中の緑に入る。(b)
  • [→¹ ε → 青 → 緑 → ] 緑の中の青に入る。
  • [→¹ ε → 青 → 緑 → 青 →¹ ε] 無限入口ルール 1 により、青のループを消して ε に飛ぶ。
  • [→¹ ε →¹ ε →² ε²] 無限入口ルール 2 により、ε のループを消して ε² に飛ぶ。
  • [→² ε²] 移動が完了した。

以上の移動経路を見てみると、(a) と (b) の 2 か所で緑に入っているので、緑のループが発生しているように見えます。しかし、(b) 時点で (a) の移動経路は既にキャンセルされているので、実際には緑はループしたものとは扱われず、緑 ε に飛んでしまうことはありません。

ケース 3

Infinitesimal でもしばしば使うセットアップとして、以下の画像のようなものがあります。

ケース 3

青と青 ε が相互に再帰しています。 この青に入ると、以下のようにして青 ε² に飛びます。

  • [→ ]
  • [→ 青 → ε]
  • [→ 青 → ε → ]
  • [→ 青 → ε → 青 →¹ ε] (無限入口ルール 1)
  • [→¹ ε → ]
  • [→¹ ε → 青 → ε]
  • [→¹ ε → 青 → ε →² ε²](無限入口ルール 2)
  • [→² ε²]

ケース 4(Multi Infinite 8)

最後に、ε³ が出てくる例として、本編で初めて多重 ε が登場したステージを見てみます。

ケース 4(Multi Infinite 8)

青とその ε、ε² に対し、上側に青が詰まっています。

このとき、青に上から入ると青 ε³ に到達します。その過程を想像できますか?

  • [→ ]
  • [→ 青 → ]
  • [→ 青 → 青 →¹ ε](ルール 1)
  • [→¹ ε → ]
  • [→¹ ε → 青 → ]
  • [→¹ ε → 青 → 青 →¹ ε](ルール 1)
  • [→¹ ε →¹ ε →² ε²](ルール 2)
  • [→² ε² → ]
  • [→² ε² → 青 → ]
  • [→² ε² → 青 → 青 →¹ ε](ルール 1)
  • [→² ε² →¹ ε → ]
  • [→² ε² →¹ ε → 青 → ]
  • [→² ε² →¹ ε → 青 → 青 →¹ ε](ルール 1)
  • [→² ε² →¹ ε →¹ ε →² ε²](ルール 2)
  • [→² ε² → ε² →³ ε³](ルール 3)
  • [→³ ε³]

無限入口を合計 7 回も発動させながら、長旅の末 ε³ に到着します。 この動きが追えるようになれば、多重 ε の挙動は理解したといっていいのではないでしょうか。


多重 ε について一通り触れられたところで、次回はいよいよ "ε の ε" について迫っていきます。 「2 重 ε と "ε の ε" は違うものである」という非直感的な仕様が待ち受けている……

*1:1 × 1 のブロックを用いたときなど、部屋が "しっかり固定されていない" 場合はこの限りではありません。

*2:事実、☆ に 3 回入るまでに、☆ より前にある部屋は 1 回、☆ 以外のループをなす部屋は 2 回しか入らないことが分かるかと思います。